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


export interface paths {
  "/v1/acp": {
    get: operations["get_v1_acp_servers"];
  };
  "/v1/acp/{server_id}": {
    get: operations["get_v1_acp"];
    post: operations["post_v1_acp"];
    delete: operations["delete_v1_acp"];
  };
  "/v1/agents": {
    get: operations["get_v1_agents"];
  };
  "/v1/agents/{agent}": {
    get: operations["get_v1_agent"];
  };
  "/v1/agents/{agent}/install": {
    post: operations["post_v1_agent_install"];
  };
  "/v1/config/mcp": {
    get: operations["get_v1_config_mcp"];
    put: operations["put_v1_config_mcp"];
    delete: operations["delete_v1_config_mcp"];
  };
  "/v1/config/skills": {
    get: operations["get_v1_config_skills"];
    put: operations["put_v1_config_skills"];
    delete: operations["delete_v1_config_skills"];
  };
  "/v1/fs/entries": {
    get: operations["get_v1_fs_entries"];
  };
  "/v1/fs/entry": {
    delete: operations["delete_v1_fs_entry"];
  };
  "/v1/fs/file": {
    get: operations["get_v1_fs_file"];
    put: operations["put_v1_fs_file"];
  };
  "/v1/fs/mkdir": {
    post: operations["post_v1_fs_mkdir"];
  };
  "/v1/fs/move": {
    post: operations["post_v1_fs_move"];
  };
  "/v1/fs/stat": {
    get: operations["get_v1_fs_stat"];
  };
  "/v1/fs/upload-batch": {
    post: operations["post_v1_fs_upload_batch"];
  };
  "/v1/health": {
    get: operations["get_v1_health"];
  };
  "/v1/processes": {
    /**
     * List all managed processes.
     * @description Returns a list of all processes (running and exited) currently tracked
     * by the runtime, sorted by process ID.
     */
    get: operations["get_v1_processes"];
    /**
     * Create a long-lived managed process.
     * @description Spawns a new process with the given command and arguments. Supports both
     * pipe-based and PTY (tty) modes. Returns the process descriptor on success.
     */
    post: operations["post_v1_processes"];
  };
  "/v1/processes/config": {
    /**
     * Get process runtime configuration.
     * @description Returns the current runtime configuration for the process management API,
     * including limits for concurrency, timeouts, and buffer sizes.
     */
    get: operations["get_v1_processes_config"];
    /**
     * Update process runtime configuration.
     * @description Replaces the runtime configuration for the process management API.
     * Validates that all values are non-zero and clamps default timeout to max.
     */
    post: operations["post_v1_processes_config"];
  };
  "/v1/processes/run": {
    /**
     * Run a one-shot command.
     * @description Executes a command to completion and returns its stdout, stderr, exit code,
     * and duration. Supports configurable timeout and output size limits.
     */
    post: operations["post_v1_processes_run"];
  };
  "/v1/processes/{id}": {
    /**
     * Get a single process by ID.
     * @description Returns the current state of a managed process including its status,
     * PID, exit code, and creation/exit timestamps.
     */
    get: operations["get_v1_process"];
    /**
     * Delete a process record.
     * @description Removes a stopped process from the runtime. Returns 409 if the process
     * is still running; stop or kill it first.
     */
    delete: operations["delete_v1_process"];
  };
  "/v1/processes/{id}/input": {
    /**
     * Write input to a process.
     * @description Sends data to a process's stdin (pipe mode) or PTY writer (tty mode).
     * Data can be encoded as base64, utf8, or text. Returns 413 if the decoded
     * payload exceeds the configured `maxInputBytesPerRequest` limit.
     */
    post: operations["post_v1_process_input"];
  };
  "/v1/processes/{id}/kill": {
    /**
     * Send SIGKILL to a process.
     * @description Sends SIGKILL to the process and optionally waits up to `waitMs`
     * milliseconds for the process to exit before returning.
     */
    post: operations["post_v1_process_kill"];
  };
  "/v1/processes/{id}/logs": {
    /**
     * Fetch process logs.
     * @description Returns buffered log entries for a process. Supports filtering by stream
     * type, tail count, and sequence-based resumption. When `follow=true`,
     * returns an SSE stream that replays buffered entries then streams live output.
     */
    get: operations["get_v1_process_logs"];
  };
  "/v1/processes/{id}/stop": {
    /**
     * Send SIGTERM to a process.
     * @description Sends SIGTERM to the process and optionally waits up to `waitMs`
     * milliseconds for the process to exit before returning.
     */
    post: operations["post_v1_process_stop"];
  };
  "/v1/processes/{id}/terminal/resize": {
    /**
     * Resize a process terminal.
     * @description Sets the PTY window size (columns and rows) for a tty-mode process and
     * sends SIGWINCH so the child process can adapt.
     */
    post: operations["post_v1_process_terminal_resize"];
  };
  "/v1/processes/{id}/terminal/ws": {
    /**
     * Open an interactive WebSocket terminal session.
     * @description Upgrades the connection to a WebSocket for bidirectional PTY I/O. Accepts
     * `access_token` query param for browser-based auth (WebSocket API cannot
     * send custom headers). Streams raw PTY output as binary frames and accepts
     * JSON control frames for input, resize, and close.
     */
    get: operations["get_v1_process_terminal_ws"];
  };
}

