feat(booterm): structured pty_exited WS notifications. Plan-validated, impl-validated, code-reviewed green (contracts build clean, contracts test 29/29, booterm + web typecheck clean). wip: in-progress inference/provider refactor (agents.ts, provider.ts, new llama-providers.ts, removed llama-args-validator), plus arena, dispatcher, compaction, schema changes. openspec: pty-exit-notifications complete; x-agent-flags planned (not yet implemented).
10 KiB
10 KiB
Routes
CRUD Resources
/api/battlesGET | POST | GET/:id → Battle/api/plansGET | POST | GET/:id | PATCH/:id → Plan/api/runsGET | POST | GET/:id → Run/api/tasksGET | POST | GET/:id → Task/api/policiesGET | POST | GET/:id | DELETE/:id → Policie/api/chats/:id/messagesGET | POST | GET/:id | DELETE/:id → Message/api/projectsGET | POST | GET/:id | PATCH/:id | DELETE/:id → Project/api/sessionsGET/:id | PATCH/:id | DELETE/:id → Session
Other Routes
GET/api/term/healthparams()GET/api/term/sessions/:sid/panes/:pid/searchparams(sid, pid) [auth]GET/api/term/sessionsparams() [auth]POST/api/term/sessions/:sid/panes/:pid/startparams(sid, pid) [auth]POST/api/term/sessions/:sid/panes/:pid/killparams(sid, pid) [auth]GET/ws/term/sessions/:sid/panes/:pidparams(sid, pid) [auth]GET/api/healthparams() [auth, db, queue, ai]GET/api/sessions/:sessionId/agent-sessionsparams(sessionId) [auth, db]GET/api/analytics/summaryparams() [auth, db]GET/api/analytics/sessionsparams() [auth, db]GET/api/analytics/token-breakdownparams() [auth, db]POST/api/battles/generate-promptparams() [auth, db]POST/api/battles/:id/stopparams(id) [auth, db]GET/api/battles/:id/analysisparams(id) [auth, db]POST/api/battles/:id/analyzeparams(id) [auth, db]PATCH/api/battles/:id/winnerparams(id) [auth, db]GET/api/battles/:id/contestants/:cid/diffparams(id, cid) [auth, db]POST/api/battles/:id/cross-examineparams(id) [auth, db]GET/api/sessions/:sessionId/checkpointsparams(sessionId) [auth, db]POST/api/sessions/:sessionId/checkpoints/:checkpointId/restoreparams(sessionId, checkpointId) [auth, db]GET/api/inboxparams() [auth, db]POST/api/inbox/:id/retryparams(id) [auth, db]POST/api/chats/:chatId/closeparams(chatId) [auth, db]POST/api/sessions/:sessionId/closeparams(sessionId) [auth, db]GET/api/sessions/:sessionId/messagesparams(sessionId) [auth, db, queue]POST/api/sessions/:sessionId/messagesparams(sessionId) [auth, db, queue]POST/api/chats/:id/answer_user_inputparams(id) [auth, db, queue]POST/api/sessions/:sessionId/stopparams(sessionId) [auth, db, queue]GET/api/sessions/:sessionId/pendingparams(sessionId) [auth, db, queue]POST/api/sessions/:sessionId/pending/createparams(sessionId) [auth, db, queue]POST/api/sessions/:sessionId/pending/applyparams(sessionId) [auth, db, queue]POST/api/pending/:id/applyparams(id) [auth, db, queue]POST/api/pending/:id/rejectparams(id) [auth, db, queue]POST/api/pending/:id/rewindparams(id) [auth, db, queue]GET/api/plans/activeparams() [db]GET/api/providers/snapshotparams() [db, cache]GET/api/providers/configparams() [db, cache]PATCH/api/providers/configparams() [db, cache]POST/api/providers/refreshparams() [db, cache]GET/api/providers/:id/diagnosticparams(id) [db, cache]POST/api/runs/:id/cancelparams(id) [auth, db]POST/api/sessions/:sessionId/skill_invokeparams(sessionId) [auth, db, queue]GET/api/stats/costsparams() [auth, db]POST/api/tasks/:id/cancelparams(id) [auth, db, cache, ai]GET/api/tasks/:id/permissionparams(id) [auth, db, cache, ai]POST/api/tasks/:id/permissionparams(id) [auth, db, cache, ai]GET/api/tasks/:id/commandsparams(id) [auth, db, cache, ai]GET/api/sessions/:sessionId/worktree-riskparams(sessionId) [auth, db]POST/api/sessions/:sessionId/worktree-stashparams(sessionId) [auth, db]GET/api/ws/sessions/:sessionIdparams(sessionId) [auth, db]GET/api/ws/userparams() [auth, db]POST/v1/chat/completionsparams() [auth, ai]GET/v1/modelsparams() [auth, ai]POST/api/action/submitparams() [queue]GET/api/action/queue/:providerIdparams(providerId) [queue]POST/api/bench/suiteparams() [auth, db, cache, queue]GET/api/bench/suitesparams() [auth, db, cache, queue]GET/api/bench/suites/:idparams(id) [auth, db, cache, queue]POST/api/bench/runparams() [auth, db, cache, queue]GET/api/bench/runsparams() [auth, db, cache, queue]GET/api/bench/runs/:idparams(id) [auth, db, cache, queue]GET/api/bench/baselinesparams() [auth, db, cache, queue]GET/api/capture/:providerId/:swapEntryIdparams(providerId, swapEntryId) [db]POST/api/eval/suiteparams() [db, queue]GET/api/eval/suitesparams() [db, queue]GET/api/eval/suites/:idparams(id) [db, queue]POST/api/eval/seedparams() [db, queue]POST/api/eval/runparams() [db, queue]GET/api/eval/runsparams() [db, queue]GET/api/eval/runs/:idparams(id) [db, queue]GET/api/eval/leaderboardparams() [db, queue]GET/upstream/:model/propsparams(model) [db, cache, ai]GET/api/playground/modelsparams() [auth, cache]POST/api/playground/chatparams() [auth, cache]POST/api/playground/chat-abparams() [auth, cache]GET/api/policies/virtual-modelsparams() [auth, db]GET/api/policies/dispatch-logparams() [auth, db]GET/api/reportsparams() [db]GET/api/reports/:idparams(id) [db]POST/api/reports/generateparams() [db]GET/api/reports/scheduleparams() [db]POST/api/reports/scheduleparams() [db]GET/api/routing/scoresparams() [db]GET/api/hostsparams() [db]PATCH/api/hosts/:idparams(id) [db]GET/api/hosts/:id/configparams(id) [db]POST/api/hosts/:id/config/validateparams(id) [db]POST/api/hosts/:id/config/diffparams(id) [db]POST/api/hosts/:id/config/applyparams(id) [db]GET/api/ws/controlparams()GET/api/projects/:id/agentsparams(id) [db, cache]GET/api/analytics/contextparams() [auth, db]POST/api/chats/:id/messages/:msg_id/artifacts/downloadparams(id, msg_id) [auth, db]GET/api/chats/:id/messages/:msg_id/html_artifactparams(id, msg_id) [auth, db]GET/api/projects/:project_id/artifacts/:filenameparams(project_id, filename) [auth, db]GET/api/sessions/:id/chatsparams(id) [auth, db, queue]POST/api/sessions/:id/chatsparams(id) [auth, db, queue]PATCH/api/chats/:idparams(id) [auth, db, queue]POST/api/sessions/:id/chats/archive-allparams(id) [auth, db, queue]GET/api/sessions/:id/chats/open-countparams(id) [auth, db, queue]POST/api/chats/:id/archiveparams(id) [auth, db, queue]POST/api/chats/:id/unarchiveparams(id) [auth, db, queue]DELETE/api/chats/:idparams(id) [auth, db, queue]POST/api/chats/:id/forkparams(id) [auth, db, queue]POST/api/chats/:id/discard_staleparams(id) [auth, db, queue]GET/api/chats/:id/exportparams(id) [auth, db, queue]POST/api/chats/:id/compareparams(id) [auth, db, queue]GET/api/coder/ws/sessions/:sessionIdparams(sessionId) [auth]ALL/api/coder/*params() [auth]GET/api/control/wsparams() [auth, ai]ALL/api/control/*params() [auth, ai]GET/api/settings/inferenceparams() [cache]PATCH/api/settings/inferenceparams() [cache]GET/api/memoryparams() [db]GET/api/memory/dailyparams() [db]GET/api/memory/dreamsparams() [db]GET/api/sessions/:id/messagesparams(id) [auth, db, queue]POST/api/chats/:id/messages/:message_id/regenerateparams(id, message_id) [auth, db, queue]POST/api/chats/:id/compactparams(id) [auth, db, queue]POST/api/chats/:id/stopparams(id) [auth, db, queue]POST/api/chats/:id/continueparams(id) [auth, db, queue]POST/api/chats/:id/force_sendparams(id) [auth, db, queue]POST/api/chats/:id/grant_read_accessparams(id) [auth, db, queue]POST/api/chats/:id/mcp-approveparams(id) [auth, db, queue]POST/api/chats/:id/messages/:message_id/feedbackparams(id, message_id) [auth, db, queue]GET/api/modelsparams() [auth]POST/api/projects/createparams() [auth, db]POST/api/projects/:id/archiveparams(id) [auth, db]POST/api/projects/:id/unarchiveparams(id) [auth, db]GET/api/projects/availableparams() [auth, db]GET/api/projects/:id/list_dirparams(id) [auth, db]GET/api/projects/:id/view_fileparams(id) [auth, db]GET/api/projects/:id/gitparams(id) [auth, db]GET/api/projects/:id/git/diffparams(id) [auth, db]POST/api/projects/:id/git/stageparams(id) [auth, db]POST/api/projects/:id/git/unstageparams(id) [auth, db]POST/api/projects/:id/git/commitparams(id) [auth, db]POST/api/projects/:id/git/discardparams(id) [auth, db]POST/api/projects/:id/write_fileparams(id) [auth, db]GET/api/projects/:id/filesparams(id) [auth, db]GET/api/projects/:id/sessionsparams(id) [auth, db]POST/api/projects/:id/sessionsparams(id) [auth, db]PATCH/api/sessions/:id/workspaceparams(id) [auth, db]POST/api/projects/:id/sessions/archive-allparams(id) [auth, db]GET/api/projects/:id/sessions/open-countparams(id) [auth, db]POST/api/sessions/:id/archiveparams(id) [auth, db]POST/api/sessions/:id/unarchiveparams(id) [auth, db]GET/api/settingsparams() [db]PATCH/api/settingsparams() [db]GET/api/sidebarparams() [auth, db]GET/api/skillsparams() [auth, db, queue]POST/api/chats/:id/skill_invokeparams(id) [auth, db, queue]GET/api/tools/cost_statsparams() [auth, db]GET/api/chats/:id/tracesparams(id) [db]GET/api/ws/sessions/:idparams(id) [auth, db]
WebSocket Events
WSmessage—apps/booterm/src/ws/attach.tsWSclose—apps/booterm/src/ws/attach.tsWSmessage—apps/coder/src/cli.tsWSerror—apps/coder/src/cli.tsWSclose—apps/coder/src/cli.tsWSclose—apps/coder/src/routes/ws.tsWSerror—apps/coder/src/routes/ws.tsWSclose—apps/control/src/routes/ws.tsWSerror—apps/control/src/routes/ws.tsWSclose—apps/server/src/routes/ws.tsWSerror—apps/server/src/routes/ws.ts