AGENT_SESSION_RUN_LIMIT_EXCEEDED |
409 |
Session already reached max message count (2 user messages per session: initial divination + 1 follow-up) |
Show run-limit message and require starting a new session |
AGENT_RUNTIME_MODE_INVALID |
422 |
Missing or invalid forwardedProps.runtime_mode in run request |
Show invalid-request message and retry from current page |
AGENT_DIVINATION_PAYLOAD_REQUIRED |
422 |
Missing required forwardedProps.divinationPayload in run request |
Prompt user to restart casting flow and resubmit |
AGENT_SESSION_ID_INVALID |
422 |
Invalid session/thread id format |
Show invalid-session message and force refresh history |
AGENT_SESSION_NOT_FOUND |
404 |
Session does not exist (including follow-up on non-existing thread) |
Show session-not-found message and refresh history |
AGENT_USER_ID_INVALID |
422 |
Invalid user id in request context |
Show invalid-request message |
AGENT_AUDIO_UNSUPPORTED_FORMAT |
400 |
Audio format is not accepted by transcribe endpoint |
Show format hint and ask user to retry with wav audio |
AGENT_AUDIO_TOO_LARGE |
400 |
Audio file exceeds transcribe size limit |
Show size-limit message and ask user to shorten audio |
AGENT_AUDIO_EMPTY |
400 |
Uploaded audio payload is empty |
Show retry hint and keep input unchanged |
AGENT_ASR_UNAVAILABLE |
502 |
Upstream ASR service unavailable |
Show retry message and allow fallback to text input |
AGENT_PAYLOAD_INVALID |
422 |
Parsed run input payload is invalid |
Show invalid-request message and retry from current page |
AGENT_RUN_INPUT_INVALID |
422 |
Run request body fails validation |
Show invalid-request message and retry |
AGENT_RUN_MESSAGES_INVALID |
422 |
Run request messages contract violation |
Show invalid-request message and retry |
AGENT_INVALID_RUN_ID |
422 |
Invalid or missing runId query parameter |
Show invalid-request message and retry |
AGENT_INVALID_LAST_EVENT_ID |
422 |
Invalid Last-Event-ID header format |
Retry without the header |
AGENT_SSE_CONNECTION_LIMIT |
429 |
Too many concurrent SSE connections per user |
Show connection-limit message and reduce concurrent streams |
AGENT_FORBIDDEN |
403 |
User does not own the session resource |
Force refresh and show unauthorized message |
AGENT_ATTACHMENT_EMPTY |
422 |
Uploaded attachment payload is empty |
Show retry hint and keep input unchanged |
AGENT_ATTACHMENT_TOO_LARGE |
413 |
Attachment file exceeds size limit |
Show size-limit message and ask user to use smaller file |
AGENT_ATTACHMENTS_TOO_MANY |
422 |
Too many attachments in single message |
Show attachment limit message |
AGENT_ATTACHMENT_UNSUPPORTED_TYPE |
422 |
Attachment mime type is not supported |
Show unsupported type message |
AGENT_ATTACHMENT_UPLOAD_FAILED |
502 |
Backend failed to upload attachment to storage |
Show retry toast |
AGENT_ATTACHMENT_STORAGE_UNAVAILABLE |
503 |
Attachment storage service unavailable |
Show retry message |
AGENT_ATTACHMENT_BUCKET_INVALID |
422 |
Attachment bucket name is invalid |
Show generic error and force refresh |
AGENT_ATTACHMENT_PATH_SCOPE_INVALID |
422 |
Attachment path does not belong to user scope |
Show generic security error and force refresh |
AGENT_SIGNED_URL_GENERATION_FAILED |
502 |
Backend failed to generate attachment signed URL |
Show retry toast |
AGENT_SIGNED_IMAGE_URL_INVALID |
422 |
Signed image URL is invalid or expired |
Show error and retry image load |