export type webhooks = Record<string, never>;

export interface components {
  schemas: {
    AcpEnvelope: {
      error?: unknown;
      id?: unknown;
      jsonrpc: string;
      method?: string | null;
      params?: unknown;
      result?: unknown;
    };
    AcpPostQuery: {
      agent?: string | null;
    };
    AcpServerInfo: {
      agent: string;
      /** Format: int64 */
      createdAtMs: number;
      serverId: string;
    };
    AcpServerListResponse: {
      servers: components["schemas"]["AcpServerInfo"][];
    };
    AgentCapabilities: {
      commandExecution: boolean;
      errorEvents: boolean;
      fileAttachments: boolean;
      fileChanges: boolean;
      images: boolean;
      itemStarted: boolean;
      mcpTools: boolean;
      permissions: boolean;
      planMode: boolean;
      questions: boolean;
      reasoning: boolean;
      sessionLifecycle: boolean;
      sharedProcess: boolean;
      status: boolean;
      streamingDeltas: boolean;
      textMessages: boolean;
      toolCalls: boolean;
      toolResults: boolean;
    };
    AgentInfo: {
      capabilities: components["schemas"]["AgentCapabilities"];
      configError?: string | null;
      configOptions?: unknown[] | null;
      credentialsAvailable: boolean;
      id: string;
      installed: boolean;
      path?: string | null;
      serverStatus?: components["schemas"]["ServerStatusInfo"] | null;
      version?: string | null;
    };
    AgentInstallArtifact: {
      kind: string;
      path: string;
      source: string;
      version?: string | null;
    };
    AgentInstallRequest: {
      agentProcessVersion?: string | null;
      agentVersion?: string | null;
      reinstall?: boolean | null;
    };
    AgentInstallResponse: {
      already_installed: boolean;
      artifacts: components["schemas"]["AgentInstallArtifact"][];
    };
    AgentListResponse: {
      agents: components["schemas"]["AgentInfo"][];
    };
    /** @enum {string} */
    ErrorType: "invalid_request" | "conflict" | "unsupported_agent" | "agent_not_installed" | "install_failed" | "agent_process_exited" | "token_invalid" | "permission_denied" | "not_acceptable" | "unsupported_media_type" | "not_found" | "session_not_found" | "session_already_exists" | "mode_not_supported" | "stream_error" | "timeout";
    FsActionResponse: {
      path: string;
    };
    FsDeleteQuery: {
      path: string;
      recursive?: boolean | null;
    };
    FsEntriesQuery: {
      path?: string | null;
    };
    FsEntry: {
      entryType: components["schemas"]["FsEntryType"];
      modified?: string | null;
      name: string;
      path: string;
      /** Format: int64 */
      size: number;
    };
    /** @enum {string} */
    FsEntryType: "file" | "directory";
    FsMoveRequest: {
      from: string;
      overwrite?: boolean | null;
      to: string;
    };
    FsMoveResponse: {
      from: string;
      to: string;
    };
    FsPathQuery: {
      path: string;
    };
    FsStat: {
      entryType: components["schemas"]["FsEntryType"];
      modified?: string | null;
      path: string;
      /** Format: int64 */
      size: number;
    };
    FsUploadBatchQuery: {
      path?: string | null;
    };
    FsUploadBatchResponse: {
      paths: string[];
      truncated: boolean;
    };
    FsWriteResponse: {
      /** Format: int64 */
      bytesWritten: number;
      path: string;
    };
    HealthResponse: {
      status: string;
    };
    McpConfigQuery: {
      directory: string;
      mcpName: string;
    };
    McpServerConfig: ({
      args?: string[];
      command: string;
      cwd?: string | null;
      enabled?: boolean | null;
      env?: {
        [key: string]: string;
      } | null;
      /** Format: int64 */
      timeoutMs?: number | null;
      /** @enum {string} */
      type: "local";
    }) | ({
      bearerTokenEnvVar?: string | null;
      enabled?: boolean | null;
      envHeaders?: {
        [key: string]: string;
      } | null;
      headers?: {
        [key: string]: string;
      } | null;
      oauth?: Record<string, unknown> | null | null;
      /** Format: int64 */
      timeoutMs?: number | null;
      transport?: string | null;
      /** @enum {string} */
      type: "remote";
      url: string;
    });
    ProblemDetails: {
      detail?: string | null;
      instance?: string | null;
      /** Format: int32 */
      status: number;
      title: string;
      type: string;
      [key: string]: unknown;
    };
    ProcessConfig: {
      /** Format: int64 */
      defaultRunTimeoutMs: number;
      maxConcurrentProcesses: number;
      maxInputBytesPerRequest: number;
      maxLogBytesPerProcess: number;
      maxOutputBytes: number;
      /** Format: int64 */
      maxRunTimeoutMs: number;
    };
    ProcessCreateRequest: {
      args?: string[];
      command: string;
      cwd?: string | null;
      env?: {
        [key: string]: string;
      };
      interactive?: boolean;
      tty?: boolean;
    };
    ProcessInfo: {
      args: string[];
      command: string;
      /** Format: int64 */
      createdAtMs: number;
      cwd?: string | null;
      /** Format: int32 */
      exitCode?: number | null;
      /** Format: int64 */
      exitedAtMs?: number | null;
      id: string;
      interactive: boolean;
      /** Format: int32 */
      pid?: number | null;
      status: components["schemas"]["ProcessState"];
      tty: boolean;
    };
    ProcessInputRequest: {
      data: string;
      encoding?: string | null;
    };
    ProcessInputResponse: {
      bytesWritten: number;
    };
    ProcessListResponse: {
      processes: components["schemas"]["ProcessInfo"][];
    };
    ProcessLogEntry: {
      data: string;
      encoding: string;
      /** Format: int64 */
      sequence: number;
      stream: components["schemas"]["ProcessLogsStream"];
      /** Format: int64 */
      timestampMs: number;
    };
    ProcessLogsQuery: {
      follow?: boolean | null;
      /** Format: int64 */
      since?: number | null;
      stream?: components["schemas"]["ProcessLogsStream"] | null;
      tail?: number | null;
    };
    ProcessLogsResponse: {
      entries: components["schemas"]["ProcessLogEntry"][];
      processId: string;
      stream: components["schemas"]["ProcessLogsStream"];
    };
    /** @enum {string} */
    ProcessLogsStream: "stdout" | "stderr" | "combined" | "pty";
    ProcessRunRequest: {
      args?: string[];
      command: string;
      cwd?: string | null;
      env?: {
        [key: string]: string;
      };
      maxOutputBytes?: number | null;
      /** Format: int64 */
      timeoutMs?: number | null;
    };
    ProcessRunResponse: {
      /** Format: int64 */
      durationMs: number;
      /** Format: int32 */
      exitCode?: number | null;
      stderr: string;
      stderrTruncated: boolean;
      stdout: string;
      stdoutTruncated: boolean;
      timedOut: boolean;
    };
    ProcessSignalQuery: {
      /** Format: int64 */
      waitMs?: number | null;
    };
    /** @enum {string} */
    ProcessState: "running" | "exited";
    ProcessTerminalResizeRequest: {
      /** Format: int32 */
      cols: number;
      /** Format: int32 */
      rows: number;
    };
    ProcessTerminalResizeResponse: {
      /** Format: int32 */
      cols: number;
      /** Format: int32 */
      rows: number;
    };
    /** @enum {string} */
    ServerStatus: "running" | "stopped";
    ServerStatusInfo: {
      status: components["schemas"]["ServerStatus"];
      /** Format: int64 */
      uptimeMs?: number | null;
    };
    SkillSource: {
      ref?: string | null;
      skills?: string[] | null;
      source: string;
      subpath?: string | null;
      type: string;
    };
    SkillsConfig: {
      sources: components["schemas"]["SkillSource"][];
    };
    SkillsConfigQuery: {
      directory: string;
      skillName: string;
    };
  };
  responses: never;
  parameters: never;
  requestBodies: never;
  headers: never;
  pathItems: never;
}

