diff --git a/packages/docs/docs.json b/packages/docs/docs.json index 4ca49de58..91f6f693d 100644 --- a/packages/docs/docs.json +++ b/packages/docs/docs.json @@ -8,53 +8,20 @@ "dark": "#15803D" }, "favicon": "/favicon.svg", - "servers": [ - { - "url": "https://opencode.ai/openapi.json" - } - ], "navigation": { "tabs": [ { - "tab": "Guides", + "tab": "SDK", "groups": [ { "group": "Getting started", - "pages": ["index", "quickstart", "development"] - }, - { - "group": "Customization", - "pages": ["essentials/settings", "essentials/navigation"] - }, - { - "group": "Writing content", - "pages": ["essentials/markdown", "essentials/code", "essentials/images", "essentials/reusable-snippets"] - }, - { - "group": "AI tools", - "pages": ["ai-tools/cursor", "ai-tools/claude-code", "ai-tools/windsurf"] + "pages": ["index", "quickstart", "development"], + "openapi": "./openapi.json" } ] - }, - { - "tab": "API Reference", - "openapi": "https://opencode.ai/openapi.json" } ], - "global": { - "anchors": [ - { - "anchor": "Documentation", - "href": "https://mintlify.com/docs", - "icon": "book-open-cover" - }, - { - "anchor": "Blog", - "href": "https://mintlify.com/blog", - "icon": "newspaper" - } - ] - } + "global": {} }, "logo": { "light": "/logo/light.svg", diff --git a/packages/docs/openapi.json b/packages/docs/openapi.json new file mode 120000 index 000000000..854dd8b2b --- /dev/null +++ b/packages/docs/openapi.json @@ -0,0 +1 @@ +../sdk/openapi.json \ No newline at end of file diff --git a/packages/opencode/src/cli/cmd/generate.ts b/packages/opencode/src/cli/cmd/generate.ts index c29a22a82..fad4514c8 100644 --- a/packages/opencode/src/cli/cmd/generate.ts +++ b/packages/opencode/src/cli/cmd/generate.ts @@ -5,6 +5,26 @@ export const GenerateCommand = { command: "generate", handler: async () => { const specs = await Server.openapi() + for (const item of Object.values(specs.paths)) { + for (const method of ["get", "post", "put", "delete", "patch"] as const) { + const operation = item[method] + if (!operation?.operationId) continue + // @ts-expect-error + operation["x-codeSamples"] = [ + { + lang: "js", + source: [ + `import { createOpencodeClient } from "@opencode-ai/sdk`, + ``, + `const client = createOpencodeClient()`, + `await client.${operation.operationId}({`, + ` ...`, + `})`, + ].join("\n"), + }, + ] + } + } const json = JSON.stringify(specs, null, 2) // Wait for stdout to finish writing before process.exit() is called diff --git a/packages/opencode/src/server/project.ts b/packages/opencode/src/server/project.ts index 616a2f7e7..9d5596595 100644 --- a/packages/opencode/src/server/project.ts +++ b/packages/opencode/src/server/project.ts @@ -8,7 +8,8 @@ export const ProjectRoute = new Hono() .get( "/", describeRoute({ - description: "List all projects", + summary: "List all projects", + description: "Get a list of projects that have been opened with OpenCode.", operationId: "project.list", responses: { 200: { @@ -29,11 +30,12 @@ export const ProjectRoute = new Hono() .get( "/current", describeRoute({ - description: "Get the current project", + summary: "Get current project", + description: "Retrieve the currently active project that OpenCode is working with.", operationId: "project.current", responses: { 200: { - description: "Current project", + description: "Current project information", content: { "application/json": { schema: resolver(Project.Info), diff --git a/packages/opencode/src/server/server.ts b/packages/opencode/src/server/server.ts index 5c0d9afdb..b6362b621 100644 --- a/packages/opencode/src/server/server.ts +++ b/packages/opencode/src/server/server.ts @@ -97,7 +97,8 @@ export namespace Server { .get( "/global/event", describeRoute({ - description: "Get events", + summary: "Get global events", + description: "Subscribe to global events from the OpenCode system using server-sent events.", operationId: "global.event", responses: { 200: { @@ -168,7 +169,8 @@ export namespace Server { .get( "/pty", describeRoute({ - description: "List all PTY sessions", + summary: "List PTY sessions", + description: "Get a list of all active pseudo-terminal (PTY) sessions managed by OpenCode.", operationId: "pty.list", responses: { 200: { @@ -188,7 +190,8 @@ export namespace Server { .post( "/pty", describeRoute({ - description: "Create a new PTY session", + summary: "Create PTY session", + description: "Create a new pseudo-terminal (PTY) session for running shell commands and processes.", operationId: "pty.create", responses: { 200: { @@ -211,7 +214,8 @@ export namespace Server { .get( "/pty/:ptyID", describeRoute({ - description: "Get PTY session info", + summary: "Get PTY session", + description: "Retrieve detailed information about a specific pseudo-terminal (PTY) session.", operationId: "pty.get", responses: { 200: { @@ -237,7 +241,8 @@ export namespace Server { .put( "/pty/:ptyID", describeRoute({ - description: "Update PTY session", + summary: "Update PTY session", + description: "Update properties of an existing pseudo-terminal (PTY) session.", operationId: "pty.update", responses: { 200: { @@ -261,7 +266,8 @@ export namespace Server { .delete( "/pty/:ptyID", describeRoute({ - description: "Remove a PTY session", + summary: "Remove PTY session", + description: "Remove and terminate a specific pseudo-terminal (PTY) session.", operationId: "pty.remove", responses: { 200: { @@ -284,7 +290,9 @@ export namespace Server { .get( "/pty/:ptyID/connect", describeRoute({ - description: "Connect to a PTY session", + summary: "Connect to PTY session", + description: + "Establish a WebSocket connection to interact with a pseudo-terminal (PTY) session in real-time.", operationId: "pty.connect", responses: { 200: { @@ -320,7 +328,8 @@ export namespace Server { .get( "/config", describeRoute({ - description: "Get config info", + summary: "Get configuration", + description: "Retrieve the current OpenCode configuration settings and preferences.", operationId: "config.get", responses: { 200: { @@ -341,7 +350,8 @@ export namespace Server { .patch( "/config", describeRoute({ - description: "Update config", + summary: "Update configuration", + description: "Update OpenCode configuration settings and preferences.", operationId: "config.update", responses: { 200: { @@ -365,7 +375,9 @@ export namespace Server { .get( "/experimental/tool/ids", describeRoute({ - description: "List all tool IDs (including built-in and dynamically registered)", + summary: "List tool IDs", + description: + "Get a list of all available tool IDs, including both built-in tools and dynamically registered tools.", operationId: "tool.ids", responses: { 200: { @@ -386,7 +398,9 @@ export namespace Server { .get( "/experimental/tool", describeRoute({ - description: "List tools with JSON schema parameters for a provider/model", + summary: "List tools", + description: + "Get a list of available tools with their JSON schema parameters for a specific provider and model combination.", operationId: "tool.list", responses: { 200: { @@ -435,7 +449,8 @@ export namespace Server { .post( "/instance/dispose", describeRoute({ - description: "Dispose the current instance", + summary: "Dispose instance", + description: "Clean up and dispose the current OpenCode instance, releasing all resources.", operationId: "instance.dispose", responses: { 200: { @@ -456,7 +471,8 @@ export namespace Server { .get( "/path", describeRoute({ - description: "Get the current path", + summary: "Get paths", + description: "Retrieve the current working directory and related path information for the OpenCode instance.", operationId: "path.get", responses: { 200: { @@ -492,7 +508,8 @@ export namespace Server { .get( "/vcs", describeRoute({ - description: "Get VCS info for the current instance", + summary: "Get VCS info", + description: "Retrieve version control system (VCS) information for the current project, such as git branch.", operationId: "vcs.get", responses: { 200: { @@ -515,7 +532,8 @@ export namespace Server { .get( "/session", describeRoute({ - description: "List all sessions", + summary: "List sessions", + description: "Get a list of all OpenCode sessions, sorted by most recently updated.", operationId: "session.list", responses: { 200: { @@ -537,7 +555,8 @@ export namespace Server { .get( "/session/status", describeRoute({ - description: "Get session status", + summary: "Get session status", + description: "Retrieve the current status of all sessions, including active, idle, and completed states.", operationId: "session.status", responses: { 200: { @@ -559,7 +578,8 @@ export namespace Server { .get( "/session/:sessionID", describeRoute({ - description: "Get session", + summary: "Get session", + description: "Retrieve detailed information about a specific OpenCode session.", operationId: "session.get", responses: { 200: { @@ -589,7 +609,8 @@ export namespace Server { .get( "/session/:sessionID/children", describeRoute({ - description: "Get a session's children", + summary: "Get session children", + description: "Retrieve all child sessions that were forked from the specified parent session.", operationId: "session.children", responses: { 200: { @@ -618,7 +639,8 @@ export namespace Server { .get( "/session/:sessionID/todo", describeRoute({ - description: "Get the todo list for a session", + summary: "Get session todos", + description: "Retrieve the todo list associated with a specific session, showing tasks and action items.", operationId: "session.todo", responses: { 200: { @@ -647,7 +669,8 @@ export namespace Server { .post( "/session", describeRoute({ - description: "Create a new session", + summary: "Create session", + description: "Create a new OpenCode session for interacting with AI assistants and managing conversations.", operationId: "session.create", responses: { ...errors(400), @@ -671,7 +694,8 @@ export namespace Server { .delete( "/session/:sessionID", describeRoute({ - description: "Delete a session and all its data", + summary: "Delete session", + description: "Delete a session and permanently remove all associated data, including messages and history.", operationId: "session.delete", responses: { 200: { @@ -703,7 +727,8 @@ export namespace Server { .patch( "/session/:sessionID", describeRoute({ - description: "Update session properties", + summary: "Update session", + description: "Update properties of an existing session, such as title or other metadata.", operationId: "session.update", responses: { 200: { @@ -745,7 +770,9 @@ export namespace Server { .post( "/session/:sessionID/init", describeRoute({ - description: "Analyze the app and create an AGENTS.md file", + summary: "Initialize session", + description: + "Analyze the current application and create an AGENTS.md file with project-specific agent configurations.", operationId: "session.init", responses: { 200: { @@ -776,7 +803,8 @@ export namespace Server { .post( "/session/:sessionID/fork", describeRoute({ - description: "Fork an existing session at a specific message", + summary: "Fork session", + description: "Create a new session by forking an existing session at a specific message point.", operationId: "session.fork", responses: { 200: { @@ -806,7 +834,8 @@ export namespace Server { .post( "/session/:sessionID/abort", describeRoute({ - description: "Abort a session", + summary: "Abort session", + description: "Abort an active session and stop any ongoing AI processing or command execution.", operationId: "session.abort", responses: { 200: { @@ -834,7 +863,8 @@ export namespace Server { .post( "/session/:sessionID/share", describeRoute({ - description: "Share a session", + summary: "Share session", + description: "Create a shareable link for a session, allowing others to view the conversation.", operationId: "session.share", responses: { 200: { @@ -864,7 +894,8 @@ export namespace Server { .get( "/session/:sessionID/diff", describeRoute({ - description: "Get the diff that resulted from this user message", + summary: "Get message diff", + description: "Get the file changes (diff) that resulted from a specific user message in the session.", operationId: "session.diff", responses: { 200: { @@ -902,7 +933,8 @@ export namespace Server { .delete( "/session/:sessionID/share", describeRoute({ - description: "Unshare the session", + summary: "Unshare session", + description: "Remove the shareable link for a session, making it private again.", operationId: "session.unshare", responses: { 200: { @@ -932,7 +964,8 @@ export namespace Server { .post( "/session/:sessionID/summarize", describeRoute({ - description: "Summarize the session", + summary: "Summarize session", + description: "Generate a concise summary of the session using AI compaction to preserve key information.", operationId: "session.summarize", responses: { 200: { @@ -987,7 +1020,8 @@ export namespace Server { .get( "/session/:sessionID/message", describeRoute({ - description: "List messages for a session", + summary: "Get session messages", + description: "Retrieve all messages in a session, including user prompts and AI responses.", operationId: "session.messages", responses: { 200: { @@ -1025,7 +1059,8 @@ export namespace Server { .get( "/session/:sessionID/diff", describeRoute({ - description: "Get the diff for this session", + summary: "Get session diff", + description: "Get all file changes (diffs) made during this session.", operationId: "session.diff", responses: { 200: { @@ -1053,7 +1088,8 @@ export namespace Server { .get( "/session/:sessionID/message/:messageID", describeRoute({ - description: "Get a message from a session", + summary: "Get message", + description: "Retrieve a specific message from a session by its message ID.", operationId: "session.message", responses: { 200: { @@ -1091,7 +1127,8 @@ export namespace Server { .post( "/session/:sessionID/message", describeRoute({ - description: "Create and send a new message to a session", + summary: "Send message", + description: "Create and send a new message to a session, streaming the AI response.", operationId: "session.prompt", responses: { 200: { @@ -1131,7 +1168,9 @@ export namespace Server { .post( "/session/:sessionID/prompt_async", describeRoute({ - description: "Create and send a new message to a session, start if needed and return immediately", + summary: "Send async message", + description: + "Create and send a new message to a session asynchronously, starting the session if needed and returning immediately.", operationId: "session.prompt_async", responses: { 204: { @@ -1160,7 +1199,8 @@ export namespace Server { .post( "/session/:sessionID/command", describeRoute({ - description: "Send a new command to a session", + summary: "Send command", + description: "Send a new command to a session for execution by the AI assistant.", operationId: "session.command", responses: { 200: { @@ -1196,7 +1236,8 @@ export namespace Server { .post( "/session/:sessionID/shell", describeRoute({ - description: "Run a shell command", + summary: "Run shell command", + description: "Execute a shell command within the session context and return the AI's response.", operationId: "session.shell", responses: { 200: { @@ -1227,7 +1268,8 @@ export namespace Server { .post( "/session/:sessionID/revert", describeRoute({ - description: "Revert a message", + summary: "Revert message", + description: "Revert a specific message in a session, undoing its effects and restoring the previous state.", operationId: "session.revert", responses: { 200: { @@ -1261,7 +1303,8 @@ export namespace Server { .post( "/session/:sessionID/unrevert", describeRoute({ - description: "Restore all reverted messages", + summary: "Restore reverted messages", + description: "Restore all previously reverted messages in a session.", operationId: "session.unrevert", responses: { 200: { @@ -1290,7 +1333,8 @@ export namespace Server { .post( "/session/:sessionID/permissions/:permissionID", describeRoute({ - description: "Respond to a permission request", + summary: "Respond to permission", + description: "Approve or deny a permission request from the AI assistant.", operationId: "permission.respond", responses: { 200: { @@ -1327,7 +1371,8 @@ export namespace Server { .get( "/command", describeRoute({ - description: "List all commands", + summary: "List commands", + description: "Get a list of all available commands in the OpenCode system.", operationId: "command.list", responses: { 200: { @@ -1348,7 +1393,8 @@ export namespace Server { .get( "/config/providers", describeRoute({ - description: "List all providers", + summary: "List config providers", + description: "Get a list of all configured AI providers and their default models.", operationId: "config.providers", responses: { 200: { @@ -1378,7 +1424,8 @@ export namespace Server { .get( "/provider", describeRoute({ - description: "List all providers", + summary: "List providers", + description: "Get a list of all available AI providers, including both available and connected ones.", operationId: "provider.list", responses: { 200: { @@ -1413,7 +1460,8 @@ export namespace Server { .get( "/provider/auth", describeRoute({ - description: "Get provider authentication methods", + summary: "Get provider auth methods", + description: "Retrieve available authentication methods for all AI providers.", operationId: "provider.auth", responses: { 200: { @@ -1433,7 +1481,8 @@ export namespace Server { .post( "/provider/:providerID/oauth/authorize", describeRoute({ - description: "Authorize a provider using OAuth", + summary: "OAuth authorize", + description: "Initiate OAuth authorization for a specific AI provider to get an authorization URL.", operationId: "provider.oauth.authorize", responses: { 200: { @@ -1472,7 +1521,8 @@ export namespace Server { .post( "/provider/:providerID/oauth/callback", describeRoute({ - description: "Handle OAuth callback for a provider", + summary: "OAuth callback", + description: "Handle the OAuth callback from a provider after user authorization.", operationId: "provider.oauth.callback", responses: { 200: { @@ -1513,7 +1563,8 @@ export namespace Server { .get( "/find", describeRoute({ - description: "Find text in files", + summary: "Find text", + description: "Search for text patterns across files in the project using ripgrep.", operationId: "find.text", responses: { 200: { @@ -1545,7 +1596,8 @@ export namespace Server { .get( "/find/file", describeRoute({ - description: "Find files", + summary: "Find files", + description: "Search for files by name or pattern in the project directory.", operationId: "find.files", responses: { 200: { @@ -1579,7 +1631,8 @@ export namespace Server { .get( "/find/symbol", describeRoute({ - description: "Find workspace symbols", + summary: "Find symbols", + description: "Search for workspace symbols like functions, classes, and variables using LSP.", operationId: "find.symbols", responses: { 200: { @@ -1610,7 +1663,8 @@ export namespace Server { .get( "/file", describeRoute({ - description: "List files and directories", + summary: "List files", + description: "List files and directories in a specified path.", operationId: "file.list", responses: { 200: { @@ -1638,7 +1692,8 @@ export namespace Server { .get( "/file/content", describeRoute({ - description: "Read a file", + summary: "Read file", + description: "Read the content of a specified file.", operationId: "file.read", responses: { 200: { @@ -1666,7 +1721,8 @@ export namespace Server { .get( "/file/status", describeRoute({ - description: "Get file status", + summary: "Get file status", + description: "Get the git status of all files in the project.", operationId: "file.status", responses: { 200: { @@ -1687,7 +1743,8 @@ export namespace Server { .post( "/log", describeRoute({ - description: "Write a log entry to the server logs", + summary: "Write log", + description: "Write a log entry to the server logs with specified level and metadata.", operationId: "app.log", responses: { 200: { @@ -1738,7 +1795,8 @@ export namespace Server { .get( "/agent", describeRoute({ - description: "List all agents", + summary: "List agents", + description: "Get a list of all available AI agents in the OpenCode system.", operationId: "app.agents", responses: { 200: { @@ -1759,7 +1817,8 @@ export namespace Server { .get( "/mcp", describeRoute({ - description: "Get MCP server status", + summary: "Get MCP status", + description: "Get the status of all Model Context Protocol (MCP) servers.", operationId: "mcp.status", responses: { 200: { @@ -1779,7 +1838,8 @@ export namespace Server { .post( "/mcp", describeRoute({ - description: "Add MCP server dynamically", + summary: "Add MCP server", + description: "Dynamically add a new Model Context Protocol (MCP) server to the system.", operationId: "mcp.add", responses: { 200: { @@ -1809,7 +1869,8 @@ export namespace Server { .post( "/mcp/:name/auth", describeRoute({ - description: "Start OAuth authentication flow for an MCP server", + summary: "Start MCP OAuth", + description: "Start OAuth authentication flow for a Model Context Protocol (MCP) server.", operationId: "mcp.auth.start", responses: { 200: { @@ -1840,7 +1901,9 @@ export namespace Server { .post( "/mcp/:name/auth/callback", describeRoute({ - description: "Complete OAuth authentication with authorization code", + summary: "Complete MCP OAuth", + description: + "Complete OAuth authentication for a Model Context Protocol (MCP) server using the authorization code.", operationId: "mcp.auth.callback", responses: { 200: { @@ -1870,6 +1933,7 @@ export namespace Server { .post( "/mcp/:name/auth/authenticate", describeRoute({ + summary: "Authenticate MCP OAuth", description: "Start OAuth flow and wait for callback (opens browser)", operationId: "mcp.auth.authenticate", responses: { @@ -1897,6 +1961,7 @@ export namespace Server { .delete( "/mcp/:name/auth", describeRoute({ + summary: "Remove MCP OAuth", description: "Remove OAuth credentials for an MCP server", operationId: "mcp.auth.remove", responses: { @@ -1920,6 +1985,7 @@ export namespace Server { .get( "/lsp", describeRoute({ + summary: "Get LSP status", description: "Get LSP server status", operationId: "lsp.status", responses: { @@ -1940,6 +2006,7 @@ export namespace Server { .get( "/formatter", describeRoute({ + summary: "Get formatter status", description: "Get formatter status", operationId: "formatter.status", responses: { @@ -1960,6 +2027,7 @@ export namespace Server { .post( "/tui/append-prompt", describeRoute({ + summary: "Append TUI prompt", description: "Append prompt to the TUI", operationId: "tui.appendPrompt", responses: { @@ -1983,7 +2051,8 @@ export namespace Server { .post( "/tui/open-help", describeRoute({ - description: "Open the help dialog", + summary: "Open help dialog", + description: "Open the help dialog in the TUI to display user assistance information.", operationId: "tui.openHelp", responses: { 200: { @@ -2004,6 +2073,7 @@ export namespace Server { .post( "/tui/open-sessions", describeRoute({ + summary: "Open sessions dialog", description: "Open the session dialog", operationId: "tui.openSessions", responses: { @@ -2027,6 +2097,7 @@ export namespace Server { .post( "/tui/open-themes", describeRoute({ + summary: "Open themes dialog", description: "Open the theme dialog", operationId: "tui.openThemes", responses: { @@ -2050,6 +2121,7 @@ export namespace Server { .post( "/tui/open-models", describeRoute({ + summary: "Open models dialog", description: "Open the model dialog", operationId: "tui.openModels", responses: { @@ -2073,6 +2145,7 @@ export namespace Server { .post( "/tui/submit-prompt", describeRoute({ + summary: "Submit TUI prompt", description: "Submit the prompt", operationId: "tui.submitPrompt", responses: { @@ -2096,6 +2169,7 @@ export namespace Server { .post( "/tui/clear-prompt", describeRoute({ + summary: "Clear TUI prompt", description: "Clear the prompt", operationId: "tui.clearPrompt", responses: { @@ -2119,6 +2193,7 @@ export namespace Server { .post( "/tui/execute-command", describeRoute({ + summary: "Execute TUI command", description: "Execute a TUI command (e.g. agent_cycle)", operationId: "tui.executeCommand", responses: { @@ -2158,6 +2233,7 @@ export namespace Server { .post( "/tui/show-toast", describeRoute({ + summary: "Show TUI toast", description: "Show a toast notification in the TUI", operationId: "tui.showToast", responses: { @@ -2180,6 +2256,7 @@ export namespace Server { .post( "/tui/publish", describeRoute({ + summary: "Publish TUI event", description: "Publish a TUI event", operationId: "tui.publish", responses: { @@ -2219,6 +2296,7 @@ export namespace Server { .put( "/auth/:providerID", describeRoute({ + summary: "Set auth credentials", description: "Set authentication credentials", operationId: "auth.set", responses: { @@ -2250,6 +2328,7 @@ export namespace Server { .get( "/event", describeRoute({ + summary: "Subscribe to events", description: "Get events", operationId: "event.subscribe", responses: { diff --git a/packages/opencode/src/server/tui.ts b/packages/opencode/src/server/tui.ts index 65187dd07..42821ad9e 100644 --- a/packages/opencode/src/server/tui.ts +++ b/packages/opencode/src/server/tui.ts @@ -26,7 +26,8 @@ export const TuiRoute = new Hono() .get( "/next", describeRoute({ - description: "Get the next TUI request from the queue", + summary: "Get next TUI request", + description: "Retrieve the next TUI (Terminal User Interface) request from the queue for processing.", operationId: "tui.control.next", responses: { 200: { @@ -47,7 +48,8 @@ export const TuiRoute = new Hono() .post( "/response", describeRoute({ - description: "Submit a response to the TUI request queue", + summary: "Submit TUI response", + description: "Submit a response to the TUI request queue to complete a pending request.", operationId: "tui.control.response", responses: { 200: { diff --git a/packages/sdk/js/openapi.json b/packages/sdk/js/openapi.json index ff04e2183..f6c708ba5 100644 --- a/packages/sdk/js/openapi.json +++ b/packages/sdk/js/openapi.json @@ -37,6 +37,7 @@ } ], "description": "List all projects", + "summary": "List all projects", "responses": { "200": { "description": "List of projects", @@ -286,7 +287,10 @@ "type": "number" } }, - "required": ["rows", "cols"] + "required": [ + "rows", + "cols" + ] } } } @@ -1117,7 +1121,11 @@ "pattern": "^msg.*" } }, - "required": ["modelID", "providerID", "messageID"] + "required": [ + "modelID", + "providerID", + "messageID" + ] } } } @@ -1473,7 +1481,10 @@ "type": "string" } }, - "required": ["providerID", "modelID"] + "required": [ + "providerID", + "modelID" + ] } } } @@ -1529,7 +1540,10 @@ } } }, - "required": ["info", "parts"] + "required": [ + "info", + "parts" + ] } } } @@ -1596,7 +1610,10 @@ } } }, - "required": ["info", "parts"] + "required": [ + "info", + "parts" + ] } } } @@ -1642,7 +1659,10 @@ "type": "string" } }, - "required": ["providerID", "modelID"] + "required": [ + "providerID", + "modelID" + ] }, "agent": { "type": "string" @@ -1682,7 +1702,9 @@ } } }, - "required": ["parts"] + "required": [ + "parts" + ] } } } @@ -1738,7 +1760,10 @@ } } }, - "required": ["info", "parts"] + "required": [ + "info", + "parts" + ] } } } @@ -1833,7 +1858,10 @@ "type": "string" } }, - "required": ["providerID", "modelID"] + "required": [ + "providerID", + "modelID" + ] }, "agent": { "type": "string" @@ -1873,7 +1901,9 @@ } } }, - "required": ["parts"] + "required": [ + "parts" + ] } } } @@ -1920,7 +1950,10 @@ } } }, - "required": ["info", "parts"] + "required": [ + "info", + "parts" + ] } } } @@ -1969,7 +2002,10 @@ "type": "string" } }, - "required": ["arguments", "command"] + "required": [ + "arguments", + "command" + ] } } } @@ -2049,13 +2085,19 @@ "type": "string" } }, - "required": ["providerID", "modelID"] + "required": [ + "providerID", + "modelID" + ] }, "command": { "type": "string" } }, - "required": ["agent", "command"] + "required": [ + "agent", + "command" + ] } } } @@ -2130,7 +2172,9 @@ "pattern": "^prt.*" } }, - "required": ["messageID"] + "required": [ + "messageID" + ] } } } @@ -2261,10 +2305,16 @@ "properties": { "response": { "type": "string", - "enum": ["once", "always", "reject"] + "enum": [ + "once", + "always", + "reject" + ] } }, - "required": ["response"] + "required": [ + "response" + ] } } } @@ -2338,7 +2388,10 @@ } } }, - "required": ["providers", "default"] + "required": [ + "providers", + "default" + ] } } } @@ -2450,10 +2503,16 @@ "type": "number" } }, - "required": ["input", "output"] + "required": [ + "input", + "output" + ] } }, - "required": ["input", "output"] + "required": [ + "input", + "output" + ] }, "limit": { "type": "object", @@ -2465,7 +2524,10 @@ "type": "number" } }, - "required": ["context", "output"] + "required": [ + "context", + "output" + ] }, "modalities": { "type": "object", @@ -2474,25 +2536,44 @@ "type": "array", "items": { "type": "string", - "enum": ["text", "audio", "image", "video", "pdf"] + "enum": [ + "text", + "audio", + "image", + "video", + "pdf" + ] } }, "output": { "type": "array", "items": { "type": "string", - "enum": ["text", "audio", "image", "video", "pdf"] + "enum": [ + "text", + "audio", + "image", + "video", + "pdf" + ] } } }, - "required": ["input", "output"] + "required": [ + "input", + "output" + ] }, "experimental": { "type": "boolean" }, "status": { "type": "string", - "enum": ["alpha", "beta", "deprecated"] + "enum": [ + "alpha", + "beta", + "deprecated" + ] }, "options": { "type": "object", @@ -2517,7 +2598,9 @@ "type": "string" } }, - "required": ["npm"] + "required": [ + "npm" + ] } }, "required": [ @@ -2534,7 +2617,12 @@ } } }, - "required": ["name", "env", "id", "models"] + "required": [ + "name", + "env", + "id", + "models" + ] } }, "default": { @@ -2553,7 +2641,11 @@ } } }, - "required": ["all", "default", "connected"] + "required": [ + "all", + "default", + "connected" + ] } } } @@ -2652,7 +2744,9 @@ "type": "number" } }, - "required": ["method"] + "required": [ + "method" + ] } } } @@ -2718,7 +2812,9 @@ "type": "string" } }, - "required": ["method"] + "required": [ + "method" + ] } } } @@ -2763,7 +2859,9 @@ "type": "string" } }, - "required": ["text"] + "required": [ + "text" + ] }, "lines": { "type": "object", @@ -2772,7 +2870,9 @@ "type": "string" } }, - "required": ["text"] + "required": [ + "text" + ] }, "line_number": { "type": "number" @@ -2792,7 +2892,9 @@ "type": "string" } }, - "required": ["text"] + "required": [ + "text" + ] }, "start": { "type": "number" @@ -2801,11 +2903,21 @@ "type": "number" } }, - "required": ["match", "start", "end"] + "required": [ + "match", + "start", + "end" + ] } } }, - "required": ["path", "lines", "line_number", "absolute_offset", "submatches"] + "required": [ + "path", + "lines", + "line_number", + "absolute_offset", + "submatches" + ] } } } @@ -2838,7 +2950,10 @@ "name": "dirs", "schema": { "type": "string", - "enum": ["true", "false"] + "enum": [ + "true", + "false" + ] } } ], @@ -3049,7 +3164,12 @@ "level": { "description": "Log level", "type": "string", - "enum": ["debug", "info", "error", "warn"] + "enum": [ + "debug", + "info", + "error", + "warn" + ] }, "message": { "description": "Log message", @@ -3064,7 +3184,11 @@ "additionalProperties": {} } }, - "required": ["service", "level", "message"] + "required": [ + "service", + "level", + "message" + ] } } } @@ -3193,7 +3317,10 @@ ] } }, - "required": ["name", "config"] + "required": [ + "name", + "config" + ] } } } @@ -3234,7 +3361,9 @@ "type": "string" } }, - "required": ["authorizationUrl"] + "required": [ + "authorizationUrl" + ] } } } @@ -3294,7 +3423,9 @@ "const": true } }, - "required": ["success"] + "required": [ + "success" + ] } } } @@ -3376,7 +3507,9 @@ "type": "string" } }, - "required": ["code"] + "required": [ + "code" + ] } } } @@ -3543,7 +3676,9 @@ "type": "string" } }, - "required": ["text"] + "required": [ + "text" + ] } } } @@ -3757,7 +3892,9 @@ "type": "string" } }, - "required": ["command"] + "required": [ + "command" + ] } } } @@ -3803,7 +3940,12 @@ }, "variant": { "type": "string", - "enum": ["info", "success", "warning", "error"] + "enum": [ + "info", + "success", + "warning", + "error" + ] }, "duration": { "description": "Duration in milliseconds", @@ -3811,7 +3953,10 @@ "type": "number" } }, - "required": ["message", "variant"] + "required": [ + "message", + "variant" + ] } } } @@ -3900,7 +4045,10 @@ }, "body": {} }, - "required": ["path", "body"] + "required": [ + "path", + "body" + ] } } } @@ -4040,10 +4188,15 @@ "type": "string" } }, - "required": ["directory"] + "required": [ + "directory" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.installation.updated": { "type": "object", @@ -4059,10 +4212,15 @@ "type": "string" } }, - "required": ["version"] + "required": [ + "version" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.installation.update-available": { "type": "object", @@ -4078,10 +4236,15 @@ "type": "string" } }, - "required": ["version"] + "required": [ + "version" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.lsp.client.diagnostics": { "type": "object", @@ -4100,10 +4263,16 @@ "type": "string" } }, - "required": ["serverID", "path"] + "required": [ + "serverID", + "path" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.lsp.updated": { "type": "object", @@ -4117,7 +4286,10 @@ "properties": {} } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "FileDiff": { "type": "object", @@ -4138,7 +4310,13 @@ "type": "number" } }, - "required": ["file", "before", "after", "additions", "deletions"] + "required": [ + "file", + "before", + "after", + "additions", + "deletions" + ] }, "UserMessage": { "type": "object", @@ -4160,7 +4338,9 @@ "type": "number" } }, - "required": ["created"] + "required": [ + "created" + ] }, "summary": { "type": "object", @@ -4178,7 +4358,9 @@ } } }, - "required": ["diffs"] + "required": [ + "diffs" + ] }, "agent": { "type": "string" @@ -4193,7 +4375,10 @@ "type": "string" } }, - "required": ["providerID", "modelID"] + "required": [ + "providerID", + "modelID" + ] }, "system": { "type": "string" @@ -4208,7 +4393,14 @@ } } }, - "required": ["id", "sessionID", "role", "time", "agent", "model"] + "required": [ + "id", + "sessionID", + "role", + "time", + "agent", + "model" + ] }, "ProviderAuthError": { "type": "object", @@ -4227,10 +4419,16 @@ "type": "string" } }, - "required": ["providerID", "message"] + "required": [ + "providerID", + "message" + ] } }, - "required": ["name", "data"] + "required": [ + "name", + "data" + ] }, "UnknownError": { "type": "object", @@ -4246,10 +4444,15 @@ "type": "string" } }, - "required": ["message"] + "required": [ + "message" + ] } }, - "required": ["name", "data"] + "required": [ + "name", + "data" + ] }, "MessageOutputLengthError": { "type": "object", @@ -4263,7 +4466,10 @@ "properties": {} } }, - "required": ["name", "data"] + "required": [ + "name", + "data" + ] }, "MessageAbortedError": { "type": "object", @@ -4279,10 +4485,15 @@ "type": "string" } }, - "required": ["message"] + "required": [ + "message" + ] } }, - "required": ["name", "data"] + "required": [ + "name", + "data" + ] }, "APIError": { "type": "object", @@ -4316,10 +4527,16 @@ "type": "string" } }, - "required": ["message", "isRetryable"] + "required": [ + "message", + "isRetryable" + ] } }, - "required": ["name", "data"] + "required": [ + "name", + "data" + ] }, "AssistantMessage": { "type": "object", @@ -4344,7 +4561,9 @@ "type": "number" } }, - "required": ["created"] + "required": [ + "created" + ] }, "error": { "anyOf": [ @@ -4387,7 +4606,10 @@ "type": "string" } }, - "required": ["cwd", "root"] + "required": [ + "cwd", + "root" + ] }, "summary": { "type": "boolean" @@ -4417,10 +4639,18 @@ "type": "number" } }, - "required": ["read", "write"] + "required": [ + "read", + "write" + ] } }, - "required": ["input", "output", "reasoning", "cache"] + "required": [ + "input", + "output", + "reasoning", + "cache" + ] }, "finish": { "type": "string" @@ -4464,10 +4694,15 @@ "$ref": "#/components/schemas/Message" } }, - "required": ["info"] + "required": [ + "info" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.message.removed": { "type": "object", @@ -4486,10 +4721,16 @@ "type": "string" } }, - "required": ["sessionID", "messageID"] + "required": [ + "sessionID", + "messageID" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "TextPart": { "type": "object", @@ -4526,7 +4767,9 @@ "type": "number" } }, - "required": ["start"] + "required": [ + "start" + ] }, "metadata": { "type": "object", @@ -4536,7 +4779,13 @@ "additionalProperties": {} } }, - "required": ["id", "sessionID", "messageID", "type", "text"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "text" + ] }, "ReasoningPart": { "type": "object", @@ -4574,10 +4823,19 @@ "type": "number" } }, - "required": ["start"] + "required": [ + "start" + ] } }, - "required": ["id", "sessionID", "messageID", "type", "text", "time"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "text", + "time" + ] }, "FilePartSourceText": { "type": "object", @@ -4596,7 +4854,11 @@ "maximum": 9007199254740991 } }, - "required": ["value", "start", "end"] + "required": [ + "value", + "start", + "end" + ] }, "FileSource": { "type": "object", @@ -4612,7 +4874,11 @@ "type": "string" } }, - "required": ["text", "type", "path"] + "required": [ + "text", + "type", + "path" + ] }, "Range": { "type": "object", @@ -4627,7 +4893,10 @@ "type": "number" } }, - "required": ["line", "character"] + "required": [ + "line", + "character" + ] }, "end": { "type": "object", @@ -4639,10 +4908,16 @@ "type": "number" } }, - "required": ["line", "character"] + "required": [ + "line", + "character" + ] } }, - "required": ["start", "end"] + "required": [ + "start", + "end" + ] }, "SymbolSource": { "type": "object", @@ -4669,7 +4944,14 @@ "maximum": 9007199254740991 } }, - "required": ["text", "type", "path", "range", "name", "kind"] + "required": [ + "text", + "type", + "path", + "range", + "name", + "kind" + ] }, "FilePartSource": { "anyOf": [ @@ -4710,7 +4992,14 @@ "$ref": "#/components/schemas/FilePartSource" } }, - "required": ["id", "sessionID", "messageID", "type", "mime", "url"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "mime", + "url" + ] }, "ToolStatePending": { "type": "object", @@ -4730,7 +5019,11 @@ "type": "string" } }, - "required": ["status", "input", "raw"] + "required": [ + "status", + "input", + "raw" + ] }, "ToolStateRunning": { "type": "object", @@ -4763,10 +5056,16 @@ "type": "number" } }, - "required": ["start"] + "required": [ + "start" + ] } }, - "required": ["status", "input", "time"] + "required": [ + "status", + "input", + "time" + ] }, "ToolStateCompleted": { "type": "object", @@ -4808,7 +5107,10 @@ "type": "number" } }, - "required": ["start", "end"] + "required": [ + "start", + "end" + ] }, "attachments": { "type": "array", @@ -4817,7 +5119,14 @@ } } }, - "required": ["status", "input", "output", "title", "metadata", "time"] + "required": [ + "status", + "input", + "output", + "title", + "metadata", + "time" + ] }, "ToolStateError": { "type": "object", @@ -4853,10 +5162,18 @@ "type": "number" } }, - "required": ["start", "end"] + "required": [ + "start", + "end" + ] } }, - "required": ["status", "input", "error", "time"] + "required": [ + "status", + "input", + "error", + "time" + ] }, "ToolState": { "anyOf": [ @@ -4907,7 +5224,15 @@ "additionalProperties": {} } }, - "required": ["id", "sessionID", "messageID", "type", "callID", "tool", "state"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "callID", + "tool", + "state" + ] }, "StepStartPart": { "type": "object", @@ -4929,7 +5254,12 @@ "type": "string" } }, - "required": ["id", "sessionID", "messageID", "type"] + "required": [ + "id", + "sessionID", + "messageID", + "type" + ] }, "StepFinishPart": { "type": "object", @@ -4978,13 +5308,29 @@ "type": "number" } }, - "required": ["read", "write"] + "required": [ + "read", + "write" + ] } }, - "required": ["input", "output", "reasoning", "cache"] + "required": [ + "input", + "output", + "reasoning", + "cache" + ] } }, - "required": ["id", "sessionID", "messageID", "type", "reason", "cost", "tokens"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "reason", + "cost", + "tokens" + ] }, "SnapshotPart": { "type": "object", @@ -5006,7 +5352,13 @@ "type": "string" } }, - "required": ["id", "sessionID", "messageID", "type", "snapshot"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "snapshot" + ] }, "PatchPart": { "type": "object", @@ -5034,7 +5386,14 @@ } } }, - "required": ["id", "sessionID", "messageID", "type", "hash", "files"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "hash", + "files" + ] }, "AgentPart": { "type": "object", @@ -5072,10 +5431,20 @@ "maximum": 9007199254740991 } }, - "required": ["value", "start", "end"] + "required": [ + "value", + "start", + "end" + ] } }, - "required": ["id", "sessionID", "messageID", "type", "name"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "name" + ] }, "RetryPart": { "type": "object", @@ -5106,10 +5475,20 @@ "type": "number" } }, - "required": ["created"] + "required": [ + "created" + ] } }, - "required": ["id", "sessionID", "messageID", "type", "attempt", "error", "time"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "attempt", + "error", + "time" + ] }, "CompactionPart": { "type": "object", @@ -5131,7 +5510,13 @@ "type": "boolean" } }, - "required": ["id", "sessionID", "messageID", "type", "auto"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "auto" + ] }, "Part": { "anyOf": [ @@ -5164,7 +5549,15 @@ "type": "string" } }, - "required": ["id", "sessionID", "messageID", "type", "prompt", "description", "agent"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "prompt", + "description", + "agent" + ] }, { "$ref": "#/components/schemas/ReasoningPart" @@ -5215,10 +5608,15 @@ "type": "string" } }, - "required": ["part"] + "required": [ + "part" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.message.part.removed": { "type": "object", @@ -5240,10 +5638,17 @@ "type": "string" } }, - "required": ["sessionID", "messageID", "partID"] + "required": [ + "sessionID", + "messageID", + "partID" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Permission": { "type": "object", @@ -5293,10 +5698,20 @@ "type": "number" } }, - "required": ["created"] + "required": [ + "created" + ] } }, - "required": ["id", "type", "sessionID", "messageID", "title", "metadata", "time"] + "required": [ + "id", + "type", + "sessionID", + "messageID", + "title", + "metadata", + "time" + ] }, "Event.permission.updated": { "type": "object", @@ -5309,7 +5724,10 @@ "$ref": "#/components/schemas/Permission" } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.permission.replied": { "type": "object", @@ -5331,10 +5749,17 @@ "type": "string" } }, - "required": ["sessionID", "permissionID", "response"] + "required": [ + "sessionID", + "permissionID", + "response" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "SessionStatus": { "anyOf": [ @@ -5346,7 +5771,9 @@ "const": "idle" } }, - "required": ["type"] + "required": [ + "type" + ] }, { "type": "object", @@ -5365,7 +5792,12 @@ "type": "number" } }, - "required": ["type", "attempt", "message", "next"] + "required": [ + "type", + "attempt", + "message", + "next" + ] }, { "type": "object", @@ -5375,7 +5807,9 @@ "const": "busy" } }, - "required": ["type"] + "required": [ + "type" + ] } ] }, @@ -5396,10 +5830,16 @@ "$ref": "#/components/schemas/SessionStatus" } }, - "required": ["sessionID", "status"] + "required": [ + "sessionID", + "status" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.session.idle": { "type": "object", @@ -5415,10 +5855,15 @@ "type": "string" } }, - "required": ["sessionID"] + "required": [ + "sessionID" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.session.compacted": { "type": "object", @@ -5434,10 +5879,15 @@ "type": "string" } }, - "required": ["sessionID"] + "required": [ + "sessionID" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.file.edited": { "type": "object", @@ -5453,10 +5903,15 @@ "type": "string" } }, - "required": ["file"] + "required": [ + "file" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Todo": { "type": "object", @@ -5478,7 +5933,12 @@ "type": "string" } }, - "required": ["content", "status", "priority", "id"] + "required": [ + "content", + "status", + "priority", + "id" + ] }, "Event.todo.updated": { "type": "object", @@ -5500,10 +5960,16 @@ } } }, - "required": ["sessionID", "todos"] + "required": [ + "sessionID", + "todos" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.command.executed": { "type": "object", @@ -5530,10 +5996,18 @@ "pattern": "^msg.*" } }, - "required": ["name", "sessionID", "arguments", "messageID"] + "required": [ + "name", + "sessionID", + "arguments", + "messageID" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Session": { "type": "object", @@ -5571,7 +6045,11 @@ } } }, - "required": ["additions", "deletions", "files"] + "required": [ + "additions", + "deletions", + "files" + ] }, "share": { "type": "object", @@ -5580,7 +6058,9 @@ "type": "string" } }, - "required": ["url"] + "required": [ + "url" + ] }, "title": { "type": "string" @@ -5601,7 +6081,10 @@ "type": "number" } }, - "required": ["created", "updated"] + "required": [ + "created", + "updated" + ] }, "revert": { "type": "object", @@ -5619,10 +6102,19 @@ "type": "string" } }, - "required": ["messageID"] + "required": [ + "messageID" + ] } }, - "required": ["id", "projectID", "directory", "title", "version", "time"] + "required": [ + "id", + "projectID", + "directory", + "title", + "version", + "time" + ] }, "Event.session.created": { "type": "object", @@ -5638,10 +6130,15 @@ "$ref": "#/components/schemas/Session" } }, - "required": ["info"] + "required": [ + "info" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.session.updated": { "type": "object", @@ -5657,10 +6154,15 @@ "$ref": "#/components/schemas/Session" } }, - "required": ["info"] + "required": [ + "info" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.session.deleted": { "type": "object", @@ -5676,10 +6178,15 @@ "$ref": "#/components/schemas/Session" } }, - "required": ["info"] + "required": [ + "info" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.session.diff": { "type": "object", @@ -5701,10 +6208,16 @@ } } }, - "required": ["sessionID", "diff"] + "required": [ + "sessionID", + "diff" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.session.error": { "type": "object", @@ -5741,7 +6254,10 @@ } } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.file.watcher.updated": { "type": "object", @@ -5773,10 +6289,16 @@ ] } }, - "required": ["file", "event"] + "required": [ + "file", + "event" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.vcs.branch.updated": { "type": "object", @@ -5794,7 +6316,10 @@ } } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.tui.prompt.append": { "type": "object", @@ -5810,10 +6335,15 @@ "type": "string" } }, - "required": ["text"] + "required": [ + "text" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.tui.command.execute": { "type": "object", @@ -5852,10 +6382,15 @@ ] } }, - "required": ["command"] + "required": [ + "command" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.tui.toast.show": { "type": "object", @@ -5875,7 +6410,12 @@ }, "variant": { "type": "string", - "enum": ["info", "success", "warning", "error"] + "enum": [ + "info", + "success", + "warning", + "error" + ] }, "duration": { "description": "Duration in milliseconds", @@ -5883,10 +6423,16 @@ "type": "number" } }, - "required": ["message", "variant"] + "required": [ + "message", + "variant" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Pty": { "type": "object", @@ -5912,13 +6458,24 @@ }, "status": { "type": "string", - "enum": ["running", "exited"] + "enum": [ + "running", + "exited" + ] }, "pid": { "type": "number" } }, - "required": ["id", "title", "command", "args", "cwd", "status", "pid"] + "required": [ + "id", + "title", + "command", + "args", + "cwd", + "status", + "pid" + ] }, "Event.pty.created": { "type": "object", @@ -5934,10 +6491,15 @@ "$ref": "#/components/schemas/Pty" } }, - "required": ["info"] + "required": [ + "info" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.pty.updated": { "type": "object", @@ -5953,10 +6515,15 @@ "$ref": "#/components/schemas/Pty" } }, - "required": ["info"] + "required": [ + "info" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.pty.exited": { "type": "object", @@ -5976,10 +6543,16 @@ "type": "number" } }, - "required": ["id", "exitCode"] + "required": [ + "id", + "exitCode" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.pty.deleted": { "type": "object", @@ -5996,10 +6569,15 @@ "pattern": "^pty.*" } }, - "required": ["id"] + "required": [ + "id" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.server.connected": { "type": "object", @@ -6013,7 +6591,10 @@ "properties": {} } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event": { "anyOf": [ @@ -6125,7 +6706,10 @@ "$ref": "#/components/schemas/Event" } }, - "required": ["directory", "payload"] + "required": [ + "directory", + "payload" + ] }, "Project": { "type": "object", @@ -6153,10 +6737,16 @@ "type": "number" } }, - "required": ["created"] + "required": [ + "created" + ] } }, - "required": ["id", "worktree", "time"] + "required": [ + "id", + "worktree", + "time" + ] }, "BadRequestError": { "type": "object", @@ -6177,7 +6767,11 @@ "const": false } }, - "required": ["data", "errors", "success"] + "required": [ + "data", + "errors", + "success" + ] }, "NotFoundError": { "type": "object", @@ -6193,10 +6787,15 @@ "type": "string" } }, - "required": ["message"] + "required": [ + "message" + ] } }, - "required": ["name", "data"] + "required": [ + "name", + "data" + ] }, "KeybindsConfig": { "description": "Custom keybind configurations", @@ -6463,7 +7062,11 @@ }, "mode": { "type": "string", - "enum": ["subagent", "primary", "all"] + "enum": [ + "subagent", + "primary", + "all" + ] }, "color": { "description": "Hex color code for the agent (e.g., #FF5733)", @@ -6481,13 +7084,21 @@ "properties": { "edit": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "bash": { "anyOf": [ { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, { "type": "object", @@ -6496,22 +7107,38 @@ }, "additionalProperties": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] } } ] }, "webfetch": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "doom_loop": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "external_directory": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] } } } @@ -6599,10 +7226,16 @@ "type": "number" } }, - "required": ["input", "output"] + "required": [ + "input", + "output" + ] } }, - "required": ["input", "output"] + "required": [ + "input", + "output" + ] }, "limit": { "type": "object", @@ -6614,7 +7247,10 @@ "type": "number" } }, - "required": ["context", "output"] + "required": [ + "context", + "output" + ] }, "modalities": { "type": "object", @@ -6623,25 +7259,44 @@ "type": "array", "items": { "type": "string", - "enum": ["text", "audio", "image", "video", "pdf"] + "enum": [ + "text", + "audio", + "image", + "video", + "pdf" + ] } }, "output": { "type": "array", "items": { "type": "string", - "enum": ["text", "audio", "image", "video", "pdf"] + "enum": [ + "text", + "audio", + "image", + "video", + "pdf" + ] } } }, - "required": ["input", "output"] + "required": [ + "input", + "output" + ] }, "experimental": { "type": "boolean" }, "status": { "type": "string", - "enum": ["alpha", "beta", "deprecated"] + "enum": [ + "alpha", + "beta", + "deprecated" + ] }, "options": { "type": "object", @@ -6666,7 +7321,9 @@ "type": "string" } }, - "required": ["npm"] + "required": [ + "npm" + ] } } } @@ -6758,7 +7415,10 @@ "maximum": 9007199254740991 } }, - "required": ["type", "command"], + "required": [ + "type", + "command" + ], "additionalProperties": false }, "McpOAuthConfig": { @@ -6824,13 +7484,19 @@ "maximum": 9007199254740991 } }, - "required": ["type", "url"], + "required": [ + "type", + "url" + ], "additionalProperties": false }, "LayoutConfig": { "description": "@deprecated Always uses stretch layout.", "type": "string", - "enum": ["auto", "stretch"] + "enum": [ + "auto", + "stretch" + ] }, "Config": { "type": "object", @@ -6864,12 +7530,17 @@ "type": "boolean" } }, - "required": ["enabled"] + "required": [ + "enabled" + ] }, "diff_style": { "description": "Control diff rendering style: 'auto' adapts to terminal width, 'stacked' always shows single column", "type": "string", - "enum": ["auto", "stacked"] + "enum": [ + "auto", + "stacked" + ] } } }, @@ -6898,7 +7569,9 @@ "type": "boolean" } }, - "required": ["template"] + "required": [ + "template" + ] } }, "watcher": { @@ -6924,7 +7597,11 @@ "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"] + "enum": [ + "manual", + "auto", + "disabled" + ] }, "autoshare": { "description": "@deprecated Use 'share' field instead. Share newly created sessions automatically", @@ -7095,7 +7772,9 @@ "const": true } }, - "required": ["disabled"] + "required": [ + "disabled" + ] }, { "type": "object", @@ -7132,7 +7811,9 @@ "additionalProperties": {} } }, - "required": ["command"] + "required": [ + "command" + ] } ] } @@ -7154,13 +7835,21 @@ "properties": { "edit": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "bash": { "anyOf": [ { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, { "type": "object", @@ -7169,22 +7858,38 @@ }, "additionalProperties": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] } } ] }, "webfetch": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "doom_loop": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "external_directory": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] } } }, @@ -7238,7 +7943,9 @@ } } }, - "required": ["command"] + "required": [ + "command" + ] } } }, @@ -7263,7 +7970,9 @@ } } }, - "required": ["command"] + "required": [ + "command" + ] } } } @@ -7312,7 +8021,11 @@ }, "parameters": {} }, - "required": ["id", "description", "parameters"] + "required": [ + "id", + "description", + "parameters" + ] }, "ToolList": { "type": "array", @@ -7336,7 +8049,12 @@ "type": "string" } }, - "required": ["state", "config", "worktree", "directory"] + "required": [ + "state", + "config", + "worktree", + "directory" + ] }, "VcsInfo": { "type": "object", @@ -7345,7 +8063,9 @@ "type": "string" } }, - "required": ["branch"] + "required": [ + "branch" + ] }, "TextPartInput": { "type": "object", @@ -7376,7 +8096,9 @@ "type": "number" } }, - "required": ["start"] + "required": [ + "start" + ] }, "metadata": { "type": "object", @@ -7386,7 +8108,10 @@ "additionalProperties": {} } }, - "required": ["type", "text"] + "required": [ + "type", + "text" + ] }, "FilePartInput": { "type": "object", @@ -7411,7 +8136,11 @@ "$ref": "#/components/schemas/FilePartSource" } }, - "required": ["type", "mime", "url"] + "required": [ + "type", + "mime", + "url" + ] }, "AgentPartInput": { "type": "object", @@ -7443,10 +8172,17 @@ "maximum": 9007199254740991 } }, - "required": ["value", "start", "end"] + "required": [ + "value", + "start", + "end" + ] } }, - "required": ["type", "name"] + "required": [ + "type", + "name" + ] }, "SubtaskPartInput": { "type": "object", @@ -7468,7 +8204,12 @@ "type": "string" } }, - "required": ["type", "prompt", "description", "agent"] + "required": [ + "type", + "prompt", + "description", + "agent" + ] }, "Command": { "type": "object", @@ -7492,7 +8233,10 @@ "type": "boolean" } }, - "required": ["name", "template"] + "required": [ + "name", + "template" + ] }, "Model": { "type": "object", @@ -7516,7 +8260,11 @@ "type": "string" } }, - "required": ["id", "url", "npm"] + "required": [ + "id", + "url", + "npm" + ] }, "name": { "type": "string" @@ -7555,7 +8303,13 @@ "type": "boolean" } }, - "required": ["text", "audio", "image", "video", "pdf"] + "required": [ + "text", + "audio", + "image", + "video", + "pdf" + ] }, "output": { "type": "object", @@ -7576,10 +8330,23 @@ "type": "boolean" } }, - "required": ["text", "audio", "image", "video", "pdf"] + "required": [ + "text", + "audio", + "image", + "video", + "pdf" + ] } }, - "required": ["temperature", "reasoning", "attachment", "toolcall", "input", "output"] + "required": [ + "temperature", + "reasoning", + "attachment", + "toolcall", + "input", + "output" + ] }, "cost": { "type": "object", @@ -7600,7 +8367,10 @@ "type": "number" } }, - "required": ["read", "write"] + "required": [ + "read", + "write" + ] }, "experimentalOver200K": { "type": "object", @@ -7621,13 +8391,24 @@ "type": "number" } }, - "required": ["read", "write"] + "required": [ + "read", + "write" + ] } }, - "required": ["input", "output", "cache"] + "required": [ + "input", + "output", + "cache" + ] } }, - "required": ["input", "output", "cache"] + "required": [ + "input", + "output", + "cache" + ] }, "limit": { "type": "object", @@ -7639,11 +8420,19 @@ "type": "number" } }, - "required": ["context", "output"] + "required": [ + "context", + "output" + ] }, "status": { "type": "string", - "enum": ["alpha", "beta", "deprecated", "active"] + "enum": [ + "alpha", + "beta", + "deprecated", + "active" + ] }, "options": { "type": "object", @@ -7662,7 +8451,18 @@ } } }, - "required": ["id", "providerID", "api", "name", "capabilities", "cost", "limit", "status", "options", "headers"] + "required": [ + "id", + "providerID", + "api", + "name", + "capabilities", + "cost", + "limit", + "status", + "options", + "headers" + ] }, "Provider": { "type": "object", @@ -7675,7 +8475,12 @@ }, "source": { "type": "string", - "enum": ["env", "config", "custom", "api"] + "enum": [ + "env", + "config", + "custom", + "api" + ] }, "env": { "type": "array", @@ -7703,7 +8508,14 @@ } } }, - "required": ["id", "name", "source", "env", "options", "models"] + "required": [ + "id", + "name", + "source", + "env", + "options", + "models" + ] }, "ProviderAuthMethod": { "type": "object", @@ -7724,7 +8536,10 @@ "type": "string" } }, - "required": ["type", "label"] + "required": [ + "type", + "label" + ] }, "ProviderAuthAuthorization": { "type": "object", @@ -7748,7 +8563,11 @@ "type": "string" } }, - "required": ["url", "method", "instructions"] + "required": [ + "url", + "method", + "instructions" + ] }, "Symbol": { "type": "object", @@ -7769,10 +8588,17 @@ "$ref": "#/components/schemas/Range" } }, - "required": ["uri", "range"] + "required": [ + "uri", + "range" + ] } }, - "required": ["name", "kind", "location"] + "required": [ + "name", + "kind", + "location" + ] }, "FileNode": { "type": "object", @@ -7788,13 +8614,22 @@ }, "type": { "type": "string", - "enum": ["file", "directory"] + "enum": [ + "file", + "directory" + ] }, "ignored": { "type": "boolean" } }, - "required": ["name", "path", "absolute", "type", "ignored"] + "required": [ + "name", + "path", + "absolute", + "type", + "ignored" + ] }, "FileContent": { "type": "object", @@ -7848,14 +8683,24 @@ } } }, - "required": ["oldStart", "oldLines", "newStart", "newLines", "lines"] + "required": [ + "oldStart", + "oldLines", + "newStart", + "newLines", + "lines" + ] } }, "index": { "type": "string" } }, - "required": ["oldFileName", "newFileName", "hunks"] + "required": [ + "oldFileName", + "newFileName", + "hunks" + ] }, "encoding": { "type": "string", @@ -7865,7 +8710,10 @@ "type": "string" } }, - "required": ["type", "content"] + "required": [ + "type", + "content" + ] }, "File": { "type": "object", @@ -7885,10 +8733,19 @@ }, "status": { "type": "string", - "enum": ["added", "deleted", "modified"] + "enum": [ + "added", + "deleted", + "modified" + ] } }, - "required": ["path", "added", "removed", "status"] + "required": [ + "path", + "added", + "removed", + "status" + ] }, "Agent": { "type": "object", @@ -7901,7 +8758,11 @@ }, "mode": { "type": "string", - "enum": ["subagent", "primary", "all"] + "enum": [ + "subagent", + "primary", + "all" + ] }, "builtIn": { "type": "boolean" @@ -7920,7 +8781,11 @@ "properties": { "edit": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "bash": { "type": "object", @@ -7929,23 +8794,42 @@ }, "additionalProperties": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] } }, "webfetch": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "doom_loop": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "external_directory": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] } }, - "required": ["edit", "bash"] + "required": [ + "edit", + "bash" + ] }, "model": { "type": "object", @@ -7957,7 +8841,10 @@ "type": "string" } }, - "required": ["modelID", "providerID"] + "required": [ + "modelID", + "providerID" + ] }, "prompt": { "type": "string" @@ -7984,7 +8871,14 @@ "maximum": 9007199254740991 } }, - "required": ["name", "mode", "builtIn", "permission", "tools", "options"] + "required": [ + "name", + "mode", + "builtIn", + "permission", + "tools", + "options" + ] }, "MCPStatusConnected": { "type": "object", @@ -7994,7 +8888,9 @@ "const": "connected" } }, - "required": ["status"] + "required": [ + "status" + ] }, "MCPStatusDisabled": { "type": "object", @@ -8004,7 +8900,9 @@ "const": "disabled" } }, - "required": ["status"] + "required": [ + "status" + ] }, "MCPStatusFailed": { "type": "object", @@ -8017,7 +8915,10 @@ "type": "string" } }, - "required": ["status", "error"] + "required": [ + "status", + "error" + ] }, "MCPStatusNeedsAuth": { "type": "object", @@ -8027,7 +8928,9 @@ "const": "needs_auth" } }, - "required": ["status"] + "required": [ + "status" + ] }, "MCPStatusNeedsClientRegistration": { "type": "object", @@ -8040,7 +8943,10 @@ "type": "string" } }, - "required": ["status", "error"] + "required": [ + "status", + "error" + ] }, "MCPStatus": { "anyOf": [ @@ -8086,7 +8992,12 @@ ] } }, - "required": ["id", "name", "root", "status"] + "required": [ + "id", + "name", + "root", + "status" + ] }, "FormatterStatus": { "type": "object", @@ -8104,7 +9015,11 @@ "type": "boolean" } }, - "required": ["name", "extensions", "enabled"] + "required": [ + "name", + "extensions", + "enabled" + ] }, "OAuth": { "type": "object", @@ -8126,7 +9041,12 @@ "type": "string" } }, - "required": ["type", "refresh", "access", "expires"] + "required": [ + "type", + "refresh", + "access", + "expires" + ] }, "ApiAuth": { "type": "object", @@ -8139,7 +9059,10 @@ "type": "string" } }, - "required": ["type", "key"] + "required": [ + "type", + "key" + ] }, "WellKnownAuth": { "type": "object", @@ -8155,7 +9078,11 @@ "type": "string" } }, - "required": ["type", "key", "token"] + "required": [ + "type", + "key", + "token" + ] }, "Auth": { "anyOf": [ @@ -8172,4 +9099,4 @@ } } } -} +} \ No newline at end of file diff --git a/packages/sdk/js/src/v2/gen/sdk.gen.ts b/packages/sdk/js/src/v2/gen/sdk.gen.ts index caf6c9d00..4cfd6261e 100644 --- a/packages/sdk/js/src/v2/gen/sdk.gen.ts +++ b/packages/sdk/js/src/v2/gen/sdk.gen.ts @@ -191,6 +191,8 @@ export class Global extends HeyApiClient { export class Project extends HeyApiClient { /** + * List all projects + * * List all projects */ public list( diff --git a/packages/sdk/openapi.json b/packages/sdk/openapi.json index ff04e2183..54f0c8795 100644 --- a/packages/sdk/openapi.json +++ b/packages/sdk/openapi.json @@ -9,7 +9,8 @@ "/global/event": { "get": { "operationId": "global.event", - "description": "Get events", + "summary": "Get global events", + "description": "Subscribe to global events from the OpenCode system using server-sent events.", "responses": { "200": { "description": "Event stream", @@ -21,7 +22,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.global.event({\n ...\n})" + } + ] } }, "/project": { @@ -36,7 +43,8 @@ } } ], - "description": "List all projects", + "summary": "List all projects", + "description": "Get a list of projects that have been opened with OpenCode.", "responses": { "200": { "description": "List of projects", @@ -51,7 +59,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.project.list({\n ...\n})" + } + ] } }, "/project/current": { @@ -66,10 +80,11 @@ } } ], - "description": "Get the current project", + "summary": "Get current project", + "description": "Retrieve the currently active project that OpenCode is working with.", "responses": { "200": { - "description": "Current project", + "description": "Current project information", "content": { "application/json": { "schema": { @@ -78,7 +93,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.project.current({\n ...\n})" + } + ] } }, "/pty": { @@ -93,7 +114,8 @@ } } ], - "description": "List all PTY sessions", + "summary": "List PTY sessions", + "description": "Get a list of all active pseudo-terminal (PTY) sessions managed by OpenCode.", "responses": { "200": { "description": "List of sessions", @@ -108,7 +130,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.list({\n ...\n})" + } + ] }, "post": { "operationId": "pty.create", @@ -121,7 +149,8 @@ } } ], - "description": "Create a new PTY session", + "summary": "Create PTY session", + "description": "Create a new pseudo-terminal (PTY) session for running shell commands and processes.", "responses": { "200": { "description": "Created session", @@ -178,7 +207,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.create({\n ...\n})" + } + ] } }, "/pty/{ptyID}": { @@ -201,7 +236,8 @@ "required": true } ], - "description": "Get PTY session info", + "summary": "Get PTY session", + "description": "Retrieve detailed information about a specific pseudo-terminal (PTY) session.", "responses": { "200": { "description": "Session info", @@ -223,7 +259,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.get({\n ...\n})" + } + ] }, "put": { "operationId": "pty.update", @@ -244,7 +286,8 @@ "required": true } ], - "description": "Update PTY session", + "summary": "Update PTY session", + "description": "Update properties of an existing pseudo-terminal (PTY) session.", "responses": { "200": { "description": "Updated session", @@ -286,13 +329,22 @@ "type": "number" } }, - "required": ["rows", "cols"] + "required": [ + "rows", + "cols" + ] } } } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.update({\n ...\n})" + } + ] }, "delete": { "operationId": "pty.remove", @@ -313,7 +365,8 @@ "required": true } ], - "description": "Remove a PTY session", + "summary": "Remove PTY session", + "description": "Remove and terminate a specific pseudo-terminal (PTY) session.", "responses": { "200": { "description": "Session removed", @@ -335,7 +388,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.remove({\n ...\n})" + } + ] } }, "/pty/{ptyID}/connect": { @@ -358,7 +417,8 @@ "required": true } ], - "description": "Connect to a PTY session", + "summary": "Connect to PTY session", + "description": "Establish a WebSocket connection to interact with a pseudo-terminal (PTY) session in real-time.", "responses": { "200": { "description": "Connected session", @@ -380,7 +440,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.pty.connect({\n ...\n})" + } + ] } }, "/config": { @@ -395,7 +461,8 @@ } } ], - "description": "Get config info", + "summary": "Get configuration", + "description": "Retrieve the current OpenCode configuration settings and preferences.", "responses": { "200": { "description": "Get config info", @@ -407,7 +474,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.config.get({\n ...\n})" + } + ] }, "patch": { "operationId": "config.update", @@ -420,7 +493,8 @@ } } ], - "description": "Update config", + "summary": "Update configuration", + "description": "Update OpenCode configuration settings and preferences.", "responses": { "200": { "description": "Successfully updated config", @@ -451,7 +525,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.config.update({\n ...\n})" + } + ] } }, "/experimental/tool/ids": { @@ -466,7 +546,8 @@ } } ], - "description": "List all tool IDs (including built-in and dynamically registered)", + "summary": "List tool IDs", + "description": "Get a list of all available tool IDs, including both built-in tools and dynamically registered tools.", "responses": { "200": { "description": "Tool IDs", @@ -488,7 +569,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tool.ids({\n ...\n})" + } + ] } }, "/experimental/tool": { @@ -519,7 +606,8 @@ "required": true } ], - "description": "List tools with JSON schema parameters for a provider/model", + "summary": "List tools", + "description": "Get a list of available tools with their JSON schema parameters for a specific provider and model combination.", "responses": { "200": { "description": "Tools", @@ -541,7 +629,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tool.list({\n ...\n})" + } + ] } }, "/instance/dispose": { @@ -556,7 +650,8 @@ } } ], - "description": "Dispose the current instance", + "summary": "Dispose instance", + "description": "Clean up and dispose the current OpenCode instance, releasing all resources.", "responses": { "200": { "description": "Instance disposed", @@ -568,7 +663,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.instance.dispose({\n ...\n})" + } + ] } }, "/path": { @@ -583,7 +684,8 @@ } } ], - "description": "Get the current path", + "summary": "Get paths", + "description": "Retrieve the current working directory and related path information for the OpenCode instance.", "responses": { "200": { "description": "Path", @@ -595,7 +697,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.path.get({\n ...\n})" + } + ] } }, "/vcs": { @@ -610,7 +718,8 @@ } } ], - "description": "Get VCS info for the current instance", + "summary": "Get VCS info", + "description": "Retrieve version control system (VCS) information for the current project, such as git branch.", "responses": { "200": { "description": "VCS info", @@ -622,7 +731,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.vcs.get({\n ...\n})" + } + ] } }, "/session": { @@ -637,7 +752,8 @@ } } ], - "description": "List all sessions", + "summary": "List sessions", + "description": "Get a list of all OpenCode sessions, sorted by most recently updated.", "responses": { "200": { "description": "List of sessions", @@ -652,7 +768,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.list({\n ...\n})" + } + ] }, "post": { "operationId": "session.create", @@ -665,7 +787,8 @@ } } ], - "description": "Create a new session", + "summary": "Create session", + "description": "Create a new OpenCode session for interacting with AI assistants and managing conversations.", "responses": { "200": { "description": "Successfully created session", @@ -705,7 +828,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.create({\n ...\n})" + } + ] } }, "/session/status": { @@ -720,7 +849,8 @@ } } ], - "description": "Get session status", + "summary": "Get session status", + "description": "Retrieve the current status of all sessions, including active, idle, and completed states.", "responses": { "200": { "description": "Get session status", @@ -748,7 +878,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.status({\n ...\n})" + } + ] } }, "/session/{sessionID}": { @@ -772,7 +908,8 @@ "required": true } ], - "description": "Get session", + "summary": "Get session", + "description": "Retrieve detailed information about a specific OpenCode session.", "responses": { "200": { "description": "Get session", @@ -804,7 +941,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.get({\n ...\n})" + } + ] }, "delete": { "operationId": "session.delete", @@ -826,7 +969,8 @@ "required": true } ], - "description": "Delete a session and all its data", + "summary": "Delete session", + "description": "Delete a session and permanently remove all associated data, including messages and history.", "responses": { "200": { "description": "Successfully deleted session", @@ -858,7 +1002,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.delete({\n ...\n})" + } + ] }, "patch": { "operationId": "session.update", @@ -879,7 +1029,8 @@ "required": true } ], - "description": "Update session properties", + "summary": "Update session", + "description": "Update properties of an existing session, such as title or other metadata.", "responses": { "200": { "description": "Successfully updated session", @@ -925,7 +1076,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.update({\n ...\n})" + } + ] } }, "/session/{sessionID}/children": { @@ -949,7 +1106,8 @@ "required": true } ], - "description": "Get a session's children", + "summary": "Get session children", + "description": "Retrieve all child sessions that were forked from the specified parent session.", "responses": { "200": { "description": "List of children", @@ -984,7 +1142,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.children({\n ...\n})" + } + ] } }, "/session/{sessionID}/todo": { @@ -1008,7 +1172,8 @@ "description": "Session ID" } ], - "description": "Get the todo list for a session", + "summary": "Get session todos", + "description": "Retrieve the todo list associated with a specific session, showing tasks and action items.", "responses": { "200": { "description": "Todo list", @@ -1043,7 +1208,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.todo({\n ...\n})" + } + ] } }, "/session/{sessionID}/init": { @@ -1067,7 +1238,8 @@ "description": "Session ID" } ], - "description": "Analyze the app and create an AGENTS.md file", + "summary": "Initialize session", + "description": "Analyze the current application and create an AGENTS.md file with project-specific agent configurations.", "responses": { "200": { "description": "200", @@ -1117,11 +1289,21 @@ "pattern": "^msg.*" } }, - "required": ["modelID", "providerID", "messageID"] + "required": [ + "modelID", + "providerID", + "messageID" + ] } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.init({\n ...\n})" + } + ] } }, "/session/{sessionID}/fork": { @@ -1145,7 +1327,8 @@ "required": true } ], - "description": "Fork an existing session at a specific message", + "summary": "Fork session", + "description": "Create a new session by forking an existing session at a specific message point.", "responses": { "200": { "description": "200", @@ -1172,7 +1355,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.fork({\n ...\n})" + } + ] } }, "/session/{sessionID}/abort": { @@ -1195,7 +1384,8 @@ "required": true } ], - "description": "Abort a session", + "summary": "Abort session", + "description": "Abort an active session and stop any ongoing AI processing or command execution.", "responses": { "200": { "description": "Aborted session", @@ -1227,7 +1417,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.abort({\n ...\n})" + } + ] } }, "/session/{sessionID}/share": { @@ -1250,7 +1446,8 @@ "required": true } ], - "description": "Share a session", + "summary": "Share session", + "description": "Create a shareable link for a session, allowing others to view the conversation.", "responses": { "200": { "description": "Successfully shared session", @@ -1282,7 +1479,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.share({\n ...\n})" + } + ] }, "delete": { "operationId": "session.unshare", @@ -1304,7 +1507,8 @@ "required": true } ], - "description": "Unshare the session", + "summary": "Unshare session", + "description": "Remove the shareable link for a session, making it private again.", "responses": { "200": { "description": "Successfully unshared session", @@ -1336,7 +1540,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.unshare({\n ...\n})" + } + ] } }, "/session/{sessionID}/diff": { @@ -1368,7 +1578,8 @@ } } ], - "description": "Get the diff for this session", + "summary": "Get session diff", + "description": "Get all file changes (diffs) made during this session.", "responses": { "200": { "description": "List of diffs", @@ -1403,7 +1614,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.diff({\n ...\n})" + } + ] } }, "/session/{sessionID}/summarize": { @@ -1427,7 +1644,8 @@ "description": "Session ID" } ], - "description": "Summarize the session", + "summary": "Summarize session", + "description": "Generate a concise summary of the session using AI compaction to preserve key information.", "responses": { "200": { "description": "Summarized session", @@ -1473,11 +1691,20 @@ "type": "string" } }, - "required": ["providerID", "modelID"] + "required": [ + "providerID", + "modelID" + ] } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.summarize({\n ...\n})" + } + ] } }, "/session/{sessionID}/message": { @@ -1508,7 +1735,8 @@ } } ], - "description": "List messages for a session", + "summary": "Get session messages", + "description": "Retrieve all messages in a session, including user prompts and AI responses.", "responses": { "200": { "description": "List of messages", @@ -1529,7 +1757,10 @@ } } }, - "required": ["info", "parts"] + "required": [ + "info", + "parts" + ] } } } @@ -1555,7 +1786,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.messages({\n ...\n})" + } + ] }, "post": { "operationId": "session.prompt", @@ -1577,7 +1814,8 @@ "description": "Session ID" } ], - "description": "Create and send a new message to a session", + "summary": "Send message", + "description": "Create and send a new message to a session, streaming the AI response.", "responses": { "200": { "description": "Created message", @@ -1596,7 +1834,10 @@ } } }, - "required": ["info", "parts"] + "required": [ + "info", + "parts" + ] } } } @@ -1642,7 +1883,10 @@ "type": "string" } }, - "required": ["providerID", "modelID"] + "required": [ + "providerID", + "modelID" + ] }, "agent": { "type": "string" @@ -1682,11 +1926,19 @@ } } }, - "required": ["parts"] + "required": [ + "parts" + ] } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.prompt({\n ...\n})" + } + ] } }, "/session/{sessionID}/message/{messageID}": { @@ -1719,7 +1971,8 @@ "description": "Message ID" } ], - "description": "Get a message from a session", + "summary": "Get message", + "description": "Retrieve a specific message from a session by its message ID.", "responses": { "200": { "description": "Message", @@ -1738,7 +1991,10 @@ } } }, - "required": ["info", "parts"] + "required": [ + "info", + "parts" + ] } } } @@ -1763,7 +2019,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.message({\n ...\n})" + } + ] } }, "/session/{sessionID}/prompt_async": { @@ -1787,7 +2049,8 @@ "description": "Session ID" } ], - "description": "Create and send a new message to a session, start if needed and return immediately", + "summary": "Send async message", + "description": "Create and send a new message to a session asynchronously, starting the session if needed and returning immediately.", "responses": { "204": { "description": "Prompt accepted" @@ -1833,7 +2096,10 @@ "type": "string" } }, - "required": ["providerID", "modelID"] + "required": [ + "providerID", + "modelID" + ] }, "agent": { "type": "string" @@ -1873,11 +2139,19 @@ } } }, - "required": ["parts"] + "required": [ + "parts" + ] } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.prompt_async({\n ...\n})" + } + ] } }, "/session/{sessionID}/command": { @@ -1901,7 +2175,8 @@ "description": "Session ID" } ], - "description": "Send a new command to a session", + "summary": "Send command", + "description": "Send a new command to a session for execution by the AI assistant.", "responses": { "200": { "description": "Created message", @@ -1920,7 +2195,10 @@ } } }, - "required": ["info", "parts"] + "required": [ + "info", + "parts" + ] } } } @@ -1969,11 +2247,20 @@ "type": "string" } }, - "required": ["arguments", "command"] + "required": [ + "arguments", + "command" + ] } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.command({\n ...\n})" + } + ] } }, "/session/{sessionID}/shell": { @@ -1997,7 +2284,8 @@ "description": "Session ID" } ], - "description": "Run a shell command", + "summary": "Run shell command", + "description": "Execute a shell command within the session context and return the AI's response.", "responses": { "200": { "description": "Created message", @@ -2049,17 +2337,29 @@ "type": "string" } }, - "required": ["providerID", "modelID"] + "required": [ + "providerID", + "modelID" + ] }, "command": { "type": "string" } }, - "required": ["agent", "command"] + "required": [ + "agent", + "command" + ] } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.shell({\n ...\n})" + } + ] } }, "/session/{sessionID}/revert": { @@ -2082,7 +2382,8 @@ "required": true } ], - "description": "Revert a message", + "summary": "Revert message", + "description": "Revert a specific message in a session, undoing its effects and restoring the previous state.", "responses": { "200": { "description": "Updated session", @@ -2130,11 +2431,19 @@ "pattern": "^prt.*" } }, - "required": ["messageID"] + "required": [ + "messageID" + ] } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.revert({\n ...\n})" + } + ] } }, "/session/{sessionID}/unrevert": { @@ -2157,7 +2466,8 @@ "required": true } ], - "description": "Restore all reverted messages", + "summary": "Restore reverted messages", + "description": "Restore all previously reverted messages in a session.", "responses": { "200": { "description": "Updated session", @@ -2189,7 +2499,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.session.unrevert({\n ...\n})" + } + ] } }, "/session/{sessionID}/permissions/{permissionID}": { @@ -2220,7 +2536,8 @@ "required": true } ], - "description": "Respond to a permission request", + "summary": "Respond to permission", + "description": "Approve or deny a permission request from the AI assistant.", "responses": { "200": { "description": "Permission processed successfully", @@ -2261,14 +2578,26 @@ "properties": { "response": { "type": "string", - "enum": ["once", "always", "reject"] + "enum": [ + "once", + "always", + "reject" + ] } }, - "required": ["response"] + "required": [ + "response" + ] } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.permission.respond({\n ...\n})" + } + ] } }, "/command": { @@ -2283,7 +2612,8 @@ } } ], - "description": "List all commands", + "summary": "List commands", + "description": "Get a list of all available commands in the OpenCode system.", "responses": { "200": { "description": "List of commands", @@ -2298,7 +2628,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.command.list({\n ...\n})" + } + ] } }, "/config/providers": { @@ -2313,7 +2649,8 @@ } } ], - "description": "List all providers", + "summary": "List config providers", + "description": "Get a list of all configured AI providers and their default models.", "responses": { "200": { "description": "List of providers", @@ -2338,12 +2675,21 @@ } } }, - "required": ["providers", "default"] + "required": [ + "providers", + "default" + ] } } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.config.providers({\n ...\n})" + } + ] } }, "/provider": { @@ -2358,7 +2704,8 @@ } } ], - "description": "List all providers", + "summary": "List providers", + "description": "Get a list of all available AI providers, including both available and connected ones.", "responses": { "200": { "description": "List of providers", @@ -2450,10 +2797,16 @@ "type": "number" } }, - "required": ["input", "output"] + "required": [ + "input", + "output" + ] } }, - "required": ["input", "output"] + "required": [ + "input", + "output" + ] }, "limit": { "type": "object", @@ -2465,7 +2818,10 @@ "type": "number" } }, - "required": ["context", "output"] + "required": [ + "context", + "output" + ] }, "modalities": { "type": "object", @@ -2474,25 +2830,44 @@ "type": "array", "items": { "type": "string", - "enum": ["text", "audio", "image", "video", "pdf"] + "enum": [ + "text", + "audio", + "image", + "video", + "pdf" + ] } }, "output": { "type": "array", "items": { "type": "string", - "enum": ["text", "audio", "image", "video", "pdf"] + "enum": [ + "text", + "audio", + "image", + "video", + "pdf" + ] } } }, - "required": ["input", "output"] + "required": [ + "input", + "output" + ] }, "experimental": { "type": "boolean" }, "status": { "type": "string", - "enum": ["alpha", "beta", "deprecated"] + "enum": [ + "alpha", + "beta", + "deprecated" + ] }, "options": { "type": "object", @@ -2517,7 +2892,9 @@ "type": "string" } }, - "required": ["npm"] + "required": [ + "npm" + ] } }, "required": [ @@ -2534,7 +2911,12 @@ } } }, - "required": ["name", "env", "id", "models"] + "required": [ + "name", + "env", + "id", + "models" + ] } }, "default": { @@ -2553,12 +2935,22 @@ } } }, - "required": ["all", "default", "connected"] + "required": [ + "all", + "default", + "connected" + ] } } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.provider.list({\n ...\n})" + } + ] } }, "/provider/auth": { @@ -2573,7 +2965,8 @@ } } ], - "description": "Get provider authentication methods", + "summary": "Get provider auth methods", + "description": "Retrieve available authentication methods for all AI providers.", "responses": { "200": { "description": "Provider auth methods", @@ -2594,7 +2987,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.provider.auth({\n ...\n})" + } + ] } }, "/provider/{providerID}/oauth/authorize": { @@ -2618,7 +3017,8 @@ "description": "Provider ID" } ], - "description": "Authorize a provider using OAuth", + "summary": "OAuth authorize", + "description": "Initiate OAuth authorization for a specific AI provider to get an authorization URL.", "responses": { "200": { "description": "Authorization URL and method", @@ -2652,11 +3052,19 @@ "type": "number" } }, - "required": ["method"] + "required": [ + "method" + ] } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.provider.oauth.authorize({\n ...\n})" + } + ] } }, "/provider/{providerID}/oauth/callback": { @@ -2680,7 +3088,8 @@ "description": "Provider ID" } ], - "description": "Handle OAuth callback for a provider", + "summary": "OAuth callback", + "description": "Handle the OAuth callback from a provider after user authorization.", "responses": { "200": { "description": "OAuth callback processed successfully", @@ -2718,11 +3127,19 @@ "type": "string" } }, - "required": ["method"] + "required": [ + "method" + ] } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.provider.oauth.callback({\n ...\n})" + } + ] } }, "/find": { @@ -2745,7 +3162,8 @@ "required": true } ], - "description": "Find text in files", + "summary": "Find text", + "description": "Search for text patterns across files in the project using ripgrep.", "responses": { "200": { "description": "Matches", @@ -2763,7 +3181,9 @@ "type": "string" } }, - "required": ["text"] + "required": [ + "text" + ] }, "lines": { "type": "object", @@ -2772,7 +3192,9 @@ "type": "string" } }, - "required": ["text"] + "required": [ + "text" + ] }, "line_number": { "type": "number" @@ -2792,7 +3214,9 @@ "type": "string" } }, - "required": ["text"] + "required": [ + "text" + ] }, "start": { "type": "number" @@ -2801,17 +3225,33 @@ "type": "number" } }, - "required": ["match", "start", "end"] + "required": [ + "match", + "start", + "end" + ] } } }, - "required": ["path", "lines", "line_number", "absolute_offset", "submatches"] + "required": [ + "path", + "lines", + "line_number", + "absolute_offset", + "submatches" + ] } } } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.find.text({\n ...\n})" + } + ] } }, "/find/file": { @@ -2838,11 +3278,15 @@ "name": "dirs", "schema": { "type": "string", - "enum": ["true", "false"] + "enum": [ + "true", + "false" + ] } } ], - "description": "Find files", + "summary": "Find files", + "description": "Search for files by name or pattern in the project directory.", "responses": { "200": { "description": "File paths", @@ -2857,7 +3301,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.find.files({\n ...\n})" + } + ] } }, "/find/symbol": { @@ -2880,7 +3330,8 @@ "required": true } ], - "description": "Find workspace symbols", + "summary": "Find symbols", + "description": "Search for workspace symbols like functions, classes, and variables using LSP.", "responses": { "200": { "description": "Symbols", @@ -2895,7 +3346,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.find.symbols({\n ...\n})" + } + ] } }, "/file": { @@ -2918,7 +3375,8 @@ "required": true } ], - "description": "List files and directories", + "summary": "List files", + "description": "List files and directories in a specified path.", "responses": { "200": { "description": "Files and directories", @@ -2933,7 +3391,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.file.list({\n ...\n})" + } + ] } }, "/file/content": { @@ -2956,7 +3420,8 @@ "required": true } ], - "description": "Read a file", + "summary": "Read file", + "description": "Read the content of a specified file.", "responses": { "200": { "description": "File content", @@ -2968,7 +3433,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.file.read({\n ...\n})" + } + ] } }, "/file/status": { @@ -2983,7 +3454,8 @@ } } ], - "description": "Get file status", + "summary": "Get file status", + "description": "Get the git status of all files in the project.", "responses": { "200": { "description": "File status", @@ -2998,7 +3470,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.file.status({\n ...\n})" + } + ] } }, "/log": { @@ -3013,7 +3491,8 @@ } } ], - "description": "Write a log entry to the server logs", + "summary": "Write log", + "description": "Write a log entry to the server logs with specified level and metadata.", "responses": { "200": { "description": "Log entry written successfully", @@ -3049,7 +3528,12 @@ "level": { "description": "Log level", "type": "string", - "enum": ["debug", "info", "error", "warn"] + "enum": [ + "debug", + "info", + "error", + "warn" + ] }, "message": { "description": "Log message", @@ -3064,11 +3548,21 @@ "additionalProperties": {} } }, - "required": ["service", "level", "message"] + "required": [ + "service", + "level", + "message" + ] } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.app.log({\n ...\n})" + } + ] } }, "/agent": { @@ -3083,7 +3577,8 @@ } } ], - "description": "List all agents", + "summary": "List agents", + "description": "Get a list of all available AI agents in the OpenCode system.", "responses": { "200": { "description": "List of agents", @@ -3098,7 +3593,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.app.agents({\n ...\n})" + } + ] } }, "/mcp": { @@ -3113,7 +3614,8 @@ } } ], - "description": "Get MCP server status", + "summary": "Get MCP status", + "description": "Get the status of all Model Context Protocol (MCP) servers.", "responses": { "200": { "description": "MCP server status", @@ -3131,7 +3633,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.status({\n ...\n})" + } + ] }, "post": { "operationId": "mcp.add", @@ -3144,7 +3652,8 @@ } } ], - "description": "Add MCP server dynamically", + "summary": "Add MCP server", + "description": "Dynamically add a new Model Context Protocol (MCP) server to the system.", "responses": { "200": { "description": "MCP server added successfully", @@ -3193,11 +3702,20 @@ ] } }, - "required": ["name", "config"] + "required": [ + "name", + "config" + ] } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.add({\n ...\n})" + } + ] } }, "/mcp/{name}/auth": { @@ -3220,7 +3738,8 @@ "required": true } ], - "description": "Start OAuth authentication flow for an MCP server", + "summary": "Start MCP OAuth", + "description": "Start OAuth authentication flow for a Model Context Protocol (MCP) server.", "responses": { "200": { "description": "OAuth flow started", @@ -3234,7 +3753,9 @@ "type": "string" } }, - "required": ["authorizationUrl"] + "required": [ + "authorizationUrl" + ] } } } @@ -3259,7 +3780,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.auth.start({\n ...\n})" + } + ] }, "delete": { "operationId": "mcp.auth.remove", @@ -3294,7 +3821,9 @@ "const": true } }, - "required": ["success"] + "required": [ + "success" + ] } } } @@ -3309,7 +3838,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.auth.remove({\n ...\n})" + } + ] } }, "/mcp/{name}/auth/callback": { @@ -3332,7 +3867,8 @@ "required": true } ], - "description": "Complete OAuth authentication with authorization code", + "summary": "Complete MCP OAuth", + "description": "Complete OAuth authentication for a Model Context Protocol (MCP) server using the authorization code.", "responses": { "200": { "description": "OAuth authentication completed", @@ -3376,11 +3912,19 @@ "type": "string" } }, - "required": ["code"] + "required": [ + "code" + ] } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.auth.callback({\n ...\n})" + } + ] } }, "/mcp/{name}/auth/authenticate": { @@ -3435,7 +3979,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.mcp.auth.authenticate({\n ...\n})" + } + ] } }, "/lsp": { @@ -3465,7 +4015,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.lsp.status({\n ...\n})" + } + ] } }, "/formatter": { @@ -3495,7 +4051,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.formatter.status({\n ...\n})" + } + ] } }, "/tui/append-prompt": { @@ -3543,11 +4105,19 @@ "type": "string" } }, - "required": ["text"] + "required": [ + "text" + ] } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.appendPrompt({\n ...\n})" + } + ] } }, "/tui/open-help": { @@ -3562,7 +4132,8 @@ } } ], - "description": "Open the help dialog", + "summary": "Open help dialog", + "description": "Open the help dialog in the TUI to display user assistance information.", "responses": { "200": { "description": "Help dialog opened successfully", @@ -3574,7 +4145,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.openHelp({\n ...\n})" + } + ] } }, "/tui/open-sessions": { @@ -3601,7 +4178,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.openSessions({\n ...\n})" + } + ] } }, "/tui/open-themes": { @@ -3628,7 +4211,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.openThemes({\n ...\n})" + } + ] } }, "/tui/open-models": { @@ -3655,7 +4244,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.openModels({\n ...\n})" + } + ] } }, "/tui/submit-prompt": { @@ -3682,7 +4277,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.submitPrompt({\n ...\n})" + } + ] } }, "/tui/clear-prompt": { @@ -3709,7 +4310,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.clearPrompt({\n ...\n})" + } + ] } }, "/tui/execute-command": { @@ -3757,11 +4364,19 @@ "type": "string" } }, - "required": ["command"] + "required": [ + "command" + ] } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.executeCommand({\n ...\n})" + } + ] } }, "/tui/show-toast": { @@ -3803,7 +4418,12 @@ }, "variant": { "type": "string", - "enum": ["info", "success", "warning", "error"] + "enum": [ + "info", + "success", + "warning", + "error" + ] }, "duration": { "description": "Duration in milliseconds", @@ -3811,11 +4431,20 @@ "type": "number" } }, - "required": ["message", "variant"] + "required": [ + "message", + "variant" + ] } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.showToast({\n ...\n})" + } + ] } }, "/tui/publish": { @@ -3871,7 +4500,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.publish({\n ...\n})" + } + ] } }, "/tui/control/next": { @@ -3886,7 +4521,8 @@ } } ], - "description": "Get the next TUI request from the queue", + "summary": "Get next TUI request", + "description": "Retrieve the next TUI (Terminal User Interface) request from the queue for processing.", "responses": { "200": { "description": "Next TUI request", @@ -3900,12 +4536,21 @@ }, "body": {} }, - "required": ["path", "body"] + "required": [ + "path", + "body" + ] } } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.control.next({\n ...\n})" + } + ] } }, "/tui/control/response": { @@ -3920,7 +4565,8 @@ } } ], - "description": "Submit a response to the TUI request queue", + "summary": "Submit TUI response", + "description": "Submit a response to the TUI request queue to complete a pending request.", "responses": { "200": { "description": "Response submitted successfully", @@ -3939,7 +4585,13 @@ "schema": {} } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.tui.control.response({\n ...\n})" + } + ] } }, "/auth/{providerID}": { @@ -3993,7 +4645,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.auth.set({\n ...\n})" + } + ] } }, "/event": { @@ -4020,7 +4678,13 @@ } } } - } + }, + "x-codeSamples": [ + { + "lang": "js", + "source": "import { createOpencodeClient } from \"@opencode-ai/sdk\n\nconst client = createOpencodeClient()\nawait client.event.subscribe({\n ...\n})" + } + ] } } }, @@ -4040,10 +4704,15 @@ "type": "string" } }, - "required": ["directory"] + "required": [ + "directory" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.installation.updated": { "type": "object", @@ -4059,10 +4728,15 @@ "type": "string" } }, - "required": ["version"] + "required": [ + "version" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.installation.update-available": { "type": "object", @@ -4078,10 +4752,15 @@ "type": "string" } }, - "required": ["version"] + "required": [ + "version" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.lsp.client.diagnostics": { "type": "object", @@ -4100,10 +4779,16 @@ "type": "string" } }, - "required": ["serverID", "path"] + "required": [ + "serverID", + "path" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.lsp.updated": { "type": "object", @@ -4117,7 +4802,10 @@ "properties": {} } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "FileDiff": { "type": "object", @@ -4138,7 +4826,13 @@ "type": "number" } }, - "required": ["file", "before", "after", "additions", "deletions"] + "required": [ + "file", + "before", + "after", + "additions", + "deletions" + ] }, "UserMessage": { "type": "object", @@ -4160,7 +4854,9 @@ "type": "number" } }, - "required": ["created"] + "required": [ + "created" + ] }, "summary": { "type": "object", @@ -4178,7 +4874,9 @@ } } }, - "required": ["diffs"] + "required": [ + "diffs" + ] }, "agent": { "type": "string" @@ -4193,7 +4891,10 @@ "type": "string" } }, - "required": ["providerID", "modelID"] + "required": [ + "providerID", + "modelID" + ] }, "system": { "type": "string" @@ -4208,7 +4909,14 @@ } } }, - "required": ["id", "sessionID", "role", "time", "agent", "model"] + "required": [ + "id", + "sessionID", + "role", + "time", + "agent", + "model" + ] }, "ProviderAuthError": { "type": "object", @@ -4227,10 +4935,16 @@ "type": "string" } }, - "required": ["providerID", "message"] + "required": [ + "providerID", + "message" + ] } }, - "required": ["name", "data"] + "required": [ + "name", + "data" + ] }, "UnknownError": { "type": "object", @@ -4246,10 +4960,15 @@ "type": "string" } }, - "required": ["message"] + "required": [ + "message" + ] } }, - "required": ["name", "data"] + "required": [ + "name", + "data" + ] }, "MessageOutputLengthError": { "type": "object", @@ -4263,7 +4982,10 @@ "properties": {} } }, - "required": ["name", "data"] + "required": [ + "name", + "data" + ] }, "MessageAbortedError": { "type": "object", @@ -4279,10 +5001,15 @@ "type": "string" } }, - "required": ["message"] + "required": [ + "message" + ] } }, - "required": ["name", "data"] + "required": [ + "name", + "data" + ] }, "APIError": { "type": "object", @@ -4316,10 +5043,16 @@ "type": "string" } }, - "required": ["message", "isRetryable"] + "required": [ + "message", + "isRetryable" + ] } }, - "required": ["name", "data"] + "required": [ + "name", + "data" + ] }, "AssistantMessage": { "type": "object", @@ -4344,7 +5077,9 @@ "type": "number" } }, - "required": ["created"] + "required": [ + "created" + ] }, "error": { "anyOf": [ @@ -4387,7 +5122,10 @@ "type": "string" } }, - "required": ["cwd", "root"] + "required": [ + "cwd", + "root" + ] }, "summary": { "type": "boolean" @@ -4417,10 +5155,18 @@ "type": "number" } }, - "required": ["read", "write"] + "required": [ + "read", + "write" + ] } }, - "required": ["input", "output", "reasoning", "cache"] + "required": [ + "input", + "output", + "reasoning", + "cache" + ] }, "finish": { "type": "string" @@ -4464,10 +5210,15 @@ "$ref": "#/components/schemas/Message" } }, - "required": ["info"] + "required": [ + "info" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.message.removed": { "type": "object", @@ -4486,10 +5237,16 @@ "type": "string" } }, - "required": ["sessionID", "messageID"] + "required": [ + "sessionID", + "messageID" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "TextPart": { "type": "object", @@ -4526,7 +5283,9 @@ "type": "number" } }, - "required": ["start"] + "required": [ + "start" + ] }, "metadata": { "type": "object", @@ -4536,7 +5295,13 @@ "additionalProperties": {} } }, - "required": ["id", "sessionID", "messageID", "type", "text"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "text" + ] }, "ReasoningPart": { "type": "object", @@ -4574,10 +5339,19 @@ "type": "number" } }, - "required": ["start"] + "required": [ + "start" + ] } }, - "required": ["id", "sessionID", "messageID", "type", "text", "time"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "text", + "time" + ] }, "FilePartSourceText": { "type": "object", @@ -4596,7 +5370,11 @@ "maximum": 9007199254740991 } }, - "required": ["value", "start", "end"] + "required": [ + "value", + "start", + "end" + ] }, "FileSource": { "type": "object", @@ -4612,7 +5390,11 @@ "type": "string" } }, - "required": ["text", "type", "path"] + "required": [ + "text", + "type", + "path" + ] }, "Range": { "type": "object", @@ -4627,7 +5409,10 @@ "type": "number" } }, - "required": ["line", "character"] + "required": [ + "line", + "character" + ] }, "end": { "type": "object", @@ -4639,10 +5424,16 @@ "type": "number" } }, - "required": ["line", "character"] + "required": [ + "line", + "character" + ] } }, - "required": ["start", "end"] + "required": [ + "start", + "end" + ] }, "SymbolSource": { "type": "object", @@ -4669,7 +5460,14 @@ "maximum": 9007199254740991 } }, - "required": ["text", "type", "path", "range", "name", "kind"] + "required": [ + "text", + "type", + "path", + "range", + "name", + "kind" + ] }, "FilePartSource": { "anyOf": [ @@ -4710,7 +5508,14 @@ "$ref": "#/components/schemas/FilePartSource" } }, - "required": ["id", "sessionID", "messageID", "type", "mime", "url"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "mime", + "url" + ] }, "ToolStatePending": { "type": "object", @@ -4730,7 +5535,11 @@ "type": "string" } }, - "required": ["status", "input", "raw"] + "required": [ + "status", + "input", + "raw" + ] }, "ToolStateRunning": { "type": "object", @@ -4763,10 +5572,16 @@ "type": "number" } }, - "required": ["start"] + "required": [ + "start" + ] } }, - "required": ["status", "input", "time"] + "required": [ + "status", + "input", + "time" + ] }, "ToolStateCompleted": { "type": "object", @@ -4808,7 +5623,10 @@ "type": "number" } }, - "required": ["start", "end"] + "required": [ + "start", + "end" + ] }, "attachments": { "type": "array", @@ -4817,7 +5635,14 @@ } } }, - "required": ["status", "input", "output", "title", "metadata", "time"] + "required": [ + "status", + "input", + "output", + "title", + "metadata", + "time" + ] }, "ToolStateError": { "type": "object", @@ -4853,10 +5678,18 @@ "type": "number" } }, - "required": ["start", "end"] + "required": [ + "start", + "end" + ] } }, - "required": ["status", "input", "error", "time"] + "required": [ + "status", + "input", + "error", + "time" + ] }, "ToolState": { "anyOf": [ @@ -4907,7 +5740,15 @@ "additionalProperties": {} } }, - "required": ["id", "sessionID", "messageID", "type", "callID", "tool", "state"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "callID", + "tool", + "state" + ] }, "StepStartPart": { "type": "object", @@ -4929,7 +5770,12 @@ "type": "string" } }, - "required": ["id", "sessionID", "messageID", "type"] + "required": [ + "id", + "sessionID", + "messageID", + "type" + ] }, "StepFinishPart": { "type": "object", @@ -4978,13 +5824,29 @@ "type": "number" } }, - "required": ["read", "write"] + "required": [ + "read", + "write" + ] } }, - "required": ["input", "output", "reasoning", "cache"] + "required": [ + "input", + "output", + "reasoning", + "cache" + ] } }, - "required": ["id", "sessionID", "messageID", "type", "reason", "cost", "tokens"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "reason", + "cost", + "tokens" + ] }, "SnapshotPart": { "type": "object", @@ -5006,7 +5868,13 @@ "type": "string" } }, - "required": ["id", "sessionID", "messageID", "type", "snapshot"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "snapshot" + ] }, "PatchPart": { "type": "object", @@ -5034,7 +5902,14 @@ } } }, - "required": ["id", "sessionID", "messageID", "type", "hash", "files"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "hash", + "files" + ] }, "AgentPart": { "type": "object", @@ -5072,10 +5947,20 @@ "maximum": 9007199254740991 } }, - "required": ["value", "start", "end"] + "required": [ + "value", + "start", + "end" + ] } }, - "required": ["id", "sessionID", "messageID", "type", "name"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "name" + ] }, "RetryPart": { "type": "object", @@ -5106,10 +5991,20 @@ "type": "number" } }, - "required": ["created"] + "required": [ + "created" + ] } }, - "required": ["id", "sessionID", "messageID", "type", "attempt", "error", "time"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "attempt", + "error", + "time" + ] }, "CompactionPart": { "type": "object", @@ -5131,7 +6026,13 @@ "type": "boolean" } }, - "required": ["id", "sessionID", "messageID", "type", "auto"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "auto" + ] }, "Part": { "anyOf": [ @@ -5164,7 +6065,15 @@ "type": "string" } }, - "required": ["id", "sessionID", "messageID", "type", "prompt", "description", "agent"] + "required": [ + "id", + "sessionID", + "messageID", + "type", + "prompt", + "description", + "agent" + ] }, { "$ref": "#/components/schemas/ReasoningPart" @@ -5215,10 +6124,15 @@ "type": "string" } }, - "required": ["part"] + "required": [ + "part" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.message.part.removed": { "type": "object", @@ -5240,10 +6154,17 @@ "type": "string" } }, - "required": ["sessionID", "messageID", "partID"] + "required": [ + "sessionID", + "messageID", + "partID" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Permission": { "type": "object", @@ -5293,10 +6214,20 @@ "type": "number" } }, - "required": ["created"] + "required": [ + "created" + ] } }, - "required": ["id", "type", "sessionID", "messageID", "title", "metadata", "time"] + "required": [ + "id", + "type", + "sessionID", + "messageID", + "title", + "metadata", + "time" + ] }, "Event.permission.updated": { "type": "object", @@ -5309,7 +6240,10 @@ "$ref": "#/components/schemas/Permission" } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.permission.replied": { "type": "object", @@ -5331,10 +6265,17 @@ "type": "string" } }, - "required": ["sessionID", "permissionID", "response"] + "required": [ + "sessionID", + "permissionID", + "response" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "SessionStatus": { "anyOf": [ @@ -5346,7 +6287,9 @@ "const": "idle" } }, - "required": ["type"] + "required": [ + "type" + ] }, { "type": "object", @@ -5365,7 +6308,12 @@ "type": "number" } }, - "required": ["type", "attempt", "message", "next"] + "required": [ + "type", + "attempt", + "message", + "next" + ] }, { "type": "object", @@ -5375,7 +6323,9 @@ "const": "busy" } }, - "required": ["type"] + "required": [ + "type" + ] } ] }, @@ -5396,10 +6346,16 @@ "$ref": "#/components/schemas/SessionStatus" } }, - "required": ["sessionID", "status"] + "required": [ + "sessionID", + "status" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.session.idle": { "type": "object", @@ -5415,10 +6371,15 @@ "type": "string" } }, - "required": ["sessionID"] + "required": [ + "sessionID" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.session.compacted": { "type": "object", @@ -5434,10 +6395,15 @@ "type": "string" } }, - "required": ["sessionID"] + "required": [ + "sessionID" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.file.edited": { "type": "object", @@ -5453,10 +6419,15 @@ "type": "string" } }, - "required": ["file"] + "required": [ + "file" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Todo": { "type": "object", @@ -5478,7 +6449,12 @@ "type": "string" } }, - "required": ["content", "status", "priority", "id"] + "required": [ + "content", + "status", + "priority", + "id" + ] }, "Event.todo.updated": { "type": "object", @@ -5500,10 +6476,16 @@ } } }, - "required": ["sessionID", "todos"] + "required": [ + "sessionID", + "todos" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.command.executed": { "type": "object", @@ -5530,10 +6512,18 @@ "pattern": "^msg.*" } }, - "required": ["name", "sessionID", "arguments", "messageID"] + "required": [ + "name", + "sessionID", + "arguments", + "messageID" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Session": { "type": "object", @@ -5571,7 +6561,11 @@ } } }, - "required": ["additions", "deletions", "files"] + "required": [ + "additions", + "deletions", + "files" + ] }, "share": { "type": "object", @@ -5580,7 +6574,9 @@ "type": "string" } }, - "required": ["url"] + "required": [ + "url" + ] }, "title": { "type": "string" @@ -5601,7 +6597,10 @@ "type": "number" } }, - "required": ["created", "updated"] + "required": [ + "created", + "updated" + ] }, "revert": { "type": "object", @@ -5619,10 +6618,19 @@ "type": "string" } }, - "required": ["messageID"] + "required": [ + "messageID" + ] } }, - "required": ["id", "projectID", "directory", "title", "version", "time"] + "required": [ + "id", + "projectID", + "directory", + "title", + "version", + "time" + ] }, "Event.session.created": { "type": "object", @@ -5638,10 +6646,15 @@ "$ref": "#/components/schemas/Session" } }, - "required": ["info"] + "required": [ + "info" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.session.updated": { "type": "object", @@ -5657,10 +6670,15 @@ "$ref": "#/components/schemas/Session" } }, - "required": ["info"] + "required": [ + "info" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.session.deleted": { "type": "object", @@ -5676,10 +6694,15 @@ "$ref": "#/components/schemas/Session" } }, - "required": ["info"] + "required": [ + "info" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.session.diff": { "type": "object", @@ -5701,10 +6724,16 @@ } } }, - "required": ["sessionID", "diff"] + "required": [ + "sessionID", + "diff" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.session.error": { "type": "object", @@ -5741,7 +6770,10 @@ } } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.file.watcher.updated": { "type": "object", @@ -5773,10 +6805,16 @@ ] } }, - "required": ["file", "event"] + "required": [ + "file", + "event" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.vcs.branch.updated": { "type": "object", @@ -5794,7 +6832,10 @@ } } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.tui.prompt.append": { "type": "object", @@ -5810,10 +6851,15 @@ "type": "string" } }, - "required": ["text"] + "required": [ + "text" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.tui.command.execute": { "type": "object", @@ -5852,10 +6898,15 @@ ] } }, - "required": ["command"] + "required": [ + "command" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.tui.toast.show": { "type": "object", @@ -5875,7 +6926,12 @@ }, "variant": { "type": "string", - "enum": ["info", "success", "warning", "error"] + "enum": [ + "info", + "success", + "warning", + "error" + ] }, "duration": { "description": "Duration in milliseconds", @@ -5883,10 +6939,16 @@ "type": "number" } }, - "required": ["message", "variant"] + "required": [ + "message", + "variant" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Pty": { "type": "object", @@ -5912,13 +6974,24 @@ }, "status": { "type": "string", - "enum": ["running", "exited"] + "enum": [ + "running", + "exited" + ] }, "pid": { "type": "number" } }, - "required": ["id", "title", "command", "args", "cwd", "status", "pid"] + "required": [ + "id", + "title", + "command", + "args", + "cwd", + "status", + "pid" + ] }, "Event.pty.created": { "type": "object", @@ -5934,10 +7007,15 @@ "$ref": "#/components/schemas/Pty" } }, - "required": ["info"] + "required": [ + "info" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.pty.updated": { "type": "object", @@ -5953,10 +7031,15 @@ "$ref": "#/components/schemas/Pty" } }, - "required": ["info"] + "required": [ + "info" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.pty.exited": { "type": "object", @@ -5976,10 +7059,16 @@ "type": "number" } }, - "required": ["id", "exitCode"] + "required": [ + "id", + "exitCode" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.pty.deleted": { "type": "object", @@ -5996,10 +7085,15 @@ "pattern": "^pty.*" } }, - "required": ["id"] + "required": [ + "id" + ] } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event.server.connected": { "type": "object", @@ -6013,7 +7107,10 @@ "properties": {} } }, - "required": ["type", "properties"] + "required": [ + "type", + "properties" + ] }, "Event": { "anyOf": [ @@ -6125,7 +7222,10 @@ "$ref": "#/components/schemas/Event" } }, - "required": ["directory", "payload"] + "required": [ + "directory", + "payload" + ] }, "Project": { "type": "object", @@ -6153,10 +7253,16 @@ "type": "number" } }, - "required": ["created"] + "required": [ + "created" + ] } }, - "required": ["id", "worktree", "time"] + "required": [ + "id", + "worktree", + "time" + ] }, "BadRequestError": { "type": "object", @@ -6177,7 +7283,11 @@ "const": false } }, - "required": ["data", "errors", "success"] + "required": [ + "data", + "errors", + "success" + ] }, "NotFoundError": { "type": "object", @@ -6193,10 +7303,15 @@ "type": "string" } }, - "required": ["message"] + "required": [ + "message" + ] } }, - "required": ["name", "data"] + "required": [ + "name", + "data" + ] }, "KeybindsConfig": { "description": "Custom keybind configurations", @@ -6463,7 +7578,11 @@ }, "mode": { "type": "string", - "enum": ["subagent", "primary", "all"] + "enum": [ + "subagent", + "primary", + "all" + ] }, "color": { "description": "Hex color code for the agent (e.g., #FF5733)", @@ -6481,13 +7600,21 @@ "properties": { "edit": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "bash": { "anyOf": [ { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, { "type": "object", @@ -6496,22 +7623,38 @@ }, "additionalProperties": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] } } ] }, "webfetch": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "doom_loop": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "external_directory": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] } } } @@ -6599,10 +7742,16 @@ "type": "number" } }, - "required": ["input", "output"] + "required": [ + "input", + "output" + ] } }, - "required": ["input", "output"] + "required": [ + "input", + "output" + ] }, "limit": { "type": "object", @@ -6614,7 +7763,10 @@ "type": "number" } }, - "required": ["context", "output"] + "required": [ + "context", + "output" + ] }, "modalities": { "type": "object", @@ -6623,25 +7775,44 @@ "type": "array", "items": { "type": "string", - "enum": ["text", "audio", "image", "video", "pdf"] + "enum": [ + "text", + "audio", + "image", + "video", + "pdf" + ] } }, "output": { "type": "array", "items": { "type": "string", - "enum": ["text", "audio", "image", "video", "pdf"] + "enum": [ + "text", + "audio", + "image", + "video", + "pdf" + ] } } }, - "required": ["input", "output"] + "required": [ + "input", + "output" + ] }, "experimental": { "type": "boolean" }, "status": { "type": "string", - "enum": ["alpha", "beta", "deprecated"] + "enum": [ + "alpha", + "beta", + "deprecated" + ] }, "options": { "type": "object", @@ -6666,7 +7837,9 @@ "type": "string" } }, - "required": ["npm"] + "required": [ + "npm" + ] } } } @@ -6758,7 +7931,10 @@ "maximum": 9007199254740991 } }, - "required": ["type", "command"], + "required": [ + "type", + "command" + ], "additionalProperties": false }, "McpOAuthConfig": { @@ -6824,13 +8000,19 @@ "maximum": 9007199254740991 } }, - "required": ["type", "url"], + "required": [ + "type", + "url" + ], "additionalProperties": false }, "LayoutConfig": { "description": "@deprecated Always uses stretch layout.", "type": "string", - "enum": ["auto", "stretch"] + "enum": [ + "auto", + "stretch" + ] }, "Config": { "type": "object", @@ -6864,12 +8046,17 @@ "type": "boolean" } }, - "required": ["enabled"] + "required": [ + "enabled" + ] }, "diff_style": { "description": "Control diff rendering style: 'auto' adapts to terminal width, 'stacked' always shows single column", "type": "string", - "enum": ["auto", "stacked"] + "enum": [ + "auto", + "stacked" + ] } } }, @@ -6898,7 +8085,9 @@ "type": "boolean" } }, - "required": ["template"] + "required": [ + "template" + ] } }, "watcher": { @@ -6924,7 +8113,11 @@ "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"] + "enum": [ + "manual", + "auto", + "disabled" + ] }, "autoshare": { "description": "@deprecated Use 'share' field instead. Share newly created sessions automatically", @@ -7095,7 +8288,9 @@ "const": true } }, - "required": ["disabled"] + "required": [ + "disabled" + ] }, { "type": "object", @@ -7132,7 +8327,9 @@ "additionalProperties": {} } }, - "required": ["command"] + "required": [ + "command" + ] } ] } @@ -7154,13 +8351,21 @@ "properties": { "edit": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "bash": { "anyOf": [ { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, { "type": "object", @@ -7169,22 +8374,38 @@ }, "additionalProperties": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] } } ] }, "webfetch": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "doom_loop": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "external_directory": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] } } }, @@ -7238,7 +8459,9 @@ } } }, - "required": ["command"] + "required": [ + "command" + ] } } }, @@ -7263,7 +8486,9 @@ } } }, - "required": ["command"] + "required": [ + "command" + ] } } } @@ -7312,7 +8537,11 @@ }, "parameters": {} }, - "required": ["id", "description", "parameters"] + "required": [ + "id", + "description", + "parameters" + ] }, "ToolList": { "type": "array", @@ -7336,7 +8565,12 @@ "type": "string" } }, - "required": ["state", "config", "worktree", "directory"] + "required": [ + "state", + "config", + "worktree", + "directory" + ] }, "VcsInfo": { "type": "object", @@ -7345,7 +8579,9 @@ "type": "string" } }, - "required": ["branch"] + "required": [ + "branch" + ] }, "TextPartInput": { "type": "object", @@ -7376,7 +8612,9 @@ "type": "number" } }, - "required": ["start"] + "required": [ + "start" + ] }, "metadata": { "type": "object", @@ -7386,7 +8624,10 @@ "additionalProperties": {} } }, - "required": ["type", "text"] + "required": [ + "type", + "text" + ] }, "FilePartInput": { "type": "object", @@ -7411,7 +8652,11 @@ "$ref": "#/components/schemas/FilePartSource" } }, - "required": ["type", "mime", "url"] + "required": [ + "type", + "mime", + "url" + ] }, "AgentPartInput": { "type": "object", @@ -7443,10 +8688,17 @@ "maximum": 9007199254740991 } }, - "required": ["value", "start", "end"] + "required": [ + "value", + "start", + "end" + ] } }, - "required": ["type", "name"] + "required": [ + "type", + "name" + ] }, "SubtaskPartInput": { "type": "object", @@ -7468,7 +8720,12 @@ "type": "string" } }, - "required": ["type", "prompt", "description", "agent"] + "required": [ + "type", + "prompt", + "description", + "agent" + ] }, "Command": { "type": "object", @@ -7492,7 +8749,10 @@ "type": "boolean" } }, - "required": ["name", "template"] + "required": [ + "name", + "template" + ] }, "Model": { "type": "object", @@ -7516,7 +8776,11 @@ "type": "string" } }, - "required": ["id", "url", "npm"] + "required": [ + "id", + "url", + "npm" + ] }, "name": { "type": "string" @@ -7555,7 +8819,13 @@ "type": "boolean" } }, - "required": ["text", "audio", "image", "video", "pdf"] + "required": [ + "text", + "audio", + "image", + "video", + "pdf" + ] }, "output": { "type": "object", @@ -7576,10 +8846,23 @@ "type": "boolean" } }, - "required": ["text", "audio", "image", "video", "pdf"] + "required": [ + "text", + "audio", + "image", + "video", + "pdf" + ] } }, - "required": ["temperature", "reasoning", "attachment", "toolcall", "input", "output"] + "required": [ + "temperature", + "reasoning", + "attachment", + "toolcall", + "input", + "output" + ] }, "cost": { "type": "object", @@ -7600,7 +8883,10 @@ "type": "number" } }, - "required": ["read", "write"] + "required": [ + "read", + "write" + ] }, "experimentalOver200K": { "type": "object", @@ -7621,13 +8907,24 @@ "type": "number" } }, - "required": ["read", "write"] + "required": [ + "read", + "write" + ] } }, - "required": ["input", "output", "cache"] + "required": [ + "input", + "output", + "cache" + ] } }, - "required": ["input", "output", "cache"] + "required": [ + "input", + "output", + "cache" + ] }, "limit": { "type": "object", @@ -7639,11 +8936,19 @@ "type": "number" } }, - "required": ["context", "output"] + "required": [ + "context", + "output" + ] }, "status": { "type": "string", - "enum": ["alpha", "beta", "deprecated", "active"] + "enum": [ + "alpha", + "beta", + "deprecated", + "active" + ] }, "options": { "type": "object", @@ -7662,7 +8967,18 @@ } } }, - "required": ["id", "providerID", "api", "name", "capabilities", "cost", "limit", "status", "options", "headers"] + "required": [ + "id", + "providerID", + "api", + "name", + "capabilities", + "cost", + "limit", + "status", + "options", + "headers" + ] }, "Provider": { "type": "object", @@ -7675,7 +8991,12 @@ }, "source": { "type": "string", - "enum": ["env", "config", "custom", "api"] + "enum": [ + "env", + "config", + "custom", + "api" + ] }, "env": { "type": "array", @@ -7703,7 +9024,14 @@ } } }, - "required": ["id", "name", "source", "env", "options", "models"] + "required": [ + "id", + "name", + "source", + "env", + "options", + "models" + ] }, "ProviderAuthMethod": { "type": "object", @@ -7724,7 +9052,10 @@ "type": "string" } }, - "required": ["type", "label"] + "required": [ + "type", + "label" + ] }, "ProviderAuthAuthorization": { "type": "object", @@ -7748,7 +9079,11 @@ "type": "string" } }, - "required": ["url", "method", "instructions"] + "required": [ + "url", + "method", + "instructions" + ] }, "Symbol": { "type": "object", @@ -7769,10 +9104,17 @@ "$ref": "#/components/schemas/Range" } }, - "required": ["uri", "range"] + "required": [ + "uri", + "range" + ] } }, - "required": ["name", "kind", "location"] + "required": [ + "name", + "kind", + "location" + ] }, "FileNode": { "type": "object", @@ -7788,13 +9130,22 @@ }, "type": { "type": "string", - "enum": ["file", "directory"] + "enum": [ + "file", + "directory" + ] }, "ignored": { "type": "boolean" } }, - "required": ["name", "path", "absolute", "type", "ignored"] + "required": [ + "name", + "path", + "absolute", + "type", + "ignored" + ] }, "FileContent": { "type": "object", @@ -7848,14 +9199,24 @@ } } }, - "required": ["oldStart", "oldLines", "newStart", "newLines", "lines"] + "required": [ + "oldStart", + "oldLines", + "newStart", + "newLines", + "lines" + ] } }, "index": { "type": "string" } }, - "required": ["oldFileName", "newFileName", "hunks"] + "required": [ + "oldFileName", + "newFileName", + "hunks" + ] }, "encoding": { "type": "string", @@ -7865,7 +9226,10 @@ "type": "string" } }, - "required": ["type", "content"] + "required": [ + "type", + "content" + ] }, "File": { "type": "object", @@ -7885,10 +9249,19 @@ }, "status": { "type": "string", - "enum": ["added", "deleted", "modified"] + "enum": [ + "added", + "deleted", + "modified" + ] } }, - "required": ["path", "added", "removed", "status"] + "required": [ + "path", + "added", + "removed", + "status" + ] }, "Agent": { "type": "object", @@ -7901,7 +9274,11 @@ }, "mode": { "type": "string", - "enum": ["subagent", "primary", "all"] + "enum": [ + "subagent", + "primary", + "all" + ] }, "builtIn": { "type": "boolean" @@ -7920,7 +9297,11 @@ "properties": { "edit": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "bash": { "type": "object", @@ -7929,23 +9310,42 @@ }, "additionalProperties": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] } }, "webfetch": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "doom_loop": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] }, "external_directory": { "type": "string", - "enum": ["ask", "allow", "deny"] + "enum": [ + "ask", + "allow", + "deny" + ] } }, - "required": ["edit", "bash"] + "required": [ + "edit", + "bash" + ] }, "model": { "type": "object", @@ -7957,7 +9357,10 @@ "type": "string" } }, - "required": ["modelID", "providerID"] + "required": [ + "modelID", + "providerID" + ] }, "prompt": { "type": "string" @@ -7984,7 +9387,14 @@ "maximum": 9007199254740991 } }, - "required": ["name", "mode", "builtIn", "permission", "tools", "options"] + "required": [ + "name", + "mode", + "builtIn", + "permission", + "tools", + "options" + ] }, "MCPStatusConnected": { "type": "object", @@ -7994,7 +9404,9 @@ "const": "connected" } }, - "required": ["status"] + "required": [ + "status" + ] }, "MCPStatusDisabled": { "type": "object", @@ -8004,7 +9416,9 @@ "const": "disabled" } }, - "required": ["status"] + "required": [ + "status" + ] }, "MCPStatusFailed": { "type": "object", @@ -8017,7 +9431,10 @@ "type": "string" } }, - "required": ["status", "error"] + "required": [ + "status", + "error" + ] }, "MCPStatusNeedsAuth": { "type": "object", @@ -8027,7 +9444,9 @@ "const": "needs_auth" } }, - "required": ["status"] + "required": [ + "status" + ] }, "MCPStatusNeedsClientRegistration": { "type": "object", @@ -8040,7 +9459,10 @@ "type": "string" } }, - "required": ["status", "error"] + "required": [ + "status", + "error" + ] }, "MCPStatus": { "anyOf": [ @@ -8086,7 +9508,12 @@ ] } }, - "required": ["id", "name", "root", "status"] + "required": [ + "id", + "name", + "root", + "status" + ] }, "FormatterStatus": { "type": "object", @@ -8104,7 +9531,11 @@ "type": "boolean" } }, - "required": ["name", "extensions", "enabled"] + "required": [ + "name", + "extensions", + "enabled" + ] }, "OAuth": { "type": "object", @@ -8126,7 +9557,12 @@ "type": "string" } }, - "required": ["type", "refresh", "access", "expires"] + "required": [ + "type", + "refresh", + "access", + "expires" + ] }, "ApiAuth": { "type": "object", @@ -8139,7 +9575,10 @@ "type": "string" } }, - "required": ["type", "key"] + "required": [ + "type", + "key" + ] }, "WellKnownAuth": { "type": "object", @@ -8155,7 +9594,11 @@ "type": "string" } }, - "required": ["type", "key", "token"] + "required": [ + "type", + "key", + "token" + ] }, "Auth": { "anyOf": [ @@ -8172,4 +9615,4 @@ } } } -} +} \ No newline at end of file