6 Errors
exn:fail:switchboard |
└── exn:fail:switchboard:api (fields: status body) |
├── exn:fail:switchboard:auth 401, 403 |
├── exn:fail:switchboard:rate-limit 429 |
├── exn:fail:switchboard:not-found 404 |
└── exn:fail:switchboard:context-window 400 blaming the context |
Every provider failure crosses this boundary as one of these subtypes, so callers dispatch on structure instead of parsing provider error strings. A 400 whose body blames the context window is its own subtype because the recovery (trim the conversation and retry) differs from every other 400.