{ "openapi": "3.1.0", "info": { "title": "opencode HttpApi", "version": "0.0.1", "description": "Experimental HttpApi surface for selected instance routes." }, "paths": { "/api/health": { "get": { "tags": [ "server.health" ], "operationId": "v2.health.get", "parameters": [], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "healthy": { "type": "boolean", "enum": [ true ] } }, "required": [ "healthy" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Check whether the API server is ready to accept requests.", "summary": "Check server health" } }, "/api/location": { "get": { "tags": [ "server.location" ], "operationId": "v2.location.get", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Location.Info", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Location.Info" } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Resolve the requested location or the server default location.", "summary": "Get location" } }, "/api/agent": { "get": { "tags": [ "server.agent" ], "operationId": "v2.agent.list", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/AgentV2.Info" } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Retrieve currently registered agents.", "summary": "List agents" } }, "/api/plugin": { "get": { "tags": [ "plugins" ], "operationId": "v2.plugin.list", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/Plugin.Info" } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Retrieve currently loaded plugins.", "summary": "List plugins" } }, "/api/session": { "get": { "tags": [ "sessions" ], "operationId": "v2.session.list", "parameters": [ { "name": "workspace", "in": "query", "schema": { "anyOf": [ { "type": "string", "allOf": [ { "pattern": "^wrk" } ] }, { "type": "null" } ] }, "required": false }, { "name": "limit", "in": "query", "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Maximum number of sessions to return. Defaults to the newest 50 sessions." }, "required": false }, { "name": "order", "in": "query", "schema": { "anyOf": [ { "type": "string", "enum": [ "asc", "desc" ] }, { "type": "null" } ], "description": "Session order for the first page. Use desc for newest first or asc for oldest first." }, "required": false }, { "name": "search", "in": "query", "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "required": false }, { "name": "parentID", "in": "query", "schema": { "anyOf": [ { "anyOf": [ { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, { "type": "string", "enum": [ "null" ] } ], "description": "Filter by parent session. Use null to return only root sessions." }, { "type": "null" } ] }, "required": false }, { "name": "directory", "in": "query", "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "required": false }, { "name": "project", "in": "query", "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "required": false }, { "name": "subpath", "in": "query", "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "required": false }, { "name": "cursor", "in": "query", "schema": { "anyOf": [ { "type": "string", "description": "Opaque pagination cursor returned as cursor.previous or cursor.next in the previous response." }, { "type": "null" } ] }, "required": false } ], "security": [], "responses": { "200": { "description": "SessionsResponse", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionsResponse" } } } }, "400": { "description": "InvalidCursorError | InvalidRequestError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/InvalidCursorError" }, { "$ref": "#/components/schemas/InvalidRequestError1" }, { "$ref": "#/components/schemas/InvalidRequestError" } ] } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Retrieve sessions in the requested order. Items keep that order across pages; use cursor.next or cursor.previous to move through the ordered list.", "summary": "List sessions" }, "post": { "tags": [ "sessions" ], "operationId": "v2.session.create", "parameters": [], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/SessionV2.Info" } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Create a session at the requested location.", "summary": "Create session", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "anyOf": [ { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, { "type": "null" } ] }, "agent": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "model": { "anyOf": [ { "$ref": "#/components/schemas/Model.Ref" }, { "type": "null" } ] }, "location": { "anyOf": [ { "$ref": "#/components/schemas/Location.Ref" }, { "type": "null" } ] } }, "additionalProperties": false } } }, "required": true } } }, "/api/session/active": { "get": { "tags": [ "sessions" ], "operationId": "v2.session.active", "parameters": [], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "patternProperties": { "^ses": { "$ref": "#/components/schemas/SessionActive" } } }, "watermarks": { "$ref": "#/components/schemas/SessionWatermarks" } }, "required": [ "data", "watermarks" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Retrieve foreground Session drains currently owned by this OpenCode process. Sessions absent from the result are inactive. Watermarks are the durable log positions read alongside the activity snapshot; activity itself is process state, so the pairing is advisory rather than transactional.", "summary": "List active sessions" } }, "/api/session/{sessionID}": { "get": { "tags": [ "sessions" ], "operationId": "v2.session.get", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/SessionV2.Info" } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Retrieve a session by ID.", "summary": "Get session" } }, "/api/session/{sessionID}/fork": { "post": { "tags": [ "sessions" ], "operationId": "v2.session.fork", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/SessionV2.Info" } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError | MessageNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/MessageNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Create a child session by copying projected history from the parent. When messageID is supplied, copy messages before that boundary.", "summary": "Fork session", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "messageID": { "anyOf": [ { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, { "type": "null" } ] } }, "additionalProperties": false } } }, "required": true } } }, "/api/session/{sessionID}/agent": { "post": { "tags": [ "sessions" ], "operationId": "v2.session.switchAgent", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Switch the agent used by subsequent provider turns.", "summary": "Switch session agent", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "agent": { "type": "string" } }, "required": [ "agent" ], "additionalProperties": false } } }, "required": true } } }, "/api/session/{sessionID}/model": { "post": { "tags": [ "sessions" ], "operationId": "v2.session.switchModel", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Switch the model used by subsequent provider turns.", "summary": "Switch session model", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "model": { "$ref": "#/components/schemas/Model.Ref" } }, "required": [ "model" ], "additionalProperties": false } } }, "required": true } } }, "/api/session/{sessionID}/rename": { "post": { "tags": [ "sessions" ], "operationId": "v2.session.rename", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Update the session title.", "summary": "Rename session", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" } }, "required": [ "title" ], "additionalProperties": false } } }, "required": true } } }, "/api/session/{sessionID}/prompt": { "post": { "tags": [ "sessions" ], "operationId": "v2.session.prompt", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/SessionInput.Admitted" } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } }, "409": { "description": "ConflictError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConflictError" } } } } }, "description": "Durably admit one session input and schedule agent-loop execution unless resume is false.", "summary": "Send message", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "anyOf": [ { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, { "type": "null" } ] }, "prompt": { "$ref": "#/components/schemas/PromptInput" }, "delivery": { "anyOf": [ { "type": "string", "enum": [ "steer", "queue" ] }, { "type": "null" } ] }, "resume": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] } }, "required": [ "prompt" ], "additionalProperties": false } } }, "required": true } } }, "/api/session/{sessionID}/command": { "post": { "tags": [ "sessions" ], "operationId": "v2.session.command", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/SessionInput.Admitted" } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError | CommandNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/CommandNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } }, "409": { "description": "ConflictError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConflictError" } } } }, "500": { "description": "CommandEvaluationError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CommandEvaluationError" } } } } }, "description": "Resolve a slash command into prompt input, admit it durably, and schedule execution unless resume is false.", "summary": "Run command", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "anyOf": [ { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, { "type": "null" } ] }, "command": { "type": "string" }, "arguments": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "agent": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "model": { "anyOf": [ { "$ref": "#/components/schemas/Model.Ref" }, { "type": "null" } ] }, "files": { "type": "array", "items": { "$ref": "#/components/schemas/PromptInput.FileAttachment" } }, "agents": { "type": "array", "items": { "$ref": "#/components/schemas/Prompt.AgentAttachment" } }, "delivery": { "anyOf": [ { "type": "string", "enum": [ "steer", "queue" ] }, { "type": "null" } ] }, "resume": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] } }, "required": [ "command" ], "additionalProperties": false } } }, "required": true } } }, "/api/session/{sessionID}/skill": { "post": { "tags": [ "sessions" ], "operationId": "v2.session.skill", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError | SkillNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SkillNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Activate a skill for a session by appending a skill message and resuming execution.", "summary": "Activate skill", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "anyOf": [ { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, { "type": "null" } ] }, "skill": { "type": "string" }, "resume": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] } }, "required": [ "skill" ], "additionalProperties": false } } }, "required": true } } }, "/api/session/{sessionID}/synthetic": { "post": { "tags": [ "sessions" ], "operationId": "v2.session.synthetic", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Append a synthetic message to a session and resume execution.", "summary": "Add synthetic message", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "text": { "type": "string" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "metadata": { "type": "object" } }, "required": [ "text" ], "additionalProperties": false } } }, "required": true } } }, "/api/session/{sessionID}/compact": { "post": { "tags": [ "sessions" ], "operationId": "v2.session.compact", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } }, "409": { "description": "SessionBusyError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionBusyError" } } } }, "500": { "description": "UnknownError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnknownError" } } } }, "503": { "description": "ServiceUnavailableError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceUnavailableError" } } } } }, "description": "Compact a session conversation.", "summary": "Compact session" } }, "/api/session/{sessionID}/wait": { "post": { "tags": [ "sessions" ], "operationId": "v2.session.wait", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } }, "503": { "description": "ServiceUnavailableError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceUnavailableError" } } } } }, "description": "Wait for a session agent loop to become idle.", "summary": "Wait for session" } }, "/api/session/{sessionID}/revert/stage": { "post": { "tags": [ "sessions" ], "operationId": "v2.session.revert.stage", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Revert.State" } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "MessageNotFoundError | SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/MessageNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } }, "409": { "description": "SessionBusyError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionBusyError" } } } }, "500": { "description": "UnknownError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnknownError" } } } } }, "description": "Stage or move a reversible session boundary and optionally apply its file changes.", "summary": "Stage session revert", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "messageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "files": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] } }, "required": [ "messageID" ], "additionalProperties": false } } }, "required": true } } }, "/api/session/{sessionID}/revert/clear": { "post": { "tags": [ "sessions" ], "operationId": "v2.session.revert.clear", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } }, "409": { "description": "SessionBusyError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionBusyError" } } } }, "500": { "description": "UnknownError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnknownError" } } } } }, "summary": "Clear staged revert" } }, "/api/session/{sessionID}/revert/commit": { "post": { "tags": [ "sessions" ], "operationId": "v2.session.revert.commit", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } }, "409": { "description": "SessionBusyError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionBusyError" } } } } }, "summary": "Commit staged revert" } }, "/api/session/{sessionID}/context": { "get": { "tags": [ "sessions" ], "operationId": "v2.session.context", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Session.Message" } } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } }, "500": { "description": "UnknownError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnknownError" } } } } }, "description": "Retrieve the active context messages for a session (all messages after the last compaction).", "summary": "Get session context" } }, "/api/session/{sessionID}/context-entry": { "get": { "tags": [ "sessions" ], "operationId": "v2.session.context.entry.list", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/SessionContextEntry.Info" } } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "List API-managed context entries attached to the session's system context.", "summary": "List context entries" } }, "/api/session/{sessionID}/context-entry/{key}": { "put": { "tags": [ "sessions" ], "operationId": "v2.session.context.entry.put", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true }, { "name": "key", "in": "path", "schema": { "$ref": "#/components/schemas/SessionContextEntry.Key" }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Attach or replace one durable context entry. The value is rendered into the session's system context; changes announce as updates at the next turn boundary.", "summary": "Put context entry", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "value": {} }, "required": [ "value" ], "additionalProperties": false } } }, "required": true } }, "delete": { "tags": [ "sessions" ], "operationId": "v2.session.context.entry.remove", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true }, { "name": "key", "in": "path", "schema": { "$ref": "#/components/schemas/SessionContextEntry.Key" }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Remove one context entry; the removal is announced to the model at the next turn boundary.", "summary": "Remove context entry" } }, "/api/session/{sessionID}/log": { "get": { "tags": [ "sessions" ], "operationId": "v2.session.log", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true }, { "name": "after", "in": "query", "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "required": false }, { "name": "follow", "in": "query", "schema": { "anyOf": [ { "type": "string", "enum": [ "true", "false" ] }, { "type": "null" } ] }, "required": false } ], "security": [], "responses": { "200": { "description": "Success", "content": { "text/event-stream": { "schema": { "type": "object", "properties": { "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "event": { "type": "string" }, "data": { "$ref": "#/components/schemas/SessionLogItemStream" } }, "required": [ "id", "event", "data" ], "additionalProperties": false }, "x-effect-stream": { "encoding": "sse", "causeSchema": { "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "Fail" ] }, "error": { "not": {} } }, "required": [ "_tag", "error" ], "additionalProperties": false }, { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "Die" ] }, "defect": {} }, "required": [ "_tag", "defect" ], "additionalProperties": false }, { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "Interrupt" ] }, "fiberId": { "anyOf": [ { "type": "number" }, { "type": "null" } ] } }, "required": [ "_tag", "fiberId" ], "additionalProperties": false } ] } }, "errorSchema": { "not": {} }, "failureEvent": "effect/httpapi/stream/failure" } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Durable, ordered, gap-free read of public session events after an exclusive aggregate sequence. Emits a synced marker once replay reaches the captured watermark, then completes; with follow=true it continues with live events instead. The only event API that promises reliability: attach after a snapshot watermark to compose fetch and stream without a race window.", "summary": "Read the session log" } }, "/api/session/{sessionID}/interrupt": { "post": { "tags": [ "sessions" ], "operationId": "v2.session.interrupt", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Interrupt active execution owned by this OpenCode process. Idle interruption is a no-op.", "summary": "Interrupt session execution" } }, "/api/session/{sessionID}/background": { "post": { "tags": [ "sessions" ], "operationId": "v2.session.background", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Move active foreground backgroundable tools for this session into background observation. Idle requests are a no-op.", "summary": "Background blocking session tools" } }, "/api/session/{sessionID}/message/{messageID}": { "get": { "tags": [ "sessions" ], "operationId": "v2.session.message", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true }, { "name": "messageID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "required": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Session.Message" } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError | MessageNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/MessageNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Retrieve one projected message owned by the Session.", "summary": "Get session message" } }, "/api/session/{sessionID}/message": { "get": { "tags": [ "messages" ], "operationId": "v2.session.messages", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true }, { "name": "limit", "in": "query", "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Maximum number of messages to return. When omitted, the endpoint returns its default page size." }, "required": false }, { "name": "order", "in": "query", "schema": { "anyOf": [ { "type": "string", "enum": [ "asc", "desc" ] }, { "type": "null" } ], "description": "Message order for the first page. Use desc for newest first or asc for oldest first." }, "required": false }, { "name": "cursor", "in": "query", "schema": { "anyOf": [ { "type": "string", "description": "Opaque pagination cursor returned as cursor.previous or cursor.next in the previous response. Do not combine with order." }, { "type": "null" } ] }, "required": false } ], "security": [], "responses": { "200": { "description": "SessionMessagesResponse", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SessionMessagesResponse" } } } }, "400": { "description": "InvalidCursorError | InvalidRequestError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/InvalidCursorError" }, { "$ref": "#/components/schemas/InvalidRequestError" } ] } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } }, "500": { "description": "UnknownError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnknownError" } } } } }, "description": "Retrieve projected messages for a session. Items keep the requested order across pages; use cursor.next or cursor.previous to move through the ordered timeline.", "summary": "Get session messages" } }, "/api/model": { "get": { "tags": [ "models" ], "operationId": "v2.model.list", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ModelV2.Info" } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "503": { "description": "ServiceUnavailableError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceUnavailableError" } } } } }, "description": "Retrieve available models ordered by release date.", "summary": "List models" } }, "/api/model/default": { "get": { "tags": [ "models" ], "operationId": "v2.model.default", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "anyOf": [ { "$ref": "#/components/schemas/ModelV2.Info" }, { "type": "null" } ] } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "503": { "description": "ServiceUnavailableError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceUnavailableError" } } } } }, "description": "Retrieve the model used when a session has no explicit model selection.", "summary": "Get default model" } }, "/api/generate": { "post": { "tags": [ "generate" ], "operationId": "v2.generate.text", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "GenerateTextResponse", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GenerateTextResponse" } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/InvalidRequestError1" }, { "$ref": "#/components/schemas/InvalidRequestError" } ] } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "503": { "description": "ServiceUnavailableError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceUnavailableError" } } } } }, "description": "Run one stateless model generation at the requested location and return the assistant text. Uses the location's default model when none is specified.", "summary": "Generate text", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "prompt": { "type": "string" }, "model": { "anyOf": [ { "$ref": "#/components/schemas/Model.Ref" }, { "type": "null" } ] } }, "required": [ "prompt" ], "additionalProperties": false } } }, "required": true } } }, "/api/provider": { "get": { "tags": [ "providers" ], "operationId": "v2.provider.list", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/ProviderV2.Info" } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "503": { "description": "ServiceUnavailableError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceUnavailableError" } } } } }, "description": "Retrieve active AI providers so clients can show provider availability and configuration.", "summary": "List providers" } }, "/api/provider/{providerID}": { "get": { "tags": [ "providers" ], "operationId": "v2.provider.get", "parameters": [ { "name": "providerID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "$ref": "#/components/schemas/ProviderV2.Info" } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "ProviderNotFoundError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProviderNotFoundError" } } } }, "503": { "description": "ServiceUnavailableError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServiceUnavailableError" } } } } }, "description": "Retrieve a single AI provider so clients can inspect its availability and endpoint settings.", "summary": "Get provider" } }, "/api/integration": { "get": { "tags": [ "integrations" ], "operationId": "v2.integration.list", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/Integration.Info" } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Retrieve available integrations and their authentication methods.", "summary": "List integrations" } }, "/api/integration/{integrationID}": { "get": { "tags": [ "integrations" ], "operationId": "v2.integration.get", "parameters": [ { "name": "integrationID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "anyOf": [ { "$ref": "#/components/schemas/Integration.Info" }, { "type": "null" } ] } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Retrieve one integration and its authentication methods.", "summary": "Get integration" } }, "/api/integration/{integrationID}/connect/key": { "post": { "tags": [ "integrations" ], "operationId": "v2.integration.connect.key", "parameters": [ { "name": "integrationID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/InvalidRequestError1" }, { "$ref": "#/components/schemas/InvalidRequestError" } ] } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Run a key authentication method and store the resulting credential.", "summary": "Connect with key", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "key": { "type": "string" }, "label": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "key" ], "additionalProperties": false } } }, "required": true } } }, "/api/integration/{integrationID}/connect/oauth": { "post": { "tags": [ "integrations" ], "operationId": "v2.integration.connect.oauth", "parameters": [ { "name": "integrationID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "$ref": "#/components/schemas/Integration.Attempt" } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/InvalidRequestError1" }, { "$ref": "#/components/schemas/InvalidRequestError" } ] } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Start an OAuth attempt and return the authorization details.", "summary": "Begin OAuth connection", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "methodID": { "type": "string" }, "inputs": { "type": "object", "additionalProperties": { "type": "string" } }, "label": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "methodID", "inputs" ], "additionalProperties": false } } }, "required": true } } }, "/api/integration/attempt/{attemptID}": { "get": { "tags": [ "integrations" ], "operationId": "v2.integration.attempt.status", "parameters": [ { "name": "attemptID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "$ref": "#/components/schemas/Integration.AttemptStatus" } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Poll the current status of an OAuth attempt.", "summary": "Get OAuth attempt status" }, "delete": { "tags": [ "integrations" ], "operationId": "v2.integration.attempt.cancel", "parameters": [ { "name": "attemptID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Cancel an OAuth attempt and release its resources.", "summary": "Cancel OAuth connection" } }, "/api/integration/attempt/{attemptID}/complete": { "post": { "tags": [ "integrations" ], "operationId": "v2.integration.attempt.complete", "parameters": [ { "name": "attemptID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/InvalidRequestError1" }, { "$ref": "#/components/schemas/InvalidRequestError" } ] } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Complete a code-based OAuth attempt and store the resulting credential.", "summary": "Complete OAuth connection", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false } } }, "required": true } } }, "/api/mcp": { "get": { "tags": [ "mcp" ], "operationId": "v2.mcp.list", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/Mcp.Server" } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Retrieve configured MCP servers and their connection status.", "summary": "List MCP servers" } }, "/api/credential/{credentialID}": { "patch": { "tags": [ "server.credential" ], "operationId": "v2.credential.update", "parameters": [ { "name": "credentialID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Update a stored credential label.", "summary": "Update credential", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "label": { "type": "string" } }, "required": [ "label" ], "additionalProperties": false } } }, "required": true } }, "delete": { "tags": [ "server.credential" ], "operationId": "v2.credential.remove", "parameters": [ { "name": "credentialID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Remove a stored integration credential.", "summary": "Remove credential" } }, "/api/project/current": { "get": { "tags": [ "projects" ], "operationId": "v2.project.current", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Project.Current", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Project.Current" } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Resolve the project for the requested location.", "summary": "Get current project" } }, "/api/project/{projectID}/directories": { "get": { "tags": [ "projects" ], "operationId": "v2.project.directories", "parameters": [ { "name": "projectID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Project.Directories", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Project.Directories" } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "List known local absolute directories for a project.", "summary": "List project directories" } }, "/api/form/request": { "get": { "tags": [ "forms" ], "operationId": "v2.form.request.list", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Form.FormInfo" }, { "$ref": "#/components/schemas/Form.UrlInfo" } ] } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Retrieve pending forms for a location.", "summary": "List pending form requests" } }, "/api/session/{sessionID}/form": { "get": { "tags": [ "forms" ], "operationId": "v2.session.form.list", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string" }, "required": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Form.FormInfo" }, { "$ref": "#/components/schemas/Form.UrlInfo" } ] } } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Retrieve pending forms for a session.", "summary": "List session forms" }, "post": { "tags": [ "forms" ], "operationId": "v2.session.form.create", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string" }, "required": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "anyOf": [ { "$ref": "#/components/schemas/Form.FormInfo" }, { "$ref": "#/components/schemas/Form.UrlInfo" } ] } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/InvalidRequestError1" }, { "$ref": "#/components/schemas/InvalidRequestError" } ] } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } }, "409": { "description": "ConflictError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConflictError" } } } } }, "description": "Create a form for a session.", "summary": "Create session form", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Form.CreatePayload" } } }, "required": true } } }, "/api/session/{sessionID}/form/{formID}": { "get": { "tags": [ "forms" ], "operationId": "v2.session.form.get", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "formID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^frm_" } ] }, "required": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "anyOf": [ { "$ref": "#/components/schemas/Form.FormInfo" }, { "$ref": "#/components/schemas/Form.UrlInfo" } ] } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError | FormNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/FormNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Retrieve a form for a session.", "summary": "Get session form" } }, "/api/session/{sessionID}/form/{formID}/state": { "get": { "tags": [ "forms" ], "operationId": "v2.session.form.state", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "formID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^frm_" } ] }, "required": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/Form.State" } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError | FormNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/FormNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Retrieve the current state for a form.", "summary": "Get form state" } }, "/api/session/{sessionID}/form/{formID}/reply": { "post": { "tags": [ "forms" ], "operationId": "v2.session.form.reply", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "formID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^frm_" } ] }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "FormInvalidAnswerError | InvalidRequestError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/FormInvalidAnswerError" }, { "$ref": "#/components/schemas/InvalidRequestError" } ] } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError | FormNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/FormNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } }, "409": { "description": "FormAlreadySettledError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FormAlreadySettledError" } } } } }, "description": "Submit an answer to a pending form.", "summary": "Reply to form", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Form.Reply" } } }, "required": true } } }, "/api/session/{sessionID}/form/{formID}/cancel": { "post": { "tags": [ "forms" ], "operationId": "v2.session.form.cancel", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "formID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^frm_" } ] }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError | FormNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/FormNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } }, "409": { "description": "FormAlreadySettledError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FormAlreadySettledError" } } } } }, "description": "Cancel a pending form.", "summary": "Cancel form" } }, "/api/permission/request": { "get": { "tags": [ "permissions" ], "operationId": "v2.permission.request.list", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/PermissionV2.Request" } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Retrieve pending permission requests for a location.", "summary": "List pending permission requests" } }, "/api/permission/saved": { "get": { "tags": [ "permissions" ], "operationId": "v2.permission.saved.list", "parameters": [ { "name": "projectID", "in": "query", "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "required": false } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/PermissionSaved.Info" } } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Retrieve saved permissions, optionally filtered by project.", "summary": "List saved permissions" } }, "/api/permission/saved/{id}": { "delete": { "tags": [ "permissions" ], "operationId": "v2.permission.saved.remove", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Remove a saved permission by ID.", "summary": "Remove saved permission" } }, "/api/session/{sessionID}/permission": { "post": { "tags": [ "permissions" ], "operationId": "v2.session.permission.create", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^per" } ] }, "effect": { "$ref": "#/components/schemas/PermissionV2.Effect" } }, "required": [ "id", "effect" ], "additionalProperties": false } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Evaluate and, when approval is required, create a permission request for a session.", "summary": "Create permission request", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "anyOf": [ { "type": "string", "allOf": [ { "pattern": "^per" } ] }, { "type": "null" } ] }, "action": { "type": "string" }, "resources": { "type": "array", "items": { "type": "string" } }, "save": { "type": "array", "items": { "type": "string" } }, "metadata": { "type": "object" }, "source": { "$ref": "#/components/schemas/PermissionV2.Source" }, "agent": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "action", "resources" ], "additionalProperties": false } } }, "required": true } }, "get": { "tags": [ "permissions" ], "operationId": "v2.session.permission.list", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/PermissionV2.Request" } } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Retrieve pending permission requests owned by a session.", "summary": "List session permission requests" } }, "/api/session/{sessionID}/permission/{requestID}": { "get": { "tags": [ "permissions" ], "operationId": "v2.session.permission.get", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true }, { "name": "requestID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^per" } ] }, "required": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "$ref": "#/components/schemas/PermissionV2.Request" } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError | PermissionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/PermissionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Retrieve a pending permission request owned by a session.", "summary": "Get permission request" } }, "/api/session/{sessionID}/permission/{requestID}/reply": { "post": { "tags": [ "permissions" ], "operationId": "v2.session.permission.reply", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true }, { "name": "requestID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^per" } ] }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError | PermissionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/PermissionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Respond to a pending permission request owned by a session.", "summary": "Reply to pending permission request", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "reply": { "$ref": "#/components/schemas/PermissionV2.Reply" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "reply" ], "additionalProperties": false } } }, "required": true } } }, "/api/fs/read/*": { "get": { "tags": [ "filesystem" ], "operationId": "v2.fs.read", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Serve one file relative to the requested location.", "summary": "Read file" } }, "/api/fs/list": { "get": { "tags": [ "filesystem" ], "operationId": "v2.fs.list", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true }, { "name": "path", "in": "query", "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "required": false } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/FileSystem.Entry" } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "List direct children of one directory relative to the requested location.", "summary": "List directory" } }, "/api/fs/find": { "get": { "tags": [ "filesystem" ], "operationId": "v2.fs.find", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true }, { "name": "query", "in": "query", "schema": { "type": "string" }, "required": true }, { "name": "type", "in": "query", "schema": { "type": "string", "enum": [ "file", "directory" ] }, "required": false }, { "name": "limit", "in": "query", "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "required": false } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/FileSystem.Entry" } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Find recursively ranked filesystem entries relative to the requested location.", "summary": "Find files" } }, "/api/command": { "get": { "tags": [ "commands" ], "operationId": "v2.command.list", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/CommandV2.Info" } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Retrieve currently registered commands.", "summary": "List commands" } }, "/api/skill": { "get": { "tags": [ "skills" ], "operationId": "v2.skill.list", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/SkillV2.Info" } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Retrieve currently registered skills.", "summary": "List skills" } }, "/api/event": { "get": { "tags": [ "events" ], "operationId": "v2.event.subscribe", "parameters": [], "security": [], "responses": { "200": { "description": "Success", "content": { "text/event-stream": { "schema": { "type": "object", "properties": { "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "event": { "type": "string" }, "data": { "$ref": "#/components/schemas/V2EventStream" } }, "required": [ "id", "event", "data" ], "additionalProperties": false }, "x-effect-stream": { "encoding": "sse", "causeSchema": { "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "Fail" ] }, "error": { "not": {} } }, "required": [ "_tag", "error" ], "additionalProperties": false }, { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "Die" ] }, "defect": {} }, "required": [ "_tag", "defect" ], "additionalProperties": false }, { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "Interrupt" ] }, "fiberId": { "anyOf": [ { "type": "number" }, { "type": "null" } ] } }, "required": [ "_tag", "fiberId" ], "additionalProperties": false } ] } }, "errorSchema": { "not": {} }, "failureEvent": "effect/httpapi/stream/failure" } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Subscribe to native event payloads for the server. Volatile by contract: a slow consumer overflows and fails the stream, and events during disconnection are missed. Consumers that need reliability should combine the changes feed with durable session log reads.", "summary": "Subscribe to events" } }, "/api/event/changes": { "get": { "tags": [ "events" ], "operationId": "v2.event.changes", "parameters": [], "security": [], "responses": { "200": { "description": "Success", "content": { "text/event-stream": { "schema": { "type": "object", "properties": { "id": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "event": { "type": "string" }, "data": { "$ref": "#/components/schemas/EventLog.ChangeStream" } }, "required": [ "id", "event", "data" ], "additionalProperties": false }, "x-effect-stream": { "encoding": "sse", "causeSchema": { "type": "array", "items": { "anyOf": [ { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "Fail" ] }, "error": { "not": {} } }, "required": [ "_tag", "error" ], "additionalProperties": false }, { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "Die" ] }, "defect": {} }, "required": [ "_tag", "defect" ], "additionalProperties": false }, { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "Interrupt" ] }, "fiberId": { "anyOf": [ { "type": "number" }, { "type": "null" } ] } }, "required": [ "_tag", "fiberId" ], "additionalProperties": false } ] } }, "errorSchema": { "not": {} }, "failureEvent": "effect/httpapi/stream/failure" } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Payload-free hint channel: after an event commits, a subscriber eventually receives a hint for that aggregate with seq at or beyond the event, or a sweep-required marker. Hints coalesce to the latest seq per aggregate under backpressure and the stream never fails from overflow. No consumer may derive correctness from receiving a hint; correctness always comes from durable log reads plus the consumer's own checkpoint. A sweep-required marker is emitted first on every (re)subscribe and whenever hint retention is exceeded: treat every aggregate as potentially dirty and recover via bounded sweep plus log reads.", "summary": "Subscribe to change hints" } }, "/api/pty": { "get": { "tags": [ "pty" ], "operationId": "v2.pty.list", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/Pty" } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "List PTY sessions for a location, including exited sessions retained until removal.", "summary": "List PTY sessions" }, "post": { "tags": [ "pty" ], "operationId": "v2.pty.create", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "$ref": "#/components/schemas/Pty" } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Create a pseudo-terminal session for a location.", "summary": "Create PTY session", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "command": { "type": "string" }, "args": { "type": "array", "items": { "type": "string" } }, "cwd": { "type": "string" }, "title": { "type": "string" }, "env": { "type": "object", "additionalProperties": { "type": "string" } } }, "additionalProperties": false } } }, "required": true } } }, "/api/pty/{ptyID}": { "get": { "tags": [ "pty" ], "operationId": "v2.pty.get", "parameters": [ { "name": "ptyID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^pty" } ] }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "$ref": "#/components/schemas/Pty" } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "PtyNotFoundError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PtyNotFoundError" } } } } }, "description": "Get one PTY session, including its exit code once exited.", "summary": "Get PTY session" }, "put": { "tags": [ "pty" ], "operationId": "v2.pty.update", "parameters": [ { "name": "ptyID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^pty" } ] }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "$ref": "#/components/schemas/Pty" } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "PtyNotFoundError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PtyNotFoundError" } } } } }, "description": "Update the title or viewport size of one PTY session.", "summary": "Update PTY session", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "title": { "type": "string" }, "size": { "type": "object", "properties": { "rows": { "type": "integer", "allOf": [ { "exclusiveMinimum": 0 } ] }, "cols": { "type": "integer", "allOf": [ { "exclusiveMinimum": 0 } ] } }, "required": [ "rows", "cols" ], "additionalProperties": false } }, "additionalProperties": false } } }, "required": true } }, "delete": { "tags": [ "pty" ], "operationId": "v2.pty.remove", "parameters": [ { "name": "ptyID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^pty" } ] }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "PtyNotFoundError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PtyNotFoundError" } } } } }, "description": "Terminate and remove one PTY session.", "summary": "Remove PTY session" } }, "/api/pty/{ptyID}/connect-token": { "post": { "tags": [ "pty" ], "operationId": "v2.pty.connectToken", "parameters": [ { "name": "ptyID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^pty" } ] }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "$ref": "#/components/schemas/PtyTicket.ConnectToken" } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "ForbiddenError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "404": { "description": "PtyNotFoundError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PtyNotFoundError" } } } } }, "description": "Create a short-lived single-use ticket for opening a PTY WebSocket connection.", "summary": "Create PTY WebSocket token" } }, "/api/pty/{ptyID}/connect": { "get": { "tags": [ "pty" ], "operationId": "v2.pty.connect", "x-websocket": true, "parameters": [ { "name": "ptyID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^pty" } ] }, "required": true }, { "in": "query", "name": "location[directory]", "schema": { "type": "string" } }, { "in": "query", "name": "location[workspace]", "schema": { "type": "string" } }, { "in": "query", "name": "cursor", "schema": { "type": "string" } }, { "in": "query", "name": "ticket", "schema": { "type": "string" } } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "boolean" } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "403": { "description": "ForbiddenError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForbiddenError" } } } }, "404": { "description": "PtyNotFoundError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PtyNotFoundError" } } } } }, "description": "Establish a WebSocket connection streaming PTY output and accepting terminal input.", "summary": "Connect to PTY session" } }, "/api/shell": { "get": { "tags": [ "shell" ], "operationId": "v2.shell.list", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/Shell1" } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "List currently running shell commands for a location. Exited commands are not included.", "summary": "List running shell commands" }, "post": { "tags": [ "shell" ], "operationId": "v2.shell.create", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "$ref": "#/components/schemas/Shell1" } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Spawn one non-interactive shell command for a location. Combined stdout/stderr is captured to a file pageable via output.", "summary": "Run shell command", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "command": { "type": "string" }, "cwd": { "type": "string" }, "timeout": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "metadata": { "type": "object" } }, "required": [ "command" ], "additionalProperties": false } } }, "required": true } } }, "/api/shell/{id}": { "get": { "tags": [ "shell" ], "operationId": "v2.shell.get", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^sh_" } ] }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "$ref": "#/components/schemas/Shell1" } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "ShellNotFoundError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ShellNotFoundError" } } } } }, "description": "Get one shell command, including its status and exit code once exited.", "summary": "Get shell command" }, "delete": { "tags": [ "shell" ], "operationId": "v2.shell.remove", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^sh_" } ] }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "ShellNotFoundError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ShellNotFoundError" } } } } }, "description": "Terminate and remove one shell command and its retained output.", "summary": "Remove shell command" } }, "/api/shell/{id}/output": { "get": { "tags": [ "shell" ], "operationId": "v2.shell.output", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^sh_" } ] }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true }, { "name": "cursor", "in": "query", "schema": { "type": "string", "allOf": [ { "pattern": "^[+-]?\\d*\\.?\\d+(?:[Ee][+-]?\\d+)?$" } ] }, "required": false }, { "name": "limit", "in": "query", "schema": { "type": "string", "allOf": [ { "pattern": "^[+-]?\\d*\\.?\\d+(?:[Ee][+-]?\\d+)?$" } ] }, "required": false } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "object", "properties": { "output": { "type": "string" }, "cursor": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "size": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "truncated": { "type": "boolean" } }, "required": [ "output", "cursor", "size", "truncated" ], "additionalProperties": false } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "ShellNotFoundError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ShellNotFoundError" } } } } }, "description": "Page through captured combined output by absolute byte cursor.", "summary": "Read shell output" } }, "/api/question/request": { "get": { "tags": [ "session questions" ], "operationId": "v2.question.request.list", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/QuestionV2.Request" } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Retrieve pending question requests for a location.", "summary": "List pending question requests" } }, "/api/session/{sessionID}/question": { "get": { "tags": [ "session questions" ], "operationId": "v2.session.question.list", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/QuestionV2.Request" } } }, "required": [ "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Retrieve pending question requests owned by a session.", "summary": "List session question requests" } }, "/api/session/{sessionID}/question/{requestID}/reply": { "post": { "tags": [ "session questions" ], "operationId": "v2.session.question.reply", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true }, { "name": "requestID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^que" } ] }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError | QuestionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/QuestionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Answer a pending question request owned by a session.", "summary": "Reply to pending question request", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QuestionV2.Reply" } } }, "required": true } } }, "/api/session/{sessionID}/question/{requestID}/reject": { "post": { "tags": [ "session questions" ], "operationId": "v2.session.question.reject", "parameters": [ { "name": "sessionID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "required": true }, { "name": "requestID", "in": "path", "schema": { "type": "string", "allOf": [ { "pattern": "^que" } ] }, "required": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } }, "404": { "description": "SessionNotFoundError | QuestionNotFoundError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/QuestionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" }, { "$ref": "#/components/schemas/SessionNotFoundError" } ] } } } } }, "description": "Reject a pending question request owned by a session.", "summary": "Reject pending question request" } }, "/api/reference": { "get": { "tags": [ "reference" ], "operationId": "v2.reference.list", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/Reference.Info" } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "List references available in the requested location.", "summary": "List references" } }, "/experimental/project/{projectID}/copy": { "post": { "tags": [ "projectCopy" ], "operationId": "v2.projectCopy.create", "parameters": [ { "name": "projectID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "ProjectCopy.Copy", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectCopy.Copy" } } } }, "400": { "description": "ProjectCopyError | InvalidRequestError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/ProjectCopyError" }, { "$ref": "#/components/schemas/InvalidRequestError" } ] } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "strategy": { "type": "string" }, "directory": { "type": "string" }, "name": { "type": "string" } }, "required": [ "strategy", "directory" ], "additionalProperties": false } } }, "required": true } }, "delete": { "tags": [ "projectCopy" ], "operationId": "v2.projectCopy.remove", "parameters": [ { "name": "projectID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "ProjectCopyError | InvalidRequestError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/ProjectCopyError" }, { "$ref": "#/components/schemas/InvalidRequestError" } ] } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "directory": { "type": "string" }, "force": { "type": "boolean" } }, "required": [ "directory", "force" ], "additionalProperties": false } } }, "required": true } } }, "/experimental/project/{projectID}/copy/refresh": { "post": { "tags": [ "projectCopy" ], "operationId": "v2.projectCopy.refresh", "parameters": [ { "name": "projectID", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "204": { "description": "" }, "400": { "description": "ProjectCopyError | InvalidRequestError", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/ProjectCopyError" }, { "$ref": "#/components/schemas/InvalidRequestError" } ] } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } } } }, "/api/vcs/status": { "get": { "tags": [ "vcs" ], "operationId": "v2.vcs.status", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/Vcs.FileStatus" } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "List uncommitted working-copy changes relative to the requested location.", "summary": "VCS status" } }, "/api/vcs/diff": { "get": { "tags": [ "vcs" ], "operationId": "v2.vcs.diff", "parameters": [ { "name": "location", "in": "query", "schema": { "anyOf": [ { "type": "object", "properties": { "directory": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "workspace": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false }, { "type": "null" } ] }, "required": false, "style": "deepObject", "explode": true }, { "name": "mode", "in": "query", "schema": { "$ref": "#/components/schemas/Vcs.Mode" }, "required": true }, { "name": "context", "in": "query", "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "required": false } ], "security": [], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/Location.Info" }, "data": { "type": "array", "items": { "$ref": "#/components/schemas/SnapshotFileDiff" } } }, "required": [ "location", "data" ], "additionalProperties": false } } } }, "400": { "description": "InvalidRequestError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvalidRequestError" } } } }, "401": { "description": "UnauthorizedError", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UnauthorizedError" } } } } }, "description": "Diff the working copy against HEAD (mode git) or the default-branch merge base (mode branch) for the requested location.", "summary": "VCS diff" } } }, "components": { "schemas": { "UnauthorizedError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "UnauthorizedError" ] }, "message": { "type": "string" } }, "required": [ "_tag", "message" ], "additionalProperties": false }, "InvalidRequestError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "InvalidRequestError" ] }, "message": { "type": "string" }, "kind": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "field": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "_tag", "message" ], "additionalProperties": false }, "Location.Info": { "type": "object", "properties": { "directory": { "type": "string" }, "workspaceID": { "type": "string", "allOf": [ { "pattern": "^wrk" } ] }, "project": { "type": "object", "properties": { "id": { "type": "string" }, "directory": { "type": "string" } }, "required": [ "id", "directory" ], "additionalProperties": false } }, "required": [ "directory", "project" ], "additionalProperties": false }, "Model.Ref": { "type": "object", "properties": { "id": { "type": "string" }, "providerID": { "type": "string" }, "variant": { "type": "string" } }, "required": [ "id", "providerID" ], "additionalProperties": false }, "Provider.Settings": { "type": "object" }, "Provider.Request": { "type": "object", "properties": { "settings": { "$ref": "#/components/schemas/Provider.Settings" }, "headers": { "type": "object", "additionalProperties": { "type": "string" } }, "body": { "type": "object" } }, "required": [ "settings", "headers", "body" ], "additionalProperties": false }, "Agent.Color": { "anyOf": [ { "type": "string", "allOf": [ { "pattern": "^#[0-9a-fA-F]{6}$" } ] }, { "type": "string", "enum": [ "primary", "secondary", "accent", "success", "warning", "error", "info" ] } ] }, "PermissionV2.Effect": { "type": "string", "enum": [ "allow", "deny", "ask" ] }, "PermissionV2.Rule": { "type": "object", "properties": { "action": { "type": "string" }, "resource": { "type": "string" }, "effect": { "$ref": "#/components/schemas/PermissionV2.Effect" } }, "required": [ "action", "resource", "effect" ], "additionalProperties": false }, "PermissionV2.Ruleset": { "type": "array", "items": { "$ref": "#/components/schemas/PermissionV2.Rule" } }, "AgentV2.Info": { "type": "object", "properties": { "id": { "type": "string" }, "model": { "$ref": "#/components/schemas/Model.Ref" }, "request": { "$ref": "#/components/schemas/Provider.Request" }, "system": { "type": "string" }, "description": { "type": "string" }, "mode": { "type": "string", "enum": [ "subagent", "primary", "all" ] }, "hidden": { "type": "boolean" }, "color": { "$ref": "#/components/schemas/Agent.Color" }, "steps": { "type": "integer", "allOf": [ { "exclusiveMinimum": 0 } ] }, "permissions": { "$ref": "#/components/schemas/PermissionV2.Ruleset" } }, "required": [ "id", "request", "mode", "hidden", "permissions" ], "additionalProperties": false }, "Plugin.Info": { "type": "object", "properties": { "id": { "type": "string" } }, "required": [ "id" ], "additionalProperties": false }, "Location.Ref": { "type": "object", "properties": { "directory": { "type": "string" }, "workspaceID": { "type": "string", "allOf": [ { "pattern": "^wrk" } ] } }, "required": [ "directory" ], "additionalProperties": false }, "File.Diff": { "type": "object", "properties": { "path": { "type": "string" }, "status": { "type": "string", "enum": [ "added", "modified", "deleted" ] }, "additions": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "deletions": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "patch": { "type": "string" } }, "required": [ "path", "status", "additions", "deletions", "patch" ], "additionalProperties": false }, "Revert.State": { "type": "object", "properties": { "messageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "partID": { "type": "string" }, "snapshot": { "type": "string" }, "diff": { "type": "string" }, "files": { "type": "array", "items": { "$ref": "#/components/schemas/File.Diff" } } }, "required": [ "messageID" ], "additionalProperties": false }, "SessionV2.Info": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "parentID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "projectID": { "type": "string" }, "agent": { "type": "string" }, "model": { "$ref": "#/components/schemas/Model.Ref" }, "cost": { "type": "number" }, "tokens": { "type": "object", "properties": { "input": { "type": "number" }, "output": { "type": "number" }, "reasoning": { "type": "number" }, "cache": { "type": "object", "properties": { "read": { "type": "number" }, "write": { "type": "number" } }, "required": [ "read", "write" ], "additionalProperties": false } }, "required": [ "input", "output", "reasoning", "cache" ], "additionalProperties": false }, "time": { "type": "object", "properties": { "created": { "type": "number" }, "updated": { "type": "number" }, "archived": { "type": "number" } }, "required": [ "created", "updated" ], "additionalProperties": false }, "title": { "type": "string" }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "subpath": { "type": "string" }, "revert": { "$ref": "#/components/schemas/Revert.State" } }, "required": [ "id", "projectID", "cost", "tokens", "time", "title", "location" ], "additionalProperties": false }, "SessionWatermarks": { "type": "object", "patternProperties": { "^ses": { "type": "integer", "allOf": [ { "minimum": 0 } ] } }, "description": "Durable log seq each session's snapshot was computed at. Attach a live log read after the watermark to compose fetch and stream gap-free; apply a snapshot only where its watermark is at or beyond already-applied events. Sessions without durable events are absent." }, "SessionsResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/SessionV2.Info" } }, "watermarks": { "$ref": "#/components/schemas/SessionWatermarks" }, "cursor": { "type": "object", "properties": { "previous": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "next": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false } }, "required": [ "data", "watermarks", "cursor" ], "additionalProperties": false }, "InvalidCursorError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "InvalidCursorError" ] }, "message": { "type": "string" } }, "required": [ "_tag", "message" ], "additionalProperties": false }, "InvalidRequestError1": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "InvalidRequestError" ] }, "message": { "type": "string" }, "kind": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "field": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "_tag", "message" ], "additionalProperties": false }, "SessionActive": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "running" ] } }, "required": [ "type" ], "additionalProperties": false }, "SessionNotFoundError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "SessionNotFoundError" ] }, "sessionID": { "type": "string" }, "message": { "type": "string" } }, "required": [ "_tag", "sessionID", "message" ], "additionalProperties": false }, "MessageNotFoundError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "MessageNotFoundError" ] }, "sessionID": { "type": "string" }, "messageID": { "type": "string" }, "message": { "type": "string" } }, "required": [ "_tag", "sessionID", "messageID", "message" ], "additionalProperties": false }, "Prompt.Source": { "type": "object", "properties": { "start": { "type": "number" }, "end": { "type": "number" }, "text": { "type": "string" } }, "required": [ "start", "end", "text" ], "additionalProperties": false }, "PromptInput.FileAttachment": { "type": "object", "properties": { "uri": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "source": { "$ref": "#/components/schemas/Prompt.Source" } }, "required": [ "uri" ], "additionalProperties": false }, "Prompt.AgentAttachment": { "type": "object", "properties": { "name": { "type": "string" }, "source": { "$ref": "#/components/schemas/Prompt.Source" } }, "required": [ "name" ], "additionalProperties": false }, "PromptInput": { "type": "object", "properties": { "text": { "type": "string" }, "files": { "type": "array", "items": { "$ref": "#/components/schemas/PromptInput.FileAttachment" } }, "agents": { "type": "array", "items": { "$ref": "#/components/schemas/Prompt.AgentAttachment" } } }, "required": [ "text" ], "additionalProperties": false }, "Prompt.FileAttachment": { "type": "object", "properties": { "uri": { "type": "string" }, "mime": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "source": { "$ref": "#/components/schemas/Prompt.Source" } }, "required": [ "uri", "mime" ], "additionalProperties": false }, "Prompt": { "type": "object", "properties": { "text": { "type": "string" }, "files": { "type": "array", "items": { "$ref": "#/components/schemas/Prompt.FileAttachment" } }, "agents": { "type": "array", "items": { "$ref": "#/components/schemas/Prompt.AgentAttachment" } } }, "required": [ "text" ], "additionalProperties": false }, "SessionInput.Admitted": { "type": "object", "properties": { "admittedSeq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "id": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "prompt": { "$ref": "#/components/schemas/Prompt" }, "delivery": { "type": "string", "enum": [ "steer", "queue" ] }, "timeCreated": { "type": "number" }, "promotedSeq": { "type": "integer", "allOf": [ { "minimum": 0 } ] } }, "required": [ "admittedSeq", "id", "sessionID", "prompt", "delivery", "timeCreated" ], "additionalProperties": false }, "ConflictError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "ConflictError" ] }, "message": { "type": "string" }, "resource": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "_tag", "message" ], "additionalProperties": false }, "CommandNotFoundError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "CommandNotFoundError" ] }, "command": { "type": "string" }, "message": { "type": "string" } }, "required": [ "_tag", "command", "message" ], "additionalProperties": false }, "CommandEvaluationError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "CommandEvaluationError" ] }, "command": { "type": "string" }, "message": { "type": "string" } }, "required": [ "_tag", "command", "message" ], "additionalProperties": false }, "SkillNotFoundError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "SkillNotFoundError" ] }, "skill": { "type": "string" }, "message": { "type": "string" } }, "required": [ "_tag", "skill", "message" ], "additionalProperties": false }, "SessionBusyError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "SessionBusyError" ] }, "sessionID": { "type": "string" }, "message": { "type": "string" } }, "required": [ "_tag", "sessionID", "message" ], "additionalProperties": false }, "ServiceUnavailableError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "ServiceUnavailableError" ] }, "message": { "type": "string" }, "service": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "_tag", "message" ], "additionalProperties": false }, "UnknownError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "UnknownError" ] }, "message": { "type": "string" }, "ref": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "_tag", "message" ], "additionalProperties": false }, "Session.Message.AgentSwitched": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "metadata": { "type": "object" }, "time": { "type": "object", "properties": { "created": { "type": "number" } }, "required": [ "created" ], "additionalProperties": false }, "type": { "type": "string", "enum": [ "agent-switched" ] }, "agent": { "type": "string" } }, "required": [ "id", "time", "type", "agent" ], "additionalProperties": false }, "Session.Message.ModelSwitched": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "metadata": { "type": "object" }, "time": { "type": "object", "properties": { "created": { "type": "number" } }, "required": [ "created" ], "additionalProperties": false }, "type": { "type": "string", "enum": [ "model-switched" ] }, "model": { "$ref": "#/components/schemas/Model.Ref" } }, "required": [ "id", "time", "type", "model" ], "additionalProperties": false }, "Session.Message.User": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "metadata": { "type": "object" }, "time": { "type": "object", "properties": { "created": { "type": "number" } }, "required": [ "created" ], "additionalProperties": false }, "text": { "type": "string" }, "files": { "type": "array", "items": { "$ref": "#/components/schemas/Prompt.FileAttachment" } }, "agents": { "type": "array", "items": { "$ref": "#/components/schemas/Prompt.AgentAttachment" } }, "type": { "type": "string", "enum": [ "user" ] } }, "required": [ "id", "time", "text", "type" ], "additionalProperties": false }, "Session.Message.Synthetic": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "metadata": { "type": "object" }, "time": { "type": "object", "properties": { "created": { "type": "number" } }, "required": [ "created" ], "additionalProperties": false }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "text": { "type": "string" }, "description": { "type": "string" }, "type": { "type": "string", "enum": [ "synthetic" ] } }, "required": [ "id", "time", "sessionID", "text", "type" ], "additionalProperties": false }, "Session.Message.System": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "metadata": { "type": "object" }, "time": { "type": "object", "properties": { "created": { "type": "number" } }, "required": [ "created" ], "additionalProperties": false }, "type": { "type": "string", "enum": [ "system" ] }, "text": { "type": "string" } }, "required": [ "id", "time", "type", "text" ], "additionalProperties": false }, "Session.Message.Skill": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "metadata": { "type": "object" }, "time": { "type": "object", "properties": { "created": { "type": "number" } }, "required": [ "created" ], "additionalProperties": false }, "type": { "type": "string", "enum": [ "skill" ] }, "name": { "type": "string" }, "text": { "type": "string" } }, "required": [ "id", "time", "type", "name", "text" ], "additionalProperties": false }, "Session.Message.Shell": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "metadata": { "type": "object" }, "time": { "type": "object", "properties": { "created": { "type": "number" }, "completed": { "type": "number" } }, "required": [ "created" ], "additionalProperties": false }, "type": { "type": "string", "enum": [ "shell" ] }, "callID": { "type": "string" }, "command": { "type": "string" }, "output": { "type": "string" } }, "required": [ "id", "time", "type", "callID", "command", "output" ], "additionalProperties": false }, "Session.Message.Assistant.Text": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "text" ] }, "id": { "type": "string" }, "text": { "type": "string" } }, "required": [ "type", "id", "text" ], "additionalProperties": false }, "LLM.ProviderMetadata": { "type": "object", "additionalProperties": { "type": "object" } }, "Session.Message.Assistant.Reasoning": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "reasoning" ] }, "id": { "type": "string" }, "text": { "type": "string" }, "providerMetadata": { "$ref": "#/components/schemas/LLM.ProviderMetadata" }, "time": { "type": "object", "properties": { "created": { "type": "number" }, "completed": { "type": "number" } }, "required": [ "created" ], "additionalProperties": false } }, "required": [ "type", "id", "text" ], "additionalProperties": false }, "Session.Message.ToolState.Pending": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "pending" ] }, "input": { "type": "string" } }, "required": [ "status", "input" ], "additionalProperties": false }, "Tool.TextContent": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "text" ] }, "text": { "type": "string" } }, "required": [ "type", "text" ], "additionalProperties": false }, "Tool.FileContent": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "file" ] }, "uri": { "type": "string" }, "mime": { "type": "string" }, "name": { "type": "string" } }, "required": [ "type", "uri", "mime" ], "additionalProperties": false }, "LLM.ToolContent": { "anyOf": [ { "$ref": "#/components/schemas/Tool.TextContent" }, { "$ref": "#/components/schemas/Tool.FileContent" } ] }, "Session.Message.ToolState.Running": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "running" ] }, "input": { "type": "object" }, "structured": { "type": "object" }, "content": { "type": "array", "items": { "$ref": "#/components/schemas/LLM.ToolContent" } } }, "required": [ "status", "input", "structured", "content" ], "additionalProperties": false }, "Session.Message.ToolState.Completed": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "completed" ] }, "input": { "type": "object" }, "attachments": { "type": "array", "items": { "$ref": "#/components/schemas/Prompt.FileAttachment" } }, "content": { "type": "array", "items": { "$ref": "#/components/schemas/LLM.ToolContent" } }, "outputPaths": { "type": "array", "items": { "type": "string" } }, "structured": { "type": "object" }, "result": {} }, "required": [ "status", "input", "content", "structured" ], "additionalProperties": false }, "Session.Error.Unknown": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "unknown" ] }, "message": { "type": "string" } }, "required": [ "type", "message" ], "additionalProperties": false }, "Session.Message.ToolState.Error": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "error" ] }, "input": { "type": "object" }, "content": { "type": "array", "items": { "$ref": "#/components/schemas/LLM.ToolContent" } }, "structured": { "type": "object" }, "error": { "$ref": "#/components/schemas/Session.Error.Unknown" }, "result": {} }, "required": [ "status", "input", "content", "structured", "error" ], "additionalProperties": false }, "Session.Message.Assistant.Tool": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "tool" ] }, "id": { "type": "string" }, "name": { "type": "string" }, "provider": { "type": "object", "properties": { "executed": { "type": "boolean" }, "metadata": { "$ref": "#/components/schemas/LLM.ProviderMetadata" }, "resultMetadata": { "$ref": "#/components/schemas/LLM.ProviderMetadata" } }, "required": [ "executed" ], "additionalProperties": false }, "state": { "anyOf": [ { "$ref": "#/components/schemas/Session.Message.ToolState.Pending" }, { "$ref": "#/components/schemas/Session.Message.ToolState.Running" }, { "$ref": "#/components/schemas/Session.Message.ToolState.Completed" }, { "$ref": "#/components/schemas/Session.Message.ToolState.Error" } ] }, "time": { "type": "object", "properties": { "created": { "type": "number" }, "ran": { "type": "number" }, "completed": { "type": "number" }, "pruned": { "type": "number" } }, "required": [ "created" ], "additionalProperties": false } }, "required": [ "type", "id", "name", "state", "time" ], "additionalProperties": false }, "Session.Message.Assistant": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "metadata": { "type": "object" }, "time": { "type": "object", "properties": { "created": { "type": "number" }, "completed": { "type": "number" } }, "required": [ "created" ], "additionalProperties": false }, "type": { "type": "string", "enum": [ "assistant" ] }, "agent": { "type": "string" }, "model": { "$ref": "#/components/schemas/Model.Ref" }, "content": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Session.Message.Assistant.Text" }, { "$ref": "#/components/schemas/Session.Message.Assistant.Reasoning" }, { "$ref": "#/components/schemas/Session.Message.Assistant.Tool" } ] } }, "snapshot": { "type": "object", "properties": { "start": { "type": "string" }, "end": { "type": "string" }, "files": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "finish": { "type": "string" }, "cost": { "type": "number" }, "tokens": { "type": "object", "properties": { "input": { "type": "number" }, "output": { "type": "number" }, "reasoning": { "type": "number" }, "cache": { "type": "object", "properties": { "read": { "type": "number" }, "write": { "type": "number" } }, "required": [ "read", "write" ], "additionalProperties": false } }, "required": [ "input", "output", "reasoning", "cache" ], "additionalProperties": false }, "error": { "$ref": "#/components/schemas/Session.Error.Unknown" } }, "required": [ "id", "time", "type", "agent", "model", "content" ], "additionalProperties": false }, "Session.Message.Compaction": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "compaction" ] }, "reason": { "type": "string", "enum": [ "auto", "manual" ] }, "summary": { "type": "string" }, "recent": { "type": "string" }, "id": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "metadata": { "type": "object" }, "time": { "type": "object", "properties": { "created": { "type": "number" } }, "required": [ "created" ], "additionalProperties": false } }, "required": [ "type", "reason", "summary", "recent", "id", "time" ], "additionalProperties": false }, "Session.Message": { "anyOf": [ { "$ref": "#/components/schemas/Session.Message.AgentSwitched" }, { "$ref": "#/components/schemas/Session.Message.ModelSwitched" }, { "$ref": "#/components/schemas/Session.Message.User" }, { "$ref": "#/components/schemas/Session.Message.Synthetic" }, { "$ref": "#/components/schemas/Session.Message.System" }, { "$ref": "#/components/schemas/Session.Message.Skill" }, { "$ref": "#/components/schemas/Session.Message.Shell" }, { "$ref": "#/components/schemas/Session.Message.Assistant" }, { "$ref": "#/components/schemas/Session.Message.Compaction" } ] }, "SessionContextEntry.Key": { "type": "string", "allOf": [ { "pattern": "^[a-z0-9][a-z0-9._-]*$", "description": "Context entry key (lowercase alphanumerics plus . _ -)" } ] }, "SessionContextEntry.Info": { "type": "object", "properties": { "key": { "$ref": "#/components/schemas/SessionContextEntry.Key" }, "value": {} }, "required": [ "key", "value" ], "additionalProperties": false }, "session.next.agent.switched": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.agent.switched" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "agent": { "type": "string" } }, "required": [ "timestamp", "sessionID", "messageID", "agent" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.model.switched": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.model.switched" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "model": { "$ref": "#/components/schemas/Model.Ref" } }, "required": [ "timestamp", "sessionID", "messageID", "model" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.moved": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.moved" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "subdirectory": { "type": "string" } }, "required": [ "timestamp", "sessionID", "location" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.renamed": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.renamed" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "title": { "type": "string" } }, "required": [ "timestamp", "sessionID", "title" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.forked": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.forked" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "parentID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] } }, "required": [ "timestamp", "sessionID", "parentID" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.prompted": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.prompted" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "prompt": { "$ref": "#/components/schemas/Prompt" }, "delivery": { "type": "string", "enum": [ "steer", "queue" ] } }, "required": [ "timestamp", "sessionID", "messageID", "prompt", "delivery" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.prompt.admitted": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.prompt.admitted" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "prompt": { "$ref": "#/components/schemas/Prompt" }, "delivery": { "type": "string", "enum": [ "steer", "queue" ] } }, "required": [ "timestamp", "sessionID", "messageID", "prompt", "delivery" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.context.updated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.context.updated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "text": { "type": "string" } }, "required": [ "timestamp", "sessionID", "messageID", "text" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.synthetic": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.synthetic" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "text": { "type": "string" }, "description": { "type": "string" }, "metadata": { "type": "object" } }, "required": [ "timestamp", "sessionID", "messageID", "text" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.skill.activated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.skill.activated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "name": { "type": "string" }, "text": { "type": "string" } }, "required": [ "timestamp", "sessionID", "messageID", "name", "text" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.shell.started": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.shell.started" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "callID": { "type": "string" }, "command": { "type": "string" } }, "required": [ "timestamp", "sessionID", "messageID", "callID", "command" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.shell.ended": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.shell.ended" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "callID": { "type": "string" }, "output": { "type": "string" } }, "required": [ "timestamp", "sessionID", "callID", "output" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.step.started": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.step.started" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "assistantMessageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "agent": { "type": "string" }, "model": { "$ref": "#/components/schemas/Model.Ref" }, "snapshot": { "type": "string" } }, "required": [ "timestamp", "sessionID", "assistantMessageID", "agent", "model" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.step.ended": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.step.ended" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "assistantMessageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "finish": { "type": "string" }, "cost": { "type": "number" }, "tokens": { "type": "object", "properties": { "input": { "type": "number" }, "output": { "type": "number" }, "reasoning": { "type": "number" }, "cache": { "type": "object", "properties": { "read": { "type": "number" }, "write": { "type": "number" } }, "required": [ "read", "write" ], "additionalProperties": false } }, "required": [ "input", "output", "reasoning", "cache" ], "additionalProperties": false }, "snapshot": { "type": "string" }, "files": { "type": "array", "items": { "type": "string" } } }, "required": [ "timestamp", "sessionID", "assistantMessageID", "finish", "cost", "tokens" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.step.failed": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.step.failed" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "assistantMessageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "error": { "$ref": "#/components/schemas/Session.Error.Unknown" } }, "required": [ "timestamp", "sessionID", "assistantMessageID", "error" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.text.started": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.text.started" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "assistantMessageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "textID": { "type": "string" } }, "required": [ "timestamp", "sessionID", "assistantMessageID", "textID" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.text.ended": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.text.ended" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "assistantMessageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "textID": { "type": "string" }, "text": { "type": "string" } }, "required": [ "timestamp", "sessionID", "assistantMessageID", "textID", "text" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.tool.input.started": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.tool.input.started" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "assistantMessageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "callID": { "type": "string" }, "name": { "type": "string" } }, "required": [ "timestamp", "sessionID", "assistantMessageID", "callID", "name" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.tool.input.ended": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.tool.input.ended" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "assistantMessageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "callID": { "type": "string" }, "text": { "type": "string" } }, "required": [ "timestamp", "sessionID", "assistantMessageID", "callID", "text" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "LLM.ProviderMetadata3": { "type": "object", "additionalProperties": { "type": "object" } }, "session.next.tool.called": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.tool.called" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "assistantMessageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "callID": { "type": "string" }, "tool": { "type": "string" }, "input": { "type": "object" }, "provider": { "type": "object", "properties": { "executed": { "type": "boolean" }, "metadata": { "$ref": "#/components/schemas/LLM.ProviderMetadata3" } }, "required": [ "executed" ], "additionalProperties": false } }, "required": [ "timestamp", "sessionID", "assistantMessageID", "callID", "tool", "input", "provider" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.tool.progress": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.tool.progress" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "assistantMessageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "callID": { "type": "string" }, "structured": { "type": "object" }, "content": { "type": "array", "items": { "$ref": "#/components/schemas/LLM.ToolContent" } } }, "required": [ "timestamp", "sessionID", "assistantMessageID", "callID", "structured", "content" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "LLM.ProviderMetadata4": { "type": "object", "additionalProperties": { "type": "object" } }, "session.next.tool.success": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.tool.success" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "assistantMessageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "callID": { "type": "string" }, "structured": { "type": "object" }, "content": { "type": "array", "items": { "$ref": "#/components/schemas/LLM.ToolContent" } }, "outputPaths": { "type": "array", "items": { "type": "string" } }, "result": {}, "provider": { "type": "object", "properties": { "executed": { "type": "boolean" }, "metadata": { "$ref": "#/components/schemas/LLM.ProviderMetadata4" } }, "required": [ "executed" ], "additionalProperties": false } }, "required": [ "timestamp", "sessionID", "assistantMessageID", "callID", "structured", "content", "provider" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "LLM.ProviderMetadata5": { "type": "object", "additionalProperties": { "type": "object" } }, "session.next.tool.failed": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.tool.failed" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "assistantMessageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "callID": { "type": "string" }, "error": { "$ref": "#/components/schemas/Session.Error.Unknown" }, "result": {}, "provider": { "type": "object", "properties": { "executed": { "type": "boolean" }, "metadata": { "$ref": "#/components/schemas/LLM.ProviderMetadata5" } }, "required": [ "executed" ], "additionalProperties": false } }, "required": [ "timestamp", "sessionID", "assistantMessageID", "callID", "error", "provider" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "LLM.ProviderMetadata6": { "type": "object", "additionalProperties": { "type": "object" } }, "session.next.reasoning.started": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.reasoning.started" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "assistantMessageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "reasoningID": { "type": "string" }, "providerMetadata": { "$ref": "#/components/schemas/LLM.ProviderMetadata6" } }, "required": [ "timestamp", "sessionID", "assistantMessageID", "reasoningID" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "LLM.ProviderMetadata7": { "type": "object", "additionalProperties": { "type": "object" } }, "session.next.reasoning.ended": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.reasoning.ended" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "assistantMessageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "reasoningID": { "type": "string" }, "text": { "type": "string" }, "providerMetadata": { "$ref": "#/components/schemas/LLM.ProviderMetadata7" } }, "required": [ "timestamp", "sessionID", "assistantMessageID", "reasoningID", "text" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.retry_error": { "type": "object", "properties": { "message": { "type": "string" }, "statusCode": { "type": "number" }, "isRetryable": { "type": "boolean" }, "responseHeaders": { "type": "object", "additionalProperties": { "type": "string" } }, "responseBody": { "type": "string" }, "metadata": { "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "message", "isRetryable" ], "additionalProperties": false }, "session.next.retried": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.retried" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "attempt": { "type": "number" }, "error": { "$ref": "#/components/schemas/session.next.retry_error" } }, "required": [ "timestamp", "sessionID", "attempt", "error" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.compaction.started": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.compaction.started" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "reason": { "type": "string", "enum": [ "auto", "manual" ] } }, "required": [ "timestamp", "sessionID", "messageID", "reason" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.compaction.ended": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.compaction.ended" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "reason": { "type": "string", "enum": [ "auto", "manual" ] }, "text": { "type": "string" }, "recent": { "type": "string" } }, "required": [ "timestamp", "sessionID", "messageID", "reason", "text", "recent" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.revert.staged": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.revert.staged" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "revert": { "$ref": "#/components/schemas/Revert.State" } }, "required": [ "timestamp", "sessionID", "revert" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.revert.cleared": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.revert.cleared" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] } }, "required": [ "timestamp", "sessionID" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.revert.committed": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.revert.committed" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] } }, "required": [ "timestamp", "sessionID", "messageID" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "SessionDurableEvent": { "oneOf": [ { "$ref": "#/components/schemas/session.next.agent.switched" }, { "$ref": "#/components/schemas/session.next.model.switched" }, { "$ref": "#/components/schemas/session.next.moved" }, { "$ref": "#/components/schemas/session.next.renamed" }, { "$ref": "#/components/schemas/session.next.forked" }, { "$ref": "#/components/schemas/session.next.prompted" }, { "$ref": "#/components/schemas/session.next.prompt.admitted" }, { "$ref": "#/components/schemas/session.next.context.updated" }, { "$ref": "#/components/schemas/session.next.synthetic" }, { "$ref": "#/components/schemas/session.next.skill.activated" }, { "$ref": "#/components/schemas/session.next.shell.started" }, { "$ref": "#/components/schemas/session.next.shell.ended" }, { "$ref": "#/components/schemas/session.next.step.started" }, { "$ref": "#/components/schemas/session.next.step.ended" }, { "$ref": "#/components/schemas/session.next.step.failed" }, { "$ref": "#/components/schemas/session.next.text.started" }, { "$ref": "#/components/schemas/session.next.text.ended" }, { "$ref": "#/components/schemas/session.next.tool.input.started" }, { "$ref": "#/components/schemas/session.next.tool.input.ended" }, { "$ref": "#/components/schemas/session.next.tool.called" }, { "$ref": "#/components/schemas/session.next.tool.progress" }, { "$ref": "#/components/schemas/session.next.tool.success" }, { "$ref": "#/components/schemas/session.next.tool.failed" }, { "$ref": "#/components/schemas/session.next.reasoning.started" }, { "$ref": "#/components/schemas/session.next.reasoning.ended" }, { "$ref": "#/components/schemas/session.next.retried" }, { "$ref": "#/components/schemas/session.next.compaction.started" }, { "$ref": "#/components/schemas/session.next.compaction.ended" }, { "$ref": "#/components/schemas/session.next.revert.staged" }, { "$ref": "#/components/schemas/session.next.revert.cleared" }, { "$ref": "#/components/schemas/session.next.revert.committed" } ] }, "EventLog.Synced": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "log.synced" ] }, "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] } }, "required": [ "type", "aggregateID" ], "additionalProperties": false, "description": "Marker emitted once when a log read reaches its captured watermark. The reader holds every event committed at or below seq." }, "SessionLogItem": { "anyOf": [ { "$ref": "#/components/schemas/SessionDurableEvent" }, { "$ref": "#/components/schemas/EventLog.Synced" } ] }, "SessionLogItemStream": { "type": "string", "contentSchema": { "$ref": "#/components/schemas/SessionLogItem" }, "contentMediaType": "application/json" }, "SessionMessagesResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Session.Message" } }, "watermark": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "cursor": { "type": "object", "properties": { "previous": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "next": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "additionalProperties": false } }, "required": [ "data", "cursor" ], "additionalProperties": false }, "Model.Api": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string", "enum": [ "aisdk" ] }, "package": { "type": "string" }, "url": { "type": "string" }, "settings": { "type": "object" } }, "required": [ "id", "type", "package" ], "additionalProperties": false }, { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string", "enum": [ "native" ] }, "url": { "type": "string" }, "settings": { "type": "object" } }, "required": [ "id", "type", "settings" ], "additionalProperties": false } ] }, "Model.Capabilities": { "type": "object", "properties": { "tools": { "type": "boolean" }, "input": { "type": "array", "items": { "type": "string" } }, "output": { "type": "array", "items": { "type": "string" } } }, "required": [ "tools", "input", "output" ], "additionalProperties": false }, "Model.Cost": { "type": "object", "properties": { "tier": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "context" ] }, "size": { "type": "integer" } }, "required": [ "type", "size" ], "additionalProperties": false }, "input": { "type": "number" }, "output": { "type": "number" }, "cache": { "type": "object", "properties": { "read": { "type": "number" }, "write": { "type": "number" } }, "required": [ "read", "write" ], "additionalProperties": false } }, "required": [ "input", "output", "cache" ], "additionalProperties": false }, "ModelV2.Info": { "type": "object", "properties": { "id": { "type": "string" }, "providerID": { "type": "string" }, "family": { "type": "string" }, "name": { "type": "string" }, "api": { "$ref": "#/components/schemas/Model.Api" }, "capabilities": { "$ref": "#/components/schemas/Model.Capabilities" }, "request": { "type": "object", "properties": { "settings": { "$ref": "#/components/schemas/Provider.Settings" }, "headers": { "type": "object", "additionalProperties": { "type": "string" } }, "body": { "type": "object" }, "variant": { "type": "string" } }, "required": [ "settings", "headers", "body" ], "additionalProperties": false }, "variants": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "settings": { "$ref": "#/components/schemas/Provider.Settings" }, "headers": { "type": "object", "additionalProperties": { "type": "string" } }, "body": { "type": "object" } }, "required": [ "id", "settings", "headers", "body" ], "additionalProperties": false } }, "time": { "type": "object", "properties": { "released": { "type": "number" } }, "required": [ "released" ], "additionalProperties": false }, "cost": { "type": "array", "items": { "$ref": "#/components/schemas/Model.Cost" } }, "status": { "type": "string", "enum": [ "alpha", "beta", "deprecated", "active" ] }, "enabled": { "type": "boolean" }, "limit": { "type": "object", "properties": { "context": { "type": "integer" }, "input": { "type": "integer" }, "output": { "type": "integer" } }, "required": [ "context", "output" ], "additionalProperties": false } }, "required": [ "id", "providerID", "name", "api", "capabilities", "request", "variants", "time", "cost", "status", "enabled", "limit" ], "additionalProperties": false }, "GenerateTextResponse": { "type": "object", "properties": { "data": { "type": "object", "properties": { "text": { "type": "string" } }, "required": [ "text" ], "additionalProperties": false } }, "required": [ "data" ], "additionalProperties": false }, "Provider.AISDK": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "aisdk" ] }, "package": { "type": "string" }, "url": { "type": "string" }, "settings": { "type": "object" } }, "required": [ "type", "package" ], "additionalProperties": false }, "Provider.Native": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "native" ] }, "url": { "type": "string" }, "settings": { "type": "object" } }, "required": [ "type", "settings" ], "additionalProperties": false }, "Provider.Api": { "anyOf": [ { "$ref": "#/components/schemas/Provider.AISDK" }, { "$ref": "#/components/schemas/Provider.Native" } ] }, "ProviderV2.Info": { "type": "object", "properties": { "id": { "type": "string" }, "integrationID": { "type": "string" }, "name": { "type": "string" }, "disabled": { "type": "boolean" }, "api": { "$ref": "#/components/schemas/Provider.Api" }, "request": { "$ref": "#/components/schemas/Provider.Request" } }, "required": [ "id", "name", "api", "request" ], "additionalProperties": false }, "ProviderNotFoundError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "ProviderNotFoundError" ] }, "providerID": { "type": "string" }, "message": { "type": "string" } }, "required": [ "_tag", "providerID", "message" ], "additionalProperties": false }, "Integration.When": { "type": "object", "properties": { "key": { "type": "string" }, "op": { "type": "string", "enum": [ "eq", "neq" ] }, "value": { "type": "string" } }, "required": [ "key", "op", "value" ], "additionalProperties": false }, "Integration.TextPrompt": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "text" ] }, "key": { "type": "string" }, "message": { "type": "string" }, "placeholder": { "type": "string" }, "when": { "$ref": "#/components/schemas/Integration.When" } }, "required": [ "type", "key", "message" ], "additionalProperties": false }, "Integration.SelectPrompt": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "select" ] }, "key": { "type": "string" }, "message": { "type": "string" }, "options": { "type": "array", "items": { "type": "object", "properties": { "label": { "type": "string" }, "value": { "type": "string" }, "hint": { "type": "string" } }, "required": [ "label", "value" ], "additionalProperties": false } }, "when": { "$ref": "#/components/schemas/Integration.When" } }, "required": [ "type", "key", "message", "options" ], "additionalProperties": false }, "Integration.OAuthMethod": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string", "enum": [ "oauth" ] }, "label": { "type": "string" }, "prompts": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Integration.TextPrompt" }, { "$ref": "#/components/schemas/Integration.SelectPrompt" } ] } } }, "required": [ "id", "type", "label" ], "additionalProperties": false }, "Integration.KeyMethod": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "key" ] }, "label": { "type": "string" } }, "required": [ "type" ], "additionalProperties": false }, "Integration.EnvMethod": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "env" ] }, "names": { "type": "array", "items": { "type": "string" } } }, "required": [ "type", "names" ], "additionalProperties": false }, "Integration.Method": { "anyOf": [ { "$ref": "#/components/schemas/Integration.OAuthMethod" }, { "$ref": "#/components/schemas/Integration.KeyMethod" }, { "$ref": "#/components/schemas/Integration.EnvMethod" } ] }, "Connection.CredentialInfo": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "credential" ] }, "id": { "type": "string" }, "label": { "type": "string" } }, "required": [ "type", "id", "label" ], "additionalProperties": false }, "Connection.EnvInfo": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "env" ] }, "name": { "type": "string" } }, "required": [ "type", "name" ], "additionalProperties": false }, "Connection.Info": { "anyOf": [ { "$ref": "#/components/schemas/Connection.CredentialInfo" }, { "$ref": "#/components/schemas/Connection.EnvInfo" } ] }, "Integration.Info": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "methods": { "type": "array", "items": { "$ref": "#/components/schemas/Integration.Method" } }, "connections": { "type": "array", "items": { "$ref": "#/components/schemas/Connection.Info" } } }, "required": [ "id", "name", "methods", "connections" ], "additionalProperties": false }, "Integration.Attempt": { "type": "object", "properties": { "attemptID": { "type": "string" }, "url": { "type": "string" }, "instructions": { "type": "string" }, "mode": { "type": "string", "enum": [ "auto", "code" ] }, "time": { "type": "object", "properties": { "created": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] }, "expires": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] } }, "required": [ "created", "expires" ], "additionalProperties": false } }, "required": [ "attemptID", "url", "instructions", "mode", "time" ], "additionalProperties": false }, "Integration.AttemptStatus": { "anyOf": [ { "type": "object", "properties": { "status": { "type": "string", "enum": [ "pending" ] }, "time": { "type": "object", "properties": { "created": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] }, "expires": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] } }, "required": [ "created", "expires" ], "additionalProperties": false } }, "required": [ "status", "time" ], "additionalProperties": false }, { "type": "object", "properties": { "status": { "type": "string", "enum": [ "complete" ] }, "time": { "type": "object", "properties": { "created": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] }, "expires": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] } }, "required": [ "created", "expires" ], "additionalProperties": false } }, "required": [ "status", "time" ], "additionalProperties": false }, { "type": "object", "properties": { "status": { "type": "string", "enum": [ "failed" ] }, "message": { "type": "string" }, "time": { "type": "object", "properties": { "created": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] }, "expires": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] } }, "required": [ "created", "expires" ], "additionalProperties": false } }, "required": [ "status", "message", "time" ], "additionalProperties": false }, { "type": "object", "properties": { "status": { "type": "string", "enum": [ "expired" ] }, "time": { "type": "object", "properties": { "created": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] }, "expires": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] } }, "required": [ "created", "expires" ], "additionalProperties": false } }, "required": [ "status", "time" ], "additionalProperties": false } ] }, "Mcp.Status.Connected": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "connected" ] } }, "required": [ "status" ], "additionalProperties": false }, "Mcp.Status.Disconnected": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "disconnected" ] } }, "required": [ "status" ], "additionalProperties": false }, "Mcp.Status.Disabled": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "disabled" ] } }, "required": [ "status" ], "additionalProperties": false }, "Mcp.Status.Failed": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "failed" ] }, "error": { "type": "string" } }, "required": [ "status", "error" ], "additionalProperties": false }, "Mcp.Status.NeedsAuth": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "needs_auth" ] } }, "required": [ "status" ], "additionalProperties": false }, "Mcp.Status.NeedsClientRegistration": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "needs_client_registration" ] }, "error": { "type": "string" } }, "required": [ "status", "error" ], "additionalProperties": false }, "Mcp.Server": { "type": "object", "properties": { "name": { "type": "string" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/Mcp.Status.Connected" }, { "$ref": "#/components/schemas/Mcp.Status.Disconnected" }, { "$ref": "#/components/schemas/Mcp.Status.Disabled" }, { "$ref": "#/components/schemas/Mcp.Status.Failed" }, { "$ref": "#/components/schemas/Mcp.Status.NeedsAuth" }, { "$ref": "#/components/schemas/Mcp.Status.NeedsClientRegistration" } ] }, "integrationID": { "type": "string" } }, "required": [ "name", "status" ], "additionalProperties": false }, "Project.Current": { "type": "object", "properties": { "id": { "type": "string" }, "directory": { "type": "string" } }, "required": [ "id", "directory" ], "additionalProperties": false }, "Project.Directory": { "type": "object", "properties": { "directory": { "type": "string" }, "strategy": { "type": "string" } }, "required": [ "directory" ], "additionalProperties": false }, "Project.Directories": { "type": "array", "items": { "$ref": "#/components/schemas/Project.Directory" } }, "Form.Metadata": { "type": "object" }, "Form.When": { "type": "object", "properties": { "key": { "type": "string" }, "op": { "type": "string", "enum": [ "eq", "neq" ] }, "value": { "anyOf": [ { "type": "string" }, { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] }, { "type": "boolean" } ] } }, "required": [ "key", "op", "value" ], "additionalProperties": false }, "Form.Option": { "type": "object", "properties": { "value": { "type": "string" }, "label": { "type": "string" }, "description": { "type": "string" } }, "required": [ "value", "label" ], "additionalProperties": false }, "Form.StringField": { "type": "object", "properties": { "key": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "required": { "type": "boolean" }, "when": { "type": "array", "items": { "$ref": "#/components/schemas/Form.When" } }, "type": { "type": "string", "enum": [ "string" ] }, "format": { "type": "string", "enum": [ "email", "uri", "date", "date-time" ] }, "minLength": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "maxLength": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "pattern": { "type": "string" }, "placeholder": { "type": "string" }, "default": { "type": "string" }, "options": { "type": "array", "items": { "$ref": "#/components/schemas/Form.Option" } }, "custom": { "type": "boolean" } }, "required": [ "key", "type" ], "additionalProperties": false }, "Form.NumberField": { "type": "object", "properties": { "key": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "required": { "type": "boolean" }, "when": { "type": "array", "items": { "$ref": "#/components/schemas/Form.When" } }, "type": { "type": "string", "enum": [ "number" ] }, "minimum": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] }, "maximum": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] }, "default": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] } }, "required": [ "key", "type" ], "additionalProperties": false }, "Form.IntegerField": { "type": "object", "properties": { "key": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "required": { "type": "boolean" }, "when": { "type": "array", "items": { "$ref": "#/components/schemas/Form.When" } }, "type": { "type": "string", "enum": [ "integer" ] }, "minimum": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] }, "maximum": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] }, "default": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] } }, "required": [ "key", "type" ], "additionalProperties": false }, "Form.BooleanField": { "type": "object", "properties": { "key": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "required": { "type": "boolean" }, "when": { "type": "array", "items": { "$ref": "#/components/schemas/Form.When" } }, "type": { "type": "string", "enum": [ "boolean" ] }, "default": { "type": "boolean" } }, "required": [ "key", "type" ], "additionalProperties": false }, "Form.MultiselectField": { "type": "object", "properties": { "key": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "required": { "type": "boolean" }, "when": { "type": "array", "items": { "$ref": "#/components/schemas/Form.When" } }, "type": { "type": "string", "enum": [ "multiselect" ] }, "options": { "type": "array", "items": { "$ref": "#/components/schemas/Form.Option" } }, "minItems": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "maxItems": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "custom": { "type": "boolean" }, "default": { "type": "array", "items": { "type": "string" } } }, "required": [ "key", "type", "options" ], "additionalProperties": false }, "Form.FormInfo": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^frm_" } ] }, "sessionID": { "type": "string" }, "title": { "type": "string" }, "metadata": { "$ref": "#/components/schemas/Form.Metadata" }, "mode": { "type": "string", "enum": [ "form" ] }, "fields": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Form.StringField" }, { "$ref": "#/components/schemas/Form.NumberField" }, { "$ref": "#/components/schemas/Form.IntegerField" }, { "$ref": "#/components/schemas/Form.BooleanField" }, { "$ref": "#/components/schemas/Form.MultiselectField" } ] } } }, "required": [ "id", "sessionID", "mode", "fields" ], "additionalProperties": false }, "Form.UrlInfo": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^frm_" } ] }, "sessionID": { "type": "string" }, "title": { "type": "string" }, "metadata": { "$ref": "#/components/schemas/Form.Metadata" }, "mode": { "type": "string", "enum": [ "url" ] }, "url": { "type": "string" } }, "required": [ "id", "sessionID", "mode", "url" ], "additionalProperties": false }, "Form.CreatePayload": { "type": "object", "properties": { "id": { "anyOf": [ { "type": "string", "allOf": [ { "pattern": "^frm_" } ] }, { "type": "null" } ] }, "title": { "type": "string" }, "metadata": { "$ref": "#/components/schemas/Form.Metadata" }, "mode": { "type": "string", "enum": [ "form", "url" ] }, "fields": { "anyOf": [ { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Form.StringField" }, { "$ref": "#/components/schemas/Form.NumberField" }, { "$ref": "#/components/schemas/Form.IntegerField" }, { "$ref": "#/components/schemas/Form.BooleanField" }, { "$ref": "#/components/schemas/Form.MultiselectField" } ] } }, { "type": "null" } ] }, "url": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "mode" ], "additionalProperties": false }, "FormNotFoundError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "FormNotFoundError" ] }, "id": { "type": "string" }, "message": { "type": "string" } }, "required": [ "_tag", "id", "message" ], "additionalProperties": false }, "Form.Value": { "anyOf": [ { "type": "string" }, { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] }, { "type": "boolean" }, { "type": "array", "items": { "type": "string" } } ] }, "Form.Answer": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/Form.Value" } }, "Form.State": { "anyOf": [ { "type": "object", "properties": { "status": { "type": "string", "enum": [ "pending" ] } }, "required": [ "status" ], "additionalProperties": false }, { "type": "object", "properties": { "status": { "type": "string", "enum": [ "answered" ] }, "answer": { "$ref": "#/components/schemas/Form.Answer" } }, "required": [ "status", "answer" ], "additionalProperties": false }, { "type": "object", "properties": { "status": { "type": "string", "enum": [ "cancelled" ] } }, "required": [ "status" ], "additionalProperties": false } ] }, "Form.Reply": { "type": "object", "properties": { "answer": { "$ref": "#/components/schemas/Form.Answer" } }, "required": [ "answer" ], "additionalProperties": false }, "FormAlreadySettledError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "FormAlreadySettledError" ] }, "id": { "type": "string" }, "message": { "type": "string" } }, "required": [ "_tag", "id", "message" ], "additionalProperties": false }, "FormInvalidAnswerError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "FormInvalidAnswerError" ] }, "id": { "type": "string" }, "message": { "type": "string" } }, "required": [ "_tag", "id", "message" ], "additionalProperties": false }, "PermissionV2.Source": { "anyOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "tool" ] }, "messageID": { "type": "string" }, "callID": { "type": "string" } }, "required": [ "type", "messageID", "callID" ], "additionalProperties": false } ] }, "PermissionV2.Request": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^per" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "action": { "type": "string" }, "resources": { "type": "array", "items": { "type": "string" } }, "save": { "type": "array", "items": { "type": "string" } }, "metadata": { "type": "object" }, "source": { "$ref": "#/components/schemas/PermissionV2.Source" } }, "required": [ "id", "sessionID", "action", "resources" ], "additionalProperties": false }, "PermissionSaved.Info": { "type": "object", "properties": { "id": { "type": "string" }, "projectID": { "type": "string" }, "action": { "type": "string" }, "resource": { "type": "string" } }, "required": [ "id", "projectID", "action", "resource" ], "additionalProperties": false }, "PermissionNotFoundError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "PermissionNotFoundError" ] }, "requestID": { "type": "string" }, "message": { "type": "string" } }, "required": [ "_tag", "requestID", "message" ], "additionalProperties": false }, "PermissionV2.Reply": { "type": "string", "enum": [ "once", "always", "reject" ] }, "FileSystem.Entry": { "type": "object", "properties": { "path": { "type": "string" }, "type": { "type": "string", "enum": [ "file", "directory" ] } }, "required": [ "path", "type" ], "additionalProperties": false }, "CommandV2.Info": { "type": "object", "properties": { "name": { "type": "string" }, "template": { "type": "string" }, "description": { "type": "string" }, "agent": { "type": "string" }, "model": { "$ref": "#/components/schemas/Model.Ref" }, "subtask": { "type": "boolean" } }, "required": [ "name", "template" ], "additionalProperties": false }, "SkillV2.Info": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "slash": { "type": "boolean" }, "autoinvoke": { "type": "boolean" }, "location": { "type": "string" }, "content": { "type": "string" } }, "required": [ "name", "location", "content" ], "additionalProperties": false }, "models-dev.refreshed": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "models-dev.refreshed" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "anyOf": [ { "type": "object" }, { "type": "array" } ] } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "integration.updated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "integration.updated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "anyOf": [ { "type": "object" }, { "type": "array" } ] } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "integration.connection.updated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "integration.connection.updated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "integrationID": { "type": "string" } }, "required": [ "integrationID" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "catalog.updated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "catalog.updated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "anyOf": [ { "type": "object" }, { "type": "array" } ] } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "agent.updated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "agent.updated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "anyOf": [ { "type": "object" }, { "type": "array" } ] } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "SnapshotFileDiff": { "type": "object", "properties": { "file": { "type": "string" }, "patch": { "type": "string" }, "additions": { "type": "number" }, "deletions": { "type": "number" }, "status": { "type": "string", "enum": [ "added", "deleted", "modified" ] } }, "required": [ "additions", "deletions" ], "additionalProperties": false }, "PermissionAction": { "type": "string", "enum": [ "allow", "deny", "ask" ] }, "PermissionRule": { "type": "object", "properties": { "permission": { "type": "string" }, "pattern": { "type": "string" }, "action": { "$ref": "#/components/schemas/PermissionAction" } }, "required": [ "permission", "pattern", "action" ], "additionalProperties": false }, "PermissionRuleset": { "type": "array", "items": { "$ref": "#/components/schemas/PermissionRule" } }, "Session": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "slug": { "type": "string" }, "projectID": { "type": "string" }, "workspaceID": { "type": "string", "allOf": [ { "pattern": "^wrk" } ] }, "directory": { "type": "string" }, "path": { "type": "string" }, "parentID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "summary": { "type": "object", "properties": { "additions": { "type": "number" }, "deletions": { "type": "number" }, "files": { "type": "number" }, "diffs": { "type": "array", "items": { "$ref": "#/components/schemas/SnapshotFileDiff" } } }, "required": [ "additions", "deletions", "files" ], "additionalProperties": false }, "cost": { "type": "number" }, "tokens": { "type": "object", "properties": { "input": { "type": "number" }, "output": { "type": "number" }, "reasoning": { "type": "number" }, "cache": { "type": "object", "properties": { "read": { "type": "number" }, "write": { "type": "number" } }, "required": [ "read", "write" ], "additionalProperties": false } }, "required": [ "input", "output", "reasoning", "cache" ], "additionalProperties": false }, "share": { "type": "object", "properties": { "url": { "type": "string" } }, "required": [ "url" ], "additionalProperties": false }, "title": { "type": "string" }, "agent": { "type": "string" }, "model": { "type": "object", "properties": { "id": { "type": "string" }, "providerID": { "type": "string" }, "variant": { "type": "string" } }, "required": [ "id", "providerID" ], "additionalProperties": false }, "version": { "type": "string" }, "metadata": { "type": "object" }, "time": { "type": "object", "properties": { "created": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "updated": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "compacting": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "archived": { "type": "number" } }, "required": [ "created", "updated" ], "additionalProperties": false }, "permission": { "$ref": "#/components/schemas/PermissionRuleset" }, "revert": { "type": "object", "properties": { "messageID": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "partID": { "type": "string", "allOf": [ { "pattern": "^prt" } ] }, "snapshot": { "type": "string" }, "diff": { "type": "string" } }, "required": [ "messageID" ], "additionalProperties": false } }, "required": [ "id", "slug", "projectID", "directory", "title", "version", "time" ], "additionalProperties": false }, "session.created": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.created" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "info": { "$ref": "#/components/schemas/Session" } }, "required": [ "sessionID", "info" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.updated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.updated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "info": { "$ref": "#/components/schemas/Session" } }, "required": [ "sessionID", "info" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.deleted": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.deleted" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "info": { "$ref": "#/components/schemas/Session" } }, "required": [ "sessionID", "info" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "JSONSchema": { "type": "object" }, "OutputFormat": { "anyOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "text" ] } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "json_schema" ] }, "schema": { "$ref": "#/components/schemas/JSONSchema" }, "retryCount": { "anyOf": [ { "anyOf": [ { "type": "integer", "allOf": [ { "minimum": 0 } ] }, { "type": "null" } ] }, { "type": "null" } ] } }, "required": [ "type", "schema" ], "additionalProperties": false } ] }, "UserMessage": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "role": { "type": "string", "enum": [ "user" ] }, "time": { "type": "object", "properties": { "created": { "type": "number", "allOf": [ { "minimum": 0 } ] } }, "required": [ "created" ], "additionalProperties": false }, "format": { "anyOf": [ { "$ref": "#/components/schemas/OutputFormat" }, { "type": "null" } ] }, "summary": { "anyOf": [ { "type": "object", "properties": { "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "body": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "diffs": { "type": "array", "items": { "$ref": "#/components/schemas/SnapshotFileDiff" } } }, "required": [ "diffs" ], "additionalProperties": false }, { "type": "null" } ] }, "agent": { "type": "string" }, "model": { "type": "object", "properties": { "providerID": { "type": "string" }, "modelID": { "type": "string" }, "variant": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "providerID", "modelID" ], "additionalProperties": false }, "system": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "tools": { "anyOf": [ { "type": "object", "additionalProperties": { "type": "boolean" } }, { "type": "null" } ] } }, "required": [ "id", "sessionID", "role", "time", "agent", "model" ], "additionalProperties": false }, "ProviderAuthError": { "type": "object", "properties": { "name": { "type": "string", "enum": [ "ProviderAuthError" ] }, "data": { "type": "object", "properties": { "providerID": { "type": "string" }, "message": { "type": "string" } }, "required": [ "providerID", "message" ], "additionalProperties": false } }, "required": [ "name", "data" ], "additionalProperties": false }, "UnknownError1": { "type": "object", "properties": { "name": { "type": "string", "enum": [ "UnknownError" ] }, "data": { "type": "object", "properties": { "message": { "type": "string" }, "ref": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "message" ], "additionalProperties": false } }, "required": [ "name", "data" ], "additionalProperties": false }, "MessageOutputLengthError": { "type": "object", "properties": { "name": { "type": "string", "enum": [ "MessageOutputLengthError" ] }, "data": { "anyOf": [ { "type": "object" }, { "type": "array" } ] } }, "required": [ "name", "data" ], "additionalProperties": false }, "MessageAbortedError": { "type": "object", "properties": { "name": { "type": "string", "enum": [ "MessageAbortedError" ] }, "data": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ], "additionalProperties": false } }, "required": [ "name", "data" ], "additionalProperties": false }, "StructuredOutputError": { "type": "object", "properties": { "name": { "type": "string", "enum": [ "StructuredOutputError" ] }, "data": { "type": "object", "properties": { "message": { "type": "string" }, "retries": { "type": "integer", "allOf": [ { "minimum": 0 } ] } }, "required": [ "message", "retries" ], "additionalProperties": false } }, "required": [ "name", "data" ], "additionalProperties": false }, "ContextOverflowError": { "type": "object", "properties": { "name": { "type": "string", "enum": [ "ContextOverflowError" ] }, "data": { "type": "object", "properties": { "message": { "type": "string" }, "responseBody": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "message" ], "additionalProperties": false } }, "required": [ "name", "data" ], "additionalProperties": false }, "ContentFilterError": { "type": "object", "properties": { "name": { "type": "string", "enum": [ "ContentFilterError" ] }, "data": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ], "additionalProperties": false } }, "required": [ "name", "data" ], "additionalProperties": false }, "APIError": { "type": "object", "properties": { "name": { "type": "string", "enum": [ "APIError" ] }, "data": { "type": "object", "properties": { "message": { "type": "string" }, "statusCode": { "anyOf": [ { "type": "integer", "allOf": [ { "minimum": 0 } ] }, { "type": "null" } ] }, "isRetryable": { "type": "boolean" }, "responseHeaders": { "anyOf": [ { "type": "object", "additionalProperties": { "type": "string" } }, { "type": "null" } ] }, "responseBody": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "metadata": { "anyOf": [ { "type": "object", "additionalProperties": { "type": "string" } }, { "type": "null" } ] } }, "required": [ "message", "isRetryable" ], "additionalProperties": false } }, "required": [ "name", "data" ], "additionalProperties": false }, "AssistantMessage": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "role": { "type": "string", "enum": [ "assistant" ] }, "time": { "type": "object", "properties": { "created": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "completed": { "anyOf": [ { "type": "integer", "allOf": [ { "minimum": 0 } ] }, { "type": "null" } ] } }, "required": [ "created" ], "additionalProperties": false }, "error": { "anyOf": [ { "anyOf": [ { "$ref": "#/components/schemas/ProviderAuthError" }, { "$ref": "#/components/schemas/UnknownError1" }, { "$ref": "#/components/schemas/MessageOutputLengthError" }, { "$ref": "#/components/schemas/MessageAbortedError" }, { "$ref": "#/components/schemas/StructuredOutputError" }, { "$ref": "#/components/schemas/ContextOverflowError" }, { "$ref": "#/components/schemas/ContentFilterError" }, { "$ref": "#/components/schemas/APIError" } ] }, { "type": "null" } ] }, "parentID": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "modelID": { "type": "string" }, "providerID": { "type": "string" }, "mode": { "type": "string" }, "agent": { "type": "string" }, "path": { "type": "object", "properties": { "cwd": { "type": "string" }, "root": { "type": "string" } }, "required": [ "cwd", "root" ], "additionalProperties": false }, "summary": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "cost": { "type": "number" }, "tokens": { "type": "object", "properties": { "total": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "input": { "type": "number" }, "output": { "type": "number" }, "reasoning": { "type": "number" }, "cache": { "type": "object", "properties": { "read": { "type": "number" }, "write": { "type": "number" } }, "required": [ "read", "write" ], "additionalProperties": false } }, "required": [ "input", "output", "reasoning", "cache" ], "additionalProperties": false }, "structured": { "anyOf": [ {}, { "type": "null" } ] }, "variant": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "finish": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "sessionID", "role", "time", "parentID", "modelID", "providerID", "mode", "agent", "path", "cost", "tokens" ], "additionalProperties": false }, "Message": { "anyOf": [ { "$ref": "#/components/schemas/UserMessage" }, { "$ref": "#/components/schemas/AssistantMessage" } ] }, "message.updated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "message.updated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "info": { "$ref": "#/components/schemas/Message" } }, "required": [ "sessionID", "info" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "message.removed": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "message.removed" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg" } ] } }, "required": [ "sessionID", "messageID" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "TextPart": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^prt" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "type": { "type": "string", "enum": [ "text" ] }, "text": { "type": "string" }, "synthetic": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "ignored": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "time": { "anyOf": [ { "type": "object", "properties": { "start": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "end": { "anyOf": [ { "type": "integer", "allOf": [ { "minimum": 0 } ] }, { "type": "null" } ] } }, "required": [ "start" ], "additionalProperties": false }, { "type": "null" } ] }, "metadata": { "anyOf": [ { "type": "object" }, { "type": "null" } ] } }, "required": [ "id", "sessionID", "messageID", "type", "text" ], "additionalProperties": false }, "SubtaskPart": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^prt" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "type": { "type": "string", "enum": [ "subtask" ] }, "prompt": { "type": "string" }, "description": { "type": "string" }, "agent": { "type": "string" }, "model": { "anyOf": [ { "type": "object", "properties": { "providerID": { "type": "string" }, "modelID": { "type": "string" } }, "required": [ "providerID", "modelID" ], "additionalProperties": false }, { "type": "null" } ] }, "command": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "sessionID", "messageID", "type", "prompt", "description", "agent" ], "additionalProperties": false }, "ReasoningPart": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^prt" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "type": { "type": "string", "enum": [ "reasoning" ] }, "text": { "type": "string" }, "metadata": { "anyOf": [ { "type": "object" }, { "type": "null" } ] }, "time": { "type": "object", "properties": { "start": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "end": { "anyOf": [ { "type": "integer", "allOf": [ { "minimum": 0 } ] }, { "type": "null" } ] } }, "required": [ "start" ], "additionalProperties": false } }, "required": [ "id", "sessionID", "messageID", "type", "text", "time" ], "additionalProperties": false }, "FilePartSourceText": { "type": "object", "properties": { "value": { "type": "string" }, "start": { "type": "number" }, "end": { "type": "number" } }, "required": [ "value", "start", "end" ], "additionalProperties": false }, "FileSource": { "type": "object", "properties": { "text": { "$ref": "#/components/schemas/FilePartSourceText" }, "type": { "type": "string", "enum": [ "file" ] }, "path": { "type": "string" } }, "required": [ "text", "type", "path" ], "additionalProperties": false }, "Range": { "type": "object", "properties": { "start": { "type": "object", "properties": { "line": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "character": { "type": "integer", "allOf": [ { "minimum": 0 } ] } }, "required": [ "line", "character" ], "additionalProperties": false }, "end": { "type": "object", "properties": { "line": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "character": { "type": "integer", "allOf": [ { "minimum": 0 } ] } }, "required": [ "line", "character" ], "additionalProperties": false } }, "required": [ "start", "end" ], "additionalProperties": false }, "SymbolSource": { "type": "object", "properties": { "text": { "$ref": "#/components/schemas/FilePartSourceText" }, "type": { "type": "string", "enum": [ "symbol" ] }, "path": { "type": "string" }, "range": { "$ref": "#/components/schemas/Range" }, "name": { "type": "string" }, "kind": { "type": "integer", "allOf": [ { "minimum": 0 } ] } }, "required": [ "text", "type", "path", "range", "name", "kind" ], "additionalProperties": false }, "ResourceSource": { "type": "object", "properties": { "text": { "$ref": "#/components/schemas/FilePartSourceText" }, "type": { "type": "string", "enum": [ "resource" ] }, "clientName": { "type": "string" }, "uri": { "type": "string" } }, "required": [ "text", "type", "clientName", "uri" ], "additionalProperties": false }, "FilePartSource": { "anyOf": [ { "$ref": "#/components/schemas/FileSource" }, { "$ref": "#/components/schemas/SymbolSource" }, { "$ref": "#/components/schemas/ResourceSource" } ] }, "FilePart": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^prt" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "type": { "type": "string", "enum": [ "file" ] }, "mime": { "type": "string" }, "filename": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "url": { "type": "string" }, "source": { "anyOf": [ { "$ref": "#/components/schemas/FilePartSource" }, { "type": "null" } ] } }, "required": [ "id", "sessionID", "messageID", "type", "mime", "url" ], "additionalProperties": false }, "ToolStatePending": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "pending" ] }, "input": { "type": "object" }, "raw": { "type": "string" } }, "required": [ "status", "input", "raw" ], "additionalProperties": false }, "ToolStateRunning": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "running" ] }, "input": { "type": "object" }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "metadata": { "anyOf": [ { "type": "object" }, { "type": "null" } ] }, "time": { "type": "object", "properties": { "start": { "type": "integer", "allOf": [ { "minimum": 0 } ] } }, "required": [ "start" ], "additionalProperties": false } }, "required": [ "status", "input", "time" ], "additionalProperties": false }, "ToolStateCompleted": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "completed" ] }, "input": { "type": "object" }, "output": { "type": "string" }, "title": { "type": "string" }, "metadata": { "type": "object" }, "time": { "type": "object", "properties": { "start": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "end": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "compacted": { "anyOf": [ { "type": "integer", "allOf": [ { "minimum": 0 } ] }, { "type": "null" } ] } }, "required": [ "start", "end" ], "additionalProperties": false }, "attachments": { "anyOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/FilePart" } }, { "type": "null" } ] } }, "required": [ "status", "input", "output", "title", "metadata", "time" ], "additionalProperties": false }, "ToolStateError": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "error" ] }, "input": { "type": "object" }, "error": { "type": "string" }, "metadata": { "anyOf": [ { "type": "object" }, { "type": "null" } ] }, "time": { "type": "object", "properties": { "start": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "end": { "type": "integer", "allOf": [ { "minimum": 0 } ] } }, "required": [ "start", "end" ], "additionalProperties": false } }, "required": [ "status", "input", "error", "time" ], "additionalProperties": false }, "ToolState": { "anyOf": [ { "$ref": "#/components/schemas/ToolStatePending" }, { "$ref": "#/components/schemas/ToolStateRunning" }, { "$ref": "#/components/schemas/ToolStateCompleted" }, { "$ref": "#/components/schemas/ToolStateError" } ] }, "ToolPart": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^prt" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "type": { "type": "string", "enum": [ "tool" ] }, "callID": { "type": "string" }, "tool": { "type": "string" }, "state": { "$ref": "#/components/schemas/ToolState" }, "metadata": { "anyOf": [ { "type": "object" }, { "type": "null" } ] } }, "required": [ "id", "sessionID", "messageID", "type", "callID", "tool", "state" ], "additionalProperties": false }, "StepStartPart": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^prt" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "type": { "type": "string", "enum": [ "step-start" ] }, "snapshot": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "sessionID", "messageID", "type" ], "additionalProperties": false }, "StepFinishPart": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^prt" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "type": { "type": "string", "enum": [ "step-finish" ] }, "reason": { "type": "string" }, "snapshot": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "cost": { "type": "number" }, "tokens": { "type": "object", "properties": { "total": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "input": { "type": "number" }, "output": { "type": "number" }, "reasoning": { "type": "number" }, "cache": { "type": "object", "properties": { "read": { "type": "number" }, "write": { "type": "number" } }, "required": [ "read", "write" ], "additionalProperties": false } }, "required": [ "input", "output", "reasoning", "cache" ], "additionalProperties": false } }, "required": [ "id", "sessionID", "messageID", "type", "reason", "cost", "tokens" ], "additionalProperties": false }, "SnapshotPart": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^prt" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "type": { "type": "string", "enum": [ "snapshot" ] }, "snapshot": { "type": "string" } }, "required": [ "id", "sessionID", "messageID", "type", "snapshot" ], "additionalProperties": false }, "PatchPart": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^prt" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "type": { "type": "string", "enum": [ "patch" ] }, "hash": { "type": "string" }, "files": { "type": "array", "items": { "type": "string" } } }, "required": [ "id", "sessionID", "messageID", "type", "hash", "files" ], "additionalProperties": false }, "AgentPart": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^prt" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "type": { "type": "string", "enum": [ "agent" ] }, "name": { "type": "string" }, "source": { "anyOf": [ { "type": "object", "properties": { "value": { "type": "string" }, "start": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "end": { "type": "integer", "allOf": [ { "minimum": 0 } ] } }, "required": [ "value", "start", "end" ], "additionalProperties": false }, { "type": "null" } ] } }, "required": [ "id", "sessionID", "messageID", "type", "name" ], "additionalProperties": false }, "RetryPart": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^prt" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "type": { "type": "string", "enum": [ "retry" ] }, "attempt": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "error": { "$ref": "#/components/schemas/APIError" }, "time": { "type": "object", "properties": { "created": { "type": "integer", "allOf": [ { "minimum": 0 } ] } }, "required": [ "created" ], "additionalProperties": false } }, "required": [ "id", "sessionID", "messageID", "type", "attempt", "error", "time" ], "additionalProperties": false }, "CompactionPart": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^prt" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "type": { "type": "string", "enum": [ "compaction" ] }, "auto": { "type": "boolean" }, "overflow": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] }, "tail_start_id": { "anyOf": [ { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, { "type": "null" } ] } }, "required": [ "id", "sessionID", "messageID", "type", "auto" ], "additionalProperties": false }, "Part": { "anyOf": [ { "$ref": "#/components/schemas/TextPart" }, { "$ref": "#/components/schemas/SubtaskPart" }, { "$ref": "#/components/schemas/ReasoningPart" }, { "$ref": "#/components/schemas/FilePart" }, { "$ref": "#/components/schemas/ToolPart" }, { "$ref": "#/components/schemas/StepStartPart" }, { "$ref": "#/components/schemas/StepFinishPart" }, { "$ref": "#/components/schemas/SnapshotPart" }, { "$ref": "#/components/schemas/PatchPart" }, { "$ref": "#/components/schemas/AgentPart" }, { "$ref": "#/components/schemas/RetryPart" }, { "$ref": "#/components/schemas/CompactionPart" } ] }, "message.part.updated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "message.part.updated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "part": { "$ref": "#/components/schemas/Part" }, "time": { "type": "number" } }, "required": [ "sessionID", "part", "time" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "message.part.removed": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "message.part.removed" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "partID": { "type": "string", "allOf": [ { "pattern": "^prt" } ] } }, "required": [ "sessionID", "messageID", "partID" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.execution.settled": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.execution.settled" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "outcome": { "type": "string", "enum": [ "success", "failure", "interrupted" ] }, "error": { "$ref": "#/components/schemas/Session.Error.Unknown" } }, "required": [ "timestamp", "sessionID", "outcome" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.text.delta": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.text.delta" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "assistantMessageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "textID": { "type": "string" }, "delta": { "type": "string" } }, "required": [ "timestamp", "sessionID", "assistantMessageID", "textID", "delta" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.reasoning.delta": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.reasoning.delta" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "assistantMessageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "reasoningID": { "type": "string" }, "delta": { "type": "string" } }, "required": [ "timestamp", "sessionID", "assistantMessageID", "reasoningID", "delta" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.tool.input.delta": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.tool.input.delta" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "assistantMessageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "callID": { "type": "string" }, "delta": { "type": "string" } }, "required": [ "timestamp", "sessionID", "assistantMessageID", "callID", "delta" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.next.compaction.delta": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.next.compaction.delta" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "timestamp": { "type": "number" }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "messageID": { "type": "string", "allOf": [ { "pattern": "^msg_" } ] }, "text": { "type": "string" } }, "required": [ "timestamp", "sessionID", "messageID", "text" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "file.edited": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "file.edited" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "file": { "type": "string" } }, "required": [ "file" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "reference.updated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "reference.updated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "anyOf": [ { "type": "object" }, { "type": "array" } ] } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "permission.v2.asked": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "permission.v2.asked" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^per" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "action": { "type": "string" }, "resources": { "type": "array", "items": { "type": "string" } }, "save": { "type": "array", "items": { "type": "string" } }, "metadata": { "type": "object" }, "source": { "$ref": "#/components/schemas/PermissionV2.Source" } }, "required": [ "id", "sessionID", "action", "resources" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "permission.v2.replied": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "permission.v2.replied" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "requestID": { "type": "string", "allOf": [ { "pattern": "^per" } ] }, "reply": { "$ref": "#/components/schemas/PermissionV2.Reply" } }, "required": [ "sessionID", "requestID", "reply" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "plugin.added": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "plugin.added" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "id": { "type": "string" } }, "required": [ "id" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "project.directories.updated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "project.directories.updated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "projectID": { "type": "string" } }, "required": [ "projectID" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "command.updated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "command.updated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "anyOf": [ { "type": "object" }, { "type": "array" } ] } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "skill.updated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "skill.updated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "anyOf": [ { "type": "object" }, { "type": "array" } ] } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "file.watcher.updated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "file.watcher.updated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "file": { "type": "string" }, "event": { "type": "string", "enum": [ "add", "change", "unlink" ] } }, "required": [ "file", "event" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "Pty": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^pty" } ] }, "title": { "type": "string" }, "command": { "type": "string" }, "args": { "type": "array", "items": { "type": "string" } }, "cwd": { "type": "string" }, "status": { "type": "string", "enum": [ "running", "exited" ] }, "pid": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "exitCode": { "type": "integer", "allOf": [ { "minimum": 0 } ] } }, "required": [ "id", "title", "command", "args", "cwd", "status", "pid" ], "additionalProperties": false }, "pty.created": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "pty.created" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "info": { "$ref": "#/components/schemas/Pty" } }, "required": [ "info" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "pty.updated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "pty.updated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "info": { "$ref": "#/components/schemas/Pty" } }, "required": [ "info" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "pty.exited": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "pty.exited" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^pty" } ] }, "exitCode": { "type": "integer", "allOf": [ { "minimum": 0 } ] } }, "required": [ "id", "exitCode" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "pty.deleted": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "pty.deleted" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^pty" } ] } }, "required": [ "id" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "Shell": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^sh_" } ] }, "status": { "type": "string", "enum": [ "running", "exited", "timeout", "killed" ] }, "command": { "type": "string" }, "cwd": { "type": "string" }, "shell": { "type": "string" }, "file": { "type": "string" }, "pid": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "exit": { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, "metadata": { "type": "object" }, "time": { "type": "object", "properties": { "started": { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, "completed": { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] } }, "required": [ "started" ], "additionalProperties": false } }, "required": [ "id", "status", "command", "cwd", "shell", "file", "metadata", "time" ], "additionalProperties": false }, "shell.created": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "shell.created" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "info": { "$ref": "#/components/schemas/Shell" } }, "required": [ "info" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "shell.exited": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "shell.exited" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^sh_" } ] }, "exit": { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, "status": { "type": "string", "enum": [ "running", "exited", "timeout", "killed" ] } }, "required": [ "id", "status" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "shell.deleted": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "shell.deleted" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^sh_" } ] } }, "required": [ "id" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "QuestionV2.Option": { "type": "object", "properties": { "label": { "type": "string", "description": "Display text (1-5 words, concise)" }, "description": { "type": "string", "description": "Explanation of choice" } }, "required": [ "label", "description" ], "additionalProperties": false }, "QuestionV2.Info": { "type": "object", "properties": { "question": { "type": "string", "description": "Complete question" }, "header": { "type": "string", "description": "Very short label (max 30 chars)" }, "options": { "type": "array", "items": { "$ref": "#/components/schemas/QuestionV2.Option" }, "description": "Available choices" }, "multiple": { "type": "boolean" }, "custom": { "type": "boolean" } }, "required": [ "question", "header", "options" ], "additionalProperties": false }, "QuestionV2.Tool": { "type": "object", "properties": { "messageID": { "type": "string" }, "callID": { "type": "string" } }, "required": [ "messageID", "callID" ], "additionalProperties": false }, "question.v2.asked": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "question.v2.asked" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^que" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "questions": { "type": "array", "items": { "$ref": "#/components/schemas/QuestionV2.Info" }, "description": "Questions to ask" }, "tool": { "$ref": "#/components/schemas/QuestionV2.Tool" } }, "required": [ "id", "sessionID", "questions" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "QuestionV2.Answer": { "type": "array", "items": { "type": "string" } }, "question.v2.replied": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "question.v2.replied" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "requestID": { "type": "string", "allOf": [ { "pattern": "^que" } ] }, "answers": { "type": "array", "items": { "$ref": "#/components/schemas/QuestionV2.Answer" } } }, "required": [ "sessionID", "requestID", "answers" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "question.v2.rejected": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "question.v2.rejected" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "requestID": { "type": "string", "allOf": [ { "pattern": "^que" } ] } }, "required": [ "sessionID", "requestID" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "Form.Metadata1": { "type": "object" }, "Form.When1": { "type": "object", "properties": { "key": { "type": "string" }, "op": { "type": "string", "enum": [ "eq", "neq" ] }, "value": { "anyOf": [ { "type": "string" }, { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "boolean" } ] } }, "required": [ "key", "op", "value" ], "additionalProperties": false }, "Form.StringField1": { "type": "object", "properties": { "key": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "required": { "type": "boolean" }, "when": { "type": "array", "items": { "$ref": "#/components/schemas/Form.When1" } }, "type": { "type": "string", "enum": [ "string" ] }, "format": { "type": "string", "enum": [ "email", "uri", "date", "date-time" ] }, "minLength": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "maxLength": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "pattern": { "type": "string" }, "placeholder": { "type": "string" }, "default": { "type": "string" }, "options": { "type": "array", "items": { "$ref": "#/components/schemas/Form.Option" } }, "custom": { "type": "boolean" } }, "required": [ "key", "type" ], "additionalProperties": false }, "Form.NumberField1": { "type": "object", "properties": { "key": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "required": { "type": "boolean" }, "when": { "type": "array", "items": { "$ref": "#/components/schemas/Form.When1" } }, "type": { "type": "string", "enum": [ "number" ] }, "minimum": { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, "maximum": { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, "default": { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] } }, "required": [ "key", "type" ], "additionalProperties": false }, "Form.IntegerField1": { "type": "object", "properties": { "key": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "required": { "type": "boolean" }, "when": { "type": "array", "items": { "$ref": "#/components/schemas/Form.When1" } }, "type": { "type": "string", "enum": [ "integer" ] }, "minimum": { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, "maximum": { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, "default": { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] } }, "required": [ "key", "type" ], "additionalProperties": false }, "Form.BooleanField1": { "type": "object", "properties": { "key": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "required": { "type": "boolean" }, "when": { "type": "array", "items": { "$ref": "#/components/schemas/Form.When1" } }, "type": { "type": "string", "enum": [ "boolean" ] }, "default": { "type": "boolean" } }, "required": [ "key", "type" ], "additionalProperties": false }, "Form.MultiselectField1": { "type": "object", "properties": { "key": { "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "required": { "type": "boolean" }, "when": { "type": "array", "items": { "$ref": "#/components/schemas/Form.When1" } }, "type": { "type": "string", "enum": [ "multiselect" ] }, "options": { "type": "array", "items": { "$ref": "#/components/schemas/Form.Option" } }, "minItems": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "maxItems": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "custom": { "type": "boolean" }, "default": { "type": "array", "items": { "type": "string" } } }, "required": [ "key", "type", "options" ], "additionalProperties": false }, "Form.FormInfo1": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^frm_" } ] }, "sessionID": { "type": "string" }, "title": { "type": "string" }, "metadata": { "$ref": "#/components/schemas/Form.Metadata1" }, "mode": { "type": "string", "enum": [ "form" ] }, "fields": { "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/Form.StringField1" }, { "$ref": "#/components/schemas/Form.NumberField1" }, { "$ref": "#/components/schemas/Form.IntegerField1" }, { "$ref": "#/components/schemas/Form.BooleanField1" }, { "$ref": "#/components/schemas/Form.MultiselectField1" } ] } } }, "required": [ "id", "sessionID", "mode", "fields" ], "additionalProperties": false }, "Form.UrlInfo1": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^frm_" } ] }, "sessionID": { "type": "string" }, "title": { "type": "string" }, "metadata": { "$ref": "#/components/schemas/Form.Metadata1" }, "mode": { "type": "string", "enum": [ "url" ] }, "url": { "type": "string" } }, "required": [ "id", "sessionID", "mode", "url" ], "additionalProperties": false }, "form.created": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "form.created" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "form": { "anyOf": [ { "$ref": "#/components/schemas/Form.FormInfo1" }, { "$ref": "#/components/schemas/Form.UrlInfo1" } ] } }, "required": [ "form" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "Form.Value1": { "anyOf": [ { "type": "string" }, { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "boolean" }, { "type": "array", "items": { "type": "string" } } ] }, "Form.Answer1": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/Form.Value1" } }, "form.replied": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "form.replied" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^frm_" } ] }, "sessionID": { "type": "string" }, "answer": { "$ref": "#/components/schemas/Form.Answer1" } }, "required": [ "id", "sessionID", "answer" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "form.cancelled": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "form.cancelled" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^frm_" } ] }, "sessionID": { "type": "string" } }, "required": [ "id", "sessionID" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "Todo": { "type": "object", "properties": { "content": { "type": "string", "description": "Brief description of the task" }, "status": { "type": "string", "description": "Current status of the task: pending, in_progress, completed, cancelled" }, "priority": { "type": "string", "description": "Priority level of the task: high, medium, low" } }, "required": [ "content", "status", "priority" ], "additionalProperties": false }, "todo.updated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "todo.updated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "todos": { "type": "array", "items": { "$ref": "#/components/schemas/Todo" } } }, "required": [ "sessionID", "todos" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "SessionStatus": { "anyOf": [ { "type": "object", "properties": { "type": { "type": "string", "enum": [ "idle" ] } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "retry" ] }, "attempt": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "message": { "type": "string" }, "action": { "type": "object", "properties": { "reason": { "type": "string" }, "provider": { "type": "string" }, "title": { "type": "string" }, "message": { "type": "string" }, "label": { "type": "string" }, "link": { "type": "string" } }, "required": [ "reason", "provider", "title", "message", "label" ], "additionalProperties": false }, "next": { "type": "integer", "allOf": [ { "minimum": 0 } ] } }, "required": [ "type", "attempt", "message", "next" ], "additionalProperties": false }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "busy" ] } }, "required": [ "type" ], "additionalProperties": false } ] }, "session.status": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.status" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "status": { "$ref": "#/components/schemas/SessionStatus" } }, "required": [ "sessionID", "status" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.idle": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.idle" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] } }, "required": [ "sessionID" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "tui.prompt.append": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "tui.prompt.append" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "text": { "type": "string" } }, "required": [ "text" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "tui.command.execute": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "tui.command.execute" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "command": { "anyOf": [ { "type": "string", "enum": [ "session.list", "session.new", "session.share", "session.interrupt", "session.background", "session.compact", "session.page.up", "session.page.down", "session.line.up", "session.line.down", "session.half.page.up", "session.half.page.down", "session.first", "session.last", "prompt.clear", "prompt.submit", "agent.cycle" ] }, { "type": "string" } ] } }, "required": [ "command" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "tui.toast.show": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "tui.toast.show" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "title": { "type": "string" }, "message": { "type": "string" }, "variant": { "type": "string", "enum": [ "info", "success", "warning", "error" ] }, "duration": { "anyOf": [ { "type": "integer", "allOf": [ { "exclusiveMinimum": 0 } ] }, { "type": "null" } ] } }, "required": [ "message", "variant" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "tui.session.select": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "tui.session.select" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses", "description": "Session ID to navigate to" } ] } }, "required": [ "sessionID" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "installation.updated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "installation.updated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "version": { "type": "string" } }, "required": [ "version" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "installation.update-available": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "installation.update-available" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "version": { "type": "string" } }, "required": [ "version" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "vcs.branch.updated": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "vcs.branch.updated" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "branch": { "type": "string" } }, "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "mcp.status.changed": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "mcp.status.changed" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "server": { "type": "string" } }, "required": [ "server" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "permission.asked": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "permission.asked" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^per" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "permission": { "type": "string" }, "patterns": { "type": "array", "items": { "type": "string" } }, "metadata": { "type": "object" }, "always": { "type": "array", "items": { "type": "string" } }, "tool": { "anyOf": [ { "type": "object", "properties": { "messageID": { "type": "string" }, "callID": { "type": "string" } }, "required": [ "messageID", "callID" ], "additionalProperties": false }, { "type": "null" } ] } }, "required": [ "id", "sessionID", "permission", "patterns", "metadata", "always" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "permission.replied": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "permission.replied" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "requestID": { "type": "string", "allOf": [ { "pattern": "^per" } ] }, "reply": { "type": "string", "enum": [ "once", "always", "reject" ] } }, "required": [ "sessionID", "requestID", "reply" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "QuestionOption": { "type": "object", "properties": { "label": { "type": "string", "description": "Display text (1-5 words, concise)" }, "description": { "type": "string", "description": "Explanation of choice" } }, "required": [ "label", "description" ], "additionalProperties": false }, "QuestionInfo": { "type": "object", "properties": { "question": { "type": "string", "description": "Complete question" }, "header": { "type": "string", "description": "Very short label (max 30 chars)" }, "options": { "type": "array", "items": { "$ref": "#/components/schemas/QuestionOption" }, "description": "Available choices" }, "multiple": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Allow selecting multiple choices" }, "custom": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Allow typing a custom answer (default: true)" } }, "required": [ "question", "header", "options" ], "additionalProperties": false }, "QuestionTool": { "type": "object", "properties": { "messageID": { "type": "string", "allOf": [ { "pattern": "^msg" } ] }, "callID": { "type": "string" } }, "required": [ "messageID", "callID" ], "additionalProperties": false }, "question.asked": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "question.asked" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^que" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "questions": { "type": "array", "items": { "$ref": "#/components/schemas/QuestionInfo" }, "description": "Questions to ask" }, "tool": { "anyOf": [ { "$ref": "#/components/schemas/QuestionTool" }, { "type": "null" } ] } }, "required": [ "id", "sessionID", "questions" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "QuestionAnswer": { "type": "array", "items": { "type": "string" } }, "question.replied": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "question.replied" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "requestID": { "type": "string", "allOf": [ { "pattern": "^que" } ] }, "answers": { "type": "array", "items": { "$ref": "#/components/schemas/QuestionAnswer" } } }, "required": [ "sessionID", "requestID", "answers" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "question.rejected": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "question.rejected" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "requestID": { "type": "string", "allOf": [ { "pattern": "^que" } ] } }, "required": [ "sessionID", "requestID" ], "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "session.error": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "type": "object" }, "type": { "type": "string", "enum": [ "session.error" ] }, "durable": { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, "location": { "$ref": "#/components/schemas/Location.Ref" }, "data": { "type": "object", "properties": { "sessionID": { "anyOf": [ { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, { "type": "null" } ] }, "error": { "anyOf": [ { "anyOf": [ { "$ref": "#/components/schemas/ProviderAuthError" }, { "$ref": "#/components/schemas/UnknownError1" }, { "$ref": "#/components/schemas/MessageOutputLengthError" }, { "$ref": "#/components/schemas/MessageAbortedError" }, { "$ref": "#/components/schemas/StructuredOutputError" }, { "$ref": "#/components/schemas/ContextOverflowError" }, { "$ref": "#/components/schemas/ContentFilterError" }, { "$ref": "#/components/schemas/APIError" } ] }, { "type": "null" } ] } }, "additionalProperties": false } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "V2Event.server.connected": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^evt_" } ] }, "metadata": { "anyOf": [ { "type": "object" }, { "type": "null" } ] }, "durable": { "anyOf": [ { "type": "object", "properties": { "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "version": { "type": "integer", "allOf": [ { "minimum": 1 } ] } }, "required": [ "aggregateID", "seq", "version" ], "additionalProperties": false }, { "type": "null" } ] }, "location": { "anyOf": [ { "$ref": "#/components/schemas/Location.Ref" }, { "type": "null" } ] }, "type": { "type": "string", "enum": [ "server.connected" ] }, "data": { "anyOf": [ { "type": "object" }, { "type": "array" } ] } }, "required": [ "id", "type", "data" ], "additionalProperties": false }, "V2Event": { "anyOf": [ { "$ref": "#/components/schemas/models-dev.refreshed" }, { "$ref": "#/components/schemas/integration.updated" }, { "$ref": "#/components/schemas/integration.connection.updated" }, { "$ref": "#/components/schemas/catalog.updated" }, { "$ref": "#/components/schemas/agent.updated" }, { "$ref": "#/components/schemas/session.created" }, { "$ref": "#/components/schemas/session.updated" }, { "$ref": "#/components/schemas/session.deleted" }, { "$ref": "#/components/schemas/message.updated" }, { "$ref": "#/components/schemas/message.removed" }, { "$ref": "#/components/schemas/message.part.updated" }, { "$ref": "#/components/schemas/message.part.removed" }, { "$ref": "#/components/schemas/session.next.agent.switched" }, { "$ref": "#/components/schemas/session.next.model.switched" }, { "$ref": "#/components/schemas/session.next.moved" }, { "$ref": "#/components/schemas/session.next.renamed" }, { "$ref": "#/components/schemas/session.next.forked" }, { "$ref": "#/components/schemas/session.next.prompted" }, { "$ref": "#/components/schemas/session.next.prompt.admitted" }, { "$ref": "#/components/schemas/session.next.execution.settled" }, { "$ref": "#/components/schemas/session.next.context.updated" }, { "$ref": "#/components/schemas/session.next.synthetic" }, { "$ref": "#/components/schemas/session.next.skill.activated" }, { "$ref": "#/components/schemas/session.next.shell.started" }, { "$ref": "#/components/schemas/session.next.shell.ended" }, { "$ref": "#/components/schemas/session.next.step.started" }, { "$ref": "#/components/schemas/session.next.step.ended" }, { "$ref": "#/components/schemas/session.next.step.failed" }, { "$ref": "#/components/schemas/session.next.text.started" }, { "$ref": "#/components/schemas/session.next.text.delta" }, { "$ref": "#/components/schemas/session.next.text.ended" }, { "$ref": "#/components/schemas/session.next.reasoning.started" }, { "$ref": "#/components/schemas/session.next.reasoning.delta" }, { "$ref": "#/components/schemas/session.next.reasoning.ended" }, { "$ref": "#/components/schemas/session.next.tool.input.started" }, { "$ref": "#/components/schemas/session.next.tool.input.delta" }, { "$ref": "#/components/schemas/session.next.tool.input.ended" }, { "$ref": "#/components/schemas/session.next.tool.called" }, { "$ref": "#/components/schemas/session.next.tool.progress" }, { "$ref": "#/components/schemas/session.next.tool.success" }, { "$ref": "#/components/schemas/session.next.tool.failed" }, { "$ref": "#/components/schemas/session.next.retried" }, { "$ref": "#/components/schemas/session.next.compaction.started" }, { "$ref": "#/components/schemas/session.next.compaction.delta" }, { "$ref": "#/components/schemas/session.next.compaction.ended" }, { "$ref": "#/components/schemas/session.next.revert.staged" }, { "$ref": "#/components/schemas/session.next.revert.cleared" }, { "$ref": "#/components/schemas/session.next.revert.committed" }, { "$ref": "#/components/schemas/file.edited" }, { "$ref": "#/components/schemas/reference.updated" }, { "$ref": "#/components/schemas/permission.v2.asked" }, { "$ref": "#/components/schemas/permission.v2.replied" }, { "$ref": "#/components/schemas/plugin.added" }, { "$ref": "#/components/schemas/project.directories.updated" }, { "$ref": "#/components/schemas/command.updated" }, { "$ref": "#/components/schemas/skill.updated" }, { "$ref": "#/components/schemas/file.watcher.updated" }, { "$ref": "#/components/schemas/pty.created" }, { "$ref": "#/components/schemas/pty.updated" }, { "$ref": "#/components/schemas/pty.exited" }, { "$ref": "#/components/schemas/pty.deleted" }, { "$ref": "#/components/schemas/shell.created" }, { "$ref": "#/components/schemas/shell.exited" }, { "$ref": "#/components/schemas/shell.deleted" }, { "$ref": "#/components/schemas/question.v2.asked" }, { "$ref": "#/components/schemas/question.v2.replied" }, { "$ref": "#/components/schemas/question.v2.rejected" }, { "$ref": "#/components/schemas/form.created" }, { "$ref": "#/components/schemas/form.replied" }, { "$ref": "#/components/schemas/form.cancelled" }, { "$ref": "#/components/schemas/todo.updated" }, { "$ref": "#/components/schemas/session.status" }, { "$ref": "#/components/schemas/session.idle" }, { "$ref": "#/components/schemas/tui.prompt.append" }, { "$ref": "#/components/schemas/tui.command.execute" }, { "$ref": "#/components/schemas/tui.toast.show" }, { "$ref": "#/components/schemas/tui.session.select" }, { "$ref": "#/components/schemas/installation.updated" }, { "$ref": "#/components/schemas/installation.update-available" }, { "$ref": "#/components/schemas/vcs.branch.updated" }, { "$ref": "#/components/schemas/mcp.status.changed" }, { "$ref": "#/components/schemas/permission.asked" }, { "$ref": "#/components/schemas/permission.replied" }, { "$ref": "#/components/schemas/question.asked" }, { "$ref": "#/components/schemas/question.replied" }, { "$ref": "#/components/schemas/question.rejected" }, { "$ref": "#/components/schemas/session.error" }, { "$ref": "#/components/schemas/V2Event.server.connected" } ] }, "V2EventStream": { "type": "string", "contentSchema": { "$ref": "#/components/schemas/V2Event" }, "contentMediaType": "application/json" }, "EventLog.Hint": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "log.hint" ] }, "aggregateID": { "type": "string" }, "seq": { "type": "integer", "allOf": [ { "minimum": 0 } ] } }, "required": [ "type", "aggregateID", "seq" ], "additionalProperties": false, "description": "Payload-free change hint: the aggregate's durable log advanced to at least seq. Hints coalesce under backpressure (latest per aggregate) and are never a delivery guarantee." }, "EventLog.SweepRequired": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "log.sweep_required" ] } }, "required": [ "type" ], "additionalProperties": false, "description": "Hints may have been lost; treat every aggregate as potentially dirty and recover via bounded sweep plus durable log reads. Emitted first on every (re)subscribe." }, "EventLog.Change": { "anyOf": [ { "$ref": "#/components/schemas/EventLog.Hint" }, { "$ref": "#/components/schemas/EventLog.SweepRequired" } ] }, "EventLog.ChangeStream": { "type": "string", "contentSchema": { "$ref": "#/components/schemas/EventLog.Change" }, "contentMediaType": "application/json" }, "PtyNotFoundError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "PtyNotFoundError" ] }, "ptyID": { "type": "string" }, "message": { "type": "string" } }, "required": [ "_tag", "ptyID", "message" ], "additionalProperties": false }, "PtyTicket.ConnectToken": { "type": "object", "properties": { "ticket": { "type": "string" }, "expires_in": { "type": "integer", "allOf": [ { "exclusiveMinimum": 0 } ] } }, "required": [ "ticket", "expires_in" ], "additionalProperties": false }, "ForbiddenError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "ForbiddenError" ] }, "message": { "type": "string" } }, "required": [ "_tag", "message" ], "additionalProperties": false }, "Shell1": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^sh_" } ] }, "status": { "type": "string", "enum": [ "running", "exited", "timeout", "killed" ] }, "command": { "type": "string" }, "cwd": { "type": "string" }, "shell": { "type": "string" }, "file": { "type": "string" }, "pid": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "exit": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] }, "metadata": { "type": "object" }, "time": { "type": "object", "properties": { "started": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] }, "completed": { "anyOf": [ { "anyOf": [ { "type": "number" }, { "type": "string", "enum": [ "NaN" ] }, { "type": "string", "enum": [ "Infinity" ] }, { "type": "string", "enum": [ "-Infinity" ] } ] }, { "type": "string", "enum": [ "Infinity", "-Infinity", "NaN" ] } ] } }, "required": [ "started" ], "additionalProperties": false } }, "required": [ "id", "status", "command", "cwd", "shell", "file", "metadata", "time" ], "additionalProperties": false }, "ShellNotFoundError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "ShellNotFoundError" ] }, "id": { "type": "string" }, "message": { "type": "string" } }, "required": [ "_tag", "id", "message" ], "additionalProperties": false }, "QuestionV2.Request": { "type": "object", "properties": { "id": { "type": "string", "allOf": [ { "pattern": "^que" } ] }, "sessionID": { "type": "string", "allOf": [ { "pattern": "^ses" } ] }, "questions": { "type": "array", "items": { "$ref": "#/components/schemas/QuestionV2.Info" }, "description": "Questions to ask" }, "tool": { "$ref": "#/components/schemas/QuestionV2.Tool" } }, "required": [ "id", "sessionID", "questions" ], "additionalProperties": false }, "QuestionV2.Reply": { "type": "object", "properties": { "answers": { "type": "array", "items": { "$ref": "#/components/schemas/QuestionV2.Answer" }, "description": "User answers in order of questions (each answer is an array of selected labels)" } }, "required": [ "answers" ], "additionalProperties": false }, "QuestionNotFoundError": { "type": "object", "properties": { "_tag": { "type": "string", "enum": [ "QuestionNotFoundError" ] }, "requestID": { "type": "string" }, "message": { "type": "string" } }, "required": [ "_tag", "requestID", "message" ], "additionalProperties": false }, "Reference.LocalSource": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "local" ] }, "path": { "type": "string" }, "description": { "type": "string" }, "hidden": { "type": "boolean" } }, "required": [ "type", "path" ], "additionalProperties": false }, "Reference.GitSource": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "git" ] }, "repository": { "type": "string" }, "branch": { "type": "string" }, "description": { "type": "string" }, "hidden": { "type": "boolean" } }, "required": [ "type", "repository" ], "additionalProperties": false }, "Reference.Source": { "anyOf": [ { "$ref": "#/components/schemas/Reference.LocalSource" }, { "$ref": "#/components/schemas/Reference.GitSource" } ] }, "Reference.Info": { "type": "object", "properties": { "name": { "type": "string" }, "path": { "type": "string" }, "description": { "type": "string" }, "hidden": { "type": "boolean" }, "source": { "$ref": "#/components/schemas/Reference.Source" } }, "required": [ "name", "path", "source" ], "additionalProperties": false }, "ProjectCopy.Copy": { "type": "object", "properties": { "directory": { "type": "string" } }, "required": [ "directory" ], "additionalProperties": false }, "ProjectCopyError": { "type": "object", "properties": { "name": { "type": "string", "enum": [ "ProjectCopyError" ] }, "data": { "type": "object", "properties": { "message": { "type": "string" }, "forceRequired": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ] } }, "required": [ "message" ], "additionalProperties": false } }, "required": [ "name", "data" ], "additionalProperties": false }, "Vcs.FileStatus": { "type": "object", "properties": { "file": { "type": "string" }, "additions": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "deletions": { "type": "integer", "allOf": [ { "minimum": 0 } ] }, "status": { "type": "string", "enum": [ "added", "deleted", "modified" ] } }, "required": [ "file", "additions", "deletions", "status" ], "additionalProperties": false }, "Vcs.Mode": { "type": "string", "enum": [ "working", "branch" ] } }, "securitySchemes": {} }, "security": [], "tags": [ { "name": "server.health" }, { "name": "server.location" }, { "name": "server.agent" }, { "name": "plugins", "description": "Experimental plugin routes." }, { "name": "sessions", "description": "Experimental session routes." }, { "name": "messages", "description": "Experimental message routes." }, { "name": "models", "description": "Experimental model routes." }, { "name": "generate", "description": "Experimental one-shot generation routes." }, { "name": "providers", "description": "Experimental provider routes." }, { "name": "integrations", "description": "Integration discovery and authentication routes." }, { "name": "mcp", "description": "MCP server status routes." }, { "name": "server.credential" }, { "name": "projects", "description": "Location-scoped project routes." }, { "name": "forms", "description": "Session form routes." }, { "name": "permissions", "description": "Experimental permission routes." }, { "name": "filesystem", "description": "Experimental location-scoped filesystem routes." }, { "name": "commands", "description": "Experimental command routes." }, { "name": "skills", "description": "Experimental skill routes." }, { "name": "events", "description": "Experimental event stream routes." }, { "name": "pty", "description": "Experimental location-scoped PTY routes." }, { "name": "shell", "description": "Experimental location-scoped shell command routes." }, { "name": "session questions", "description": "Experimental session question routes." }, { "name": "reference", "description": "Location-scoped project references." }, { "name": "projectCopy", "description": "Project copy management routes." }, { "name": "vcs", "description": "Location-scoped version control routes." } ] }