wrolpi/modules/ai/errors.py
Roland 5d99677568
ai: system endpoints — aggregate status, services, logs, disks
Proxy the Controller under /api/ai so the model sees one API: an
aggregate /status to start every diagnosis, lean service list, recent
service logs (lines clamped), and disks + SMART.  One controller_client
helper resolves the Controller base URL (docker service name vs
localhost).  Every proxy degrades to an `errors` entry when the
Controller is unreachable — never a 500.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-13 20:10:15 -06:00

9 lines
256 B
Python

from http import HTTPStatus
from wrolpi.errors import APIError
class ControllerUnavailable(APIError):
code = 'CONTROLLER_UNAVAILABLE'
summary = 'The Controller did not answer, or answered with an error.'
status_code = HTTPStatus.BAD_GATEWAY