|
|
@@ -5400,6 +5400,64 @@
|
|
|
]
|
|
|
}
|
|
|
},
|
|
|
+ "/reference": {
|
|
|
+ "get": {
|
|
|
+ "tags": ["reference"],
|
|
|
+ "operationId": "reference.list",
|
|
|
+ "parameters": [
|
|
|
+ {
|
|
|
+ "name": "directory",
|
|
|
+ "in": "query",
|
|
|
+ "schema": {
|
|
|
+ "type": "string"
|
|
|
+ },
|
|
|
+ "required": false
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "name": "workspace",
|
|
|
+ "in": "query",
|
|
|
+ "schema": {
|
|
|
+ "type": "string"
|
|
|
+ },
|
|
|
+ "required": false
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "responses": {
|
|
|
+ "200": {
|
|
|
+ "description": "Resolved configured references",
|
|
|
+ "content": {
|
|
|
+ "application/json": {
|
|
|
+ "schema": {
|
|
|
+ "type": "array",
|
|
|
+ "items": {
|
|
|
+ "$ref": "#/components/schemas/ReferenceDescriptor"
|
|
|
+ },
|
|
|
+ "description": "Resolved configured references"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "400": {
|
|
|
+ "description": "Bad request",
|
|
|
+ "content": {
|
|
|
+ "application/json": {
|
|
|
+ "schema": {
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "description": "List configured references resolved in the current workspace.",
|
|
|
+ "summary": "List configured references",
|
|
|
+ "x-codeSamples": [
|
|
|
+ {
|
|
|
+ "lang": "js",
|
|
|
+ "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.reference.list({\n ...\n})"
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
"/session": {
|
|
|
"get": {
|
|
|
"tags": ["session"],
|
|
|
@@ -9904,7 +9962,7 @@
|
|
|
},
|
|
|
"/api/health": {
|
|
|
"get": {
|
|
|
- "tags": ["opencode experimental HttpApi"],
|
|
|
+ "tags": ["opencode HttpApi"],
|
|
|
"operationId": "v2.health.get",
|
|
|
"parameters": [],
|
|
|
"security": [],
|
|
|
@@ -9948,8 +10006,8 @@
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- "description": "Check whether the v2 API server is ready to accept requests.",
|
|
|
- "summary": "Check v2 server health",
|
|
|
+ "description": "Check whether the API server is ready to accept requests.",
|
|
|
+ "summary": "Check server health",
|
|
|
"x-codeSamples": [
|
|
|
{
|
|
|
"lang": "js",
|
|
|
@@ -9960,7 +10018,7 @@
|
|
|
},
|
|
|
"/api/agent": {
|
|
|
"get": {
|
|
|
- "tags": ["opencode experimental HttpApi"],
|
|
|
+ "tags": ["opencode HttpApi"],
|
|
|
"operationId": "v2.agent.list",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -10029,8 +10087,8 @@
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- "description": "Retrieve currently registered v2 agents.",
|
|
|
- "summary": "List v2 agents",
|
|
|
+ "description": "Retrieve currently registered agents.",
|
|
|
+ "summary": "List agents",
|
|
|
"x-codeSamples": [
|
|
|
{
|
|
|
"lang": "js",
|
|
|
@@ -10041,7 +10099,7 @@
|
|
|
},
|
|
|
"/api/session": {
|
|
|
"get": {
|
|
|
- "tags": ["v2"],
|
|
|
+ "tags": ["sessions"],
|
|
|
"operationId": "v2.session.list",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -10115,11 +10173,11 @@
|
|
|
"security": [],
|
|
|
"responses": {
|
|
|
"200": {
|
|
|
- "description": "V2SessionsResponse",
|
|
|
+ "description": "SessionsResponse",
|
|
|
"content": {
|
|
|
"application/json": {
|
|
|
"schema": {
|
|
|
- "$ref": "#/components/schemas/V2SessionsResponse"
|
|
|
+ "$ref": "#/components/schemas/SessionsResponse"
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -10156,7 +10214,7 @@
|
|
|
}
|
|
|
},
|
|
|
"description": "Retrieve sessions in the requested order. Items keep that order across pages; use cursor.next or cursor.previous to move through the ordered list.",
|
|
|
- "summary": "List v2 sessions",
|
|
|
+ "summary": "List sessions",
|
|
|
"x-codeSamples": [
|
|
|
{
|
|
|
"lang": "js",
|
|
|
@@ -10167,7 +10225,7 @@
|
|
|
},
|
|
|
"/api/session/{sessionID}/prompt": {
|
|
|
"post": {
|
|
|
- "tags": ["v2"],
|
|
|
+ "tags": ["sessions"],
|
|
|
"operationId": "v2.session.prompt",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -10224,7 +10282,14 @@
|
|
|
"content": {
|
|
|
"application/json": {
|
|
|
"schema": {
|
|
|
- "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ "anyOf": [
|
|
|
+ {
|
|
|
+ "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ }
|
|
|
+ ]
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -10240,8 +10305,8 @@
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- "description": "Durably admit one v2 session input and schedule agent-loop execution unless resume is false.",
|
|
|
- "summary": "Send v2 message",
|
|
|
+ "description": "Durably admit one session input and schedule agent-loop execution unless resume is false.",
|
|
|
+ "summary": "Send message",
|
|
|
"requestBody": {
|
|
|
"content": {
|
|
|
"application/json": {
|
|
|
@@ -10280,7 +10345,7 @@
|
|
|
},
|
|
|
"/api/session/{sessionID}/compact": {
|
|
|
"post": {
|
|
|
- "tags": ["v2"],
|
|
|
+ "tags": ["sessions"],
|
|
|
"operationId": "v2.session.compact",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -10323,7 +10388,14 @@
|
|
|
"content": {
|
|
|
"application/json": {
|
|
|
"schema": {
|
|
|
- "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ "anyOf": [
|
|
|
+ {
|
|
|
+ "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ }
|
|
|
+ ]
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -10339,8 +10411,8 @@
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- "description": "Compact a v2 session conversation.",
|
|
|
- "summary": "Compact v2 session",
|
|
|
+ "description": "Compact a session conversation.",
|
|
|
+ "summary": "Compact session",
|
|
|
"x-codeSamples": [
|
|
|
{
|
|
|
"lang": "js",
|
|
|
@@ -10351,7 +10423,7 @@
|
|
|
},
|
|
|
"/api/session/{sessionID}/wait": {
|
|
|
"post": {
|
|
|
- "tags": ["v2"],
|
|
|
+ "tags": ["sessions"],
|
|
|
"operationId": "v2.session.wait",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -10394,7 +10466,14 @@
|
|
|
"content": {
|
|
|
"application/json": {
|
|
|
"schema": {
|
|
|
- "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ "anyOf": [
|
|
|
+ {
|
|
|
+ "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ }
|
|
|
+ ]
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -10410,8 +10489,8 @@
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- "description": "Wait for a v2 session agent loop to become idle.",
|
|
|
- "summary": "Wait for v2 session",
|
|
|
+ "description": "Wait for a session agent loop to become idle.",
|
|
|
+ "summary": "Wait for session",
|
|
|
"x-codeSamples": [
|
|
|
{
|
|
|
"lang": "js",
|
|
|
@@ -10422,7 +10501,7 @@
|
|
|
},
|
|
|
"/api/session/{sessionID}/context": {
|
|
|
"get": {
|
|
|
- "tags": ["v2"],
|
|
|
+ "tags": ["sessions"],
|
|
|
"operationId": "v2.session.context",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -10482,7 +10561,14 @@
|
|
|
"content": {
|
|
|
"application/json": {
|
|
|
"schema": {
|
|
|
- "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ "anyOf": [
|
|
|
+ {
|
|
|
+ "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ }
|
|
|
+ ]
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -10498,8 +10584,8 @@
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- "description": "Retrieve the active context messages for a v2 session (all messages after the last compaction).",
|
|
|
- "summary": "Get v2 session context",
|
|
|
+ "description": "Retrieve the active context messages for a session (all messages after the last compaction).",
|
|
|
+ "summary": "Get session context",
|
|
|
"x-codeSamples": [
|
|
|
{
|
|
|
"lang": "js",
|
|
|
@@ -10510,7 +10596,7 @@
|
|
|
},
|
|
|
"/api/session/{sessionID}/message": {
|
|
|
"get": {
|
|
|
- "tags": ["v2 messages"],
|
|
|
+ "tags": ["messages"],
|
|
|
"operationId": "v2.session.messages",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -10552,11 +10638,11 @@
|
|
|
"security": [],
|
|
|
"responses": {
|
|
|
"200": {
|
|
|
- "description": "V2SessionMessagesResponse",
|
|
|
+ "description": "SessionMessagesResponse",
|
|
|
"content": {
|
|
|
"application/json": {
|
|
|
"schema": {
|
|
|
- "$ref": "#/components/schemas/V2SessionMessagesResponse"
|
|
|
+ "$ref": "#/components/schemas/SessionMessagesResponse"
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -10593,7 +10679,14 @@
|
|
|
"content": {
|
|
|
"application/json": {
|
|
|
"schema": {
|
|
|
- "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ "anyOf": [
|
|
|
+ {
|
|
|
+ "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ }
|
|
|
+ ]
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -10609,8 +10702,8 @@
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- "description": "Retrieve projected v2 messages for a session. Items keep the requested order across pages; use cursor.next or cursor.previous to move through the ordered timeline.",
|
|
|
- "summary": "Get v2 session messages",
|
|
|
+ "description": "Retrieve projected messages for a session. Items keep the requested order across pages; use cursor.next or cursor.previous to move through the ordered timeline.",
|
|
|
+ "summary": "Get session messages",
|
|
|
"x-codeSamples": [
|
|
|
{
|
|
|
"lang": "js",
|
|
|
@@ -10621,7 +10714,7 @@
|
|
|
},
|
|
|
"/api/model": {
|
|
|
"get": {
|
|
|
- "tags": ["v2 models"],
|
|
|
+ "tags": ["models"],
|
|
|
"operationId": "v2.model.list",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -10700,8 +10793,8 @@
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- "description": "Retrieve available v2 models ordered by release date.",
|
|
|
- "summary": "List v2 models",
|
|
|
+ "description": "Retrieve available models ordered by release date.",
|
|
|
+ "summary": "List models",
|
|
|
"x-codeSamples": [
|
|
|
{
|
|
|
"lang": "js",
|
|
|
@@ -10712,7 +10805,7 @@
|
|
|
},
|
|
|
"/api/provider": {
|
|
|
"get": {
|
|
|
- "tags": ["v2 providers"],
|
|
|
+ "tags": ["providers"],
|
|
|
"operationId": "v2.provider.list",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -10791,8 +10884,8 @@
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- "description": "Retrieve active v2 AI providers so clients can show provider availability and configuration.",
|
|
|
- "summary": "List v2 providers",
|
|
|
+ "description": "Retrieve active AI providers so clients can show provider availability and configuration.",
|
|
|
+ "summary": "List providers",
|
|
|
"x-codeSamples": [
|
|
|
{
|
|
|
"lang": "js",
|
|
|
@@ -10803,7 +10896,7 @@
|
|
|
},
|
|
|
"/api/provider/{providerID}": {
|
|
|
"get": {
|
|
|
- "tags": ["v2 providers"],
|
|
|
+ "tags": ["providers"],
|
|
|
"operationId": "v2.provider.get",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -10897,8 +10990,8 @@
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- "description": "Retrieve a single v2 AI provider so clients can inspect its availability and endpoint settings.",
|
|
|
- "summary": "Get v2 provider",
|
|
|
+ "description": "Retrieve a single AI provider so clients can inspect its availability and endpoint settings.",
|
|
|
+ "summary": "Get provider",
|
|
|
"x-codeSamples": [
|
|
|
{
|
|
|
"lang": "js",
|
|
|
@@ -10909,7 +11002,7 @@
|
|
|
},
|
|
|
"/api/permission/request": {
|
|
|
"get": {
|
|
|
- "tags": ["v2 permissions"],
|
|
|
+ "tags": ["permissions"],
|
|
|
"operationId": "v2.permission.request.list",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -10988,19 +11081,18 @@
|
|
|
]
|
|
|
}
|
|
|
},
|
|
|
- "/api/session/{sessionID}/permission/request": {
|
|
|
+ "/api/permission/saved": {
|
|
|
"get": {
|
|
|
- "tags": ["v2 session permissions"],
|
|
|
- "operationId": "v2.session.permission.list",
|
|
|
+ "tags": ["permissions"],
|
|
|
+ "operationId": "v2.permission.saved.list",
|
|
|
"parameters": [
|
|
|
{
|
|
|
- "name": "sessionID",
|
|
|
- "in": "path",
|
|
|
+ "name": "projectID",
|
|
|
+ "in": "query",
|
|
|
"schema": {
|
|
|
- "type": "string",
|
|
|
- "pattern": "^ses"
|
|
|
+ "type": "string"
|
|
|
},
|
|
|
- "required": true
|
|
|
+ "required": false
|
|
|
}
|
|
|
],
|
|
|
"security": [],
|
|
|
@@ -11015,7 +11107,7 @@
|
|
|
"data": {
|
|
|
"type": "array",
|
|
|
"items": {
|
|
|
- "$ref": "#/components/schemas/PermissionV2Request"
|
|
|
+ "$ref": "#/components/schemas/PermissionSavedInfo"
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
@@ -11044,48 +11136,28 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- },
|
|
|
- "404": {
|
|
|
- "description": "SessionNotFoundError",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "schema": {
|
|
|
- "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
},
|
|
|
- "description": "Retrieve pending permission requests owned by a session.",
|
|
|
- "summary": "List session permission requests",
|
|
|
+ "description": "Retrieve saved permissions, optionally filtered by project.",
|
|
|
+ "summary": "List saved permissions",
|
|
|
"x-codeSamples": [
|
|
|
{
|
|
|
"lang": "js",
|
|
|
- "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.v2.session.permission.list({\n ...\n})"
|
|
|
+ "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.v2.permission.saved.list({\n ...\n})"
|
|
|
}
|
|
|
]
|
|
|
}
|
|
|
},
|
|
|
- "/api/session/{sessionID}/permission/request/{requestID}/reply": {
|
|
|
- "post": {
|
|
|
- "tags": ["v2 session permissions"],
|
|
|
- "operationId": "v2.session.permission.reply",
|
|
|
+ "/api/permission/saved/{id}": {
|
|
|
+ "delete": {
|
|
|
+ "tags": ["permissions"],
|
|
|
+ "operationId": "v2.permission.saved.remove",
|
|
|
"parameters": [
|
|
|
{
|
|
|
- "name": "sessionID",
|
|
|
- "in": "path",
|
|
|
- "schema": {
|
|
|
- "type": "string",
|
|
|
- "pattern": "^ses"
|
|
|
- },
|
|
|
- "required": true
|
|
|
- },
|
|
|
- {
|
|
|
- "name": "requestID",
|
|
|
+ "name": "id",
|
|
|
"in": "path",
|
|
|
"schema": {
|
|
|
- "type": "string",
|
|
|
- "pattern": "^per"
|
|
|
+ "type": "string"
|
|
|
},
|
|
|
"required": true
|
|
|
}
|
|
|
@@ -11114,67 +11186,31 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- },
|
|
|
- "404": {
|
|
|
- "description": "SessionNotFoundError | PermissionNotFoundError",
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "schema": {
|
|
|
- "anyOf": [
|
|
|
- {
|
|
|
- "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
- },
|
|
|
- {
|
|
|
- "$ref": "#/components/schemas/PermissionNotFoundError"
|
|
|
- }
|
|
|
- ]
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
},
|
|
|
- "description": "Respond to a pending permission request owned by a session.",
|
|
|
- "summary": "Reply to pending permission request",
|
|
|
- "requestBody": {
|
|
|
- "content": {
|
|
|
- "application/json": {
|
|
|
- "schema": {
|
|
|
- "type": "object",
|
|
|
- "properties": {
|
|
|
- "reply": {
|
|
|
- "$ref": "#/components/schemas/PermissionV2Reply"
|
|
|
- },
|
|
|
- "message": {
|
|
|
- "type": "string"
|
|
|
- }
|
|
|
- },
|
|
|
- "required": ["reply"],
|
|
|
- "additionalProperties": false
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "required": true
|
|
|
- },
|
|
|
+ "description": "Remove a saved permission by ID.",
|
|
|
+ "summary": "Remove saved permission",
|
|
|
"x-codeSamples": [
|
|
|
{
|
|
|
"lang": "js",
|
|
|
- "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.v2.session.permission.reply({\n ...\n})"
|
|
|
+ "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.v2.permission.saved.remove({\n ...\n})"
|
|
|
}
|
|
|
]
|
|
|
}
|
|
|
},
|
|
|
- "/api/permission/saved": {
|
|
|
+ "/api/session/{sessionID}/permission": {
|
|
|
"get": {
|
|
|
- "tags": ["v2 saved permissions"],
|
|
|
- "operationId": "v2.permission.saved.list",
|
|
|
+ "tags": ["permissions"],
|
|
|
+ "operationId": "v2.session.permission.list",
|
|
|
"parameters": [
|
|
|
{
|
|
|
- "name": "projectID",
|
|
|
- "in": "query",
|
|
|
+ "name": "sessionID",
|
|
|
+ "in": "path",
|
|
|
"schema": {
|
|
|
- "type": "string"
|
|
|
+ "type": "string",
|
|
|
+ "pattern": "^ses"
|
|
|
},
|
|
|
- "required": false
|
|
|
+ "required": true
|
|
|
}
|
|
|
],
|
|
|
"security": [],
|
|
|
@@ -11189,7 +11225,7 @@
|
|
|
"data": {
|
|
|
"type": "array",
|
|
|
"items": {
|
|
|
- "$ref": "#/components/schemas/PermissionSavedInfo"
|
|
|
+ "$ref": "#/components/schemas/PermissionV2Request"
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
@@ -11218,28 +11254,55 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ },
|
|
|
+ "404": {
|
|
|
+ "description": "SessionNotFoundError",
|
|
|
+ "content": {
|
|
|
+ "application/json": {
|
|
|
+ "schema": {
|
|
|
+ "anyOf": [
|
|
|
+ {
|
|
|
+ "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
- "description": "Retrieve saved permissions, optionally filtered by project.",
|
|
|
- "summary": "List saved permissions",
|
|
|
+ "description": "Retrieve pending permission requests owned by a session.",
|
|
|
+ "summary": "List session permission requests",
|
|
|
"x-codeSamples": [
|
|
|
{
|
|
|
"lang": "js",
|
|
|
- "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.v2.permission.saved.list({\n ...\n})"
|
|
|
+ "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.v2.session.permission.list({\n ...\n})"
|
|
|
}
|
|
|
]
|
|
|
}
|
|
|
},
|
|
|
- "/api/permission/saved/{id}": {
|
|
|
- "delete": {
|
|
|
- "tags": ["v2 saved permissions"],
|
|
|
- "operationId": "v2.permission.saved.remove",
|
|
|
+ "/api/session/{sessionID}/permission/{requestID}/reply": {
|
|
|
+ "post": {
|
|
|
+ "tags": ["permissions"],
|
|
|
+ "operationId": "v2.session.permission.reply",
|
|
|
"parameters": [
|
|
|
{
|
|
|
- "name": "id",
|
|
|
+ "name": "sessionID",
|
|
|
"in": "path",
|
|
|
"schema": {
|
|
|
- "type": "string"
|
|
|
+ "type": "string",
|
|
|
+ "pattern": "^ses"
|
|
|
+ },
|
|
|
+ "required": true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "name": "requestID",
|
|
|
+ "in": "path",
|
|
|
+ "schema": {
|
|
|
+ "type": "string",
|
|
|
+ "pattern": "^per"
|
|
|
},
|
|
|
"required": true
|
|
|
}
|
|
|
@@ -11268,21 +11331,61 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ },
|
|
|
+ "404": {
|
|
|
+ "description": "SessionNotFoundError | PermissionNotFoundError",
|
|
|
+ "content": {
|
|
|
+ "application/json": {
|
|
|
+ "schema": {
|
|
|
+ "anyOf": [
|
|
|
+ {
|
|
|
+ "$ref": "#/components/schemas/PermissionNotFoundError"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
- "description": "Remove a saved permission by ID.",
|
|
|
- "summary": "Remove saved permission",
|
|
|
+ "description": "Respond to a pending permission request owned by a session.",
|
|
|
+ "summary": "Reply to pending permission request",
|
|
|
+ "requestBody": {
|
|
|
+ "content": {
|
|
|
+ "application/json": {
|
|
|
+ "schema": {
|
|
|
+ "type": "object",
|
|
|
+ "properties": {
|
|
|
+ "reply": {
|
|
|
+ "$ref": "#/components/schemas/PermissionV2Reply"
|
|
|
+ },
|
|
|
+ "message": {
|
|
|
+ "type": "string"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "required": ["reply"],
|
|
|
+ "additionalProperties": false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "required": true
|
|
|
+ },
|
|
|
"x-codeSamples": [
|
|
|
{
|
|
|
"lang": "js",
|
|
|
- "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.v2.permission.saved.remove({\n ...\n})"
|
|
|
+ "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.v2.session.permission.reply({\n ...\n})"
|
|
|
}
|
|
|
]
|
|
|
}
|
|
|
},
|
|
|
"/api/fs/read": {
|
|
|
"get": {
|
|
|
- "tags": ["v2 filesystem"],
|
|
|
+ "tags": ["filesystem"],
|
|
|
"operationId": "v2.fs.read",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -11383,7 +11486,7 @@
|
|
|
},
|
|
|
"/api/fs/list": {
|
|
|
"get": {
|
|
|
- "tags": ["v2 filesystem"],
|
|
|
+ "tags": ["filesystem"],
|
|
|
"operationId": "v2.fs.list",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -11480,7 +11583,7 @@
|
|
|
},
|
|
|
"/api/command": {
|
|
|
"get": {
|
|
|
- "tags": ["v2 commands"],
|
|
|
+ "tags": ["commands"],
|
|
|
"operationId": "v2.command.list",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -11549,8 +11652,8 @@
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- "description": "Retrieve currently registered v2 commands.",
|
|
|
- "summary": "List v2 commands",
|
|
|
+ "description": "Retrieve currently registered commands.",
|
|
|
+ "summary": "List commands",
|
|
|
"x-codeSamples": [
|
|
|
{
|
|
|
"lang": "js",
|
|
|
@@ -11561,7 +11664,7 @@
|
|
|
},
|
|
|
"/api/skill": {
|
|
|
"get": {
|
|
|
- "tags": ["v2 skills"],
|
|
|
+ "tags": ["skills"],
|
|
|
"operationId": "v2.skill.list",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -11630,8 +11733,8 @@
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- "description": "Retrieve currently registered v2 skills.",
|
|
|
- "summary": "List v2 skills",
|
|
|
+ "description": "Retrieve currently registered skills.",
|
|
|
+ "summary": "List skills",
|
|
|
"x-codeSamples": [
|
|
|
{
|
|
|
"lang": "js",
|
|
|
@@ -11642,7 +11745,7 @@
|
|
|
},
|
|
|
"/api/event": {
|
|
|
"get": {
|
|
|
- "tags": ["v2 events"],
|
|
|
+ "tags": ["events"],
|
|
|
"operationId": "v2.event.subscribe",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -11698,8 +11801,8 @@
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- "description": "Subscribe to native EventV2 payloads for a location.",
|
|
|
- "summary": "Subscribe to v2 events",
|
|
|
+ "description": "Subscribe to native event payloads for a location.",
|
|
|
+ "summary": "Subscribe to events",
|
|
|
"x-codeSamples": [
|
|
|
{
|
|
|
"lang": "js",
|
|
|
@@ -11710,7 +11813,7 @@
|
|
|
},
|
|
|
"/api/question/request": {
|
|
|
"get": {
|
|
|
- "tags": ["v2 questions"],
|
|
|
+ "tags": ["session questions"],
|
|
|
"operationId": "v2.question.request.list",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -11789,9 +11892,9 @@
|
|
|
]
|
|
|
}
|
|
|
},
|
|
|
- "/api/session/{sessionID}/question/request/{requestID}/reply": {
|
|
|
+ "/api/session/{sessionID}/question/{requestID}/reply": {
|
|
|
"post": {
|
|
|
- "tags": ["v2 session questions"],
|
|
|
+ "tags": ["session questions"],
|
|
|
"operationId": "v2.session.question.reply",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -11844,11 +11947,14 @@
|
|
|
"application/json": {
|
|
|
"schema": {
|
|
|
"anyOf": [
|
|
|
+ {
|
|
|
+ "$ref": "#/components/schemas/QuestionNotFoundError"
|
|
|
+ },
|
|
|
{
|
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
},
|
|
|
{
|
|
|
- "$ref": "#/components/schemas/QuestionNotFoundError"
|
|
|
+ "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
}
|
|
|
]
|
|
|
}
|
|
|
@@ -11876,9 +11982,9 @@
|
|
|
]
|
|
|
}
|
|
|
},
|
|
|
- "/api/session/{sessionID}/question/request/{requestID}/reject": {
|
|
|
+ "/api/session/{sessionID}/question/{requestID}/reject": {
|
|
|
"post": {
|
|
|
- "tags": ["v2 session questions"],
|
|
|
+ "tags": ["session questions"],
|
|
|
"operationId": "v2.session.question.reject",
|
|
|
"parameters": [
|
|
|
{
|
|
|
@@ -11931,11 +12037,14 @@
|
|
|
"application/json": {
|
|
|
"schema": {
|
|
|
"anyOf": [
|
|
|
+ {
|
|
|
+ "$ref": "#/components/schemas/QuestionNotFoundError"
|
|
|
+ },
|
|
|
{
|
|
|
"$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
},
|
|
|
{
|
|
|
- "$ref": "#/components/schemas/QuestionNotFoundError"
|
|
|
+ "$ref": "#/components/schemas/SessionNotFoundError"
|
|
|
}
|
|
|
]
|
|
|
}
|
|
|
@@ -19932,6 +20041,70 @@
|
|
|
"required": ["name", "data"],
|
|
|
"additionalProperties": false
|
|
|
},
|
|
|
+ "ReferenceDescriptor": {
|
|
|
+ "anyOf": [
|
|
|
+ {
|
|
|
+ "type": "object",
|
|
|
+ "properties": {
|
|
|
+ "name": {
|
|
|
+ "type": "string"
|
|
|
+ },
|
|
|
+ "kind": {
|
|
|
+ "type": "string",
|
|
|
+ "enum": ["local"]
|
|
|
+ },
|
|
|
+ "path": {
|
|
|
+ "type": "string"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "required": ["name", "kind", "path"],
|
|
|
+ "additionalProperties": false
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "type": "object",
|
|
|
+ "properties": {
|
|
|
+ "name": {
|
|
|
+ "type": "string"
|
|
|
+ },
|
|
|
+ "kind": {
|
|
|
+ "type": "string",
|
|
|
+ "enum": ["git"]
|
|
|
+ },
|
|
|
+ "repository": {
|
|
|
+ "type": "string"
|
|
|
+ },
|
|
|
+ "path": {
|
|
|
+ "type": "string"
|
|
|
+ },
|
|
|
+ "branch": {
|
|
|
+ "type": "string"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "required": ["name", "kind", "repository", "path"],
|
|
|
+ "additionalProperties": false
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "type": "object",
|
|
|
+ "properties": {
|
|
|
+ "name": {
|
|
|
+ "type": "string"
|
|
|
+ },
|
|
|
+ "kind": {
|
|
|
+ "type": "string",
|
|
|
+ "enum": ["invalid"]
|
|
|
+ },
|
|
|
+ "repository": {
|
|
|
+ "type": "string"
|
|
|
+ },
|
|
|
+ "message": {
|
|
|
+ "type": "string"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "required": ["name", "kind", "message"],
|
|
|
+ "additionalProperties": false
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
"NotFoundError": {
|
|
|
"type": "object",
|
|
|
"required": ["name", "data"],
|
|
|
@@ -20362,7 +20535,7 @@
|
|
|
"required": ["_tag", "message"],
|
|
|
"additionalProperties": false
|
|
|
},
|
|
|
- "V2SessionsResponse": {
|
|
|
+ "SessionsResponse": {
|
|
|
"type": "object",
|
|
|
"properties": {
|
|
|
"data": {
|
|
|
@@ -20469,7 +20642,7 @@
|
|
|
"required": ["_tag", "message"],
|
|
|
"additionalProperties": false
|
|
|
},
|
|
|
- "V2SessionMessagesResponse": {
|
|
|
+ "SessionMessagesResponse": {
|
|
|
"type": "object",
|
|
|
"properties": {
|
|
|
"data": {
|
|
|
@@ -28594,6 +28767,10 @@
|
|
|
"name": "provider",
|
|
|
"description": "Experimental HttpApi provider routes."
|
|
|
},
|
|
|
+ {
|
|
|
+ "name": "reference",
|
|
|
+ "description": "Configured reference routes."
|
|
|
+ },
|
|
|
{
|
|
|
"name": "session",
|
|
|
"description": "Experimental HttpApi session routes."
|
|
|
@@ -28611,64 +28788,52 @@
|
|
|
"description": "Experimental HttpApi workspace routes."
|
|
|
},
|
|
|
{
|
|
|
- "name": "opencode experimental HttpApi",
|
|
|
+ "name": "opencode HttpApi",
|
|
|
"description": "Experimental HttpApi surface for selected instance routes."
|
|
|
},
|
|
|
{
|
|
|
- "name": "opencode experimental HttpApi",
|
|
|
+ "name": "opencode HttpApi",
|
|
|
"description": "Experimental HttpApi surface for selected instance routes."
|
|
|
},
|
|
|
{
|
|
|
- "name": "v2",
|
|
|
- "description": "Experimental v2 routes."
|
|
|
- },
|
|
|
- {
|
|
|
- "name": "v2 messages",
|
|
|
- "description": "Experimental v2 message routes."
|
|
|
- },
|
|
|
- {
|
|
|
- "name": "v2 models",
|
|
|
- "description": "Experimental v2 model routes."
|
|
|
- },
|
|
|
- {
|
|
|
- "name": "v2 providers",
|
|
|
- "description": "Experimental v2 provider routes."
|
|
|
+ "name": "sessions",
|
|
|
+ "description": "Experimental session routes."
|
|
|
},
|
|
|
{
|
|
|
- "name": "v2 permissions",
|
|
|
- "description": "Experimental v2 permission routes."
|
|
|
+ "name": "messages",
|
|
|
+ "description": "Experimental message routes."
|
|
|
},
|
|
|
{
|
|
|
- "name": "v2 session permissions",
|
|
|
- "description": "Experimental v2 session permission routes."
|
|
|
+ "name": "models",
|
|
|
+ "description": "Experimental model routes."
|
|
|
},
|
|
|
{
|
|
|
- "name": "v2 saved permissions",
|
|
|
- "description": "Experimental v2 saved permission routes."
|
|
|
+ "name": "providers",
|
|
|
+ "description": "Experimental provider routes."
|
|
|
},
|
|
|
{
|
|
|
- "name": "v2 filesystem",
|
|
|
- "description": "Experimental v2 location-scoped filesystem routes."
|
|
|
+ "name": "permissions",
|
|
|
+ "description": "Experimental permission routes."
|
|
|
},
|
|
|
{
|
|
|
- "name": "v2 commands",
|
|
|
- "description": "Experimental v2 command routes."
|
|
|
+ "name": "filesystem",
|
|
|
+ "description": "Experimental location-scoped filesystem routes."
|
|
|
},
|
|
|
{
|
|
|
- "name": "v2 skills",
|
|
|
- "description": "Experimental v2 skill routes."
|
|
|
+ "name": "commands",
|
|
|
+ "description": "Experimental command routes."
|
|
|
},
|
|
|
{
|
|
|
- "name": "v2 events",
|
|
|
- "description": "Experimental v2 event stream route."
|
|
|
+ "name": "skills",
|
|
|
+ "description": "Experimental skill routes."
|
|
|
},
|
|
|
{
|
|
|
- "name": "v2 questions",
|
|
|
- "description": "Experimental v2 question routes."
|
|
|
+ "name": "events",
|
|
|
+ "description": "Experimental event stream route."
|
|
|
},
|
|
|
{
|
|
|
- "name": "v2 session questions",
|
|
|
- "description": "Experimental v2 session question routes."
|
|
|
+ "name": "session questions",
|
|
|
+ "description": "Experimental session question routes."
|
|
|
},
|
|
|
{
|
|
|
"name": "pty",
|