mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-15 21:03:26 +00:00
5921 lines
No EOL
134 KiB
JSON
5921 lines
No EOL
134 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "https://sandbox-agent/schemas/opencode.json",
|
|
"title": "OpenCode SDK Schema",
|
|
"definitions": {
|
|
"Event.installation.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "installation.updated"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"version"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.installation.update-available": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "installation.update-available"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"version"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Project": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"worktree": {
|
|
"type": "string"
|
|
},
|
|
"vcs": {
|
|
"type": "string",
|
|
"const": "git"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"icon": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"override": {
|
|
"type": "string"
|
|
},
|
|
"color": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"commands": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"description": "Startup script to run when creating a new workspace (worktree)",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
},
|
|
"updated": {
|
|
"type": "number"
|
|
},
|
|
"initialized": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"created",
|
|
"updated"
|
|
]
|
|
},
|
|
"sandboxes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"worktree",
|
|
"time",
|
|
"sandboxes"
|
|
]
|
|
},
|
|
"Event.project.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "project.updated"
|
|
},
|
|
"properties": {
|
|
"$ref": "#/definitions/Project"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.server.instance.disposed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "server.instance.disposed"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"directory"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.server.connected": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "server.connected"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.global.disposed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "global.disposed"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.lsp.client.diagnostics": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "lsp.client.diagnostics"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"serverID": {
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"serverID",
|
|
"path"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.lsp.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "lsp.updated"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.file.edited": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "file.edited"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"file": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"FileDiff": {
|
|
"type": "object",
|
|
"properties": {
|
|
"file": {
|
|
"type": "string"
|
|
},
|
|
"before": {
|
|
"type": "string"
|
|
},
|
|
"after": {
|
|
"type": "string"
|
|
},
|
|
"additions": {
|
|
"type": "number"
|
|
},
|
|
"deletions": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"file",
|
|
"before",
|
|
"after",
|
|
"additions",
|
|
"deletions"
|
|
]
|
|
},
|
|
"UserMessage": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"const": "user"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"created"
|
|
]
|
|
},
|
|
"summary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"body": {
|
|
"type": "string"
|
|
},
|
|
"diffs": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/FileDiff"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"diffs"
|
|
]
|
|
},
|
|
"agent": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"type": "object",
|
|
"properties": {
|
|
"providerID": {
|
|
"type": "string"
|
|
},
|
|
"modelID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"providerID",
|
|
"modelID"
|
|
]
|
|
},
|
|
"system": {
|
|
"type": "string"
|
|
},
|
|
"tools": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"variant": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"sessionID",
|
|
"role",
|
|
"time",
|
|
"agent",
|
|
"model"
|
|
]
|
|
},
|
|
"ProviderAuthError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"const": "ProviderAuthError"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"providerID": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"providerID",
|
|
"message"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"data"
|
|
]
|
|
},
|
|
"UnknownError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"const": "UnknownError"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"message"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"data"
|
|
]
|
|
},
|
|
"MessageOutputLengthError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"const": "MessageOutputLengthError"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"data"
|
|
]
|
|
},
|
|
"MessageAbortedError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"const": "MessageAbortedError"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"message"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"data"
|
|
]
|
|
},
|
|
"APIError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"const": "APIError"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"statusCode": {
|
|
"type": "number"
|
|
},
|
|
"isRetryable": {
|
|
"type": "boolean"
|
|
},
|
|
"responseHeaders": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"responseBody": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"message",
|
|
"isRetryable"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"data"
|
|
]
|
|
},
|
|
"AssistantMessage": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"const": "assistant"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
},
|
|
"completed": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"created"
|
|
]
|
|
},
|
|
"error": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/ProviderAuthError"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/UnknownError"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/MessageOutputLengthError"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/MessageAbortedError"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/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"
|
|
]
|
|
},
|
|
"summary": {
|
|
"type": "boolean"
|
|
},
|
|
"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"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"input",
|
|
"output",
|
|
"reasoning",
|
|
"cache"
|
|
]
|
|
},
|
|
"finish": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"sessionID",
|
|
"role",
|
|
"time",
|
|
"parentID",
|
|
"modelID",
|
|
"providerID",
|
|
"mode",
|
|
"agent",
|
|
"path",
|
|
"cost",
|
|
"tokens"
|
|
]
|
|
},
|
|
"Message": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/UserMessage"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/AssistantMessage"
|
|
}
|
|
]
|
|
},
|
|
"Event.message.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "message.updated"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"info": {
|
|
"$ref": "#/definitions/Message"
|
|
}
|
|
},
|
|
"required": [
|
|
"info"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.message.removed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "message.removed"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionID",
|
|
"messageID"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"TextPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "text"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"synthetic": {
|
|
"type": "boolean"
|
|
},
|
|
"ignored": {
|
|
"type": "boolean"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"type": "number"
|
|
},
|
|
"end": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"start"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"sessionID",
|
|
"messageID",
|
|
"type",
|
|
"text"
|
|
]
|
|
},
|
|
"ReasoningPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "reasoning"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"type": "number"
|
|
},
|
|
"end": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"start"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"sessionID",
|
|
"messageID",
|
|
"type",
|
|
"text",
|
|
"time"
|
|
]
|
|
},
|
|
"FilePartSourceText": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string"
|
|
},
|
|
"start": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"end": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"start",
|
|
"end"
|
|
]
|
|
},
|
|
"FileSource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"$ref": "#/definitions/FilePartSourceText"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "file"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"text",
|
|
"type",
|
|
"path"
|
|
]
|
|
},
|
|
"Range": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"type": "object",
|
|
"properties": {
|
|
"line": {
|
|
"type": "number"
|
|
},
|
|
"character": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"line",
|
|
"character"
|
|
]
|
|
},
|
|
"end": {
|
|
"type": "object",
|
|
"properties": {
|
|
"line": {
|
|
"type": "number"
|
|
},
|
|
"character": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"line",
|
|
"character"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end"
|
|
]
|
|
},
|
|
"SymbolSource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"$ref": "#/definitions/FilePartSourceText"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "symbol"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"range": {
|
|
"$ref": "#/definitions/Range"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
}
|
|
},
|
|
"required": [
|
|
"text",
|
|
"type",
|
|
"path",
|
|
"range",
|
|
"name",
|
|
"kind"
|
|
]
|
|
},
|
|
"ResourceSource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"$ref": "#/definitions/FilePartSourceText"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "resource"
|
|
},
|
|
"clientName": {
|
|
"type": "string"
|
|
},
|
|
"uri": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"text",
|
|
"type",
|
|
"clientName",
|
|
"uri"
|
|
]
|
|
},
|
|
"FilePartSource": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/FileSource"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/SymbolSource"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ResourceSource"
|
|
}
|
|
]
|
|
},
|
|
"FilePart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "file"
|
|
},
|
|
"mime": {
|
|
"type": "string"
|
|
},
|
|
"filename": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"$ref": "#/definitions/FilePartSource"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"sessionID",
|
|
"messageID",
|
|
"type",
|
|
"mime",
|
|
"url"
|
|
]
|
|
},
|
|
"ToolStatePending": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"const": "pending"
|
|
},
|
|
"input": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"raw": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"status",
|
|
"input",
|
|
"raw"
|
|
]
|
|
},
|
|
"ToolStateRunning": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"const": "running"
|
|
},
|
|
"input": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"start"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"status",
|
|
"input",
|
|
"time"
|
|
]
|
|
},
|
|
"ToolStateCompleted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"const": "completed"
|
|
},
|
|
"input": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"output": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"type": "number"
|
|
},
|
|
"end": {
|
|
"type": "number"
|
|
},
|
|
"compacted": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end"
|
|
]
|
|
},
|
|
"attachments": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/FilePart"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"status",
|
|
"input",
|
|
"output",
|
|
"title",
|
|
"metadata",
|
|
"time"
|
|
]
|
|
},
|
|
"ToolStateError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"const": "error"
|
|
},
|
|
"input": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"error": {
|
|
"type": "string"
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"type": "number"
|
|
},
|
|
"end": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"start",
|
|
"end"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"status",
|
|
"input",
|
|
"error",
|
|
"time"
|
|
]
|
|
},
|
|
"ToolState": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/ToolStatePending"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ToolStateRunning"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ToolStateCompleted"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ToolStateError"
|
|
}
|
|
]
|
|
},
|
|
"ToolPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "tool"
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
},
|
|
"tool": {
|
|
"type": "string"
|
|
},
|
|
"state": {
|
|
"$ref": "#/definitions/ToolState"
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"sessionID",
|
|
"messageID",
|
|
"type",
|
|
"callID",
|
|
"tool",
|
|
"state"
|
|
]
|
|
},
|
|
"StepStartPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "step-start"
|
|
},
|
|
"snapshot": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"sessionID",
|
|
"messageID",
|
|
"type"
|
|
]
|
|
},
|
|
"StepFinishPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "step-finish"
|
|
},
|
|
"reason": {
|
|
"type": "string"
|
|
},
|
|
"snapshot": {
|
|
"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"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"input",
|
|
"output",
|
|
"reasoning",
|
|
"cache"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"sessionID",
|
|
"messageID",
|
|
"type",
|
|
"reason",
|
|
"cost",
|
|
"tokens"
|
|
]
|
|
},
|
|
"SnapshotPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "snapshot"
|
|
},
|
|
"snapshot": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"sessionID",
|
|
"messageID",
|
|
"type",
|
|
"snapshot"
|
|
]
|
|
},
|
|
"PatchPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "patch"
|
|
},
|
|
"hash": {
|
|
"type": "string"
|
|
},
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"sessionID",
|
|
"messageID",
|
|
"type",
|
|
"hash",
|
|
"files"
|
|
]
|
|
},
|
|
"AgentPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "agent"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string"
|
|
},
|
|
"start": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"end": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"start",
|
|
"end"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"sessionID",
|
|
"messageID",
|
|
"type",
|
|
"name"
|
|
]
|
|
},
|
|
"RetryPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "retry"
|
|
},
|
|
"attempt": {
|
|
"type": "number"
|
|
},
|
|
"error": {
|
|
"$ref": "#/definitions/APIError"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"created"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"sessionID",
|
|
"messageID",
|
|
"type",
|
|
"attempt",
|
|
"error",
|
|
"time"
|
|
]
|
|
},
|
|
"CompactionPart": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "compaction"
|
|
},
|
|
"auto": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"sessionID",
|
|
"messageID",
|
|
"type",
|
|
"auto"
|
|
]
|
|
},
|
|
"Part": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/TextPart"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "subtask"
|
|
},
|
|
"prompt": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"agent": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"type": "object",
|
|
"properties": {
|
|
"providerID": {
|
|
"type": "string"
|
|
},
|
|
"modelID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"providerID",
|
|
"modelID"
|
|
]
|
|
},
|
|
"command": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"sessionID",
|
|
"messageID",
|
|
"type",
|
|
"prompt",
|
|
"description",
|
|
"agent"
|
|
]
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ReasoningPart"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/FilePart"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ToolPart"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/StepStartPart"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/StepFinishPart"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/SnapshotPart"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/PatchPart"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/AgentPart"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/RetryPart"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/CompactionPart"
|
|
}
|
|
]
|
|
},
|
|
"Event.message.part.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "message.part.updated"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"part": {
|
|
"$ref": "#/definitions/Part"
|
|
},
|
|
"delta": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"part"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.message.part.removed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "message.part.removed"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"partID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionID",
|
|
"messageID",
|
|
"partID"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"PermissionRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"pattern": "^per.*"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"permission": {
|
|
"type": "string"
|
|
},
|
|
"patterns": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"always": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"tool": {
|
|
"type": "object",
|
|
"properties": {
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"messageID",
|
|
"callID"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"sessionID",
|
|
"permission",
|
|
"patterns",
|
|
"metadata",
|
|
"always"
|
|
]
|
|
},
|
|
"Event.permission.asked": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "permission.asked"
|
|
},
|
|
"properties": {
|
|
"$ref": "#/definitions/PermissionRequest"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.permission.replied": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "permission.replied"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"requestID": {
|
|
"type": "string"
|
|
},
|
|
"reply": {
|
|
"type": "string",
|
|
"enum": [
|
|
"once",
|
|
"always",
|
|
"reject"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionID",
|
|
"requestID",
|
|
"reply"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"SessionStatus": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "idle"
|
|
}
|
|
},
|
|
"required": [
|
|
"type"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "retry"
|
|
},
|
|
"attempt": {
|
|
"type": "number"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"next": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"attempt",
|
|
"message",
|
|
"next"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "busy"
|
|
}
|
|
},
|
|
"required": [
|
|
"type"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"Event.session.status": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "session.status"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"$ref": "#/definitions/SessionStatus"
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionID",
|
|
"status"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.session.idle": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "session.idle"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionID"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"QuestionOption": {
|
|
"type": "object",
|
|
"properties": {
|
|
"label": {
|
|
"description": "Display text (1-5 words, concise)",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"description": "Explanation of choice",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"label",
|
|
"description"
|
|
]
|
|
},
|
|
"QuestionInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"question": {
|
|
"description": "Complete question",
|
|
"type": "string"
|
|
},
|
|
"header": {
|
|
"description": "Very short label (max 30 chars)",
|
|
"type": "string"
|
|
},
|
|
"options": {
|
|
"description": "Available choices",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/QuestionOption"
|
|
}
|
|
},
|
|
"multiple": {
|
|
"description": "Allow selecting multiple choices",
|
|
"type": "boolean"
|
|
},
|
|
"custom": {
|
|
"description": "Allow typing a custom answer (default: true)",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"question",
|
|
"header",
|
|
"options"
|
|
]
|
|
},
|
|
"QuestionRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"pattern": "^que.*"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"questions": {
|
|
"description": "Questions to ask",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/QuestionInfo"
|
|
}
|
|
},
|
|
"tool": {
|
|
"type": "object",
|
|
"properties": {
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"callID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"messageID",
|
|
"callID"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"sessionID",
|
|
"questions"
|
|
]
|
|
},
|
|
"Event.question.asked": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "question.asked"
|
|
},
|
|
"properties": {
|
|
"$ref": "#/definitions/QuestionRequest"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"QuestionAnswer": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"Event.question.replied": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "question.replied"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"requestID": {
|
|
"type": "string"
|
|
},
|
|
"answers": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/QuestionAnswer"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionID",
|
|
"requestID",
|
|
"answers"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.question.rejected": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "question.rejected"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"requestID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionID",
|
|
"requestID"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.session.compacted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "session.compacted"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionID"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.file.watcher.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "file.watcher.updated"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"file": {
|
|
"type": "string"
|
|
},
|
|
"event": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"const": "add"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"const": "change"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"const": "unlink"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"file",
|
|
"event"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Todo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"content": {
|
|
"description": "Brief description of the task",
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"description": "Current status of the task: pending, in_progress, completed, cancelled",
|
|
"type": "string"
|
|
},
|
|
"priority": {
|
|
"description": "Priority level of the task: high, medium, low",
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"description": "Unique identifier for the todo item",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"content",
|
|
"status",
|
|
"priority",
|
|
"id"
|
|
]
|
|
},
|
|
"Event.todo.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "todo.updated"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"todos": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Todo"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionID",
|
|
"todos"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.tui.prompt.append": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "tui.prompt.append"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"text"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.tui.command.execute": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "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"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.tui.toast.show": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "tui.toast.show"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"variant": {
|
|
"type": "string",
|
|
"enum": [
|
|
"info",
|
|
"success",
|
|
"warning",
|
|
"error"
|
|
]
|
|
},
|
|
"duration": {
|
|
"description": "Duration in milliseconds",
|
|
"default": 5000,
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"message",
|
|
"variant"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.tui.session.select": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "tui.session.select"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"description": "Session ID to navigate to",
|
|
"type": "string",
|
|
"pattern": "^ses"
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionID"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.mcp.tools.changed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "mcp.tools.changed"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"server": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"server"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.mcp.browser.open.failed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "mcp.browser.open.failed"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mcpName": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"mcpName",
|
|
"url"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.command.executed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "command.executed"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"sessionID": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"arguments": {
|
|
"type": "string"
|
|
},
|
|
"messageID": {
|
|
"type": "string",
|
|
"pattern": "^msg.*"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"sessionID",
|
|
"arguments",
|
|
"messageID"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"PermissionAction": {
|
|
"type": "string",
|
|
"enum": [
|
|
"allow",
|
|
"deny",
|
|
"ask"
|
|
]
|
|
},
|
|
"PermissionRule": {
|
|
"type": "object",
|
|
"properties": {
|
|
"permission": {
|
|
"type": "string"
|
|
},
|
|
"pattern": {
|
|
"type": "string"
|
|
},
|
|
"action": {
|
|
"$ref": "#/definitions/PermissionAction"
|
|
}
|
|
},
|
|
"required": [
|
|
"permission",
|
|
"pattern",
|
|
"action"
|
|
]
|
|
},
|
|
"PermissionRuleset": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/PermissionRule"
|
|
}
|
|
},
|
|
"Session": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"projectID": {
|
|
"type": "string"
|
|
},
|
|
"directory": {
|
|
"type": "string"
|
|
},
|
|
"parentID": {
|
|
"type": "string",
|
|
"pattern": "^ses.*"
|
|
},
|
|
"summary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"additions": {
|
|
"type": "number"
|
|
},
|
|
"deletions": {
|
|
"type": "number"
|
|
},
|
|
"files": {
|
|
"type": "number"
|
|
},
|
|
"diffs": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/FileDiff"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"additions",
|
|
"deletions",
|
|
"files"
|
|
]
|
|
},
|
|
"share": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"url"
|
|
]
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"version": {
|
|
"type": "string"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created": {
|
|
"type": "number"
|
|
},
|
|
"updated": {
|
|
"type": "number"
|
|
},
|
|
"compacting": {
|
|
"type": "number"
|
|
},
|
|
"archived": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"created",
|
|
"updated"
|
|
]
|
|
},
|
|
"permission": {
|
|
"$ref": "#/definitions/PermissionRuleset"
|
|
},
|
|
"revert": {
|
|
"type": "object",
|
|
"properties": {
|
|
"messageID": {
|
|
"type": "string"
|
|
},
|
|
"partID": {
|
|
"type": "string"
|
|
},
|
|
"snapshot": {
|
|
"type": "string"
|
|
},
|
|
"diff": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"messageID"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"slug",
|
|
"projectID",
|
|
"directory",
|
|
"title",
|
|
"version",
|
|
"time"
|
|
]
|
|
},
|
|
"Event.session.created": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "session.created"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"info": {
|
|
"$ref": "#/definitions/Session"
|
|
}
|
|
},
|
|
"required": [
|
|
"info"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.session.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "session.updated"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"info": {
|
|
"$ref": "#/definitions/Session"
|
|
}
|
|
},
|
|
"required": [
|
|
"info"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.session.deleted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "session.deleted"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"info": {
|
|
"$ref": "#/definitions/Session"
|
|
}
|
|
},
|
|
"required": [
|
|
"info"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.session.diff": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "session.diff"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"diff": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/FileDiff"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"sessionID",
|
|
"diff"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.session.error": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "session.error"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sessionID": {
|
|
"type": "string"
|
|
},
|
|
"error": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/ProviderAuthError"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/UnknownError"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/MessageOutputLengthError"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/MessageAbortedError"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/APIError"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.vcs.branch.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "vcs.branch.updated"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"branch": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Pty": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"pattern": "^pty.*"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"command": {
|
|
"type": "string"
|
|
},
|
|
"args": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"cwd": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"running",
|
|
"exited"
|
|
]
|
|
},
|
|
"pid": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"title",
|
|
"command",
|
|
"args",
|
|
"cwd",
|
|
"status",
|
|
"pid"
|
|
]
|
|
},
|
|
"Event.pty.created": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "pty.created"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"info": {
|
|
"$ref": "#/definitions/Pty"
|
|
}
|
|
},
|
|
"required": [
|
|
"info"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.pty.updated": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "pty.updated"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"info": {
|
|
"$ref": "#/definitions/Pty"
|
|
}
|
|
},
|
|
"required": [
|
|
"info"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.pty.exited": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "pty.exited"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"pattern": "^pty.*"
|
|
},
|
|
"exitCode": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"exitCode"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.pty.deleted": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "pty.deleted"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"pattern": "^pty.*"
|
|
}
|
|
},
|
|
"required": [
|
|
"id"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.worktree.ready": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "worktree.ready"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"branch": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"branch"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event.worktree.failed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "worktree.failed"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"message"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"properties"
|
|
]
|
|
},
|
|
"Event": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/Event.installation.updated"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.installation.update-available"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.project.updated"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.server.instance.disposed"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.server.connected"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.global.disposed"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.lsp.client.diagnostics"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.lsp.updated"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.file.edited"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.message.updated"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.message.removed"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.message.part.updated"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.message.part.removed"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.permission.asked"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.permission.replied"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.session.status"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.session.idle"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.question.asked"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.question.replied"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.question.rejected"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.session.compacted"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.file.watcher.updated"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.todo.updated"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.tui.prompt.append"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.tui.command.execute"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.tui.toast.show"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.tui.session.select"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.mcp.tools.changed"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.mcp.browser.open.failed"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.command.executed"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.session.created"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.session.updated"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.session.deleted"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.session.diff"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.session.error"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.vcs.branch.updated"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.pty.created"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.pty.updated"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.pty.exited"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.pty.deleted"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.worktree.ready"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/Event.worktree.failed"
|
|
}
|
|
]
|
|
},
|
|
"GlobalEvent": {
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"type": "string"
|
|
},
|
|
"payload": {
|
|
"$ref": "#/definitions/Event"
|
|
}
|
|
},
|
|
"required": [
|
|
"directory",
|
|
"payload"
|
|
]
|
|
},
|
|
"BadRequestError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {},
|
|
"errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"success": {
|
|
"type": "boolean",
|
|
"const": false
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"errors",
|
|
"success"
|
|
]
|
|
},
|
|
"NotFoundError": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"const": "NotFoundError"
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"message"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"data"
|
|
]
|
|
},
|
|
"KeybindsConfig": {
|
|
"description": "Custom keybind configurations",
|
|
"type": "object",
|
|
"properties": {
|
|
"leader": {
|
|
"description": "Leader key for keybind combinations",
|
|
"default": "ctrl+x",
|
|
"type": "string"
|
|
},
|
|
"app_exit": {
|
|
"description": "Exit the application",
|
|
"default": "ctrl+c,ctrl+d,<leader>q",
|
|
"type": "string"
|
|
},
|
|
"editor_open": {
|
|
"description": "Open external editor",
|
|
"default": "<leader>e",
|
|
"type": "string"
|
|
},
|
|
"theme_list": {
|
|
"description": "List available themes",
|
|
"default": "<leader>t",
|
|
"type": "string"
|
|
},
|
|
"sidebar_toggle": {
|
|
"description": "Toggle sidebar",
|
|
"default": "<leader>b",
|
|
"type": "string"
|
|
},
|
|
"scrollbar_toggle": {
|
|
"description": "Toggle session scrollbar",
|
|
"default": "none",
|
|
"type": "string"
|
|
},
|
|
"username_toggle": {
|
|
"description": "Toggle username visibility",
|
|
"default": "none",
|
|
"type": "string"
|
|
},
|
|
"status_view": {
|
|
"description": "View status",
|
|
"default": "<leader>s",
|
|
"type": "string"
|
|
},
|
|
"session_export": {
|
|
"description": "Export session to editor",
|
|
"default": "<leader>x",
|
|
"type": "string"
|
|
},
|
|
"session_new": {
|
|
"description": "Create a new session",
|
|
"default": "<leader>n",
|
|
"type": "string"
|
|
},
|
|
"session_list": {
|
|
"description": "List all sessions",
|
|
"default": "<leader>l",
|
|
"type": "string"
|
|
},
|
|
"session_timeline": {
|
|
"description": "Show session timeline",
|
|
"default": "<leader>g",
|
|
"type": "string"
|
|
},
|
|
"session_fork": {
|
|
"description": "Fork session from message",
|
|
"default": "none",
|
|
"type": "string"
|
|
},
|
|
"session_rename": {
|
|
"description": "Rename session",
|
|
"default": "ctrl+r",
|
|
"type": "string"
|
|
},
|
|
"session_delete": {
|
|
"description": "Delete session",
|
|
"default": "ctrl+d",
|
|
"type": "string"
|
|
},
|
|
"stash_delete": {
|
|
"description": "Delete stash entry",
|
|
"default": "ctrl+d",
|
|
"type": "string"
|
|
},
|
|
"model_provider_list": {
|
|
"description": "Open provider list from model dialog",
|
|
"default": "ctrl+a",
|
|
"type": "string"
|
|
},
|
|
"model_favorite_toggle": {
|
|
"description": "Toggle model favorite status",
|
|
"default": "ctrl+f",
|
|
"type": "string"
|
|
},
|
|
"session_share": {
|
|
"description": "Share current session",
|
|
"default": "none",
|
|
"type": "string"
|
|
},
|
|
"session_unshare": {
|
|
"description": "Unshare current session",
|
|
"default": "none",
|
|
"type": "string"
|
|
},
|
|
"session_interrupt": {
|
|
"description": "Interrupt current session",
|
|
"default": "escape",
|
|
"type": "string"
|
|
},
|
|
"session_compact": {
|
|
"description": "Compact the session",
|
|
"default": "<leader>c",
|
|
"type": "string"
|
|
},
|
|
"messages_page_up": {
|
|
"description": "Scroll messages up by one page",
|
|
"default": "pageup,ctrl+alt+b",
|
|
"type": "string"
|
|
},
|
|
"messages_page_down": {
|
|
"description": "Scroll messages down by one page",
|
|
"default": "pagedown,ctrl+alt+f",
|
|
"type": "string"
|
|
},
|
|
"messages_line_up": {
|
|
"description": "Scroll messages up by one line",
|
|
"default": "ctrl+alt+y",
|
|
"type": "string"
|
|
},
|
|
"messages_line_down": {
|
|
"description": "Scroll messages down by one line",
|
|
"default": "ctrl+alt+e",
|
|
"type": "string"
|
|
},
|
|
"messages_half_page_up": {
|
|
"description": "Scroll messages up by half page",
|
|
"default": "ctrl+alt+u",
|
|
"type": "string"
|
|
},
|
|
"messages_half_page_down": {
|
|
"description": "Scroll messages down by half page",
|
|
"default": "ctrl+alt+d",
|
|
"type": "string"
|
|
},
|
|
"messages_first": {
|
|
"description": "Navigate to first message",
|
|
"default": "ctrl+g,home",
|
|
"type": "string"
|
|
},
|
|
"messages_last": {
|
|
"description": "Navigate to last message",
|
|
"default": "ctrl+alt+g,end",
|
|
"type": "string"
|
|
},
|
|
"messages_next": {
|
|
"description": "Navigate to next message",
|
|
"default": "none",
|
|
"type": "string"
|
|
},
|
|
"messages_previous": {
|
|
"description": "Navigate to previous message",
|
|
"default": "none",
|
|
"type": "string"
|
|
},
|
|
"messages_last_user": {
|
|
"description": "Navigate to last user message",
|
|
"default": "none",
|
|
"type": "string"
|
|
},
|
|
"messages_copy": {
|
|
"description": "Copy message",
|
|
"default": "<leader>y",
|
|
"type": "string"
|
|
},
|
|
"messages_undo": {
|
|
"description": "Undo message",
|
|
"default": "<leader>u",
|
|
"type": "string"
|
|
},
|
|
"messages_redo": {
|
|
"description": "Redo message",
|
|
"default": "<leader>r",
|
|
"type": "string"
|
|
},
|
|
"messages_toggle_conceal": {
|
|
"description": "Toggle code block concealment in messages",
|
|
"default": "<leader>h",
|
|
"type": "string"
|
|
},
|
|
"tool_details": {
|
|
"description": "Toggle tool details visibility",
|
|
"default": "none",
|
|
"type": "string"
|
|
},
|
|
"model_list": {
|
|
"description": "List available models",
|
|
"default": "<leader>m",
|
|
"type": "string"
|
|
},
|
|
"model_cycle_recent": {
|
|
"description": "Next recently used model",
|
|
"default": "f2",
|
|
"type": "string"
|
|
},
|
|
"model_cycle_recent_reverse": {
|
|
"description": "Previous recently used model",
|
|
"default": "shift+f2",
|
|
"type": "string"
|
|
},
|
|
"model_cycle_favorite": {
|
|
"description": "Next favorite model",
|
|
"default": "none",
|
|
"type": "string"
|
|
},
|
|
"model_cycle_favorite_reverse": {
|
|
"description": "Previous favorite model",
|
|
"default": "none",
|
|
"type": "string"
|
|
},
|
|
"command_list": {
|
|
"description": "List available commands",
|
|
"default": "ctrl+p",
|
|
"type": "string"
|
|
},
|
|
"agent_list": {
|
|
"description": "List agents",
|
|
"default": "<leader>a",
|
|
"type": "string"
|
|
},
|
|
"agent_cycle": {
|
|
"description": "Next agent",
|
|
"default": "tab",
|
|
"type": "string"
|
|
},
|
|
"agent_cycle_reverse": {
|
|
"description": "Previous agent",
|
|
"default": "shift+tab",
|
|
"type": "string"
|
|
},
|
|
"variant_cycle": {
|
|
"description": "Cycle model variants",
|
|
"default": "ctrl+t",
|
|
"type": "string"
|
|
},
|
|
"input_clear": {
|
|
"description": "Clear input field",
|
|
"default": "ctrl+c",
|
|
"type": "string"
|
|
},
|
|
"input_paste": {
|
|
"description": "Paste from clipboard",
|
|
"default": "ctrl+v",
|
|
"type": "string"
|
|
},
|
|
"input_submit": {
|
|
"description": "Submit input",
|
|
"default": "return",
|
|
"type": "string"
|
|
},
|
|
"input_newline": {
|
|
"description": "Insert newline in input",
|
|
"default": "shift+return,ctrl+return,alt+return,ctrl+j",
|
|
"type": "string"
|
|
},
|
|
"input_move_left": {
|
|
"description": "Move cursor left in input",
|
|
"default": "left,ctrl+b",
|
|
"type": "string"
|
|
},
|
|
"input_move_right": {
|
|
"description": "Move cursor right in input",
|
|
"default": "right,ctrl+f",
|
|
"type": "string"
|
|
},
|
|
"input_move_up": {
|
|
"description": "Move cursor up in input",
|
|
"default": "up",
|
|
"type": "string"
|
|
},
|
|
"input_move_down": {
|
|
"description": "Move cursor down in input",
|
|
"default": "down",
|
|
"type": "string"
|
|
},
|
|
"input_select_left": {
|
|
"description": "Select left in input",
|
|
"default": "shift+left",
|
|
"type": "string"
|
|
},
|
|
"input_select_right": {
|
|
"description": "Select right in input",
|
|
"default": "shift+right",
|
|
"type": "string"
|
|
},
|
|
"input_select_up": {
|
|
"description": "Select up in input",
|
|
"default": "shift+up",
|
|
"type": "string"
|
|
},
|
|
"input_select_down": {
|
|
"description": "Select down in input",
|
|
"default": "shift+down",
|
|
"type": "string"
|
|
},
|
|
"input_line_home": {
|
|
"description": "Move to start of line in input",
|
|
"default": "ctrl+a",
|
|
"type": "string"
|
|
},
|
|
"input_line_end": {
|
|
"description": "Move to end of line in input",
|
|
"default": "ctrl+e",
|
|
"type": "string"
|
|
},
|
|
"input_select_line_home": {
|
|
"description": "Select to start of line in input",
|
|
"default": "ctrl+shift+a",
|
|
"type": "string"
|
|
},
|
|
"input_select_line_end": {
|
|
"description": "Select to end of line in input",
|
|
"default": "ctrl+shift+e",
|
|
"type": "string"
|
|
},
|
|
"input_visual_line_home": {
|
|
"description": "Move to start of visual line in input",
|
|
"default": "alt+a",
|
|
"type": "string"
|
|
},
|
|
"input_visual_line_end": {
|
|
"description": "Move to end of visual line in input",
|
|
"default": "alt+e",
|
|
"type": "string"
|
|
},
|
|
"input_select_visual_line_home": {
|
|
"description": "Select to start of visual line in input",
|
|
"default": "alt+shift+a",
|
|
"type": "string"
|
|
},
|
|
"input_select_visual_line_end": {
|
|
"description": "Select to end of visual line in input",
|
|
"default": "alt+shift+e",
|
|
"type": "string"
|
|
},
|
|
"input_buffer_home": {
|
|
"description": "Move to start of buffer in input",
|
|
"default": "home",
|
|
"type": "string"
|
|
},
|
|
"input_buffer_end": {
|
|
"description": "Move to end of buffer in input",
|
|
"default": "end",
|
|
"type": "string"
|
|
},
|
|
"input_select_buffer_home": {
|
|
"description": "Select to start of buffer in input",
|
|
"default": "shift+home",
|
|
"type": "string"
|
|
},
|
|
"input_select_buffer_end": {
|
|
"description": "Select to end of buffer in input",
|
|
"default": "shift+end",
|
|
"type": "string"
|
|
},
|
|
"input_delete_line": {
|
|
"description": "Delete line in input",
|
|
"default": "ctrl+shift+d",
|
|
"type": "string"
|
|
},
|
|
"input_delete_to_line_end": {
|
|
"description": "Delete to end of line in input",
|
|
"default": "ctrl+k",
|
|
"type": "string"
|
|
},
|
|
"input_delete_to_line_start": {
|
|
"description": "Delete to start of line in input",
|
|
"default": "ctrl+u",
|
|
"type": "string"
|
|
},
|
|
"input_backspace": {
|
|
"description": "Backspace in input",
|
|
"default": "backspace,shift+backspace",
|
|
"type": "string"
|
|
},
|
|
"input_delete": {
|
|
"description": "Delete character in input",
|
|
"default": "ctrl+d,delete,shift+delete",
|
|
"type": "string"
|
|
},
|
|
"input_undo": {
|
|
"description": "Undo in input",
|
|
"default": "ctrl+-,super+z",
|
|
"type": "string"
|
|
},
|
|
"input_redo": {
|
|
"description": "Redo in input",
|
|
"default": "ctrl+.,super+shift+z",
|
|
"type": "string"
|
|
},
|
|
"input_word_forward": {
|
|
"description": "Move word forward in input",
|
|
"default": "alt+f,alt+right,ctrl+right",
|
|
"type": "string"
|
|
},
|
|
"input_word_backward": {
|
|
"description": "Move word backward in input",
|
|
"default": "alt+b,alt+left,ctrl+left",
|
|
"type": "string"
|
|
},
|
|
"input_select_word_forward": {
|
|
"description": "Select word forward in input",
|
|
"default": "alt+shift+f,alt+shift+right",
|
|
"type": "string"
|
|
},
|
|
"input_select_word_backward": {
|
|
"description": "Select word backward in input",
|
|
"default": "alt+shift+b,alt+shift+left",
|
|
"type": "string"
|
|
},
|
|
"input_delete_word_forward": {
|
|
"description": "Delete word forward in input",
|
|
"default": "alt+d,alt+delete,ctrl+delete",
|
|
"type": "string"
|
|
},
|
|
"input_delete_word_backward": {
|
|
"description": "Delete word backward in input",
|
|
"default": "ctrl+w,ctrl+backspace,alt+backspace",
|
|
"type": "string"
|
|
},
|
|
"history_previous": {
|
|
"description": "Previous history item",
|
|
"default": "up",
|
|
"type": "string"
|
|
},
|
|
"history_next": {
|
|
"description": "Next history item",
|
|
"default": "down",
|
|
"type": "string"
|
|
},
|
|
"session_child_cycle": {
|
|
"description": "Next child session",
|
|
"default": "<leader>right",
|
|
"type": "string"
|
|
},
|
|
"session_child_cycle_reverse": {
|
|
"description": "Previous child session",
|
|
"default": "<leader>left",
|
|
"type": "string"
|
|
},
|
|
"session_parent": {
|
|
"description": "Go to parent session",
|
|
"default": "<leader>up",
|
|
"type": "string"
|
|
},
|
|
"terminal_suspend": {
|
|
"description": "Suspend terminal",
|
|
"default": "ctrl+z",
|
|
"type": "string"
|
|
},
|
|
"terminal_title_toggle": {
|
|
"description": "Toggle terminal title",
|
|
"default": "none",
|
|
"type": "string"
|
|
},
|
|
"tips_toggle": {
|
|
"description": "Toggle tips on home screen",
|
|
"default": "<leader>h",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"LogLevel": {
|
|
"description": "Log level",
|
|
"type": "string",
|
|
"enum": [
|
|
"DEBUG",
|
|
"INFO",
|
|
"WARN",
|
|
"ERROR"
|
|
]
|
|
},
|
|
"ServerConfig": {
|
|
"description": "Server configuration for opencode serve and web commands",
|
|
"type": "object",
|
|
"properties": {
|
|
"port": {
|
|
"description": "Port to listen on",
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"hostname": {
|
|
"description": "Hostname to listen on",
|
|
"type": "string"
|
|
},
|
|
"mdns": {
|
|
"description": "Enable mDNS service discovery",
|
|
"type": "boolean"
|
|
},
|
|
"cors": {
|
|
"description": "Additional domains to allow for CORS",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"PermissionActionConfig": {
|
|
"type": "string",
|
|
"enum": [
|
|
"ask",
|
|
"allow",
|
|
"deny"
|
|
]
|
|
},
|
|
"PermissionObjectConfig": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/PermissionActionConfig"
|
|
}
|
|
},
|
|
"PermissionRuleConfig": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/PermissionActionConfig"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/PermissionObjectConfig"
|
|
}
|
|
]
|
|
},
|
|
"PermissionConfig": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"__originalKeys": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"read": {
|
|
"$ref": "#/definitions/PermissionRuleConfig"
|
|
},
|
|
"edit": {
|
|
"$ref": "#/definitions/PermissionRuleConfig"
|
|
},
|
|
"glob": {
|
|
"$ref": "#/definitions/PermissionRuleConfig"
|
|
},
|
|
"grep": {
|
|
"$ref": "#/definitions/PermissionRuleConfig"
|
|
},
|
|
"list": {
|
|
"$ref": "#/definitions/PermissionRuleConfig"
|
|
},
|
|
"bash": {
|
|
"$ref": "#/definitions/PermissionRuleConfig"
|
|
},
|
|
"task": {
|
|
"$ref": "#/definitions/PermissionRuleConfig"
|
|
},
|
|
"external_directory": {
|
|
"$ref": "#/definitions/PermissionRuleConfig"
|
|
},
|
|
"todowrite": {
|
|
"$ref": "#/definitions/PermissionActionConfig"
|
|
},
|
|
"todoread": {
|
|
"$ref": "#/definitions/PermissionActionConfig"
|
|
},
|
|
"question": {
|
|
"$ref": "#/definitions/PermissionActionConfig"
|
|
},
|
|
"webfetch": {
|
|
"$ref": "#/definitions/PermissionActionConfig"
|
|
},
|
|
"websearch": {
|
|
"$ref": "#/definitions/PermissionActionConfig"
|
|
},
|
|
"codesearch": {
|
|
"$ref": "#/definitions/PermissionActionConfig"
|
|
},
|
|
"lsp": {
|
|
"$ref": "#/definitions/PermissionRuleConfig"
|
|
},
|
|
"doom_loop": {
|
|
"$ref": "#/definitions/PermissionActionConfig"
|
|
}
|
|
},
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/PermissionRuleConfig"
|
|
}
|
|
},
|
|
{
|
|
"$ref": "#/definitions/PermissionActionConfig"
|
|
}
|
|
]
|
|
},
|
|
"AgentConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"model": {
|
|
"type": "string"
|
|
},
|
|
"temperature": {
|
|
"type": "number"
|
|
},
|
|
"top_p": {
|
|
"type": "number"
|
|
},
|
|
"prompt": {
|
|
"type": "string"
|
|
},
|
|
"tools": {
|
|
"description": "@deprecated Use 'permission' field instead",
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"disable": {
|
|
"type": "boolean"
|
|
},
|
|
"description": {
|
|
"description": "Description of when to use the agent",
|
|
"type": "string"
|
|
},
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"subagent",
|
|
"primary",
|
|
"all"
|
|
]
|
|
},
|
|
"hidden": {
|
|
"description": "Hide this subagent from the @ autocomplete menu (default: false, only applies to mode: subagent)",
|
|
"type": "boolean"
|
|
},
|
|
"options": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"color": {
|
|
"description": "Hex color code for the agent (e.g., #FF5733)",
|
|
"type": "string",
|
|
"pattern": "^#[0-9a-fA-F]{6}$"
|
|
},
|
|
"steps": {
|
|
"description": "Maximum number of agentic iterations before forcing text-only response",
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"maxSteps": {
|
|
"description": "@deprecated Use 'steps' field instead.",
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"permission": {
|
|
"$ref": "#/definitions/PermissionConfig"
|
|
}
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"ProviderConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"api": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"env": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"npm": {
|
|
"type": "string"
|
|
},
|
|
"models": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"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",
|
|
"const": 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"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"input",
|
|
"output"
|
|
]
|
|
},
|
|
"limit": {
|
|
"type": "object",
|
|
"properties": {
|
|
"context": {
|
|
"type": "number"
|
|
},
|
|
"input": {
|
|
"type": "number"
|
|
},
|
|
"output": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"context",
|
|
"output"
|
|
]
|
|
},
|
|
"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"
|
|
]
|
|
},
|
|
"experimental": {
|
|
"type": "boolean"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"alpha",
|
|
"beta",
|
|
"deprecated"
|
|
]
|
|
},
|
|
"options": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"provider": {
|
|
"type": "object",
|
|
"properties": {
|
|
"npm": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"npm"
|
|
]
|
|
},
|
|
"variants": {
|
|
"description": "Variant-specific configuration",
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"disabled": {
|
|
"description": "Disable this variant for the model",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"additionalProperties": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"whitelist": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"blacklist": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"options": {
|
|
"type": "object",
|
|
"properties": {
|
|
"apiKey": {
|
|
"type": "string"
|
|
},
|
|
"baseURL": {
|
|
"type": "string"
|
|
},
|
|
"enterpriseUrl": {
|
|
"description": "GitHub Enterprise URL for copilot authentication",
|
|
"type": "string"
|
|
},
|
|
"setCacheKey": {
|
|
"description": "Enable promptCacheKey for this provider (default false)",
|
|
"type": "boolean"
|
|
},
|
|
"timeout": {
|
|
"description": "Timeout in milliseconds for requests to this provider. Default is 300000 (5 minutes). Set to false to disable timeout.",
|
|
"anyOf": [
|
|
{
|
|
"description": "Timeout in milliseconds for requests to this provider. Default is 300000 (5 minutes). Set to false to disable timeout.",
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
},
|
|
{
|
|
"description": "Disable timeout for this provider entirely.",
|
|
"type": "boolean",
|
|
"const": false
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"McpLocalConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"description": "Type of MCP server connection",
|
|
"type": "string",
|
|
"const": "local"
|
|
},
|
|
"command": {
|
|
"description": "Command and arguments to run the MCP server",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"environment": {
|
|
"description": "Environment variables to set when running the MCP server",
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"enabled": {
|
|
"description": "Enable or disable the MCP server on startup",
|
|
"type": "boolean"
|
|
},
|
|
"timeout": {
|
|
"description": "Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified.",
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"command"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"McpOAuthConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"clientId": {
|
|
"description": "OAuth client ID. If not provided, dynamic client registration (RFC 7591) will be attempted.",
|
|
"type": "string"
|
|
},
|
|
"clientSecret": {
|
|
"description": "OAuth client secret (if required by the authorization server)",
|
|
"type": "string"
|
|
},
|
|
"scope": {
|
|
"description": "OAuth scopes to request during authorization",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"McpRemoteConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"description": "Type of MCP server connection",
|
|
"type": "string",
|
|
"const": "remote"
|
|
},
|
|
"url": {
|
|
"description": "URL of the remote MCP server",
|
|
"type": "string"
|
|
},
|
|
"enabled": {
|
|
"description": "Enable or disable the MCP server on startup",
|
|
"type": "boolean"
|
|
},
|
|
"headers": {
|
|
"description": "Headers to send with the request",
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"oauth": {
|
|
"description": "OAuth authentication configuration for the MCP server. Set to false to disable OAuth auto-detection.",
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/McpOAuthConfig"
|
|
},
|
|
{
|
|
"type": "boolean",
|
|
"const": false
|
|
}
|
|
]
|
|
},
|
|
"timeout": {
|
|
"description": "Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified.",
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"url"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"LayoutConfig": {
|
|
"description": "@deprecated Always uses stretch layout.",
|
|
"type": "string",
|
|
"enum": [
|
|
"auto",
|
|
"stretch"
|
|
]
|
|
},
|
|
"Config": {
|
|
"type": "object",
|
|
"properties": {
|
|
"$schema": {
|
|
"description": "JSON schema reference for configuration validation",
|
|
"type": "string"
|
|
},
|
|
"theme": {
|
|
"description": "Theme name to use for the interface",
|
|
"type": "string"
|
|
},
|
|
"keybinds": {
|
|
"$ref": "#/definitions/KeybindsConfig"
|
|
},
|
|
"logLevel": {
|
|
"$ref": "#/definitions/LogLevel"
|
|
},
|
|
"tui": {
|
|
"description": "TUI specific settings",
|
|
"type": "object",
|
|
"properties": {
|
|
"scroll_speed": {
|
|
"description": "TUI scroll speed",
|
|
"type": "number",
|
|
"minimum": 0.001
|
|
},
|
|
"scroll_acceleration": {
|
|
"description": "Scroll acceleration settings",
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"description": "Enable scroll acceleration",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled"
|
|
]
|
|
},
|
|
"diff_style": {
|
|
"description": "Control diff rendering style: 'auto' adapts to terminal width, 'stacked' always shows single column",
|
|
"type": "string",
|
|
"enum": [
|
|
"auto",
|
|
"stacked"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"server": {
|
|
"$ref": "#/definitions/ServerConfig"
|
|
},
|
|
"command": {
|
|
"description": "Command configuration, see https://opencode.ai/docs/commands",
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"template": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"agent": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"type": "string"
|
|
},
|
|
"subtask": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"template"
|
|
]
|
|
}
|
|
},
|
|
"watcher": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ignore": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"plugin": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"snapshot": {
|
|
"type": "boolean"
|
|
},
|
|
"share": {
|
|
"description": "Control sharing behavior:'manual' allows manual sharing via commands, 'auto' enables automatic sharing, 'disabled' disables all sharing",
|
|
"type": "string",
|
|
"enum": [
|
|
"manual",
|
|
"auto",
|
|
"disabled"
|
|
]
|
|
},
|
|
"autoshare": {
|
|
"description": "@deprecated Use 'share' field instead. Share newly created sessions automatically",
|
|
"type": "boolean"
|
|
},
|
|
"autoupdate": {
|
|
"description": "Automatically update to the latest version. Set to true to auto-update, false to disable, or 'notify' to show update notifications",
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"const": "notify"
|
|
}
|
|
]
|
|
},
|
|
"disabled_providers": {
|
|
"description": "Disable providers that are loaded automatically",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"enabled_providers": {
|
|
"description": "When set, ONLY these providers will be enabled. All other providers will be ignored",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"model": {
|
|
"description": "Model to use in the format of provider/model, eg anthropic/claude-2",
|
|
"type": "string"
|
|
},
|
|
"small_model": {
|
|
"description": "Small model to use for tasks like title generation in the format of provider/model",
|
|
"type": "string"
|
|
},
|
|
"default_agent": {
|
|
"description": "Default agent to use when none is specified. Must be a primary agent. Falls back to 'build' if not set or if the specified agent is invalid.",
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"description": "Custom username to display in conversations instead of system username",
|
|
"type": "string"
|
|
},
|
|
"mode": {
|
|
"description": "@deprecated Use `agent` field instead.",
|
|
"type": "object",
|
|
"properties": {
|
|
"build": {
|
|
"$ref": "#/definitions/AgentConfig"
|
|
},
|
|
"plan": {
|
|
"$ref": "#/definitions/AgentConfig"
|
|
}
|
|
},
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/AgentConfig"
|
|
}
|
|
},
|
|
"agent": {
|
|
"description": "Agent configuration, see https://opencode.ai/docs/agents",
|
|
"type": "object",
|
|
"properties": {
|
|
"plan": {
|
|
"$ref": "#/definitions/AgentConfig"
|
|
},
|
|
"build": {
|
|
"$ref": "#/definitions/AgentConfig"
|
|
},
|
|
"general": {
|
|
"$ref": "#/definitions/AgentConfig"
|
|
},
|
|
"explore": {
|
|
"$ref": "#/definitions/AgentConfig"
|
|
},
|
|
"title": {
|
|
"$ref": "#/definitions/AgentConfig"
|
|
},
|
|
"summary": {
|
|
"$ref": "#/definitions/AgentConfig"
|
|
},
|
|
"compaction": {
|
|
"$ref": "#/definitions/AgentConfig"
|
|
}
|
|
},
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/AgentConfig"
|
|
}
|
|
},
|
|
"provider": {
|
|
"description": "Custom provider configurations and model overrides",
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/ProviderConfig"
|
|
}
|
|
},
|
|
"mcp": {
|
|
"description": "MCP (Model Context Protocol) server configurations",
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"anyOf": [
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/McpLocalConfig"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/McpRemoteConfig"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"formatter": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean",
|
|
"const": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"disabled": {
|
|
"type": "boolean"
|
|
},
|
|
"command": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"environment": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"extensions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"lsp": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean",
|
|
"const": false
|
|
},
|
|
{
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"disabled": {
|
|
"type": "boolean",
|
|
"const": true
|
|
}
|
|
},
|
|
"required": [
|
|
"disabled"
|
|
]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"extensions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"disabled": {
|
|
"type": "boolean"
|
|
},
|
|
"env": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"initialization": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"command"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"instructions": {
|
|
"description": "Additional instruction files or patterns to include",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"layout": {
|
|
"$ref": "#/definitions/LayoutConfig"
|
|
},
|
|
"permission": {
|
|
"$ref": "#/definitions/PermissionConfig"
|
|
},
|
|
"tools": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"enterprise": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"description": "Enterprise URL",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"compaction": {
|
|
"type": "object",
|
|
"properties": {
|
|
"auto": {
|
|
"description": "Enable automatic compaction when context is full (default: true)",
|
|
"type": "boolean"
|
|
},
|
|
"prune": {
|
|
"description": "Enable pruning of old tool outputs (default: true)",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"experimental": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hook": {
|
|
"type": "object",
|
|
"properties": {
|
|
"file_edited": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"environment": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"command"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"session_completed": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"environment": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"command"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"chatMaxRetries": {
|
|
"description": "Number of retries for chat completions on failure",
|
|
"type": "number"
|
|
},
|
|
"disable_paste_summary": {
|
|
"type": "boolean"
|
|
},
|
|
"batch_tool": {
|
|
"description": "Enable the batch tool",
|
|
"type": "boolean"
|
|
},
|
|
"openTelemetry": {
|
|
"description": "Enable OpenTelemetry spans for AI SDK calls (using the 'experimental_telemetry' flag)",
|
|
"type": "boolean"
|
|
},
|
|
"primary_tools": {
|
|
"description": "Tools that should only be available to primary agents.",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"continue_loop_on_deny": {
|
|
"description": "Continue the agent loop when a tool call is denied",
|
|
"type": "boolean"
|
|
},
|
|
"mcp_timeout": {
|
|
"description": "Timeout in milliseconds for model context protocol (MCP) requests",
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
]
|
|
},
|
|
"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"
|
|
]
|
|
},
|
|
"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"
|
|
]
|
|
},
|
|
"interleaved": {
|
|
"anyOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"field": {
|
|
"type": "string",
|
|
"enum": [
|
|
"reasoning_content",
|
|
"reasoning_details"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"field"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"temperature",
|
|
"reasoning",
|
|
"attachment",
|
|
"toolcall",
|
|
"input",
|
|
"output",
|
|
"interleaved"
|
|
]
|
|
},
|
|
"cost": {
|
|
"type": "object",
|
|
"properties": {
|
|
"input": {
|
|
"type": "number"
|
|
},
|
|
"output": {
|
|
"type": "number"
|
|
},
|
|
"cache": {
|
|
"type": "object",
|
|
"properties": {
|
|
"read": {
|
|
"type": "number"
|
|
},
|
|
"write": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"read",
|
|
"write"
|
|
]
|
|
},
|
|
"experimentalOver200K": {
|
|
"type": "object",
|
|
"properties": {
|
|
"input": {
|
|
"type": "number"
|
|
},
|
|
"output": {
|
|
"type": "number"
|
|
},
|
|
"cache": {
|
|
"type": "object",
|
|
"properties": {
|
|
"read": {
|
|
"type": "number"
|
|
},
|
|
"write": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"read",
|
|
"write"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"input",
|
|
"output",
|
|
"cache"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"input",
|
|
"output",
|
|
"cache"
|
|
]
|
|
},
|
|
"limit": {
|
|
"type": "object",
|
|
"properties": {
|
|
"context": {
|
|
"type": "number"
|
|
},
|
|
"input": {
|
|
"type": "number"
|
|
},
|
|
"output": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"context",
|
|
"output"
|
|
]
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"alpha",
|
|
"beta",
|
|
"deprecated",
|
|
"active"
|
|
]
|
|
},
|
|
"options": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"release_date": {
|
|
"type": "string"
|
|
},
|
|
"variants": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"providerID",
|
|
"api",
|
|
"name",
|
|
"capabilities",
|
|
"cost",
|
|
"limit",
|
|
"status",
|
|
"options",
|
|
"headers",
|
|
"release_date"
|
|
]
|
|
},
|
|
"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",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"models": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/Model"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"source",
|
|
"env",
|
|
"options",
|
|
"models"
|
|
]
|
|
},
|
|
"ToolIDs": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"ToolListItem": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"parameters": {}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"description",
|
|
"parameters"
|
|
]
|
|
},
|
|
"ToolList": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/ToolListItem"
|
|
}
|
|
},
|
|
"Worktree": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"branch": {
|
|
"type": "string"
|
|
},
|
|
"directory": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"branch",
|
|
"directory"
|
|
]
|
|
},
|
|
"WorktreeCreateInput": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"startCommand": {
|
|
"description": "Additional startup script to run after the project's start command",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"WorktreeRemoveInput": {
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"directory"
|
|
]
|
|
},
|
|
"WorktreeResetInput": {
|
|
"type": "object",
|
|
"properties": {
|
|
"directory": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"directory"
|
|
]
|
|
},
|
|
"McpResource": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"uri": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"mimeType": {
|
|
"type": "string"
|
|
},
|
|
"client": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"uri",
|
|
"client"
|
|
]
|
|
},
|
|
"TextPartInput": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "text"
|
|
},
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"synthetic": {
|
|
"type": "boolean"
|
|
},
|
|
"ignored": {
|
|
"type": "boolean"
|
|
},
|
|
"time": {
|
|
"type": "object",
|
|
"properties": {
|
|
"start": {
|
|
"type": "number"
|
|
},
|
|
"end": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"start"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"text"
|
|
]
|
|
},
|
|
"FilePartInput": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "file"
|
|
},
|
|
"mime": {
|
|
"type": "string"
|
|
},
|
|
"filename": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"$ref": "#/definitions/FilePartSource"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"mime",
|
|
"url"
|
|
]
|
|
},
|
|
"AgentPartInput": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "agent"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "string"
|
|
},
|
|
"start": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"end": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
}
|
|
},
|
|
"required": [
|
|
"value",
|
|
"start",
|
|
"end"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"name"
|
|
]
|
|
},
|
|
"SubtaskPartInput": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"const": "subtask"
|
|
},
|
|
"prompt": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"agent": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"type": "object",
|
|
"properties": {
|
|
"providerID": {
|
|
"type": "string"
|
|
},
|
|
"modelID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"providerID",
|
|
"modelID"
|
|
]
|
|
},
|
|
"command": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"prompt",
|
|
"description",
|
|
"agent"
|
|
]
|
|
},
|
|
"ProviderAuthMethod": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"const": "oauth"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"const": "api"
|
|
}
|
|
]
|
|
},
|
|
"label": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"label"
|
|
]
|
|
},
|
|
"ProviderAuthAuthorization": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"method": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"const": "auto"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"const": "code"
|
|
}
|
|
]
|
|
},
|
|
"instructions": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"url",
|
|
"method",
|
|
"instructions"
|
|
]
|
|
},
|
|
"Symbol": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"type": "number"
|
|
},
|
|
"location": {
|
|
"type": "object",
|
|
"properties": {
|
|
"uri": {
|
|
"type": "string"
|
|
},
|
|
"range": {
|
|
"$ref": "#/definitions/Range"
|
|
}
|
|
},
|
|
"required": [
|
|
"uri",
|
|
"range"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"kind",
|
|
"location"
|
|
]
|
|
},
|
|
"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"
|
|
]
|
|
},
|
|
"FileContent": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "text"
|
|
},
|
|
"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": "number"
|
|
},
|
|
"oldLines": {
|
|
"type": "number"
|
|
},
|
|
"newStart": {
|
|
"type": "number"
|
|
},
|
|
"newLines": {
|
|
"type": "number"
|
|
},
|
|
"lines": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"oldStart",
|
|
"oldLines",
|
|
"newStart",
|
|
"newLines",
|
|
"lines"
|
|
]
|
|
}
|
|
},
|
|
"index": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"oldFileName",
|
|
"newFileName",
|
|
"hunks"
|
|
]
|
|
},
|
|
"encoding": {
|
|
"type": "string",
|
|
"const": "base64"
|
|
},
|
|
"mimeType": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"content"
|
|
]
|
|
},
|
|
"File": {
|
|
"type": "object",
|
|
"properties": {
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"added": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"removed": {
|
|
"type": "integer",
|
|
"minimum": -9007199254740991,
|
|
"maximum": 9007199254740991
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"added",
|
|
"deleted",
|
|
"modified"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"path",
|
|
"added",
|
|
"removed",
|
|
"status"
|
|
]
|
|
},
|
|
"MCPStatusConnected": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"const": "connected"
|
|
}
|
|
},
|
|
"required": [
|
|
"status"
|
|
]
|
|
},
|
|
"MCPStatusDisabled": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"const": "disabled"
|
|
}
|
|
},
|
|
"required": [
|
|
"status"
|
|
]
|
|
},
|
|
"MCPStatusFailed": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"const": "failed"
|
|
},
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"status",
|
|
"error"
|
|
]
|
|
},
|
|
"MCPStatusNeedsAuth": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"const": "needs_auth"
|
|
}
|
|
},
|
|
"required": [
|
|
"status"
|
|
]
|
|
},
|
|
"MCPStatusNeedsClientRegistration": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"const": "needs_client_registration"
|
|
},
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"status",
|
|
"error"
|
|
]
|
|
},
|
|
"MCPStatus": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/MCPStatusConnected"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/MCPStatusDisabled"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/MCPStatusFailed"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/MCPStatusNeedsAuth"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/MCPStatusNeedsClientRegistration"
|
|
}
|
|
]
|
|
},
|
|
"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"
|
|
]
|
|
},
|
|
"VcsInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"branch": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"branch"
|
|
]
|
|
},
|
|
"Command": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"agent": {
|
|
"type": "string"
|
|
},
|
|
"model": {
|
|
"type": "string"
|
|
},
|
|
"mcp": {
|
|
"type": "boolean"
|
|
},
|
|
"template": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"subtask": {
|
|
"type": "boolean"
|
|
},
|
|
"hints": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"template",
|
|
"hints"
|
|
]
|
|
},
|
|
"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": "#/definitions/PermissionRuleset"
|
|
},
|
|
"model": {
|
|
"type": "object",
|
|
"properties": {
|
|
"modelID": {
|
|
"type": "string"
|
|
},
|
|
"providerID": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"modelID",
|
|
"providerID"
|
|
]
|
|
},
|
|
"prompt": {
|
|
"type": "string"
|
|
},
|
|
"options": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string"
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"steps": {
|
|
"type": "integer",
|
|
"exclusiveMinimum": 0,
|
|
"maximum": 9007199254740991
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"mode",
|
|
"permission",
|
|
"options"
|
|
]
|
|
},
|
|
"LSPStatus": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"root": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"const": "connected"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"const": "error"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"name",
|
|
"root",
|
|
"status"
|
|
]
|
|
},
|
|
"FormatterStatus": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"extensions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"extensions",
|
|
"enabled"
|
|
]
|
|
},
|
|
"OAuth": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "oauth"
|
|
},
|
|
"refresh": {
|
|
"type": "string"
|
|
},
|
|
"access": {
|
|
"type": "string"
|
|
},
|
|
"expires": {
|
|
"type": "number"
|
|
},
|
|
"accountId": {
|
|
"type": "string"
|
|
},
|
|
"enterpriseUrl": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"refresh",
|
|
"access",
|
|
"expires"
|
|
]
|
|
},
|
|
"ApiAuth": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "api"
|
|
},
|
|
"key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"key"
|
|
]
|
|
},
|
|
"WellKnownAuth": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"const": "wellknown"
|
|
},
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"key",
|
|
"token"
|
|
]
|
|
},
|
|
"Auth": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/OAuth"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/ApiAuth"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/WellKnownAuth"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
} |