export type $defs = Record<string, never>;

export type external = Record<string, never>;

export interface operations {

  get_v1_acp_servers: {
    responses: {
      /** @description Active ACP server instances */
      200: {
        content: {
          "application/json": components["schemas"]["AcpServerListResponse"];
        };
      };
    };
  };
  get_v1_acp: {
    parameters: {
      path: {
        /** @description Client-defined ACP server id */
        server_id: string;
      };
    };
    responses: {
      /** @description SSE stream of ACP envelopes */
      200: {
        content: never;
      };
      /** @description Invalid request */
      400: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Unknown ACP server */
      404: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Client does not accept SSE responses */
      406: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  post_v1_acp: {
    parameters: {
      query?: {
        /** @description Agent id required for first POST */
        agent?: string | null;
      };
      path: {
        /** @description Client-defined ACP server id */
        server_id: string;
      };
    };
    requestBody: {
      content: {
        "application/json": components["schemas"]["AcpEnvelope"];
      };
    };
    responses: {
      /** @description JSON-RPC response envelope */
      200: {
        content: {
          "application/json": components["schemas"]["AcpEnvelope"];
        };
      };
      /** @description JSON-RPC notification accepted */
      202: {
        content: never;
      };
      /** @description Invalid ACP envelope */
      400: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Unknown ACP server */
      404: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Client does not accept JSON responses */
      406: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description ACP server bound to different agent */
      409: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Unsupported media type */
      415: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description ACP agent process response timeout */
      504: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  delete_v1_acp: {
    parameters: {
      path: {
        /** @description Client-defined ACP server id */
        server_id: string;
      };
    };
    responses: {
      /** @description ACP server closed */
      204: {
        content: never;
      };
    };
  };
  get_v1_agents: {
    parameters: {
      query?: {
        /** @description When true, include version/path/configOptions (slower) */
        config?: boolean | null;
        /** @description When true, bypass version cache */
        no_cache?: boolean | null;
      };
    };
    responses: {
      /** @description List of v1 agents */
      200: {
        content: {
          "application/json": components["schemas"]["AgentListResponse"];
        };
      };
      /** @description Authentication required */
      401: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  get_v1_agent: {
    parameters: {
      query?: {
        /** @description When true, include version/path/configOptions (slower) */
        config?: boolean | null;
        /** @description When true, bypass version cache */
        no_cache?: boolean | null;
      };
      path: {
        /** @description Agent id */
        agent: string;
      };
    };
    responses: {
      /** @description Agent info */
      200: {
        content: {
          "application/json": components["schemas"]["AgentInfo"];
        };
      };
      /** @description Unknown agent */
      400: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Authentication required */
      401: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  post_v1_agent_install: {
    parameters: {
      path: {
        /** @description Agent id */
        agent: string;
      };
    };
    requestBody: {
      content: {
        "application/json": components["schemas"]["AgentInstallRequest"];
      };
    };
    responses: {
      /** @description Agent install result */
      200: {
        content: {
          "application/json": components["schemas"]["AgentInstallResponse"];
        };
      };
      /** @description Invalid request */
      400: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Install failed */
      500: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  get_v1_config_mcp: {
    parameters: {
      query: {
        /** @description Target directory */
        directory: string;
        /** @description MCP entry name */
        mcpName: string;
      };
    };
    responses: {
      /** @description MCP entry */
      200: {
        content: {
          "application/json": components["schemas"]["McpServerConfig"];
        };
      };
      /** @description Entry not found */
      404: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  put_v1_config_mcp: {
    parameters: {
      query: {
        /** @description Target directory */
        directory: string;
        /** @description MCP entry name */
        mcpName: string;
      };
    };
    requestBody: {
      content: {
        "application/json": components["schemas"]["McpServerConfig"];
      };
    };
    responses: {
      /** @description Stored */
      204: {
        content: never;
      };
    };
  };
  delete_v1_config_mcp: {
    parameters: {
      query: {
        /** @description Target directory */
        directory: string;
        /** @description MCP entry name */
        mcpName: string;
      };
    };
    responses: {
      /** @description Deleted */
      204: {
        content: never;
      };
    };
  };
  get_v1_config_skills: {
    parameters: {
      query: {
        /** @description Target directory */
        directory: string;
        /** @description Skill entry name */
        skillName: string;
      };
    };
    responses: {
      /** @description Skills entry */
      200: {
        content: {
          "application/json": components["schemas"]["SkillsConfig"];
        };
      };
      /** @description Entry not found */
      404: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  put_v1_config_skills: {
    parameters: {
      query: {
        /** @description Target directory */
        directory: string;
        /** @description Skill entry name */
        skillName: string;
      };
    };
    requestBody: {
      content: {
        "application/json": components["schemas"]["SkillsConfig"];
      };
    };
    responses: {
      /** @description Stored */
      204: {
        content: never;
      };
    };
  };
  delete_v1_config_skills: {
    parameters: {
      query: {
        /** @description Target directory */
        directory: string;
        /** @description Skill entry name */
        skillName: string;
      };
    };
    responses: {
      /** @description Deleted */
      204: {
        content: never;
      };
    };
  };
  get_v1_fs_entries: {
    parameters: {
      query?: {
        /** @description Directory path */
        path?: string | null;
      };
    };
    responses: {
      /** @description Directory entries */
      200: {
        content: {
          "application/json": components["schemas"]["FsEntry"][];
        };
      };
    };
  };
  delete_v1_fs_entry: {
    parameters: {
      query: {
        /** @description File or directory path */
        path: string;
        /** @description Delete directory recursively */
        recursive?: boolean | null;
      };
    };
    responses: {
      /** @description Delete result */
      200: {
        content: {
          "application/json": components["schemas"]["FsActionResponse"];
        };
      };
    };
  };
  get_v1_fs_file: {
    parameters: {
      query: {
        /** @description File path */
        path: string;
      };
    };
    responses: {
      /** @description File content */
      200: {
        content: never;
      };
    };
  };
  put_v1_fs_file: {
    parameters: {
      query: {
        /** @description File path */
        path: string;
      };
    };
    /** @description Raw file bytes */
    requestBody: {
      content: {
        "text/plain": string;
      };
    };
    responses: {
      /** @description Write result */
      200: {
        content: {
          "application/json": components["schemas"]["FsWriteResponse"];
        };
      };
    };
  };
  post_v1_fs_mkdir: {
    parameters: {
      query: {
        /** @description Directory path */
        path: string;
      };
    };
    responses: {
      /** @description Directory created */
      200: {
        content: {
          "application/json": components["schemas"]["FsActionResponse"];
        };
      };
    };
  };
  post_v1_fs_move: {
    requestBody: {
      content: {
        "application/json": components["schemas"]["FsMoveRequest"];
      };
    };
    responses: {
      /** @description Move result */
      200: {
        content: {
          "application/json": components["schemas"]["FsMoveResponse"];
        };
      };
    };
  };
  get_v1_fs_stat: {
    parameters: {
      query: {
        /** @description Path to stat */
        path: string;
      };
    };
    responses: {
      /** @description Path metadata */
      200: {
        content: {
          "application/json": components["schemas"]["FsStat"];
        };
      };
    };
  };
  post_v1_fs_upload_batch: {
    parameters: {
      query?: {
        /** @description Destination path */
        path?: string | null;
      };
    };
    /** @description tar archive body */
    requestBody: {
      content: {
        "text/plain": string;
      };
    };
    responses: {
      /** @description Upload/extract result */
      200: {
        content: {
          "application/json": components["schemas"]["FsUploadBatchResponse"];
        };
      };
    };
  };
  get_v1_health: {
    responses: {
      /** @description Service health response */
      200: {
        content: {
          "application/json": components["schemas"]["HealthResponse"];
        };
      };
    };
  };
  /**
   * List all managed processes.
   * @description Returns a list of all processes (running and exited) currently tracked
   * by the runtime, sorted by process ID.
   */
  get_v1_processes: {
    responses: {
      /** @description List processes */
      200: {
        content: {
          "application/json": components["schemas"]["ProcessListResponse"];
        };
      };
      /** @description Process API unsupported on this platform */
      501: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  /**
   * Create a long-lived managed process.
   * @description Spawns a new process with the given command and arguments. Supports both
   * pipe-based and PTY (tty) modes. Returns the process descriptor on success.
   */
  post_v1_processes: {
    requestBody: {
      content: {
        "application/json": components["schemas"]["ProcessCreateRequest"];
      };
    };
    responses: {
      /** @description Started process */
      200: {
        content: {
          "application/json": components["schemas"]["ProcessInfo"];
        };
      };
      /** @description Invalid request */
      400: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Process limit or state conflict */
      409: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Process API unsupported on this platform */
      501: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  /**
   * Get process runtime configuration.
   * @description Returns the current runtime configuration for the process management API,
   * including limits for concurrency, timeouts, and buffer sizes.
   */
  get_v1_processes_config: {
    responses: {
      /** @description Current runtime process config */
      200: {
        content: {
          "application/json": components["schemas"]["ProcessConfig"];
        };
      };
      /** @description Process API unsupported on this platform */
      501: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  /**
   * Update process runtime configuration.
   * @description Replaces the runtime configuration for the process management API.
   * Validates that all values are non-zero and clamps default timeout to max.
   */
  post_v1_processes_config: {
    requestBody: {
      content: {
        "application/json": components["schemas"]["ProcessConfig"];
      };
    };
    responses: {
      /** @description Updated runtime process config */
      200: {
        content: {
          "application/json": components["schemas"]["ProcessConfig"];
        };
      };
      /** @description Invalid config */
      400: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Process API unsupported on this platform */
      501: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  /**
   * Run a one-shot command.
   * @description Executes a command to completion and returns its stdout, stderr, exit code,
   * and duration. Supports configurable timeout and output size limits.
   */
  post_v1_processes_run: {
    requestBody: {
      content: {
        "application/json": components["schemas"]["ProcessRunRequest"];
      };
    };
    responses: {
      /** @description One-off command result */
      200: {
        content: {
          "application/json": components["schemas"]["ProcessRunResponse"];
        };
      };
      /** @description Invalid request */
      400: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Process API unsupported on this platform */
      501: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  /**
   * Get a single process by ID.
   * @description Returns the current state of a managed process including its status,
   * PID, exit code, and creation/exit timestamps.
   */
  get_v1_process: {
    parameters: {
      path: {
        /** @description Process ID */
        id: string;
      };
    };
    responses: {
      /** @description Process details */
      200: {
        content: {
          "application/json": components["schemas"]["ProcessInfo"];
        };
      };
      /** @description Unknown process */
      404: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Process API unsupported on this platform */
      501: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  /**
   * Delete a process record.
   * @description Removes a stopped process from the runtime. Returns 409 if the process
   * is still running; stop or kill it first.
   */
  delete_v1_process: {
    parameters: {
      path: {
        /** @description Process ID */
        id: string;
      };
    };
    responses: {
      /** @description Process deleted */
      204: {
        content: never;
      };
      /** @description Unknown process */
      404: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Process is still running */
      409: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Process API unsupported on this platform */
      501: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  /**
   * Write input to a process.
   * @description Sends data to a process's stdin (pipe mode) or PTY writer (tty mode).
   * Data can be encoded as base64, utf8, or text. Returns 413 if the decoded
   * payload exceeds the configured `maxInputBytesPerRequest` limit.
   */
  post_v1_process_input: {
    parameters: {
      path: {
        /** @description Process ID */
        id: string;
      };
    };
    requestBody: {
      content: {
        "application/json": components["schemas"]["ProcessInputRequest"];
      };
    };
    responses: {
      /** @description Input accepted */
      200: {
        content: {
          "application/json": components["schemas"]["ProcessInputResponse"];
        };
      };
      /** @description Invalid request */
      400: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Process not writable */
      409: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Input exceeds configured limit */
      413: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Process API unsupported on this platform */
      501: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  /**
   * Send SIGKILL to a process.
   * @description Sends SIGKILL to the process and optionally waits up to `waitMs`
   * milliseconds for the process to exit before returning.
   */
  post_v1_process_kill: {
    parameters: {
      query?: {
        /** @description Wait up to N ms for process to exit */
        waitMs?: number | null;
      };
      path: {
        /** @description Process ID */
        id: string;
      };
    };
    responses: {
      /** @description Kill signal sent */
      200: {
        content: {
          "application/json": components["schemas"]["ProcessInfo"];
        };
      };
      /** @description Unknown process */
      404: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Process API unsupported on this platform */
      501: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  /**
   * Fetch process logs.
   * @description Returns buffered log entries for a process. Supports filtering by stream
   * type, tail count, and sequence-based resumption. When `follow=true`,
   * returns an SSE stream that replays buffered entries then streams live output.
   */
  get_v1_process_logs: {
    parameters: {
      query?: {
        /** @description stdout|stderr|combined|pty */
        stream?: components["schemas"]["ProcessLogsStream"] | null;
        /** @description Tail N entries */
        tail?: number | null;
        /** @description Follow via SSE */
        follow?: boolean | null;
        /** @description Only entries with sequence greater than this */
        since?: number | null;
      };
      path: {
        /** @description Process ID */
        id: string;
      };
    };
    responses: {
      /** @description Process logs */
      200: {
        content: {
          "application/json": components["schemas"]["ProcessLogsResponse"];
        };
      };
      /** @description Unknown process */
      404: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Process API unsupported on this platform */
      501: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  /**
   * Send SIGTERM to a process.
   * @description Sends SIGTERM to the process and optionally waits up to `waitMs`
   * milliseconds for the process to exit before returning.
   */
  post_v1_process_stop: {
    parameters: {
      query?: {
        /** @description Wait up to N ms for process to exit */
        waitMs?: number | null;
      };
      path: {
        /** @description Process ID */
        id: string;
      };
    };
    responses: {
      /** @description Stop signal sent */
      200: {
        content: {
          "application/json": components["schemas"]["ProcessInfo"];
        };
      };
      /** @description Unknown process */
      404: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Process API unsupported on this platform */
      501: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  /**
   * Resize a process terminal.
   * @description Sets the PTY window size (columns and rows) for a tty-mode process and
   * sends SIGWINCH so the child process can adapt.
   */
  post_v1_process_terminal_resize: {
    parameters: {
      path: {
        /** @description Process ID */
        id: string;
      };
    };
    requestBody: {
      content: {
        "application/json": components["schemas"]["ProcessTerminalResizeRequest"];
      };
    };
    responses: {
      /** @description Resize accepted */
      200: {
        content: {
          "application/json": components["schemas"]["ProcessTerminalResizeResponse"];
        };
      };
      /** @description Invalid request */
      400: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Unknown process */
      404: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Not a terminal process */
      409: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Process API unsupported on this platform */
      501: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
  /**
   * Open an interactive WebSocket terminal session.
   * @description Upgrades the connection to a WebSocket for bidirectional PTY I/O. Accepts
   * `access_token` query param for browser-based auth (WebSocket API cannot
   * send custom headers). Streams raw PTY output as binary frames and accepts
   * JSON control frames for input, resize, and close.
   */
  get_v1_process_terminal_ws: {
    parameters: {
      query?: {
        /** @description Bearer token alternative for WS auth */
        access_token?: string | null;
      };
      path: {
        /** @description Process ID */
        id: string;
      };
    };
    responses: {
      /** @description WebSocket upgraded */
      101: {
        content: never;
      };
      /** @description Invalid websocket frame or upgrade request */
      400: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Unknown process */
      404: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Not a terminal process */
      409: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
      /** @description Process API unsupported on this platform */
      501: {
        content: {
          "application/json": components["schemas"]["ProblemDetails"];
        };
      };
    };
  };
}
