api/api_message.py.dox.md
api_message.py API endpoint.api_message.py because this directory is intentionally flat.api_message.py owns the runtime implementation.api_message.py.dox.md owns durable notes about responsibilities, contracts, side effects, and verification for that implementation.ApiMessage (ApiHandler)
requires_auth(cls) -> boolrequires_csrf(cls) -> boolrequires_api_key(cls) -> boolasync process(self, input: dict, request: Request) -> dict | Responsehelpers.api.ApiHandler; WebSocket handlers must derive from helpers.ws.WsHandler.ApiMessage is an ApiHandler.ApiMessage defines process(...).ApiMessage defines requires_auth(...).ApiMessage defines requires_csrf(...).ApiMessage defines requires_api_key(...).agent, base64, datetime, helpers, helpers.api, helpers.print_style, helpers.projects, helpers.security, initialize, os, uuid.context.set_data, datetime.now, Response, files.get_abs_path, os.makedirs, AgentContext.use, context.get_data, initialize_agent, AgentContext, context.log.log, context.communicate, ValueError, uuid.uuid4, UserMessage, task.result, PrintStyle.error, safe_filename, base64.b64decode, os.path.join, activate_project.helpers.api.Response for non-JSON responses, files, redirects, or status-specific replies.tests/test_api_chat_lifetime.pyNo child DOX files.