summaryrefslogtreecommitdiffhomepage
path: root/packages/sdk/openapi.json
diff options
context:
space:
mode:
Diffstat (limited to 'packages/sdk/openapi.json')
-rw-r--r--packages/sdk/openapi.json1837
1 files changed, 1238 insertions, 599 deletions
diff --git a/packages/sdk/openapi.json b/packages/sdk/openapi.json
index 450de5131..d11f9ad73 100644
--- a/packages/sdk/openapi.json
+++ b/packages/sdk/openapi.json
@@ -66,31 +66,6 @@
]
}
},
- "/global/sync-event": {
- "get": {
- "operationId": "global.sync-event.subscribe",
- "summary": "Subscribe to global sync events",
- "description": "Get global sync events",
- "responses": {
- "200": {
- "description": "Event stream",
- "content": {
- "text/event-stream": {
- "schema": {
- "$ref": "#/components/schemas/SyncEvent"
- }
- }
- }
- }
- },
- "x-codeSamples": [
- {
- "lang": "js",
- "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.global.sync-event.subscribe({\n ...\n})"
- }
- ]
- }
- },
"/global/config": {
"get": {
"operationId": "global.config.get",
@@ -1526,6 +1501,62 @@
]
}
},
+ "/experimental/workspace/adaptor": {
+ "get": {
+ "operationId": "experimental.workspace.adaptor.list",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "directory",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "workspace",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "summary": "List workspace adaptors",
+ "description": "List all available workspace adaptors for the current project.",
+ "responses": {
+ "200": {
+ "description": "Workspace adaptors",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "description": {
+ "type": "string"
+ }
+ },
+ "required": ["type", "name", "description"]
+ }
+ }
+ }
+ }
+ }
+ },
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.experimental.workspace.adaptor.list({\n ...\n})"
+ }
+ ]
+ }
+ },
"/experimental/workspace": {
"post": {
"operationId": "experimental.workspace.create",
@@ -1656,6 +1687,64 @@
]
}
},
+ "/experimental/workspace/status": {
+ "get": {
+ "operationId": "experimental.workspace.status",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "directory",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "workspace",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "summary": "Workspace status",
+ "description": "Get connection status for workspaces in the current project.",
+ "responses": {
+ "200": {
+ "description": "Workspace status",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "workspaceID": {
+ "type": "string",
+ "pattern": "^wrk.*"
+ },
+ "status": {
+ "type": "string",
+ "enum": ["connected", "connecting", "disconnected", "error"]
+ },
+ "error": {
+ "type": "string"
+ }
+ },
+ "required": ["workspaceID", "status"]
+ }
+ }
+ }
+ }
+ }
+ },
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.experimental.workspace.status({\n ...\n})"
+ }
+ ]
+ }
+ },
"/experimental/workspace/{id}": {
"delete": {
"operationId": "experimental.workspace.remove",
@@ -1716,6 +1805,90 @@
]
}
},
+ "/experimental/workspace/{id}/session-restore": {
+ "post": {
+ "operationId": "experimental.workspace.sessionRestore",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "directory",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "workspace",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "path",
+ "name": "id",
+ "schema": {
+ "type": "string",
+ "pattern": "^wrk.*"
+ },
+ "required": true
+ }
+ ],
+ "summary": "Restore session into workspace",
+ "description": "Replay a session's sync events into the target workspace in batches.",
+ "responses": {
+ "200": {
+ "description": "Session replay started",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "total": {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 9007199254740991
+ }
+ },
+ "required": ["total"]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BadRequestError"
+ }
+ }
+ }
+ }
+ },
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "sessionID": {
+ "type": "string",
+ "pattern": "^ses.*"
+ }
+ },
+ "required": ["sessionID"]
+ }
+ }
+ }
+ },
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.experimental.workspace.sessionRestore({\n ...\n})"
+ }
+ ]
+ }
+ },
"/experimental/worktree": {
"post": {
"operationId": "worktree.create",
@@ -2492,6 +2665,9 @@
"title": {
"type": "string"
},
+ "permission": {
+ "$ref": "#/components/schemas/PermissionRuleset"
+ },
"time": {
"type": "object",
"properties": {
@@ -5051,6 +5227,202 @@
]
}
},
+ "/sync/replay": {
+ "post": {
+ "operationId": "sync.replay",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "directory",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "workspace",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "summary": "Replay sync events",
+ "description": "Validate and replay a complete sync event history.",
+ "responses": {
+ "200": {
+ "description": "Replayed sync events",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "sessionID": {
+ "type": "string"
+ }
+ },
+ "required": ["sessionID"]
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BadRequestError"
+ }
+ }
+ }
+ }
+ },
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "directory": {
+ "type": "string"
+ },
+ "events": {
+ "minItems": 1,
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "aggregateID": {
+ "type": "string"
+ },
+ "seq": {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 9007199254740991
+ },
+ "type": {
+ "type": "string"
+ },
+ "data": {
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {}
+ }
+ },
+ "required": ["id", "aggregateID", "seq", "type", "data"]
+ }
+ }
+ },
+ "required": ["directory", "events"]
+ }
+ }
+ }
+ },
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.sync.replay({\n ...\n})"
+ }
+ ]
+ }
+ },
+ "/sync/history": {
+ "get": {
+ "operationId": "sync.history.list",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "directory",
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "in": "query",
+ "name": "workspace",
+ "schema": {
+ "type": "string"
+ }
+ }
+ ],
+ "summary": "List sync events",
+ "description": "List sync events for all aggregates. Keys are aggregate IDs the client already knows about, values are the last known sequence ID. Events with seq > value are returned for those aggregates. Aggregates not listed in the input get their full history.",
+ "responses": {
+ "200": {
+ "description": "Sync events",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "aggregate_id": {
+ "type": "string"
+ },
+ "seq": {
+ "type": "number"
+ },
+ "type": {
+ "type": "string"
+ },
+ "data": {
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {}
+ }
+ },
+ "required": ["id", "aggregate_id", "seq", "type", "data"]
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BadRequestError"
+ }
+ }
+ }
+ }
+ },
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "propertyNames": {
+ "type": "string"
+ },
+ "additionalProperties": {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 9007199254740991
+ }
+ }
+ }
+ }
+ },
+ "x-codeSamples": [
+ {
+ "lang": "js",
+ "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.sync.history.list({\n ...\n})"
+ }
+ ]
+ }
+ },
"/find": {
"get": {
"operationId": "find.text",
@@ -7169,87 +7541,103 @@
},
"required": ["type", "properties"]
},
- "Event.installation.updated": {
+ "Event.server.instance.disposed": {
"type": "object",
"properties": {
"type": {
"type": "string",
- "const": "installation.updated"
+ "const": "server.instance.disposed"
},
"properties": {
"type": "object",
"properties": {
- "version": {
+ "directory": {
"type": "string"
}
},
- "required": ["version"]
+ "required": ["directory"]
}
},
"required": ["type", "properties"]
},
- "Event.installation.update-available": {
+ "Event.server.connected": {
"type": "object",
"properties": {
"type": {
"type": "string",
- "const": "installation.update-available"
+ "const": "server.connected"
},
"properties": {
"type": "object",
- "properties": {
- "version": {
- "type": "string"
- }
- },
- "required": ["version"]
+ "properties": {}
}
},
"required": ["type", "properties"]
},
- "Event.server.instance.disposed": {
+ "Event.global.disposed": {
"type": "object",
"properties": {
"type": {
"type": "string",
- "const": "server.instance.disposed"
+ "const": "global.disposed"
},
"properties": {
"type": "object",
- "properties": {
- "directory": {
- "type": "string"
- }
- },
- "required": ["directory"]
+ "properties": {}
}
},
"required": ["type", "properties"]
},
- "Event.server.connected": {
+ "Event.file.edited": {
"type": "object",
"properties": {
"type": {
"type": "string",
- "const": "server.connected"
+ "const": "file.edited"
},
"properties": {
"type": "object",
- "properties": {}
+ "properties": {
+ "file": {
+ "type": "string"
+ }
+ },
+ "required": ["file"]
}
},
"required": ["type", "properties"]
},
- "Event.global.disposed": {
+ "Event.file.watcher.updated": {
"type": "object",
"properties": {
"type": {
"type": "string",
- "const": "global.disposed"
+ "const": "file.watcher.updated"
},
"properties": {
"type": "object",
- "properties": {}
+ "properties": {
+ "file": {
+ "type": "string"
+ },
+ "event": {
+ "anyOf": [
+ {
+ "type": "string",
+ "const": "add"
+ },
+ {
+ "type": "string",
+ "const": "change"
+ },
+ {
+ "type": "string",
+ "const": "unlink"
+ }
+ ]
+ }
+ },
+ "required": ["file", "event"]
}
},
"required": ["type", "properties"]
@@ -7290,6 +7678,44 @@
},
"required": ["type", "properties"]
},
+ "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"]
+ },
"Event.message.part.delta": {
"type": "object",
"properties": {
@@ -7670,74 +8096,311 @@
},
"required": ["type", "properties"]
},
- "Event.file.edited": {
+ "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": "#/components/schemas/QuestionOption"
+ }
+ },
+ "multiple": {
+ "description": "Allow selecting multiple choices",
+ "type": "boolean"
+ },
+ "custom": {
+ "description": "Allow typing a custom answer (default: true)",
+ "type": "boolean"
+ }
+ },
+ "required": ["question", "header", "options"]
+ },
+ "QuestionTool": {
+ "type": "object",
+ "properties": {
+ "messageID": {
+ "type": "string",
+ "pattern": "^msg.*"
+ },
+ "callID": {
+ "type": "string"
+ }
+ },
+ "required": ["messageID", "callID"]
+ },
+ "QuestionRequest": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "pattern": "^que.*"
+ },
+ "sessionID": {
+ "type": "string",
+ "pattern": "^ses.*"
+ },
+ "questions": {
+ "description": "Questions to ask",
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/QuestionInfo"
+ }
+ },
+ "tool": {
+ "$ref": "#/components/schemas/QuestionTool"
+ }
+ },
+ "required": ["id", "sessionID", "questions"]
+ },
+ "Event.question.asked": {
"type": "object",
"properties": {
"type": {
"type": "string",
- "const": "file.edited"
+ "const": "question.asked"
+ },
+ "properties": {
+ "$ref": "#/components/schemas/QuestionRequest"
+ }
+ },
+ "required": ["type", "properties"]
+ },
+ "QuestionAnswer": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "QuestionReplied": {
+ "type": "object",
+ "properties": {
+ "sessionID": {
+ "type": "string",
+ "pattern": "^ses.*"
+ },
+ "requestID": {
+ "type": "string",
+ "pattern": "^que.*"
+ },
+ "answers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/QuestionAnswer"
+ }
+ }
+ },
+ "required": ["sessionID", "requestID", "answers"]
+ },
+ "Event.question.replied": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "const": "question.replied"
+ },
+ "properties": {
+ "$ref": "#/components/schemas/QuestionReplied"
+ }
+ },
+ "required": ["type", "properties"]
+ },
+ "QuestionRejected": {
+ "type": "object",
+ "properties": {
+ "sessionID": {
+ "type": "string",
+ "pattern": "^ses.*"
+ },
+ "requestID": {
+ "type": "string",
+ "pattern": "^que.*"
+ }
+ },
+ "required": ["sessionID", "requestID"]
+ },
+ "Event.question.rejected": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "const": "question.rejected"
+ },
+ "properties": {
+ "$ref": "#/components/schemas/QuestionRejected"
+ }
+ },
+ "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"
+ }
+ },
+ "required": ["content", "status", "priority"]
+ },
+ "Event.todo.updated": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "const": "todo.updated"
},
"properties": {
"type": "object",
"properties": {
- "file": {
- "type": "string"
+ "sessionID": {
+ "type": "string",
+ "pattern": "^ses.*"
+ },
+ "todos": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/Todo"
+ }
}
},
- "required": ["file"]
+ "required": ["sessionID", "todos"]
}
},
"required": ["type", "properties"]
},
- "Event.file.watcher.updated": {
+ "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": "file.watcher.updated"
+ "const": "session.status"
},
"properties": {
"type": "object",
"properties": {
- "file": {
- "type": "string"
+ "sessionID": {
+ "type": "string",
+ "pattern": "^ses.*"
},
- "event": {
- "anyOf": [
- {
- "type": "string",
- "const": "add"
- },
- {
- "type": "string",
- "const": "change"
- },
- {
- "type": "string",
- "const": "unlink"
- }
- ]
+ "status": {
+ "$ref": "#/components/schemas/SessionStatus"
}
},
- "required": ["file", "event"]
+ "required": ["sessionID", "status"]
}
},
"required": ["type", "properties"]
},
- "Event.vcs.branch.updated": {
+ "Event.session.idle": {
"type": "object",
"properties": {
"type": {
"type": "string",
- "const": "vcs.branch.updated"
+ "const": "session.idle"
},
"properties": {
"type": "object",
"properties": {
- "branch": {
- "type": "string"
+ "sessionID": {
+ "type": "string",
+ "pattern": "^ses.*"
}
- }
+ },
+ "required": ["sessionID"]
+ }
+ },
+ "required": ["type", "properties"]
+ },
+ "Event.session.compacted": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "const": "session.compacted"
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "sessionID": {
+ "type": "string",
+ "pattern": "^ses.*"
+ }
+ },
+ "required": ["sessionID"]
}
},
"required": ["type", "properties"]
@@ -7928,340 +8591,61 @@
},
"required": ["type", "properties"]
},
- "Event.workspace.ready": {
+ "Event.vcs.branch.updated": {
"type": "object",
"properties": {
"type": {
"type": "string",
- "const": "workspace.ready"
+ "const": "vcs.branch.updated"
},
"properties": {
"type": "object",
"properties": {
- "name": {
+ "branch": {
"type": "string"
}
- },
- "required": ["name"]
+ }
}
},
"required": ["type", "properties"]
},
- "Event.workspace.failed": {
+ "Event.worktree.ready": {
"type": "object",
"properties": {
"type": {
"type": "string",
- "const": "workspace.failed"
+ "const": "worktree.ready"
},
"properties": {
"type": "object",
"properties": {
- "message": {
+ "name": {
"type": "string"
- }
- },
- "required": ["message"]
- }
- },
- "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": "#/components/schemas/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": "#/components/schemas/QuestionInfo"
- }
- },
- "tool": {
- "type": "object",
- "properties": {
- "messageID": {
- "type": "string",
- "pattern": "^msg.*"
},
- "callID": {
+ "branch": {
"type": "string"
}
},
- "required": ["messageID", "callID"]
- }
- },
- "required": ["id", "sessionID", "questions"]
- },
- "Event.question.asked": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "const": "question.asked"
- },
- "properties": {
- "$ref": "#/components/schemas/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",
- "pattern": "^ses.*"
- },
- "requestID": {
- "type": "string",
- "pattern": "^que.*"
- },
- "answers": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/QuestionAnswer"
- }
- }
- },
- "required": ["sessionID", "requestID", "answers"]
+ "required": ["name", "branch"]
}
},
"required": ["type", "properties"]
},
- "Event.question.rejected": {
+ "Event.worktree.failed": {
"type": "object",
"properties": {
"type": {
"type": "string",
- "const": "question.rejected"
+ "const": "worktree.failed"
},
"properties": {
"type": "object",
"properties": {
- "sessionID": {
- "type": "string",
- "pattern": "^ses.*"
- },
- "requestID": {
- "type": "string",
- "pattern": "^que.*"
- }
- },
- "required": ["sessionID", "requestID"]
- }
- },
- "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",
- "pattern": "^ses.*"
- },
- "status": {
- "$ref": "#/components/schemas/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",
- "pattern": "^ses.*"
- }
- },
- "required": ["sessionID"]
- }
- },
- "required": ["type", "properties"]
- },
- "Event.session.compacted": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "const": "session.compacted"
- },
- "properties": {
- "type": "object",
- "properties": {
- "sessionID": {
- "type": "string",
- "pattern": "^ses.*"
- }
- },
- "required": ["sessionID"]
- }
- },
- "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"
- }
- },
- "required": ["content", "status", "priority"]
- },
- "Event.todo.updated": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "const": "todo.updated"
- },
- "properties": {
- "type": "object",
- "properties": {
- "sessionID": {
- "type": "string",
- "pattern": "^ses.*"
- },
- "todos": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Todo"
- }
- }
- },
- "required": ["sessionID", "todos"]
+ "required": ["message"]
}
},
"required": ["type", "properties"]
@@ -8379,34 +8763,31 @@
},
"required": ["type", "properties"]
},
- "Event.worktree.ready": {
+ "Event.workspace.ready": {
"type": "object",
"properties": {
"type": {
"type": "string",
- "const": "worktree.ready"
+ "const": "workspace.ready"
},
"properties": {
"type": "object",
"properties": {
"name": {
"type": "string"
- },
- "branch": {
- "type": "string"
}
},
- "required": ["name", "branch"]
+ "required": ["name"]
}
},
"required": ["type", "properties"]
},
- "Event.worktree.failed": {
+ "Event.workspace.failed": {
"type": "object",
"properties": {
"type": {
"type": "string",
- "const": "worktree.failed"
+ "const": "workspace.failed"
},
"properties": {
"type": "object",
@@ -8420,6 +8801,67 @@
},
"required": ["type", "properties"]
},
+ "Event.workspace.restore": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "const": "workspace.restore"
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "workspaceID": {
+ "type": "string",
+ "pattern": "^wrk.*"
+ },
+ "sessionID": {
+ "type": "string",
+ "pattern": "^ses.*"
+ },
+ "total": {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 9007199254740991
+ },
+ "step": {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 9007199254740991
+ }
+ },
+ "required": ["workspaceID", "sessionID", "total", "step"]
+ }
+ },
+ "required": ["type", "properties"]
+ },
+ "Event.workspace.status": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "const": "workspace.status"
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "workspaceID": {
+ "type": "string",
+ "pattern": "^wrk.*"
+ },
+ "status": {
+ "type": "string",
+ "enum": ["connected", "connecting", "disconnected", "error"]
+ },
+ "error": {
+ "type": "string"
+ }
+ },
+ "required": ["workspaceID", "status"]
+ }
+ },
+ "required": ["type", "properties"]
+ },
"OutputFormatText": {
"type": "object",
"properties": {
@@ -9781,165 +10223,24 @@
},
"required": ["type", "properties"]
},
- "Event": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/Event.project.updated"
- },
- {
- "$ref": "#/components/schemas/Event.installation.updated"
- },
- {
- "$ref": "#/components/schemas/Event.installation.update-available"
- },
- {
- "$ref": "#/components/schemas/Event.server.instance.disposed"
- },
- {
- "$ref": "#/components/schemas/Event.server.connected"
- },
- {
- "$ref": "#/components/schemas/Event.global.disposed"
- },
- {
- "$ref": "#/components/schemas/Event.lsp.client.diagnostics"
- },
- {
- "$ref": "#/components/schemas/Event.lsp.updated"
- },
- {
- "$ref": "#/components/schemas/Event.message.part.delta"
- },
- {
- "$ref": "#/components/schemas/Event.permission.asked"
- },
- {
- "$ref": "#/components/schemas/Event.permission.replied"
- },
- {
- "$ref": "#/components/schemas/Event.session.diff"
- },
- {
- "$ref": "#/components/schemas/Event.session.error"
- },
- {
- "$ref": "#/components/schemas/Event.file.edited"
- },
- {
- "$ref": "#/components/schemas/Event.file.watcher.updated"
- },
- {
- "$ref": "#/components/schemas/Event.vcs.branch.updated"
- },
- {
- "$ref": "#/components/schemas/Event.tui.prompt.append"
- },
- {
- "$ref": "#/components/schemas/Event.tui.command.execute"
- },
- {
- "$ref": "#/components/schemas/Event.tui.toast.show"
- },
- {
- "$ref": "#/components/schemas/Event.tui.session.select"
- },
- {
- "$ref": "#/components/schemas/Event.mcp.tools.changed"
- },
- {
- "$ref": "#/components/schemas/Event.mcp.browser.open.failed"
- },
- {
- "$ref": "#/components/schemas/Event.command.executed"
- },
- {
- "$ref": "#/components/schemas/Event.workspace.ready"
- },
- {
- "$ref": "#/components/schemas/Event.workspace.failed"
- },
- {
- "$ref": "#/components/schemas/Event.question.asked"
- },
- {
- "$ref": "#/components/schemas/Event.question.replied"
- },
- {
- "$ref": "#/components/schemas/Event.question.rejected"
- },
- {
- "$ref": "#/components/schemas/Event.session.status"
- },
- {
- "$ref": "#/components/schemas/Event.session.idle"
- },
- {
- "$ref": "#/components/schemas/Event.session.compacted"
- },
- {
- "$ref": "#/components/schemas/Event.todo.updated"
- },
- {
- "$ref": "#/components/schemas/Event.pty.created"
- },
- {
- "$ref": "#/components/schemas/Event.pty.updated"
- },
- {
- "$ref": "#/components/schemas/Event.pty.exited"
- },
- {
- "$ref": "#/components/schemas/Event.pty.deleted"
- },
- {
- "$ref": "#/components/schemas/Event.worktree.ready"
- },
- {
- "$ref": "#/components/schemas/Event.worktree.failed"
- },
- {
- "$ref": "#/components/schemas/Event.message.updated"
- },
- {
- "$ref": "#/components/schemas/Event.message.removed"
- },
- {
- "$ref": "#/components/schemas/Event.message.part.updated"
- },
- {
- "$ref": "#/components/schemas/Event.message.part.removed"
- },
- {
- "$ref": "#/components/schemas/Event.session.created"
- },
- {
- "$ref": "#/components/schemas/Event.session.updated"
- },
- {
- "$ref": "#/components/schemas/Event.session.deleted"
- }
- ]
- },
- "GlobalEvent": {
- "type": "object",
- "properties": {
- "directory": {
- "type": "string"
- },
- "payload": {
- "$ref": "#/components/schemas/Event"
- }
- },
- "required": ["directory", "payload"]
- },
"SyncEvent.message.updated": {
"type": "object",
"properties": {
"type": {
"type": "string",
+ "const": "sync"
+ },
+ "name": {
+ "type": "string",
"const": "message.updated.1"
},
- "aggregate": {
+ "id": {
+ "type": "string"
+ },
+ "seq": {
+ "type": "number"
+ },
+ "aggregateID": {
"type": "string",
"const": "sessionID"
},
@@ -9957,16 +10258,26 @@
"required": ["sessionID", "info"]
}
},
- "required": ["type", "aggregate", "data"]
+ "required": ["type", "name", "id", "seq", "aggregateID", "data"]
},
"SyncEvent.message.removed": {
"type": "object",
"properties": {
"type": {
"type": "string",
+ "const": "sync"
+ },
+ "name": {
+ "type": "string",
"const": "message.removed.1"
},
- "aggregate": {
+ "id": {
+ "type": "string"
+ },
+ "seq": {
+ "type": "number"
+ },
+ "aggregateID": {
"type": "string",
"const": "sessionID"
},
@@ -9985,16 +10296,26 @@
"required": ["sessionID", "messageID"]
}
},
- "required": ["type", "aggregate", "data"]
+ "required": ["type", "name", "id", "seq", "aggregateID", "data"]
},
"SyncEvent.message.part.updated": {
"type": "object",
"properties": {
"type": {
"type": "string",
+ "const": "sync"
+ },
+ "name": {
+ "type": "string",
"const": "message.part.updated.1"
},
- "aggregate": {
+ "id": {
+ "type": "string"
+ },
+ "seq": {
+ "type": "number"
+ },
+ "aggregateID": {
"type": "string",
"const": "sessionID"
},
@@ -10015,16 +10336,26 @@
"required": ["sessionID", "part", "time"]
}
},
- "required": ["type", "aggregate", "data"]
+ "required": ["type", "name", "id", "seq", "aggregateID", "data"]
},
"SyncEvent.message.part.removed": {
"type": "object",
"properties": {
"type": {
"type": "string",
+ "const": "sync"
+ },
+ "name": {
+ "type": "string",
"const": "message.part.removed.1"
},
- "aggregate": {
+ "id": {
+ "type": "string"
+ },
+ "seq": {
+ "type": "number"
+ },
+ "aggregateID": {
"type": "string",
"const": "sessionID"
},
@@ -10047,16 +10378,26 @@
"required": ["sessionID", "messageID", "partID"]
}
},
- "required": ["type", "aggregate", "data"]
+ "required": ["type", "name", "id", "seq", "aggregateID", "data"]
},
"SyncEvent.session.created": {
"type": "object",
"properties": {
"type": {
"type": "string",
+ "const": "sync"
+ },
+ "name": {
+ "type": "string",
"const": "session.created.1"
},
- "aggregate": {
+ "id": {
+ "type": "string"
+ },
+ "seq": {
+ "type": "number"
+ },
+ "aggregateID": {
"type": "string",
"const": "sessionID"
},
@@ -10074,16 +10415,26 @@
"required": ["sessionID", "info"]
}
},
- "required": ["type", "aggregate", "data"]
+ "required": ["type", "name", "id", "seq", "aggregateID", "data"]
},
"SyncEvent.session.updated": {
"type": "object",
"properties": {
"type": {
"type": "string",
+ "const": "sync"
+ },
+ "name": {
+ "type": "string",
"const": "session.updated.1"
},
- "aggregate": {
+ "id": {
+ "type": "string"
+ },
+ "seq": {
+ "type": "number"
+ },
+ "aggregateID": {
"type": "string",
"const": "sessionID"
},
@@ -10326,16 +10677,26 @@
"required": ["sessionID", "info"]
}
},
- "required": ["type", "aggregate", "data"]
+ "required": ["type", "name", "id", "seq", "aggregateID", "data"]
},
"SyncEvent.session.deleted": {
"type": "object",
"properties": {
"type": {
"type": "string",
+ "const": "sync"
+ },
+ "name": {
+ "type": "string",
"const": "session.deleted.1"
},
- "aggregate": {
+ "id": {
+ "type": "string"
+ },
+ "seq": {
+ "type": "number"
+ },
+ "aggregateID": {
"type": "string",
"const": "sessionID"
},
@@ -10353,16 +10714,188 @@
"required": ["sessionID", "info"]
}
},
- "required": ["type", "aggregate", "data"]
+ "required": ["type", "name", "id", "seq", "aggregateID", "data"]
},
- "SyncEvent": {
+ "GlobalEvent": {
"type": "object",
"properties": {
+ "directory": {
+ "type": "string"
+ },
+ "project": {
+ "type": "string"
+ },
+ "workspace": {
+ "type": "string"
+ },
"payload": {
- "$ref": "#/components/schemas/SyncEvent"
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/Event.project.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.server.instance.disposed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.server.connected"
+ },
+ {
+ "$ref": "#/components/schemas/Event.global.disposed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.file.edited"
+ },
+ {
+ "$ref": "#/components/schemas/Event.file.watcher.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.lsp.client.diagnostics"
+ },
+ {
+ "$ref": "#/components/schemas/Event.lsp.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.installation.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.installation.update-available"
+ },
+ {
+ "$ref": "#/components/schemas/Event.message.part.delta"
+ },
+ {
+ "$ref": "#/components/schemas/Event.permission.asked"
+ },
+ {
+ "$ref": "#/components/schemas/Event.permission.replied"
+ },
+ {
+ "$ref": "#/components/schemas/Event.session.diff"
+ },
+ {
+ "$ref": "#/components/schemas/Event.session.error"
+ },
+ {
+ "$ref": "#/components/schemas/Event.question.asked"
+ },
+ {
+ "$ref": "#/components/schemas/Event.question.replied"
+ },
+ {
+ "$ref": "#/components/schemas/Event.question.rejected"
+ },
+ {
+ "$ref": "#/components/schemas/Event.todo.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.session.status"
+ },
+ {
+ "$ref": "#/components/schemas/Event.session.idle"
+ },
+ {
+ "$ref": "#/components/schemas/Event.session.compacted"
+ },
+ {
+ "$ref": "#/components/schemas/Event.tui.prompt.append"
+ },
+ {
+ "$ref": "#/components/schemas/Event.tui.command.execute"
+ },
+ {
+ "$ref": "#/components/schemas/Event.tui.toast.show"
+ },
+ {
+ "$ref": "#/components/schemas/Event.tui.session.select"
+ },
+ {
+ "$ref": "#/components/schemas/Event.mcp.tools.changed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.mcp.browser.open.failed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.command.executed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.vcs.branch.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.worktree.ready"
+ },
+ {
+ "$ref": "#/components/schemas/Event.worktree.failed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.pty.created"
+ },
+ {
+ "$ref": "#/components/schemas/Event.pty.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.pty.exited"
+ },
+ {
+ "$ref": "#/components/schemas/Event.pty.deleted"
+ },
+ {
+ "$ref": "#/components/schemas/Event.workspace.ready"
+ },
+ {
+ "$ref": "#/components/schemas/Event.workspace.failed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.workspace.restore"
+ },
+ {
+ "$ref": "#/components/schemas/Event.workspace.status"
+ },
+ {
+ "$ref": "#/components/schemas/Event.message.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.message.removed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.message.part.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.message.part.removed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.session.created"
+ },
+ {
+ "$ref": "#/components/schemas/Event.session.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.session.deleted"
+ },
+ {
+ "$ref": "#/components/schemas/SyncEvent.message.updated"
+ },
+ {
+ "$ref": "#/components/schemas/SyncEvent.message.removed"
+ },
+ {
+ "$ref": "#/components/schemas/SyncEvent.message.part.updated"
+ },
+ {
+ "$ref": "#/components/schemas/SyncEvent.message.part.removed"
+ },
+ {
+ "$ref": "#/components/schemas/SyncEvent.session.created"
+ },
+ {
+ "$ref": "#/components/schemas/SyncEvent.session.updated"
+ },
+ {
+ "$ref": "#/components/schemas/SyncEvent.session.deleted"
+ }
+ ]
}
},
- "required": ["payload"]
+ "required": ["directory", "payload"]
},
"LogLevel": {
"description": "Log level",
@@ -11788,17 +12321,10 @@
"type": {
"type": "string"
},
- "branch": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
"name": {
+ "type": "string"
+ },
+ "branch": {
"anyOf": [
{
"type": "string"
@@ -11830,7 +12356,7 @@
"type": "string"
}
},
- "required": ["id", "type", "branch", "name", "directory", "extra", "projectID"]
+ "required": ["id", "type", "name", "branch", "directory", "extra", "projectID"]
},
"Worktree": {
"type": "object",
@@ -12173,16 +12699,8 @@
"type": "object",
"properties": {
"type": {
- "anyOf": [
- {
- "type": "string",
- "const": "oauth"
- },
- {
- "type": "string",
- "const": "api"
- }
- ]
+ "type": "string",
+ "enum": ["oauth", "api"]
},
"label": {
"type": "string"
@@ -12214,16 +12732,8 @@
"type": "string"
},
"op": {
- "anyOf": [
- {
- "type": "string",
- "const": "eq"
- },
- {
- "type": "string",
- "const": "neq"
- }
- ]
+ "type": "string",
+ "enum": ["eq", "neq"]
},
"value": {
"type": "string"
@@ -12272,16 +12782,8 @@
"type": "string"
},
"op": {
- "anyOf": [
- {
- "type": "string",
- "const": "eq"
- },
- {
- "type": "string",
- "const": "neq"
- }
- ]
+ "type": "string",
+ "enum": ["eq", "neq"]
},
"value": {
"type": "string"
@@ -12305,16 +12807,8 @@
"type": "string"
},
"method": {
- "anyOf": [
- {
- "type": "string",
- "const": "auto"
- },
- {
- "type": "string",
- "const": "code"
- }
- ]
+ "type": "string",
+ "enum": ["auto", "code"]
},
"instructions": {
"type": "string"
@@ -12462,6 +12956,151 @@
},
"required": ["path", "added", "removed", "status"]
},
+ "Event": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/Event.project.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.server.instance.disposed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.server.connected"
+ },
+ {
+ "$ref": "#/components/schemas/Event.global.disposed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.file.edited"
+ },
+ {
+ "$ref": "#/components/schemas/Event.file.watcher.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.lsp.client.diagnostics"
+ },
+ {
+ "$ref": "#/components/schemas/Event.lsp.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.installation.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.installation.update-available"
+ },
+ {
+ "$ref": "#/components/schemas/Event.message.part.delta"
+ },
+ {
+ "$ref": "#/components/schemas/Event.permission.asked"
+ },
+ {
+ "$ref": "#/components/schemas/Event.permission.replied"
+ },
+ {
+ "$ref": "#/components/schemas/Event.session.diff"
+ },
+ {
+ "$ref": "#/components/schemas/Event.session.error"
+ },
+ {
+ "$ref": "#/components/schemas/Event.question.asked"
+ },
+ {
+ "$ref": "#/components/schemas/Event.question.replied"
+ },
+ {
+ "$ref": "#/components/schemas/Event.question.rejected"
+ },
+ {
+ "$ref": "#/components/schemas/Event.todo.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.session.status"
+ },
+ {
+ "$ref": "#/components/schemas/Event.session.idle"
+ },
+ {
+ "$ref": "#/components/schemas/Event.session.compacted"
+ },
+ {
+ "$ref": "#/components/schemas/Event.tui.prompt.append"
+ },
+ {
+ "$ref": "#/components/schemas/Event.tui.command.execute"
+ },
+ {
+ "$ref": "#/components/schemas/Event.tui.toast.show"
+ },
+ {
+ "$ref": "#/components/schemas/Event.tui.session.select"
+ },
+ {
+ "$ref": "#/components/schemas/Event.mcp.tools.changed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.mcp.browser.open.failed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.command.executed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.vcs.branch.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.worktree.ready"
+ },
+ {
+ "$ref": "#/components/schemas/Event.worktree.failed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.pty.created"
+ },
+ {
+ "$ref": "#/components/schemas/Event.pty.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.pty.exited"
+ },
+ {
+ "$ref": "#/components/schemas/Event.pty.deleted"
+ },
+ {
+ "$ref": "#/components/schemas/Event.workspace.ready"
+ },
+ {
+ "$ref": "#/components/schemas/Event.workspace.failed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.workspace.restore"
+ },
+ {
+ "$ref": "#/components/schemas/Event.workspace.status"
+ },
+ {
+ "$ref": "#/components/schemas/Event.message.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.message.removed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.message.part.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.message.part.removed"
+ },
+ {
+ "$ref": "#/components/schemas/Event.session.created"
+ },
+ {
+ "$ref": "#/components/schemas/Event.session.updated"
+ },
+ {
+ "$ref": "#/components/schemas/Event.session.deleted"
+ }
+ ]
+ },
"MCPStatusConnected": {
"type": "object",
"properties": {