|
@@ -0,0 +1,6190 @@
|
|
|
|
|
+{
|
|
|
|
|
+ "openapi": "3.1.1",
|
|
|
|
|
+ "info": {
|
|
|
|
|
+ "title": "opencode",
|
|
|
|
|
+ "description": "opencode api",
|
|
|
|
|
+ "version": "1.0.0"
|
|
|
|
|
+ },
|
|
|
|
|
+ "paths": {
|
|
|
|
|
+ "/project": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "project.list",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "List all projects",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "List of projects",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Project"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/project/current": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "project.current",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Get the current project",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Current project",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Project"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/config": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "config.get",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Get config info",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Get config info",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Config"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "patch": {
|
|
|
|
|
+ "operationId": "config.update",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Update config",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Successfully updated config",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Config"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "requestBody": {
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Config"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/experimental/tool/ids": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "tool.ids",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "List all tool IDs (including built-in and dynamically registered)",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Tool IDs",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/ToolIDs"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/experimental/tool": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "tool.list",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "provider",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "model",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "List tools with JSON schema parameters for a provider/model",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Tools",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/ToolList"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/path": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "path.get",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Get the current path",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Path",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Path"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/session": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "session.list",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "List all sessions",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "List of sessions",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Session"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "session.create",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Create a new session",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Successfully created session",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Session"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "requestBody": {
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "parentID": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "pattern": "^ses.*"
|
|
|
|
|
+ },
|
|
|
|
|
+ "title": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/session/{id}": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "session.get",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "pattern": "^ses.*"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Get session",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Get session",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Session"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "delete": {
|
|
|
|
|
+ "operationId": "session.delete",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "pattern": "^ses.*"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Delete a session and all its data",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Successfully deleted session",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "patch": {
|
|
|
|
|
+ "operationId": "session.update",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Update session properties",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Successfully updated session",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Session"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "requestBody": {
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "title": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/session/{id}/children": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "session.children",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "pattern": "^ses.*"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Get a session's children",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "List of children",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Session"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/session/{id}/todo": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "session.todo",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true,
|
|
|
|
|
+ "description": "Session ID"
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Get the todo list for a session",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Todo list",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Todo"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/session/{id}/init": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "session.init",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true,
|
|
|
|
|
+ "description": "Session ID"
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Analyze the app and create an AGENTS.md file",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "200",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "requestBody": {
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "modelID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "providerID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "messageID": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "pattern": "^msg.*"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["modelID", "providerID", "messageID"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/session/{id}/fork": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "session.fork",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "pattern": "^ses.*"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Fork an existing session at a specific message",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "200",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Session"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "requestBody": {
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "messageID": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "pattern": "^msg.*"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/session/{id}/abort": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "session.abort",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Abort a session",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Aborted session",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/session/{id}/share": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "session.share",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Share a session",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Successfully shared session",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Session"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "delete": {
|
|
|
|
|
+ "operationId": "session.unshare",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "pattern": "^ses.*"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Unshare the session",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Successfully unshared session",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Session"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/session/{id}/diff": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "session.diff",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "pattern": "^ses.*"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "messageID",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "pattern": "^msg.*"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Get the diff that resulted from this user message",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Successfully retrieved diff",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "$ref": "#/components/schemas/FileDiff"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/session/{id}/summarize": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "session.summarize",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true,
|
|
|
|
|
+ "description": "Session ID"
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Summarize the session",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Summarized session",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "requestBody": {
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "providerID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "modelID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["providerID", "modelID"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/session/{id}/message": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "session.messages",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true,
|
|
|
|
|
+ "description": "Session ID"
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "List messages for a session",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "List of messages",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "info": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Message"
|
|
|
|
|
+ },
|
|
|
|
|
+ "parts": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Part"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["info", "parts"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "session.prompt",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true,
|
|
|
|
|
+ "description": "Session ID"
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Create and send a new message to a session",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Created message",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "info": {
|
|
|
|
|
+ "$ref": "#/components/schemas/AssistantMessage"
|
|
|
|
|
+ },
|
|
|
|
|
+ "parts": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Part"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["info", "parts"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "requestBody": {
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "messageID": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "pattern": "^msg.*"
|
|
|
|
|
+ },
|
|
|
|
|
+ "model": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "providerID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "modelID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["providerID", "modelID"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "agent": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "noReply": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ },
|
|
|
|
|
+ "system": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "tools": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "propertyNames": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "parts": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/TextPartInput"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/FilePartInput"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/AgentPartInput"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["parts"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/session/{id}/message/{messageID}": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "session.message",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true,
|
|
|
|
|
+ "description": "Session ID"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "messageID",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true,
|
|
|
|
|
+ "description": "Message ID"
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Get a message from a session",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Message",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "info": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Message"
|
|
|
|
|
+ },
|
|
|
|
|
+ "parts": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Part"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["info", "parts"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/session/{id}/command": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "session.command",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true,
|
|
|
|
|
+ "description": "Session ID"
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Send a new command to a session",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Created message",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "info": {
|
|
|
|
|
+ "$ref": "#/components/schemas/AssistantMessage"
|
|
|
|
|
+ },
|
|
|
|
|
+ "parts": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Part"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["info", "parts"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "requestBody": {
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "messageID": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "pattern": "^msg.*"
|
|
|
|
|
+ },
|
|
|
|
|
+ "agent": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "model": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "arguments": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "command": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["arguments", "command"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/session/{id}/shell": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "session.shell",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true,
|
|
|
|
|
+ "description": "Session ID"
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Run a shell command",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Created message",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/AssistantMessage"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "requestBody": {
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "agent": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "command": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["agent", "command"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/session/{id}/revert": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "session.revert",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Revert a message",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Updated session",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Session"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "requestBody": {
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "messageID": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "pattern": "^msg.*"
|
|
|
|
|
+ },
|
|
|
|
|
+ "partID": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "pattern": "^prt.*"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["messageID"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/session/{id}/unrevert": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "session.unrevert",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Restore all reverted messages",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Updated session",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Session"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/session/{id}/permissions/{permissionID}": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "postSession:idPermissions:permissionID",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "permissionID",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Respond to a permission request",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Permission processed successfully",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "404": {
|
|
|
|
|
+ "description": "Not found",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/NotFoundError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "requestBody": {
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "response": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "enum": ["once", "always", "reject"]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["response"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/command": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "command.list",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "List all commands",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "List of commands",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Command"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/config/providers": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "config.providers",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "List all providers",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "List of providers",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "providers": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Provider"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "default": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "propertyNames": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["providers", "default"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/find": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "find.text",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "pattern",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Find text in files",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Matches",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "path": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "text": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["text"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "lines": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "text": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["text"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "line_number": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ },
|
|
|
|
|
+ "absolute_offset": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ },
|
|
|
|
|
+ "submatches": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "match": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "text": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["text"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "start": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ },
|
|
|
|
|
+ "end": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["match", "start", "end"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["path", "lines", "line_number", "absolute_offset", "submatches"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/find/file": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "find.files",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "query",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Find files",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "File paths",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/find/symbol": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "find.symbols",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "query",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Find workspace symbols",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Symbols",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Symbol"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/file": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "file.list",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "path",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "List files and directories",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Files and directories",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "$ref": "#/components/schemas/FileNode"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/file/content": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "file.read",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "path",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Read a file",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "File content",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/FileContent"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/file/status": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "file.status",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Get file status",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "File status",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "$ref": "#/components/schemas/File"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/log": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "app.log",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Write a log entry to the server logs",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Log entry written successfully",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "requestBody": {
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "service": {
|
|
|
|
|
+ "description": "Service name for the log entry",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "level": {
|
|
|
|
|
+ "description": "Log level",
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "enum": ["debug", "info", "error", "warn"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "message": {
|
|
|
|
|
+ "description": "Log message",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "extra": {
|
|
|
|
|
+ "description": "Additional metadata for the log entry",
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "propertyNames": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {}
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["service", "level", "message"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/agent": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "app.agents",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "List all agents",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "List of agents",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Agent"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/mcp": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "mcp.status",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Get MCP server status",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "MCP server status",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {}
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/tui/append-prompt": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "tui.appendPrompt",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Append prompt to the TUI",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Prompt processed successfully",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "requestBody": {
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "text": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["text"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/tui/open-help": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "tui.openHelp",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Open the help dialog",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Help dialog opened successfully",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/tui/open-sessions": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "tui.openSessions",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Open the session dialog",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Session dialog opened successfully",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/tui/open-themes": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "tui.openThemes",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Open the theme dialog",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Theme dialog opened successfully",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/tui/open-models": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "tui.openModels",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Open the model dialog",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Model dialog opened successfully",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/tui/submit-prompt": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "tui.submitPrompt",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Submit the prompt",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Prompt submitted successfully",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/tui/clear-prompt": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "tui.clearPrompt",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Clear the prompt",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Prompt cleared successfully",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/tui/execute-command": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "tui.executeCommand",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Execute a TUI command (e.g. agent_cycle)",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Command executed successfully",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "requestBody": {
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "command": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["command"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/tui/show-toast": {
|
|
|
|
|
+ "post": {
|
|
|
|
|
+ "operationId": "tui.showToast",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Show a toast notification in the TUI",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Toast notification shown successfully",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "requestBody": {
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "title": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "message": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "variant": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "enum": ["info", "success", "warning", "error"]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["message", "variant"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/auth/{id}": {
|
|
|
|
|
+ "put": {
|
|
|
|
|
+ "operationId": "auth.set",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "path",
|
|
|
|
|
+ "name": "id",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": true
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Set authentication credentials",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Successfully set authentication credentials",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "400": {
|
|
|
|
|
+ "description": "Bad request",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/BadRequestError"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "requestBody": {
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "application/json": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Auth"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "/event": {
|
|
|
|
|
+ "get": {
|
|
|
|
|
+ "operationId": "event.subscribe",
|
|
|
|
|
+ "parameters": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "in": "query",
|
|
|
|
|
+ "name": "directory",
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ "description": "Get events",
|
|
|
|
|
+ "responses": {
|
|
|
|
|
+ "200": {
|
|
|
|
|
+ "description": "Event stream",
|
|
|
|
|
+ "content": {
|
|
|
|
|
+ "text/event-stream": {
|
|
|
|
|
+ "schema": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Event"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "components": {
|
|
|
|
|
+ "schemas": {
|
|
|
|
|
+ "Project": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "id": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "worktree": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "vcs": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "git"
|
|
|
|
|
+ },
|
|
|
|
|
+ "time": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "created": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ },
|
|
|
|
|
+ "initialized": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["created"]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["id", "worktree", "time"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "KeybindsConfig": {
|
|
|
|
|
+ "description": "Custom keybind configurations",
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "leader": {
|
|
|
|
|
+ "description": "Leader key for keybind combinations",
|
|
|
|
|
+ "default": "ctrl+x",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "app_help": {
|
|
|
|
|
+ "description": "Show help dialog",
|
|
|
|
|
+ "default": "<leader>h",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "app_exit": {
|
|
|
|
|
+ "description": "Exit the application",
|
|
|
|
|
+ "default": "ctrl+c,<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"
|
|
|
|
|
+ },
|
|
|
|
|
+ "project_init": {
|
|
|
|
|
+ "description": "Create/update AGENTS.md",
|
|
|
|
|
+ "default": "<leader>i",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "tool_details": {
|
|
|
|
|
+ "description": "Toggle tool details",
|
|
|
|
|
+ "default": "<leader>d",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "thinking_blocks": {
|
|
|
|
|
+ "description": "Toggle thinking blocks",
|
|
|
|
|
+ "default": "<leader>b",
|
|
|
|
|
+ "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_share": {
|
|
|
|
|
+ "description": "Share current session",
|
|
|
|
|
+ "default": "<leader>s",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "session_unshare": {
|
|
|
|
|
+ "description": "Unshare current session",
|
|
|
|
|
+ "default": "none",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "session_interrupt": {
|
|
|
|
|
+ "description": "Interrupt current session",
|
|
|
|
|
+ "default": "esc",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "session_compact": {
|
|
|
|
|
+ "description": "Compact the session",
|
|
|
|
|
+ "default": "<leader>c",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "session_child_cycle": {
|
|
|
|
|
+ "description": "Cycle to next child session",
|
|
|
|
|
+ "default": "ctrl+right",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "session_child_cycle_reverse": {
|
|
|
|
|
+ "description": "Cycle to previous child session",
|
|
|
|
|
+ "default": "ctrl+left",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "messages_page_up": {
|
|
|
|
|
+ "description": "Scroll messages up by one page",
|
|
|
|
|
+ "default": "pgup",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "messages_page_down": {
|
|
|
|
|
+ "description": "Scroll messages down by one page",
|
|
|
|
|
+ "default": "pgdown",
|
|
|
|
|
+ "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",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "messages_last": {
|
|
|
|
|
+ "description": "Navigate to last message",
|
|
|
|
|
+ "default": "ctrl+alt+g",
|
|
|
|
|
+ "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"
|
|
|
|
|
+ },
|
|
|
|
|
+ "model_list": {
|
|
|
|
|
+ "description": "List available models",
|
|
|
|
|
+ "default": "<leader>m",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "model_cycle_recent": {
|
|
|
|
|
+ "description": "Next recent model",
|
|
|
|
|
+ "default": "f2",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "model_cycle_recent_reverse": {
|
|
|
|
|
+ "description": "Previous recent model",
|
|
|
|
|
+ "default": "shift+f2",
|
|
|
|
|
+ "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"
|
|
|
|
|
+ },
|
|
|
|
|
+ "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": "enter",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "input_newline": {
|
|
|
|
|
+ "description": "Insert newline in input",
|
|
|
|
|
+ "default": "shift+enter,ctrl+j",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "switch_mode": {
|
|
|
|
|
+ "description": "@deprecated use agent_cycle. Next mode",
|
|
|
|
|
+ "default": "none",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "switch_mode_reverse": {
|
|
|
|
|
+ "description": "@deprecated use agent_cycle_reverse. Previous mode",
|
|
|
|
|
+ "default": "none",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "switch_agent": {
|
|
|
|
|
+ "description": "@deprecated use agent_cycle. Next agent",
|
|
|
|
|
+ "default": "tab",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "switch_agent_reverse": {
|
|
|
|
|
+ "description": "@deprecated use agent_cycle_reverse. Previous agent",
|
|
|
|
|
+ "default": "shift+tab",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "file_list": {
|
|
|
|
|
+ "description": "@deprecated Currently not available. List files",
|
|
|
|
|
+ "default": "none",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "file_close": {
|
|
|
|
|
+ "description": "@deprecated Close file",
|
|
|
|
|
+ "default": "none",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "file_search": {
|
|
|
|
|
+ "description": "@deprecated Search file",
|
|
|
|
|
+ "default": "none",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "file_diff_toggle": {
|
|
|
|
|
+ "description": "@deprecated Split/unified diff",
|
|
|
|
|
+ "default": "none",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "messages_previous": {
|
|
|
|
|
+ "description": "@deprecated Navigate to previous message",
|
|
|
|
|
+ "default": "none",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "messages_next": {
|
|
|
|
|
+ "description": "@deprecated Navigate to next message",
|
|
|
|
|
+ "default": "none",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "messages_layout_toggle": {
|
|
|
|
|
+ "description": "@deprecated Toggle layout",
|
|
|
|
|
+ "default": "none",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "messages_revert": {
|
|
|
|
|
+ "description": "@deprecated use messages_undo. Revert message",
|
|
|
|
|
+ "default": "none",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": false
|
|
|
|
|
+ },
|
|
|
|
|
+ "AgentConfig": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "model": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "temperature": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ },
|
|
|
|
|
+ "top_p": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ },
|
|
|
|
|
+ "prompt": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "tools": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "propertyNames": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "disable": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ },
|
|
|
|
|
+ "description": {
|
|
|
|
|
+ "description": "Description of when to use the agent",
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "mode": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "subagent"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "primary"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "all"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ "permission": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "edit": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "ask"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "allow"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "deny"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ "bash": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "ask"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "allow"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "deny"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "propertyNames": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "ask"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "allow"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "deny"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ "webfetch": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "ask"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "allow"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "deny"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {}
|
|
|
|
|
+ },
|
|
|
|
|
+ "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"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["type", "command"],
|
|
|
|
|
+ "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"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "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": "#/components/schemas/KeybindsConfig"
|
|
|
|
|
+ },
|
|
|
|
|
+ "tui": {
|
|
|
|
|
+ "description": "TUI specific settings",
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "scroll_speed": {
|
|
|
|
|
+ "description": "TUI scroll speed",
|
|
|
|
|
+ "default": 2,
|
|
|
|
|
+ "type": "number",
|
|
|
|
|
+ "minimum": 1
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "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",
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ },
|
|
|
|
|
+ "disabled_providers": {
|
|
|
|
|
+ "description": "Disable providers that are loaded automatically",
|
|
|
|
|
+ "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"
|
|
|
|
|
+ },
|
|
|
|
|
+ "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": "#/components/schemas/AgentConfig"
|
|
|
|
|
+ },
|
|
|
|
|
+ "plan": {
|
|
|
|
|
+ "$ref": "#/components/schemas/AgentConfig"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {
|
|
|
|
|
+ "$ref": "#/components/schemas/AgentConfig"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "agent": {
|
|
|
|
|
+ "description": "Agent configuration, see https://opencode.ai/docs/agent",
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "plan": {
|
|
|
|
|
+ "$ref": "#/components/schemas/AgentConfig"
|
|
|
|
|
+ },
|
|
|
|
|
+ "build": {
|
|
|
|
|
+ "$ref": "#/components/schemas/AgentConfig"
|
|
|
|
|
+ },
|
|
|
|
|
+ "general": {
|
|
|
|
|
+ "$ref": "#/components/schemas/AgentConfig"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {
|
|
|
|
|
+ "$ref": "#/components/schemas/AgentConfig"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "provider": {
|
|
|
|
|
+ "description": "Custom provider configurations and model overrides",
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "propertyNames": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {
|
|
|
|
|
+ "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"
|
|
|
|
|
+ },
|
|
|
|
|
+ "release_date": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "attachment": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ },
|
|
|
|
|
+ "reasoning": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ },
|
|
|
|
|
+ "temperature": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ },
|
|
|
|
|
+ "tool_call": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ },
|
|
|
|
|
+ "cost": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "input": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ },
|
|
|
|
|
+ "output": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ },
|
|
|
|
|
+ "cache_read": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ },
|
|
|
|
|
+ "cache_write": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["input", "output"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "limit": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "context": {
|
|
|
|
|
+ "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"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "options": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "propertyNames": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {}
|
|
|
|
|
+ },
|
|
|
|
|
+ "provider": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "npm": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["npm"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "options": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "apiKey": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "baseURL": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "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
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "mcp": {
|
|
|
|
|
+ "description": "MCP (Model Context Protocol) server configurations",
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "propertyNames": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/McpLocalConfig"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/McpRemoteConfig"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "formatter": {
|
|
|
|
|
+ "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": {
|
|
|
|
|
+ "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": "#/components/schemas/LayoutConfig"
|
|
|
|
|
+ },
|
|
|
|
|
+ "permission": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "edit": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "ask"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "allow"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "deny"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ "bash": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "ask"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "allow"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "deny"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "propertyNames": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "ask"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "allow"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "deny"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ "webfetch": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "ask"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "allow"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "deny"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "tools": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "propertyNames": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {
|
|
|
|
|
+ "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"]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "disable_paste_summary": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": false
|
|
|
|
|
+ },
|
|
|
|
|
+ "BadRequestError": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "data": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {},
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "null"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ "errors": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "propertyNames": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {}
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "success": {
|
|
|
|
|
+ "type": "boolean",
|
|
|
|
|
+ "const": false
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["data", "errors", "success"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "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": "#/components/schemas/ToolListItem"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "Path": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "state": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "config": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "worktree": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "directory": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["state", "config", "worktree", "directory"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "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"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Session": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "id": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "pattern": "^ses.*"
|
|
|
|
|
+ },
|
|
|
|
|
+ "projectID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "directory": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "parentID": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "pattern": "^ses.*"
|
|
|
|
|
+ },
|
|
|
|
|
+ "summary": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "diffs": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "$ref": "#/components/schemas/FileDiff"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["diffs"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "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"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["created", "updated"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "revert": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "messageID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "partID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "snapshot": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "diff": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["messageID"]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["id", "projectID", "directory", "title", "version", "time"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "NotFoundError": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "name": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "NotFoundError"
|
|
|
|
|
+ },
|
|
|
|
|
+ "data": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "message": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["message"]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["name", "data"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "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"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "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": "#/components/schemas/FileDiff"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["diffs"]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["id", "sessionID", "role", "time"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "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"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "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": "#/components/schemas/ProviderAuthError"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/UnknownError"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/MessageOutputLengthError"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/MessageAbortedError"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/APIError"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ "system": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "parentID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "modelID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "providerID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "mode": {
|
|
|
|
|
+ "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"]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": [
|
|
|
|
|
+ "id",
|
|
|
|
|
+ "sessionID",
|
|
|
|
|
+ "role",
|
|
|
|
|
+ "time",
|
|
|
|
|
+ "system",
|
|
|
|
|
+ "parentID",
|
|
|
|
|
+ "modelID",
|
|
|
|
|
+ "providerID",
|
|
|
|
|
+ "mode",
|
|
|
|
|
+ "path",
|
|
|
|
|
+ "cost",
|
|
|
|
|
+ "tokens"
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Message": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/UserMessage"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/AssistantMessage"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ "TextPart": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "id": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "sessionID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "messageID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "type": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "text"
|
|
|
|
|
+ },
|
|
|
|
|
+ "text": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "synthetic": {
|
|
|
|
|
+ "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": "#/components/schemas/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": "#/components/schemas/FilePartSourceText"
|
|
|
|
|
+ },
|
|
|
|
|
+ "type": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "symbol"
|
|
|
|
|
+ },
|
|
|
|
|
+ "path": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "range": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Range"
|
|
|
|
|
+ },
|
|
|
|
|
+ "name": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "kind": {
|
|
|
|
|
+ "type": "integer",
|
|
|
|
|
+ "minimum": -9007199254740991,
|
|
|
|
|
+ "maximum": 9007199254740991
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["text", "type", "path", "range", "name", "kind"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "FilePartSource": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/FileSource"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/SymbolSource"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ "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": "#/components/schemas/FilePartSource"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["id", "sessionID", "messageID", "type", "mime", "url"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "ToolStatePending": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "status": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "pending"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["status"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "ToolStateRunning": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "status": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "running"
|
|
|
|
|
+ },
|
|
|
|
|
+ "input": {},
|
|
|
|
|
+ "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": "#/components/schemas/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": "#/components/schemas/ToolStatePending"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/ToolStateRunning"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/ToolStateCompleted"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/ToolStateError"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ "ToolPart": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "id": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "sessionID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "messageID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "type": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "tool"
|
|
|
|
|
+ },
|
|
|
|
|
+ "callID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "tool": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "state": {
|
|
|
|
|
+ "$ref": "#/components/schemas/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": "#/components/schemas/APIError"
|
|
|
|
|
+ },
|
|
|
|
|
+ "time": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "created": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["created"]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["id", "sessionID", "messageID", "type", "attempt", "error", "time"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Part": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/TextPart"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/ReasoningPart"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/FilePart"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/ToolPart"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/StepStartPart"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/StepFinishPart"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/SnapshotPart"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/PatchPart"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/AgentPart"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/RetryPart"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ "TextPartInput": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "id": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "type": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "text"
|
|
|
|
|
+ },
|
|
|
|
|
+ "text": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "synthetic": {
|
|
|
|
|
+ "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": "#/components/schemas/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"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Command": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "name": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "description": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "agent": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "model": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "template": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "subtask": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["name", "template"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Model": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "id": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "name": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "release_date": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "attachment": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ },
|
|
|
|
|
+ "reasoning": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ },
|
|
|
|
|
+ "temperature": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ },
|
|
|
|
|
+ "tool_call": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ },
|
|
|
|
|
+ "cost": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "input": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ },
|
|
|
|
|
+ "output": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ },
|
|
|
|
|
+ "cache_read": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ },
|
|
|
|
|
+ "cache_write": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["input", "output"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "limit": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "context": {
|
|
|
|
|
+ "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"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "options": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "propertyNames": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {}
|
|
|
|
|
+ },
|
|
|
|
|
+ "provider": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "npm": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["npm"]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": [
|
|
|
|
|
+ "id",
|
|
|
|
|
+ "name",
|
|
|
|
|
+ "release_date",
|
|
|
|
|
+ "attachment",
|
|
|
|
|
+ "reasoning",
|
|
|
|
|
+ "temperature",
|
|
|
|
|
+ "tool_call",
|
|
|
|
|
+ "cost",
|
|
|
|
|
+ "limit",
|
|
|
|
|
+ "options"
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Provider": {
|
|
|
|
|
+ "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": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Model"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["name", "env", "id", "models"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Symbol": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "name": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "kind": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ },
|
|
|
|
|
+ "location": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "uri": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "range": {
|
|
|
|
|
+ "$ref": "#/components/schemas/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"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Agent": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "name": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "description": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "mode": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "subagent"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "primary"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "all"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ "builtIn": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ },
|
|
|
|
|
+ "topP": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ },
|
|
|
|
|
+ "temperature": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ },
|
|
|
|
|
+ "permission": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "edit": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "ask"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "allow"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "deny"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ "bash": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "propertyNames": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "ask"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "allow"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "deny"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "webfetch": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "ask"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "allow"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "deny"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["edit", "bash"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "model": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "modelID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "providerID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["modelID", "providerID"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "prompt": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "tools": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "propertyNames": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {
|
|
|
|
|
+ "type": "boolean"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "options": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "propertyNames": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {}
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["name", "mode", "builtIn", "permission", "tools", "options"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "OAuth": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "oauth"
|
|
|
|
|
+ },
|
|
|
|
|
+ "refresh": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "access": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "expires": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "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": "#/components/schemas/OAuth"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/ApiAuth"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/WellKnownAuth"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ "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.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.message.updated": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "message.updated"
|
|
|
|
|
+ },
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "info": {
|
|
|
|
|
+ "$ref": "#/components/schemas/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"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Event.message.part.updated": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "message.part.updated"
|
|
|
|
|
+ },
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "part": {
|
|
|
|
|
+ "$ref": "#/components/schemas/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"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Event.session.compacted": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "session.compacted"
|
|
|
|
|
+ },
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "sessionID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["sessionID"]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["type", "properties"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Permission": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "id": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "type": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "pattern": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ "sessionID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "messageID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "callID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "title": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "metadata": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "propertyNames": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "additionalProperties": {}
|
|
|
|
|
+ },
|
|
|
|
|
+ "time": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "created": {
|
|
|
|
|
+ "type": "number"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["created"]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["id", "type", "sessionID", "messageID", "title", "metadata", "time"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Event.permission.updated": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "permission.updated"
|
|
|
|
|
+ },
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Permission"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["type", "properties"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Event.permission.replied": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "permission.replied"
|
|
|
|
|
+ },
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "sessionID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "permissionID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "response": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["sessionID", "permissionID", "response"]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "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"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "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"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Event.todo.updated": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "todo.updated"
|
|
|
|
|
+ },
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "sessionID": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ },
|
|
|
|
|
+ "todos": {
|
|
|
|
|
+ "type": "array",
|
|
|
|
|
+ "items": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Todo"
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["sessionID", "todos"]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "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"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Event.session.created": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "session.created"
|
|
|
|
|
+ },
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "info": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Session"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["info"]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["type", "properties"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Event.session.updated": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "session.updated"
|
|
|
|
|
+ },
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "info": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Session"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["info"]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["type", "properties"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Event.session.deleted": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "session.deleted"
|
|
|
|
|
+ },
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "info": {
|
|
|
|
|
+ "$ref": "#/components/schemas/Session"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["info"]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "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": "#/components/schemas/ProviderAuthError"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/UnknownError"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/MessageOutputLengthError"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/MessageAbortedError"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/APIError"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["type", "properties"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Event.server.connected": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "server.connected"
|
|
|
|
|
+ },
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {}
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["type", "properties"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Event.ide.installed": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": {
|
|
|
|
|
+ "type": "string",
|
|
|
|
|
+ "const": "ide.installed"
|
|
|
|
|
+ },
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "type": "object",
|
|
|
|
|
+ "properties": {
|
|
|
|
|
+ "ide": {
|
|
|
|
|
+ "type": "string"
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["ide"]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ "required": ["type", "properties"]
|
|
|
|
|
+ },
|
|
|
|
|
+ "Event": {
|
|
|
|
|
+ "anyOf": [
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/Event.installation.updated"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/Event.lsp.client.diagnostics"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$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.compacted"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/Event.permission.updated"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/Event.permission.replied"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/Event.file.edited"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/Event.file.watcher.updated"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/Event.todo.updated"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/Event.session.idle"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/Event.session.created"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/Event.session.updated"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/Event.session.deleted"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/Event.session.error"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/Event.server.connected"
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ "$ref": "#/components/schemas/Event.ide.installed"
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|