{
"openapi": "3.1.0",
"info": {
"title": "opencode",
"version": "1.0.0",
"description": "opencode api"
},
"paths": {
"/auth/{providerID}": {
"put": {
"tags": ["control"],
"operationId": "auth.set",
"parameters": [
{
"name": "providerID",
"in": "path",
"schema": { "type": "string" },
"required": true
}
],
"responses": {
"200": {
"description": "Successfully set authentication credentials",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Successfully set authentication credentials"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Set authentication credentials",
"summary": "Set auth credentials",
"requestBody": {
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Auth" }
}
}
}
},
"delete": {
"tags": ["control"],
"operationId": "auth.remove",
"parameters": [
{
"name": "providerID",
"in": "path",
"schema": { "type": "string" },
"required": true
}
],
"responses": {
"200": {
"description": "Successfully removed authentication credentials",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Successfully removed authentication credentials"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Remove authentication credentials",
"summary": "Remove auth credentials"
}
},
"/log": {
"post": {
"tags": ["control"],
"operationId": "app.log",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Log entry written successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Log entry written successfully"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Write a log entry to the server logs with specified level and metadata.",
"summary": "Write log",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"service": {
"type": "string",
"description": "Service name for the log entry"
},
"level": {
"type": "string",
"enum": ["debug", "info", "error", "warn"],
"description": "Log level"
},
"message": { "type": "string", "description": "Log message" },
"extra": { "type": "object" }
},
"required": ["service", "level", "message"],
"additionalProperties": false
}
}
}
}
}
},
"/global/health": {
"get": {
"tags": ["global"],
"operationId": "global.health",
"parameters": [],
"responses": {
"200": {
"description": "Health information",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"healthy": { "type": "boolean", "enum": [true] },
"version": { "type": "string" }
},
"required": ["healthy", "version"],
"additionalProperties": false,
"description": "Health information"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get health information about the OpenCode server.",
"summary": "Get health"
}
},
"/global/event": {
"get": {
"tags": ["global"],
"operationId": "global.event",
"parameters": [],
"responses": {
"200": {
"description": "Event stream",
"content": {
"text/event-stream": {
"schema": { "$ref": "#/components/schemas/GlobalEvent" }
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Subscribe to global events from the OpenCode system using server-sent events.",
"summary": "Get global events"
}
},
"/global/config": {
"get": {
"tags": ["global"],
"operationId": "global.config.get",
"parameters": [],
"responses": {
"200": {
"description": "Get global config info",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Config" }
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Retrieve the current global OpenCode configuration settings and preferences.",
"summary": "Get global configuration"
},
"patch": {
"tags": ["global"],
"operationId": "global.config.update",
"parameters": [],
"responses": {
"200": {
"description": "Successfully updated global config",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Config" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Update global OpenCode configuration settings and preferences.",
"summary": "Update global configuration",
"requestBody": {
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Config" }
}
}
}
}
},
"/global/dispose": {
"post": {
"tags": ["global"],
"operationId": "global.dispose",
"parameters": [],
"responses": {
"200": {
"description": "Global disposed",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Global disposed"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Clean up and dispose all OpenCode instances, releasing all resources.",
"summary": "Dispose instance"
}
},
"/global/upgrade": {
"post": {
"tags": ["global"],
"operationId": "global.upgrade",
"parameters": [],
"responses": {
"200": {
"description": "Upgrade result",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"type": "object",
"properties": {
"success": { "type": "boolean", "enum": [true] },
"version": { "type": "string" }
},
"required": ["success", "version"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"success": { "type": "boolean", "enum": [false] },
"error": { "type": "string" }
},
"required": ["success", "error"],
"additionalProperties": false
}
],
"description": "Upgrade result"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Upgrade opencode to the specified version or latest if not specified.",
"summary": "Upgrade opencode",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": { "target": { "type": "string" } },
"additionalProperties": false
}
}
}
}
}
},
"/event": {
"get": {
"tags": ["event"],
"operationId": "event.subscribe",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Event stream",
"content": {
"text/event-stream": {
"schema": { "$ref": "#/components/schemas/Event" }
}
}
}
},
"description": "Get events",
"summary": "Subscribe to events"
}
},
"/config": {
"get": {
"tags": ["config"],
"operationId": "config.get",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Get config info",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Config" }
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Retrieve the current OpenCode configuration settings and preferences.",
"summary": "Get configuration"
},
"patch": {
"tags": ["config"],
"operationId": "config.update",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Successfully updated config",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Config" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Update OpenCode configuration settings and preferences.",
"summary": "Update configuration",
"requestBody": {
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Config" }
}
}
}
}
},
"/config/providers": {
"get": {
"tags": ["config"],
"operationId": "config.providers",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "List of providers",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"providers": {
"type": "array",
"items": { "$ref": "#/components/schemas/Provider" }
},
"default": {
"type": "object",
"additionalProperties": { "type": "string" }
}
},
"required": ["providers", "default"],
"additionalProperties": false,
"description": "List of providers"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get a list of all configured AI providers and their default models.",
"summary": "List config providers"
}
},
"/experimental/console": {
"get": {
"tags": ["experimental"],
"operationId": "experimental.console.get",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Active Console provider metadata",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/ConsoleState" }
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
},
"500": {
"description": "InternalServerError",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/effect_HttpApiError_InternalServerError"
}
}
}
}
},
"description": "Get the active Console org name and the set of provider IDs managed by that Console org.",
"summary": "Get active Console provider metadata"
}
},
"/experimental/console/orgs": {
"get": {
"tags": ["experimental"],
"operationId": "experimental.console.listOrgs",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Switchable Console orgs",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"orgs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"accountID": { "type": "string" },
"accountEmail": { "type": "string" },
"accountUrl": { "type": "string" },
"orgID": { "type": "string" },
"orgName": { "type": "string" },
"active": { "type": "boolean" }
},
"required": [
"accountID",
"accountEmail",
"accountUrl",
"orgID",
"orgName",
"active"
],
"additionalProperties": false
}
}
},
"required": ["orgs"],
"additionalProperties": false,
"description": "Switchable Console orgs"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
},
"500": {
"description": "InternalServerError",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/effect_HttpApiError_InternalServerError"
}
}
}
}
},
"description": "Get the available Console orgs across logged-in accounts, including the current active org.",
"summary": "List switchable Console orgs"
}
},
"/experimental/console/switch": {
"post": {
"tags": ["experimental"],
"operationId": "experimental.console.switchOrg",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Switch success",
"content": {
"application/json": {
"schema": { "type": "boolean", "description": "Switch success" }
}
}
}
},
"description": "Persist a new active Console account/org selection for the current local OpenCode state.",
"summary": "Switch active Console org",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"accountID": { "type": "string" },
"orgID": { "type": "string" }
},
"required": ["accountID", "orgID"],
"additionalProperties": false
}
}
}
}
}
},
"/experimental/tool": {
"get": {
"tags": ["experimental"],
"operationId": "tool.list",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "provider",
"in": "query",
"schema": { "type": "string" },
"required": true
},
{
"name": "model",
"in": "query",
"schema": { "type": "string" },
"required": true
}
],
"responses": {
"200": {
"description": "Tools",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/ToolList" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Get a list of available tools with their JSON schema parameters for a specific provider and model combination.",
"summary": "List tools"
}
},
"/experimental/tool/ids": {
"get": {
"tags": ["experimental"],
"operationId": "tool.ids",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Tool IDs",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/ToolIDs" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Get a list of all available tool IDs, including both built-in tools and dynamically registered tools.",
"summary": "List tool IDs"
}
},
"/experimental/worktree": {
"get": {
"tags": ["experimental"],
"operationId": "worktree.list",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "List of worktree directories",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "type": "string" },
"description": "List of worktree directories"
}
}
}
},
"400": {
"description": "WorktreeError | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{ "$ref": "#/components/schemas/WorktreeError" },
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "List all sandbox worktrees for the current project.",
"summary": "List worktrees"
},
"post": {
"tags": ["experimental"],
"operationId": "worktree.create",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Worktree created",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Worktree" }
}
}
},
"400": {
"description": "WorktreeError | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{ "$ref": "#/components/schemas/WorktreeError" },
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Create a new git worktree for the current project and run any configured startup scripts.",
"summary": "Create worktree",
"requestBody": {
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/WorktreeCreateInput" }
}
}
}
},
"delete": {
"tags": ["experimental"],
"operationId": "worktree.remove",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Worktree removed",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Worktree removed"
}
}
}
},
"400": {
"description": "WorktreeError | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{ "$ref": "#/components/schemas/WorktreeError" },
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Remove a git worktree and delete its branch.",
"summary": "Remove worktree",
"requestBody": {
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/WorktreeRemoveInput" }
}
}
}
}
},
"/experimental/worktree/reset": {
"post": {
"tags": ["experimental"],
"operationId": "worktree.reset",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Worktree reset",
"content": {
"application/json": {
"schema": { "type": "boolean", "description": "Worktree reset" }
}
}
},
"400": {
"description": "WorktreeError | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{ "$ref": "#/components/schemas/WorktreeError" },
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Reset a worktree branch to the primary default branch.",
"summary": "Reset worktree",
"requestBody": {
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/WorktreeResetInput" }
}
}
}
}
},
"/experimental/session": {
"get": {
"tags": ["experimental"],
"operationId": "experimental.session.list",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "roots",
"in": "query",
"schema": {
"anyOf": [
{ "type": "boolean" },
{ "type": "string", "enum": ["true", "false"] }
]
},
"required": false
},
{
"name": "start",
"in": "query",
"schema": { "type": "number" },
"required": false
},
{
"name": "cursor",
"in": "query",
"schema": { "type": "number" },
"required": false
},
{
"name": "search",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "limit",
"in": "query",
"schema": { "type": "number" },
"required": false
},
{
"name": "archived",
"in": "query",
"schema": {
"anyOf": [
{ "type": "boolean" },
{ "type": "string", "enum": ["true", "false"] }
]
},
"required": false
}
],
"responses": {
"200": {
"description": "List of sessions",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/GlobalSession" },
"description": "List of sessions"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get a list of all OpenCode sessions across projects, sorted by most recently updated. Archived sessions are excluded by default.",
"summary": "List sessions"
}
},
"/experimental/resource": {
"get": {
"tags": ["experimental"],
"operationId": "experimental.resource.list",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "MCP resources",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/McpResource"
},
"description": "MCP resources"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get all available MCP resources from connected servers. Optionally filter by name.",
"summary": "Get MCP resources"
}
},
"/find": {
"get": {
"tags": ["file"],
"operationId": "find.text",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "pattern",
"in": "query",
"schema": { "type": "string" },
"required": true
}
],
"responses": {
"200": {
"description": "Matches",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "object",
"properties": { "text": { "type": "string" } },
"required": ["text"],
"additionalProperties": false
},
"lines": {
"type": "object",
"properties": { "text": { "type": "string" } },
"required": ["text"],
"additionalProperties": false
},
"line_number": { "type": "integer", "minimum": 0 },
"absolute_offset": { "type": "integer", "minimum": 0 },
"submatches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"match": {
"type": "object",
"properties": { "text": { "type": "string" } },
"required": ["text"],
"additionalProperties": false
},
"start": { "type": "integer", "minimum": 0 },
"end": { "type": "integer", "minimum": 0 }
},
"required": ["match", "start", "end"],
"additionalProperties": false
}
}
},
"required": [
"path",
"lines",
"line_number",
"absolute_offset",
"submatches"
],
"additionalProperties": false
},
"description": "Matches"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Search for text patterns across files in the project using ripgrep.",
"summary": "Find text"
}
},
"/find/file": {
"get": {
"tags": ["file"],
"operationId": "find.files",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "query",
"in": "query",
"schema": { "type": "string" },
"required": true
},
{
"name": "dirs",
"in": "query",
"schema": { "type": "string", "enum": ["true", "false"] },
"required": false
},
{
"name": "type",
"in": "query",
"schema": { "type": "string", "enum": ["file", "directory"] },
"required": false
},
{
"name": "limit",
"in": "query",
"schema": { "type": "integer", "minimum": 1, "maximum": 200 },
"required": false
}
],
"responses": {
"200": {
"description": "File paths",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "type": "string" },
"description": "File paths"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Search for files or directories by name or pattern in the project directory.",
"summary": "Find files"
}
},
"/find/symbol": {
"get": {
"tags": ["file"],
"operationId": "find.symbols",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "query",
"in": "query",
"schema": { "type": "string" },
"required": true
}
],
"responses": {
"200": {
"description": "Symbols",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/Symbol" },
"description": "Symbols"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Search for workspace symbols like functions, classes, and variables using LSP.",
"summary": "Find symbols"
}
},
"/file": {
"get": {
"tags": ["file"],
"operationId": "file.list",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "path",
"in": "query",
"schema": { "type": "string" },
"required": true
}
],
"responses": {
"200": {
"description": "Files and directories",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/FileNode" },
"description": "Files and directories"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "List files and directories in a specified path.",
"summary": "List files"
}
},
"/file/content": {
"get": {
"tags": ["file"],
"operationId": "file.read",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "path",
"in": "query",
"schema": { "type": "string" },
"required": true
}
],
"responses": {
"200": {
"description": "File content",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/FileContent" }
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Read the content of a specified file.",
"summary": "Read file"
}
},
"/file/status": {
"get": {
"tags": ["file"],
"operationId": "file.status",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "File status",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/File" },
"description": "File status"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get the git status of all files in the project.",
"summary": "Get file status"
}
},
"/instance/dispose": {
"post": {
"tags": ["instance"],
"operationId": "instance.dispose",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Instance disposed",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Instance disposed"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Clean up and dispose the current OpenCode instance, releasing all resources.",
"summary": "Dispose instance"
}
},
"/path": {
"get": {
"tags": ["instance"],
"operationId": "path.get",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Path",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Path" }
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Retrieve the current working directory and related path information for the OpenCode instance.",
"summary": "Get paths"
}
},
"/vcs": {
"get": {
"tags": ["instance"],
"operationId": "vcs.get",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "VCS info",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/VcsInfo" }
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Retrieve version control system (VCS) information for the current project, such as git branch.",
"summary": "Get VCS info"
}
},
"/vcs/status": {
"get": {
"tags": ["instance"],
"operationId": "vcs.status",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "VCS status",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/VcsFileStatus" },
"description": "VCS status"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Retrieve changed files in the current working tree without patches.",
"summary": "Get VCS status"
}
},
"/vcs/diff": {
"get": {
"tags": ["instance"],
"operationId": "vcs.diff",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "mode",
"in": "query",
"schema": { "type": "string", "enum": ["git", "branch"] },
"required": true
},
{
"name": "context",
"in": "query",
"schema": { "type": "integer", "minimum": 0 },
"required": false
}
],
"responses": {
"200": {
"description": "VCS diff",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/VcsFileDiff" },
"description": "VCS diff"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Retrieve the current git diff for the working tree or against the default branch.",
"summary": "Get VCS diff"
}
},
"/vcs/diff/raw": {
"get": {
"tags": ["instance"],
"operationId": "vcs.diff.raw",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Raw VCS diff",
"content": {
"text/x-diff; charset=utf-8": { "schema": { "type": "string" } }
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Retrieve a raw patch for current uncommitted changes.",
"summary": "Get raw VCS diff"
}
},
"/vcs/apply": {
"post": {
"tags": ["instance"],
"operationId": "vcs.apply",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "VCS patch applied",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": { "applied": { "type": "boolean" } },
"required": ["applied"],
"additionalProperties": false,
"description": "VCS patch applied"
}
}
}
},
"400": {
"description": "VcsApplyError | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{ "$ref": "#/components/schemas/VcsApplyError" },
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Apply a raw patch to the current working tree.",
"summary": "Apply VCS patch",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": { "patch": { "type": "string" } },
"required": ["patch"],
"additionalProperties": false
}
}
}
}
}
},
"/command": {
"get": {
"tags": ["instance"],
"operationId": "command.list",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "List of commands",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/Command" },
"description": "List of commands"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get a list of all available commands in the OpenCode system.",
"summary": "List commands"
}
},
"/agent": {
"get": {
"tags": ["instance"],
"operationId": "app.agents",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "List of agents",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/Agent" },
"description": "List of agents"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get a list of all available AI agents in the OpenCode system.",
"summary": "List agents"
}
},
"/skill": {
"get": {
"tags": ["instance"],
"operationId": "app.skills",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "List of skills",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"description": { "type": "string" },
"location": { "type": "string" },
"content": { "type": "string" }
},
"required": ["name", "location", "content"],
"additionalProperties": false
},
"description": "List of skills"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get a list of all available skills in the OpenCode system.",
"summary": "List skills"
}
},
"/lsp": {
"get": {
"tags": ["instance"],
"operationId": "lsp.status",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "LSP server status",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/LSPStatus" },
"description": "LSP server status"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get LSP server status",
"summary": "Get LSP status"
}
},
"/formatter": {
"get": {
"tags": ["instance"],
"operationId": "formatter.status",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Formatter status",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/FormatterStatus" },
"description": "Formatter status"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get formatter status",
"summary": "Get formatter status"
}
},
"/mcp": {
"get": {
"tags": ["mcp"],
"operationId": "mcp.status",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "MCP server status",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/MCPStatus"
},
"description": "MCP server status"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get the status of all Model Context Protocol (MCP) servers.",
"summary": "Get MCP status"
},
"post": {
"tags": ["mcp"],
"operationId": "mcp.add",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "MCP server added successfully",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/MCPStatus"
},
"description": "MCP server added successfully"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Dynamically add a new Model Context Protocol (MCP) server to the system.",
"summary": "Add MCP server",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"config": {
"anyOf": [
{ "$ref": "#/components/schemas/McpLocalConfig" },
{ "$ref": "#/components/schemas/McpRemoteConfig" }
]
}
},
"required": ["name", "config"],
"additionalProperties": false
}
}
}
}
}
},
"/mcp/{name}/auth": {
"post": {
"tags": ["mcp"],
"operationId": "mcp.auth.start",
"parameters": [
{
"name": "name",
"in": "path",
"schema": { "type": "string" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "OAuth flow started",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"authorizationUrl": { "type": "string" },
"oauthState": { "type": "string" }
},
"required": ["authorizationUrl", "oauthState"],
"additionalProperties": false,
"description": "OAuth flow started"
}
}
}
},
"400": {
"description": "McpUnsupportedOAuthError | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{ "$ref": "#/components/schemas/McpUnsupportedOAuthError" },
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "McpServerNotFoundError",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/McpServerNotFoundError"
}
}
}
}
},
"description": "Start OAuth authentication flow for a Model Context Protocol (MCP) server.",
"summary": "Start MCP OAuth"
},
"delete": {
"tags": ["mcp"],
"operationId": "mcp.auth.remove",
"parameters": [
{
"name": "name",
"in": "path",
"schema": { "type": "string" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "OAuth credentials removed",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": { "type": "boolean", "enum": [true] }
},
"required": ["success"],
"additionalProperties": false,
"description": "OAuth credentials removed"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
},
"404": {
"description": "McpServerNotFoundError",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/McpServerNotFoundError"
}
}
}
}
},
"description": "Remove OAuth credentials for an MCP server.",
"summary": "Remove MCP OAuth"
}
},
"/mcp/{name}/auth/callback": {
"post": {
"tags": ["mcp"],
"operationId": "mcp.auth.callback",
"parameters": [
{
"name": "name",
"in": "path",
"schema": { "type": "string" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "OAuth authentication completed",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/MCPStatus" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "McpServerNotFoundError",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/McpServerNotFoundError"
}
}
}
}
},
"description": "Complete OAuth authentication for a Model Context Protocol (MCP) server using the authorization code.",
"summary": "Complete MCP OAuth",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": { "code": { "type": "string" } },
"required": ["code"],
"additionalProperties": false
}
}
}
}
}
},
"/mcp/{name}/auth/authenticate": {
"post": {
"tags": ["mcp"],
"operationId": "mcp.auth.authenticate",
"parameters": [
{
"name": "name",
"in": "path",
"schema": { "type": "string" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "OAuth authentication completed",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/MCPStatus" }
}
}
},
"400": {
"description": "McpUnsupportedOAuthError | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{ "$ref": "#/components/schemas/McpUnsupportedOAuthError" },
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "McpServerNotFoundError",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/McpServerNotFoundError"
}
}
}
}
},
"description": "Start OAuth flow and wait for callback (opens browser).",
"summary": "Authenticate MCP OAuth"
}
},
"/mcp/{name}/connect": {
"post": {
"tags": ["mcp"],
"operationId": "mcp.connect",
"parameters": [
{
"name": "name",
"in": "path",
"schema": { "type": "string" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "MCP server connected successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "MCP server connected successfully"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
},
"404": {
"description": "McpServerNotFoundError",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/McpServerNotFoundError"
}
}
}
}
},
"description": "Connect an MCP server."
}
},
"/mcp/{name}/disconnect": {
"post": {
"tags": ["mcp"],
"operationId": "mcp.disconnect",
"parameters": [
{
"name": "name",
"in": "path",
"schema": { "type": "string" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "MCP server disconnected successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "MCP server disconnected successfully"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
},
"404": {
"description": "McpServerNotFoundError",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/McpServerNotFoundError"
}
}
}
}
},
"description": "Disconnect an MCP server."
}
},
"/project": {
"get": {
"tags": ["project"],
"operationId": "project.list",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "List of projects",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/Project" },
"description": "List of projects"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get a list of projects that have been opened with OpenCode.",
"summary": "List all projects"
}
},
"/project/current": {
"get": {
"tags": ["project"],
"operationId": "project.current",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Current project information",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Project" }
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Retrieve the currently active project that OpenCode is working with.",
"summary": "Get current project"
}
},
"/project/git/init": {
"post": {
"tags": ["project"],
"operationId": "project.initGit",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Project information after git initialization",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Project" }
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Create a git repository for the current project and return the refreshed project info.",
"summary": "Initialize git repository"
}
},
"/project/{projectID}": {
"patch": {
"tags": ["project"],
"operationId": "project.update",
"parameters": [
{
"name": "projectID",
"in": "path",
"schema": { "type": "string" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Updated project information",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Project" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "ProjectNotFoundError",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProjectNotFoundError"
}
}
}
}
},
"description": "Update project properties such as name, icon, and commands.",
"summary": "Update project",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"icon": {
"type": "object",
"properties": {
"url": { "type": "string" },
"override": { "type": "string" },
"color": { "type": "string" }
},
"additionalProperties": false
},
"commands": {
"type": "object",
"properties": {
"start": {
"type": "string",
"description": "Startup script to run when creating a new workspace (worktree)"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
}
}
}
}
},
"/pty/shells": {
"get": {
"tags": ["pty"],
"operationId": "pty.shells",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "List of shells",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": { "type": "string" },
"name": { "type": "string" },
"acceptable": { "type": "boolean" }
},
"required": ["path", "name", "acceptable"],
"additionalProperties": false
},
"description": "List of shells"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get a list of available shells on the system.",
"summary": "List available shells"
}
},
"/pty": {
"get": {
"tags": ["pty"],
"operationId": "pty.list",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "List of sessions",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/Pty" },
"description": "List of sessions"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get a list of all active pseudo-terminal (PTY) sessions managed by OpenCode.",
"summary": "List PTY sessions"
},
"post": {
"tags": ["pty"],
"operationId": "pty.create",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Created session",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Pty" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Create a new pseudo-terminal (PTY) session for running shell commands and processes.",
"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
}
}
}
}
}
},
"/pty/{ptyID}": {
"get": {
"tags": ["pty"],
"operationId": "pty.get",
"parameters": [
{
"name": "ptyID",
"in": "path",
"schema": { "type": "string", "pattern": "^pty" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Session info",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Pty" }
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
},
"404": {
"description": "PtyNotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/PtyNotFoundError" }
}
}
}
},
"description": "Retrieve detailed information about a specific pseudo-terminal (PTY) session.",
"summary": "Get PTY session"
},
"put": {
"tags": ["pty"],
"operationId": "pty.update",
"parameters": [
{
"name": "ptyID",
"in": "path",
"schema": { "type": "string", "pattern": "^pty" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Updated session",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Pty" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "PtyNotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/PtyNotFoundError" }
}
}
}
},
"description": "Update properties of an existing pseudo-terminal (PTY) session.",
"summary": "Update PTY session",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"title": { "type": "string" },
"size": {
"type": "object",
"properties": {
"rows": { "type": "integer", "exclusiveMinimum": 0 },
"cols": { "type": "integer", "exclusiveMinimum": 0 }
},
"required": ["rows", "cols"],
"additionalProperties": false
}
},
"additionalProperties": false
}
}
}
}
},
"delete": {
"tags": ["pty"],
"operationId": "pty.remove",
"parameters": [
{
"name": "ptyID",
"in": "path",
"schema": { "type": "string", "pattern": "^pty" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Session removed",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Session removed"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
},
"404": {
"description": "PtyNotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/PtyNotFoundError" }
}
}
}
},
"description": "Remove and terminate a specific pseudo-terminal (PTY) session.",
"summary": "Remove PTY session"
}
},
"/pty/{ptyID}/connect-token": {
"post": {
"tags": ["pty"],
"operationId": "pty.connectToken",
"parameters": [
{
"name": "ptyID",
"in": "path",
"schema": { "type": "string", "pattern": "^pty" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "WebSocket connect token",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ticket": { "type": "string" },
"expires_in": { "type": "integer", "exclusiveMinimum": 0 }
},
"required": ["ticket", "expires_in"],
"additionalProperties": false,
"description": "WebSocket connect token"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
},
"403": {
"description": "PtyForbiddenError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/PtyForbiddenError" }
}
}
},
"404": {
"description": "PtyNotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/PtyNotFoundError" }
}
}
}
},
"description": "Create a short-lived ticket for opening a PTY WebSocket connection.",
"summary": "Create PTY WebSocket token"
}
},
"/question": {
"get": {
"tags": ["question"],
"operationId": "question.list",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "List of pending questions",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/QuestionRequest" },
"description": "List of pending questions"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get all pending question requests across all sessions.",
"summary": "List pending questions"
}
},
"/question/{requestID}/reply": {
"post": {
"tags": ["question"],
"operationId": "question.reply",
"parameters": [
{
"name": "requestID",
"in": "path",
"schema": { "type": "string", "pattern": "^que" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Question answered successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Question answered successfully"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "QuestionNotFoundError",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QuestionNotFoundError"
}
}
}
}
},
"description": "Provide answers to a question request from the AI assistant.",
"summary": "Reply to question request",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"answers": {
"type": "array",
"items": { "$ref": "#/components/schemas/QuestionAnswer" },
"description": "User answers in order of questions (each answer is an array of selected labels)"
}
},
"required": ["answers"],
"additionalProperties": false
}
}
}
}
}
},
"/question/{requestID}/reject": {
"post": {
"tags": ["question"],
"operationId": "question.reject",
"parameters": [
{
"name": "requestID",
"in": "path",
"schema": { "type": "string", "pattern": "^que" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Question rejected successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Question rejected successfully"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "QuestionNotFoundError",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QuestionNotFoundError"
}
}
}
}
},
"description": "Reject a question request from the AI assistant.",
"summary": "Reject question request"
}
},
"/permission": {
"get": {
"tags": ["permission"],
"operationId": "permission.list",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "List of pending permissions",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/PermissionRequest" },
"description": "List of pending permissions"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get all pending permission requests across all sessions.",
"summary": "List pending permissions"
}
},
"/permission/{requestID}/reply": {
"post": {
"tags": ["permission"],
"operationId": "permission.reply",
"parameters": [
{
"name": "requestID",
"in": "path",
"schema": { "type": "string", "pattern": "^per" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Permission processed successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Permission processed successfully"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "PermissionNotFoundError",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PermissionNotFoundError"
}
}
}
}
},
"description": "Approve or deny a permission request from the AI assistant.",
"summary": "Respond to permission request",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"reply": {
"type": "string",
"enum": ["once", "always", "reject"]
},
"message": { "type": "string" }
},
"required": ["reply"],
"additionalProperties": false
}
}
}
}
}
},
"/provider": {
"get": {
"tags": ["provider"],
"operationId": "provider.list",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "List of providers",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"all": {
"type": "array",
"items": { "$ref": "#/components/schemas/Provider" }
},
"default": {
"type": "object",
"additionalProperties": { "type": "string" }
},
"connected": {
"type": "array",
"items": { "type": "string" }
}
},
"required": ["all", "default", "connected"],
"additionalProperties": false,
"description": "List of providers"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get a list of all available AI providers, including both available and connected ones.",
"summary": "List providers"
}
},
"/provider/auth": {
"get": {
"tags": ["provider"],
"operationId": "provider.auth",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Provider auth methods",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProviderAuthMethod"
}
},
"description": "Provider auth methods"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Retrieve available authentication methods for all AI providers.",
"summary": "Get provider auth methods"
}
},
"/provider/{providerID}/oauth/authorize": {
"post": {
"tags": ["provider"],
"operationId": "provider.oauth.authorize",
"parameters": [
{
"name": "providerID",
"in": "path",
"schema": { "type": "string" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Authorization URL and method",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProviderAuthAuthorization"
}
}
}
},
"400": {
"description": "ProviderAuthError | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{ "$ref": "#/components/schemas/ProviderAuthError1" },
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Start the OAuth authorization flow for a provider.",
"summary": "Start OAuth authorization",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"method": {
"type": "number",
"description": "Auth method index"
},
"inputs": {
"type": "object",
"additionalProperties": { "type": "string" }
}
},
"required": ["method"],
"additionalProperties": false
}
}
}
}
}
},
"/provider/{providerID}/oauth/callback": {
"post": {
"tags": ["provider"],
"operationId": "provider.oauth.callback",
"parameters": [
{
"name": "providerID",
"in": "path",
"schema": { "type": "string" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "OAuth callback processed successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "OAuth callback processed successfully"
}
}
}
},
"400": {
"description": "ProviderAuthError | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{ "$ref": "#/components/schemas/ProviderAuthError1" },
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Handle the OAuth callback from a provider after user authorization.",
"summary": "Handle OAuth callback",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"method": {
"type": "number",
"description": "Auth method index"
},
"code": { "type": "string" }
},
"required": ["method"],
"additionalProperties": false
}
}
}
}
}
},
"/session": {
"get": {
"tags": ["session"],
"operationId": "session.list",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "scope",
"in": "query",
"schema": { "type": "string", "enum": ["project"] },
"required": false
},
{
"name": "path",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "roots",
"in": "query",
"schema": {
"anyOf": [
{ "type": "boolean" },
{ "type": "string", "enum": ["true", "false"] }
]
},
"required": false
},
{
"name": "start",
"in": "query",
"schema": { "type": "number" },
"required": false
},
{
"name": "search",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "limit",
"in": "query",
"schema": { "type": "number" },
"required": false
}
],
"responses": {
"200": {
"description": "List of sessions",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/Session" },
"description": "List of sessions"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get a list of all OpenCode sessions, sorted by most recently updated.",
"summary": "List sessions"
},
"post": {
"tags": ["session"],
"operationId": "session.create",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Successfully created session",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Session" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Create a new OpenCode session for interacting with AI assistants and managing conversations.",
"summary": "Create session",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"parentID": { "type": "string", "pattern": "^ses" },
"title": { "type": "string" },
"agent": { "type": "string" },
"model": {
"type": "object",
"properties": {
"id": { "type": "string" },
"providerID": { "type": "string" },
"variant": { "type": "string" }
},
"required": ["id", "providerID"],
"additionalProperties": false
},
"permission": {
"$ref": "#/components/schemas/PermissionRuleset"
},
"workspaceID": { "type": "string", "pattern": "^wrk" }
},
"additionalProperties": false
}
}
}
}
}
},
"/session/status": {
"get": {
"tags": ["session"],
"operationId": "session.status",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Get session status",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/SessionStatus"
},
"description": "Get session status"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Retrieve the current status of all sessions, including active, idle, and completed states.",
"summary": "Get session status"
}
},
"/session/{sessionID}": {
"get": {
"tags": ["session"],
"operationId": "session.get",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Get session",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Session" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Retrieve detailed information about a specific OpenCode session.",
"summary": "Get session"
},
"delete": {
"tags": ["session"],
"operationId": "session.delete",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Successfully deleted session",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Successfully deleted session"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Delete a session and permanently remove all associated data, including messages and history.",
"summary": "Delete session"
},
"patch": {
"tags": ["session"],
"operationId": "session.update",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Successfully updated session",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Session" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Update properties of an existing session, such as title or other metadata.",
"summary": "Update session",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"title": { "type": "string" },
"permission": {
"$ref": "#/components/schemas/PermissionRuleset"
},
"time": {
"type": "object",
"properties": { "archived": { "type": "number" } },
"additionalProperties": false
}
},
"additionalProperties": false
}
}
}
}
}
},
"/session/{sessionID}/children": {
"get": {
"tags": ["session"],
"operationId": "session.children",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "List of children",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/Session" },
"description": "List of children"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Retrieve all child sessions that were forked from the specified parent session.",
"summary": "Get session children"
}
},
"/session/{sessionID}/todo": {
"get": {
"tags": ["session"],
"operationId": "session.todo",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Todo list",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/Todo" },
"description": "Todo list"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Retrieve the todo list associated with a specific session, showing tasks and action items.",
"summary": "Get session todos"
}
},
"/session/{sessionID}/diff": {
"get": {
"tags": ["session"],
"operationId": "session.diff",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "messageID",
"in": "query",
"schema": { "type": "string", "pattern": "^msg" },
"required": false
}
],
"responses": {
"200": {
"description": "Successfully retrieved diff",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/SnapshotFileDiff" },
"description": "Successfully retrieved diff"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get the file changes (diff) that resulted from a specific user message in the session.",
"summary": "Get message diff"
}
},
"/session/{sessionID}/message": {
"get": {
"tags": ["session"],
"operationId": "session.messages",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"required": false
},
{
"name": "before",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "List of messages",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"info": { "$ref": "#/components/schemas/Message" },
"parts": {
"type": "array",
"items": { "$ref": "#/components/schemas/Part" }
}
},
"required": ["info", "parts"],
"additionalProperties": false
},
"description": "List of messages"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Retrieve all messages in a session, including user prompts and AI responses.",
"summary": "Get session messages"
},
"post": {
"tags": ["session"],
"operationId": "session.prompt",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Created message",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": ["info", "parts"],
"properties": {
"info": { "$ref": "#/components/schemas/AssistantMessage" },
"parts": {
"type": "array",
"items": { "$ref": "#/components/schemas/Part" }
}
}
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Create and send a new message to a session, streaming the AI response.",
"summary": "Send message",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"messageID": { "type": "string", "pattern": "^msg" },
"model": {
"type": "object",
"properties": {
"providerID": { "type": "string" },
"modelID": { "type": "string" }
},
"required": ["providerID", "modelID"],
"additionalProperties": false
},
"agent": { "type": "string" },
"noReply": { "type": "boolean" },
"tools": {
"type": "object",
"additionalProperties": { "type": "boolean" }
},
"format": { "$ref": "#/components/schemas/OutputFormat" },
"system": { "type": "string" },
"variant": { "type": "string" },
"parts": {
"type": "array",
"items": {
"anyOf": [
{ "$ref": "#/components/schemas/TextPartInput" },
{ "$ref": "#/components/schemas/FilePartInput" },
{ "$ref": "#/components/schemas/AgentPartInput" },
{ "$ref": "#/components/schemas/SubtaskPartInput" }
]
}
}
},
"required": ["parts"],
"additionalProperties": false
}
}
}
}
}
},
"/session/{sessionID}/message/{messageID}": {
"get": {
"tags": ["session"],
"operationId": "session.message",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "messageID",
"in": "path",
"schema": { "type": "string", "pattern": "^msg" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Message",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"info": { "$ref": "#/components/schemas/Message" },
"parts": {
"type": "array",
"items": { "$ref": "#/components/schemas/Part" }
}
},
"required": ["info", "parts"],
"additionalProperties": false,
"description": "Message"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Retrieve a specific message from a session by its message ID.",
"summary": "Get message"
},
"delete": {
"tags": ["session"],
"operationId": "session.deleteMessage",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "messageID",
"in": "path",
"schema": { "type": "string", "pattern": "^msg" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Successfully deleted message",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Successfully deleted message"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
},
"409": {
"description": "SessionBusyError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/SessionBusyError" }
}
}
}
},
"description": "Permanently delete a specific message and all of its parts from a session without reverting file changes.",
"summary": "Delete message"
}
},
"/session/{sessionID}/fork": {
"post": {
"tags": ["session"],
"operationId": "session.fork",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "200",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Session" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Create a new session by forking an existing session at a specific message point.",
"summary": "Fork session",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"messageID": { "type": "string", "pattern": "^msg" }
},
"additionalProperties": false
}
}
}
}
}
},
"/session/{sessionID}/abort": {
"post": {
"tags": ["session"],
"operationId": "session.abort",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Aborted session",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Aborted session"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Abort an active session and stop any ongoing AI processing or command execution.",
"summary": "Abort session"
}
},
"/session/{sessionID}/init": {
"post": {
"tags": ["session"],
"operationId": "session.init",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "200",
"content": {
"application/json": {
"schema": { "type": "boolean", "description": "200" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Analyze the current application and create an AGENTS.md file with project-specific agent configurations.",
"summary": "Initialize session",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"modelID": { "type": "string" },
"providerID": { "type": "string" },
"messageID": { "type": "string", "pattern": "^msg" }
},
"required": ["modelID", "providerID", "messageID"],
"additionalProperties": false
}
}
}
}
}
},
"/session/{sessionID}/share": {
"post": {
"tags": ["session"],
"operationId": "session.share",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Successfully shared session",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Session" }
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
},
"500": {
"description": "InternalServerError",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/effect_HttpApiError_InternalServerError"
}
}
}
}
},
"description": "Create a shareable link for a session, allowing others to view the conversation.",
"summary": "Share session"
},
"delete": {
"tags": ["session"],
"operationId": "session.unshare",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Successfully unshared session",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Session" }
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
},
"500": {
"description": "InternalServerError",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/effect_HttpApiError_InternalServerError"
}
}
}
}
},
"description": "Remove the shareable link for a session, making it private again.",
"summary": "Unshare session"
}
},
"/session/{sessionID}/summarize": {
"post": {
"tags": ["session"],
"operationId": "session.summarize",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Summarized session",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Summarized session"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Generate a concise summary of the session using AI compaction to preserve key information.",
"summary": "Summarize session",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"providerID": { "type": "string" },
"modelID": { "type": "string" },
"auto": { "type": "boolean" }
},
"required": ["providerID", "modelID"],
"additionalProperties": false
}
}
}
}
}
},
"/session/{sessionID}/prompt_async": {
"post": {
"tags": ["session"],
"operationId": "session.prompt_async",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"204": { "description": "Prompt accepted" },
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Create and send a new message to a session asynchronously, starting the session if needed and returning immediately.",
"summary": "Send async message",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"messageID": { "type": "string", "pattern": "^msg" },
"model": {
"type": "object",
"properties": {
"providerID": { "type": "string" },
"modelID": { "type": "string" }
},
"required": ["providerID", "modelID"],
"additionalProperties": false
},
"agent": { "type": "string" },
"noReply": { "type": "boolean" },
"tools": {
"type": "object",
"additionalProperties": { "type": "boolean" }
},
"format": { "$ref": "#/components/schemas/OutputFormat" },
"system": { "type": "string" },
"variant": { "type": "string" },
"parts": {
"type": "array",
"items": {
"anyOf": [
{ "$ref": "#/components/schemas/TextPartInput" },
{ "$ref": "#/components/schemas/FilePartInput" },
{ "$ref": "#/components/schemas/AgentPartInput" },
{ "$ref": "#/components/schemas/SubtaskPartInput" }
]
}
}
},
"required": ["parts"],
"additionalProperties": false
}
}
}
}
}
},
"/session/{sessionID}/command": {
"post": {
"tags": ["session"],
"operationId": "session.command",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Created message",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": ["info", "parts"],
"properties": {
"info": { "$ref": "#/components/schemas/AssistantMessage" },
"parts": {
"type": "array",
"items": { "$ref": "#/components/schemas/Part" }
}
}
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Send a new command to a session for execution by the AI assistant.",
"summary": "Send command",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"messageID": { "type": "string", "pattern": "^msg" },
"agent": { "type": "string" },
"model": { "type": "string" },
"arguments": { "type": "string" },
"command": { "type": "string" },
"variant": { "type": "string" },
"parts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^prt" },
"type": { "type": "string", "enum": ["file"] },
"mime": { "type": "string" },
"filename": { "type": "string" },
"url": { "type": "string" },
"source": {
"$ref": "#/components/schemas/FilePartSource"
}
},
"required": ["type", "mime", "url"],
"additionalProperties": false
}
}
},
"required": ["arguments", "command"],
"additionalProperties": false
}
}
}
}
}
},
"/session/{sessionID}/shell": {
"post": {
"tags": ["session"],
"operationId": "session.shell",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Created message",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"info": { "$ref": "#/components/schemas/Message" },
"parts": {
"type": "array",
"items": { "$ref": "#/components/schemas/Part" }
}
},
"required": ["info", "parts"],
"additionalProperties": false,
"description": "Created message"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
},
"409": {
"description": "SessionBusyError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/SessionBusyError" }
}
}
}
},
"description": "Execute a shell command within the session context and return the AI's response.",
"summary": "Run shell command",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"messageID": { "type": "string", "pattern": "^msg" },
"agent": { "type": "string" },
"model": {
"type": "object",
"properties": {
"providerID": { "type": "string" },
"modelID": { "type": "string" }
},
"required": ["providerID", "modelID"],
"additionalProperties": false
},
"command": { "type": "string" }
},
"required": ["agent", "command"],
"additionalProperties": false
}
}
}
}
}
},
"/session/{sessionID}/revert": {
"post": {
"tags": ["session"],
"operationId": "session.revert",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Updated session",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Session" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
},
"409": {
"description": "SessionBusyError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/SessionBusyError" }
}
}
}
},
"description": "Revert a specific message in a session, undoing its effects and restoring the previous state.",
"summary": "Revert message",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"messageID": { "type": "string", "pattern": "^msg" },
"partID": { "type": "string", "pattern": "^prt" }
},
"required": ["messageID"],
"additionalProperties": false
}
}
}
}
}
},
"/session/{sessionID}/unrevert": {
"post": {
"tags": ["session"],
"operationId": "session.unrevert",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Updated session",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Session" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
},
"409": {
"description": "SessionBusyError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/SessionBusyError" }
}
}
}
},
"description": "Restore all previously reverted messages in a session.",
"summary": "Restore reverted messages"
}
},
"/session/{sessionID}/permissions/{permissionID}": {
"post": {
"tags": ["session"],
"operationId": "permission.respond",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "permissionID",
"in": "path",
"schema": { "type": "string", "pattern": "^per" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Permission processed successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Permission processed successfully"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError | PermissionNotFoundError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{ "$ref": "#/components/schemas/NotFoundError" },
{ "$ref": "#/components/schemas/PermissionNotFoundError" }
]
}
}
}
}
},
"description": "Approve or deny a permission request from the AI assistant.",
"summary": "Respond to permission",
"deprecated": true,
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"response": {
"type": "string",
"enum": ["once", "always", "reject"]
}
},
"required": ["response"],
"additionalProperties": false
}
}
}
}
}
},
"/session/{sessionID}/message/{messageID}/part/{partID}": {
"delete": {
"tags": ["session"],
"operationId": "part.delete",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "messageID",
"in": "path",
"schema": { "type": "string", "pattern": "^msg" },
"required": true
},
{
"name": "partID",
"in": "path",
"schema": { "type": "string", "pattern": "^prt" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Successfully deleted part",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Successfully deleted part"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Delete a part from a message."
},
"patch": {
"tags": ["session"],
"operationId": "part.update",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "messageID",
"in": "path",
"schema": { "type": "string", "pattern": "^msg" },
"required": true
},
{
"name": "partID",
"in": "path",
"schema": { "type": "string", "pattern": "^prt" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Successfully updated part",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Part" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Update a part in a message.",
"requestBody": {
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Part" }
}
}
}
}
},
"/sync/start": {
"post": {
"tags": ["sync"],
"operationId": "sync.start",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Workspace sync started",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Workspace sync started"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Start sync loops for workspaces in the current project that have active sessions.",
"summary": "Start workspace sync"
}
},
"/sync/replay": {
"post": {
"tags": ["sync"],
"operationId": "sync.replay",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Replayed sync events",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": { "sessionID": { "type": "string" } },
"required": ["sessionID"],
"additionalProperties": false,
"description": "Replayed sync events"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Validate and replay a complete sync event history.",
"summary": "Replay sync events",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"directory": { "type": "string" },
"events": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"id": { "type": "string" },
"aggregateID": { "type": "string" },
"seq": { "type": "integer", "minimum": 0 },
"type": { "type": "string" },
"data": { "type": "object" }
},
"required": ["id", "aggregateID", "seq", "type", "data"],
"additionalProperties": false
}
}
},
"required": ["directory", "events"],
"additionalProperties": false
}
}
}
}
}
},
"/sync/steal": {
"post": {
"tags": ["sync"],
"operationId": "sync.steal",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Session stolen into workspace",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" }
},
"required": ["sessionID"],
"additionalProperties": false,
"description": "Session stolen into workspace"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Update a session to belong to the current workspace through the sync event system.",
"summary": "Steal session into workspace",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" }
},
"required": ["sessionID"],
"additionalProperties": false
}
}
}
}
}
},
"/sync/history": {
"post": {
"tags": ["sync"],
"operationId": "sync.history.list",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Sync events",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string" },
"aggregate_id": { "type": "string" },
"seq": { "type": "integer", "minimum": 0 },
"type": { "type": "string" },
"data": { "type": "object" }
},
"required": ["id", "aggregate_id", "seq", "type", "data"],
"additionalProperties": false
},
"description": "Sync events"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "List sync events for all aggregates. Keys are aggregate IDs the client already knows about, values are the last known sequence ID. Events with seq > value are returned for those aggregates. Aggregates not listed in the input get their full history.",
"summary": "List sync events",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": { "type": "integer", "minimum": 0 }
}
}
}
}
}
},
"/api/session": {
"get": {
"tags": ["v2"],
"operationId": "v2.session.list",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "limit",
"in": "query",
"schema": { "type": "number" },
"required": false
},
{
"name": "order",
"in": "query",
"schema": { "type": "string", "enum": ["asc", "desc"] },
"required": false
},
{
"name": "path",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "roots",
"in": "query",
"schema": {
"anyOf": [
{ "type": "boolean" },
{ "type": "string", "enum": ["true", "false"] }
]
},
"required": false
},
{
"name": "start",
"in": "query",
"schema": { "type": "number" },
"required": false
},
{
"name": "search",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"description": "Opaque pagination cursor returned as cursor.previous or cursor.next in the previous response. Do not combine with order or filters."
},
"required": false
}
],
"security": [],
"responses": {
"200": {
"description": "V2SessionsResponse",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/V2SessionsResponse" }
}
}
},
"400": {
"description": "InvalidCursorError | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{ "$ref": "#/components/schemas/InvalidCursorError" },
{ "$ref": "#/components/schemas/InvalidRequestError" },
{ "$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 v2 sessions"
}
},
"/api/session/{sessionID}/prompt": {
"post": {
"tags": ["v2"],
"operationId": "v2.session.prompt",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"security": [],
"responses": {
"200": {
"description": "Session.Message",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/SessionMessage" }
}
}
},
"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": {
"$ref": "#/components/schemas/SessionNotFoundError"
}
}
}
},
"503": {
"description": "ServiceUnavailableError",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceUnavailableError"
}
}
}
}
},
"description": "Create a v2 session message and queue it for the agent loop.",
"summary": "Send v2 message",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"prompt": { "$ref": "#/components/schemas/Prompt" },
"delivery": { "$ref": "#/components/schemas/SessionDelivery" }
},
"required": ["prompt"],
"additionalProperties": false
}
}
}
}
}
},
"/api/session/{sessionID}/compact": {
"post": {
"tags": ["v2"],
"operationId": "v2.session.compact",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"security": [],
"responses": {
"204": { "description": "<No Content>" },
"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": {
"$ref": "#/components/schemas/SessionNotFoundError"
}
}
}
},
"503": {
"description": "ServiceUnavailableError",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceUnavailableError"
}
}
}
}
},
"description": "Compact a v2 session conversation.",
"summary": "Compact v2 session"
}
},
"/api/session/{sessionID}/wait": {
"post": {
"tags": ["v2"],
"operationId": "v2.session.wait",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"security": [],
"responses": {
"204": { "description": "<No Content>" },
"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": {
"$ref": "#/components/schemas/SessionNotFoundError"
}
}
}
},
"503": {
"description": "ServiceUnavailableError",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceUnavailableError"
}
}
}
}
},
"description": "Wait for a v2 session agent loop to become idle.",
"summary": "Wait for v2 session"
}
},
"/api/session/{sessionID}/context": {
"get": {
"tags": ["v2"],
"operationId": "v2.session.context",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"security": [],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/SessionMessage" }
}
}
}
},
"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": {
"$ref": "#/components/schemas/SessionNotFoundError"
}
}
}
},
"500": {
"description": "UnknownError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UnknownError1" }
}
}
}
},
"description": "Retrieve the active context messages for a v2 session (all messages after the last compaction).",
"summary": "Get v2 session context"
}
},
"/api/session/{sessionID}/message": {
"get": {
"tags": ["v2 messages"],
"operationId": "v2.session.messages",
"parameters": [
{
"name": "sessionID",
"in": "path",
"schema": { "type": "string", "pattern": "^ses" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "limit",
"in": "query",
"schema": { "type": "number" },
"required": false
},
{
"name": "order",
"in": "query",
"schema": { "type": "string", "enum": ["asc", "desc"] },
"required": false
},
{
"name": "cursor",
"in": "query",
"schema": {
"type": "string",
"description": "Opaque pagination cursor returned as cursor.previous or cursor.next in the previous response. Do not combine with order."
},
"required": false
}
],
"security": [],
"responses": {
"200": {
"description": "V2SessionMessagesResponse",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/V2SessionMessagesResponse"
}
}
}
},
"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": {
"$ref": "#/components/schemas/SessionNotFoundError"
}
}
}
},
"500": {
"description": "UnknownError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UnknownError1" }
}
}
}
},
"description": "Retrieve projected v2 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 v2 session messages"
}
},
"/api/model": {
"get": {
"tags": ["v2 models"],
"operationId": "v2.model.list",
"parameters": [
{
"name": "location",
"in": "query",
"schema": {
"type": "object",
"properties": {
"directory": { "type": "string" },
"workspace": { "type": "string" }
},
"additionalProperties": false
},
"required": false,
"style": "deepObject",
"explode": true
}
],
"security": [],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/ModelV2Info" }
}
}
}
},
"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 v2 models ordered by release date.",
"summary": "List v2 models"
}
},
"/api/provider": {
"get": {
"tags": ["v2 providers"],
"operationId": "v2.provider.list",
"parameters": [
{
"name": "location",
"in": "query",
"schema": {
"type": "object",
"properties": {
"directory": { "type": "string" },
"workspace": { "type": "string" }
},
"additionalProperties": false
},
"required": false,
"style": "deepObject",
"explode": true
}
],
"security": [],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/ProviderV2Info" }
}
}
}
},
"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 v2 AI providers so clients can show provider availability and configuration.",
"summary": "List v2 providers"
}
},
"/api/provider/{providerID}": {
"get": {
"tags": ["v2 providers"],
"operationId": "v2.provider.get",
"parameters": [
{
"name": "providerID",
"in": "path",
"schema": { "type": "string" },
"required": true
},
{
"name": "location",
"in": "query",
"schema": {
"type": "object",
"properties": {
"directory": { "type": "string" },
"workspace": { "type": "string" }
},
"additionalProperties": false
},
"required": false,
"style": "deepObject",
"explode": true
}
],
"security": [],
"responses": {
"200": {
"description": "ProviderV2.Info",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/ProviderV2Info" }
}
}
},
"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 v2 AI provider so clients can inspect its availability and endpoint settings.",
"summary": "Get v2 provider"
}
},
"/tui/append-prompt": {
"post": {
"tags": ["tui"],
"operationId": "tui.appendPrompt",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Prompt processed successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Prompt processed successfully"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Append prompt to the TUI.",
"summary": "Append TUI prompt",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": { "text": { "type": "string" } },
"required": ["text"],
"additionalProperties": false
}
}
}
}
}
},
"/tui/open-help": {
"post": {
"tags": ["tui"],
"operationId": "tui.openHelp",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Help dialog opened successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Help dialog opened successfully"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Open the help dialog in the TUI to display user assistance information.",
"summary": "Open help dialog"
}
},
"/tui/open-sessions": {
"post": {
"tags": ["tui"],
"operationId": "tui.openSessions",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Session dialog opened successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Session dialog opened successfully"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Open the session dialog.",
"summary": "Open sessions dialog"
}
},
"/tui/open-themes": {
"post": {
"tags": ["tui"],
"operationId": "tui.openThemes",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Theme dialog opened successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Theme dialog opened successfully"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Open the theme dialog.",
"summary": "Open themes dialog"
}
},
"/tui/open-models": {
"post": {
"tags": ["tui"],
"operationId": "tui.openModels",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Model dialog opened successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Model dialog opened successfully"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Open the model dialog.",
"summary": "Open models dialog"
}
},
"/tui/submit-prompt": {
"post": {
"tags": ["tui"],
"operationId": "tui.submitPrompt",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Prompt submitted successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Prompt submitted successfully"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Submit the prompt.",
"summary": "Submit TUI prompt"
}
},
"/tui/clear-prompt": {
"post": {
"tags": ["tui"],
"operationId": "tui.clearPrompt",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Prompt cleared successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Prompt cleared successfully"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Clear the prompt.",
"summary": "Clear TUI prompt"
}
},
"/tui/execute-command": {
"post": {
"tags": ["tui"],
"operationId": "tui.executeCommand",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Command executed successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Command executed successfully"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Execute a TUI command.",
"summary": "Execute TUI command",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": { "command": { "type": "string" } },
"required": ["command"],
"additionalProperties": false
}
}
}
}
}
},
"/tui/show-toast": {
"post": {
"tags": ["tui"],
"operationId": "tui.showToast",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Toast notification shown successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Toast notification shown successfully"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Show a toast notification in the TUI.",
"summary": "Show TUI toast",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"title": { "type": "string" },
"message": { "type": "string" },
"variant": {
"type": "string",
"enum": ["info", "success", "warning", "error"]
},
"duration": { "type": "integer", "exclusiveMinimum": 0 }
},
"required": ["message", "variant"],
"additionalProperties": false
}
}
}
}
}
},
"/tui/publish": {
"post": {
"tags": ["tui"],
"operationId": "tui.publish",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Event published successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Event published successfully"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Publish a TUI event.",
"summary": "Publish TUI event",
"requestBody": {
"content": {
"application/json": {
"schema": {
"anyOf": [
{ "$ref": "#/components/schemas/EventTuiPromptAppend" },
{ "$ref": "#/components/schemas/EventTuiCommandExecute" },
{ "$ref": "#/components/schemas/EventTuiToastShow" },
{ "$ref": "#/components/schemas/EventTuiSessionSelect" }
]
}
}
}
}
}
},
"/tui/select-session": {
"post": {
"tags": ["tui"],
"operationId": "tui.selectSession",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Session selected successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Session selected successfully"
}
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Navigate the TUI to display the specified session.",
"summary": "Select session",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"sessionID": {
"type": "string",
"pattern": "^ses",
"description": "Session ID to navigate to"
}
},
"required": ["sessionID"],
"additionalProperties": false
}
}
}
}
}
},
"/tui/control/next": {
"get": {
"tags": ["tui"],
"operationId": "tui.control.next",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Next TUI request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": { "path": { "type": "string" }, "body": {} },
"required": ["path", "body"],
"additionalProperties": false,
"description": "Next TUI request"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Retrieve the next TUI request from the queue for processing.",
"summary": "Get next TUI request"
}
},
"/tui/control/response": {
"post": {
"tags": ["tui"],
"operationId": "tui.control.response",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Response submitted successfully",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Response submitted successfully"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Submit a response to the TUI request queue to complete a pending request.",
"summary": "Submit TUI response",
"requestBody": { "content": { "application/json": { "schema": {} } } }
}
},
"/experimental/workspace/adapter": {
"get": {
"tags": ["workspace"],
"operationId": "experimental.workspace.adapter.list",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Workspace adapters",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": { "type": "string" },
"name": { "type": "string" },
"description": { "type": "string" }
},
"required": ["type", "name", "description"],
"additionalProperties": false
},
"description": "Workspace adapters"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "List all available workspace adapters for the current project.",
"summary": "List workspace adapters"
}
},
"/experimental/workspace": {
"get": {
"tags": ["workspace"],
"operationId": "experimental.workspace.list",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Workspaces",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/Workspace" },
"description": "Workspaces"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "List all workspaces.",
"summary": "List workspaces"
},
"post": {
"tags": ["workspace"],
"operationId": "experimental.workspace.create",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Workspace created",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Workspace" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Create a workspace for the current project.",
"summary": "Create workspace",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^wrk" },
"type": { "type": "string" },
"branch": {
"anyOf": [{ "type": "string" }, { "type": "null" }]
},
"extra": { "anyOf": [{}, { "type": "null" }] }
},
"required": ["type"],
"additionalProperties": false
}
}
}
}
}
},
"/experimental/workspace/sync-list": {
"post": {
"tags": ["workspace"],
"operationId": "experimental.workspace.syncList",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"204": { "description": "Workspace list synced" },
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Register missing workspaces returned by workspace adapters.",
"summary": "Sync workspace list"
}
},
"/experimental/workspace/status": {
"get": {
"tags": ["workspace"],
"operationId": "experimental.workspace.status",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Workspace status",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"workspaceID": { "type": "string", "pattern": "^wrk" },
"status": {
"type": "string",
"enum": [
"connected",
"connecting",
"disconnected",
"error"
]
}
},
"required": ["workspaceID", "status"],
"additionalProperties": false
},
"description": "Workspace status"
}
}
}
},
"400": {
"description": "Bad request",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BadRequestError" }
}
}
}
},
"description": "Get connection status for workspaces in the current project.",
"summary": "Workspace status"
}
},
"/experimental/workspace/{id}": {
"delete": {
"tags": ["workspace"],
"operationId": "experimental.workspace.remove",
"parameters": [
{
"name": "id",
"in": "path",
"schema": { "type": "string", "pattern": "^wrk" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Workspace removed",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Workspace" }
}
}
},
"400": {
"description": "BadRequest | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/effect_HttpApiError_BadRequest"
},
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
}
},
"description": "Remove an existing workspace.",
"summary": "Remove workspace"
}
},
"/experimental/workspace/warp": {
"post": {
"tags": ["workspace"],
"operationId": "experimental.workspace.warp",
"parameters": [
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"204": { "description": "Session warped" },
"400": {
"description": "WorkspaceWarpError | VcsApplyError | InvalidRequestError",
"content": {
"application/json": {
"schema": {
"anyOf": [
{ "$ref": "#/components/schemas/WorkspaceWarpError" },
{ "$ref": "#/components/schemas/VcsApplyError" },
{ "$ref": "#/components/schemas/InvalidRequestError" }
]
}
}
}
},
"404": {
"description": "NotFoundError",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Move a session's sync history into the target workspace, or detach it to the local project.",
"summary": "Warp session into workspace",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{ "type": "string", "pattern": "^wrk" },
{ "type": "null" }
]
},
"sessionID": { "type": "string", "pattern": "^ses" },
"copyChanges": { "type": "boolean" }
},
"required": ["id", "sessionID"],
"additionalProperties": false
}
}
}
}
}
},
"/pty/{ptyID}/connect": {
"get": {
"tags": ["pty"],
"operationId": "pty.connect",
"parameters": [
{
"name": "ptyID",
"in": "path",
"schema": { "type": "string", "pattern": "^pty" },
"required": true
},
{
"name": "directory",
"in": "query",
"schema": { "type": "string" },
"required": false
},
{
"name": "workspace",
"in": "query",
"schema": { "type": "string" },
"required": false
}
],
"responses": {
"200": {
"description": "Connected session",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"description": "Connected session"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/effect_HttpApiError_Forbidden"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/NotFoundError" }
}
}
}
},
"description": "Establish a WebSocket connection to interact with a pseudo-terminal (PTY) session in real-time.",
"summary": "Connect to PTY session"
}
}
},
"components": {
"schemas": {
"Event": {
"anyOf": [
{ "$ref": "#/components/schemas/EventServerInstanceDisposed" },
{ "$ref": "#/components/schemas/EventPermissionAsked" },
{ "$ref": "#/components/schemas/EventPermissionReplied" },
{ "$ref": "#/components/schemas/EventLspClientDiagnostics" },
{ "$ref": "#/components/schemas/EventLspUpdated" },
{ "$ref": "#/components/schemas/EventMessagePartDelta" },
{ "$ref": "#/components/schemas/EventSessionDiff" },
{ "$ref": "#/components/schemas/EventSessionError" },
{ "$ref": "#/components/schemas/Event.tui.prompt.append" },
{ "$ref": "#/components/schemas/Event.tui.command.execute" },
{ "$ref": "#/components/schemas/EventTuiToastShow1" },
{ "$ref": "#/components/schemas/Event.tui.session.select" },
{ "$ref": "#/components/schemas/EventMcpToolsChanged" },
{ "$ref": "#/components/schemas/EventMcpBrowserOpenFailed" },
{ "$ref": "#/components/schemas/EventCommandExecuted" },
{ "$ref": "#/components/schemas/EventProjectUpdated" },
{ "$ref": "#/components/schemas/EventWorktreeReady" },
{ "$ref": "#/components/schemas/EventWorktreeFailed" },
{ "$ref": "#/components/schemas/EventFileEdited" },
{ "$ref": "#/components/schemas/EventFileWatcherUpdated" },
{ "$ref": "#/components/schemas/EventVcsBranchUpdated" },
{ "$ref": "#/components/schemas/EventInstallationUpdated" },
{ "$ref": "#/components/schemas/EventInstallationUpdate-available" },
{ "$ref": "#/components/schemas/EventPtyCreated" },
{ "$ref": "#/components/schemas/EventPtyUpdated" },
{ "$ref": "#/components/schemas/EventPtyExited" },
{ "$ref": "#/components/schemas/EventPtyDeleted" },
{ "$ref": "#/components/schemas/EventQuestionAsked" },
{ "$ref": "#/components/schemas/EventQuestionReplied" },
{ "$ref": "#/components/schemas/EventQuestionRejected" },
{ "$ref": "#/components/schemas/EventSessionStatus" },
{ "$ref": "#/components/schemas/EventSessionIdle" },
{ "$ref": "#/components/schemas/EventSessionCompacted" },
{ "$ref": "#/components/schemas/EventTodoUpdated" },
{ "$ref": "#/components/schemas/EventWorkspaceReady" },
{ "$ref": "#/components/schemas/EventWorkspaceFailed" },
{ "$ref": "#/components/schemas/EventWorkspaceStatus" },
{ "$ref": "#/components/schemas/EventMessageUpdated" },
{ "$ref": "#/components/schemas/EventMessageRemoved" },
{ "$ref": "#/components/schemas/EventMessagePartUpdated" },
{ "$ref": "#/components/schemas/EventMessagePartRemoved" },
{ "$ref": "#/components/schemas/EventSessionCreated" },
{ "$ref": "#/components/schemas/EventSessionUpdated" },
{ "$ref": "#/components/schemas/EventSessionDeleted" },
{ "$ref": "#/components/schemas/EventSessionNextAgentSwitched" },
{ "$ref": "#/components/schemas/EventSessionNextModelSwitched" },
{ "$ref": "#/components/schemas/EventSessionNextPrompted" },
{ "$ref": "#/components/schemas/EventSessionNextSynthetic" },
{ "$ref": "#/components/schemas/EventSessionNextShellStarted" },
{ "$ref": "#/components/schemas/EventSessionNextShellEnded" },
{ "$ref": "#/components/schemas/EventSessionNextStepStarted" },
{ "$ref": "#/components/schemas/EventSessionNextStepEnded" },
{ "$ref": "#/components/schemas/EventSessionNextStepFailed" },
{ "$ref": "#/components/schemas/EventSessionNextTextStarted" },
{ "$ref": "#/components/schemas/EventSessionNextTextDelta" },
{ "$ref": "#/components/schemas/EventSessionNextTextEnded" },
{ "$ref": "#/components/schemas/EventSessionNextReasoningStarted" },
{ "$ref": "#/components/schemas/EventSessionNextReasoningDelta" },
{ "$ref": "#/components/schemas/EventSessionNextReasoningEnded" },
{ "$ref": "#/components/schemas/EventSessionNextToolInputStarted" },
{ "$ref": "#/components/schemas/EventSessionNextToolInputDelta" },
{ "$ref": "#/components/schemas/EventSessionNextToolInputEnded" },
{ "$ref": "#/components/schemas/EventSessionNextToolCalled" },
{ "$ref": "#/components/schemas/EventSessionNextToolProgress" },
{ "$ref": "#/components/schemas/EventSessionNextToolSuccess" },
{ "$ref": "#/components/schemas/EventSessionNextToolFailed" },
{ "$ref": "#/components/schemas/EventSessionNextRetried" },
{ "$ref": "#/components/schemas/EventSessionNextCompactionStarted" },
{ "$ref": "#/components/schemas/EventSessionNextCompactionDelta" },
{ "$ref": "#/components/schemas/EventSessionNextCompactionEnded" },
{ "$ref": "#/components/schemas/EventServerConnected" },
{ "$ref": "#/components/schemas/EventGlobalDisposed" },
{ "$ref": "#/components/schemas/EventModels-devRefreshed" },
{ "$ref": "#/components/schemas/EventAccountAdded" },
{ "$ref": "#/components/schemas/EventAccountRemoved" },
{ "$ref": "#/components/schemas/EventAccountSwitched" },
{ "$ref": "#/components/schemas/EventCatalogModelUpdated" },
{ "$ref": "#/components/schemas/EventSessionNextAgentSwitched" },
{ "$ref": "#/components/schemas/EventSessionNextModelSwitched" },
{ "$ref": "#/components/schemas/EventSessionNextPrompted" },
{ "$ref": "#/components/schemas/EventSessionNextSynthetic" },
{ "$ref": "#/components/schemas/EventSessionNextShellStarted" },
{ "$ref": "#/components/schemas/EventSessionNextShellEnded" },
{ "$ref": "#/components/schemas/EventSessionNextStepStarted" },
{ "$ref": "#/components/schemas/EventSessionNextStepEnded" },
{ "$ref": "#/components/schemas/EventSessionNextStepFailed" },
{ "$ref": "#/components/schemas/EventSessionNextTextStarted" },
{ "$ref": "#/components/schemas/EventSessionNextTextDelta" },
{ "$ref": "#/components/schemas/EventSessionNextTextEnded" },
{ "$ref": "#/components/schemas/EventSessionNextReasoningStarted" },
{ "$ref": "#/components/schemas/EventSessionNextReasoningDelta" },
{ "$ref": "#/components/schemas/EventSessionNextReasoningEnded" },
{ "$ref": "#/components/schemas/EventSessionNextToolInputStarted" },
{ "$ref": "#/components/schemas/EventSessionNextToolInputDelta" },
{ "$ref": "#/components/schemas/EventSessionNextToolInputEnded" },
{ "$ref": "#/components/schemas/EventSessionNextToolCalled" },
{ "$ref": "#/components/schemas/EventSessionNextToolProgress" },
{ "$ref": "#/components/schemas/EventSessionNextToolSuccess" },
{ "$ref": "#/components/schemas/EventSessionNextToolFailed" },
{ "$ref": "#/components/schemas/EventSessionNextRetried" },
{ "$ref": "#/components/schemas/EventSessionNextCompactionStarted" },
{ "$ref": "#/components/schemas/EventSessionNextCompactionDelta" },
{ "$ref": "#/components/schemas/EventSessionNextCompactionEnded" }
]
},
"OAuth": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["oauth"] },
"refresh": { "type": "string" },
"access": { "type": "string" },
"expires": { "type": "integer", "minimum": 0 },
"accountId": { "type": "string" },
"enterpriseUrl": { "type": "string" }
},
"required": ["type", "refresh", "access", "expires"],
"additionalProperties": false
},
"ApiAuth": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["api"] },
"key": { "type": "string" },
"metadata": {
"type": "object",
"additionalProperties": { "type": "string" }
}
},
"required": ["type", "key"],
"additionalProperties": false
},
"WellKnownAuth": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["wellknown"] },
"key": { "type": "string" },
"token": { "type": "string" }
},
"required": ["type", "key", "token"],
"additionalProperties": false
},
"Auth": {
"anyOf": [
{ "$ref": "#/components/schemas/OAuth" },
{ "$ref": "#/components/schemas/ApiAuth" },
{ "$ref": "#/components/schemas/WellKnownAuth" }
]
},
"effect_HttpApiError_BadRequest": {
"type": "object",
"properties": { "_tag": { "type": "string", "enum": ["BadRequest"] } },
"required": ["_tag"],
"additionalProperties": false
},
"InvalidRequestError": {
"type": "object",
"properties": {
"_tag": { "type": "string", "enum": ["InvalidRequestError"] },
"message": { "type": "string" },
"kind": { "type": "string" },
"field": { "type": "string" }
},
"required": ["_tag", "message"],
"additionalProperties": false
},
"PermissionRequest": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^per" },
"sessionID": { "type": "string", "pattern": "^ses" },
"permission": { "type": "string" },
"patterns": { "type": "array", "items": { "type": "string" } },
"metadata": { "type": "object" },
"always": { "type": "array", "items": { "type": "string" } },
"tool": {
"type": "object",
"properties": {
"messageID": { "type": "string", "pattern": "^msg" },
"callID": { "type": "string" }
},
"required": ["messageID", "callID"],
"additionalProperties": false
}
},
"required": [
"id",
"sessionID",
"permission",
"patterns",
"metadata",
"always"
],
"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
},
"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
},
"UnknownError": {
"type": "object",
"properties": {
"name": { "type": "string", "enum": ["UnknownError"] },
"data": {
"type": "object",
"properties": {
"message": { "type": "string" },
"ref": { "type": "string" }
},
"required": ["message"],
"additionalProperties": false
}
},
"required": ["name", "data"],
"additionalProperties": false
},
"MessageOutputLengthError": {
"type": "object",
"properties": {
"name": { "type": "string", "enum": ["MessageOutputLengthError"] },
"data": { "type": "object", "properties": {} }
},
"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", "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": { "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": { "type": "integer", "minimum": 0 },
"isRetryable": { "type": "boolean" },
"responseHeaders": {
"type": "object",
"additionalProperties": { "type": "string" }
},
"responseBody": { "type": "string" },
"metadata": {
"type": "object",
"additionalProperties": { "type": "string" }
}
},
"required": ["message", "isRetryable"],
"additionalProperties": false
}
},
"required": ["name", "data"],
"additionalProperties": false
},
"Event.tui.prompt.append": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["tui.prompt.append"] },
"properties": {
"type": "object",
"properties": { "text": { "type": "string" } },
"required": ["text"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"Event.tui.command.execute": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["tui.command.execute"] },
"properties": {
"type": "object",
"properties": {
"command": {
"anyOf": [
{
"type": "string",
"enum": [
"session.list",
"session.new",
"session.share",
"session.interrupt",
"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", "properties"],
"additionalProperties": false
},
"Event.tui.toast.show": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["tui.toast.show"] },
"properties": {
"type": "object",
"properties": {
"title": { "type": "string" },
"message": { "type": "string" },
"variant": {
"type": "string",
"enum": ["info", "success", "warning", "error"]
},
"duration": { "type": "integer", "exclusiveMinimum": 0 }
},
"required": ["message", "variant"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"Event.tui.session.select": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["tui.session.select"] },
"properties": {
"type": "object",
"properties": {
"sessionID": {
"type": "string",
"pattern": "^ses",
"description": "Session ID to navigate to"
}
},
"required": ["sessionID"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"Project": {
"type": "object",
"properties": {
"id": { "type": "string" },
"worktree": { "type": "string" },
"vcs": { "type": "string", "enum": ["git"] },
"name": { "type": "string" },
"icon": {
"type": "object",
"properties": {
"url": { "type": "string" },
"override": { "type": "string" },
"color": { "type": "string" }
},
"additionalProperties": false
},
"commands": {
"type": "object",
"properties": {
"start": {
"type": "string",
"description": "Startup script to run when creating a new workspace (worktree)"
}
},
"additionalProperties": false
},
"time": {
"type": "object",
"properties": {
"created": { "type": "integer", "minimum": 0 },
"updated": { "type": "integer", "minimum": 0 },
"initialized": { "type": "integer", "minimum": 0 }
},
"required": ["created", "updated"],
"additionalProperties": false
},
"sandboxes": { "type": "array", "items": { "type": "string" } }
},
"required": ["id", "worktree", "time", "sandboxes"],
"additionalProperties": false
},
"Pty": {
"type": "object",
"properties": {
"id": { "type": "string", "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", "exclusiveMinimum": 0 }
},
"required": ["id", "title", "command", "args", "cwd", "status", "pid"],
"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": { "type": "boolean" },
"custom": { "type": "boolean" }
},
"required": ["question", "header", "options"],
"additionalProperties": false
},
"QuestionTool": {
"type": "object",
"properties": {
"messageID": { "type": "string", "pattern": "^msg" },
"callID": { "type": "string" }
},
"required": ["messageID", "callID"],
"additionalProperties": false
},
"QuestionRequest": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^que" },
"sessionID": { "type": "string", "pattern": "^ses" },
"questions": {
"type": "array",
"items": { "$ref": "#/components/schemas/QuestionInfo" },
"description": "Questions to ask"
},
"tool": { "$ref": "#/components/schemas/QuestionTool" }
},
"required": ["id", "sessionID", "questions"],
"additionalProperties": false
},
"QuestionAnswer": { "type": "array", "items": { "type": "string" } },
"QuestionReplied": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"requestID": { "type": "string", "pattern": "^que" },
"answers": {
"type": "array",
"items": { "$ref": "#/components/schemas/QuestionAnswer" }
}
},
"required": ["sessionID", "requestID", "answers"],
"additionalProperties": false
},
"QuestionRejected": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"requestID": { "type": "string", "pattern": "^que" }
},
"required": ["sessionID", "requestID"],
"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", "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", "minimum": 0 }
},
"required": ["type", "attempt", "message", "next"],
"additionalProperties": false
},
{
"type": "object",
"properties": { "type": { "type": "string", "enum": ["busy"] } },
"required": ["type"],
"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
},
"OutputFormatText": {
"type": "object",
"properties": { "type": { "type": "string", "enum": ["text"] } },
"required": ["type"],
"additionalProperties": false
},
"JSONSchema": { "type": "object" },
"OutputFormatJsonSchema": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["json_schema"] },
"schema": { "$ref": "#/components/schemas/JSONSchema" },
"retryCount": { "type": "integer", "minimum": 0 }
},
"required": ["type", "schema"],
"additionalProperties": false
},
"OutputFormat": {
"anyOf": [
{ "$ref": "#/components/schemas/OutputFormatText" },
{ "$ref": "#/components/schemas/OutputFormatJsonSchema" }
]
},
"UserMessage": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^msg" },
"sessionID": { "type": "string", "pattern": "^ses" },
"role": { "type": "string", "enum": ["user"] },
"time": {
"type": "object",
"properties": { "created": { "type": "integer", "minimum": 0 } },
"required": ["created"],
"additionalProperties": false
},
"format": { "$ref": "#/components/schemas/OutputFormat" },
"summary": {
"type": "object",
"properties": {
"title": { "type": "string" },
"body": { "type": "string" },
"diffs": {
"type": "array",
"items": { "$ref": "#/components/schemas/SnapshotFileDiff" }
}
},
"required": ["diffs"],
"additionalProperties": false
},
"agent": { "type": "string" },
"model": {
"type": "object",
"properties": {
"providerID": { "type": "string" },
"modelID": { "type": "string" },
"variant": { "type": "string" }
},
"required": ["providerID", "modelID"],
"additionalProperties": false
},
"system": { "type": "string" },
"tools": {
"type": "object",
"additionalProperties": { "type": "boolean" }
}
},
"required": ["id", "sessionID", "role", "time", "agent", "model"],
"additionalProperties": false
},
"AssistantMessage": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^msg" },
"sessionID": { "type": "string", "pattern": "^ses" },
"role": { "type": "string", "enum": ["assistant"] },
"time": {
"type": "object",
"properties": {
"created": { "type": "integer", "minimum": 0 },
"completed": { "type": "integer", "minimum": 0 }
},
"required": ["created"],
"additionalProperties": false
},
"error": {
"anyOf": [
{ "$ref": "#/components/schemas/ProviderAuthError" },
{ "$ref": "#/components/schemas/UnknownError" },
{ "$ref": "#/components/schemas/MessageOutputLengthError" },
{ "$ref": "#/components/schemas/MessageAbortedError" },
{ "$ref": "#/components/schemas/StructuredOutputError" },
{ "$ref": "#/components/schemas/ContextOverflowError" },
{ "$ref": "#/components/schemas/APIError" }
]
},
"parentID": { "type": "string", "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": { "type": "boolean" },
"cost": { "type": "number" },
"tokens": {
"type": "object",
"properties": {
"total": { "type": "number" },
"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": {},
"variant": { "type": "string" },
"finish": { "type": "string" }
},
"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" }
]
},
"TextPart": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^prt" },
"sessionID": { "type": "string", "pattern": "^ses" },
"messageID": { "type": "string", "pattern": "^msg" },
"type": { "type": "string", "enum": ["text"] },
"text": { "type": "string" },
"synthetic": { "type": "boolean" },
"ignored": { "type": "boolean" },
"time": {
"type": "object",
"properties": {
"start": { "type": "integer", "minimum": 0 },
"end": { "type": "integer", "minimum": 0 }
},
"required": ["start"],
"additionalProperties": false
},
"metadata": { "type": "object" }
},
"required": ["id", "sessionID", "messageID", "type", "text"],
"additionalProperties": false
},
"SubtaskPart": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^prt" },
"sessionID": { "type": "string", "pattern": "^ses" },
"messageID": { "type": "string", "pattern": "^msg" },
"type": { "type": "string", "enum": ["subtask"] },
"prompt": { "type": "string" },
"description": { "type": "string" },
"agent": { "type": "string" },
"model": {
"type": "object",
"properties": {
"providerID": { "type": "string" },
"modelID": { "type": "string" }
},
"required": ["providerID", "modelID"],
"additionalProperties": false
},
"command": { "type": "string" }
},
"required": [
"id",
"sessionID",
"messageID",
"type",
"prompt",
"description",
"agent"
],
"additionalProperties": false
},
"ReasoningPart": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^prt" },
"sessionID": { "type": "string", "pattern": "^ses" },
"messageID": { "type": "string", "pattern": "^msg" },
"type": { "type": "string", "enum": ["reasoning"] },
"text": { "type": "string" },
"metadata": { "type": "object" },
"time": {
"type": "object",
"properties": {
"start": { "type": "integer", "minimum": 0 },
"end": { "type": "integer", "minimum": 0 }
},
"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", "minimum": 0 },
"character": { "type": "integer", "minimum": 0 }
},
"required": ["line", "character"],
"additionalProperties": false
},
"end": {
"type": "object",
"properties": {
"line": { "type": "integer", "minimum": 0 },
"character": { "type": "integer", "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", "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", "pattern": "^prt" },
"sessionID": { "type": "string", "pattern": "^ses" },
"messageID": { "type": "string", "pattern": "^msg" },
"type": { "type": "string", "enum": ["file"] },
"mime": { "type": "string" },
"filename": { "type": "string" },
"url": { "type": "string" },
"source": { "$ref": "#/components/schemas/FilePartSource" }
},
"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": { "type": "string" },
"metadata": { "type": "object" },
"time": {
"type": "object",
"properties": { "start": { "type": "integer", "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", "minimum": 0 },
"end": { "type": "integer", "minimum": 0 },
"compacted": { "type": "integer", "minimum": 0 }
},
"required": ["start", "end"],
"additionalProperties": false
},
"attachments": {
"type": "array",
"items": { "$ref": "#/components/schemas/FilePart" }
}
},
"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": { "type": "object" },
"time": {
"type": "object",
"properties": {
"start": { "type": "integer", "minimum": 0 },
"end": { "type": "integer", "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", "pattern": "^prt" },
"sessionID": { "type": "string", "pattern": "^ses" },
"messageID": { "type": "string", "pattern": "^msg" },
"type": { "type": "string", "enum": ["tool"] },
"callID": { "type": "string" },
"tool": { "type": "string" },
"state": { "$ref": "#/components/schemas/ToolState" },
"metadata": { "type": "object" }
},
"required": [
"id",
"sessionID",
"messageID",
"type",
"callID",
"tool",
"state"
],
"additionalProperties": false
},
"StepStartPart": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^prt" },
"sessionID": { "type": "string", "pattern": "^ses" },
"messageID": { "type": "string", "pattern": "^msg" },
"type": { "type": "string", "enum": ["step-start"] },
"snapshot": { "type": "string" }
},
"required": ["id", "sessionID", "messageID", "type"],
"additionalProperties": false
},
"StepFinishPart": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^prt" },
"sessionID": { "type": "string", "pattern": "^ses" },
"messageID": { "type": "string", "pattern": "^msg" },
"type": { "type": "string", "enum": ["step-finish"] },
"reason": { "type": "string" },
"snapshot": { "type": "string" },
"cost": { "type": "number" },
"tokens": {
"type": "object",
"properties": {
"total": { "type": "number" },
"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", "pattern": "^prt" },
"sessionID": { "type": "string", "pattern": "^ses" },
"messageID": { "type": "string", "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", "pattern": "^prt" },
"sessionID": { "type": "string", "pattern": "^ses" },
"messageID": { "type": "string", "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", "pattern": "^prt" },
"sessionID": { "type": "string", "pattern": "^ses" },
"messageID": { "type": "string", "pattern": "^msg" },
"type": { "type": "string", "enum": ["agent"] },
"name": { "type": "string" },
"source": {
"type": "object",
"properties": {
"value": { "type": "string" },
"start": { "type": "integer", "minimum": 0 },
"end": { "type": "integer", "minimum": 0 }
},
"required": ["value", "start", "end"],
"additionalProperties": false
}
},
"required": ["id", "sessionID", "messageID", "type", "name"],
"additionalProperties": false
},
"RetryPart": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^prt" },
"sessionID": { "type": "string", "pattern": "^ses" },
"messageID": { "type": "string", "pattern": "^msg" },
"type": { "type": "string", "enum": ["retry"] },
"attempt": { "type": "integer", "minimum": 0 },
"error": { "$ref": "#/components/schemas/APIError" },
"time": {
"type": "object",
"properties": { "created": { "type": "integer", "minimum": 0 } },
"required": ["created"],
"additionalProperties": false
}
},
"required": [
"id",
"sessionID",
"messageID",
"type",
"attempt",
"error",
"time"
],
"additionalProperties": false
},
"CompactionPart": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^prt" },
"sessionID": { "type": "string", "pattern": "^ses" },
"messageID": { "type": "string", "pattern": "^msg" },
"type": { "type": "string", "enum": ["compaction"] },
"auto": { "type": "boolean" },
"overflow": { "type": "boolean" },
"tail_start_id": { "type": "string", "pattern": "^msg" }
},
"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" }
]
},
"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", "pattern": "^ses" },
"slug": { "type": "string" },
"projectID": { "type": "string" },
"workspaceID": { "type": "string", "pattern": "^wrk" },
"directory": { "type": "string" },
"path": { "type": "string" },
"parentID": { "type": "string", "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" },
"time": {
"type": "object",
"properties": {
"created": { "type": "integer", "minimum": 0 },
"updated": { "type": "integer", "minimum": 0 },
"compacting": { "type": "integer", "minimum": 0 },
"archived": { "type": "number" }
},
"required": ["created", "updated"],
"additionalProperties": false
},
"permission": { "$ref": "#/components/schemas/PermissionRuleset" },
"revert": {
"type": "object",
"properties": {
"messageID": { "type": "string", "pattern": "^msg" },
"partID": { "type": "string", "pattern": "^prt" },
"snapshot": { "type": "string" },
"diff": { "type": "string" }
},
"required": ["messageID"],
"additionalProperties": false
}
},
"required": [
"id",
"slug",
"projectID",
"directory",
"title",
"version",
"time"
],
"additionalProperties": false
},
"Prompt": {
"type": "object",
"properties": {
"text": { "type": "string" },
"files": {
"type": "array",
"items": { "$ref": "#/components/schemas/PromptFileAttachment" }
},
"agents": {
"type": "array",
"items": { "$ref": "#/components/schemas/PromptAgentAttachment" }
},
"references": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PromptReferenceAttachment"
}
}
},
"required": ["text"],
"additionalProperties": false
},
"GlobalEvent": {
"type": "object",
"properties": {
"directory": { "type": "string" },
"project": { "type": "string" },
"workspace": { "type": "string" },
"payload": {
"anyOf": [
{ "$ref": "#/components/schemas/Event" },
{ "$ref": "#/components/schemas/SyncEnvelope" }
]
}
},
"required": ["payload"],
"additionalProperties": false
},
"SyncEnvelope": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["sync"] },
"syncEvent": { "$ref": "#/components/schemas/SyncEventRecord" },
"id": { "type": "string" }
},
"required": ["type", "syncEvent", "id"],
"additionalProperties": false
},
"SyncEventRecord": {
"anyOf": [
{ "$ref": "#/components/schemas/SyncEventMessageUpdated" },
{ "$ref": "#/components/schemas/SyncEventMessageRemoved" },
{ "$ref": "#/components/schemas/SyncEventMessagePartUpdated" },
{ "$ref": "#/components/schemas/SyncEventMessagePartRemoved" },
{ "$ref": "#/components/schemas/SyncEventSessionCreated" },
{ "$ref": "#/components/schemas/SyncEventSessionUpdated" },
{ "$ref": "#/components/schemas/SyncEventSessionDeleted" },
{ "$ref": "#/components/schemas/SyncEventSessionNextAgentSwitched" },
{ "$ref": "#/components/schemas/SyncEventSessionNextModelSwitched" },
{ "$ref": "#/components/schemas/SyncEventSessionNextPrompted" },
{ "$ref": "#/components/schemas/SyncEventSessionNextSynthetic" },
{ "$ref": "#/components/schemas/SyncEventSessionNextShellStarted" },
{ "$ref": "#/components/schemas/SyncEventSessionNextShellEnded" },
{ "$ref": "#/components/schemas/SyncEventSessionNextStepStarted" },
{ "$ref": "#/components/schemas/SyncEventSessionNextStepEnded" },
{ "$ref": "#/components/schemas/SyncEventSessionNextStepFailed" },
{ "$ref": "#/components/schemas/SyncEventSessionNextTextStarted" },
{ "$ref": "#/components/schemas/SyncEventSessionNextTextDelta" },
{ "$ref": "#/components/schemas/SyncEventSessionNextTextEnded" },
{ "$ref": "#/components/schemas/SyncEventSessionNextReasoningStarted" },
{ "$ref": "#/components/schemas/SyncEventSessionNextReasoningDelta" },
{ "$ref": "#/components/schemas/SyncEventSessionNextReasoningEnded" },
{ "$ref": "#/components/schemas/SyncEventSessionNextToolInputStarted" },
{ "$ref": "#/components/schemas/SyncEventSessionNextToolInputDelta" },
{ "$ref": "#/components/schemas/SyncEventSessionNextToolInputEnded" },
{ "$ref": "#/components/schemas/SyncEventSessionNextToolCalled" },
{ "$ref": "#/components/schemas/SyncEventSessionNextToolProgress" },
{ "$ref": "#/components/schemas/SyncEventSessionNextToolSuccess" },
{ "$ref": "#/components/schemas/SyncEventSessionNextToolFailed" },
{ "$ref": "#/components/schemas/SyncEventSessionNextRetried" },
{ "$ref": "#/components/schemas/SyncEventSessionNextCompactionStarted" },
{ "$ref": "#/components/schemas/SyncEventSessionNextCompactionDelta" },
{ "$ref": "#/components/schemas/SyncEventSessionNextCompactionEnded" }
]
},
"LogLevel": {
"type": "string",
"enum": ["DEBUG", "INFO", "WARN", "ERROR"],
"description": "Log level"
},
"ServerConfig": {
"type": "object",
"properties": {
"port": { "type": "integer", "exclusiveMinimum": 0 },
"hostname": { "type": "string" },
"mdns": { "type": "boolean" },
"mdnsDomain": { "type": "string" },
"cors": { "type": "array", "items": { "type": "string" } }
},
"additionalProperties": false,
"description": "Server configuration for opencode serve and web commands"
},
"ReferenceConfigEntry": {
"anyOf": [
{ "type": "string" },
{
"type": "object",
"properties": {
"repository": {
"type": "string",
"description": "Git repository URL, host/path reference, or GitHub owner/repo shorthand"
},
"branch": { "type": "string" }
},
"required": ["repository"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Absolute path, ~/ path, or workspace-relative path to a local reference directory"
}
},
"required": ["path"],
"additionalProperties": false
}
]
},
"ReferenceConfig": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/ReferenceConfigEntry"
}
},
"PermissionActionConfig": {
"type": "string",
"enum": ["ask", "allow", "deny"]
},
"PermissionObjectConfig": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/PermissionActionConfig"
}
},
"PermissionRuleConfig": {
"anyOf": [
{ "$ref": "#/components/schemas/PermissionActionConfig" },
{ "$ref": "#/components/schemas/PermissionObjectConfig" }
]
},
"PermissionConfig": {
"anyOf": [
{ "$ref": "#/components/schemas/PermissionActionConfig" },
{
"type": "object",
"properties": {
"read": { "$ref": "#/components/schemas/PermissionRuleConfig" },
"edit": { "$ref": "#/components/schemas/PermissionRuleConfig" },
"glob": { "$ref": "#/components/schemas/PermissionRuleConfig" },
"grep": { "$ref": "#/components/schemas/PermissionRuleConfig" },
"list": { "$ref": "#/components/schemas/PermissionRuleConfig" },
"bash": { "$ref": "#/components/schemas/PermissionRuleConfig" },
"task": { "$ref": "#/components/schemas/PermissionRuleConfig" },
"external_directory": {
"$ref": "#/components/schemas/PermissionRuleConfig"
},
"todowrite": {
"$ref": "#/components/schemas/PermissionActionConfig"
},
"question": {
"$ref": "#/components/schemas/PermissionActionConfig"
},
"webfetch": {
"$ref": "#/components/schemas/PermissionActionConfig"
},
"websearch": {
"$ref": "#/components/schemas/PermissionActionConfig"
},
"repo_clone": {
"$ref": "#/components/schemas/PermissionRuleConfig"
},
"repo_overview": {
"$ref": "#/components/schemas/PermissionRuleConfig"
},
"lsp": { "$ref": "#/components/schemas/PermissionRuleConfig" },
"doom_loop": {
"$ref": "#/components/schemas/PermissionActionConfig"
},
"skill": { "$ref": "#/components/schemas/PermissionRuleConfig" }
},
"additionalProperties": {
"$ref": "#/components/schemas/PermissionRuleConfig"
}
}
]
},
"AgentConfig": {
"type": "object",
"properties": {
"model": { "type": "string" },
"variant": { "type": "string" },
"temperature": { "type": "number" },
"top_p": { "type": "number" },
"prompt": { "type": "string" },
"tools": {
"type": "object",
"additionalProperties": { "type": "boolean" }
},
"disable": { "type": "boolean" },
"description": { "type": "string" },
"mode": { "type": "string", "enum": ["subagent", "primary", "all"] },
"hidden": { "type": "boolean" },
"options": { "type": "object" },
"color": {
"anyOf": [
{ "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" },
{
"type": "string",
"enum": [
"primary",
"secondary",
"accent",
"success",
"warning",
"error",
"info"
]
}
],
"description": "Hex color code (e.g., #FF5733) or theme color (e.g., primary)"
},
"steps": { "type": "integer", "exclusiveMinimum": 0 },
"maxSteps": { "type": "integer", "exclusiveMinimum": 0 },
"permission": { "$ref": "#/components/schemas/PermissionConfig" }
},
"additionalProperties": {}
},
"ProviderConfig": {
"type": "object",
"properties": {
"api": { "type": "string" },
"name": { "type": "string" },
"env": { "type": "array", "items": { "type": "string" } },
"id": { "type": "string" },
"npm": { "type": "string" },
"whitelist": { "type": "array", "items": { "type": "string" } },
"blacklist": { "type": "array", "items": { "type": "string" } },
"options": {
"type": "object",
"properties": {
"apiKey": { "type": "string" },
"baseURL": { "type": "string" },
"enterpriseUrl": { "type": "string" },
"setCacheKey": { "type": "boolean" },
"timeout": {
"anyOf": [
{ "type": "integer", "exclusiveMinimum": 0 },
{ "type": "boolean", "enum": [false] }
],
"description": "Timeout in milliseconds for requests to this provider. Default is 300000 (5 minutes). Set to false to disable timeout."
},
"chunkTimeout": { "type": "integer", "exclusiveMinimum": 0 }
},
"additionalProperties": {}
},
"models": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"id": { "type": "string" },
"name": { "type": "string" },
"family": { "type": "string" },
"release_date": { "type": "string" },
"attachment": { "type": "boolean" },
"reasoning": { "type": "boolean" },
"temperature": { "type": "boolean" },
"tool_call": { "type": "boolean" },
"interleaved": {
"anyOf": [
{ "type": "boolean", "enum": [true] },
{
"type": "object",
"properties": {
"field": {
"type": "string",
"enum": ["reasoning_content", "reasoning_details"]
}
},
"required": ["field"],
"additionalProperties": false
}
]
},
"cost": {
"type": "object",
"properties": {
"input": { "type": "number" },
"output": { "type": "number" },
"cache_read": { "type": "number" },
"cache_write": { "type": "number" },
"context_over_200k": {
"type": "object",
"properties": {
"input": { "type": "number" },
"output": { "type": "number" },
"cache_read": { "type": "number" },
"cache_write": { "type": "number" }
},
"required": ["input", "output"],
"additionalProperties": false
}
},
"required": ["input", "output"],
"additionalProperties": false
},
"limit": {
"type": "object",
"properties": {
"context": { "type": "number" },
"input": { "type": "number" },
"output": { "type": "number" }
},
"required": ["context", "output"],
"additionalProperties": false
},
"modalities": {
"type": "object",
"properties": {
"input": {
"type": "array",
"items": {
"type": "string",
"enum": ["text", "audio", "image", "video", "pdf"]
}
},
"output": {
"type": "array",
"items": {
"type": "string",
"enum": ["text", "audio", "image", "video", "pdf"]
}
}
},
"required": ["input", "output"],
"additionalProperties": false
},
"experimental": { "type": "boolean" },
"status": {
"type": "string",
"enum": ["alpha", "beta", "deprecated", "active"]
},
"provider": {
"type": "object",
"properties": {
"npm": { "type": "string" },
"api": { "type": "string" }
},
"additionalProperties": false
},
"options": { "type": "object" },
"headers": {
"type": "object",
"additionalProperties": { "type": "string" }
},
"variants": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": { "disabled": { "type": "boolean" } },
"additionalProperties": {}
},
"description": "Variant-specific configuration"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
},
"McpLocalConfig": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["local"],
"description": "Type of MCP server connection"
},
"command": {
"type": "array",
"items": { "type": "string" },
"description": "Command and arguments to run the MCP server"
},
"environment": {
"type": "object",
"additionalProperties": { "type": "string" }
},
"enabled": { "type": "boolean" },
"timeout": { "type": "integer", "exclusiveMinimum": 0 }
},
"required": ["type", "command"],
"additionalProperties": false
},
"McpOAuthConfig": {
"type": "object",
"properties": {
"clientId": { "type": "string" },
"clientSecret": { "type": "string" },
"scope": { "type": "string" },
"callbackPort": { "type": "integer", "minimum": 1, "maximum": 65535 },
"redirectUri": { "type": "string" }
},
"additionalProperties": false
},
"McpRemoteConfig": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["remote"],
"description": "Type of MCP server connection"
},
"url": {
"type": "string",
"description": "URL of the remote MCP server"
},
"enabled": { "type": "boolean" },
"headers": {
"type": "object",
"additionalProperties": { "type": "string" }
},
"oauth": {
"anyOf": [
{ "$ref": "#/components/schemas/McpOAuthConfig" },
{ "type": "boolean", "enum": [false] }
],
"description": "OAuth authentication configuration for the MCP server. Set to false to disable OAuth auto-detection."
},
"timeout": { "type": "integer", "exclusiveMinimum": 0 }
},
"required": ["type", "url"],
"additionalProperties": false
},
"LayoutConfig": {
"type": "string",
"enum": ["auto", "stretch"],
"description": "@deprecated Always uses stretch layout."
},
"ImageAttachmentConfig": {
"type": "object",
"properties": {
"auto_resize": { "type": "boolean" },
"max_width": { "type": "integer", "exclusiveMinimum": 0 },
"max_height": { "type": "integer", "exclusiveMinimum": 0 },
"max_base64_bytes": { "type": "integer", "exclusiveMinimum": 0 }
},
"additionalProperties": false
},
"AttachmentConfig": {
"type": "object",
"properties": {
"image": { "$ref": "#/components/schemas/ImageAttachmentConfig" }
},
"additionalProperties": false
},
"Config": {
"type": "object",
"properties": {
"$schema": { "type": "string" },
"shell": { "type": "string" },
"logLevel": { "$ref": "#/components/schemas/LogLevel" },
"server": { "$ref": "#/components/schemas/ServerConfig" },
"command": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"template": { "type": "string" },
"description": { "type": "string" },
"agent": { "type": "string" },
"model": { "type": "string" },
"subtask": { "type": "boolean" }
},
"required": ["template"],
"additionalProperties": false
}
},
"skills": {
"type": "object",
"properties": {
"paths": { "type": "array", "items": { "type": "string" } },
"urls": { "type": "array", "items": { "type": "string" } }
},
"additionalProperties": false
},
"reference": { "$ref": "#/components/schemas/ReferenceConfig" },
"watcher": {
"type": "object",
"properties": {
"ignore": { "type": "array", "items": { "type": "string" } }
},
"additionalProperties": false
},
"snapshot": { "type": "boolean" },
"plugin": {
"type": "array",
"items": {
"anyOf": [
{ "type": "string" },
{
"type": "array",
"prefixItems": [{ "type": "string" }, { "type": "object" }],
"maxItems": 2,
"minItems": 2
}
]
}
},
"share": { "type": "string", "enum": ["manual", "auto", "disabled"] },
"autoshare": { "type": "boolean" },
"autoupdate": {
"anyOf": [
{ "type": "boolean" },
{ "type": "string", "enum": ["notify"] }
],
"description": "Automatically update to the latest version. Set to true to auto-update, false to disable, or 'notify' to show update notifications"
},
"disabled_providers": {
"type": "array",
"items": { "type": "string" }
},
"enabled_providers": {
"type": "array",
"items": { "type": "string" }
},
"model": { "type": "string" },
"small_model": { "type": "string" },
"default_agent": { "type": "string" },
"username": { "type": "string" },
"mode": {
"type": "object",
"properties": {
"build": { "$ref": "#/components/schemas/AgentConfig" },
"plan": { "$ref": "#/components/schemas/AgentConfig" }
},
"additionalProperties": {
"$ref": "#/components/schemas/AgentConfig"
}
},
"agent": {
"type": "object",
"properties": {
"plan": { "$ref": "#/components/schemas/AgentConfig" },
"build": { "$ref": "#/components/schemas/AgentConfig" },
"general": { "$ref": "#/components/schemas/AgentConfig" },
"explore": { "$ref": "#/components/schemas/AgentConfig" },
"scout": { "$ref": "#/components/schemas/AgentConfig" },
"title": { "$ref": "#/components/schemas/AgentConfig" },
"summary": { "$ref": "#/components/schemas/AgentConfig" },
"compaction": { "$ref": "#/components/schemas/AgentConfig" }
},
"additionalProperties": {
"$ref": "#/components/schemas/AgentConfig"
}
},
"provider": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/ProviderConfig"
}
},
"mcp": {
"type": "object",
"additionalProperties": {
"anyOf": [
{ "$ref": "#/components/schemas/McpLocalConfig" },
{ "$ref": "#/components/schemas/McpRemoteConfig" },
{
"type": "object",
"properties": { "enabled": { "type": "boolean" } },
"required": ["enabled"],
"additionalProperties": false
}
]
}
},
"formatter": {
"anyOf": [
{ "type": "boolean" },
{
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"disabled": { "type": "boolean" },
"command": {
"type": "array",
"items": { "type": "string" }
},
"environment": {
"type": "object",
"additionalProperties": { "type": "string" }
},
"extensions": {
"type": "array",
"items": { "type": "string" }
}
},
"additionalProperties": false
}
}
],
"description": "Enable or configure formatters. Omit or set to false to disable, true to enable built-ins, or an object to enable built-ins with overrides."
},
"lsp": {
"anyOf": [
{ "type": "boolean" },
{
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "object",
"properties": {
"disabled": { "type": "boolean", "enum": [true] }
},
"required": ["disabled"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"command": {
"type": "array",
"items": { "type": "string" }
},
"extensions": {
"type": "array",
"items": { "type": "string" }
},
"disabled": { "type": "boolean" },
"env": {
"type": "object",
"additionalProperties": { "type": "string" }
},
"initialization": { "type": "object" }
},
"required": ["command"],
"additionalProperties": false
}
]
}
}
],
"description": "Enable or configure LSP servers. Omit or set to false to disable, true to enable built-ins, or an object to enable built-ins with overrides."
},
"instructions": { "type": "array", "items": { "type": "string" } },
"layout": { "$ref": "#/components/schemas/LayoutConfig" },
"permission": { "$ref": "#/components/schemas/PermissionConfig" },
"tools": {
"type": "object",
"additionalProperties": { "type": "boolean" }
},
"attachment": { "$ref": "#/components/schemas/AttachmentConfig" },
"enterprise": {
"type": "object",
"properties": { "url": { "type": "string" } },
"additionalProperties": false
},
"tool_output": {
"type": "object",
"properties": {
"max_lines": { "type": "integer", "exclusiveMinimum": 0 },
"max_bytes": { "type": "integer", "exclusiveMinimum": 0 }
},
"additionalProperties": false
},
"compaction": {
"type": "object",
"properties": {
"auto": { "type": "boolean" },
"prune": { "type": "boolean" },
"tail_turns": { "type": "integer", "minimum": 0 },
"preserve_recent_tokens": { "type": "integer", "minimum": 0 },
"reserved": { "type": "integer", "minimum": 0 }
},
"additionalProperties": false
},
"experimental": {
"type": "object",
"properties": {
"disable_paste_summary": { "type": "boolean" },
"batch_tool": { "type": "boolean" },
"openTelemetry": { "type": "boolean" },
"primary_tools": {
"type": "array",
"items": { "type": "string" }
},
"continue_loop_on_deny": { "type": "boolean" },
"mcp_timeout": { "type": "integer", "exclusiveMinimum": 0 }
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"Model": {
"type": "object",
"properties": {
"id": { "type": "string" },
"providerID": { "type": "string" },
"api": {
"type": "object",
"properties": {
"id": { "type": "string" },
"url": { "type": "string" },
"npm": { "type": "string" }
},
"required": ["id", "url", "npm"],
"additionalProperties": false
},
"name": { "type": "string" },
"family": { "type": "string" },
"capabilities": {
"type": "object",
"properties": {
"temperature": { "type": "boolean" },
"reasoning": { "type": "boolean" },
"attachment": { "type": "boolean" },
"toolcall": { "type": "boolean" },
"input": {
"type": "object",
"properties": {
"text": { "type": "boolean" },
"audio": { "type": "boolean" },
"image": { "type": "boolean" },
"video": { "type": "boolean" },
"pdf": { "type": "boolean" }
},
"required": ["text", "audio", "image", "video", "pdf"],
"additionalProperties": false
},
"output": {
"type": "object",
"properties": {
"text": { "type": "boolean" },
"audio": { "type": "boolean" },
"image": { "type": "boolean" },
"video": { "type": "boolean" },
"pdf": { "type": "boolean" }
},
"required": ["text", "audio", "image", "video", "pdf"],
"additionalProperties": false
},
"interleaved": {
"anyOf": [
{ "type": "boolean" },
{
"type": "object",
"properties": {
"field": {
"type": "string",
"enum": ["reasoning_content", "reasoning_details"]
}
},
"required": ["field"],
"additionalProperties": false
}
]
}
},
"required": [
"temperature",
"reasoning",
"attachment",
"toolcall",
"input",
"output",
"interleaved"
],
"additionalProperties": false
},
"cost": {
"type": "object",
"properties": {
"input": { "type": "number" },
"output": { "type": "number" },
"cache": {
"type": "object",
"properties": {
"read": { "type": "number" },
"write": { "type": "number" }
},
"required": ["read", "write"],
"additionalProperties": false
},
"tiers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"input": { "type": "number" },
"output": { "type": "number" },
"cache": {
"type": "object",
"properties": {
"read": { "type": "number" },
"write": { "type": "number" }
},
"required": ["read", "write"],
"additionalProperties": false
},
"tier": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["context"] },
"size": { "type": "number" }
},
"required": ["type", "size"],
"additionalProperties": false
}
},
"required": ["input", "output", "cache", "tier"],
"additionalProperties": false
}
},
"experimentalOver200K": {
"type": "object",
"properties": {
"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
}
},
"required": ["input", "output", "cache"],
"additionalProperties": false
},
"limit": {
"type": "object",
"properties": {
"context": { "type": "number" },
"input": { "type": "number" },
"output": { "type": "number" }
},
"required": ["context", "output"],
"additionalProperties": false
},
"status": {
"type": "string",
"enum": ["alpha", "beta", "deprecated", "active"]
},
"options": { "type": "object" },
"headers": {
"type": "object",
"additionalProperties": { "type": "string" }
},
"release_date": { "type": "string" },
"variants": {
"type": "object",
"additionalProperties": { "type": "object" }
}
},
"required": [
"id",
"providerID",
"api",
"name",
"capabilities",
"cost",
"limit",
"status",
"options",
"headers",
"release_date"
],
"additionalProperties": false
},
"Provider": {
"type": "object",
"properties": {
"id": { "type": "string" },
"name": { "type": "string" },
"source": {
"type": "string",
"enum": ["env", "config", "custom", "api"]
},
"env": { "type": "array", "items": { "type": "string" } },
"key": { "type": "string" },
"options": { "type": "object" },
"models": {
"type": "object",
"additionalProperties": { "$ref": "#/components/schemas/Model" }
}
},
"required": ["id", "name", "source", "env", "options", "models"],
"additionalProperties": false
},
"ConsoleState": {
"type": "object",
"properties": {
"consoleManagedProviders": {
"type": "array",
"items": { "type": "string" }
},
"activeOrgName": { "type": "string" },
"switchableOrgCount": { "type": "integer", "minimum": 0 }
},
"required": ["consoleManagedProviders", "switchableOrgCount"],
"additionalProperties": false
},
"effect_HttpApiError_InternalServerError": {
"type": "object",
"properties": {
"_tag": { "type": "string", "enum": ["InternalServerError"] }
},
"required": ["_tag"],
"additionalProperties": false
},
"ToolListItem": {
"type": "object",
"properties": {
"id": { "type": "string" },
"description": { "type": "string" },
"parameters": {}
},
"required": ["id", "description", "parameters"],
"additionalProperties": false
},
"ToolList": {
"type": "array",
"items": { "$ref": "#/components/schemas/ToolListItem" }
},
"ToolIDs": { "type": "array", "items": { "type": "string" } },
"WorktreeError": {
"type": "object",
"properties": {
"name": {
"type": "string",
"enum": [
"WorktreeNotGitError",
"WorktreeNameGenerationFailedError",
"WorktreeCreateFailedError",
"WorktreeStartCommandFailedError",
"WorktreeRemoveFailedError",
"WorktreeResetFailedError",
"WorktreeListFailedError"
]
},
"data": {
"type": "object",
"properties": { "message": { "type": "string" } },
"required": ["message"],
"additionalProperties": false
}
},
"required": ["name", "data"],
"additionalProperties": false
},
"WorktreeCreateInput": {
"type": "object",
"properties": {
"name": { "type": "string" },
"startCommand": {
"type": "string",
"description": "Additional startup script to run after the project's start command"
}
},
"additionalProperties": false
},
"Worktree": {
"type": "object",
"properties": {
"name": { "type": "string" },
"branch": { "type": "string" },
"directory": { "type": "string" }
},
"required": ["name", "directory"],
"additionalProperties": false
},
"WorktreeRemoveInput": {
"type": "object",
"properties": { "directory": { "type": "string" } },
"required": ["directory"],
"additionalProperties": false
},
"WorktreeResetInput": {
"type": "object",
"properties": { "directory": { "type": "string" } },
"required": ["directory"],
"additionalProperties": false
},
"ProjectSummary": {
"type": "object",
"properties": {
"id": { "type": "string" },
"name": { "type": "string" },
"worktree": { "type": "string" }
},
"required": ["id", "worktree"],
"additionalProperties": false
},
"GlobalSession": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^ses" },
"slug": { "type": "string" },
"projectID": { "type": "string" },
"workspaceID": { "type": "string", "pattern": "^wrk" },
"directory": { "type": "string" },
"path": { "type": "string" },
"parentID": { "type": "string", "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" },
"time": {
"type": "object",
"properties": {
"created": { "type": "integer", "minimum": 0 },
"updated": { "type": "integer", "minimum": 0 },
"compacting": { "type": "integer", "minimum": 0 },
"archived": { "type": "number" }
},
"required": ["created", "updated"],
"additionalProperties": false
},
"permission": { "$ref": "#/components/schemas/PermissionRuleset" },
"revert": {
"type": "object",
"properties": {
"messageID": { "type": "string", "pattern": "^msg" },
"partID": { "type": "string", "pattern": "^prt" },
"snapshot": { "type": "string" },
"diff": { "type": "string" }
},
"required": ["messageID"],
"additionalProperties": false
},
"project": {
"anyOf": [
{ "$ref": "#/components/schemas/ProjectSummary" },
{ "type": "null" }
]
}
},
"required": [
"id",
"slug",
"projectID",
"directory",
"title",
"version",
"time",
"project"
],
"additionalProperties": false
},
"McpResource": {
"type": "object",
"properties": {
"name": { "type": "string" },
"uri": { "type": "string" },
"description": { "type": "string" },
"mimeType": { "type": "string" },
"client": { "type": "string" }
},
"required": ["name", "uri", "client"],
"additionalProperties": false
},
"Symbol": {
"type": "object",
"properties": {
"name": { "type": "string" },
"kind": { "type": "integer", "minimum": 0 },
"location": {
"type": "object",
"properties": {
"uri": { "type": "string" },
"range": { "$ref": "#/components/schemas/Range" }
},
"required": ["uri", "range"],
"additionalProperties": false
}
},
"required": ["name", "kind", "location"],
"additionalProperties": false
},
"FileNode": {
"type": "object",
"properties": {
"name": { "type": "string" },
"path": { "type": "string" },
"absolute": { "type": "string" },
"type": { "type": "string", "enum": ["file", "directory"] },
"ignored": { "type": "boolean" }
},
"required": ["name", "path", "absolute", "type", "ignored"],
"additionalProperties": false
},
"FileContent": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["text", "binary"] },
"content": { "type": "string" },
"diff": { "type": "string" },
"patch": {
"type": "object",
"properties": {
"oldFileName": { "type": "string" },
"newFileName": { "type": "string" },
"oldHeader": { "type": "string" },
"newHeader": { "type": "string" },
"hunks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"oldStart": { "type": "integer", "minimum": 0 },
"oldLines": { "type": "integer", "minimum": 0 },
"newStart": { "type": "integer", "minimum": 0 },
"newLines": { "type": "integer", "minimum": 0 },
"lines": { "type": "array", "items": { "type": "string" } }
},
"required": [
"oldStart",
"oldLines",
"newStart",
"newLines",
"lines"
],
"additionalProperties": false
}
},
"index": { "type": "string" }
},
"required": ["oldFileName", "newFileName", "hunks"],
"additionalProperties": false
},
"encoding": { "type": "string", "enum": ["base64"] },
"mimeType": { "type": "string" }
},
"required": ["type", "content"],
"additionalProperties": false
},
"File": {
"type": "object",
"properties": {
"path": { "type": "string" },
"added": { "type": "integer", "minimum": 0 },
"removed": { "type": "integer", "minimum": 0 },
"status": {
"type": "string",
"enum": ["added", "deleted", "modified"]
}
},
"required": ["path", "added", "removed", "status"],
"additionalProperties": false
},
"Path": {
"type": "object",
"properties": {
"home": { "type": "string" },
"state": { "type": "string" },
"config": { "type": "string" },
"worktree": { "type": "string" },
"directory": { "type": "string" }
},
"required": ["home", "state", "config", "worktree", "directory"],
"additionalProperties": false
},
"VcsInfo": {
"type": "object",
"properties": {
"branch": { "type": "string" },
"default_branch": { "type": "string" }
},
"additionalProperties": false
},
"VcsFileStatus": {
"type": "object",
"properties": {
"file": { "type": "string" },
"additions": { "type": "number" },
"deletions": { "type": "number" },
"status": {
"type": "string",
"enum": ["added", "deleted", "modified"]
}
},
"required": ["file", "additions", "deletions", "status"],
"additionalProperties": false
},
"VcsFileDiff": {
"type": "object",
"properties": {
"file": { "type": "string" },
"patch": { "type": "string" },
"additions": { "type": "number" },
"deletions": { "type": "number" },
"status": {
"type": "string",
"enum": ["added", "deleted", "modified"]
}
},
"required": ["file", "additions", "deletions"],
"additionalProperties": false
},
"VcsApplyError": {
"type": "object",
"properties": {
"name": { "type": "string", "enum": ["VcsApplyError"] },
"data": {
"type": "object",
"properties": {
"message": { "type": "string" },
"reason": { "type": "string", "enum": ["non-git", "not-clean"] }
},
"required": ["message", "reason"],
"additionalProperties": false
}
},
"required": ["name", "data"],
"additionalProperties": false
},
"Command": {
"type": "object",
"properties": {
"name": { "type": "string" },
"description": { "type": "string" },
"agent": { "type": "string" },
"model": { "type": "string" },
"source": { "type": "string", "enum": ["command", "mcp", "skill"] },
"template": { "type": "string" },
"subtask": { "type": "boolean" },
"hints": { "type": "array", "items": { "type": "string" } }
},
"required": ["name", "template", "hints"],
"additionalProperties": false
},
"Agent": {
"type": "object",
"properties": {
"name": { "type": "string" },
"description": { "type": "string" },
"mode": { "type": "string", "enum": ["subagent", "primary", "all"] },
"native": { "type": "boolean" },
"hidden": { "type": "boolean" },
"topP": { "type": "number" },
"temperature": { "type": "number" },
"color": { "type": "string" },
"permission": { "$ref": "#/components/schemas/PermissionRuleset" },
"model": {
"type": "object",
"properties": {
"modelID": { "type": "string" },
"providerID": { "type": "string" }
},
"required": ["modelID", "providerID"],
"additionalProperties": false
},
"variant": { "type": "string" },
"prompt": { "type": "string" },
"options": { "type": "object" },
"steps": { "type": "number" }
},
"required": ["name", "mode", "permission", "options"],
"additionalProperties": false
},
"LSPStatus": {
"type": "object",
"properties": {
"id": { "type": "string" },
"name": { "type": "string" },
"root": { "type": "string" },
"status": { "type": "string", "enum": ["connected", "error"] }
},
"required": ["id", "name", "root", "status"],
"additionalProperties": false
},
"FormatterStatus": {
"type": "object",
"properties": {
"name": { "type": "string" },
"extensions": { "type": "array", "items": { "type": "string" } },
"enabled": { "type": "boolean" }
},
"required": ["name", "extensions", "enabled"],
"additionalProperties": false
},
"MCPStatusConnected": {
"type": "object",
"properties": { "status": { "type": "string", "enum": ["connected"] } },
"required": ["status"],
"additionalProperties": false
},
"MCPStatusDisabled": {
"type": "object",
"properties": { "status": { "type": "string", "enum": ["disabled"] } },
"required": ["status"],
"additionalProperties": false
},
"MCPStatusFailed": {
"type": "object",
"properties": {
"status": { "type": "string", "enum": ["failed"] },
"error": { "type": "string" }
},
"required": ["status", "error"],
"additionalProperties": false
},
"MCPStatusNeedsAuth": {
"type": "object",
"properties": {
"status": { "type": "string", "enum": ["needs_auth"] }
},
"required": ["status"],
"additionalProperties": false
},
"MCPStatusNeedsClientRegistration": {
"type": "object",
"properties": {
"status": { "type": "string", "enum": ["needs_client_registration"] },
"error": { "type": "string" }
},
"required": ["status", "error"],
"additionalProperties": false
},
"MCPStatus": {
"anyOf": [
{ "$ref": "#/components/schemas/MCPStatusConnected" },
{ "$ref": "#/components/schemas/MCPStatusDisabled" },
{ "$ref": "#/components/schemas/MCPStatusFailed" },
{ "$ref": "#/components/schemas/MCPStatusNeedsAuth" },
{ "$ref": "#/components/schemas/MCPStatusNeedsClientRegistration" }
]
},
"McpUnsupportedOAuthError": {
"type": "object",
"properties": { "error": { "type": "string" } },
"required": ["error"],
"additionalProperties": false
},
"McpServerNotFoundError": {
"type": "object",
"properties": {
"_tag": { "type": "string", "enum": ["McpServerNotFoundError"] },
"name": { "type": "string" },
"message": { "type": "string" }
},
"required": ["_tag", "name", "message"],
"additionalProperties": false
},
"ProjectNotFoundError": {
"type": "object",
"properties": {
"_tag": { "type": "string", "enum": ["ProjectNotFoundError"] },
"projectID": { "type": "string" },
"message": { "type": "string" }
},
"required": ["_tag", "projectID", "message"],
"additionalProperties": false
},
"PtyNotFoundError": {
"type": "object",
"properties": {
"_tag": { "type": "string", "enum": ["PtyNotFoundError"] },
"ptyID": { "type": "string" },
"message": { "type": "string" }
},
"required": ["_tag", "ptyID", "message"],
"additionalProperties": false
},
"PtyForbiddenError": {
"type": "object",
"properties": {
"_tag": { "type": "string", "enum": ["PtyForbiddenError"] },
"message": { "type": "string" }
},
"required": ["_tag", "message"],
"additionalProperties": false
},
"QuestionNotFoundError": {
"type": "object",
"properties": {
"_tag": { "type": "string", "enum": ["QuestionNotFoundError"] },
"requestID": { "type": "string" },
"message": { "type": "string" }
},
"required": ["_tag", "requestID", "message"],
"additionalProperties": false
},
"PermissionNotFoundError": {
"type": "object",
"properties": {
"_tag": { "type": "string", "enum": ["PermissionNotFoundError"] },
"requestID": { "type": "string" },
"message": { "type": "string" }
},
"required": ["_tag", "requestID", "message"],
"additionalProperties": false
},
"ProviderAuthMethod": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["oauth", "api"] },
"label": { "type": "string" },
"prompts": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["text"] },
"key": { "type": "string" },
"message": { "type": "string" },
"placeholder": { "type": "string" },
"when": {
"type": "object",
"properties": {
"key": { "type": "string" },
"op": { "type": "string", "enum": ["eq", "neq"] },
"value": { "type": "string" }
},
"required": ["key", "op", "value"],
"additionalProperties": false
}
},
"required": ["type", "key", "message"],
"additionalProperties": false
},
{
"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": {
"type": "object",
"properties": {
"key": { "type": "string" },
"op": { "type": "string", "enum": ["eq", "neq"] },
"value": { "type": "string" }
},
"required": ["key", "op", "value"],
"additionalProperties": false
}
},
"required": ["type", "key", "message", "options"],
"additionalProperties": false
}
]
}
}
},
"required": ["type", "label"],
"additionalProperties": false
},
"ProviderAuthAuthorization": {
"type": "object",
"properties": {
"url": { "type": "string" },
"method": { "type": "string", "enum": ["auto", "code"] },
"instructions": { "type": "string" }
},
"required": ["url", "method", "instructions"],
"additionalProperties": false
},
"ProviderAuthError1": {
"type": "object",
"properties": {
"name": {
"type": "string",
"enum": [
"BadRequest",
"ProviderAuthOauthMissing",
"ProviderAuthOauthCodeMissing",
"ProviderAuthOauthCallbackFailed",
"ProviderAuthValidationFailed"
]
},
"data": {
"type": "object",
"properties": {
"providerID": { "type": "string" },
"field": { "type": "string" },
"message": { "type": "string" },
"kind": { "type": "string" }
},
"additionalProperties": false
}
},
"required": ["name", "data"],
"additionalProperties": false
},
"NotFoundError": {
"type": "object",
"required": ["name", "data"],
"properties": {
"name": { "type": "string", "enum": ["NotFoundError"] },
"data": {
"type": "object",
"required": ["message"],
"properties": { "message": { "type": "string" } }
}
}
},
"TextPartInput": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^prt" },
"type": { "type": "string", "enum": ["text"] },
"text": { "type": "string" },
"synthetic": { "type": "boolean" },
"ignored": { "type": "boolean" },
"time": {
"type": "object",
"properties": {
"start": { "type": "integer", "minimum": 0 },
"end": { "type": "integer", "minimum": 0 }
},
"required": ["start"],
"additionalProperties": false
},
"metadata": { "type": "object" }
},
"required": ["type", "text"],
"additionalProperties": false
},
"FilePartInput": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^prt" },
"type": { "type": "string", "enum": ["file"] },
"mime": { "type": "string" },
"filename": { "type": "string" },
"url": { "type": "string" },
"source": { "$ref": "#/components/schemas/FilePartSource" }
},
"required": ["type", "mime", "url"],
"additionalProperties": false
},
"AgentPartInput": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^prt" },
"type": { "type": "string", "enum": ["agent"] },
"name": { "type": "string" },
"source": {
"type": "object",
"properties": {
"value": { "type": "string" },
"start": { "type": "integer", "minimum": 0 },
"end": { "type": "integer", "minimum": 0 }
},
"required": ["value", "start", "end"],
"additionalProperties": false
}
},
"required": ["type", "name"],
"additionalProperties": false
},
"SubtaskPartInput": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^prt" },
"type": { "type": "string", "enum": ["subtask"] },
"prompt": { "type": "string" },
"description": { "type": "string" },
"agent": { "type": "string" },
"model": {
"type": "object",
"properties": {
"providerID": { "type": "string" },
"modelID": { "type": "string" }
},
"required": ["providerID", "modelID"],
"additionalProperties": false
},
"command": { "type": "string" }
},
"required": ["type", "prompt", "description", "agent"],
"additionalProperties": false
},
"SessionBusyError": {
"type": "object",
"properties": {
"_tag": { "type": "string", "enum": ["SessionBusyError"] },
"sessionID": { "type": "string" },
"message": { "type": "string" }
},
"required": ["_tag", "sessionID", "message"],
"additionalProperties": false
},
"V2SessionsResponse": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": { "$ref": "#/components/schemas/SessionInfo" }
},
"cursor": {
"type": "object",
"properties": {
"previous": { "type": "string" },
"next": { "type": "string" }
},
"additionalProperties": false
}
},
"required": ["items", "cursor"],
"additionalProperties": false
},
"InvalidCursorError": {
"type": "object",
"properties": {
"_tag": { "type": "string", "enum": ["InvalidCursorError"] },
"message": { "type": "string" }
},
"required": ["_tag", "message"],
"additionalProperties": false
},
"UnauthorizedError": {
"type": "object",
"properties": {
"_tag": { "type": "string", "enum": ["UnauthorizedError"] },
"message": { "type": "string" }
},
"required": ["_tag", "message"],
"additionalProperties": false
},
"SessionNotFoundError": {
"type": "object",
"properties": {
"_tag": { "type": "string", "enum": ["SessionNotFoundError"] },
"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": { "type": "string" }
},
"required": ["_tag", "message"],
"additionalProperties": false
},
"UnknownError1": {
"type": "object",
"properties": {
"_tag": { "type": "string", "enum": ["UnknownError"] },
"message": { "type": "string" },
"ref": { "type": "string" }
},
"required": ["_tag", "message"],
"additionalProperties": false
},
"V2SessionMessagesResponse": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": { "$ref": "#/components/schemas/SessionMessage" }
},
"cursor": {
"type": "object",
"properties": {
"previous": { "type": "string" },
"next": { "type": "string" }
},
"additionalProperties": false
}
},
"required": ["items", "cursor"],
"additionalProperties": false
},
"ProviderNotFoundError": {
"type": "object",
"properties": {
"_tag": { "type": "string", "enum": ["ProviderNotFoundError"] },
"providerID": { "type": "string" },
"message": { "type": "string" }
},
"required": ["_tag", "providerID", "message"],
"additionalProperties": false
},
"EventTuiPromptAppend": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["tui.prompt.append"] },
"properties": {
"type": "object",
"properties": { "text": { "type": "string" } },
"required": ["text"],
"additionalProperties": false
}
},
"required": ["type", "properties"],
"additionalProperties": false
},
"EventTuiCommandExecute": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["tui.command.execute"] },
"properties": {
"type": "object",
"properties": {
"command": {
"anyOf": [
{
"type": "string",
"enum": [
"session.list",
"session.new",
"session.share",
"session.interrupt",
"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": ["type", "properties"],
"additionalProperties": false
},
"EventTuiToastShow": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["tui.toast.show"] },
"properties": {
"type": "object",
"properties": {
"title": { "type": "string" },
"message": { "type": "string" },
"variant": {
"type": "string",
"enum": ["info", "success", "warning", "error"]
},
"duration": { "type": "integer", "exclusiveMinimum": 0 }
},
"required": ["message", "variant"],
"additionalProperties": false
}
},
"required": ["type", "properties"],
"additionalProperties": false
},
"EventTuiSessionSelect": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["tui.session.select"] },
"properties": {
"type": "object",
"properties": {
"sessionID": {
"type": "string",
"pattern": "^ses",
"description": "Session ID to navigate to"
}
},
"required": ["sessionID"],
"additionalProperties": false
}
},
"required": ["type", "properties"],
"additionalProperties": false
},
"Workspace": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^wrk" },
"type": { "type": "string" },
"name": { "type": "string" },
"branch": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
"directory": { "anyOf": [{ "type": "string" }, { "type": "null" }] },
"extra": { "anyOf": [{}, { "type": "null" }] },
"projectID": { "type": "string" },
"timeUsed": {
"anyOf": [
{ "type": "number" },
{ "type": "string", "enum": ["NaN"] },
{ "type": "string", "enum": ["Infinity"] },
{ "type": "string", "enum": ["-Infinity"] },
{ "type": "string", "enum": ["Infinity", "-Infinity", "NaN"] }
]
}
},
"required": ["id", "type", "name", "projectID", "timeUsed"],
"additionalProperties": false
},
"WorkspaceWarpError": {
"type": "object",
"properties": {
"name": { "type": "string", "enum": ["WorkspaceWarpError"] },
"data": {
"type": "object",
"properties": { "message": { "type": "string" } },
"required": ["message"],
"additionalProperties": false
}
},
"required": ["name", "data"],
"additionalProperties": false
},
"effect_HttpApiError_Forbidden": {
"type": "object",
"properties": { "_tag": { "type": "string", "enum": ["Forbidden"] } },
"required": ["_tag"],
"additionalProperties": false
},
"SyncEventMessageUpdated": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["message.updated.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"info": { "$ref": "#/components/schemas/Message" }
},
"required": ["sessionID", "info"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventMessageRemoved": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["message.removed.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"messageID": { "type": "string", "pattern": "^msg" }
},
"required": ["sessionID", "messageID"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventMessagePartUpdated": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["message.part.updated.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"part": { "$ref": "#/components/schemas/Part" },
"time": { "type": "integer", "minimum": 0 }
},
"required": ["sessionID", "part", "time"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventMessagePartRemoved": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["message.part.removed.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"messageID": { "type": "string", "pattern": "^msg" },
"partID": { "type": "string", "pattern": "^prt" }
},
"required": ["sessionID", "messageID", "partID"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionCreated": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.created.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"info": { "$ref": "#/components/schemas/Session" }
},
"required": ["sessionID", "info"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionUpdated": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.updated.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"info": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{ "type": "string", "pattern": "^ses" },
{ "type": "null" }
]
},
"slug": {
"anyOf": [{ "type": "string" }, { "type": "null" }]
},
"projectID": {
"anyOf": [{ "type": "string" }, { "type": "null" }]
},
"workspaceID": {
"anyOf": [
{ "type": "string", "pattern": "^wrk" },
{ "type": "null" }
]
},
"directory": {
"anyOf": [{ "type": "string" }, { "type": "null" }]
},
"path": {
"anyOf": [{ "type": "string" }, { "type": "null" }]
},
"parentID": {
"anyOf": [
{ "type": "string", "pattern": "^ses" },
{ "type": "null" }
]
},
"summary": {
"anyOf": [
{
"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
},
{ "type": "null" }
]
},
"cost": {
"anyOf": [{ "type": "number" }, { "type": "null" }]
},
"tokens": {
"anyOf": [
{
"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
},
{ "type": "null" }
]
},
"share": {
"type": "object",
"properties": {
"url": {
"anyOf": [{ "type": "string" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"title": {
"anyOf": [{ "type": "string" }, { "type": "null" }]
},
"agent": {
"anyOf": [{ "type": "string" }, { "type": "null" }]
},
"model": {
"anyOf": [
{
"type": "object",
"properties": {
"id": { "type": "string" },
"providerID": { "type": "string" },
"variant": { "type": "string" }
},
"required": ["id", "providerID"],
"additionalProperties": false
},
{ "type": "null" }
]
},
"version": {
"anyOf": [{ "type": "string" }, { "type": "null" }]
},
"time": {
"type": "object",
"properties": {
"created": {
"anyOf": [
{ "type": "integer", "minimum": 0 },
{ "type": "null" }
]
},
"updated": {
"anyOf": [
{ "type": "integer", "minimum": 0 },
{ "type": "null" }
]
},
"compacting": {
"anyOf": [
{ "type": "integer", "minimum": 0 },
{ "type": "null" }
]
},
"archived": {
"anyOf": [{ "type": "number" }, { "type": "null" }]
}
},
"additionalProperties": false
},
"permission": {
"anyOf": [
{ "$ref": "#/components/schemas/PermissionRuleset" },
{ "type": "null" }
]
},
"revert": {
"anyOf": [
{
"type": "object",
"properties": {
"messageID": { "type": "string", "pattern": "^msg" },
"partID": { "type": "string", "pattern": "^prt" },
"snapshot": { "type": "string" },
"diff": { "type": "string" }
},
"required": ["messageID"],
"additionalProperties": false
},
{ "type": "null" }
]
}
},
"additionalProperties": false
}
},
"required": ["sessionID", "info"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionDeleted": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.deleted.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"info": { "$ref": "#/components/schemas/Session" }
},
"required": ["sessionID", "info"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextAgentSwitched": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.agent.switched.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"agent": { "type": "string" }
},
"required": ["timestamp", "sessionID", "agent"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextModelSwitched": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.model.switched.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"model": {
"type": "object",
"properties": {
"id": { "type": "string" },
"providerID": { "type": "string" },
"variant": { "type": "string" }
},
"required": ["id", "providerID", "variant"],
"additionalProperties": false
}
},
"required": ["timestamp", "sessionID", "model"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextPrompted": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.prompted.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"prompt": { "$ref": "#/components/schemas/Prompt" }
},
"required": ["timestamp", "sessionID", "prompt"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextSynthetic": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.synthetic.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"text": { "type": "string" }
},
"required": ["timestamp", "sessionID", "text"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextShellStarted": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.shell.started.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"command": { "type": "string" }
},
"required": ["timestamp", "sessionID", "callID", "command"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextShellEnded": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.shell.ended.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"output": { "type": "string" }
},
"required": ["timestamp", "sessionID", "callID", "output"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextStepStarted": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.step.started.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"agent": { "type": "string" },
"model": {
"type": "object",
"properties": {
"id": { "type": "string" },
"providerID": { "type": "string" },
"variant": { "type": "string" }
},
"required": ["id", "providerID", "variant"],
"additionalProperties": false
},
"snapshot": { "type": "string" }
},
"required": ["timestamp", "sessionID", "agent", "model"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextStepEnded": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.step.ended.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"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" }
},
"required": ["timestamp", "sessionID", "finish", "cost", "tokens"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextStepFailed": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.step.failed.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"error": { "$ref": "#/components/schemas/SessionErrorUnknown" }
},
"required": ["timestamp", "sessionID", "error"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextTextStarted": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.text.started.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" }
},
"required": ["timestamp", "sessionID"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextTextDelta": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.text.delta.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"delta": { "type": "string" }
},
"required": ["timestamp", "sessionID", "delta"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextTextEnded": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.text.ended.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"text": { "type": "string" }
},
"required": ["timestamp", "sessionID", "text"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextReasoningStarted": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.reasoning.started.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"reasoningID": { "type": "string" }
},
"required": ["timestamp", "sessionID", "reasoningID"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextReasoningDelta": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.reasoning.delta.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"reasoningID": { "type": "string" },
"delta": { "type": "string" }
},
"required": ["timestamp", "sessionID", "reasoningID", "delta"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextReasoningEnded": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.reasoning.ended.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"reasoningID": { "type": "string" },
"text": { "type": "string" }
},
"required": ["timestamp", "sessionID", "reasoningID", "text"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextToolInputStarted": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.tool.input.started.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"name": { "type": "string" }
},
"required": ["timestamp", "sessionID", "callID", "name"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextToolInputDelta": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.tool.input.delta.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"delta": { "type": "string" }
},
"required": ["timestamp", "sessionID", "callID", "delta"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextToolInputEnded": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.tool.input.ended.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"text": { "type": "string" }
},
"required": ["timestamp", "sessionID", "callID", "text"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextToolCalled": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.tool.called.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"tool": { "type": "string" },
"input": { "type": "object" },
"provider": {
"type": "object",
"properties": {
"executed": { "type": "boolean" },
"metadata": { "type": "object" }
},
"required": ["executed"],
"additionalProperties": false
}
},
"required": [
"timestamp",
"sessionID",
"callID",
"tool",
"input",
"provider"
],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextToolProgress": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.tool.progress.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"structured": { "type": "object" },
"content": {
"type": "array",
"items": {
"anyOf": [
{ "$ref": "#/components/schemas/ToolTextContent" },
{ "$ref": "#/components/schemas/ToolFileContent" }
]
}
}
},
"required": [
"timestamp",
"sessionID",
"callID",
"structured",
"content"
],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextToolSuccess": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.tool.success.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"structured": { "type": "object" },
"content": {
"type": "array",
"items": {
"anyOf": [
{ "$ref": "#/components/schemas/ToolTextContent" },
{ "$ref": "#/components/schemas/ToolFileContent" }
]
}
},
"provider": {
"type": "object",
"properties": {
"executed": { "type": "boolean" },
"metadata": { "type": "object" }
},
"required": ["executed"],
"additionalProperties": false
}
},
"required": [
"timestamp",
"sessionID",
"callID",
"structured",
"content",
"provider"
],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextToolFailed": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.tool.failed.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"error": { "$ref": "#/components/schemas/SessionErrorUnknown" },
"provider": {
"type": "object",
"properties": {
"executed": { "type": "boolean" },
"metadata": { "type": "object" }
},
"required": ["executed"],
"additionalProperties": false
}
},
"required": [
"timestamp",
"sessionID",
"callID",
"error",
"provider"
],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextRetried": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.retried.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"attempt": { "type": "number" },
"error": { "$ref": "#/components/schemas/SessionNextRetry_error" }
},
"required": ["timestamp", "sessionID", "attempt", "error"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextCompactionStarted": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.compaction.started.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"reason": { "type": "string", "enum": ["auto", "manual"] }
},
"required": ["timestamp", "sessionID", "reason"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextCompactionDelta": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.compaction.delta.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"text": { "type": "string" }
},
"required": ["timestamp", "sessionID", "text"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"SyncEventSessionNextCompactionEnded": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["session.next.compaction.ended.1"] },
"id": { "type": "string" },
"seq": { "type": "number" },
"aggregateID": { "type": "string", "pattern": "^ses" },
"data": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"text": { "type": "string" },
"include": { "type": "string" }
},
"required": ["timestamp", "sessionID", "text"],
"additionalProperties": false
}
},
"required": ["type", "id", "seq", "aggregateID", "data"],
"additionalProperties": false
},
"EventServerInstanceDisposed": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["server.instance.disposed"] },
"properties": {
"type": "object",
"properties": { "directory": { "type": "string" } },
"required": ["directory"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventPermissionAsked": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["permission.asked"] },
"properties": { "$ref": "#/components/schemas/PermissionRequest" }
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventPermissionReplied": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["permission.replied"] },
"properties": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"requestID": { "type": "string", "pattern": "^per" },
"reply": {
"type": "string",
"enum": ["once", "always", "reject"]
}
},
"required": ["sessionID", "requestID", "reply"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventLspClientDiagnostics": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["lsp.client.diagnostics"] },
"properties": {
"type": "object",
"properties": {
"serverID": { "type": "string" },
"path": { "type": "string" }
},
"required": ["serverID", "path"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventLspUpdated": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["lsp.updated"] },
"properties": { "type": "object", "properties": {} }
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventMessagePartDelta": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["message.part.delta"] },
"properties": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"messageID": { "type": "string", "pattern": "^msg" },
"partID": { "type": "string", "pattern": "^prt" },
"field": { "type": "string" },
"delta": { "type": "string" }
},
"required": ["sessionID", "messageID", "partID", "field", "delta"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionDiff": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.diff"] },
"properties": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"diff": {
"type": "array",
"items": { "$ref": "#/components/schemas/SnapshotFileDiff" }
}
},
"required": ["sessionID", "diff"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionError": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.error"] },
"properties": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"error": {
"anyOf": [
{ "$ref": "#/components/schemas/ProviderAuthError" },
{ "$ref": "#/components/schemas/UnknownError" },
{ "$ref": "#/components/schemas/MessageOutputLengthError" },
{ "$ref": "#/components/schemas/MessageAbortedError" },
{ "$ref": "#/components/schemas/StructuredOutputError" },
{ "$ref": "#/components/schemas/ContextOverflowError" },
{ "$ref": "#/components/schemas/APIError" }
]
}
},
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventMcpToolsChanged": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["mcp.tools.changed"] },
"properties": {
"type": "object",
"properties": { "server": { "type": "string" } },
"required": ["server"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventMcpBrowserOpenFailed": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["mcp.browser.open.failed"] },
"properties": {
"type": "object",
"properties": {
"mcpName": { "type": "string" },
"url": { "type": "string" }
},
"required": ["mcpName", "url"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventCommandExecuted": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["command.executed"] },
"properties": {
"type": "object",
"properties": {
"name": { "type": "string" },
"sessionID": { "type": "string", "pattern": "^ses" },
"arguments": { "type": "string" },
"messageID": { "type": "string", "pattern": "^msg" }
},
"required": ["name", "sessionID", "arguments", "messageID"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventProjectUpdated": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["project.updated"] },
"properties": { "$ref": "#/components/schemas/Project" }
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventWorktreeReady": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["worktree.ready"] },
"properties": {
"type": "object",
"properties": {
"name": { "type": "string" },
"branch": { "type": "string" }
},
"required": ["name"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventWorktreeFailed": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["worktree.failed"] },
"properties": {
"type": "object",
"properties": { "message": { "type": "string" } },
"required": ["message"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventFileEdited": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["file.edited"] },
"properties": {
"type": "object",
"properties": { "file": { "type": "string" } },
"required": ["file"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventFileWatcherUpdated": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["file.watcher.updated"] },
"properties": {
"type": "object",
"properties": {
"file": { "type": "string" },
"event": { "type": "string", "enum": ["add", "change", "unlink"] }
},
"required": ["file", "event"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventVcsBranchUpdated": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["vcs.branch.updated"] },
"properties": {
"type": "object",
"properties": { "branch": { "type": "string" } },
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventInstallationUpdated": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["installation.updated"] },
"properties": {
"type": "object",
"properties": { "version": { "type": "string" } },
"required": ["version"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventInstallationUpdate-available": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": {
"type": "string",
"enum": ["installation.update-available"]
},
"properties": {
"type": "object",
"properties": { "version": { "type": "string" } },
"required": ["version"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventPtyCreated": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["pty.created"] },
"properties": {
"type": "object",
"properties": { "info": { "$ref": "#/components/schemas/Pty" } },
"required": ["info"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventPtyUpdated": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["pty.updated"] },
"properties": {
"type": "object",
"properties": { "info": { "$ref": "#/components/schemas/Pty" } },
"required": ["info"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventPtyExited": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["pty.exited"] },
"properties": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^pty" },
"exitCode": { "type": "integer", "minimum": 0 }
},
"required": ["id", "exitCode"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventPtyDeleted": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["pty.deleted"] },
"properties": {
"type": "object",
"properties": { "id": { "type": "string", "pattern": "^pty" } },
"required": ["id"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventQuestionAsked": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["question.asked"] },
"properties": { "$ref": "#/components/schemas/QuestionRequest" }
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventQuestionReplied": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["question.replied"] },
"properties": { "$ref": "#/components/schemas/QuestionReplied" }
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventQuestionRejected": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["question.rejected"] },
"properties": { "$ref": "#/components/schemas/QuestionRejected" }
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionStatus": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.status"] },
"properties": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"status": { "$ref": "#/components/schemas/SessionStatus" }
},
"required": ["sessionID", "status"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionIdle": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.idle"] },
"properties": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" }
},
"required": ["sessionID"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionCompacted": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.compacted"] },
"properties": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" }
},
"required": ["sessionID"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventTodoUpdated": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["todo.updated"] },
"properties": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"todos": {
"type": "array",
"items": { "$ref": "#/components/schemas/Todo" }
}
},
"required": ["sessionID", "todos"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventWorkspaceReady": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["workspace.ready"] },
"properties": {
"type": "object",
"properties": { "name": { "type": "string" } },
"required": ["name"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventWorkspaceFailed": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["workspace.failed"] },
"properties": {
"type": "object",
"properties": { "message": { "type": "string" } },
"required": ["message"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventWorkspaceStatus": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["workspace.status"] },
"properties": {
"type": "object",
"properties": {
"workspaceID": { "type": "string", "pattern": "^wrk" },
"status": {
"type": "string",
"enum": ["connected", "connecting", "disconnected", "error"]
}
},
"required": ["workspaceID", "status"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventMessageUpdated": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["message.updated"] },
"properties": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"info": { "$ref": "#/components/schemas/Message" }
},
"required": ["sessionID", "info"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventMessageRemoved": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["message.removed"] },
"properties": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"messageID": { "type": "string", "pattern": "^msg" }
},
"required": ["sessionID", "messageID"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventMessagePartUpdated": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["message.part.updated"] },
"properties": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"part": { "$ref": "#/components/schemas/Part" },
"time": { "type": "integer", "minimum": 0 }
},
"required": ["sessionID", "part", "time"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventMessagePartRemoved": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["message.part.removed"] },
"properties": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"messageID": { "type": "string", "pattern": "^msg" },
"partID": { "type": "string", "pattern": "^prt" }
},
"required": ["sessionID", "messageID", "partID"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionCreated": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.created"] },
"properties": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"info": { "$ref": "#/components/schemas/Session" }
},
"required": ["sessionID", "info"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionUpdated": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.updated"] },
"properties": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"info": { "$ref": "#/components/schemas/Session" }
},
"required": ["sessionID", "info"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionDeleted": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.deleted"] },
"properties": {
"type": "object",
"properties": {
"sessionID": { "type": "string", "pattern": "^ses" },
"info": { "$ref": "#/components/schemas/Session" }
},
"required": ["sessionID", "info"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextAgentSwitched": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.next.agent.switched"] },
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"agent": { "type": "string" }
},
"required": ["timestamp", "sessionID", "agent"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextModelSwitched": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.next.model.switched"] },
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"model": {
"type": "object",
"properties": {
"id": { "type": "string" },
"providerID": { "type": "string" },
"variant": { "type": "string" }
},
"required": ["id", "providerID", "variant"],
"additionalProperties": false
}
},
"required": ["timestamp", "sessionID", "model"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"PromptSource": {
"type": "object",
"properties": {
"start": { "type": "number" },
"end": { "type": "number" },
"text": { "type": "string" }
},
"required": ["start", "end", "text"],
"additionalProperties": false
},
"PromptFileAttachment": {
"type": "object",
"properties": {
"uri": { "type": "string" },
"mime": { "type": "string" },
"name": { "type": "string" },
"description": { "type": "string" },
"source": { "$ref": "#/components/schemas/PromptSource" }
},
"required": ["uri", "mime"],
"additionalProperties": false
},
"PromptAgentAttachment": {
"type": "object",
"properties": {
"name": { "type": "string" },
"source": { "$ref": "#/components/schemas/PromptSource" }
},
"required": ["name"],
"additionalProperties": false
},
"PromptReferenceAttachment": {
"type": "object",
"properties": {
"name": { "type": "string" },
"kind": { "type": "string", "enum": ["local", "git", "invalid"] },
"uri": { "type": "string" },
"repository": { "type": "string" },
"branch": { "type": "string" },
"target": { "type": "string" },
"targetUri": { "type": "string" },
"problem": { "type": "string" },
"source": { "$ref": "#/components/schemas/PromptSource" }
},
"required": ["name", "kind"],
"additionalProperties": false
},
"EventSessionNextPrompted": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.next.prompted"] },
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"prompt": { "$ref": "#/components/schemas/Prompt" }
},
"required": ["timestamp", "sessionID", "prompt"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextSynthetic": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.next.synthetic"] },
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"text": { "type": "string" }
},
"required": ["timestamp", "sessionID", "text"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextShellStarted": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.next.shell.started"] },
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"command": { "type": "string" }
},
"required": ["timestamp", "sessionID", "callID", "command"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextShellEnded": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.next.shell.ended"] },
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"output": { "type": "string" }
},
"required": ["timestamp", "sessionID", "callID", "output"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextStepStarted": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.next.step.started"] },
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"agent": { "type": "string" },
"model": {
"type": "object",
"properties": {
"id": { "type": "string" },
"providerID": { "type": "string" },
"variant": { "type": "string" }
},
"required": ["id", "providerID", "variant"],
"additionalProperties": false
},
"snapshot": { "type": "string" }
},
"required": ["timestamp", "sessionID", "agent", "model"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextStepEnded": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.next.step.ended"] },
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"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" }
},
"required": ["timestamp", "sessionID", "finish", "cost", "tokens"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"SessionErrorUnknown": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["unknown"] },
"message": { "type": "string" }
},
"required": ["type", "message"],
"additionalProperties": false
},
"EventSessionNextStepFailed": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.next.step.failed"] },
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"error": { "$ref": "#/components/schemas/SessionErrorUnknown" }
},
"required": ["timestamp", "sessionID", "error"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextTextStarted": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.next.text.started"] },
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" }
},
"required": ["timestamp", "sessionID"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextTextDelta": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.next.text.delta"] },
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"delta": { "type": "string" }
},
"required": ["timestamp", "sessionID", "delta"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextTextEnded": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.next.text.ended"] },
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"text": { "type": "string" }
},
"required": ["timestamp", "sessionID", "text"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextReasoningStarted": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": {
"type": "string",
"enum": ["session.next.reasoning.started"]
},
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"reasoningID": { "type": "string" }
},
"required": ["timestamp", "sessionID", "reasoningID"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextReasoningDelta": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": {
"type": "string",
"enum": ["session.next.reasoning.delta"]
},
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"reasoningID": { "type": "string" },
"delta": { "type": "string" }
},
"required": ["timestamp", "sessionID", "reasoningID", "delta"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextReasoningEnded": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": {
"type": "string",
"enum": ["session.next.reasoning.ended"]
},
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"reasoningID": { "type": "string" },
"text": { "type": "string" }
},
"required": ["timestamp", "sessionID", "reasoningID", "text"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextToolInputStarted": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": {
"type": "string",
"enum": ["session.next.tool.input.started"]
},
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"name": { "type": "string" }
},
"required": ["timestamp", "sessionID", "callID", "name"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextToolInputDelta": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": {
"type": "string",
"enum": ["session.next.tool.input.delta"]
},
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"delta": { "type": "string" }
},
"required": ["timestamp", "sessionID", "callID", "delta"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextToolInputEnded": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": {
"type": "string",
"enum": ["session.next.tool.input.ended"]
},
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"text": { "type": "string" }
},
"required": ["timestamp", "sessionID", "callID", "text"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextToolCalled": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.next.tool.called"] },
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"tool": { "type": "string" },
"input": { "type": "object" },
"provider": {
"type": "object",
"properties": {
"executed": { "type": "boolean" },
"metadata": { "type": "object" }
},
"required": ["executed"],
"additionalProperties": false
}
},
"required": [
"timestamp",
"sessionID",
"callID",
"tool",
"input",
"provider"
],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"ToolTextContent": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["text"] },
"text": { "type": "string" }
},
"required": ["type", "text"],
"additionalProperties": false
},
"ToolFileContent": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["file"] },
"uri": { "type": "string" },
"mime": { "type": "string" },
"name": { "type": "string" }
},
"required": ["type", "uri", "mime"],
"additionalProperties": false
},
"EventSessionNextToolProgress": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.next.tool.progress"] },
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"structured": { "type": "object" },
"content": {
"type": "array",
"items": {
"anyOf": [
{ "$ref": "#/components/schemas/ToolTextContent" },
{ "$ref": "#/components/schemas/ToolFileContent" }
]
}
}
},
"required": [
"timestamp",
"sessionID",
"callID",
"structured",
"content"
],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextToolSuccess": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.next.tool.success"] },
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"structured": { "type": "object" },
"content": {
"type": "array",
"items": {
"anyOf": [
{ "$ref": "#/components/schemas/ToolTextContent" },
{ "$ref": "#/components/schemas/ToolFileContent" }
]
}
},
"provider": {
"type": "object",
"properties": {
"executed": { "type": "boolean" },
"metadata": { "type": "object" }
},
"required": ["executed"],
"additionalProperties": false
}
},
"required": [
"timestamp",
"sessionID",
"callID",
"structured",
"content",
"provider"
],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextToolFailed": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.next.tool.failed"] },
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"callID": { "type": "string" },
"error": { "$ref": "#/components/schemas/SessionErrorUnknown" },
"provider": {
"type": "object",
"properties": {
"executed": { "type": "boolean" },
"metadata": { "type": "object" }
},
"required": ["executed"],
"additionalProperties": false
}
},
"required": [
"timestamp",
"sessionID",
"callID",
"error",
"provider"
],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"SessionNextRetry_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
},
"EventSessionNextRetried": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["session.next.retried"] },
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"attempt": { "type": "number" },
"error": { "$ref": "#/components/schemas/SessionNextRetry_error" }
},
"required": ["timestamp", "sessionID", "attempt", "error"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextCompactionStarted": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": {
"type": "string",
"enum": ["session.next.compaction.started"]
},
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"reason": { "type": "string", "enum": ["auto", "manual"] }
},
"required": ["timestamp", "sessionID", "reason"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextCompactionDelta": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": {
"type": "string",
"enum": ["session.next.compaction.delta"]
},
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"text": { "type": "string" }
},
"required": ["timestamp", "sessionID", "text"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventSessionNextCompactionEnded": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": {
"type": "string",
"enum": ["session.next.compaction.ended"]
},
"properties": {
"type": "object",
"properties": {
"timestamp": { "type": "number" },
"sessionID": { "type": "string", "pattern": "^ses" },
"text": { "type": "string" },
"include": { "type": "string" }
},
"required": ["timestamp", "sessionID", "text"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventServerConnected": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["server.connected"] },
"properties": { "type": "object", "properties": {} }
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventGlobalDisposed": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["global.disposed"] },
"properties": { "type": "object", "properties": {} }
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventModels-devRefreshed": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["models-dev.refreshed"] },
"properties": { "type": "object", "properties": {} }
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"AccountV2OAuthCredential": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["oauth"] },
"refresh": { "type": "string" },
"access": { "type": "string" },
"expires": { "type": "integer", "minimum": 0 }
},
"required": ["type", "refresh", "access", "expires"],
"additionalProperties": false
},
"AccountV2ApiKeyCredential": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["api"] },
"key": { "type": "string" },
"metadata": {
"type": "object",
"additionalProperties": { "type": "string" }
}
},
"required": ["type", "key"],
"additionalProperties": false
},
"AccountV2Credential": {
"anyOf": [
{ "$ref": "#/components/schemas/AccountV2OAuthCredential" },
{ "$ref": "#/components/schemas/AccountV2ApiKeyCredential" }
]
},
"AccountV2Info": {
"type": "object",
"properties": {
"id": { "type": "string" },
"serviceID": { "type": "string" },
"description": { "type": "string" },
"credential": { "$ref": "#/components/schemas/AccountV2Credential" }
},
"required": ["id", "serviceID", "description", "credential"],
"additionalProperties": false
},
"EventAccountAdded": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["account.added"] },
"properties": {
"type": "object",
"properties": {
"account": { "$ref": "#/components/schemas/AccountV2Info" }
},
"required": ["account"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventAccountRemoved": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["account.removed"] },
"properties": {
"type": "object",
"properties": {
"account": { "$ref": "#/components/schemas/AccountV2Info" }
},
"required": ["account"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"EventAccountSwitched": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["account.switched"] },
"properties": {
"type": "object",
"properties": {
"serviceID": { "type": "string" },
"from": { "type": "string" },
"to": { "type": "string" }
},
"required": ["serviceID"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"ModelV2Info": {
"type": "object",
"properties": {
"id": { "type": "string" },
"apiID": { "type": "string" },
"providerID": { "type": "string" },
"family": { "type": "string" },
"name": { "type": "string" },
"endpoint": {
"anyOf": [
{
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["unknown"] }
},
"required": ["type"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["openai/responses"] },
"url": { "type": "string" },
"websocket": { "type": "boolean" }
},
"required": ["type", "url"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["openai/completions"] },
"url": { "type": "string" },
"reasoning": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["reasoning_content"]
}
},
"required": ["type"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["reasoning_details"]
}
},
"required": ["type"],
"additionalProperties": false
}
]
}
},
"required": ["type", "url"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["anthropic/messages"] },
"url": { "type": "string" }
},
"required": ["type", "url"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["aisdk"] },
"package": { "type": "string" },
"url": { "type": "string" }
},
"required": ["type", "package"],
"additionalProperties": false
}
]
},
"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
},
"options": {
"type": "object",
"properties": {
"headers": {
"type": "object",
"additionalProperties": { "type": "string" }
},
"body": { "type": "object" },
"aisdk": {
"type": "object",
"properties": {
"provider": { "type": "object" },
"request": { "type": "object" }
},
"required": ["provider", "request"],
"additionalProperties": false
},
"variant": { "type": "string" }
},
"required": ["headers", "body", "aisdk"],
"additionalProperties": false
},
"variants": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string" },
"headers": {
"type": "object",
"additionalProperties": { "type": "string" }
},
"body": { "type": "object" },
"aisdk": {
"type": "object",
"properties": {
"provider": { "type": "object" },
"request": { "type": "object" }
},
"required": ["provider", "request"],
"additionalProperties": false
}
},
"required": ["id", "headers", "body", "aisdk"],
"additionalProperties": false
}
},
"time": {
"type": "object",
"properties": {
"released": {
"anyOf": [
{ "type": "number" },
{ "type": "string", "enum": ["NaN"] },
{ "type": "string", "enum": ["Infinity"] },
{ "type": "string", "enum": ["-Infinity"] },
{ "type": "string", "enum": ["Infinity", "-Infinity", "NaN"] }
]
}
},
"required": ["released"],
"additionalProperties": false
},
"cost": {
"type": "array",
"items": {
"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
}
},
"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",
"apiID",
"providerID",
"name",
"endpoint",
"capabilities",
"options",
"variants",
"time",
"cost",
"status",
"enabled",
"limit"
],
"additionalProperties": false
},
"EventCatalogModelUpdated": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["catalog.model.updated"] },
"properties": {
"type": "object",
"properties": {
"model": { "$ref": "#/components/schemas/ModelV2Info" }
},
"required": ["model"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"SessionInfo": {
"type": "object",
"properties": {
"id": { "type": "string", "pattern": "^ses" },
"parentID": { "type": "string", "pattern": "^ses" },
"projectID": { "type": "string" },
"workspaceID": { "type": "string", "pattern": "^wrk" },
"path": { "type": "string" },
"agent": { "type": "string" },
"model": {
"type": "object",
"properties": {
"id": { "type": "string" },
"providerID": { "type": "string" },
"variant": { "type": "string" }
},
"required": ["id", "providerID", "variant"],
"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
},
"time": {
"type": "object",
"properties": {
"created": { "type": "number" },
"updated": { "type": "number" },
"archived": { "type": "number" }
},
"required": ["created", "updated"],
"additionalProperties": false
},
"title": { "type": "string" }
},
"required": ["id", "projectID", "cost", "tokens", "time", "title"],
"additionalProperties": false
},
"SessionDelivery": {
"type": "string",
"enum": ["immediate", "deferred"]
},
"SessionMessageAgentSwitched": {
"type": "object",
"properties": {
"id": { "type": "string" },
"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
},
"SessionMessageModelSwitched": {
"type": "object",
"properties": {
"id": { "type": "string" },
"metadata": { "type": "object" },
"time": {
"type": "object",
"properties": { "created": { "type": "number" } },
"required": ["created"],
"additionalProperties": false
},
"type": { "type": "string", "enum": ["model-switched"] },
"model": {
"type": "object",
"properties": {
"id": { "type": "string" },
"providerID": { "type": "string" },
"variant": { "type": "string" }
},
"required": ["id", "providerID", "variant"],
"additionalProperties": false
}
},
"required": ["id", "time", "type", "model"],
"additionalProperties": false
},
"SessionMessageUser": {
"type": "object",
"properties": {
"id": { "type": "string" },
"metadata": { "type": "object" },
"time": {
"type": "object",
"properties": { "created": { "type": "number" } },
"required": ["created"],
"additionalProperties": false
},
"text": { "type": "string" },
"files": {
"type": "array",
"items": { "$ref": "#/components/schemas/PromptFileAttachment" }
},
"agents": {
"type": "array",
"items": { "$ref": "#/components/schemas/PromptAgentAttachment" }
},
"references": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PromptReferenceAttachment"
}
},
"type": { "type": "string", "enum": ["user"] }
},
"required": ["id", "time", "text", "type"],
"additionalProperties": false
},
"SessionMessageSynthetic": {
"type": "object",
"properties": {
"id": { "type": "string" },
"metadata": { "type": "object" },
"time": {
"type": "object",
"properties": { "created": { "type": "number" } },
"required": ["created"],
"additionalProperties": false
},
"sessionID": { "type": "string", "pattern": "^ses" },
"text": { "type": "string" },
"type": { "type": "string", "enum": ["synthetic"] }
},
"required": ["id", "time", "sessionID", "text", "type"],
"additionalProperties": false
},
"SessionMessageShell": {
"type": "object",
"properties": {
"id": { "type": "string" },
"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
},
"SessionMessageAssistantText": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["text"] },
"text": { "type": "string" }
},
"required": ["type", "text"],
"additionalProperties": false
},
"SessionMessageAssistantReasoning": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["reasoning"] },
"id": { "type": "string" },
"text": { "type": "string" }
},
"required": ["type", "id", "text"],
"additionalProperties": false
},
"SessionMessageToolStatePending": {
"type": "object",
"properties": {
"status": { "type": "string", "enum": ["pending"] },
"input": { "type": "string" }
},
"required": ["status", "input"],
"additionalProperties": false
},
"SessionMessageToolStateRunning": {
"type": "object",
"properties": {
"status": { "type": "string", "enum": ["running"] },
"input": { "type": "object" },
"structured": { "type": "object" },
"content": {
"type": "array",
"items": {
"anyOf": [
{ "$ref": "#/components/schemas/ToolTextContent" },
{ "$ref": "#/components/schemas/ToolFileContent" }
]
}
}
},
"required": ["status", "input", "structured", "content"],
"additionalProperties": false
},
"SessionMessageToolStateCompleted": {
"type": "object",
"properties": {
"status": { "type": "string", "enum": ["completed"] },
"input": { "type": "object" },
"attachments": {
"type": "array",
"items": { "$ref": "#/components/schemas/PromptFileAttachment" }
},
"content": {
"type": "array",
"items": {
"anyOf": [
{ "$ref": "#/components/schemas/ToolTextContent" },
{ "$ref": "#/components/schemas/ToolFileContent" }
]
}
},
"structured": { "type": "object" }
},
"required": ["status", "input", "content", "structured"],
"additionalProperties": false
},
"SessionMessageToolStateError": {
"type": "object",
"properties": {
"status": { "type": "string", "enum": ["error"] },
"input": { "type": "object" },
"content": {
"type": "array",
"items": {
"anyOf": [
{ "$ref": "#/components/schemas/ToolTextContent" },
{ "$ref": "#/components/schemas/ToolFileContent" }
]
}
},
"structured": { "type": "object" },
"error": { "$ref": "#/components/schemas/SessionErrorUnknown" }
},
"required": ["status", "input", "content", "structured", "error"],
"additionalProperties": false
},
"SessionMessageAssistantTool": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["tool"] },
"id": { "type": "string" },
"name": { "type": "string" },
"provider": {
"type": "object",
"properties": {
"executed": { "type": "boolean" },
"metadata": { "type": "object" }
},
"required": ["executed"],
"additionalProperties": false
},
"state": {
"anyOf": [
{ "$ref": "#/components/schemas/SessionMessageToolStatePending" },
{ "$ref": "#/components/schemas/SessionMessageToolStateRunning" },
{
"$ref": "#/components/schemas/SessionMessageToolStateCompleted"
},
{ "$ref": "#/components/schemas/SessionMessageToolStateError" }
]
},
"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
},
"SessionMessageAssistant": {
"type": "object",
"properties": {
"id": { "type": "string" },
"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": {
"type": "object",
"properties": {
"id": { "type": "string" },
"providerID": { "type": "string" },
"variant": { "type": "string" }
},
"required": ["id", "providerID", "variant"],
"additionalProperties": false
},
"content": {
"type": "array",
"items": {
"anyOf": [
{ "$ref": "#/components/schemas/SessionMessageAssistantText" },
{
"$ref": "#/components/schemas/SessionMessageAssistantReasoning"
},
{ "$ref": "#/components/schemas/SessionMessageAssistantTool" }
]
}
},
"snapshot": {
"type": "object",
"properties": {
"start": { "type": "string" },
"end": { "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/SessionErrorUnknown" }
},
"required": ["id", "time", "type", "agent", "model", "content"],
"additionalProperties": false
},
"SessionMessageCompaction": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["compaction"] },
"reason": { "type": "string", "enum": ["auto", "manual"] },
"summary": { "type": "string" },
"include": { "type": "string" },
"id": { "type": "string" },
"metadata": { "type": "object" },
"time": {
"type": "object",
"properties": { "created": { "type": "number" } },
"required": ["created"],
"additionalProperties": false
}
},
"required": ["type", "reason", "summary", "id", "time"],
"additionalProperties": false
},
"SessionMessage": {
"anyOf": [
{ "$ref": "#/components/schemas/SessionMessageAgentSwitched" },
{ "$ref": "#/components/schemas/SessionMessageModelSwitched" },
{ "$ref": "#/components/schemas/SessionMessageUser" },
{ "$ref": "#/components/schemas/SessionMessageSynthetic" },
{ "$ref": "#/components/schemas/SessionMessageShell" },
{ "$ref": "#/components/schemas/SessionMessageAssistant" },
{ "$ref": "#/components/schemas/SessionMessageCompaction" }
]
},
"ProviderV2Info": {
"type": "object",
"properties": {
"id": { "type": "string" },
"name": { "type": "string" },
"enabled": {
"anyOf": [
{ "type": "boolean", "enum": [false] },
{
"type": "object",
"properties": {
"via": { "type": "string", "enum": ["env"] },
"name": { "type": "string" }
},
"required": ["via", "name"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"via": { "type": "string", "enum": ["account"] },
"service": { "type": "string" }
},
"required": ["via", "service"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"via": { "type": "string", "enum": ["custom"] },
"data": { "type": "object" }
},
"required": ["via", "data"],
"additionalProperties": false
}
]
},
"env": { "type": "array", "items": { "type": "string" } },
"endpoint": {
"anyOf": [
{
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["unknown"] }
},
"required": ["type"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["openai/responses"] },
"url": { "type": "string" },
"websocket": { "type": "boolean" }
},
"required": ["type", "url"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["openai/completions"] },
"url": { "type": "string" },
"reasoning": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["reasoning_content"]
}
},
"required": ["type"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["reasoning_details"]
}
},
"required": ["type"],
"additionalProperties": false
}
]
}
},
"required": ["type", "url"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["anthropic/messages"] },
"url": { "type": "string" }
},
"required": ["type", "url"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["aisdk"] },
"package": { "type": "string" },
"url": { "type": "string" }
},
"required": ["type", "package"],
"additionalProperties": false
}
]
},
"options": {
"type": "object",
"properties": {
"headers": {
"type": "object",
"additionalProperties": { "type": "string" }
},
"body": { "type": "object" },
"aisdk": {
"type": "object",
"properties": {
"provider": { "type": "object" },
"request": { "type": "object" }
},
"required": ["provider", "request"],
"additionalProperties": false
}
},
"required": ["headers", "body", "aisdk"],
"additionalProperties": false
}
},
"required": ["id", "name", "enabled", "env", "endpoint", "options"],
"additionalProperties": false
},
"EventTuiToastShow1": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["tui.toast.show"] },
"properties": {
"type": "object",
"properties": {
"title": { "type": "string" },
"message": { "type": "string" },
"variant": {
"type": "string",
"enum": ["info", "success", "warning", "error"]
},
"duration": { "type": "integer", "exclusiveMinimum": 0 }
},
"required": ["message", "variant"],
"additionalProperties": false
}
},
"required": ["id", "type", "properties"],
"additionalProperties": false
},
"ModelV2Info1": {
"type": "object",
"properties": {
"id": { "type": "string" },
"apiID": { "type": "string" },
"providerID": { "type": "string" },
"family": { "type": "string" },
"name": { "type": "string" },
"endpoint": {
"anyOf": [
{
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["unknown"] }
},
"required": ["type"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["openai/responses"] },
"url": { "type": "string" },
"websocket": { "type": "boolean" }
},
"required": ["type", "url"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["openai/completions"] },
"url": { "type": "string" },
"reasoning": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["reasoning_content"]
}
},
"required": ["type"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["reasoning_details"]
}
},
"required": ["type"],
"additionalProperties": false
}
]
}
},
"required": ["type", "url"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["anthropic/messages"] },
"url": { "type": "string" }
},
"required": ["type", "url"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["aisdk"] },
"package": { "type": "string" },
"url": { "type": "string" }
},
"required": ["type", "package"],
"additionalProperties": false
}
]
},
"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
},
"options": {
"type": "object",
"properties": {
"headers": {
"type": "object",
"additionalProperties": { "type": "string" }
},
"body": { "type": "object" },
"aisdk": {
"type": "object",
"properties": {
"provider": { "type": "object" },
"request": { "type": "object" }
},
"required": ["provider", "request"],
"additionalProperties": false
},
"variant": { "type": "string" }
},
"required": ["headers", "body", "aisdk"],
"additionalProperties": false
},
"variants": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string" },
"headers": {
"type": "object",
"additionalProperties": { "type": "string" }
},
"body": { "type": "object" },
"aisdk": {
"type": "object",
"properties": {
"provider": { "type": "object" },
"request": { "type": "object" }
},
"required": ["provider", "request"],
"additionalProperties": false
}
},
"required": ["id", "headers", "body", "aisdk"],
"additionalProperties": false
}
},
"time": {
"type": "object",
"properties": {
"released": {
"anyOf": [
{ "type": "number" },
{ "type": "string", "enum": ["NaN"] },
{ "type": "string", "enum": ["Infinity"] },
{ "type": "string", "enum": ["-Infinity"] }
]
}
},
"required": ["released"],
"additionalProperties": false
},
"cost": {
"type": "array",
"items": {
"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
}
},
"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",
"apiID",
"providerID",
"name",
"endpoint",
"capabilities",
"options",
"variants",
"time",
"cost",
"status",
"enabled",
"limit"
],
"additionalProperties": false
},
"BadRequestError": {
"type": "object",
"required": ["name", "data"],
"properties": {
"name": { "type": "string", "enum": ["BadRequest"] },
"data": {
"type": "object",
"required": ["message"],
"properties": {
"message": { "type": "string" },
"kind": {
"type": "string",
"enum": ["Params", "Headers", "Query", "Body", "Payload"]
}
}
}
}
}
}
},
"security": [],
"tags": [
{ "name": "control", "description": "Control plane routes." },
{ "name": "global", "description": "Global server routes." },
{ "name": "event", "description": "Instance event stream route." },
{ "name": "config", "description": "Experimental HttpApi config routes." },
{
"name": "experimental",
"description": "Experimental HttpApi read-only routes."
},
{ "name": "file", "description": "Experimental HttpApi file routes." },
{
"name": "instance",
"description": "Experimental HttpApi instance read routes."
},
{ "name": "mcp", "description": "Experimental HttpApi MCP routes." },
{
"name": "project",
"description": "Experimental HttpApi project routes."
},
{ "name": "pty", "description": "Experimental HttpApi PTY routes." },
{ "name": "question", "description": "Question routes." },
{
"name": "permission",
"description": "Experimental HttpApi permission routes."
},
{
"name": "provider",
"description": "Experimental HttpApi provider routes."
},
{
"name": "session",
"description": "Experimental HttpApi session routes."
},
{ "name": "sync", "description": "Experimental HttpApi sync routes." },
{ "name": "v2", "description": "Experimental v2 routes." },
{ "name": "v2 messages", "description": "Experimental v2 message routes." },
{ "name": "v2 models", "description": "Experimental v2 model routes." },
{
"name": "v2 providers",
"description": "Experimental v2 provider routes."
},
{ "name": "tui", "description": "Experimental HttpApi TUI routes." },
{
"name": "workspace",
"description": "Experimental HttpApi workspace routes."
},
{ "name": "pty", "description": "PTY websocket route." }
]
}