{ "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." } ] }