mirror of
https://github.com/anomalyco/opencode.git
synced 2026-05-08 01:52:33 +00:00
18127 lines
492 KiB
JSON
18127 lines
492 KiB
JSON
{
|
|
"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": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Set authentication credentials",
|
|
"summary": "Set auth credentials",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Auth"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.auth.set({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"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": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Remove authentication credentials",
|
|
"summary": "Remove auth credentials",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.auth.remove({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/log": {
|
|
"post": {
|
|
"tags": ["control"],
|
|
"operationId": "app.log",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Log entry written successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Log entry written successfully"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.app.log({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get health information about the OpenCode server.",
|
|
"summary": "Get health",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.global.health({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/global/event": {
|
|
"get": {
|
|
"tags": ["global"],
|
|
"operationId": "global.event",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Event stream",
|
|
"content": {
|
|
"text/event-stream": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GlobalEvent"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Subscribe to global events from the OpenCode system using server-sent events.",
|
|
"summary": "Get global events",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.global.event({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve the current global OpenCode configuration settings and preferences.",
|
|
"summary": "Get global configuration",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.global.config.get({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"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": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Update global OpenCode configuration settings and preferences.",
|
|
"summary": "Update global configuration",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Config"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.global.config.update({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/global/dispose": {
|
|
"post": {
|
|
"tags": ["global"],
|
|
"operationId": "global.dispose",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Global disposed",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Global disposed"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Clean up and dispose all OpenCode instances, releasing all resources.",
|
|
"summary": "Dispose instance",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.global.dispose({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/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": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.global.upgrade({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/event": {
|
|
"get": {
|
|
"tags": ["event"],
|
|
"operationId": "event.subscribe",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Event stream",
|
|
"content": {
|
|
"text/event-stream": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Event"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get events",
|
|
"summary": "Subscribe to events",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.event.subscribe({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/config": {
|
|
"get": {
|
|
"tags": ["config"],
|
|
"operationId": "config.get",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Get config info",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Config"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve the current OpenCode configuration settings and preferences.",
|
|
"summary": "Get configuration",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.config.get({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"patch": {
|
|
"tags": ["config"],
|
|
"operationId": "config.update",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successfully updated config",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Config"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Update OpenCode configuration settings and preferences.",
|
|
"summary": "Update configuration",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Config"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.config.update({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/config/providers": {
|
|
"get": {
|
|
"tags": ["config"],
|
|
"operationId": "config.providers",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get a list of all configured AI providers and their default models.",
|
|
"summary": "List config providers",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.config.providers({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/experimental/console": {
|
|
"get": {
|
|
"tags": ["experimental"],
|
|
"operationId": "experimental.console.get",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Active Console provider metadata",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ConsoleState"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get the active Console org name and the set of provider IDs managed by that Console org.",
|
|
"summary": "Get active Console provider metadata",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.experimental.console.get({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/experimental/console/orgs": {
|
|
"get": {
|
|
"tags": ["experimental"],
|
|
"operationId": "experimental.console.listOrgs",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get the available Console orgs across logged-in accounts, including the current active org.",
|
|
"summary": "List switchable Console orgs",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.experimental.console.listOrgs({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/experimental/console/switch": {
|
|
"post": {
|
|
"tags": ["experimental"],
|
|
"operationId": "experimental.console.switchOrg",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.experimental.console.switchOrg({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/experimental/tool": {
|
|
"get": {
|
|
"tags": ["experimental"],
|
|
"operationId": "tool.list",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"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": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get a list of available tools with their JSON schema parameters for a specific provider and model combination.",
|
|
"summary": "List tools",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tool.list({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/experimental/tool/ids": {
|
|
"get": {
|
|
"tags": ["experimental"],
|
|
"operationId": "tool.ids",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Tool IDs",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ToolIDs"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get a list of all available tool IDs, including both built-in tools and dynamically registered tools.",
|
|
"summary": "List tool IDs",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tool.ids({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/experimental/worktree": {
|
|
"get": {
|
|
"tags": ["experimental"],
|
|
"operationId": "worktree.list",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "List of worktree directories",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "List of worktree directories"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "List all sandbox worktrees for the current project.",
|
|
"summary": "List worktrees",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.worktree.list({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": ["experimental"],
|
|
"operationId": "worktree.create",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Worktree created",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Worktree"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.worktree.create({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"tags": ["experimental"],
|
|
"operationId": "worktree.remove",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Worktree removed",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Worktree removed"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Remove a git worktree and delete its branch.",
|
|
"summary": "Remove worktree",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/WorktreeRemoveInput"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.worktree.remove({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/experimental/worktree/reset": {
|
|
"post": {
|
|
"tags": ["experimental"],
|
|
"operationId": "worktree.reset",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Worktree reset",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Worktree reset"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Reset a worktree branch to the primary default branch.",
|
|
"summary": "Reset worktree",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/WorktreeResetInput"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.worktree.reset({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/experimental/session": {
|
|
"get": {
|
|
"tags": ["experimental"],
|
|
"operationId": "experimental.session.list",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get a list of all OpenCode sessions across projects, sorted by most recently updated. Archived sessions are excluded by default.",
|
|
"summary": "List sessions",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.experimental.session.list({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/experimental/resource": {
|
|
"get": {
|
|
"tags": ["experimental"],
|
|
"operationId": "experimental.resource.list",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "MCP resources",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/components/schemas/McpResource"
|
|
},
|
|
"description": "MCP resources"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get all available MCP resources from connected servers. Optionally filter by name.",
|
|
"summary": "Get MCP resources",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.experimental.resource.list({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/find": {
|
|
"get": {
|
|
"tags": ["file"],
|
|
"operationId": "find.text",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Search for text patterns across files in the project using ripgrep.",
|
|
"summary": "Find text",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.find.text({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/find/file": {
|
|
"get": {
|
|
"tags": ["file"],
|
|
"operationId": "find.files",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Search for files or directories by name or pattern in the project directory.",
|
|
"summary": "Find files",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.find.files({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/find/symbol": {
|
|
"get": {
|
|
"tags": ["file"],
|
|
"operationId": "find.symbols",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Search for workspace symbols like functions, classes, and variables using LSP.",
|
|
"summary": "Find symbols",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.find.symbols({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/file": {
|
|
"get": {
|
|
"tags": ["file"],
|
|
"operationId": "file.list",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "List files and directories in a specified path.",
|
|
"summary": "List files",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.file.list({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/file/content": {
|
|
"get": {
|
|
"tags": ["file"],
|
|
"operationId": "file.read",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "path",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "File content",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/FileContent"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Read the content of a specified file.",
|
|
"summary": "Read file",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.file.read({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/file/status": {
|
|
"get": {
|
|
"tags": ["file"],
|
|
"operationId": "file.status",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "File status",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/File"
|
|
},
|
|
"description": "File status"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get the git status of all files in the project.",
|
|
"summary": "Get file status",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.file.status({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/instance/dispose": {
|
|
"post": {
|
|
"tags": ["instance"],
|
|
"operationId": "instance.dispose",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Instance disposed",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Instance disposed"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Clean up and dispose the current OpenCode instance, releasing all resources.",
|
|
"summary": "Dispose instance",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.instance.dispose({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/path": {
|
|
"get": {
|
|
"tags": ["instance"],
|
|
"operationId": "path.get",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Path",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Path"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve the current working directory and related path information for the OpenCode instance.",
|
|
"summary": "Get paths",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.path.get({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/vcs": {
|
|
"get": {
|
|
"tags": ["instance"],
|
|
"operationId": "vcs.get",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "VCS info",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/VcsInfo"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve version control system (VCS) information for the current project, such as git branch.",
|
|
"summary": "Get VCS info",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.vcs.get({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/vcs/diff": {
|
|
"get": {
|
|
"tags": ["instance"],
|
|
"operationId": "vcs.diff",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "mode",
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string",
|
|
"enum": ["git", "branch"]
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "VCS diff",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/VcsFileDiff"
|
|
},
|
|
"description": "VCS diff"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve the current git diff for the working tree or against the default branch.",
|
|
"summary": "Get VCS diff",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.vcs.diff({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/command": {
|
|
"get": {
|
|
"tags": ["instance"],
|
|
"operationId": "command.list",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "List of commands",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Command"
|
|
},
|
|
"description": "List of commands"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get a list of all available commands in the OpenCode system.",
|
|
"summary": "List commands",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.command.list({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/agent": {
|
|
"get": {
|
|
"tags": ["instance"],
|
|
"operationId": "app.agents",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "List of agents",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Agent"
|
|
},
|
|
"description": "List of agents"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get a list of all available AI agents in the OpenCode system.",
|
|
"summary": "List agents",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.app.agents({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/skill": {
|
|
"get": {
|
|
"tags": ["instance"],
|
|
"operationId": "app.skills",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"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", "description", "location", "content"],
|
|
"additionalProperties": false
|
|
},
|
|
"description": "List of skills"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get a list of all available skills in the OpenCode system.",
|
|
"summary": "List skills",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.app.skills({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/lsp": {
|
|
"get": {
|
|
"tags": ["instance"],
|
|
"operationId": "lsp.status",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "LSP server status",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/LSPStatus"
|
|
},
|
|
"description": "LSP server status"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get LSP server status",
|
|
"summary": "Get LSP status",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.lsp.status({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/formatter": {
|
|
"get": {
|
|
"tags": ["instance"],
|
|
"operationId": "formatter.status",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Formatter status",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/FormatterStatus"
|
|
},
|
|
"description": "Formatter status"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get formatter status",
|
|
"summary": "Get formatter status",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.formatter.status({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/mcp": {
|
|
"get": {
|
|
"tags": ["mcp"],
|
|
"operationId": "mcp.status",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "MCP server status",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/components/schemas/MCPStatus"
|
|
},
|
|
"description": "MCP server status"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get the status of all Model Context Protocol (MCP) servers.",
|
|
"summary": "Get MCP status",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.status({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": ["mcp"],
|
|
"operationId": "mcp.add",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"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": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.add({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/mcp/{name}/auth": {
|
|
"post": {
|
|
"tags": ["mcp"],
|
|
"operationId": "mcp.auth.start",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "name",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"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",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/McpUnsupportedOAuthError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Start OAuth authentication flow for a Model Context Protocol (MCP) server.",
|
|
"summary": "Start MCP OAuth",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.auth.start({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"tags": ["mcp"],
|
|
"operationId": "mcp.auth.remove",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "name",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Remove OAuth credentials for an MCP server.",
|
|
"summary": "Remove MCP OAuth",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.auth.remove({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/mcp/{name}/auth/callback": {
|
|
"post": {
|
|
"tags": ["mcp"],
|
|
"operationId": "mcp.auth.callback",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "name",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OAuth authentication completed",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MCPStatus"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.auth.callback({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/mcp/{name}/auth/authenticate": {
|
|
"post": {
|
|
"tags": ["mcp"],
|
|
"operationId": "mcp.auth.authenticate",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "name",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OAuth authentication completed",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MCPStatus"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "McpUnsupportedOAuthError",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/McpUnsupportedOAuthError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Start OAuth flow and wait for callback (opens browser).",
|
|
"summary": "Authenticate MCP OAuth",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.auth.authenticate({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/mcp/{name}/connect": {
|
|
"post": {
|
|
"tags": ["mcp"],
|
|
"operationId": "mcp.connect",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "name",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "MCP server connected successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "MCP server connected successfully"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Connect an MCP server.",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.connect({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/mcp/{name}/disconnect": {
|
|
"post": {
|
|
"tags": ["mcp"],
|
|
"operationId": "mcp.disconnect",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "name",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "MCP server disconnected successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "MCP server disconnected successfully"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Disconnect an MCP server.",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.disconnect({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/project": {
|
|
"get": {
|
|
"tags": ["project"],
|
|
"operationId": "project.list",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "List of projects",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Project"
|
|
},
|
|
"description": "List of projects"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get a list of projects that have been opened with OpenCode.",
|
|
"summary": "List all projects",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.project.list({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/project/current": {
|
|
"get": {
|
|
"tags": ["project"],
|
|
"operationId": "project.current",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Current project information",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Project"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve the currently active project that OpenCode is working with.",
|
|
"summary": "Get current project",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.project.current({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/project/git/init": {
|
|
"post": {
|
|
"tags": ["project"],
|
|
"operationId": "project.initGit",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Project information after git initialization",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Project"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Create a git repository for the current project and return the refreshed project info.",
|
|
"summary": "Initialize git repository",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.project.initGit({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/project/{projectID}": {
|
|
"patch": {
|
|
"tags": ["project"],
|
|
"operationId": "project.update",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "projectID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Updated project information",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Project"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.project.update({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/pty/shells": {
|
|
"get": {
|
|
"tags": ["pty"],
|
|
"operationId": "pty.shells",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get a list of available shells on the system.",
|
|
"summary": "List available shells",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.shells({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/pty": {
|
|
"get": {
|
|
"tags": ["pty"],
|
|
"operationId": "pty.list",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "List of sessions",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Pty"
|
|
},
|
|
"description": "List of sessions"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get a list of all active pseudo-terminal (PTY) sessions managed by OpenCode.",
|
|
"summary": "List PTY sessions",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.list({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": ["pty"],
|
|
"operationId": "pty.create",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Created session",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Pty"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.create({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/pty/{ptyID}": {
|
|
"get": {
|
|
"tags": ["pty"],
|
|
"operationId": "pty.get",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "ptyID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^pty.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Session info",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Pty"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve detailed information about a specific pseudo-terminal (PTY) session.",
|
|
"summary": "Get PTY session",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.get({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"put": {
|
|
"tags": ["pty"],
|
|
"operationId": "pty.update",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "ptyID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^pty.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Updated session",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Pty"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.update({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"tags": ["pty"],
|
|
"operationId": "pty.remove",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "ptyID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^pty.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Session removed",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Session removed"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Remove and terminate a specific pseudo-terminal (PTY) session.",
|
|
"summary": "Remove PTY session",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.remove({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/pty/{ptyID}/connect-token": {
|
|
"post": {
|
|
"tags": ["pty"],
|
|
"operationId": "pty.connectToken",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "ptyID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^pty.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": "Create a short-lived ticket for opening a PTY WebSocket connection.",
|
|
"summary": "Create PTY WebSocket token",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.connectToken({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/question": {
|
|
"get": {
|
|
"tags": ["question"],
|
|
"operationId": "question.list",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "List of pending questions",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/QuestionRequest"
|
|
},
|
|
"description": "List of pending questions"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get all pending question requests across all sessions.",
|
|
"summary": "List pending questions",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.question.list({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/question/{requestID}/reply": {
|
|
"post": {
|
|
"tags": ["question"],
|
|
"operationId": "question.reply",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "requestID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^que.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Question answered successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Question answered successfully"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.question.reply({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/question/{requestID}/reject": {
|
|
"post": {
|
|
"tags": ["question"],
|
|
"operationId": "question.reject",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "requestID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^que.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Question rejected successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Question rejected successfully"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Reject a question request from the AI assistant.",
|
|
"summary": "Reject question request",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.question.reject({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/permission": {
|
|
"get": {
|
|
"tags": ["permission"],
|
|
"operationId": "permission.list",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "List of pending permissions",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/PermissionRequest"
|
|
},
|
|
"description": "List of pending permissions"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get all pending permission requests across all sessions.",
|
|
"summary": "List pending permissions",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.permission.list({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/permission/{requestID}/reply": {
|
|
"post": {
|
|
"tags": ["permission"],
|
|
"operationId": "permission.reply",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "requestID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^per.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Permission processed successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Permission processed successfully"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.permission.reply({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/provider": {
|
|
"get": {
|
|
"tags": ["provider"],
|
|
"operationId": "provider.list",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get a list of all available AI providers, including both available and connected ones.",
|
|
"summary": "List providers",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.provider.list({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/provider/auth": {
|
|
"get": {
|
|
"tags": ["provider"],
|
|
"operationId": "provider.auth",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Provider auth methods",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/ProviderAuthMethod"
|
|
}
|
|
},
|
|
"description": "Provider auth methods"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve available authentication methods for all AI providers.",
|
|
"summary": "Get provider auth methods",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.provider.auth({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/provider/{providerID}/oauth/authorize": {
|
|
"post": {
|
|
"tags": ["provider"],
|
|
"operationId": "provider.oauth.authorize",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "providerID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Authorization URL and method",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ProviderAuthAuthorization"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.provider.oauth.authorize({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/provider/{providerID}/oauth/callback": {
|
|
"post": {
|
|
"tags": ["provider"],
|
|
"operationId": "provider.oauth.callback",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "providerID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OAuth callback processed successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "OAuth callback processed successfully"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.provider.oauth.callback({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session": {
|
|
"get": {
|
|
"tags": ["session"],
|
|
"operationId": "session.list",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get a list of all OpenCode sessions, sorted by most recently updated.",
|
|
"summary": "List sessions",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.list({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": ["session"],
|
|
"operationId": "session.create",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successfully created session",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Session"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.create({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/status": {
|
|
"get": {
|
|
"tags": ["session"],
|
|
"operationId": "session.status",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Get session status",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/components/schemas/SessionStatus"
|
|
},
|
|
"description": "Get session status"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve the current status of all sessions, including active, idle, and completed states.",
|
|
"summary": "Get session status",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.status({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}": {
|
|
"get": {
|
|
"tags": ["session"],
|
|
"operationId": "session.get",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Get session",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Session"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve detailed information about a specific OpenCode session.",
|
|
"summary": "Get session",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.get({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"tags": ["session"],
|
|
"operationId": "session.delete",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successfully deleted session",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Successfully deleted session"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"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",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.delete({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"patch": {
|
|
"tags": ["session"],
|
|
"operationId": "session.update",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successfully updated session",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Session"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.update({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}/children": {
|
|
"get": {
|
|
"tags": ["session"],
|
|
"operationId": "session.children",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "List of children",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Session"
|
|
},
|
|
"description": "List of children"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"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",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.children({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}/todo": {
|
|
"get": {
|
|
"tags": ["session"],
|
|
"operationId": "session.todo",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Todo list",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Todo"
|
|
},
|
|
"description": "Todo list"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"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",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.todo({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}/diff": {
|
|
"get": {
|
|
"tags": ["session"],
|
|
"operationId": "session.diff",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get the file changes (diff) that resulted from a specific user message in the session.",
|
|
"summary": "Get message diff",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.diff({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}/message": {
|
|
"get": {
|
|
"tags": ["session"],
|
|
"operationId": "session.messages",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"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": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"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",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.messages({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": ["session"],
|
|
"operationId": "session.prompt",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"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": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"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"
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.prompt({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}/message/{messageID}": {
|
|
"get": {
|
|
"tags": ["session"],
|
|
"operationId": "session.message",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "messageID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^msg.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"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": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve a specific message from a session by its message ID.",
|
|
"summary": "Get message",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.message({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"tags": ["session"],
|
|
"operationId": "session.deleteMessage",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "messageID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^msg.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successfully deleted message",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Successfully deleted message"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Permanently delete a specific message and all of its parts from a session without reverting file changes.",
|
|
"summary": "Delete message",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.deleteMessage({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}/fork": {
|
|
"post": {
|
|
"tags": ["session"],
|
|
"operationId": "session.fork",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "200",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Session"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.fork({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}/abort": {
|
|
"post": {
|
|
"tags": ["session"],
|
|
"operationId": "session.abort",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Aborted session",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Aborted session"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Abort an active session and stop any ongoing AI processing or command execution.",
|
|
"summary": "Abort session",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.abort({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}/init": {
|
|
"post": {
|
|
"tags": ["session"],
|
|
"operationId": "session.init",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "200",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "200"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"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"
|
|
}
|
|
},
|
|
"required": ["modelID", "providerID", "messageID"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.init({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}/share": {
|
|
"post": {
|
|
"tags": ["session"],
|
|
"operationId": "session.share",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"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": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Create a shareable link for a session, allowing others to view the conversation.",
|
|
"summary": "Share session",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.share({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"tags": ["session"],
|
|
"operationId": "session.unshare",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"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": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Remove the shareable link for a session, making it private again.",
|
|
"summary": "Unshare session",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.unshare({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}/summarize": {
|
|
"post": {
|
|
"tags": ["session"],
|
|
"operationId": "session.summarize",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Summarized session",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Summarized session"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.summarize({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}/prompt_async": {
|
|
"post": {
|
|
"tags": ["session"],
|
|
"operationId": "session.prompt_async",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "Prompt accepted"
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"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"
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.prompt_async({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}/command": {
|
|
"post": {
|
|
"tags": ["session"],
|
|
"operationId": "session.command",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"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": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.command({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}/shell": {
|
|
"post": {
|
|
"tags": ["session"],
|
|
"operationId": "session.shell",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"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": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.shell({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}/revert": {
|
|
"post": {
|
|
"tags": ["session"],
|
|
"operationId": "session.revert",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Updated session",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Session"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"partID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["messageID"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.revert({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}/unrevert": {
|
|
"post": {
|
|
"tags": ["session"],
|
|
"operationId": "session.unrevert",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Updated session",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Session"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Restore all previously reverted messages in a session.",
|
|
"summary": "Restore reverted messages",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.unrevert({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}/permissions/{permissionID}": {
|
|
"post": {
|
|
"tags": ["session"],
|
|
"operationId": "permission.respond",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "permissionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^per.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Permission processed successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Permission processed successfully"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.permission.respond({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/session/{sessionID}/message/{messageID}/part/{partID}": {
|
|
"delete": {
|
|
"tags": ["session"],
|
|
"operationId": "part.delete",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"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
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successfully deleted part",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Successfully deleted part"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Delete a part from a message.",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.part.delete({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"patch": {
|
|
"tags": ["session"],
|
|
"operationId": "part.update",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"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
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Successfully updated part",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Part"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotFoundError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Update a part in a message.",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Part"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.part.update({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/sync/start": {
|
|
"post": {
|
|
"tags": ["sync"],
|
|
"operationId": "sync.start",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Workspace sync started",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Workspace sync started"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Start sync loops for workspaces in the current project that have active sessions.",
|
|
"summary": "Start workspace sync",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.sync.start({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/sync/replay": {
|
|
"post": {
|
|
"tags": ["sync"],
|
|
"operationId": "sync.replay",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"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": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.sync.replay({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/sync/steal": {
|
|
"post": {
|
|
"tags": ["sync"],
|
|
"operationId": "sync.steal",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Session stolen into workspace",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["sessionID"],
|
|
"additionalProperties": false,
|
|
"description": "Session stolen into workspace"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
}
|
|
},
|
|
"required": ["sessionID"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.sync.steal({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/sync/history": {
|
|
"post": {
|
|
"tags": ["sync"],
|
|
"operationId": "sync.history.list",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"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": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.sync.history.list({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/session": {
|
|
"get": {
|
|
"tags": ["v2"],
|
|
"operationId": "v2.session.list",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "V2SessionsResponse",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/V2SessionsResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.v2.session.list({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/prompt": {
|
|
"post": {
|
|
"tags": ["v2"],
|
|
"operationId": "v2.session.prompt",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Session.Message",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SessionMessage"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.v2.session.prompt({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/compact": {
|
|
"post": {
|
|
"tags": ["v2"],
|
|
"operationId": "v2.session.compact",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
}
|
|
},
|
|
"description": "Compact a v2 session conversation.",
|
|
"summary": "Compact v2 session",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.v2.session.compact({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/wait": {
|
|
"post": {
|
|
"tags": ["v2"],
|
|
"operationId": "v2.session.wait",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "<No Content>"
|
|
}
|
|
},
|
|
"description": "Wait for a v2 session agent loop to become idle.",
|
|
"summary": "Wait for v2 session",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.v2.session.wait({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/context": {
|
|
"get": {
|
|
"tags": ["v2"],
|
|
"operationId": "v2.session.context",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/SessionMessage"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve the active context messages for a v2 session (all messages after the last compaction).",
|
|
"summary": "Get v2 session context",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.v2.session.context({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/api/session/{sessionID}/message": {
|
|
"get": {
|
|
"tags": ["v2 messages"],
|
|
"operationId": "v2.session.messages",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "sessionID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "V2SessionMessagesResponse",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/V2SessionMessagesResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.v2.session.messages({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/tui/append-prompt": {
|
|
"post": {
|
|
"tags": ["tui"],
|
|
"operationId": "tui.appendPrompt",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Prompt processed successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Prompt processed successfully"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.appendPrompt({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/tui/open-help": {
|
|
"post": {
|
|
"tags": ["tui"],
|
|
"operationId": "tui.openHelp",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Help dialog opened successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Help dialog opened successfully"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Open the help dialog in the TUI to display user assistance information.",
|
|
"summary": "Open help dialog",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.openHelp({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/tui/open-sessions": {
|
|
"post": {
|
|
"tags": ["tui"],
|
|
"operationId": "tui.openSessions",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Session dialog opened successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Session dialog opened successfully"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Open the session dialog.",
|
|
"summary": "Open sessions dialog",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.openSessions({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/tui/open-themes": {
|
|
"post": {
|
|
"tags": ["tui"],
|
|
"operationId": "tui.openThemes",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Theme dialog opened successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Theme dialog opened successfully"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Open the theme dialog.",
|
|
"summary": "Open themes dialog",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.openThemes({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/tui/open-models": {
|
|
"post": {
|
|
"tags": ["tui"],
|
|
"operationId": "tui.openModels",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Model dialog opened successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Model dialog opened successfully"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Open the model dialog.",
|
|
"summary": "Open models dialog",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.openModels({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/tui/submit-prompt": {
|
|
"post": {
|
|
"tags": ["tui"],
|
|
"operationId": "tui.submitPrompt",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Prompt submitted successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Prompt submitted successfully"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Submit the prompt.",
|
|
"summary": "Submit TUI prompt",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.submitPrompt({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/tui/clear-prompt": {
|
|
"post": {
|
|
"tags": ["tui"],
|
|
"operationId": "tui.clearPrompt",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Prompt cleared successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Prompt cleared successfully"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Clear the prompt.",
|
|
"summary": "Clear TUI prompt",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.clearPrompt({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/tui/execute-command": {
|
|
"post": {
|
|
"tags": ["tui"],
|
|
"operationId": "tui.executeCommand",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Command executed successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Command executed successfully"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Execute a TUI command.",
|
|
"summary": "Execute TUI command",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["command"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.executeCommand({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/tui/show-toast": {
|
|
"post": {
|
|
"tags": ["tui"],
|
|
"operationId": "tui.showToast",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Toast notification shown successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Toast notification shown successfully"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.showToast({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/tui/publish": {
|
|
"post": {
|
|
"tags": ["tui"],
|
|
"operationId": "tui.publish",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Event published successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Event published successfully"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.publish({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/tui/select-session": {
|
|
"post": {
|
|
"tags": ["tui"],
|
|
"operationId": "tui.selectSession",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Session selected successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Session selected successfully"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not found",
|
|
"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",
|
|
"description": "Session ID to navigate to"
|
|
}
|
|
},
|
|
"required": ["sessionID"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.selectSession({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/tui/control/next": {
|
|
"get": {
|
|
"tags": ["tui"],
|
|
"operationId": "tui.control.next",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Retrieve the next TUI request from the queue for processing.",
|
|
"summary": "Get next TUI request",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.control.next({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/tui/control/response": {
|
|
"post": {
|
|
"tags": ["tui"],
|
|
"operationId": "tui.control.response",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Response submitted successfully",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "boolean",
|
|
"description": "Response submitted successfully"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Submit a response to the TUI request queue to complete a pending request.",
|
|
"summary": "Submit TUI response",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.control.response({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/experimental/workspace/adapter": {
|
|
"get": {
|
|
"tags": ["workspace"],
|
|
"operationId": "experimental.workspace.adapter.list",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "List all available workspace adapters for the current project.",
|
|
"summary": "List workspace adapters",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.experimental.workspace.adapter.list({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/experimental/workspace": {
|
|
"get": {
|
|
"tags": ["workspace"],
|
|
"operationId": "experimental.workspace.list",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Workspaces",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Workspace"
|
|
},
|
|
"description": "Workspaces"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "List all workspaces.",
|
|
"summary": "List workspaces",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.experimental.workspace.list({\n ...\n})"
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"tags": ["workspace"],
|
|
"operationId": "experimental.workspace.create",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Workspace created",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Workspace"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Create a workspace for the current project.",
|
|
"summary": "Create workspace",
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"branch": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"extra": {
|
|
"anyOf": [
|
|
{},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["type", "branch"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.experimental.workspace.create({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/experimental/workspace/status": {
|
|
"get": {
|
|
"tags": ["workspace"],
|
|
"operationId": "experimental.workspace.status",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Workspace status",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"workspaceID": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["connected", "connecting", "disconnected", "error"]
|
|
}
|
|
},
|
|
"required": ["workspaceID", "status"],
|
|
"additionalProperties": false
|
|
},
|
|
"description": "Workspace status"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Get connection status for workspaces in the current project.",
|
|
"summary": "Workspace status",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.experimental.workspace.status({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/experimental/workspace/{id}": {
|
|
"delete": {
|
|
"tags": ["workspace"],
|
|
"operationId": "experimental.workspace.remove",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^wrk.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Workspace removed",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Workspace"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Remove an existing workspace.",
|
|
"summary": "Remove workspace",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.experimental.workspace.remove({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/experimental/workspace/warp": {
|
|
"post": {
|
|
"tags": ["workspace"],
|
|
"operationId": "experimental.workspace.warp",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": "Session warped"
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BadRequestError"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "sessionID"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.experimental.workspace.warp({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/pty/{ptyID}/connect": {
|
|
"get": {
|
|
"tags": ["pty"],
|
|
"operationId": "pty.connect",
|
|
"parameters": [
|
|
{
|
|
"name": "directory",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"in": "query",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "ptyID",
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string",
|
|
"pattern": "^pty.*"
|
|
},
|
|
"required": true
|
|
}
|
|
],
|
|
"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",
|
|
"x-codeSamples": [
|
|
{
|
|
"lang": "js",
|
|
"source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.connect({\n ...\n})"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"schemas": {
|
|
"Event": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/EventServerInstanceDisposed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventFileEdited"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventFileWatcherUpdated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventLspClientDiagnostics"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventLspUpdated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventMessagePartDelta"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventPermissionAsked"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventPermissionReplied"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventSessionDiff"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventSessionError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventInstallationUpdated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventInstallationUpdate-available"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventQuestionAsked"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventQuestionReplied"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventQuestionRejected"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventTodoUpdated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventSessionStatus"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventSessionIdle"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventSessionCompacted"
|
|
},
|
|
{
|
|
"$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/EventVcsBranchUpdated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventWorkspaceReady"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventWorkspaceFailed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventWorkspaceStatus"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventWorktreeReady"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventWorktreeFailed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventPtyCreated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventPtyUpdated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventPtyExited"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventPtyDeleted"
|
|
},
|
|
{
|
|
"$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"
|
|
}
|
|
]
|
|
},
|
|
"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"
|
|
}
|
|
]
|
|
},
|
|
"PermissionRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
},
|
|
"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": "integer",
|
|
"minimum": 0
|
|
},
|
|
"deletions": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["added", "deleted", "modified"]
|
|
}
|
|
},
|
|
"required": ["file", "patch", "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"
|
|
}
|
|
},
|
|
"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
|
|
},
|
|
"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"
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["messageID", "callID"],
|
|
"additionalProperties": false
|
|
},
|
|
"QuestionRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
},
|
|
"requestID": {
|
|
"type": "string"
|
|
},
|
|
"answers": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/QuestionAnswer"
|
|
}
|
|
}
|
|
},
|
|
"required": ["sessionID", "requestID", "answers"],
|
|
"additionalProperties": false
|
|
},
|
|
"QuestionRejected": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"requestID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["sessionID", "requestID"],
|
|
"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
|
|
},
|
|
"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"
|
|
},
|
|
"next": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": ["type", "attempt", "message", "next"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["busy"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"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",
|
|
"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"
|
|
},
|
|
"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
|
|
},
|
|
"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"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
},
|
|
"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": "integer",
|
|
"minimum": 0
|
|
},
|
|
"input": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"output": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"reasoning": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"cache": {
|
|
"type": "object",
|
|
"properties": {
|
|
"read": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"write": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"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": "integer",
|
|
"minimum": 0
|
|
},
|
|
"end": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["step-start"]
|
|
},
|
|
"snapshot": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "messageID", "type"],
|
|
"additionalProperties": false
|
|
},
|
|
"StepFinishPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["step-finish"]
|
|
},
|
|
"reason": {
|
|
"type": "string"
|
|
},
|
|
"snapshot": {
|
|
"type": "string"
|
|
},
|
|
"cost": {
|
|
"type": "number"
|
|
},
|
|
"tokens": {
|
|
"type": "object",
|
|
"properties": {
|
|
"total": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"input": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"output": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"reasoning": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"cache": {
|
|
"type": "object",
|
|
"properties": {
|
|
"read": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"write": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["snapshot"]
|
|
},
|
|
"snapshot": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "sessionID", "messageID", "type", "snapshot"],
|
|
"additionalProperties": false
|
|
},
|
|
"PatchPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["compaction"]
|
|
},
|
|
"auto": {
|
|
"type": "boolean"
|
|
},
|
|
"overflow": {
|
|
"type": "boolean"
|
|
},
|
|
"tail_start_id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"projectID": {
|
|
"type": "string"
|
|
},
|
|
"workspaceID": {
|
|
"type": "string"
|
|
},
|
|
"directory": {
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"parentID": {
|
|
"type": "string"
|
|
},
|
|
"summary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"additions": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"deletions": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"files": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"diffs": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/SnapshotFileDiff"
|
|
}
|
|
}
|
|
},
|
|
"required": ["additions", "deletions", "files"],
|
|
"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"
|
|
},
|
|
"partID": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
},
|
|
"required": ["text"],
|
|
"additionalProperties": false
|
|
},
|
|
"GlobalEvent": {
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"type": "string"
|
|
},
|
|
"project": {
|
|
"type": "string"
|
|
},
|
|
"workspace": {
|
|
"type": "string"
|
|
},
|
|
"payload": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/components/schemas/EventServerInstanceDisposed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventFileEdited"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventFileWatcherUpdated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventLspClientDiagnostics"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventLspUpdated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventMessagePartDelta"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventPermissionAsked"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventPermissionReplied"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventSessionDiff"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventSessionError"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventInstallationUpdated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventInstallationUpdate-available"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventQuestionAsked"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventQuestionReplied"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventQuestionRejected"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventTodoUpdated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventSessionStatus"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventSessionIdle"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventSessionCompacted"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Event.tui.prompt.append"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Event.tui.command.execute"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/Event.tui.toast.show"
|
|
},
|
|
{
|
|
"$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/EventVcsBranchUpdated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventWorkspaceReady"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventWorkspaceFailed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventWorkspaceStatus"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventWorktreeReady"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventWorktreeFailed"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventPtyCreated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventPtyUpdated"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventPtyExited"
|
|
},
|
|
{
|
|
"$ref": "#/components/schemas/EventPtyDeleted"
|
|
},
|
|
{
|
|
"$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/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"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["directory", "payload"],
|
|
"additionalProperties": false
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"]
|
|
},
|
|
"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"
|
|
},
|
|
"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."
|
|
},
|
|
"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
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
}
|
|
},
|
|
"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
|
|
},
|
|
"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
|
|
},
|
|
"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"
|
|
}
|
|
},
|
|
"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", "branch", "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"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"projectID": {
|
|
"type": "string"
|
|
},
|
|
"workspaceID": {
|
|
"type": "string"
|
|
},
|
|
"directory": {
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"parentID": {
|
|
"type": "string"
|
|
},
|
|
"summary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"additions": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"deletions": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"files": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"diffs": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/SnapshotFileDiff"
|
|
}
|
|
}
|
|
},
|
|
"required": ["additions", "deletions", "files"],
|
|
"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"
|
|
},
|
|
"partID": {
|
|
"type": "string"
|
|
},
|
|
"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
|
|
},
|
|
"VcsFileDiff": {
|
|
"type": "object",
|
|
"properties": {
|
|
"file": {
|
|
"type": "string"
|
|
},
|
|
"patch": {
|
|
"type": "string"
|
|
},
|
|
"additions": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"deletions": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["added", "deleted", "modified"]
|
|
}
|
|
},
|
|
"required": ["file", "patch", "additions", "deletions"],
|
|
"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
|
|
},
|
|
"effect_HttpApiError_Forbidden": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_tag": {
|
|
"type": "string",
|
|
"enum": ["Forbidden"]
|
|
}
|
|
},
|
|
"required": ["_tag"],
|
|
"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
|
|
},
|
|
"TextPartInput": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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
|
|
},
|
|
"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
|
|
},
|
|
"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
|
|
},
|
|
"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",
|
|
"description": "Session ID to navigate to"
|
|
}
|
|
},
|
|
"required": ["sessionID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "properties"],
|
|
"additionalProperties": false
|
|
},
|
|
"Workspace": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
}
|
|
},
|
|
"required": ["id", "type", "name", "branch", "directory", "extra", "projectID"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventMessageUpdated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["message.updated.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"info": {
|
|
"$ref": "#/components/schemas/Message"
|
|
}
|
|
},
|
|
"required": ["sessionID", "info"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventMessageRemoved": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["message.removed.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["sessionID", "messageID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventMessagePartUpdated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["message.part.updated.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"part": {
|
|
"$ref": "#/components/schemas/Part"
|
|
},
|
|
"time": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"required": ["sessionID", "part", "time"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventMessagePartRemoved": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["message.part.removed.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"partID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["sessionID", "messageID", "partID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionCreated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.created.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"info": {
|
|
"$ref": "#/components/schemas/Session"
|
|
}
|
|
},
|
|
"required": ["sessionID", "info"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionUpdated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.updated.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"info": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"slug": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"projectID": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"workspaceID": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"directory": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"path": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"parentID": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"summary": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"additions": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"deletions": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"files": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"diffs": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/SnapshotFileDiff"
|
|
}
|
|
}
|
|
},
|
|
"required": ["additions", "deletions", "files"],
|
|
"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"
|
|
},
|
|
"partID": {
|
|
"type": "string"
|
|
},
|
|
"snapshot": {
|
|
"type": "string"
|
|
},
|
|
"diff": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["messageID"],
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["sessionID", "info"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionDeleted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.deleted.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"info": {
|
|
"$ref": "#/components/schemas/Session"
|
|
}
|
|
},
|
|
"required": ["sessionID", "info"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextAgentSwitched": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.agent.switched.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"agent": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "agent"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextModelSwitched": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.model.switched.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"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", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextPrompted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.prompted.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"prompt": {
|
|
"$ref": "#/components/schemas/Prompt"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "prompt"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextSynthetic": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.synthetic.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "text"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextShellStarted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.shell.started.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
},
|
|
"command": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "callID", "command"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextShellEnded": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.shell.ended.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
},
|
|
"output": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "callID", "output"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextStepStarted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.step.started.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"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", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextStepEnded": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.step.ended.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"finish": {
|
|
"type": "string"
|
|
},
|
|
"cost": {
|
|
"type": "number"
|
|
},
|
|
"tokens": {
|
|
"type": "object",
|
|
"properties": {
|
|
"input": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"output": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"reasoning": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"cache": {
|
|
"type": "object",
|
|
"properties": {
|
|
"read": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"write": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"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", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextStepFailed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.step.failed.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"error": {
|
|
"$ref": "#/components/schemas/SessionErrorUnknown"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "error"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextTextStarted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.text.started.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextTextDelta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.text.delta.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"delta": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "delta"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextTextEnded": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.text.ended.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "text"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextReasoningStarted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.reasoning.started.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"reasoningID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "reasoningID"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextReasoningDelta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.reasoning.delta.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"reasoningID": {
|
|
"type": "string"
|
|
},
|
|
"delta": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "reasoningID", "delta"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextReasoningEnded": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.reasoning.ended.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"reasoningID": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "reasoningID", "text"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextToolInputStarted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.tool.input.started.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "callID", "name"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextToolInputDelta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.tool.input.delta.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
},
|
|
"delta": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "callID", "delta"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextToolInputEnded": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.tool.input.ended.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "callID", "text"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextToolCalled": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.tool.called.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"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", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextToolProgress": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.tool.progress.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"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", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextToolSuccess": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.tool.success.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"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", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextToolFailed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.tool.failed.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"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", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextRetried": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.retried.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"attempt": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"error": {
|
|
"$ref": "#/components/schemas/SessionNextRetry_error"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "attempt", "error"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextCompactionStarted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.compaction.started.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"reason": {
|
|
"type": "string",
|
|
"enum": ["auto", "manual"]
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "reason"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextCompactionDelta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.compaction.delta.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "text"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "id", "seq", "aggregateID", "data"],
|
|
"additionalProperties": false
|
|
},
|
|
"SyncEventSessionNextCompactionEnded": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["sync"]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["session.next.compaction.ended.1"]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"seq": {
|
|
"type": "number"
|
|
},
|
|
"aggregateID": {
|
|
"type": "string",
|
|
"enum": ["sessionID"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"include": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["timestamp", "sessionID", "text"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "name", "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
|
|
},
|
|
"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
|
|
},
|
|
"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"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"partID": {
|
|
"type": "string"
|
|
},
|
|
"field": {
|
|
"type": "string"
|
|
},
|
|
"delta": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["sessionID", "messageID", "partID", "field", "delta"],
|
|
"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"
|
|
},
|
|
"requestID": {
|
|
"type": "string"
|
|
},
|
|
"reply": {
|
|
"type": "string",
|
|
"enum": ["once", "always", "reject"]
|
|
}
|
|
},
|
|
"required": ["sessionID", "requestID", "reply"],
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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
|
|
},
|
|
"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
|
|
},
|
|
"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
|
|
},
|
|
"EventTodoUpdated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["todo.updated"]
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"todos": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/Todo"
|
|
}
|
|
}
|
|
},
|
|
"required": ["sessionID", "todos"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
}
|
|
},
|
|
"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"
|
|
}
|
|
},
|
|
"required": ["sessionID"],
|
|
"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"
|
|
},
|
|
"arguments": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"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
|
|
},
|
|
"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
|
|
},
|
|
"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"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["connected", "connecting", "disconnected", "error"]
|
|
}
|
|
},
|
|
"required": ["workspaceID", "status"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"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", "branch"],
|
|
"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
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
}
|
|
},
|
|
"required": ["id"],
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"partID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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
|
|
},
|
|
"EventSessionNextPrompted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.prompted"]
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"finish": {
|
|
"type": "string"
|
|
},
|
|
"cost": {
|
|
"type": "number"
|
|
},
|
|
"tokens": {
|
|
"type": "object",
|
|
"properties": {
|
|
"input": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"output": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"reasoning": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"cache": {
|
|
"type": "object",
|
|
"properties": {
|
|
"read": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"write": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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": "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
|
|
},
|
|
"EventSessionNextRetried": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["session.next.retried"]
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timestamp": {
|
|
"type": "number"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"attempt": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
},
|
|
"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
|
|
},
|
|
"SessionInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"parentID": {
|
|
"type": "string"
|
|
},
|
|
"projectID": {
|
|
"type": "string"
|
|
},
|
|
"workspaceID": {
|
|
"type": "string"
|
|
},
|
|
"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
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
},
|
|
"updated": {
|
|
"type": "number"
|
|
},
|
|
"archived": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": ["created", "updated"],
|
|
"additionalProperties": false
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "projectID", "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"
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"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"
|
|
}
|
|
]
|
|
},
|
|
"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
|
|
},
|
|
"BadRequestError": {
|
|
"type": "object",
|
|
"required": ["data", "errors", "success"],
|
|
"properties": {
|
|
"data": {},
|
|
"errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"success": {
|
|
"type": "boolean",
|
|
"enum": [false]
|
|
}
|
|
}
|
|
},
|
|
"NotFoundError": {
|
|
"type": "object",
|
|
"required": ["name", "data"],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["NotFoundError"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"required": ["message"],
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": "tui",
|
|
"description": "Experimental HttpApi TUI routes."
|
|
},
|
|
{
|
|
"name": "workspace",
|
|
"description": "Experimental HttpApi workspace routes."
|
|
},
|
|
{
|
|
"name": "pty",
|
|
"description": "PTY websocket route."
|
|
}
|
|
]
|
|
}
|