/**
 * This file was auto-generated by openapi-typescript.
 * Do not make direct changes to the file.
 */

export interface paths {
    "/global/health": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get health
         * @description Get health information about the OpenCode server.
         */
        get: operations["global.health"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/global/event": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get global events
         * @description Subscribe to global events from the OpenCode system using server-sent events.
         */
        get: operations["global.event"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/global/dispose": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Dispose instance
         * @description Clean up and dispose all OpenCode instances, releasing all resources.
         */
        post: operations["global.dispose"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/project": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List all projects
         * @description Get a list of projects that have been opened with OpenCode.
         */
        get: operations["project.list"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/project/current": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get current project
         * @description Retrieve the currently active project that OpenCode is working with.
         */
        get: operations["project.current"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/project/{projectID}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        /**
         * Update project
         * @description Update project properties such as name, icon and color.
         */
        patch: operations["project.update"];
        trace?: never;
    };
    "/pty": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List PTY sessions
         * @description Get a list of all active pseudo-terminal (PTY) sessions managed by OpenCode.
         */
        get: operations["pty.list"];
        put?: never;
        /**
         * Create PTY session
         * @description Create a new pseudo-terminal (PTY) session for running shell commands and processes.
         */
        post: operations["pty.create"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/pty/{ptyID}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get PTY session
         * @description Retrieve detailed information about a specific pseudo-terminal (PTY) session.
         */
        get: operations["pty.get"];
        /**
         * Update PTY session
         * @description Update properties of an existing pseudo-terminal (PTY) session.
         */
        put: operations["pty.update"];
        post?: never;
        /**
         * Remove PTY session
         * @description Remove and terminate a specific pseudo-terminal (PTY) session.
         */
        delete: operations["pty.remove"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/pty/{ptyID}/connect": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Connect to PTY session
         * @description Establish a WebSocket connection to interact with a pseudo-terminal (PTY) session in real-time.
         */
        get: operations["pty.connect"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/config": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get configuration
         * @description Retrieve the current OpenCode configuration settings and preferences.
         */
        get: operations["config.get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        /**
         * Update configuration
         * @description Update OpenCode configuration settings and preferences.
         */
        patch: operations["config.update"];
        trace?: never;
    };
    "/experimental/tool/ids": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List tool IDs
         * @description Get a list of all available tool IDs, including both built-in tools and dynamically registered tools.
         */
        get: operations["tool.ids"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/experimental/tool": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List tools
         * @description Get a list of available tools with their JSON schema parameters for a specific provider and model combination.
         */
        get: operations["tool.list"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/instance/dispose": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Dispose instance
         * @description Clean up and dispose the current OpenCode instance, releasing all resources.
         */
        post: operations["instance.dispose"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/path": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get paths
         * @description Retrieve the current working directory and related path information for the OpenCode instance.
         */
        get: operations["path.get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/experimental/worktree": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List worktrees
         * @description List all sandbox worktrees for the current project.
         */
        get: operations["worktree.list"];
        put?: never;
        /**
         * Create worktree
         * @description Create a new git worktree for the current project.
         */
        post: operations["worktree.create"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/vcs": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get VCS info
         * @description Retrieve version control system (VCS) information for the current project, such as git branch.
         */
        get: operations["vcs.get"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List sessions
         * @description Get a list of all OpenCode sessions, sorted by most recently updated.
         */
        get: operations["session.list"];
        put?: never;
        /**
         * Create session
         * @description Create a new OpenCode session for interacting with AI assistants and managing conversations.
         */
        post: operations["session.create"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session/status": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get session status
         * @description Retrieve the current status of all sessions, including active, idle, and completed states.
         */
        get: operations["session.status"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session/{sessionID}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get session
         * @description Retrieve detailed information about a specific OpenCode session.
         */
        get: operations["session.get"];
        put?: never;
        post?: never;
        /**
         * Delete session
         * @description Delete a session and permanently remove all associated data, including messages and history.
         */
        delete: operations["session.delete"];
        options?: never;
        head?: never;
        /**
         * Update session
         * @description Update properties of an existing session, such as title or other metadata.
         */
        patch: operations["session.update"];
        trace?: never;
    };
    "/session/{sessionID}/children": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get session children
         * @description Retrieve all child sessions that were forked from the specified parent session.
         */
        get: operations["session.children"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session/{sessionID}/todo": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get session todos
         * @description Retrieve the todo list associated with a specific session, showing tasks and action items.
         */
        get: operations["session.todo"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session/{sessionID}/init": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Initialize session
         * @description Analyze the current application and create an AGENTS.md file with project-specific agent configurations.
         */
        post: operations["session.init"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session/{sessionID}/fork": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Fork session
         * @description Create a new session by forking an existing session at a specific message point.
         */
        post: operations["session.fork"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session/{sessionID}/abort": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Abort session
         * @description Abort an active session and stop any ongoing AI processing or command execution.
         */
        post: operations["session.abort"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session/{sessionID}/share": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Share session
         * @description Create a shareable link for a session, allowing others to view the conversation.
         */
        post: operations["session.share"];
        /**
         * Unshare session
         * @description Remove the shareable link for a session, making it private again.
         */
        delete: operations["session.unshare"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session/{sessionID}/diff": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get session diff
         * @description Get all file changes (diffs) made during this session.
         */
        get: operations["session.diff"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session/{sessionID}/summarize": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Summarize session
         * @description Generate a concise summary of the session using AI compaction to preserve key information.
         */
        post: operations["session.summarize"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session/{sessionID}/message": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get session messages
         * @description Retrieve all messages in a session, including user prompts and AI responses.
         */
        get: operations["session.messages"];
        put?: never;
        /**
         * Send message
         * @description Create and send a new message to a session, streaming the AI response.
         */
        post: operations["session.prompt"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session/{sessionID}/message/{messageID}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get message
         * @description Retrieve a specific message from a session by its message ID.
         */
        get: operations["session.message"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session/{sessionID}/message/{messageID}/part/{partID}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        post?: never;
        /** @description Delete a part from a message */
        delete: operations["part.delete"];
        options?: never;
        head?: never;
        /** @description Update a part in a message */
        patch: operations["part.update"];
        trace?: never;
    };
    "/session/{sessionID}/prompt_async": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Send async message
         * @description Create and send a new message to a session asynchronously, starting the session if needed and returning immediately.
         */
        post: operations["session.prompt_async"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session/{sessionID}/command": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Send command
         * @description Send a new command to a session for execution by the AI assistant.
         */
        post: operations["session.command"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session/{sessionID}/shell": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Run shell command
         * @description Execute a shell command within the session context and return the AI's response.
         */
        post: operations["session.shell"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session/{sessionID}/revert": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Revert message
         * @description Revert a specific message in a session, undoing its effects and restoring the previous state.
         */
        post: operations["session.revert"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session/{sessionID}/unrevert": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Restore reverted messages
         * @description Restore all previously reverted messages in a session.
         */
        post: operations["session.unrevert"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/session/{sessionID}/permissions/{permissionID}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Respond to permission
         * @deprecated
         * @description Approve or deny a permission request from the AI assistant.
         */
        post: operations["permission.respond"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/permission/{requestID}/reply": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Respond to permission request
         * @description Approve or deny a permission request from the AI assistant.
         */
        post: operations["permission.reply"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/permission": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List pending permissions
         * @description Get all pending permission requests across all sessions.
         */
        get: operations["permission.list"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/question": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List pending questions
         * @description Get all pending question requests across all sessions.
         */
        get: operations["question.list"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/question/{requestID}/reply": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Reply to question request
         * @description Provide answers to a question request from the AI assistant.
         */
        post: operations["question.reply"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/question/{requestID}/reject": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Reject question request
         * @description Reject a question request from the AI assistant.
         */
        post: operations["question.reject"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/command": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List commands
         * @description Get a list of all available commands in the OpenCode system.
         */
        get: operations["command.list"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/config/providers": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List config providers
         * @description Get a list of all configured AI providers and their default models.
         */
        get: operations["config.providers"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/provider": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List providers
         * @description Get a list of all available AI providers, including both available and connected ones.
         */
        get: operations["provider.list"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/provider/auth": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get provider auth methods
         * @description Retrieve available authentication methods for all AI providers.
         */
        get: operations["provider.auth"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/provider/{providerID}/oauth/authorize": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * OAuth authorize
         * @description Initiate OAuth authorization for a specific AI provider to get an authorization URL.
         */
        post: operations["provider.oauth.authorize"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/provider/{providerID}/oauth/callback": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * OAuth callback
         * @description Handle the OAuth callback from a provider after user authorization.
         */
        post: operations["provider.oauth.callback"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/find": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Find text
         * @description Search for text patterns across files in the project using ripgrep.
         */
        get: operations["find.text"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/find/file": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Find files
         * @description Search for files or directories by name or pattern in the project directory.
         */
        get: operations["find.files"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/find/symbol": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Find symbols
         * @description Search for workspace symbols like functions, classes, and variables using LSP.
         */
        get: operations["find.symbols"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/file": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List files
         * @description List files and directories in a specified path.
         */
        get: operations["file.list"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/file/content": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Read file
         * @description Read the content of a specified file.
         */
        get: operations["file.read"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/file/status": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get file status
         * @description Get the git status of all files in the project.
         */
        get: operations["file.status"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/log": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Write log
         * @description Write a log entry to the server logs with specified level and metadata.
         */
        post: operations["app.log"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/agent": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * List agents
         * @description Get a list of all available AI agents in the OpenCode system.
         */
        get: operations["app.agents"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/mcp": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get MCP status
         * @description Get the status of all Model Context Protocol (MCP) servers.
         */
        get: operations["mcp.status"];
        put?: never;
        /**
         * Add MCP server
         * @description Dynamically add a new Model Context Protocol (MCP) server to the system.
         */
        post: operations["mcp.add"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/mcp/{name}/auth": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Start MCP OAuth
         * @description Start OAuth authentication flow for a Model Context Protocol (MCP) server.
         */
        post: operations["mcp.auth.start"];
        /**
         * Remove MCP OAuth
         * @description Remove OAuth credentials for an MCP server
         */
        delete: operations["mcp.auth.remove"];
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/mcp/{name}/auth/callback": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Complete MCP OAuth
         * @description Complete OAuth authentication for a Model Context Protocol (MCP) server using the authorization code.
         */
        post: operations["mcp.auth.callback"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/mcp/{name}/auth/authenticate": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Authenticate MCP OAuth
         * @description Start OAuth flow and wait for callback (opens browser)
         */
        post: operations["mcp.auth.authenticate"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/mcp/{name}/connect": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /** @description Connect an MCP server */
        post: operations["mcp.connect"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/mcp/{name}/disconnect": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /** @description Disconnect an MCP server */
        post: operations["mcp.disconnect"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/experimental/resource": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get MCP resources
         * @description Get all available MCP resources from connected servers. Optionally filter by name.
         */
        get: operations["experimental.resource.list"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/lsp": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get LSP status
         * @description Get LSP server status
         */
        get: operations["lsp.status"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/formatter": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get formatter status
         * @description Get formatter status
         */
        get: operations["formatter.status"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/tui/append-prompt": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Append TUI prompt
         * @description Append prompt to the TUI
         */
        post: operations["tui.appendPrompt"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/tui/open-help": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Open help dialog
         * @description Open the help dialog in the TUI to display user assistance information.
         */
        post: operations["tui.openHelp"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/tui/open-sessions": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Open sessions dialog
         * @description Open the session dialog
         */
        post: operations["tui.openSessions"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/tui/open-themes": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Open themes dialog
         * @description Open the theme dialog
         */
        post: operations["tui.openThemes"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/tui/open-models": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Open models dialog
         * @description Open the model dialog
         */
        post: operations["tui.openModels"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/tui/submit-prompt": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Submit TUI prompt
         * @description Submit the prompt
         */
        post: operations["tui.submitPrompt"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/tui/clear-prompt": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Clear TUI prompt
         * @description Clear the prompt
         */
        post: operations["tui.clearPrompt"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/tui/execute-command": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Execute TUI command
         * @description Execute a TUI command (e.g. agent_cycle)
         */
        post: operations["tui.executeCommand"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/tui/show-toast": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Show TUI toast
         * @description Show a toast notification in the TUI
         */
        post: operations["tui.showToast"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/tui/publish": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Publish TUI event
         * @description Publish a TUI event
         */
        post: operations["tui.publish"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/tui/select-session": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Select session
         * @description Navigate the TUI to display the specified session.
         */
        post: operations["tui.selectSession"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/tui/control/next": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get next TUI request
         * @description Retrieve the next TUI (Terminal User Interface) request from the queue for processing.
         */
        get: operations["tui.control.next"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/tui/control/response": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Submit TUI response
         * @description Submit a response to the TUI request queue to complete a pending request.
         */
        post: operations["tui.control.response"];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/auth/{providerID}": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        /**
         * Set auth credentials
         * @description Set authentication credentials
         */
        put: operations["auth.set"];
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    "/event": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Subscribe to events
         * @description Get events
         */
        get: operations["event.subscribe"];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
}
export type webhooks = Record<string, never>;
export interface components {
    schemas: {
        "Event.tui.prompt.append": {
            /** @constant */
            type: "tui.prompt.append";
            properties: {
                text: string;
            };
        };
        "Event.tui.command.execute": {
            /** @constant */
            type: "tui.command.execute";
            properties: {
                command: ("session.list" | "session.new" | "session.share" | "session.interrupt" | "session.compact" | "session.page.up" | "session.page.down" | "session.half.page.up" | "session.half.page.down" | "session.first" | "session.last" | "prompt.clear" | "prompt.submit" | "agent.cycle") | string;
            };
        };
        "Event.tui.toast.show": {
            /** @constant */
            type: "tui.toast.show";
            properties: {
                title?: string;
                message: string;
                /** @enum {string} */
                variant: "info" | "success" | "warning" | "error";
                /**
                 * @description Duration in milliseconds
                 * @default 5000
                 */
                duration: number;
            };
        };
        "Event.tui.session.select": {
            /** @constant */
            type: "tui.session.select";
            properties: {
                /** @description Session ID to navigate to */
                sessionID: string;
            };
        };
        "Event.installation.updated": {
            /** @constant */
            type: "installation.updated";
            properties: {
                version: string;
            };
        };
        "Event.installation.update-available": {
            /** @constant */
            type: "installation.update-available";
            properties: {
                version: string;
            };
        };
        Project: {
            id: string;
            worktree: string;
            /** @constant */
            vcs?: "git";
            name?: string;
            icon?: {
                url?: string;
                color?: string;
            };
            time: {
                created: number;
                updated: number;
                initialized?: number;
            };
            sandboxes: string[];
        };
        "Event.project.updated": {
            /** @constant */
            type: "project.updated";
            properties: components["schemas"]["Project"];
        };
        "Event.server.instance.disposed": {
            /** @constant */
            type: "server.instance.disposed";
            properties: {
                directory: string;
            };
        };
        "Event.file.edited": {
            /** @constant */
            type: "file.edited";
            properties: {
                file: string;
            };
        };
        "Event.lsp.client.diagnostics": {
            /** @constant */
            type: "lsp.client.diagnostics";
            properties: {
                serverID: string;
                path: string;
            };
        };
        PermissionRequest: {
            id: string;
            sessionID: string;
            permission: string;
            patterns: string[];
            metadata: {
                [key: string]: unknown;
            };
            always: string[];
            tool?: {
                messageID: string;
                callID: string;
            };
        };
        "Event.permission.asked": {
            /** @constant */
            type: "permission.asked";
            properties: components["schemas"]["PermissionRequest"];
        };
        "Event.permission.replied": {
            /** @constant */
            type: "permission.replied";
            properties: {
                sessionID: string;
                requestID: string;
                /** @enum {string} */
                reply: "once" | "always" | "reject";
            };
        };
        SessionStatus: {
            /** @constant */
            type: "idle";
        } | {
            /** @constant */
            type: "retry";
            attempt: number;
            message: string;
            next: number;
        } | {
            /** @constant */
            type: "busy";
        };
        "Event.session.status": {
            /** @constant */
            type: "session.status";
            properties: {
                sessionID: string;
                status: components["schemas"]["SessionStatus"];
            };
        };
        "Event.session.idle": {
            /** @constant */
            type: "session.idle";
            properties: {
                sessionID: string;
            };
        };
        QuestionOption: {
            /** @description Display text (1-5 words, concise) */
            label: string;
            /** @description Explanation of choice */
            description: string;
        };
        QuestionInfo: {
            /** @description Complete question */
            question: string;
            /** @description Very short label (max 12 chars) */
            header: string;
            /** @description Available choices */
            options: components["schemas"]["QuestionOption"][];
            /** @description Allow selecting multiple choices */
            multiple?: boolean;
        };
        QuestionRequest: {
            id: string;
            sessionID: string;
            /** @description Questions to ask */
            questions: components["schemas"]["QuestionInfo"][];
            tool?: {
                messageID: string;
                callID: string;
            };
        };
        "Event.question.asked": {
            /** @constant */
            type: "question.asked";
            properties: components["schemas"]["QuestionRequest"];
        };
        QuestionAnswer: string[];
        "Event.question.replied": {
            /** @constant */
            type: "question.replied";
            properties: {
                sessionID: string;
                requestID: string;
                answers: components["schemas"]["QuestionAnswer"][];
            };
        };
        "Event.question.rejected": {
            /** @constant */
            type: "question.rejected";
            properties: {
                sessionID: string;
                requestID: string;
            };
        };
        Todo: {
            /** @description Brief description of the task */
            content: string;
            /** @description Current status of the task: pending, in_progress, completed, cancelled */
            status: string;
            /** @description Priority level of the task: high, medium, low */
            priority: string;
            /** @description Unique identifier for the todo item */
            id: string;
        };
        "Event.todo.updated": {
            /** @constant */
            type: "todo.updated";
            properties: {
                sessionID: string;
                todos: components["schemas"]["Todo"][];
            };
        };
        Pty: {
            id: string;
            title: string;
            command: string;
            args: string[];
            cwd: string;
            /** @enum {string} */
            status: "running" | "exited";
            pid: number;
        };
        "Event.pty.created": {
            /** @constant */
            type: "pty.created";
            properties: {
                info: components["schemas"]["Pty"];
            };
        };
        "Event.pty.updated": {
            /** @constant */
            type: "pty.updated";
            properties: {
                info: components["schemas"]["Pty"];
            };
        };
        "Event.pty.exited": {
            /** @constant */
            type: "pty.exited";
            properties: {
                id: string;
                exitCode: number;
            };
        };
        "Event.pty.deleted": {
            /** @constant */
            type: "pty.deleted";
            properties: {
                id: string;
            };
        };
        "Event.mcp.tools.changed": {
            /** @constant */
            type: "mcp.tools.changed";
            properties: {
                server: string;
            };
        };
        "Event.file.watcher.updated": {
            /** @constant */
            type: "file.watcher.updated";
            properties: {
                file: string;
                event: "add" | "change" | "unlink";
            };
        };
        "Event.lsp.updated": {
            /** @constant */
            type: "lsp.updated";
            properties: Record<string, never>;
        };
        "Event.command.executed": {
            /** @constant */
            type: "command.executed";
            properties: {
                name: string;
                sessionID: string;
                arguments: string;
                messageID: string;
            };
        };
        "Event.vcs.branch.updated": {
            /** @constant */
            type: "vcs.branch.updated";
            properties: {
                branch?: string;
            };
        };
        FileDiff: {
            file: string;
            before: string;
            after: string;
            additions: number;
            deletions: number;
        };
        UserMessage: {
            id: string;
            sessionID: string;
            /** @constant */
            role: "user";
            time: {
                created: number;
            };
            summary?: {
                title?: string;
                body?: string;
                diffs: components["schemas"]["FileDiff"][];
            };
            agent: string;
            model: {
                providerID: string;
                modelID: string;
            };
            system?: string;
            tools?: {
                [key: string]: boolean;
            };
            variant?: string;
        };
        ProviderAuthError: {
            /** @constant */
            name: "ProviderAuthError";
            data: {
                providerID: string;
                message: string;
            };
        };
        UnknownError: {
            /** @constant */
            name: "UnknownError";
            data: {
                message: string;
            };
        };
        MessageOutputLengthError: {
            /** @constant */
            name: "MessageOutputLengthError";
            data: Record<string, never>;
        };
        MessageAbortedError: {
            /** @constant */
            name: "MessageAbortedError";
            data: {
                message: string;
            };
        };
        APIError: {
            /** @constant */
            name: "APIError";
            data: {
                message: string;
                statusCode?: number;
                isRetryable: boolean;
                responseHeaders?: {
                    [key: string]: string;
                };
                responseBody?: string;
                metadata?: {
                    [key: string]: string;
                };
            };
        };
        AssistantMessage: {
            id: string;
            sessionID: string;
            /** @constant */
            role: "assistant";
            time: {
                created: number;
                completed?: number;
            };
            error?: components["schemas"]["ProviderAuthError"] | components["schemas"]["UnknownError"] | components["schemas"]["MessageOutputLengthError"] | components["schemas"]["MessageAbortedError"] | components["schemas"]["APIError"];
            parentID: string;
            modelID: string;
            providerID: string;
            mode: string;
            agent: string;
            path: {
                cwd: string;
                root: string;
            };
            summary?: boolean;
            cost: number;
            tokens: {
                input: number;
                output: number;
                reasoning: number;
                cache: {
                    read: number;
                    write: number;
                };
            };
            finish?: string;
        };
        Message: components["schemas"]["UserMessage"] | components["schemas"]["AssistantMessage"];
        "Event.message.updated": {
            /** @constant */
            type: "message.updated";
            properties: {
                info: components["schemas"]["Message"];
            };
        };
        "Event.message.removed": {
            /** @constant */
            type: "message.removed";
            properties: {
                sessionID: string;
                messageID: string;
            };
        };
        TextPart: {
            id: string;
            sessionID: string;
            messageID: string;
            /** @constant */
            type: "text";
            text: string;
            synthetic?: boolean;
            ignored?: boolean;
            time?: {
                start: number;
                end?: number;
            };
            metadata?: {
                [key: string]: unknown;
            };
        };
        ReasoningPart: {
            id: string;
            sessionID: string;
            messageID: string;
            /** @constant */
            type: "reasoning";
            text: string;
            metadata?: {
                [key: string]: unknown;
            };
            time: {
                start: number;
                end?: number;
            };
        };
        FilePartSourceText: {
            value: string;
            start: number;
            end: number;
        };
        FileSource: {
            text: components["schemas"]["FilePartSourceText"];
            /** @constant */
            type: "file";
            path: string;
        };
        Range: {
            start: {
                line: number;
                character: number;
            };
            end: {
                line: number;
                character: number;
            };
        };
        SymbolSource: {
            text: components["schemas"]["FilePartSourceText"];
            /** @constant */
            type: "symbol";
            path: string;
            range: components["schemas"]["Range"];
            name: string;
            kind: number;
        };
        ResourceSource: {
            text: components["schemas"]["FilePartSourceText"];
            /** @constant */
            type: "resource";
            clientName: string;
            uri: string;
        };
        FilePartSource: components["schemas"]["FileSource"] | components["schemas"]["SymbolSource"] | components["schemas"]["ResourceSource"];
        FilePart: {
            id: string;
            sessionID: string;
            messageID: string;
            /** @constant */
            type: "file";
            mime: string;
            filename?: string;
            url: string;
            source?: components["schemas"]["FilePartSource"];
        };
        ToolStatePending: {
            /** @constant */
            status: "pending";
            input: {
                [key: string]: unknown;
            };
            raw: string;
        };
        ToolStateRunning: {
            /** @constant */
            status: "running";
            input: {
                [key: string]: unknown;
            };
            title?: string;
            metadata?: {
                [key: string]: unknown;
            };
            time: {
                start: number;
            };
        };
        ToolStateCompleted: {
            /** @constant */
            status: "completed";
            input: {
                [key: string]: unknown;
            };
            output: string;
            title: string;
            metadata: {
                [key: string]: unknown;
            };
            time: {
                start: number;
                end: number;
                compacted?: number;
            };
            attachments?: components["schemas"]["FilePart"][];
        };
        ToolStateError: {
            /** @constant */
            status: "error";
            input: {
                [key: string]: unknown;
            };
            error: string;
            metadata?: {
                [key: string]: unknown;
            };
            time: {
                start: number;
                end: number;
            };
        };
        ToolState: components["schemas"]["ToolStatePending"] | components["schemas"]["ToolStateRunning"] | components["schemas"]["ToolStateCompleted"] | components["schemas"]["ToolStateError"];
        ToolPart: {
            id: string;
            sessionID: string;
            messageID: string;
            /** @constant */
            type: "tool";
            callID: string;
            tool: string;
            state: components["schemas"]["ToolState"];
            metadata?: {
                [key: string]: unknown;
            };
        };
        StepStartPart: {
            id: string;
            sessionID: string;
            messageID: string;
            /** @constant */
            type: "step-start";
            snapshot?: string;
        };
        StepFinishPart: {
            id: string;
            sessionID: string;
            messageID: string;
            /** @constant */
            type: "step-finish";
            reason: string;
            snapshot?: string;
            cost: number;
            tokens: {
                input: number;
                output: number;
                reasoning: number;
                cache: {
                    read: number;
                    write: number;
                };
            };
        };
        SnapshotPart: {
            id: string;
            sessionID: string;
            messageID: string;
            /** @constant */
            type: "snapshot";
            snapshot: string;
        };
        PatchPart: {
            id: string;
            sessionID: string;
            messageID: string;
            /** @constant */
            type: "patch";
            hash: string;
            files: string[];
        };
        AgentPart: {
            id: string;
            sessionID: string;
            messageID: string;
            /** @constant */
            type: "agent";
            name: string;
            source?: {
                value: string;
                start: number;
                end: number;
            };
        };
        RetryPart: {
            id: string;
            sessionID: string;
            messageID: string;
            /** @constant */
            type: "retry";
            attempt: number;
            error: components["schemas"]["APIError"];
            time: {
                created: number;
            };
        };
        CompactionPart: {
            id: string;
            sessionID: string;
            messageID: string;
            /** @constant */
            type: "compaction";
            auto: boolean;
        };
        Part: components["schemas"]["TextPart"] | {
            id: string;
            sessionID: string;
            messageID: string;
            /** @constant */
            type: "subtask";
            prompt: string;
            description: string;
            agent: string;
            command?: string;
        } | components["schemas"]["ReasoningPart"] | components["schemas"]["FilePart"] | components["schemas"]["ToolPart"] | components["schemas"]["StepStartPart"] | components["schemas"]["StepFinishPart"] | components["schemas"]["SnapshotPart"] | components["schemas"]["PatchPart"] | components["schemas"]["AgentPart"] | components["schemas"]["RetryPart"] | components["schemas"]["CompactionPart"];
        "Event.message.part.updated": {
            /** @constant */
            type: "message.part.updated";
            properties: {
                part: components["schemas"]["Part"];
                delta?: string;
            };
        };
        "Event.message.part.removed": {
            /** @constant */
            type: "message.part.removed";
            properties: {
                sessionID: string;
                messageID: string;
                partID: string;
            };
        };
        "Event.session.compacted": {
            /** @constant */
            type: "session.compacted";
            properties: {
                sessionID: string;
            };
        };
        /** @enum {string} */
        PermissionAction: "allow" | "deny" | "ask";
        PermissionRule: {
            permission: string;
            pattern: string;
            action: components["schemas"]["PermissionAction"];
        };
        PermissionRuleset: components["schemas"]["PermissionRule"][];
        Session: {
            id: string;
            projectID: string;
            directory: string;
            parentID?: string;
            summary?: {
                additions: number;
                deletions: number;
                files: number;
                diffs?: components["schemas"]["FileDiff"][];
            };
            share?: {
                url: string;
            };
            title: string;
            version: string;
            time: {
                created: number;
                updated: number;
                compacting?: number;
                archived?: number;
            };
            permission?: components["schemas"]["PermissionRuleset"];
            revert?: {
                messageID: string;
                partID?: string;
                snapshot?: string;
                diff?: string;
            };
        };
        "Event.session.created": {
            /** @constant */
            type: "session.created";
            properties: {
                info: components["schemas"]["Session"];
            };
        };
        "Event.session.updated": {
            /** @constant */
            type: "session.updated";
            properties: {
                info: components["schemas"]["Session"];
            };
        };
        "Event.session.deleted": {
            /** @constant */
            type: "session.deleted";
            properties: {
                info: components["schemas"]["Session"];
            };
        };
        "Event.session.diff": {
            /** @constant */
            type: "session.diff";
            properties: {
                sessionID: string;
                diff: components["schemas"]["FileDiff"][];
            };
        };
        "Event.session.error": {
            /** @constant */
            type: "session.error";
            properties: {
                sessionID?: string;
                error?: components["schemas"]["ProviderAuthError"] | components["schemas"]["UnknownError"] | components["schemas"]["MessageOutputLengthError"] | components["schemas"]["MessageAbortedError"] | components["schemas"]["APIError"];
            };
        };
        "Event.server.connected": {
            /** @constant */
            type: "server.connected";
            properties: Record<string, never>;
        };
        "Event.global.disposed": {
            /** @constant */
            type: "global.disposed";
            properties: Record<string, never>;
        };
        Event: components["schemas"]["Event.tui.prompt.append"] | components["schemas"]["Event.tui.command.execute"] | components["schemas"]["Event.tui.toast.show"] | components["schemas"]["Event.tui.session.select"] | components["schemas"]["Event.installation.updated"] | components["schemas"]["Event.installation.update-available"] | components["schemas"]["Event.project.updated"] | components["schemas"]["Event.server.instance.disposed"] | components["schemas"]["Event.file.edited"] | components["schemas"]["Event.lsp.client.diagnostics"] | components["schemas"]["Event.permission.asked"] | components["schemas"]["Event.permission.replied"] | components["schemas"]["Event.session.status"] | components["schemas"]["Event.session.idle"] | components["schemas"]["Event.question.asked"] | components["schemas"]["Event.question.replied"] | components["schemas"]["Event.question.rejected"] | components["schemas"]["Event.todo.updated"] | components["schemas"]["Event.pty.created"] | components["schemas"]["Event.pty.updated"] | components["schemas"]["Event.pty.exited"] | components["schemas"]["Event.pty.deleted"] | components["schemas"]["Event.mcp.tools.changed"] | components["schemas"]["Event.file.watcher.updated"] | components["schemas"]["Event.lsp.updated"] | components["schemas"]["Event.command.executed"] | components["schemas"]["Event.vcs.branch.updated"] | components["schemas"]["Event.message.updated"] | components["schemas"]["Event.message.removed"] | components["schemas"]["Event.message.part.updated"] | components["schemas"]["Event.message.part.removed"] | components["schemas"]["Event.session.compacted"] | components["schemas"]["Event.session.created"] | components["schemas"]["Event.session.updated"] | components["schemas"]["Event.session.deleted"] | components["schemas"]["Event.session.diff"] | components["schemas"]["Event.session.error"] | components["schemas"]["Event.server.connected"] | components["schemas"]["Event.global.disposed"];
        GlobalEvent: {
            directory: string;
            payload: components["schemas"]["Event"];
        };
        BadRequestError: {
            data: unknown;
            errors: {
                [key: string]: unknown;
            }[];
            /** @constant */
            success: false;
        };
        NotFoundError: {
            /** @constant */
            name: "NotFoundError";
            data: {
                message: string;
            };
        };
        /** @description Custom keybind configurations */
        KeybindsConfig: {
            /**
             * @description Leader key for keybind combinations
             * @default ctrl+x
             */
            leader: string;
            /**
             * @description Exit the application
             * @default ctrl+c,ctrl+d,<leader>q
             */
            app_exit: string;
            /**
             * @description Open external editor
             * @default <leader>e
             */
            editor_open: string;
            /**
             * @description List available themes
             * @default <leader>t
             */
            theme_list: string;
            /**
             * @description Toggle sidebar
             * @default <leader>b
             */
            sidebar_toggle: string;
            /**
             * @description Toggle session scrollbar
             * @default none
             */
            scrollbar_toggle: string;
            /**
             * @description Toggle username visibility
             * @default none
             */
            username_toggle: string;
            /**
             * @description View status
             * @default <leader>s
             */
            status_view: string;
            /**
             * @description Export session to editor
             * @default <leader>x
             */
            session_export: string;
            /**
             * @description Create a new session
             * @default <leader>n
             */
            session_new: string;
            /**
             * @description List all sessions
             * @default <leader>l
             */
            session_list: string;
            /**
             * @description Show session timeline
             * @default <leader>g
             */
            session_timeline: string;
            /**
             * @description Fork session from message
             * @default none
             */
            session_fork: string;
            /**
             * @description Rename session
             * @default none
             */
            session_rename: string;
            /**
             * @description Share current session
             * @default none
             */
            session_share: string;
            /**
             * @description Unshare current session
             * @default none
             */
            session_unshare: string;
            /**
             * @description Interrupt current session
             * @default escape
             */
            session_interrupt: string;
            /**
             * @description Compact the session
             * @default <leader>c
             */
            session_compact: string;
            /**
             * @description Scroll messages up by one page
             * @default pageup
             */
            messages_page_up: string;
            /**
             * @description Scroll messages down by one page
             * @default pagedown
             */
            messages_page_down: string;
            /**
             * @description Scroll messages up by half page
             * @default ctrl+alt+u
             */
            messages_half_page_up: string;
            /**
             * @description Scroll messages down by half page
             * @default ctrl+alt+d
             */
            messages_half_page_down: string;
            /**
             * @description Navigate to first message
             * @default ctrl+g,home
             */
            messages_first: string;
            /**
             * @description Navigate to last message
             * @default ctrl+alt+g,end
             */
            messages_last: string;
            /**
             * @description Navigate to next message
             * @default none
             */
            messages_next: string;
            /**
             * @description Navigate to previous message
             * @default none
             */
            messages_previous: string;
            /**
             * @description Navigate to last user message
             * @default none
             */
            messages_last_user: string;
            /**
             * @description Copy message
             * @default <leader>y
             */
            messages_copy: string;
            /**
             * @description Undo message
             * @default <leader>u
             */
            messages_undo: string;
            /**
             * @description Redo message
             * @default <leader>r
             */
            messages_redo: string;
            /**
             * @description Toggle code block concealment in messages
             * @default <leader>h
             */
            messages_toggle_conceal: string;
            /**
             * @description Toggle tool details visibility
             * @default none
             */
            tool_details: string;
            /**
             * @description List available models
             * @default <leader>m
             */
            model_list: string;
            /**
             * @description Next recently used model
             * @default f2
             */
            model_cycle_recent: string;
            /**
             * @description Previous recently used model
             * @default shift+f2
             */
            model_cycle_recent_reverse: string;
            /**
             * @description Next favorite model
             * @default none
             */
            model_cycle_favorite: string;
            /**
             * @description Previous favorite model
             * @default none
             */
            model_cycle_favorite_reverse: string;
            /**
             * @description List available commands
             * @default ctrl+p
             */
            command_list: string;
            /**
             * @description List agents
             * @default <leader>a
             */
            agent_list: string;
            /**
             * @description Next agent
             * @default tab
             */
            agent_cycle: string;
            /**
             * @description Previous agent
             * @default shift+tab
             */
            agent_cycle_reverse: string;
            /**
             * @description Cycle model variants
             * @default ctrl+t
             */
            variant_cycle: string;
            /**
             * @description Clear input field
             * @default ctrl+c
             */
            input_clear: string;
            /**
             * @description Paste from clipboard
             * @default ctrl+v
             */
            input_paste: string;
            /**
             * @description Submit input
             * @default return
             */
            input_submit: string;
            /**
             * @description Insert newline in input
             * @default shift+return,ctrl+return,alt+return,ctrl+j
             */
            input_newline: string;
            /**
             * @description Move cursor left in input
             * @default left,ctrl+b
             */
            input_move_left: string;
            /**
             * @description Move cursor right in input
             * @default right,ctrl+f
             */
            input_move_right: string;
            /**
             * @description Move cursor up in input
             * @default up
             */
            input_move_up: string;
            /**
             * @description Move cursor down in input
             * @default down
             */
            input_move_down: string;
            /**
             * @description Select left in input
             * @default shift+left
             */
            input_select_left: string;
            /**
             * @description Select right in input
             * @default shift+right
             */
            input_select_right: string;
            /**
             * @description Select up in input
             * @default shift+up
             */
            input_select_up: string;
            /**
             * @description Select down in input
             * @default shift+down
             */
            input_select_down: string;
            /**
             * @description Move to start of line in input
             * @default ctrl+a
             */
            input_line_home: string;
            /**
             * @description Move to end of line in input
             * @default ctrl+e
             */
            input_line_end: string;
            /**
             * @description Select to start of line in input
             * @default ctrl+shift+a
             */
            input_select_line_home: string;
            /**
             * @description Select to end of line in input
             * @default ctrl+shift+e
             */
            input_select_line_end: string;
            /**
             * @description Move to start of visual line in input
             * @default alt+a
             */
            input_visual_line_home: string;
            /**
             * @description Move to end of visual line in input
             * @default alt+e
             */
            input_visual_line_end: string;
            /**
             * @description Select to start of visual line in input
             * @default alt+shift+a
             */
            input_select_visual_line_home: string;
            /**
             * @description Select to end of visual line in input
             * @default alt+shift+e
             */
            input_select_visual_line_end: string;
            /**
             * @description Move to start of buffer in input
             * @default home
             */
            input_buffer_home: string;
            /**
             * @description Move to end of buffer in input
             * @default end
             */
            input_buffer_end: string;
            /**
             * @description Select to start of buffer in input
             * @default shift+home
             */
            input_select_buffer_home: string;
            /**
             * @description Select to end of buffer in input
             * @default shift+end
             */
            input_select_buffer_end: string;
            /**
             * @description Delete line in input
             * @default ctrl+shift+d
             */
            input_delete_line: string;
            /**
             * @description Delete to end of line in input
             * @default ctrl+k
             */
            input_delete_to_line_end: string;
            /**
             * @description Delete to start of line in input
             * @default ctrl+u
             */
            input_delete_to_line_start: string;
            /**
             * @description Backspace in input
             * @default backspace,shift+backspace
             */
            input_backspace: string;
            /**
             * @description Delete character in input
             * @default ctrl+d,delete,shift+delete
             */
            input_delete: string;
            /**
             * @description Undo in input
             * @default ctrl+-,super+z
             */
            input_undo: string;
            /**
             * @description Redo in input
             * @default ctrl+.,super+shift+z
             */
            input_redo: string;
            /**
             * @description Move word forward in input
             * @default alt+f,alt+right,ctrl+right
             */
            input_word_forward: string;
            /**
             * @description Move word backward in input
             * @default alt+b,alt+left,ctrl+left
             */
            input_word_backward: string;
            /**
             * @description Select word forward in input
             * @default alt+shift+f,alt+shift+right
             */
            input_select_word_forward: string;
            /**
             * @description Select word backward in input
             * @default alt+shift+b,alt+shift+left
             */
            input_select_word_backward: string;
            /**
             * @description Delete word forward in input
             * @default alt+d,alt+delete,ctrl+delete
             */
            input_delete_word_forward: string;
            /**
             * @description Delete word backward in input
             * @default ctrl+w,ctrl+backspace,alt+backspace
             */
            input_delete_word_backward: string;
            /**
             * @description Previous history item
             * @default up
             */
            history_previous: string;
            /**
             * @description Next history item
             * @default down
             */
            history_next: string;
            /**
             * @description Next child session
             * @default <leader>right
             */
            session_child_cycle: string;
            /**
             * @description Previous child session
             * @default <leader>left
             */
            session_child_cycle_reverse: string;
            /**
             * @description Go to parent session
             * @default <leader>up
             */
            session_parent: string;
            /**
             * @description Suspend terminal
             * @default ctrl+z
             */
            terminal_suspend: string;
            /**
             * @description Toggle terminal title
             * @default none
             */
            terminal_title_toggle: string;
            /**
             * @description Toggle tips on home screen
             * @default <leader>h
             */
            tips_toggle: string;
        };
        /**
         * @description Log level
         * @enum {string}
         */
        LogLevel: "DEBUG" | "INFO" | "WARN" | "ERROR";
        /** @description Server configuration for opencode serve and web commands */
        ServerConfig: {
            /** @description Port to listen on */
            port?: number;
            /** @description Hostname to listen on */
            hostname?: string;
            /** @description Enable mDNS service discovery */
            mdns?: boolean;
            /** @description Additional domains to allow for CORS */
            cors?: string[];
        };
        /** @enum {string} */
        PermissionActionConfig: "ask" | "allow" | "deny";
        PermissionObjectConfig: {
            [key: string]: components["schemas"]["PermissionActionConfig"];
        };
        PermissionRuleConfig: components["schemas"]["PermissionActionConfig"] | components["schemas"]["PermissionObjectConfig"];
        PermissionConfig: ({
            __originalKeys?: string[];
            read?: components["schemas"]["PermissionRuleConfig"];
            edit?: components["schemas"]["PermissionRuleConfig"];
            glob?: components["schemas"]["PermissionRuleConfig"];
            grep?: components["schemas"]["PermissionRuleConfig"];
            list?: components["schemas"]["PermissionRuleConfig"];
            bash?: components["schemas"]["PermissionRuleConfig"];
            task?: components["schemas"]["PermissionRuleConfig"];
            external_directory?: components["schemas"]["PermissionRuleConfig"];
            todowrite?: components["schemas"]["PermissionActionConfig"];
            todoread?: components["schemas"]["PermissionActionConfig"];
            question?: components["schemas"]["PermissionActionConfig"];
            webfetch?: components["schemas"]["PermissionActionConfig"];
            websearch?: components["schemas"]["PermissionActionConfig"];
            codesearch?: components["schemas"]["PermissionActionConfig"];
            lsp?: components["schemas"]["PermissionRuleConfig"];
            doom_loop?: components["schemas"]["PermissionActionConfig"];
        } & {
            [key: string]: components["schemas"]["PermissionRuleConfig"];
        }) | components["schemas"]["PermissionActionConfig"];
        AgentConfig: {
            model?: string;
            temperature?: number;
            top_p?: number;
            prompt?: string;
            /** @description @deprecated Use 'permission' field instead */
            tools?: {
                [key: string]: boolean;
            };
            disable?: boolean;
            /** @description Description of when to use the agent */
            description?: string;
            /** @enum {string} */
            mode?: "subagent" | "primary" | "all";
            /** @description Hide this subagent from the @ autocomplete menu (default: false, only applies to mode: subagent) */
            hidden?: boolean;
            options?: {
                [key: string]: unknown;
            };
            /** @description Hex color code for the agent (e.g., #FF5733) */
            color?: string;
            /** @description Maximum number of agentic iterations before forcing text-only response */
            steps?: number;
            /** @description @deprecated Use 'steps' field instead. */
            maxSteps?: number;
            permission?: components["schemas"]["PermissionConfig"];
        } & {
            [key: string]: unknown;
        };
        ProviderConfig: {
            api?: string;
            name?: string;
            env?: string[];
            id?: string;
            npm?: string;
            models?: {
                [key: string]: {
                    id?: string;
                    name?: string;
                    family?: string;
                    release_date?: string;
                    attachment?: boolean;
                    reasoning?: boolean;
                    temperature?: boolean;
                    tool_call?: boolean;
                    interleaved?: true | {
                        /** @enum {string} */
                        field: "reasoning_content" | "reasoning_details";
                    };
                    cost?: {
                        input: number;
                        output: number;
                        cache_read?: number;
                        cache_write?: number;
                        context_over_200k?: {
                            input: number;
                            output: number;
                            cache_read?: number;
                            cache_write?: number;
                        };
                    };
                    limit?: {
                        context: number;
                        output: number;
                    };
                    modalities?: {
                        input: ("text" | "audio" | "image" | "video" | "pdf")[];
                        output: ("text" | "audio" | "image" | "video" | "pdf")[];
                    };
                    experimental?: boolean;
                    /** @enum {string} */
                    status?: "alpha" | "beta" | "deprecated";
                    options?: {
                        [key: string]: unknown;
                    };
                    headers?: {
                        [key: string]: string;
                    };
                    provider?: {
                        npm: string;
                    };
                    /** @description Variant-specific configuration */
                    variants?: {
                        [key: string]: {
                            /** @description Disable this variant for the model */
                            disabled?: boolean;
                        } & {
                            [key: string]: unknown;
                        };
                    };
                };
            };
            whitelist?: string[];
            blacklist?: string[];
            options?: {
                apiKey?: string;
                baseURL?: string;
                /** @description GitHub Enterprise URL for copilot authentication */
                enterpriseUrl?: string;
                /** @description Enable promptCacheKey for this provider (default false) */
                setCacheKey?: boolean;
                /** @description Timeout in milliseconds for requests to this provider. Default is 300000 (5 minutes). Set to false to disable timeout. */
                timeout?: number | false;
            } & {
                [key: string]: unknown;
            };
        };
        McpLocalConfig: {
            /**
             * @description Type of MCP server connection
             * @constant
             */
            type: "local";
            /** @description Command and arguments to run the MCP server */
            command: string[];
            /** @description Environment variables to set when running the MCP server */
            environment?: {
                [key: string]: string;
            };
            /** @description Enable or disable the MCP server on startup */
            enabled?: boolean;
            /** @description Timeout in ms for fetching tools from the MCP server. Defaults to 5000 (5 seconds) if not specified. */
            timeout?: number;
        };
        McpOAuthConfig: {
            /** @description OAuth client ID. If not provided, dynamic client registration (RFC 7591) will be attempted. */
            clientId?: string;
            /** @description OAuth client secret (if required by the authorization server) */
            clientSecret?: string;
            /** @description OAuth scopes to request during authorization */
            scope?: string;
        };
        McpRemoteConfig: {
            /**
             * @description Type of MCP server connection
             * @constant
             */
            type: "remote";
            /** @description URL of the remote MCP server */
            url: string;
            /** @description Enable or disable the MCP server on startup */
            enabled?: boolean;
            /** @description Headers to send with the request */
            headers?: {
                [key: string]: string;
            };
            /** @description OAuth authentication configuration for the MCP server. Set to false to disable OAuth auto-detection. */
            oauth?: components["schemas"]["McpOAuthConfig"] | false;
            /** @description Timeout in ms for fetching tools from the MCP server. Defaults to 5000 (5 seconds) if not specified. */
            timeout?: number;
        };
        /**
         * @description @deprecated Always uses stretch layout.
         * @enum {string}
         */
        LayoutConfig: "auto" | "stretch";
        Config: {
            /** @description JSON schema reference for configuration validation */
            $schema?: string;
            /** @description Theme name to use for the interface */
            theme?: string;
            keybinds?: components["schemas"]["KeybindsConfig"];
            logLevel?: components["schemas"]["LogLevel"];
            /** @description TUI specific settings */
            tui?: {
                /** @description TUI scroll speed */
                scroll_speed?: number;
                /** @description Scroll acceleration settings */
                scroll_acceleration?: {
                    /** @description Enable scroll acceleration */
                    enabled: boolean;
                };
                /**
                 * @description Control diff rendering style: 'auto' adapts to terminal width, 'stacked' always shows single column
                 * @enum {string}
                 */
                diff_style?: "auto" | "stacked";
            };
            server?: components["schemas"]["ServerConfig"];
            /** @description Command configuration, see https://opencode.ai/docs/commands */
            command?: {
                [key: string]: {
                    template: string;
                    description?: string;
                    agent?: string;
                    model?: string;
                    subtask?: boolean;
                };
            };
            watcher?: {
                ignore?: string[];
            };
            plugin?: string[];
            snapshot?: boolean;
            /**
             * @description Control sharing behavior:'manual' allows manual sharing via commands, 'auto' enables automatic sharing, 'disabled' disables all sharing
             * @enum {string}
             */
            share?: "manual" | "auto" | "disabled";
            /** @description @deprecated Use 'share' field instead. Share newly created sessions automatically */
            autoshare?: boolean;
            /** @description Automatically update to the latest version. Set to true to auto-update, false to disable, or 'notify' to show update notifications */
            autoupdate?: boolean | "notify";
            /** @description Disable providers that are loaded automatically */
            disabled_providers?: string[];
            /** @description When set, ONLY these providers will be enabled. All other providers will be ignored */
            enabled_providers?: string[];
            /** @description Model to use in the format of provider/model, eg anthropic/claude-2 */
            model?: string;
            /** @description Small model to use for tasks like title generation in the format of provider/model */
            small_model?: string;
            /** @description Default agent to use when none is specified. Must be a primary agent. Falls back to 'build' if not set or if the specified agent is invalid. */
            default_agent?: string;
            /** @description Custom username to display in conversations instead of system username */
            username?: string;
            /** @description @deprecated Use `agent` field instead. */
            mode?: {
                build?: components["schemas"]["AgentConfig"];
                plan?: components["schemas"]["AgentConfig"];
            } & {
                [key: string]: components["schemas"]["AgentConfig"];
            };
            /** @description Agent configuration, see https://opencode.ai/docs/agent */
            agent?: {
                plan?: components["schemas"]["AgentConfig"];
                build?: components["schemas"]["AgentConfig"];
                general?: components["schemas"]["AgentConfig"];
                explore?: components["schemas"]["AgentConfig"];
                title?: components["schemas"]["AgentConfig"];
                summary?: components["schemas"]["AgentConfig"];
                compaction?: components["schemas"]["AgentConfig"];
            } & {
                [key: string]: components["schemas"]["AgentConfig"];
            };
            /** @description Custom provider configurations and model overrides */
            provider?: {
                [key: string]: components["schemas"]["ProviderConfig"];
            };
            /** @description MCP (Model Context Protocol) server configurations */
            mcp?: {
                [key: string]: (components["schemas"]["McpLocalConfig"] | components["schemas"]["McpRemoteConfig"]) | {
                    enabled: boolean;
                };
            };
            formatter?: false | {
                [key: string]: {
                    disabled?: boolean;
                    command?: string[];
                    environment?: {
                        [key: string]: string;
                    };
                    extensions?: string[];
                };
            };
            lsp?: false | {
                [key: string]: {
                    /** @constant */
                    disabled: true;
                } | {
                    command: string[];
                    extensions?: string[];
                    disabled?: boolean;
                    env?: {
                        [key: string]: string;
                    };
                    initialization?: {
                        [key: string]: unknown;
                    };
                };
            };
            /** @description Additional instruction files or patterns to include */
            instructions?: string[];
            layout?: components["schemas"]["LayoutConfig"];
            permission?: components["schemas"]["PermissionConfig"];
            tools?: {
                [key: string]: boolean;
            };
            enterprise?: {
                /** @description Enterprise URL */
                url?: string;
            };
            compaction?: {
                /** @description Enable automatic compaction when context is full (default: true) */
                auto?: boolean;
                /** @description Enable pruning of old tool outputs (default: true) */
                prune?: boolean;
            };
            experimental?: {
                hook?: {
                    file_edited?: {
                        [key: string]: {
                            command: string[];
                            environment?: {
                                [key: string]: string;
                            };
                        }[];
                    };
                    session_completed?: {
                        command: string[];
                        environment?: {
                            [key: string]: string;
                        };
                    }[];
                };
                /** @description Number of retries for chat completions on failure */
                chatMaxRetries?: number;
                disable_paste_summary?: boolean;
                /** @description Enable the batch tool */
                batch_tool?: boolean;
                /** @description Enable OpenTelemetry spans for AI SDK calls (using the 'experimental_telemetry' flag) */
                openTelemetry?: boolean;
                /** @description Tools that should only be available to primary agents. */
                primary_tools?: string[];
                /** @description Continue the agent loop when a tool call is denied */
                continue_loop_on_deny?: boolean;
                /** @description Timeout in milliseconds for model context protocol (MCP) requests */
                mcp_timeout?: number;
            };
        };
        ToolIDs: string[];
        ToolListItem: {
            id: string;
            description: string;
            parameters: unknown;
        };
        ToolList: components["schemas"]["ToolListItem"][];
        Path: {
            home: string;
            state: string;
            config: string;
            worktree: string;
            directory: string;
        };
        Worktree: {
            name: string;
            branch: string;
            directory: string;
        };
        WorktreeCreateInput: {
            name?: string;
            startCommand?: string;
        };
        VcsInfo: {
            branch: string;
        };
        TextPartInput: {
            id?: string;
            /** @constant */
            type: "text";
            text: string;
            synthetic?: boolean;
            ignored?: boolean;
            time?: {
                start: number;
                end?: number;
            };
            metadata?: {
                [key: string]: unknown;
            };
        };
        FilePartInput: {
            id?: string;
            /** @constant */
            type: "file";
            mime: string;
            filename?: string;
            url: string;
            source?: components["schemas"]["FilePartSource"];
        };
        AgentPartInput: {
            id?: string;
            /** @constant */
            type: "agent";
            name: string;
            source?: {
                value: string;
                start: number;
                end: number;
            };
        };
        SubtaskPartInput: {
            id?: string;
            /** @constant */
            type: "subtask";
            prompt: string;
            description: string;
            agent: string;
            command?: string;
        };
        Command: {
            name: string;
            description?: string;
            agent?: string;
            model?: string;
            mcp?: boolean;
            template: string;
            subtask?: boolean;
            hints: string[];
        };
        Model: {
            id: string;
            providerID: string;
            api: {
                id: string;
                url: string;
                npm: string;
            };
            name: string;
            family?: string;
            capabilities: {
                temperature: boolean;
                reasoning: boolean;
                attachment: boolean;
                toolcall: boolean;
                input: {
                    text: boolean;
                    audio: boolean;
                    image: boolean;
                    video: boolean;
                    pdf: boolean;
                };
                output: {
                    text: boolean;
                    audio: boolean;
                    image: boolean;
                    video: boolean;
                    pdf: boolean;
                };
                interleaved: boolean | {
                    /** @enum {string} */
                    field: "reasoning_content" | "reasoning_details";
                };
            };
            cost: {
                input: number;
                output: number;
                cache: {
                    read: number;
                    write: number;
                };
                experimentalOver200K?: {
                    input: number;
                    output: number;
                    cache: {
                        read: number;
                        write: number;
                    };
                };
            };
            limit: {
                context: number;
                output: number;
            };
            /** @enum {string} */
            status: "alpha" | "beta" | "deprecated" | "active";
            options: {
                [key: string]: unknown;
            };
            headers: {
                [key: string]: string;
            };
            release_date: string;
            variants?: {
                [key: string]: {
                    [key: string]: unknown;
                };
            };
        };
        Provider: {
            id: string;
            name: string;
            /** @enum {string} */
            source: "env" | "config" | "custom" | "api";
            env: string[];
            key?: string;
            options: {
                [key: string]: unknown;
            };
            models: {
                [key: string]: components["schemas"]["Model"];
            };
        };
        ProviderAuthMethod: {
            type: "oauth" | "api";
            label: string;
            prompts?: ({
                type: "text";
                key: string;
                message: string;
                placeholder?: string;
            } | {
                type: "select";
                key: string;
                message: string;
                options: {
                    label: string;
                    value: string;
                }[];
                when?: {
                    key: string;
                    value: string;
                };
            })[];
        };
        ProviderAuthAuthorization: {
            url: string;
            method: "auto" | "code";
            instructions: string;
        };
        Symbol: {
            name: string;
            kind: number;
            location: {
                uri: string;
                range: components["schemas"]["Range"];
            };
        };
        FileNode: {
            name: string;
            path: string;
            absolute: string;
            /** @enum {string} */
            type: "file" | "directory";
            ignored: boolean;
        };
        FileContent: {
            /** @constant */
            type: "text";
            content: string;
            diff?: string;
            patch?: {
                oldFileName: string;
                newFileName: string;
                oldHeader?: string;
                newHeader?: string;
                hunks: {
                    oldStart: number;
                    oldLines: number;
                    newStart: number;
                    newLines: number;
                    lines: string[];
                }[];
                index?: string;
            };
            /** @constant */
            encoding?: "base64";
            mimeType?: string;
        };
        File: {
            path: string;
            added: number;
            removed: number;
            /** @enum {string} */
            status: "added" | "deleted" | "modified";
        };
        Agent: {
            name: string;
            description?: string;
            /** @enum {string} */
            mode: "subagent" | "primary" | "all";
            native?: boolean;
            hidden?: boolean;
            topP?: number;
            temperature?: number;
            color?: string;
            permission: components["schemas"]["PermissionRuleset"];
            model?: {
                modelID: string;
                providerID: string;
            };
            prompt?: string;
            options: {
                [key: string]: unknown;
            };
            steps?: number;
        };
        MCPStatusConnected: {
            /** @constant */
            status: "connected";
        };
        MCPStatusDisabled: {
            /** @constant */
            status: "disabled";
        };
        MCPStatusFailed: {
            /** @constant */
            status: "failed";
            error: string;
        };
        MCPStatusNeedsAuth: {
            /** @constant */
            status: "needs_auth";
        };
        MCPStatusNeedsClientRegistration: {
            /** @constant */
            status: "needs_client_registration";
            error: string;
        };
        MCPStatus: components["schemas"]["MCPStatusConnected"] | components["schemas"]["MCPStatusDisabled"] | components["schemas"]["MCPStatusFailed"] | components["schemas"]["MCPStatusNeedsAuth"] | components["schemas"]["MCPStatusNeedsClientRegistration"];
        McpResource: {
            name: string;
            uri: string;
            description?: string;
            mimeType?: string;
            client: string;
        };
        LSPStatus: {
            id: string;
            name: string;
            root: string;
            status: "connected" | "error";
        };
        FormatterStatus: {
            name: string;
            extensions: string[];
            enabled: boolean;
        };
        OAuth: {
            /** @constant */
            type: "oauth";
            refresh: string;
            access: string;
            expires: number;
            accountId?: string;
            enterpriseUrl?: string;
        };
        ApiAuth: {
            /** @constant */
            type: "api";
            key: string;
        };
        WellKnownAuth: {
            /** @constant */
            type: "wellknown";
            key: string;
            token: string;
        };
        Auth: components["schemas"]["OAuth"] | components["schemas"]["ApiAuth"] | components["schemas"]["WellKnownAuth"];
    };
    responses: never;
    parameters: never;
    requestBodies: never;
    headers: never;
    pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
    "global.health": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Health information */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /** @constant */
                        healthy: true;
                        version: string;
                    };
                };
            };
        };
    };
    "global.event": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Event stream */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/event-stream": components["schemas"]["GlobalEvent"];
                };
            };
        };
    };
    "global.dispose": {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Global disposed */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
        };
    };
    "project.list": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of projects */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Project"][];
                };
            };
        };
    };
    "project.current": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Current project information */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Project"];
                };
            };
        };
    };
    "project.update": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                projectID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    name?: string;
                    icon?: {
                        url?: string;
                        color?: string;
                    };
                };
            };
        };
        responses: {
            /** @description Updated project information */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Project"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "pty.list": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of sessions */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Pty"][];
                };
            };
        };
    };
    "pty.create": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    command?: string;
                    args?: string[];
                    cwd?: string;
                    title?: string;
                    env?: {
                        [key: string]: string;
                    };
                };
            };
        };
        responses: {
            /** @description Created session */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Pty"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
        };
    };
    "pty.get": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                ptyID: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Session info */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Pty"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "pty.update": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                ptyID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    title?: string;
                    size?: {
                        rows: number;
                        cols: number;
                    };
                };
            };
        };
        responses: {
            /** @description Updated session */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Pty"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
        };
    };
    "pty.remove": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                ptyID: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Session removed */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "pty.connect": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                ptyID: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Connected session */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "config.get": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Get config info */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Config"];
                };
            };
        };
    };
    "config.update": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": components["schemas"]["Config"];
            };
        };
        responses: {
            /** @description Successfully updated config */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Config"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
        };
    };
    "tool.ids": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Tool IDs */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ToolIDs"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
        };
    };
    "tool.list": {
        parameters: {
            query: {
                directory?: string;
                provider: string;
                model: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Tools */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ToolList"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
        };
    };
    "instance.dispose": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Instance disposed */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
        };
    };
    "path.get": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Path */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Path"];
                };
            };
        };
    };
    "worktree.list": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of worktree directories */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": string[];
                };
            };
        };
    };
    "worktree.create": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": components["schemas"]["WorktreeCreateInput"];
            };
        };
        responses: {
            /** @description Worktree created */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Worktree"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
        };
    };
    "vcs.get": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description VCS info */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["VcsInfo"];
                };
            };
        };
    };
    "session.list": {
        parameters: {
            query?: {
                directory?: string;
                /** @description Filter sessions updated on or after this timestamp (milliseconds since epoch) */
                start?: number;
                /** @description Filter sessions by title (case-insensitive) */
                search?: string;
                /** @description Maximum number of sessions to return */
                limit?: number;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of sessions */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Session"][];
                };
            };
        };
    };
    "session.create": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    parentID?: string;
                    title?: string;
                    permission?: components["schemas"]["PermissionRuleset"];
                };
            };
        };
        responses: {
            /** @description Successfully created session */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Session"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
        };
    };
    "session.status": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Get session status */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        [key: string]: components["schemas"]["SessionStatus"];
                    };
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
        };
    };
    "session.get": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Get session */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Session"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.delete": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successfully deleted session */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.update": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    title?: string;
                    time?: {
                        archived?: number;
                    };
                };
            };
        };
        responses: {
            /** @description Successfully updated session */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Session"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.children": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of children */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Session"][];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.todo": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                /** @description Session ID */
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Todo list */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Todo"][];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.init": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                /** @description Session ID */
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    modelID: string;
                    providerID: string;
                    messageID: string;
                };
            };
        };
        responses: {
            /** @description 200 */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.fork": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    messageID?: string;
                };
            };
        };
        responses: {
            /** @description 200 */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Session"];
                };
            };
        };
    };
    "session.abort": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Aborted session */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.share": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successfully shared session */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Session"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.unshare": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successfully unshared session */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Session"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.diff": {
        parameters: {
            query?: {
                directory?: string;
                messageID?: string;
            };
            header?: never;
            path: {
                /** @description Session ID */
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of diffs */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["FileDiff"][];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.summarize": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                /** @description Session ID */
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    providerID: string;
                    modelID: string;
                    /** @default false */
                    auto?: boolean;
                };
            };
        };
        responses: {
            /** @description Summarized session */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.messages": {
        parameters: {
            query?: {
                directory?: string;
                limit?: number;
            };
            header?: never;
            path: {
                /** @description Session ID */
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of messages */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        info: components["schemas"]["Message"];
                        parts: components["schemas"]["Part"][];
                    }[];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.prompt": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                /** @description Session ID */
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    messageID?: string;
                    model?: {
                        providerID: string;
                        modelID: string;
                    };
                    agent?: string;
                    noReply?: boolean;
                    /** @description @deprecated tools and permissions have been merged, you can set permissions on the session itself now */
                    tools?: {
                        [key: string]: boolean;
                    };
                    system?: string;
                    variant?: string;
                    parts: (components["schemas"]["TextPartInput"] | components["schemas"]["FilePartInput"] | components["schemas"]["AgentPartInput"] | components["schemas"]["SubtaskPartInput"])[];
                };
            };
        };
        responses: {
            /** @description Created message */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        info: components["schemas"]["AssistantMessage"];
                        parts: components["schemas"]["Part"][];
                    };
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.message": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                /** @description Session ID */
                sessionID: string;
                /** @description Message ID */
                messageID: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Message */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        info: components["schemas"]["Message"];
                        parts: components["schemas"]["Part"][];
                    };
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "part.delete": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                /** @description Session ID */
                sessionID: string;
                /** @description Message ID */
                messageID: string;
                /** @description Part ID */
                partID: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successfully deleted part */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "part.update": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                /** @description Session ID */
                sessionID: string;
                /** @description Message ID */
                messageID: string;
                /** @description Part ID */
                partID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": components["schemas"]["Part"];
            };
        };
        responses: {
            /** @description Successfully updated part */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Part"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.prompt_async": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                /** @description Session ID */
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    messageID?: string;
                    model?: {
                        providerID: string;
                        modelID: string;
                    };
                    agent?: string;
                    noReply?: boolean;
                    /** @description @deprecated tools and permissions have been merged, you can set permissions on the session itself now */
                    tools?: {
                        [key: string]: boolean;
                    };
                    system?: string;
                    variant?: string;
                    parts: (components["schemas"]["TextPartInput"] | components["schemas"]["FilePartInput"] | components["schemas"]["AgentPartInput"] | components["schemas"]["SubtaskPartInput"])[];
                };
            };
        };
        responses: {
            /** @description Prompt accepted */
            204: {
                headers: {
                    [name: string]: unknown;
                };
                content?: never;
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.command": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                /** @description Session ID */
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    messageID?: string;
                    agent?: string;
                    model?: string;
                    arguments: string;
                    command: string;
                    variant?: string;
                    parts?: {
                        id?: string;
                        /** @constant */
                        type: "file";
                        mime: string;
                        filename?: string;
                        url: string;
                        source?: components["schemas"]["FilePartSource"];
                    }[];
                };
            };
        };
        responses: {
            /** @description Created message */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        info: components["schemas"]["AssistantMessage"];
                        parts: components["schemas"]["Part"][];
                    };
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.shell": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                /** @description Session ID */
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    agent: string;
                    model?: {
                        providerID: string;
                        modelID: string;
                    };
                    command: string;
                };
            };
        };
        responses: {
            /** @description Created message */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["AssistantMessage"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.revert": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    messageID: string;
                    partID?: string;
                };
            };
        };
        responses: {
            /** @description Updated session */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Session"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "session.unrevert": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                sessionID: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Updated session */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Session"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "permission.respond": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                sessionID: string;
                permissionID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    response: "once" | "always" | "reject";
                };
            };
        };
        responses: {
            /** @description Permission processed successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "permission.reply": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                requestID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    /** @enum {string} */
                    reply: "once" | "always" | "reject";
                    message?: string;
                };
            };
        };
        responses: {
            /** @description Permission processed successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "permission.list": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of pending permissions */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["PermissionRequest"][];
                };
            };
        };
    };
    "question.list": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of pending questions */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["QuestionRequest"][];
                };
            };
        };
    };
    "question.reply": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                requestID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    /** @description User answers in order of questions (each answer is an array of selected labels) */
                    answers: components["schemas"]["QuestionAnswer"][];
                };
            };
        };
        responses: {
            /** @description Question answered successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "question.reject": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                requestID: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Question rejected successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "command.list": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of commands */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Command"][];
                };
            };
        };
    };
    "config.providers": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of providers */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        providers: components["schemas"]["Provider"][];
                        default: {
                            [key: string]: string;
                        };
                    };
                };
            };
        };
    };
    "provider.list": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of providers */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        all: {
                            api?: string;
                            name: string;
                            env: string[];
                            id: string;
                            npm?: string;
                            models: {
                                [key: string]: {
                                    id: string;
                                    name: string;
                                    family?: string;
                                    release_date: string;
                                    attachment: boolean;
                                    reasoning: boolean;
                                    temperature: boolean;
                                    tool_call: boolean;
                                    interleaved?: true | {
                                        /** @enum {string} */
                                        field: "reasoning_content" | "reasoning_details";
                                    };
                                    cost?: {
                                        input: number;
                                        output: number;
                                        cache_read?: number;
                                        cache_write?: number;
                                        context_over_200k?: {
                                            input: number;
                                            output: number;
                                            cache_read?: number;
                                            cache_write?: number;
                                        };
                                    };
                                    limit: {
                                        context: number;
                                        output: number;
                                    };
                                    modalities?: {
                                        input: ("text" | "audio" | "image" | "video" | "pdf")[];
                                        output: ("text" | "audio" | "image" | "video" | "pdf")[];
                                    };
                                    experimental?: boolean;
                                    /** @enum {string} */
                                    status?: "alpha" | "beta" | "deprecated";
                                    options: {
                                        [key: string]: unknown;
                                    };
                                    headers?: {
                                        [key: string]: string;
                                    };
                                    provider?: {
                                        npm: string;
                                    };
                                    variants?: {
                                        [key: string]: {
                                            [key: string]: unknown;
                                        };
                                    };
                                };
                            };
                        }[];
                        default: {
                            [key: string]: string;
                        };
                        connected: string[];
                    };
                };
            };
        };
    };
    "provider.auth": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Provider auth methods */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        [key: string]: components["schemas"]["ProviderAuthMethod"][];
                    };
                };
            };
        };
    };
    "provider.oauth.authorize": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                /** @description Provider ID */
                providerID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    /** @description Auth method index */
                    method: number;
                    inputs?: {
                        [key: string]: string;
                    };
                };
            };
        };
        responses: {
            /** @description Authorization URL and method */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["ProviderAuthAuthorization"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
        };
    };
    "provider.oauth.callback": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                /** @description Provider ID */
                providerID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    /** @description Auth method index */
                    method: number;
                    /** @description OAuth authorization code */
                    code?: string;
                };
            };
        };
        responses: {
            /** @description OAuth callback processed successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
        };
    };
    "find.text": {
        parameters: {
            query: {
                directory?: string;
                pattern: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Matches */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        path: {
                            text: string;
                        };
                        lines: {
                            text: string;
                        };
                        line_number: number;
                        absolute_offset: number;
                        submatches: {
                            match: {
                                text: string;
                            };
                            start: number;
                            end: number;
                        }[];
                    }[];
                };
            };
        };
    };
    "find.files": {
        parameters: {
            query: {
                directory?: string;
                query: string;
                dirs?: "true" | "false";
                type?: "file" | "directory";
                limit?: number;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description File paths */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": string[];
                };
            };
        };
    };
    "find.symbols": {
        parameters: {
            query: {
                directory?: string;
                query: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Symbols */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Symbol"][];
                };
            };
        };
    };
    "file.list": {
        parameters: {
            query: {
                directory?: string;
                path: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Files and directories */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["FileNode"][];
                };
            };
        };
    };
    "file.read": {
        parameters: {
            query: {
                directory?: string;
                path: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description File content */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["FileContent"];
                };
            };
        };
    };
    "file.status": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description File status */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["File"][];
                };
            };
        };
    };
    "app.log": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    /** @description Service name for the log entry */
                    service: string;
                    /**
                     * @description Log level
                     * @enum {string}
                     */
                    level: "debug" | "info" | "error" | "warn";
                    /** @description Log message */
                    message: string;
                    /** @description Additional metadata for the log entry */
                    extra?: {
                        [key: string]: unknown;
                    };
                };
            };
        };
        responses: {
            /** @description Log entry written successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
        };
    };
    "app.agents": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description List of agents */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["Agent"][];
                };
            };
        };
    };
    "mcp.status": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description MCP server status */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        [key: string]: components["schemas"]["MCPStatus"];
                    };
                };
            };
        };
    };
    "mcp.add": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    name: string;
                    config: components["schemas"]["McpLocalConfig"] | components["schemas"]["McpRemoteConfig"];
                };
            };
        };
        responses: {
            /** @description MCP server added successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        [key: string]: components["schemas"]["MCPStatus"];
                    };
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
        };
    };
    "mcp.auth.start": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                name: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description OAuth flow started */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /** @description URL to open in browser for authorization */
                        authorizationUrl: string;
                    };
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "mcp.auth.remove": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                name: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description OAuth credentials removed */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        /** @constant */
                        success: true;
                    };
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "mcp.auth.callback": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                name: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    /** @description Authorization code from OAuth callback */
                    code: string;
                };
            };
        };
        responses: {
            /** @description OAuth authentication completed */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["MCPStatus"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "mcp.auth.authenticate": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                name: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description OAuth authentication completed */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["MCPStatus"];
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "mcp.connect": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                name: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description MCP server connected successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
        };
    };
    "mcp.disconnect": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                name: string;
            };
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description MCP server disconnected successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
        };
    };
    "experimental.resource.list": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description MCP resources */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        [key: string]: components["schemas"]["McpResource"];
                    };
                };
            };
        };
    };
    "lsp.status": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description LSP server status */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["LSPStatus"][];
                };
            };
        };
    };
    "formatter.status": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Formatter status */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["FormatterStatus"][];
                };
            };
        };
    };
    "tui.appendPrompt": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    text: string;
                };
            };
        };
        responses: {
            /** @description Prompt processed successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
        };
    };
    "tui.openHelp": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Help dialog opened successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
        };
    };
    "tui.openSessions": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Session dialog opened successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
        };
    };
    "tui.openThemes": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Theme dialog opened successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
        };
    };
    "tui.openModels": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Model dialog opened successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
        };
    };
    "tui.submitPrompt": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Prompt submitted successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
        };
    };
    "tui.clearPrompt": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Prompt cleared successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
        };
    };
    "tui.executeCommand": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    command: string;
                };
            };
        };
        responses: {
            /** @description Command executed successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
        };
    };
    "tui.showToast": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    title?: string;
                    message: string;
                    /** @enum {string} */
                    variant: "info" | "success" | "warning" | "error";
                    /**
                     * @description Duration in milliseconds
                     * @default 5000
                     */
                    duration?: number;
                };
            };
        };
        responses: {
            /** @description Toast notification shown successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
        };
    };
    "tui.publish": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": components["schemas"]["Event.tui.prompt.append"] | components["schemas"]["Event.tui.command.execute"] | components["schemas"]["Event.tui.toast.show"] | components["schemas"]["Event.tui.session.select"];
            };
        };
        responses: {
            /** @description Event published successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
        };
    };
    "tui.selectSession": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": {
                    /** @description Session ID to navigate to */
                    sessionID: string;
                };
            };
        };
        responses: {
            /** @description Session selected successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
            /** @description Not found */
            404: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["NotFoundError"];
                };
            };
        };
    };
    "tui.control.next": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Next TUI request */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        path: string;
                        body: unknown;
                    };
                };
            };
        };
    };
    "tui.control.response": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": unknown;
            };
        };
        responses: {
            /** @description Response submitted successfully */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
        };
    };
    "auth.set": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path: {
                providerID: string;
            };
            cookie?: never;
        };
        requestBody?: {
            content: {
                "application/json": components["schemas"]["Auth"];
            };
        };
        responses: {
            /** @description Successfully set authentication credentials */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": boolean;
                };
            };
            /** @description Bad request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": components["schemas"]["BadRequestError"];
                };
            };
        };
    };
    "event.subscribe": {
        parameters: {
            query?: {
                directory?: string;
            };
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Event stream */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "text/event-stream": components["schemas"]["Event"];
                };
            };
        };
    };
}
