{
  "schemes": ["https"],
  "swagger": "2.0",
  "info": {
    "description": "Daytona Toolbox API. The base URL comes from the sandbox's `toolboxProxyUrl` field (returned in sandbox DTO by the main Daytona API) plus the sandbox ID: `{toolboxProxyUrl}/{sandboxId}/{endpoint}`. Default for Daytona Cloud: `https://proxy.app.daytona.io/toolbox/{sandboxId}`.",
    "title": "Daytona Toolbox API",
    "contact": {},
    "license": {
      "name": "Apache-2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0"
    },
    "version": "v0.0.0-dev"
  },
  "paths": {
    "/computeruse/a11y/find": {
      "post": {
        "description": "Search the AT-SPI tree for nodes matching a role/name/state filter and return a flat list.",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Find accessibility nodes",
        "operationId": "FindAccessibilityNodes",
        "parameters": [
          {
            "description": "Find request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FindAccessibilityNodesRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/AccessibilityNodesResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "503": {
            "description": "Service Unavailable",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/a11y/node/focus": {
      "post": {
        "description": "Move keyboard focus to the AT-SPI node identified by id (bus-name:object-path).",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Focus an accessibility node",
        "operationId": "FocusAccessibilityNode",
        "parameters": [
          {
            "description": "Node focus request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AccessibilityNodeRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Empty"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "503": {
            "description": "Service Unavailable",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/a11y/node/invoke": {
      "post": {
        "description": "Call an AT-SPI Action on the node. Leave action empty to invoke the node's primary (first) action.",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Invoke an action on an accessibility node",
        "operationId": "InvokeAccessibilityNode",
        "parameters": [
          {
            "description": "Invoke request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AccessibilityInvokeRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Empty"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "503": {
            "description": "Service Unavailable",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/a11y/node/value": {
      "post": {
        "description": "Write the given value to the node via EditableText.SetTextContents or, for numeric controls, Value.CurrentValue.",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Set the value of an accessibility node",
        "operationId": "SetAccessibilityNodeValue",
        "parameters": [
          {
            "description": "Set value request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AccessibilitySetValueRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Empty"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "503": {
            "description": "Service Unavailable",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/a11y/tree": {
      "get": {
        "description": "Fetch the AT-SPI accessibility tree for the focused application, a specific PID, or all registered applications.",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Get accessibility tree",
        "operationId": "GetAccessibilityTree",
        "parameters": [
          {
            "type": "string",
            "description": "Scope: focused | pid | all (default: focused)",
            "name": "scope",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "Process ID when scope=pid",
            "name": "pid",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "Max tree depth (-1 unbounded, 0 root only; default -1)",
            "name": "maxDepth",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/AccessibilityTreeResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "503": {
            "description": "Service Unavailable",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/display/info": {
      "get": {
        "description": "Get information about all available displays",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Get display information",
        "operationId": "GetDisplayInfo",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/DisplayInfoResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/display/windows": {
      "get": {
        "description": "Get information about all open windows",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Get windows information",
        "operationId": "GetWindows",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/WindowsResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/keyboard/down": {
      "post": {
        "description": "Press a key or modifier and hold it down until a matching key up call",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Press and hold a keyboard key",
        "operationId": "KeyDown",
        "parameters": [
          {
            "description": "Key down request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/KeyboardKeyDownRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Empty"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/keyboard/hotkey": {
      "post": {
        "description": "Press a hotkey combination (e.g., ctrl+c, cmd+v)",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Press hotkey",
        "operationId": "PressHotkey",
        "parameters": [
          {
            "description": "Hotkey press request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/KeyboardHotkeyRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Empty"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/keyboard/key": {
      "post": {
        "description": "Press a key with optional modifiers",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Press key",
        "operationId": "PressKey",
        "parameters": [
          {
            "description": "Key press request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/KeyboardPressRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Empty"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/keyboard/type": {
      "post": {
        "description": "Type text with optional delay between keystrokes",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Type text",
        "operationId": "TypeText",
        "parameters": [
          {
            "description": "Text typing request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/KeyboardTypeRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Empty"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/keyboard/up": {
      "post": {
        "description": "Release a key or modifier that is currently held down",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Release a held keyboard key",
        "operationId": "KeyUp",
        "parameters": [
          {
            "description": "Key up request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/KeyboardKeyUpRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Empty"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/mouse/click": {
      "post": {
        "description": "Click the mouse button at the specified coordinates",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Click mouse button",
        "operationId": "Click",
        "parameters": [
          {
            "description": "Mouse click request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MouseClickRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MouseClickResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/mouse/down": {
      "post": {
        "description": "Press and hold a mouse button, optionally moving to the specified coordinates first",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Press mouse button",
        "operationId": "MouseDown",
        "parameters": [
          {
            "description": "Mouse button press request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MouseDownRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MousePositionResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/mouse/drag": {
      "post": {
        "description": "Drag the mouse from start to end coordinates",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Drag mouse",
        "operationId": "Drag",
        "parameters": [
          {
            "description": "Mouse drag request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MouseDragRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MouseDragResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/mouse/move": {
      "post": {
        "description": "Move the mouse cursor to the specified coordinates",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Move mouse cursor",
        "operationId": "MoveMouse",
        "parameters": [
          {
            "description": "Mouse move request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MouseMoveRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MousePositionResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/mouse/position": {
      "get": {
        "description": "Get the current mouse cursor position",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Get mouse position",
        "operationId": "GetMousePosition",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MousePositionResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/mouse/scroll": {
      "post": {
        "description": "Scroll the mouse wheel at the specified coordinates",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Scroll mouse wheel",
        "operationId": "Scroll",
        "parameters": [
          {
            "description": "Mouse scroll request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MouseScrollRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ScrollResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/mouse/up": {
      "post": {
        "description": "Release a held mouse button, optionally moving to the specified coordinates first",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Release mouse button",
        "operationId": "MouseUp",
        "parameters": [
          {
            "description": "Mouse button release request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MouseUpRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MousePositionResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/process-status": {
      "get": {
        "description": "Get the status of all computer use processes",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Get computer use process status",
        "operationId": "GetComputerUseStatus",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ComputerUseStatusResponse"
            }
          }
        }
      }
    },
    "/computeruse/process/{processName}/errors": {
      "get": {
        "description": "Get errors for a specific computer use process",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Get process errors",
        "operationId": "GetProcessErrors",
        "parameters": [
          {
            "type": "string",
            "description": "Process name to get errors for",
            "name": "processName",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProcessErrorsResponse"
            }
          }
        }
      }
    },
    "/computeruse/process/{processName}/logs": {
      "get": {
        "description": "Get logs for a specific computer use process",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Get process logs",
        "operationId": "GetProcessLogs",
        "parameters": [
          {
            "type": "string",
            "description": "Process name to get logs for",
            "name": "processName",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProcessLogsResponse"
            }
          }
        }
      }
    },
    "/computeruse/process/{processName}/restart": {
      "post": {
        "description": "Restart a specific computer use process",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Restart specific process",
        "operationId": "RestartProcess",
        "parameters": [
          {
            "type": "string",
            "description": "Process name to restart",
            "name": "processName",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProcessRestartResponse"
            }
          }
        }
      }
    },
    "/computeruse/process/{processName}/status": {
      "get": {
        "description": "Check if a specific computer use process is running",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Get specific process status",
        "operationId": "GetProcessStatus",
        "parameters": [
          {
            "type": "string",
            "description": "Process name to check",
            "name": "processName",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ProcessStatusResponse"
            }
          }
        }
      }
    },
    "/computeruse/recordings": {
      "get": {
        "description": "Get a list of all recordings (active and completed)",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "List all recordings",
        "operationId": "ListRecordings",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ListRecordingsResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/recordings/start": {
      "post": {
        "description": "Start a new screen recording session",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Start a new recording",
        "operationId": "StartRecording",
        "parameters": [
          {
            "description": "Recording options",
            "name": "request",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/StartRecordingRequest"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/Recording"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/recordings/stop": {
      "post": {
        "description": "Stop an active screen recording session",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Stop a recording",
        "operationId": "StopRecording",
        "parameters": [
          {
            "description": "Recording ID to stop",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/StopRecordingRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Recording"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/recordings/{id}": {
      "get": {
        "description": "Get details of a specific recording by ID",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Get recording details",
        "operationId": "GetRecording",
        "parameters": [
          {
            "type": "string",
            "description": "Recording ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Recording"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "delete": {
        "description": "Delete a recording file by ID",
        "tags": ["computer-use"],
        "summary": "Delete a recording",
        "operationId": "DeleteRecording",
        "parameters": [
          {
            "type": "string",
            "description": "Recording ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/recordings/{id}/download": {
      "get": {
        "description": "Download a recording by providing its ID",
        "produces": ["application/octet-stream"],
        "tags": ["computer-use"],
        "summary": "Download a recording",
        "operationId": "DownloadRecording",
        "parameters": [
          {
            "type": "string",
            "description": "Recording ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "file"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/screenshot": {
      "get": {
        "description": "Take a screenshot of the entire screen",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Take a screenshot",
        "operationId": "TakeScreenshot",
        "parameters": [
          {
            "type": "boolean",
            "description": "Whether to show cursor in screenshot",
            "name": "showCursor",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ScreenshotResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/screenshot/compressed": {
      "get": {
        "description": "Take a compressed screenshot of the entire screen",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Take a compressed screenshot",
        "operationId": "TakeCompressedScreenshot",
        "parameters": [
          {
            "type": "boolean",
            "description": "Whether to show cursor in screenshot",
            "name": "showCursor",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Image format (png or jpeg)",
            "name": "format",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "JPEG quality (1-100)",
            "name": "quality",
            "in": "query"
          },
          {
            "type": "number",
            "description": "Scale factor (0.1-1.0)",
            "name": "scale",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ScreenshotResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/screenshot/region": {
      "get": {
        "description": "Take a screenshot of a specific region of the screen",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Take a region screenshot",
        "operationId": "TakeRegionScreenshot",
        "parameters": [
          {
            "type": "integer",
            "description": "X coordinate of the region",
            "name": "x",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "description": "Y coordinate of the region",
            "name": "y",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "description": "Width of the region",
            "name": "width",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "description": "Height of the region",
            "name": "height",
            "in": "query",
            "required": true
          },
          {
            "type": "boolean",
            "description": "Whether to show cursor in screenshot",
            "name": "showCursor",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ScreenshotResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/screenshot/region/compressed": {
      "get": {
        "description": "Take a compressed screenshot of a specific region of the screen",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Take a compressed region screenshot",
        "operationId": "TakeCompressedRegionScreenshot",
        "parameters": [
          {
            "type": "integer",
            "description": "X coordinate of the region",
            "name": "x",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "description": "Y coordinate of the region",
            "name": "y",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "description": "Width of the region",
            "name": "width",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "description": "Height of the region",
            "name": "height",
            "in": "query",
            "required": true
          },
          {
            "type": "boolean",
            "description": "Whether to show cursor in screenshot",
            "name": "showCursor",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Image format (png or jpeg)",
            "name": "format",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "JPEG quality (1-100)",
            "name": "quality",
            "in": "query"
          },
          {
            "type": "number",
            "description": "Scale factor (0.1-1.0)",
            "name": "scale",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ScreenshotResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/start": {
      "post": {
        "description": "Start all computer use processes and return their status",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Start computer use processes",
        "operationId": "StartComputerUse",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ComputerUseStartResponse"
            }
          }
        }
      }
    },
    "/computeruse/status": {
      "get": {
        "description": "Get the current status of the computer use system",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Get computer use status",
        "operationId": "GetComputerUseSystemStatus",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ComputerUseStatusResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/computeruse/stop": {
      "post": {
        "description": "Stop all computer use processes and return their status",
        "produces": ["application/json"],
        "tags": ["computer-use"],
        "summary": "Stop computer use processes",
        "operationId": "StopComputerUse",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ComputerUseStopResponse"
            }
          }
        }
      }
    },
    "/env": {
      "post": {
        "description": "Update the daemon's process environment. Newly spawned processes, sessions and PTYs inherit the change; already-running processes keep their environment.",
        "produces": ["application/json"],
        "tags": ["server"],
        "summary": "Update process environment",
        "operationId": "UpdateEnv",
        "parameters": [
          {
            "description": "Environment update request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateEnvRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/files": {
      "get": {
        "description": "List files and directories in the specified path. Use the optional depth\nparameter to list recursively: depth=1 (default) lists the directory's\nentries, depth=2 also includes their children, and so on.",
        "produces": ["application/json"],
        "tags": ["file-system"],
        "summary": "List files and directories",
        "operationId": "ListFiles",
        "parameters": [
          {
            "type": "string",
            "description": "Directory path to list (defaults to working directory)",
            "name": "path",
            "in": "query"
          },
          {
            "type": "integer",
            "description": "How many levels deep to list (default: 1, must be \u003e= 1)",
            "name": "depth",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/FileInfo"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "delete": {
        "description": "Delete a file or directory at the specified path",
        "tags": ["file-system"],
        "summary": "Delete a file or directory",
        "operationId": "DeleteFile",
        "parameters": [
          {
            "type": "string",
            "description": "File or directory path to delete",
            "name": "path",
            "in": "query",
            "required": true
          },
          {
            "type": "boolean",
            "description": "Enable recursive deletion for directories",
            "name": "recursive",
            "in": "query"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/files/bulk-download": {
      "post": {
        "description": "Download multiple files by providing their paths. Successful files are returned as multipart parts named `file`. Per-file failures are returned as multipart parts named `error` with JSON payloads shaped like ErrorResponse.",
        "consumes": ["application/json"],
        "produces": ["multipart/form-data"],
        "tags": ["file-system"],
        "summary": "Download multiple files",
        "operationId": "DownloadFiles",
        "parameters": [
          {
            "description": "Paths of files to download",
            "name": "downloadFiles",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FilesDownloadRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Multipart response with file parts and JSON error parts",
            "schema": {
              "$ref": "#/definitions/gin.H"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/files/bulk-upload": {
      "post": {
        "description": "Upload multiple files with their destination paths",
        "consumes": ["multipart/form-data"],
        "tags": ["file-system"],
        "summary": "Upload multiple files",
        "operationId": "UploadFiles",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/UploadFilesResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/UploadFilesResponse"
            }
          }
        }
      }
    },
    "/files/download": {
      "get": {
        "description": "Download a file by providing its path",
        "produces": ["application/octet-stream"],
        "tags": ["file-system"],
        "summary": "Download a file",
        "operationId": "DownloadFile",
        "parameters": [
          {
            "type": "string",
            "description": "File path to download",
            "name": "path",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "file"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/files/find": {
      "get": {
        "description": "Search for text pattern within files in a directory",
        "produces": ["application/json"],
        "tags": ["file-system"],
        "summary": "Find text in files",
        "operationId": "FindInFiles",
        "parameters": [
          {
            "type": "string",
            "description": "Directory path to search in",
            "name": "path",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "Text pattern to search for",
            "name": "pattern",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Match"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/files/folder": {
      "post": {
        "description": "Create a folder with the specified path and optional permissions",
        "consumes": ["application/json"],
        "tags": ["file-system"],
        "summary": "Create a folder",
        "operationId": "CreateFolder",
        "parameters": [
          {
            "type": "string",
            "description": "Folder path to create",
            "name": "path",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "Octal permission mode (default: 0755)",
            "name": "mode",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/files/info": {
      "get": {
        "description": "Get detailed information about a file or directory",
        "produces": ["application/json"],
        "tags": ["file-system"],
        "summary": "Get file information",
        "operationId": "GetFileInfo",
        "parameters": [
          {
            "type": "string",
            "description": "File or directory path",
            "name": "path",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/FileInfo"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/files/move": {
      "post": {
        "description": "Move or rename a file or directory from source to destination",
        "tags": ["file-system"],
        "summary": "Move or rename file/directory",
        "operationId": "MoveFile",
        "parameters": [
          {
            "type": "string",
            "description": "Source file or directory path",
            "name": "source",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "Destination file or directory path",
            "name": "destination",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/files/permissions": {
      "post": {
        "description": "Set file permissions, ownership, and group for a file or directory",
        "tags": ["file-system"],
        "summary": "Set file permissions",
        "operationId": "SetFilePermissions",
        "parameters": [
          {
            "type": "string",
            "description": "File or directory path",
            "name": "path",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "Owner (username or UID)",
            "name": "owner",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Group (group name or GID)",
            "name": "group",
            "in": "query"
          },
          {
            "type": "string",
            "description": "File mode in octal format (e.g., 0755)",
            "name": "mode",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/files/replace": {
      "post": {
        "description": "Replace text pattern with new value in multiple files",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["file-system"],
        "summary": "Replace text in files",
        "operationId": "ReplaceInFiles",
        "parameters": [
          {
            "description": "Replace request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ReplaceRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ReplaceResult"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/files/search": {
      "get": {
        "description": "Search for files matching a specific pattern in a directory",
        "produces": ["application/json"],
        "tags": ["file-system"],
        "summary": "Search files by pattern",
        "operationId": "SearchFiles",
        "parameters": [
          {
            "type": "string",
            "description": "Directory path to search in",
            "name": "path",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "File pattern to match (e.g., *.txt, *.go)",
            "name": "pattern",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SearchFilesResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/files/upload-v2": {
      "post": {
        "description": "Upload a file to the specified path. Accepts either multipart/form-data\n(field \"file\") or a raw request body (e.g. application/octet-stream).\nParent directories are created if missing; an existing file is overwritten.",
        "consumes": ["multipart/form-data"],
        "produces": ["application/json"],
        "tags": ["file-system"],
        "summary": "Upload a file",
        "operationId": "UploadFile",
        "parameters": [
          {
            "type": "string",
            "description": "Destination path for the uploaded file",
            "name": "path",
            "in": "query",
            "required": true
          },
          {
            "type": "file",
            "description": "File to upload (multipart/form-data)",
            "name": "file",
            "in": "formData"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/UploadedFile"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/git/add": {
      "post": {
        "description": "Add files to the Git staging area",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Add files to Git staging",
        "operationId": "AddFiles",
        "parameters": [
          {
            "description": "Add files request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GitAddRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/git/branches": {
      "get": {
        "description": "Get a list of all branches in the Git repository",
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "List branches",
        "operationId": "ListBranches",
        "parameters": [
          {
            "type": "string",
            "description": "Repository path",
            "name": "path",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ListBranchResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "post": {
        "description": "Create a new branch in the Git repository",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Create a new branch",
        "operationId": "CreateBranch",
        "parameters": [
          {
            "description": "Create branch request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GitBranchRequest"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "delete": {
        "description": "Delete a branch from the Git repository",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Delete a branch",
        "operationId": "DeleteBranch",
        "parameters": [
          {
            "description": "Delete branch request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GitDeleteBranchRequest"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/git/checkout": {
      "post": {
        "description": "Switch to a different branch or commit in the Git repository",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Checkout branch or commit",
        "operationId": "CheckoutBranch",
        "parameters": [
          {
            "description": "Checkout request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GitCheckoutRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/git/clone": {
      "post": {
        "description": "Clone a Git repository to the specified path. Defaults to strict TLS verification; set insecure_skip_tls=true to skip verification for self-signed or private-CA Git servers.",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Clone a Git repository",
        "operationId": "CloneRepository",
        "parameters": [
          {
            "description": "Clone repository request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GitCloneRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/git/commit": {
      "post": {
        "description": "Commit staged changes to the Git repository",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Commit changes",
        "operationId": "CommitChanges",
        "parameters": [
          {
            "description": "Commit request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GitCommitRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/GitCommitResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/git/config": {
      "get": {
        "description": "Get a Git config value at the given scope (null when unset)",
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Get a Git config value",
        "operationId": "GetGitConfig",
        "parameters": [
          {
            "type": "string",
            "description": "Config key (e.g. user.name)",
            "name": "key",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "Repository path (required for local scope)",
            "name": "path",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Config scope: global (default), local or system",
            "name": "scope",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/GitConfigResponse"
            }
          }
        }
      },
      "post": {
        "description": "Set a Git config key/value at the given scope",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Set a Git config value",
        "operationId": "SetGitConfig",
        "parameters": [
          {
            "description": "Set config request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GitSetConfigRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/git/config/user": {
      "post": {
        "description": "Configure the Git user name and email at the given scope",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Configure Git user",
        "operationId": "ConfigureUser",
        "parameters": [
          {
            "description": "Configure user request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GitConfigureUserRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/git/credentials": {
      "post": {
        "description": "Persist Git credentials globally via the credential store. Stores the password in plaintext on disk.",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Authenticate Git",
        "operationId": "Authenticate",
        "parameters": [
          {
            "description": "Authenticate request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GitAuthenticateRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/git/history": {
      "get": {
        "description": "Get the commit history of the Git repository",
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Get commit history",
        "operationId": "GetCommitHistory",
        "parameters": [
          {
            "type": "string",
            "description": "Repository path",
            "name": "path",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/GitCommitInfo"
              }
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/git/init": {
      "post": {
        "description": "Initialize a new Git repository at the specified path",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Initialize a Git repository",
        "operationId": "InitRepository",
        "parameters": [
          {
            "description": "Init repository request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GitInitRequest"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          }
        }
      }
    },
    "/git/pull": {
      "post": {
        "description": "Pull changes from the remote Git repository",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Pull changes from remote",
        "operationId": "PullChanges",
        "parameters": [
          {
            "description": "Pull request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GitPullRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/git/push": {
      "post": {
        "description": "Push local changes to the remote Git repository",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Push changes to remote",
        "operationId": "PushChanges",
        "parameters": [
          {
            "description": "Push request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GitPushRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "description": "Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/git/remotes": {
      "get": {
        "description": "List the remotes configured in the Git repository",
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "List remotes",
        "operationId": "ListRemotes",
        "parameters": [
          {
            "type": "string",
            "description": "Repository path",
            "name": "path",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ListRemotesResponse"
            }
          }
        }
      },
      "post": {
        "description": "Add (or overwrite) a remote in the Git repository",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Add a remote",
        "operationId": "AddRemote",
        "parameters": [
          {
            "description": "Add remote request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GitAddRemoteRequest"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          }
        }
      }
    },
    "/git/reset": {
      "post": {
        "description": "Reset the current HEAD to the specified state",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Reset repository",
        "operationId": "ResetChanges",
        "parameters": [
          {
            "description": "Reset request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GitResetRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/git/restore": {
      "post": {
        "description": "Restore working tree files or unstage changes",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Restore files",
        "operationId": "RestoreFiles",
        "parameters": [
          {
            "description": "Restore request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GitRestoreRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/git/status": {
      "get": {
        "description": "Get the Git status of the repository at the specified path",
        "produces": ["application/json"],
        "tags": ["git"],
        "summary": "Get Git status",
        "operationId": "GetStatus",
        "parameters": [
          {
            "type": "string",
            "description": "Repository path",
            "name": "path",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/GitStatus"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/init": {
      "post": {
        "description": "Set the auth token and initialize telemetry for the toolbox server",
        "produces": ["application/json"],
        "tags": ["server"],
        "summary": "Initialize toolbox server",
        "operationId": "Initialize",
        "parameters": [
          {
            "description": "Initialization request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/InitializeRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "/lsp/completions": {
      "post": {
        "description": "Get code completion suggestions from the LSP server",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["lsp"],
        "summary": "Get code completions",
        "operationId": "Completions",
        "parameters": [
          {
            "description": "Completion request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LspCompletionParams"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CompletionList"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/lsp/did-close": {
      "post": {
        "description": "Notify the LSP server that a document has been closed",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["lsp"],
        "summary": "Notify document closed",
        "operationId": "DidClose",
        "parameters": [
          {
            "description": "Document request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LspDocumentRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/lsp/did-open": {
      "post": {
        "description": "Notify the LSP server that a document has been opened",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["lsp"],
        "summary": "Notify document opened",
        "operationId": "DidOpen",
        "parameters": [
          {
            "description": "Document request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LspDocumentRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/lsp/document-symbols": {
      "get": {
        "description": "Get symbols (functions, classes, etc.) from a document",
        "produces": ["application/json"],
        "tags": ["lsp"],
        "summary": "Get document symbols",
        "operationId": "DocumentSymbols",
        "parameters": [
          {
            "type": "string",
            "description": "Language ID (e.g., python, typescript)",
            "name": "languageId",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "Path to project",
            "name": "pathToProject",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "Document URI",
            "name": "uri",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/LspSymbol"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/lsp/start": {
      "post": {
        "description": "Start a Language Server Protocol server for the specified language",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["lsp"],
        "summary": "Start LSP server",
        "operationId": "Start",
        "parameters": [
          {
            "description": "LSP server request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LspServerRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/lsp/stop": {
      "post": {
        "description": "Stop a Language Server Protocol server",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["lsp"],
        "summary": "Stop LSP server",
        "operationId": "Stop",
        "parameters": [
          {
            "description": "LSP server request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/LspServerRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/lsp/workspacesymbols": {
      "get": {
        "description": "Search for symbols across the entire workspace",
        "produces": ["application/json"],
        "tags": ["lsp"],
        "summary": "Get workspace symbols",
        "operationId": "WorkspaceSymbols",
        "parameters": [
          {
            "type": "string",
            "description": "Search query",
            "name": "query",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "Language ID (e.g., python, typescript)",
            "name": "languageId",
            "in": "query",
            "required": true
          },
          {
            "type": "string",
            "description": "Path to project",
            "name": "pathToProject",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/LspSymbol"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/port": {
      "get": {
        "description": "Get a list of all currently active ports",
        "produces": ["application/json"],
        "tags": ["port"],
        "summary": "Get active ports",
        "operationId": "GetPorts",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PortList"
            }
          }
        }
      }
    },
    "/port/{port}/in-use": {
      "get": {
        "description": "Check if a specific port is currently in use",
        "produces": ["application/json"],
        "tags": ["port"],
        "summary": "Check if port is in use",
        "operationId": "IsPortInUse",
        "parameters": [
          {
            "type": "integer",
            "description": "Port number (3000-9999)",
            "name": "port",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/IsPortInUseResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/process/code-run": {
      "post": {
        "description": "Execute Python, JavaScript, or TypeScript code and return output, exit code, and artifacts",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["process"],
        "summary": "Execute code",
        "operationId": "CodeRun",
        "parameters": [
          {
            "description": "Code execution request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CodeRunRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/CodeRunResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "408": {
            "description": "Request Timeout",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/process/execute": {
      "post": {
        "description": "Execute a shell command and return the output and exit code",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["process"],
        "summary": "Execute a command",
        "operationId": "ExecuteCommand",
        "parameters": [
          {
            "description": "Command execution request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ExecuteRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ExecuteResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "408": {
            "description": "Request Timeout",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/process/interpreter/context": {
      "get": {
        "description": "Returns information about all user-created interpreter contexts (excludes default context)",
        "produces": ["application/json"],
        "tags": ["interpreter"],
        "summary": "List all user-created interpreter contexts",
        "operationId": "ListInterpreterContexts",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ListContextsResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "post": {
        "description": "Creates a new isolated interpreter context with optional working directory and language",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["interpreter"],
        "summary": "Create a new interpreter context",
        "operationId": "CreateInterpreterContext",
        "parameters": [
          {
            "description": "Context configuration",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateContextRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/InterpreterContext"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/process/interpreter/context/{id}": {
      "delete": {
        "description": "Deletes an interpreter context and shuts down its worker process",
        "produces": ["application/json"],
        "tags": ["interpreter"],
        "summary": "Delete an interpreter context",
        "operationId": "DeleteInterpreterContext",
        "parameters": [
          {
            "type": "string",
            "description": "Context ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/process/interpreter/execute": {
      "get": {
        "description": "Executes code in a specified context (or default context if not specified) via WebSocket streaming",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["interpreter"],
        "summary": "Execute code in an interpreter context",
        "operationId": "ExecuteInterpreterCode",
        "responses": {
          "101": {
            "description": "Switching Protocols",
            "schema": {
              "type": "string"
            },
            "headers": {
              "Connection": {
                "type": "string",
                "description": "Upgrade"
              },
              "Upgrade": {
                "type": "string",
                "description": "websocket"
              }
            }
          }
        }
      }
    },
    "/process/pty": {
      "get": {
        "description": "Get a list of all active pseudo-terminal sessions",
        "produces": ["application/json"],
        "tags": ["process"],
        "summary": "List all PTY sessions",
        "operationId": "ListPtySessions",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PtyListResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "post": {
        "description": "Create a new pseudo-terminal session with specified configuration",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["process"],
        "summary": "Create a new PTY session",
        "operationId": "CreatePtySession",
        "parameters": [
          {
            "description": "PTY session creation request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PtyCreateRequest"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/PtyCreateResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/process/pty/{sessionId}": {
      "get": {
        "description": "Get detailed information about a specific pseudo-terminal session",
        "produces": ["application/json"],
        "tags": ["process"],
        "summary": "Get PTY session information",
        "operationId": "GetPtySession",
        "parameters": [
          {
            "type": "string",
            "description": "PTY session ID",
            "name": "sessionId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PtySessionInfo"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "delete": {
        "description": "Delete a pseudo-terminal session and terminate its process",
        "produces": ["application/json"],
        "tags": ["process"],
        "summary": "Delete a PTY session",
        "operationId": "DeletePtySession",
        "parameters": [
          {
            "type": "string",
            "description": "PTY session ID",
            "name": "sessionId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/gin.H"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/process/pty/{sessionId}/connect": {
      "get": {
        "description": "Establish a WebSocket connection to interact with a pseudo-terminal session",
        "tags": ["process"],
        "summary": "Connect to PTY session via WebSocket",
        "operationId": "ConnectPtySession",
        "parameters": [
          {
            "type": "string",
            "description": "PTY session ID",
            "name": "sessionId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "101": {
            "description": "Switching Protocols - WebSocket connection established"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/process/pty/{sessionId}/resize": {
      "post": {
        "description": "Resize the terminal dimensions of a pseudo-terminal session",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["process"],
        "summary": "Resize a PTY session",
        "operationId": "ResizePtySession",
        "parameters": [
          {
            "type": "string",
            "description": "PTY session ID",
            "name": "sessionId",
            "in": "path",
            "required": true
          },
          {
            "description": "Resize request with new dimensions",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PtyResizeRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PtySessionInfo"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "410": {
            "description": "Gone",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/process/session": {
      "get": {
        "description": "Get a list of all active shell sessions",
        "produces": ["application/json"],
        "tags": ["process"],
        "summary": "List all sessions",
        "operationId": "ListSessions",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Session"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "post": {
        "description": "Create a new shell session for command execution",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["process"],
        "summary": "Create a new session",
        "operationId": "CreateSession",
        "parameters": [
          {
            "description": "Session creation request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateSessionRequest"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/process/session/entrypoint": {
      "get": {
        "description": "Get details of an entrypoint session including its commands",
        "produces": ["application/json"],
        "tags": ["process"],
        "summary": "Get entrypoint session details",
        "operationId": "GetEntrypointSession",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Session"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/process/session/entrypoint/logs": {
      "get": {
        "description": "Get logs for a sandbox entrypoint session. Returns JSON with separated stdout/stderr for SDK \u003e= 0.161.0, plain text otherwise. Supports WebSocket streaming.",
        "produces": ["application/json", "text/plain"],
        "tags": ["process"],
        "summary": "Get entrypoint logs",
        "operationId": "GetEntrypointLogs",
        "parameters": [
          {
            "type": "boolean",
            "description": "Follow logs in real-time (WebSocket only)",
            "name": "follow",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Entrypoint log content",
            "schema": {
              "$ref": "#/definitions/SessionCommandLogsResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/process/session/{sessionId}": {
      "get": {
        "description": "Get details of a specific session including its commands",
        "produces": ["application/json"],
        "tags": ["process"],
        "summary": "Get session details",
        "operationId": "GetSession",
        "parameters": [
          {
            "type": "string",
            "description": "Session ID",
            "name": "sessionId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Session"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "delete": {
        "description": "Delete an existing shell session",
        "tags": ["process"],
        "summary": "Delete a session",
        "operationId": "DeleteSession",
        "parameters": [
          {
            "type": "string",
            "description": "Session ID",
            "name": "sessionId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/process/session/{sessionId}/command/{commandId}": {
      "get": {
        "description": "Get details of a specific command within a session",
        "produces": ["application/json"],
        "tags": ["process"],
        "summary": "Get session command details",
        "operationId": "GetSessionCommand",
        "parameters": [
          {
            "type": "string",
            "description": "Session ID",
            "name": "sessionId",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Command ID",
            "name": "commandId",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Command"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/process/session/{sessionId}/command/{commandId}/input": {
      "post": {
        "description": "Send input data to a running command in a session for interactive execution",
        "consumes": ["application/json"],
        "tags": ["process"],
        "summary": "Send input to command",
        "operationId": "SendInput",
        "parameters": [
          {
            "type": "string",
            "description": "Session ID",
            "name": "sessionId",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Command ID",
            "name": "commandId",
            "in": "path",
            "required": true
          },
          {
            "description": "Input send request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SessionSendInputRequest"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "410": {
            "description": "Gone",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/process/session/{sessionId}/command/{commandId}/logs": {
      "get": {
        "description": "Get logs for a specific command within a session. Returns JSON with separated stdout/stderr for SDK \u003e= 0.167.0, plain text otherwise. Supports WebSocket streaming.",
        "produces": ["application/json", "text/plain"],
        "tags": ["process"],
        "summary": "Get session command logs",
        "operationId": "GetSessionCommandLogs",
        "parameters": [
          {
            "type": "string",
            "description": "Session ID",
            "name": "sessionId",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Command ID",
            "name": "commandId",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "description": "Follow logs in real-time (WebSocket only)",
            "name": "follow",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Log content (JSON for new SDKs, plain text for old SDKs)",
            "schema": {
              "$ref": "#/definitions/SessionCommandLogsResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "description": "Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/process/session/{sessionId}/exec": {
      "post": {
        "description": "Execute a command within an existing shell session",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["process"],
        "summary": "Execute command in session",
        "operationId": "SessionExecuteCommand",
        "parameters": [
          {
            "type": "string",
            "description": "Session ID",
            "name": "sessionId",
            "in": "path",
            "required": true
          },
          {
            "description": "Command execution request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SessionExecuteRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SessionExecuteResponse"
            }
          },
          "202": {
            "description": "Accepted",
            "schema": {
              "$ref": "#/definitions/SessionExecuteResponse"
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "410": {
            "description": "Gone",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/system/metrics": {
      "get": {
        "description": "Latest CPU/memory/disk usage snapshot for the sandbox. cpuUsedPct is the\naverage CPU usage as a percentage of the CPU limit over the last sample\nwindow (0 until the first sample completes). Byte fields are in bytes.",
        "produces": ["application/json"],
        "tags": ["system"],
        "summary": "Get sandbox resource metrics",
        "operationId": "GetSystemMetrics",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SystemMetrics"
            }
          }
        }
      }
    },
    "/user-home-dir": {
      "get": {
        "description": "Get the current user home directory path.",
        "produces": ["application/json"],
        "tags": ["info"],
        "summary": "Get user home directory",
        "operationId": "GetUserHomeDir",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/UserHomeDirResponse"
            }
          }
        }
      }
    },
    "/version": {
      "get": {
        "description": "Get the current daemon version",
        "produces": ["application/json"],
        "tags": ["info"],
        "summary": "Get version",
        "operationId": "GetVersion",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "/work-dir": {
      "get": {
        "description": "Get the current working directory path. This is default directory used for running commands.",
        "produces": ["application/json"],
        "tags": ["info"],
        "summary": "Get working directory",
        "operationId": "GetWorkDir",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/WorkDirResponse"
            }
          }
        }
      }
    }
  },
  "definitions": {
    "AccessibilityBounds": {
      "type": "object",
      "properties": {
        "height": {
          "type": "integer"
        },
        "width": {
          "type": "integer"
        },
        "x": {
          "type": "integer"
        },
        "y": {
          "type": "integer"
        }
      }
    },
    "AccessibilityInvokeRequest": {
      "type": "object",
      "required": ["id"],
      "properties": {
        "action": {
          "type": "string"
        },
        "id": {
          "type": "string"
        }
      }
    },
    "AccessibilityNodeRequest": {
      "type": "object",
      "required": ["id"],
      "properties": {
        "id": {
          "type": "string"
        }
      }
    },
    "AccessibilityNodesResponse": {
      "type": "object",
      "properties": {
        "matches": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/computeruse.AccessibilityNode"
          }
        },
        "truncated": {
          "type": "boolean"
        }
      }
    },
    "AccessibilitySetValueRequest": {
      "type": "object",
      "required": ["id"],
      "properties": {
        "id": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      }
    },
    "AccessibilityTreeResponse": {
      "type": "object",
      "properties": {
        "root": {
          "$ref": "#/definitions/computeruse.AccessibilityNode"
        },
        "truncated": {
          "type": "boolean"
        }
      }
    },
    "Chart": {
      "type": "object",
      "properties": {
        "elements": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ChartElement"
          }
        },
        "png": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "x_label": {
          "type": "string"
        },
        "x_scale": {
          "type": "string"
        },
        "x_tick_labels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "x_ticks": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "y_label": {
          "type": "string"
        },
        "y_scale": {
          "type": "string"
        },
        "y_tick_labels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "y_ticks": {
          "type": "array",
          "items": {
            "type": "number"
          }
        }
      }
    },
    "ChartElement": {
      "type": "object",
      "properties": {
        "angle": {
          "type": "number"
        },
        "first_quartile": {
          "type": "number"
        },
        "group": {
          "type": "string"
        },
        "label": {
          "type": "string"
        },
        "max": {
          "type": "number"
        },
        "median": {
          "type": "number"
        },
        "min": {
          "type": "number"
        },
        "outliers": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "png": {
          "type": "string"
        },
        "points": {
          "type": "array",
          "items": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "radius": {
          "type": "number"
        },
        "third_quartile": {
          "type": "number"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "x_label": {
          "type": "string"
        },
        "y_label": {
          "type": "string"
        }
      }
    },
    "CodeRunArtifacts": {
      "type": "object",
      "properties": {
        "charts": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Chart"
          }
        }
      }
    },
    "CodeRunRequest": {
      "type": "object",
      "required": ["code", "language"],
      "properties": {
        "argv": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "code": {
          "type": "string"
        },
        "envs": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "language": {
          "description": "python, javascript, typescript",
          "type": "string"
        },
        "timeout": {
          "type": "integer"
        }
      }
    },
    "CodeRunResponse": {
      "type": "object",
      "properties": {
        "artifacts": {
          "$ref": "#/definitions/CodeRunArtifacts"
        },
        "exitCode": {
          "type": "integer"
        },
        "result": {
          "type": "string"
        }
      }
    },
    "Command": {
      "type": "object",
      "required": ["command", "id"],
      "properties": {
        "command": {
          "type": "string"
        },
        "exitCode": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        }
      }
    },
    "CompletionContext": {
      "type": "object",
      "required": ["triggerKind"],
      "properties": {
        "triggerCharacter": {
          "type": "string"
        },
        "triggerKind": {
          "type": "integer"
        }
      }
    },
    "CompletionItem": {
      "type": "object",
      "required": ["label"],
      "properties": {
        "detail": {
          "type": "string"
        },
        "documentation": {},
        "filterText": {
          "type": "string"
        },
        "insertText": {
          "type": "string"
        },
        "kind": {
          "type": "integer"
        },
        "label": {
          "type": "string"
        },
        "sortText": {
          "type": "string"
        }
      }
    },
    "CompletionList": {
      "type": "object",
      "required": ["isIncomplete", "items"],
      "properties": {
        "isIncomplete": {
          "type": "boolean"
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/CompletionItem"
          }
        }
      }
    },
    "ComputerUseStartResponse": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string"
        },
        "status": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/ProcessStatus"
          }
        }
      }
    },
    "ComputerUseStatusResponse": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string"
        }
      }
    },
    "ComputerUseStopResponse": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string"
        },
        "status": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/ProcessStatus"
          }
        }
      }
    },
    "CreateContextRequest": {
      "type": "object",
      "properties": {
        "cwd": {
          "type": "string"
        },
        "language": {
          "type": "string"
        }
      }
    },
    "CreateSessionRequest": {
      "type": "object",
      "required": ["sessionId"],
      "properties": {
        "sessionId": {
          "type": "string"
        }
      }
    },
    "DaemonErrorCode": {
      "type": "string",
      "enum": [
        "GIT_AUTH_FAILED",
        "GIT_REPO_NOT_FOUND",
        "GIT_BRANCH_NOT_FOUND",
        "GIT_BRANCH_EXISTS",
        "GIT_PUSH_REJECTED",
        "GIT_DIRTY_WORKTREE",
        "GIT_MERGE_CONFLICT",
        "GIT_TRANSPORT_FAILED",
        "GIT_REMOTE_REJECTED",
        "FILE_NOT_FOUND",
        "FILE_ACCESS_DENIED",
        "INVALID_FILE_PATH",
        "FILE_READ_FAILED",
        "LSP_SERVER_NOT_INITIALIZED",
        "PROCESS_EXECUTION_TIMEOUT",
        "PROCESS_NOT_FOUND",
        "SESSION_ENDED",
        "COMMAND_ALREADY_COMPLETED",
        "A11Y_UNAVAILABLE",
        "RECORDING_STILL_ACTIVE",
        "RECORDING_FFMPEG_NOT_FOUND",
        "BAD_REQUEST",
        "INVALID_REQUEST_BODY",
        "UNAUTHORIZED",
        "FORBIDDEN",
        "NOT_FOUND",
        "CONFLICT",
        "REQUEST_TIMEOUT",
        "GONE",
        "UNPROCESSABLE_ENTITY",
        "INTERNAL_SERVER_ERROR"
      ],
      "x-enum-varnames": [
        "CodeGitAuthFailed",
        "CodeGitRepoNotFound",
        "CodeGitBranchNotFound",
        "CodeGitBranchExists",
        "CodeGitPushRejected",
        "CodeGitDirtyWorktree",
        "CodeGitMergeConflict",
        "CodeGitTransportFailed",
        "CodeGitRemoteRejected",
        "CodeFileNotFound",
        "CodeFileAccessDenied",
        "CodeInvalidFilePath",
        "CodeFileReadFailed",
        "CodeLspServerNotInitialized",
        "CodeProcessExecutionTimeout",
        "CodeProcessNotFound",
        "CodeSessionEnded",
        "CodeCommandAlreadyCompleted",
        "CodeA11yUnavailable",
        "CodeRecordingStillActive",
        "CodeRecordingFfmpegNotFound",
        "CodeBadRequest",
        "CodeInvalidRequestBody",
        "CodeUnauthorized",
        "CodeForbidden",
        "CodeNotFound",
        "CodeConflict",
        "CodeRequestTimeout",
        "CodeGone",
        "CodeUnprocessableEntity",
        "CodeInternalServerError"
      ]
    },
    "DisplayInfo": {
      "type": "object",
      "properties": {
        "height": {
          "type": "integer"
        },
        "id": {
          "type": "integer"
        },
        "isActive": {
          "type": "boolean"
        },
        "width": {
          "type": "integer"
        },
        "x": {
          "type": "integer"
        },
        "y": {
          "type": "integer"
        }
      }
    },
    "DisplayInfoResponse": {
      "type": "object",
      "properties": {
        "displays": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DisplayInfo"
          }
        }
      }
    },
    "Empty": {
      "type": "object"
    },
    "ErrorResponse": {
      "description": "Error response",
      "type": "object",
      "required": ["message", "path", "statusCode", "timestamp"],
      "properties": {
        "code": {
          "allOf": [
            {
              "$ref": "#/definitions/DaemonErrorCode"
            }
          ],
          "example": "GIT_REPO_NOT_FOUND"
        },
        "message": {
          "type": "string",
          "example": "Bad request"
        },
        "method": {
          "type": "string",
          "example": "GET"
        },
        "path": {
          "type": "string",
          "example": "/api/resource"
        },
        "source": {
          "type": "string",
          "example": "DAYTONA_DAEMON"
        },
        "statusCode": {
          "type": "integer",
          "example": 400
        },
        "timestamp": {
          "type": "string",
          "example": "2023-01-01T12:00:00Z"
        }
      }
    },
    "ExecuteRequest": {
      "type": "object",
      "required": ["command"],
      "properties": {
        "command": {
          "type": "string"
        },
        "cwd": {
          "description": "Current working directory",
          "type": "string"
        },
        "envs": {
          "description": "Environment variables to set for the command",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "timeout": {
          "description": "Timeout in seconds, defaults to 10 seconds",
          "type": "integer"
        }
      }
    },
    "ExecuteResponse": {
      "type": "object",
      "required": ["result"],
      "properties": {
        "exitCode": {
          "type": "integer"
        },
        "result": {
          "type": "string"
        }
      }
    },
    "FileInfo": {
      "type": "object",
      "required": ["group", "isDir", "modTime", "mode", "modifiedAt", "name", "owner", "permissions", "size"],
      "properties": {
        "group": {
          "type": "string"
        },
        "isDir": {
          "type": "boolean"
        },
        "modTime": {
          "description": "Deprecated: ModTime uses Go's time.String() layout which is not a standard format.\nUse ModifiedAt instead, which is serialized as ISO 8601 / RFC 3339.",
          "type": "string"
        },
        "mode": {
          "type": "string"
        },
        "modifiedAt": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "path": {
          "description": "Full path of the entry",
          "type": "string"
        },
        "permissions": {
          "type": "string"
        },
        "size": {
          "type": "integer"
        }
      }
    },
    "FileStatus": {
      "type": "object",
      "required": ["extra", "name", "staging", "worktree"],
      "properties": {
        "extra": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "staging": {
          "$ref": "#/definitions/Status"
        },
        "worktree": {
          "$ref": "#/definitions/Status"
        }
      }
    },
    "FilesDownloadRequest": {
      "type": "object",
      "required": ["paths"],
      "properties": {
        "paths": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "FindAccessibilityNodesRequest": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "nameMatch": {
          "description": "\"exact\" | \"substring\" | \"regex\"",
          "type": "string"
        },
        "pid": {
          "type": "integer"
        },
        "role": {
          "type": "string"
        },
        "scope": {
          "type": "string"
        },
        "states": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GitAddRemoteRequest": {
      "type": "object",
      "required": ["name", "path", "url"],
      "properties": {
        "fetch": {
          "description": "Fetch fetches from the remote immediately after adding it.",
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "overwrite": {
          "description": "Overwrite replaces an existing remote with the same name.",
          "type": "boolean"
        },
        "path": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      }
    },
    "GitAddRequest": {
      "type": "object",
      "required": ["files", "path"],
      "properties": {
        "files": {
          "description": "files to add (use . for all files)",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "path": {
          "type": "string"
        }
      }
    },
    "GitAuthenticateRequest": {
      "type": "object",
      "required": ["password", "username"],
      "properties": {
        "host": {
          "description": "Host defaults to github.com.",
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "protocol": {
          "description": "Protocol defaults to https.",
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      }
    },
    "GitBranchRequest": {
      "type": "object",
      "required": ["name", "path"],
      "properties": {
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        }
      }
    },
    "GitCheckoutRequest": {
      "type": "object",
      "required": ["branch", "path"],
      "properties": {
        "branch": {
          "type": "string"
        },
        "path": {
          "type": "string"
        }
      }
    },
    "GitCloneRequest": {
      "type": "object",
      "required": ["path", "url"],
      "properties": {
        "branch": {
          "type": "string"
        },
        "commit_id": {
          "type": "string"
        },
        "depth": {
          "description": "Depth creates a shallow clone truncated to the given number of commits.",
          "type": "integer"
        },
        "insecure_skip_tls": {
          "description": "Skip TLS certificate verification for this clone. Defaults to false (verify).\nSet to true ONLY for trusted internal Git servers with self-signed or\nprivate-CA certs; credentials, if supplied, will be transmitted over an\nunverified TLS connection and are exposed to any MITM on the route.",
          "type": "boolean"
        },
        "password": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      }
    },
    "GitCommitInfo": {
      "type": "object",
      "required": ["author", "email", "hash", "message", "timestamp"],
      "properties": {
        "author": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "hash": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "timestamp": {
          "type": "string"
        }
      }
    },
    "GitCommitRequest": {
      "type": "object",
      "required": ["author", "email", "message", "path"],
      "properties": {
        "allow_empty": {
          "type": "boolean"
        },
        "author": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "path": {
          "type": "string"
        }
      }
    },
    "GitCommitResponse": {
      "type": "object",
      "required": ["hash"],
      "properties": {
        "hash": {
          "type": "string"
        }
      }
    },
    "GitConfigResponse": {
      "type": "object",
      "properties": {
        "value": {
          "description": "Value is the config value, null when the key is not set.",
          "type": "string"
        }
      }
    },
    "GitConfigureUserRequest": {
      "type": "object",
      "required": ["email", "name"],
      "properties": {
        "email": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "path": {
          "description": "Path is the repository path, required when scope is \"local\".",
          "type": "string"
        },
        "scope": {
          "description": "Scope is one of global (default), local or system.",
          "type": "string"
        }
      }
    },
    "GitDeleteBranchRequest": {
      "type": "object",
      "required": ["name", "path"],
      "properties": {
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        }
      }
    },
    "GitInitRequest": {
      "type": "object",
      "required": ["path"],
      "properties": {
        "bare": {
          "description": "Bare creates a repository without a working tree.",
          "type": "boolean"
        },
        "initial_branch": {
          "description": "InitialBranch sets the name of the initial branch.",
          "type": "string"
        },
        "path": {
          "type": "string"
        }
      }
    },
    "GitPullRequest": {
      "type": "object",
      "required": ["path"],
      "properties": {
        "branch": {
          "description": "Branch to pull (defaults to the current branch's upstream).",
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "remote": {
          "description": "Remote to pull from (defaults to \"origin\").",
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      }
    },
    "GitPushRequest": {
      "type": "object",
      "required": ["path"],
      "properties": {
        "branch": {
          "description": "Branch to push (defaults to the current branch).",
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "remote": {
          "description": "Remote to push to (defaults to \"origin\").",
          "type": "string"
        },
        "set_upstream": {
          "description": "SetUpstream records the pushed branch as the upstream tracking branch.",
          "type": "boolean"
        },
        "username": {
          "type": "string"
        }
      }
    },
    "GitRemote": {
      "type": "object",
      "required": ["name", "url"],
      "properties": {
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      }
    },
    "GitResetRequest": {
      "type": "object",
      "required": ["path"],
      "properties": {
        "files": {
          "description": "Files constrains the reset to the given paths.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "mode": {
          "description": "Mode is one of soft, mixed (default), hard, merge or keep.",
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "target": {
          "description": "Target is the revision to reset to (defaults to HEAD).",
          "type": "string"
        }
      }
    },
    "GitRestoreRequest": {
      "type": "object",
      "required": ["files", "path"],
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "path": {
          "type": "string"
        },
        "source": {
          "description": "Source restores file contents from the given revision instead of the index.",
          "type": "string"
        },
        "staged": {
          "description": "Staged restores the staging index for the given files.",
          "type": "boolean"
        },
        "worktree": {
          "description": "Worktree restores the working tree for the given files.",
          "type": "boolean"
        }
      }
    },
    "GitSetConfigRequest": {
      "type": "object",
      "required": ["key", "value"],
      "properties": {
        "key": {
          "type": "string"
        },
        "path": {
          "description": "Path is the repository path, required when scope is \"local\".",
          "type": "string"
        },
        "scope": {
          "description": "Scope is one of global (default), local or system.",
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      }
    },
    "GitStatus": {
      "type": "object",
      "required": ["currentBranch", "fileStatus"],
      "properties": {
        "ahead": {
          "type": "integer"
        },
        "behind": {
          "type": "integer"
        },
        "branchPublished": {
          "type": "boolean"
        },
        "currentBranch": {
          "type": "string"
        },
        "detached": {
          "description": "Detached is true when HEAD is not on a branch (detached HEAD state).",
          "type": "boolean"
        },
        "fileStatus": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FileStatus"
          }
        },
        "upstream": {
          "description": "Upstream is the upstream tracking branch (e.g. \"origin/main\"), empty when unset.",
          "type": "string"
        }
      }
    },
    "InitializeRequest": {
      "type": "object",
      "properties": {
        "token": {
          "type": "string"
        }
      }
    },
    "InterpreterContext": {
      "type": "object",
      "required": ["active", "createdAt", "cwd", "id", "language"],
      "properties": {
        "active": {
          "type": "boolean"
        },
        "createdAt": {
          "type": "string"
        },
        "cwd": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "language": {
          "type": "string"
        }
      }
    },
    "IsPortInUseResponse": {
      "type": "object",
      "properties": {
        "isInUse": {
          "type": "boolean"
        }
      }
    },
    "KeyboardHotkeyRequest": {
      "type": "object",
      "properties": {
        "keys": {
          "description": "e.g., \"ctrl+c\", \"cmd+v\"",
          "type": "string"
        }
      }
    },
    "KeyboardKeyDownRequest": {
      "type": "object",
      "required": ["key"],
      "properties": {
        "key": {
          "description": "e.g., \"ctrl\", \"shift\", \"a\"",
          "type": "string"
        }
      }
    },
    "KeyboardKeyUpRequest": {
      "type": "object",
      "required": ["key"],
      "properties": {
        "key": {
          "description": "e.g., \"ctrl\", \"shift\", \"a\"",
          "type": "string"
        }
      }
    },
    "KeyboardPressRequest": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "modifiers": {
          "description": "ctrl, alt, shift, cmd",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "KeyboardTypeRequest": {
      "type": "object",
      "properties": {
        "delay": {
          "description": "milliseconds between keystrokes",
          "type": "integer"
        },
        "text": {
          "type": "string"
        }
      }
    },
    "ListBranchResponse": {
      "type": "object",
      "required": ["branches"],
      "properties": {
        "branches": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "current": {
          "description": "Current is the name of the checked out branch (empty when HEAD is detached).",
          "type": "string"
        }
      }
    },
    "ListContextsResponse": {
      "type": "object",
      "required": ["contexts"],
      "properties": {
        "contexts": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/InterpreterContext"
          }
        }
      }
    },
    "ListRecordingsResponse": {
      "type": "object",
      "required": ["recordings"],
      "properties": {
        "recordings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Recording"
          }
        }
      }
    },
    "ListRemotesResponse": {
      "type": "object",
      "required": ["remotes"],
      "properties": {
        "remotes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GitRemote"
          }
        }
      }
    },
    "LspCompletionParams": {
      "type": "object",
      "required": ["languageId", "pathToProject", "position", "uri"],
      "properties": {
        "context": {
          "$ref": "#/definitions/CompletionContext"
        },
        "languageId": {
          "type": "string"
        },
        "pathToProject": {
          "type": "string"
        },
        "position": {
          "$ref": "#/definitions/LspPosition"
        },
        "uri": {
          "type": "string"
        }
      }
    },
    "LspDocumentRequest": {
      "type": "object",
      "required": ["languageId", "pathToProject", "uri"],
      "properties": {
        "languageId": {
          "type": "string"
        },
        "pathToProject": {
          "type": "string"
        },
        "uri": {
          "type": "string"
        }
      }
    },
    "LspLocation": {
      "type": "object",
      "required": ["range", "uri"],
      "properties": {
        "range": {
          "$ref": "#/definitions/LspRange"
        },
        "uri": {
          "type": "string"
        }
      }
    },
    "LspPosition": {
      "type": "object",
      "required": ["character", "line"],
      "properties": {
        "character": {
          "type": "integer"
        },
        "line": {
          "type": "integer"
        }
      }
    },
    "LspRange": {
      "type": "object",
      "required": ["end", "start"],
      "properties": {
        "end": {
          "$ref": "#/definitions/LspPosition"
        },
        "start": {
          "$ref": "#/definitions/LspPosition"
        }
      }
    },
    "LspServerRequest": {
      "type": "object",
      "required": ["languageId", "pathToProject"],
      "properties": {
        "languageId": {
          "type": "string"
        },
        "pathToProject": {
          "type": "string"
        }
      }
    },
    "LspSymbol": {
      "type": "object",
      "required": ["kind", "location", "name"],
      "properties": {
        "kind": {
          "type": "integer"
        },
        "location": {
          "$ref": "#/definitions/LspLocation"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "Match": {
      "type": "object",
      "required": ["content", "file", "line"],
      "properties": {
        "content": {
          "type": "string"
        },
        "file": {
          "type": "string"
        },
        "line": {
          "type": "integer"
        }
      }
    },
    "MouseClickRequest": {
      "type": "object",
      "properties": {
        "button": {
          "description": "left, right, middle",
          "type": "string"
        },
        "clicks": {
          "description": "Clicks is a pointer so an omitted value is distinguishable from an\nexplicit 0, which must be rejected rather than silently defaulted.",
          "type": "integer"
        },
        "double": {
          "type": "boolean"
        },
        "modifiers": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "x": {
          "type": "integer"
        },
        "y": {
          "type": "integer"
        }
      }
    },
    "MouseClickResponse": {
      "type": "object",
      "properties": {
        "x": {
          "type": "integer"
        },
        "y": {
          "type": "integer"
        }
      }
    },
    "MouseDownRequest": {
      "type": "object",
      "properties": {
        "button": {
          "description": "left, right, middle",
          "type": "string"
        },
        "x": {
          "type": "integer"
        },
        "y": {
          "type": "integer"
        }
      }
    },
    "MouseDragRequest": {
      "type": "object",
      "properties": {
        "button": {
          "type": "string"
        },
        "endX": {
          "type": "integer"
        },
        "endY": {
          "type": "integer"
        },
        "modifiers": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "startX": {
          "type": "integer"
        },
        "startY": {
          "type": "integer"
        }
      }
    },
    "MouseDragResponse": {
      "type": "object",
      "properties": {
        "x": {
          "type": "integer"
        },
        "y": {
          "type": "integer"
        }
      }
    },
    "MouseMoveRequest": {
      "type": "object",
      "properties": {
        "x": {
          "type": "integer"
        },
        "y": {
          "type": "integer"
        }
      }
    },
    "MousePositionResponse": {
      "type": "object",
      "properties": {
        "x": {
          "type": "integer"
        },
        "y": {
          "type": "integer"
        }
      }
    },
    "MouseScrollRequest": {
      "type": "object",
      "properties": {
        "amount": {
          "type": "integer",
          "default": 1,
          "minimum": 0
        },
        "direction": {
          "description": "up, down, left, right",
          "type": "string"
        },
        "modifiers": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "x": {
          "type": "integer"
        },
        "y": {
          "type": "integer"
        }
      }
    },
    "MouseUpRequest": {
      "type": "object",
      "properties": {
        "button": {
          "description": "left, right, middle",
          "type": "string"
        },
        "x": {
          "type": "integer"
        },
        "y": {
          "type": "integer"
        }
      }
    },
    "PortList": {
      "type": "object",
      "properties": {
        "ports": {
          "type": "array",
          "items": {
            "type": "integer"
          }
        }
      }
    },
    "Position": {
      "type": "object",
      "properties": {
        "x": {
          "type": "integer"
        },
        "y": {
          "type": "integer"
        }
      }
    },
    "ProcessErrorsResponse": {
      "type": "object",
      "properties": {
        "errors": {
          "type": "string"
        },
        "processName": {
          "type": "string"
        }
      }
    },
    "ProcessLogsResponse": {
      "type": "object",
      "properties": {
        "logs": {
          "type": "string"
        },
        "processName": {
          "type": "string"
        }
      }
    },
    "ProcessRestartResponse": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string"
        },
        "processName": {
          "type": "string"
        }
      }
    },
    "ProcessStatus": {
      "type": "object",
      "properties": {
        "autoRestart": {
          "type": "boolean"
        },
        "pid": {
          "type": "integer"
        },
        "priority": {
          "type": "integer"
        },
        "running": {
          "type": "boolean"
        }
      }
    },
    "ProcessStatusResponse": {
      "type": "object",
      "properties": {
        "processName": {
          "type": "string"
        },
        "running": {
          "type": "boolean"
        }
      }
    },
    "PtyCreateRequest": {
      "type": "object",
      "properties": {
        "cols": {
          "type": "integer"
        },
        "cwd": {
          "type": "string"
        },
        "envs": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "id": {
          "type": "string"
        },
        "lazyStart": {
          "description": "Don't start PTY until first client connects",
          "type": "boolean"
        },
        "rows": {
          "type": "integer"
        }
      }
    },
    "PtyCreateResponse": {
      "type": "object",
      "required": ["sessionId"],
      "properties": {
        "sessionId": {
          "type": "string"
        }
      }
    },
    "PtyListResponse": {
      "type": "object",
      "required": ["sessions"],
      "properties": {
        "sessions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PtySessionInfo"
          }
        }
      }
    },
    "PtyResizeRequest": {
      "type": "object",
      "required": ["cols", "rows"],
      "properties": {
        "cols": {
          "type": "integer",
          "maximum": 1000,
          "minimum": 1
        },
        "rows": {
          "type": "integer",
          "maximum": 1000,
          "minimum": 1
        }
      }
    },
    "PtySessionInfo": {
      "type": "object",
      "required": ["active", "cols", "createdAt", "cwd", "envs", "id", "lazyStart", "rows"],
      "properties": {
        "active": {
          "type": "boolean"
        },
        "cols": {
          "type": "integer"
        },
        "createdAt": {
          "type": "string"
        },
        "cwd": {
          "type": "string"
        },
        "envs": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "id": {
          "type": "string"
        },
        "lazyStart": {
          "description": "Whether this session uses lazy start",
          "type": "boolean"
        },
        "rows": {
          "type": "integer"
        }
      }
    },
    "Recording": {
      "type": "object",
      "required": ["fileName", "filePath", "id", "startTime", "status"],
      "properties": {
        "durationSeconds": {
          "type": "number"
        },
        "endTime": {
          "type": "string"
        },
        "fileName": {
          "type": "string"
        },
        "filePath": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "sizeBytes": {
          "type": "integer"
        },
        "startTime": {
          "type": "string"
        },
        "status": {
          "type": "string"
        }
      }
    },
    "ReplaceRequest": {
      "type": "object",
      "required": ["files", "newValue", "pattern"],
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "newValue": {
          "type": "string"
        },
        "pattern": {
          "type": "string"
        }
      }
    },
    "ReplaceResult": {
      "type": "object",
      "properties": {
        "error": {
          "type": "string"
        },
        "file": {
          "type": "string"
        },
        "success": {
          "type": "boolean"
        }
      }
    },
    "ScreenshotResponse": {
      "type": "object",
      "properties": {
        "cursorPosition": {
          "$ref": "#/definitions/Position"
        },
        "screenshot": {
          "type": "string"
        },
        "sizeBytes": {
          "type": "integer"
        }
      }
    },
    "ScrollResponse": {
      "type": "object",
      "properties": {
        "success": {
          "type": "boolean"
        }
      }
    },
    "SearchFilesResponse": {
      "type": "object",
      "required": ["files"],
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "Session": {
      "type": "object",
      "required": ["commands", "sessionId"],
      "properties": {
        "commands": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Command"
          }
        },
        "sessionId": {
          "type": "string"
        }
      }
    },
    "SessionCommandLogsResponse": {
      "type": "object",
      "required": ["output", "stderr", "stdout"],
      "properties": {
        "output": {
          "type": "string"
        },
        "stderr": {
          "type": "string"
        },
        "stdout": {
          "type": "string"
        }
      }
    },
    "SessionExecuteRequest": {
      "type": "object",
      "required": ["command"],
      "properties": {
        "async": {
          "type": "boolean"
        },
        "command": {
          "type": "string"
        },
        "runAsync": {
          "type": "boolean"
        },
        "suppressInputEcho": {
          "type": "boolean"
        }
      }
    },
    "SessionExecuteResponse": {
      "type": "object",
      "required": ["cmdId"],
      "properties": {
        "cmdId": {
          "type": "string"
        },
        "exitCode": {
          "type": "integer"
        },
        "output": {
          "type": "string"
        },
        "stderr": {
          "type": "string"
        },
        "stdout": {
          "type": "string"
        }
      }
    },
    "SessionSendInputRequest": {
      "type": "object",
      "required": ["data"],
      "properties": {
        "data": {
          "type": "string"
        }
      }
    },
    "StartRecordingRequest": {
      "type": "object",
      "properties": {
        "label": {
          "type": "string"
        }
      }
    },
    "Status": {
      "type": "string",
      "enum": ["Unmodified", "Untracked", "Modified", "Added", "Deleted", "Renamed", "Copied", "Updated but unmerged"],
      "x-enum-varnames": [
        "Unmodified",
        "Untracked",
        "Modified",
        "Added",
        "Deleted",
        "Renamed",
        "Copied",
        "UpdatedButUnmerged"
      ]
    },
    "StopRecordingRequest": {
      "type": "object",
      "required": ["id"],
      "properties": {
        "id": {
          "type": "string"
        }
      }
    },
    "SystemMetrics": {
      "type": "object",
      "properties": {
        "cpuCount": {
          "type": "integer"
        },
        "cpuUsedPct": {
          "type": "number",
          "format": "double"
        },
        "diskFree": {
          "type": "integer",
          "format": "int64"
        },
        "diskTotal": {
          "type": "integer",
          "format": "int64"
        },
        "diskUsed": {
          "type": "integer",
          "format": "int64"
        },
        "memCache": {
          "type": "integer",
          "format": "int64"
        },
        "memTotal": {
          "type": "integer",
          "format": "int64"
        },
        "memUsed": {
          "type": "integer",
          "format": "int64"
        },
        "timestamp": {
          "type": "string"
        },
        "timestampUnix": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "UpdateEnvRequest": {
      "type": "object",
      "properties": {
        "set": {
          "description": "Set maps env var names to values applied to the daemon's process env, so\nprocesses spawned after the call (exec, sessions, PTYs) inherit them.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "unset": {
          "description": "Unset lists env var names to remove before Set is applied.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "unsetValuePrefix": {
          "description": "UnsetValuePrefix removes every env var whose value has this prefix and\nwhose name is not a key of Set, before Set is applied. Used to reconcile\nsecret placeholder vars without the caller knowing the daemon's env.",
          "type": "string"
        }
      }
    },
    "UploadFilesResponse": {
      "type": "object",
      "properties": {
        "errors": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "files": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/fs.fileResult"
          }
        }
      }
    },
    "UploadedFile": {
      "type": "object",
      "required": ["name", "path", "type"],
      "properties": {
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      }
    },
    "UserHomeDirResponse": {
      "type": "object",
      "required": ["dir"],
      "properties": {
        "dir": {
          "type": "string"
        }
      }
    },
    "WindowInfo": {
      "type": "object",
      "properties": {
        "height": {
          "type": "integer"
        },
        "id": {
          "type": "integer"
        },
        "isActive": {
          "type": "boolean"
        },
        "title": {
          "type": "string"
        },
        "width": {
          "type": "integer"
        },
        "x": {
          "type": "integer"
        },
        "y": {
          "type": "integer"
        }
      }
    },
    "WindowsResponse": {
      "type": "object",
      "properties": {
        "windows": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/WindowInfo"
          }
        }
      }
    },
    "WorkDirResponse": {
      "type": "object",
      "required": ["dir"],
      "properties": {
        "dir": {
          "type": "string"
        }
      }
    },
    "computeruse.AccessibilityNode": {
      "type": "object",
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "bounds": {
          "$ref": "#/definitions/AccessibilityBounds"
        },
        "children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/computeruse.AccessibilityNode"
          }
        },
        "description": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "role": {
          "type": "string"
        },
        "states": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "fs.fileResult": {
      "type": "object",
      "properties": {
        "bytes": {
          "type": "integer"
        },
        "path": {
          "type": "string"
        }
      }
    },
    "gin.H": {
      "type": "object",
      "additionalProperties": {}
    }
  },
  "securityDefinitions": {
    "Bearer": {
      "description": "Type \"Bearer\" followed by a space and your API key.",
      "type": "apiKey",
      "name": "Authorization",
      "in": "header"
    }
  }
}
