{
  "openapi": "3.1.0",
  "info": {
    "title": "opencode HttpApi",
    "version": "0.0.1",
    "description": "Experimental HttpApi surface for selected instance routes."
  },
  "paths": {
    "/api/info": {
      "get": {
        "tags": ["server"],
        "operationId": "server.info",
        "parameters": [],
        "security": [],
        "responses": {
          "200": {
            "description": "ServerInfo",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerInfo"
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Return the server identity, connection URLs, paths, and readiness status.",
        "summary": "Get server info"
      }
    },
    "/api/location": {
      "get": {
        "tags": ["location"],
        "operationId": "location.get",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Location.PublicInfo",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Location.PublicInfo"
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Resolve the requested location or the server default location.",
        "summary": "Get location"
      }
    },
    "/api/location/reload": {
      "post": {
        "tags": ["location"],
        "operationId": "location.reload",
        "parameters": [],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Shut down and rebuild every loaded location. Pending permissions and forms are cancelled; running sessions continue with fresh services at the next step boundary. Emits location.shutdown for client recovery and responds once all replacement builds settle.",
        "summary": "Reload configuration"
      }
    },
    "/api/agent": {
      "get": {
        "tags": ["agent"],
        "operationId": "agent.list",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Agent.Info"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve currently registered agents.",
        "summary": "List agents"
      }
    },
    "/api/agent/{agentID}": {
      "get": {
        "tags": ["agent"],
        "operationId": "agent.get",
        "parameters": [
          {
            "name": "agentID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Agent.Info"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "AgentNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve a single currently registered agent.",
        "summary": "Get agent"
      }
    },
    "/api/plugin": {
      "get": {
        "tags": ["plugin"],
        "operationId": "plugin.list",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Plugin.Info"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve enabled server plugins and their current status.",
        "summary": "List plugins"
      }
    },
    "/api/plugin/check": {
      "post": {
        "tags": ["plugin"],
        "operationId": "plugin.check",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Plugin.Info"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Check one or all package plugins for available updates.",
        "summary": "Check plugin updates",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "target": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/plugin/update": {
      "post": {
        "tags": ["plugin"],
        "operationId": "plugin.update",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Update package plugins concurrently and notify active locations to reload them. Responds once every update has finished; fails when any update fails.",
        "summary": "Update plugins",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "targets": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": ["targets"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/session": {
      "get": {
        "tags": ["session"],
        "operationId": "session.list",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Maximum number of sessions to return. Defaults to the newest 50 sessions."
            },
            "required": false
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": ["asc", "desc"]
                },
                {
                  "type": "null"
                }
              ],
              "description": "Session order for the first page. Use desc for newest first or asc for oldest first."
            },
            "required": false
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "name": "parentID",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^ses"
                    },
                    {
                      "type": "string",
                      "enum": ["null"]
                    }
                  ],
                  "description": "Filter by parent session. Use null to return only root sessions."
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "name": "directory",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "name": "project",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "name": "subpath",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "Opaque pagination cursor returned as cursor.previous or cursor.next in the previous response."
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "SessionsResponse",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "InvalidCursorError | InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidCursorErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve sessions in the requested order. Items keep that order across pages; use cursor.next or cursor.previous to move through the ordered list.",
        "summary": "List sessions"
      },
      "post": {
        "tags": ["session"],
        "operationId": "session.create",
        "parameters": [],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Session.Info"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Create a session at the requested location.",
        "summary": "Create session",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^ses"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "title": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "agent": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "model": {
                    "anyOf": [
                      {
                        "$ref": "#/components/schemas/Model.Ref"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "location": {
                    "anyOf": [
                      {
                        "$ref": "#/components/schemas/Location.PublicRef"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "$ref": "#/components/schemas/Session.Metadata"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "permissions": {
                    "anyOf": [
                      {
                        "$ref": "#/components/schemas/Permission.Ruleset"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/experimental/session/stats": {
      "get": {
        "tags": ["session"],
        "operationId": "experimental.session.stats",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "name": "project",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "name": "timezone",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "name": "tools",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": ["none", "summary", "detail"]
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/SessionStats.Info"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Aggregate local session activity, usage, and tool reliability for a time range.",
        "summary": "Get session statistics"
      }
    },
    "/api/experimental/session/import": {
      "post": {
        "tags": ["session"],
        "operationId": "experimental.session.import",
        "parameters": [],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Session.Info"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                }
              }
            }
          },
          "409": {
            "description": "ConflictError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Import a projected session transcript at the requested location. If parentID is supplied, the parent session must already exist; import parents before children.",
        "summary": "Import session",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "info": {
                    "$ref": "#/components/schemas/Session.Info"
                  },
                  "messages": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Session.Message.Info"
                    }
                  },
                  "location": {
                    "anyOf": [
                      {
                        "$ref": "#/components/schemas/Location.PublicRef"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": ["info", "messages"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/experimental/session/{sessionID}/export": {
      "get": {
        "tags": ["session"],
        "operationId": "experimental.session.export",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          },
          {
            "name": "sanitize",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": ["true", "false"]
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/SessionTransfer.Data"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                }
              }
            }
          },
          "500": {
            "description": "UnknownError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnknownErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Export a complete projected session transcript.",
        "summary": "Export session"
      }
    },
    "/api/session/active": {
      "get": {
        "tags": ["session"],
        "operationId": "session.active",
        "parameters": [],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "patternProperties": {
                        "^ses": {
                          "$ref": "#/components/schemas/SessionActive"
                        }
                      }
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve foreground Session drains currently owned by this OpenCode process. Sessions absent from the result are inactive.",
        "summary": "List active sessions"
      }
    },
    "/api/session/{sessionID}": {
      "get": {
        "tags": ["session"],
        "operationId": "session.get",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Session.Info"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve a session by ID.",
        "summary": "Get session"
      },
      "delete": {
        "tags": ["session"],
        "operationId": "session.remove",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Delete a session and its child sessions.",
        "summary": "Delete session"
      },
      "patch": {
        "tags": ["session"],
        "operationId": "session.update",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Update mutable session properties.",
        "summary": "Update session",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "$ref": "#/components/schemas/Session.Metadata"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "permissions": {
                    "anyOf": [
                      {
                        "$ref": "#/components/schemas/Permission.Ruleset"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/session/{sessionID}/fork": {
      "post": {
        "tags": ["session"],
        "operationId": "session.fork",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Session.Info"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError | MessageNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/MessageNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Create a child session by copying projected history before a message. Omit before to copy the full history.",
        "summary": "Fork session",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "before": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^msg_"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/session/{sessionID}/agent": {
      "post": {
        "tags": ["session"],
        "operationId": "session.switchAgent",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Switch the agent used by subsequent provider turns.",
        "summary": "Switch session agent",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "agent": {
                    "type": "string"
                  }
                },
                "required": ["agent"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/session/{sessionID}/model": {
      "post": {
        "tags": ["session"],
        "operationId": "session.switchModel",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Switch the model used by subsequent provider turns.",
        "summary": "Switch session model",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "model": {
                    "$ref": "#/components/schemas/Model.Ref"
                  }
                },
                "required": ["model"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/session/{sessionID}/move": {
      "post": {
        "tags": ["session"],
        "operationId": "session.move",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Move a session to another project directory at the requested delivery boundary.",
        "summary": "Move session",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "directory": {
                    "type": "string"
                  },
                  "delivery": {
                    "anyOf": [
                      {
                        "$ref": "#/components/schemas/Session.Inbox.Delivery"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": ["directory"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/session/{sessionID}/prompt": {
      "post": {
        "tags": ["session"],
        "operationId": "session.prompt",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Session.Inbox.User"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "409": {
            "description": "ConflictError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Durably admit one session input and schedule agent-loop execution unless resume is false.",
        "summary": "Send message",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^msg_"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "text": {
                    "type": "string"
                  },
                  "files": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/PromptInput.FileAttachment"
                    }
                  },
                  "agents": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Prompt.AgentAttachment"
                    }
                  },
                  "skills": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/PromptInput.SkillAttachment"
                    }
                  },
                  "metadata": {
                    "type": "object"
                  },
                  "delivery": {
                    "anyOf": [
                      {
                        "$ref": "#/components/schemas/Session.Inbox.Delivery"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "resume": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": ["text"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/session/{sessionID}/command": {
      "post": {
        "tags": ["session"],
        "operationId": "session.command",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError | CommandNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/CommandNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "CommandExecutionError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommandExecutionErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Execute a slash command callback immediately.",
        "summary": "Run command",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "text": {
                    "type": "string"
                  },
                  "files": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/PromptInput.FileAttachment"
                    }
                  },
                  "agents": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Prompt.AgentAttachment"
                    }
                  },
                  "skills": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/PromptInput.SkillAttachment"
                    }
                  },
                  "delivery": {
                    "anyOf": [
                      {
                        "$ref": "#/components/schemas/Session.Inbox.Delivery"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": ["name", "text"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/experimental/session/{sessionID}/skill": {
      "post": {
        "tags": ["session"],
        "operationId": "experimental.session.skill",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError | SkillNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SkillNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Activate a skill for a session by appending a skill message and resuming execution.",
        "summary": "Activate skill",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "resume": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": ["id"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/session/{sessionID}/synthetic": {
      "post": {
        "tags": ["session"],
        "operationId": "session.synthetic",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Session.Inbox.Synthetic"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "409": {
            "description": "ConflictError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Durably admit synthetic session input and schedule execution unless resume is false.",
        "summary": "Add synthetic message",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^msg_"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "text": {
                    "type": "string"
                  },
                  "description": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "metadata": {
                    "type": "object"
                  },
                  "delivery": {
                    "anyOf": [
                      {
                        "$ref": "#/components/schemas/Session.Inbox.Delivery"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "resume": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": ["text"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/session/{sessionID}/shell": {
      "post": {
        "tags": ["session"],
        "operationId": "session.shell",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Execute one shell command in the session's working directory. Emits a shell.started event before execution and a shell.ended event with the merged output after.",
        "summary": "Run shell command",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^msg_"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "command": {
                    "type": "string"
                  }
                },
                "required": ["command"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/session/{sessionID}/compact": {
      "post": {
        "tags": ["session"],
        "operationId": "session.compact",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Session.Inbox.Compaction"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "409": {
            "description": "ConflictError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Durably admit a session compaction request. Steers by default: it runs at the next step boundary instead of waiting behind queued prompts.",
        "summary": "Compact session",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^msg_"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "delivery": {
                    "anyOf": [
                      {
                        "$ref": "#/components/schemas/Session.Inbox.Delivery"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/experimental/session/{sessionID}/wait": {
      "post": {
        "tags": ["session"],
        "operationId": "experimental.session.wait",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Wait for a session agent loop to become idle.",
        "summary": "Wait for session"
      }
    },
    "/api/session/{sessionID}/revert/stage": {
      "post": {
        "tags": ["session"],
        "operationId": "session.revert.stage",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Session.Revert"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "MessageNotFoundError | SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/MessageNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "409": {
            "description": "SessionBusyError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionBusyErrorEncoded"
                }
              }
            }
          },
          "500": {
            "description": "UnknownError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnknownErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Stage or move a reversible session boundary and optionally apply its file changes.",
        "summary": "Stage session revert",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "messageID": {
                    "type": "string",
                    "pattern": "^msg_"
                  },
                  "files": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": ["messageID"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/session/{sessionID}/revert": {
      "delete": {
        "tags": ["session"],
        "operationId": "session.revert.clear",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "409": {
            "description": "SessionBusyError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionBusyErrorEncoded"
                }
              }
            }
          },
          "500": {
            "description": "UnknownError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnknownErrorEncoded"
                }
              }
            }
          }
        },
        "summary": "Clear staged revert"
      }
    },
    "/api/session/{sessionID}/revert/commit": {
      "post": {
        "tags": ["session"],
        "operationId": "session.revert.commit",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "409": {
            "description": "SessionBusyError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionBusyErrorEncoded"
                }
              }
            }
          }
        },
        "summary": "Commit staged revert"
      }
    },
    "/api/session/{sessionID}/context": {
      "get": {
        "tags": ["session"],
        "operationId": "session.context",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Session.Message.Info"
                      }
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                }
              }
            }
          },
          "500": {
            "description": "UnknownError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnknownErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve the active context messages for a session (all messages after the last compaction).",
        "summary": "Get session context"
      }
    },
    "/api/session/{sessionID}/diff": {
      "get": {
        "tags": ["session"],
        "operationId": "session.diff",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^msg_"
                },
                {
                  "type": "null"
                }
              ],
              "description": "User message whose turn to diff. Defaults to the turn of the newest user message."
            },
            "required": false
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^msg_"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Later user message whose turn ends the range. Defaults to the turn of `from` alone."
            },
            "required": false
          },
          {
            "name": "context",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Unchanged lines around each hunk. Omit for full-file patches."
            },
            "required": false
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FileDiff.Info"
                      }
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "MessageNotFoundError | SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/MessageNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "UnknownError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnknownErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Structured per-file diffs of the files a turn changed. A turn runs from the first prompt after the session was last idle until its next idle marker, so prompts steered in while it was busy belong to the same turn; `to` extends the range through a later turn. Compares the range's first recorded snapshot with its last; a step still running in the active session compares against the working copy. Ranges that span a location change are rejected. In sessions without any idle marker, a prompt's turn spans until the next user message.",
        "summary": "Diff session turns"
      }
    },
    "/api/session/{sessionID}/inbox": {
      "get": {
        "tags": ["session"],
        "operationId": "session.inbox.list",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Session.Inbox.Info"
                      }
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "List durable enqueued session work not yet delivered, ordered by enqueue sequence. Includes user, synthetic, compaction, and move items.",
        "summary": "List session inbox"
      }
    },
    "/api/session/{sessionID}/inbox/{inboxID}": {
      "delete": {
        "tags": ["session"],
        "operationId": "session.inbox.cancel",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          },
          {
            "name": "inboxID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^msg_"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Cancel an inbox item that has not yet been delivered. Unavailable items are a no-op.",
        "summary": "Cancel inbox input"
      },
      "patch": {
        "tags": ["session"],
        "operationId": "session.inbox.update",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          },
          {
            "name": "inboxID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^msg_"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                }
              }
            }
          },
          "409": {
            "description": "ConflictError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Change a pending inbox item's delivery mode. Steering wakes session execution.",
        "summary": "Update inbox item",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "delivery": {
                    "$ref": "#/components/schemas/Session.Inbox.Delivery"
                  }
                },
                "required": ["delivery"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/experimental/session/{sessionID}/instructions/entries": {
      "get": {
        "tags": ["session"],
        "operationId": "experimental.session.instructions.entry.list",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InstructionEntry.Info"
                      }
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "List API-managed instruction entries attached to the session.",
        "summary": "List instruction entries"
      }
    },
    "/api/experimental/session/{sessionID}/instructions/entries/{key}": {
      "put": {
        "tags": ["session"],
        "operationId": "experimental.session.instructions.entry.put",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          },
          {
            "name": "key",
            "in": "path",
            "schema": {
              "$ref": "#/components/schemas/InstructionEntry.Key"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "413": {
            "description": "InstructionEntryValueTooLargeError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstructionEntryValueTooLargeErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Attach or replace one durable instruction entry. Changes announce as updates at the next step boundary.",
        "summary": "Put instruction entry",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "value": {}
                },
                "required": ["value"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "tags": ["session"],
        "operationId": "experimental.session.instructions.entry.remove",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          },
          {
            "name": "key",
            "in": "path",
            "schema": {
              "$ref": "#/components/schemas/InstructionEntry.Key"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Remove one instruction entry; the removal is announced to the model at the next step boundary.",
        "summary": "Remove instruction entry"
      }
    },
    "/api/session/{sessionID}/generate": {
      "post": {
        "tags": ["session"],
        "operationId": "session.generate",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "SessionGenerateResponse",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionGenerateResponse"
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Generate transient text from the current session context without mutating session history.",
        "summary": "Generate text from session context",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "prompt": {
                    "type": "string"
                  }
                },
                "required": ["prompt"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/experimental/session/{sessionID}/log": {
      "get": {
        "tags": ["session"],
        "operationId": "session.log",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          },
          {
            "name": "after",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "name": "follow",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": ["true", "false"]
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/event-stream": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "event": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/SessionLogItemEncoded"
                    }
                  },
                  "required": ["id", "event", "data"],
                  "additionalProperties": false
                },
                "x-effect-stream": {
                  "encoding": "sse",
                  "causeSchema": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "_tag": {
                              "type": "string",
                              "enum": ["Fail"]
                            },
                            "error": {
                              "not": {}
                            }
                          },
                          "required": ["_tag", "error"],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "_tag": {
                              "type": "string",
                              "enum": ["Die"]
                            },
                            "defect": {}
                          },
                          "required": ["_tag", "defect"],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "_tag": {
                              "type": "string",
                              "enum": ["Interrupt"]
                            },
                            "fiberId": {
                              "anyOf": [
                                {
                                  "type": "number"
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": ["_tag", "fiberId"],
                          "additionalProperties": false
                        }
                      ]
                    }
                  },
                  "errorSchema": {
                    "not": {}
                  },
                  "failureEvent": "effect/httpapi/stream/failure"
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Experimental durable session event log. Reads events after an exclusive aggregate sequence and continues with live events when follow=true.",
        "summary": "Read the session log"
      }
    },
    "/api/session/{sessionID}/interrupt": {
      "post": {
        "tags": ["session"],
        "operationId": "session.interrupt",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          },
          {
            "name": "resume",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": ["true", "false"]
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "SessionInterruptResponse",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionInterruptResponse"
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Interrupt active execution owned by this OpenCode process. Returns interrupted=true when an active execution was interrupted and false for the idle no-op. When resume=true, execution resumes pending steering input and next-in-line control items (manual compaction, moves) while queued prompts remain parked.",
        "summary": "Interrupt session execution"
      }
    },
    "/api/session/{sessionID}/background": {
      "post": {
        "tags": ["session"],
        "operationId": "session.background",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Move active foreground backgroundable tools for this session into background observation. Idle requests are a no-op.",
        "summary": "Background blocking session tools"
      }
    },
    "/api/session/{sessionID}/message/{messageID}": {
      "get": {
        "tags": ["session"],
        "operationId": "session.message.get",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          },
          {
            "name": "messageID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^msg_"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Session.Message.Info"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError | MessageNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/MessageNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Retrieve one projected message owned by the Session.",
        "summary": "Get session message"
      }
    },
    "/api/session/{sessionID}/form": {
      "get": {
        "tags": ["session"],
        "operationId": "session.form.list",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Form.Info"
                      }
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Retrieve pending forms for a session.",
        "summary": "List session forms"
      },
      "post": {
        "tags": ["session"],
        "operationId": "session.form.create",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Form.Info"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "409": {
            "description": "ConflictError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Create a form for a session.",
        "summary": "Create session form",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Form.CreatePayload"
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/session/{sessionID}/form/{formID}": {
      "get": {
        "tags": ["session"],
        "operationId": "session.form.get",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "formID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^frm_"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Form.Detail"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError | FormNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/FormNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Retrieve a form and its current state for a session.",
        "summary": "Get session form"
      },
      "delete": {
        "tags": ["session"],
        "operationId": "session.form.cancel",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "formID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^frm_"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError | FormNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/FormNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "409": {
            "description": "FormAlreadySettledError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FormAlreadySettledErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Cancel a pending form, optionally telling the asker why it was not answered.",
        "summary": "Cancel form"
      }
    },
    "/api/session/{sessionID}/form/{formID}/reply": {
      "post": {
        "tags": ["session"],
        "operationId": "session.form.reply",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "formID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^frm_"
            },
            "required": true
          },
          {
            "name": "message",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "FormInvalidAnswerError | InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/FormInvalidAnswerErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError | FormNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/FormNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "409": {
            "description": "FormAlreadySettledError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FormAlreadySettledErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Submit an answer to a pending form.",
        "summary": "Reply to form",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Form.Reply"
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/session/{sessionID}/environment": {
      "put": {
        "tags": ["session"],
        "operationId": "session.environment",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Replace the process environment used by local shell commands for this session.",
        "summary": "Set session environment",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "variables": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  }
                },
                "required": ["variables"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/session/{sessionID}/view": {
      "post": {
        "tags": ["session"],
        "operationId": "session.view",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Mark the idle transition observed by the viewer as viewed.",
        "summary": "View session",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "idle": {
                    "type": "number"
                  }
                },
                "required": ["idle"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/session/{sessionID}/message": {
      "get": {
        "tags": ["session"],
        "operationId": "session.message.list",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Maximum number of messages to return. When omitted, the endpoint returns its default page size."
            },
            "required": false
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": ["asc", "desc"]
                },
                {
                  "type": "null"
                }
              ],
              "description": "Message order for the first page. Use desc for newest first or asc for oldest first."
            },
            "required": false
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "description": "Opaque pagination cursor returned as cursor.previous or cursor.next in the previous response. Do not combine with order."
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "agent-switched",
                    "model-switched",
                    "location-switched",
                    "user",
                    "synthetic",
                    "system",
                    "skill",
                    "shell",
                    "assistant",
                    "compaction"
                  ]
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by message type before pagination. When omitted, all message types are returned. Pass the same type when following cursors."
            },
            "required": false
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "SessionMessagesResponse",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionMessagesResponse"
                }
              }
            }
          },
          "400": {
            "description": "InvalidCursorError | InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidCursorErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                }
              }
            }
          },
          "500": {
            "description": "UnknownError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnknownErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve projected messages for a session, optionally filtered by type. Items keep the requested order across pages; use cursor.next or cursor.previous to move through the ordered timeline, passing the same type filter on each page.",
        "summary": "Get session messages"
      }
    },
    "/api/model": {
      "get": {
        "tags": ["model"],
        "operationId": "model.list",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Model.Info"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve the current snapshot of available models ordered by release date. The snapshot may precede initial plugin settlement.",
        "summary": "List models"
      }
    },
    "/api/model/default": {
      "get": {
        "tags": ["model"],
        "operationId": "model.default",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/Model.Info"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve the model used when a session has no explicit model selection.",
        "summary": "Get default model"
      }
    },
    "/api/experimental/generate": {
      "post": {
        "tags": ["generate"],
        "operationId": "experimental.generate.text",
        "parameters": [],
        "security": [],
        "responses": {
          "200": {
            "description": "GenerateTextResponse",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateTextResponse"
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Run one stateless model generation using the server's base configuration and return the assistant text. Uses the base configuration's default model when none is specified.",
        "summary": "Generate text",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "prompt": {
                    "type": "string"
                  },
                  "model": {
                    "anyOf": [
                      {
                        "$ref": "#/components/schemas/Model.Ref"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": ["prompt"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/provider": {
      "get": {
        "tags": ["provider"],
        "operationId": "provider.list",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Provider.Info"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve active AI providers so clients can show provider availability and configuration.",
        "summary": "List providers"
      }
    },
    "/api/provider/{providerID}": {
      "get": {
        "tags": ["provider"],
        "operationId": "provider.get",
        "parameters": [
          {
            "name": "providerID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Provider.Info"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "ProviderNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderNotFoundErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve a single AI provider so clients can inspect its availability and endpoint settings.",
        "summary": "Get provider"
      }
    },
    "/api/integration": {
      "get": {
        "tags": ["integration"],
        "operationId": "integration.list",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Integration.Info"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve available integrations and their authentication methods.",
        "summary": "List integrations"
      }
    },
    "/api/integration/{integrationID}": {
      "get": {
        "tags": ["integration"],
        "operationId": "integration.get",
        "parameters": [
          {
            "name": "integrationID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Integration.Info"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "IntegrationNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve one integration and its authentication methods.",
        "summary": "Get integration"
      }
    },
    "/api/experimental/integration/wellknown": {
      "post": {
        "tags": ["integration"],
        "operationId": "experimental.integration.wellknown.add",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Discover and persist an experimental wellknown integration source.",
        "summary": "Add wellknown integration",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  }
                },
                "required": ["url"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/integration/{integrationID}/connect/key": {
      "post": {
        "tags": ["integration"],
        "operationId": "integration.connect.key",
        "parameters": [
          {
            "name": "integrationID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "IntegrationNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Run a key authentication method and store the resulting credential.",
        "summary": "Connect with key",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string"
                  },
                  "answer": {
                    "anyOf": [
                      {
                        "$ref": "#/components/schemas/Form.Answer"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "label": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": ["key"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/integration/{integrationID}/connect/oauth": {
      "post": {
        "tags": ["integration"],
        "operationId": "integration.oauth.connect",
        "parameters": [
          {
            "name": "integrationID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Integration.AttemptEncoded"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Start an OAuth attempt and return the authorization details.",
        "summary": "Begin OAuth connection",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "methodID": {
                    "type": "string"
                  },
                  "answer": {
                    "anyOf": [
                      {
                        "$ref": "#/components/schemas/Form.Answer"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "label": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": ["methodID"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/integration/{integrationID}/connect/oauth/{attemptID}": {
      "get": {
        "tags": ["integration"],
        "operationId": "integration.oauth.status",
        "parameters": [
          {
            "name": "integrationID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "attemptID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Integration.AttemptStatus"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "IntegrationNotFoundError | IntegrationAttemptNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/IntegrationNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/IntegrationAttemptNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Poll the current status of an OAuth attempt.",
        "summary": "Get OAuth attempt status"
      },
      "delete": {
        "tags": ["integration"],
        "operationId": "integration.oauth.cancel",
        "parameters": [
          {
            "name": "integrationID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "attemptID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Cancel an OAuth attempt and release its resources.",
        "summary": "Cancel OAuth connection"
      }
    },
    "/api/integration/{integrationID}/connect/oauth/{attemptID}/complete": {
      "post": {
        "tags": ["integration"],
        "operationId": "integration.oauth.complete",
        "parameters": [
          {
            "name": "integrationID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "attemptID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "IntegrationNotFoundError | IntegrationAttemptNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/IntegrationNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/IntegrationAttemptNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Complete a code-based OAuth attempt and store the resulting credential.",
        "summary": "Complete OAuth connection",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "code": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/integration/{integrationID}/connect/command": {
      "post": {
        "tags": ["integration"],
        "operationId": "integration.command.connect",
        "parameters": [
          {
            "name": "integrationID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Integration.CommandAttempt"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "IntegrationNotFoundError | IntegrationMethodNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/IntegrationNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/IntegrationMethodNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Start a command authentication attempt.",
        "summary": "Begin command connection",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "methodID": {
                    "type": "string"
                  },
                  "label": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": ["methodID"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/integration/{integrationID}/connect/command/{attemptID}": {
      "get": {
        "tags": ["integration"],
        "operationId": "integration.command.status",
        "parameters": [
          {
            "name": "integrationID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "attemptID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Integration.CommandAttemptStatus"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "IntegrationNotFoundError | IntegrationAttemptNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/IntegrationNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/IntegrationAttemptNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Poll the current status and output of a command authentication attempt.",
        "summary": "Get command attempt status"
      },
      "delete": {
        "tags": ["integration"],
        "operationId": "integration.command.cancel",
        "parameters": [
          {
            "name": "integrationID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "attemptID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Cancel a command authentication attempt and terminate its process.",
        "summary": "Cancel command connection"
      }
    },
    "/api/mcp": {
      "get": {
        "tags": ["mcp"],
        "operationId": "mcp.list",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Mcp.Server"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve configured MCP servers and their connection status.",
        "summary": "List MCP servers"
      }
    },
    "/api/experimental/mcp/{server}": {
      "put": {
        "tags": ["mcp"],
        "operationId": "experimental.mcp.add",
        "parameters": [
          {
            "name": "server",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Add an MCP server at runtime or replace an existing one, connecting it immediately.",
        "summary": "Add MCP server",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "config": {
                    "anyOf": [
                      {
                        "$ref": "#/components/schemas/Mcp.LocalConfigEncoded"
                      },
                      {
                        "$ref": "#/components/schemas/Mcp.RemoteConfigEncoded"
                      }
                    ]
                  }
                },
                "required": ["config"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "tags": ["mcp"],
        "operationId": "experimental.mcp.remove",
        "parameters": [
          {
            "name": "server",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "McpServerNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpServerNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Stop an MCP server and remove it from the runtime set until restart.",
        "summary": "Remove MCP server"
      }
    },
    "/api/experimental/mcp/{server}/connect": {
      "post": {
        "tags": ["mcp"],
        "operationId": "experimental.mcp.connect",
        "parameters": [
          {
            "name": "server",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "McpServerNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpServerNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Connect an MCP server at runtime, overriding a disabled configuration until restart.",
        "summary": "Connect MCP server"
      }
    },
    "/api/experimental/mcp/{server}/disconnect": {
      "post": {
        "tags": ["mcp"],
        "operationId": "experimental.mcp.disconnect",
        "parameters": [
          {
            "name": "server",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "McpServerNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpServerNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Disconnect an MCP server at runtime, removing its tools until reconnected.",
        "summary": "Disconnect MCP server"
      }
    },
    "/api/mcp/resource": {
      "get": {
        "tags": ["mcp"],
        "operationId": "mcp.resource.catalog",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Mcp.ResourceCatalog"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve resources and resource templates from connected MCP servers.",
        "summary": "List MCP resources"
      }
    },
    "/api/credential/{credentialID}": {
      "patch": {
        "tags": ["credential"],
        "operationId": "credential.update",
        "parameters": [
          {
            "name": "credentialID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Update a stored credential label.",
        "summary": "Update credential",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string"
                  }
                },
                "required": ["label"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "tags": ["credential"],
        "operationId": "credential.remove",
        "parameters": [
          {
            "name": "credentialID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Remove a stored integration credential.",
        "summary": "Remove credential"
      }
    },
    "/api/credential/{credentialID}/activate": {
      "post": {
        "tags": ["credential"],
        "operationId": "credential.activate",
        "parameters": [
          {
            "name": "credentialID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Activate a stored integration credential.",
        "summary": "Activate credential"
      }
    },
    "/api/project": {
      "get": {
        "tags": ["project"],
        "operationId": "project.list",
        "parameters": [],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Project"
                  }
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "List known projects.",
        "summary": "List projects"
      }
    },
    "/api/project/{projectID}": {
      "patch": {
        "tags": ["project"],
        "operationId": "project.update",
        "parameters": [
          {
            "name": "projectID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Project",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Project"
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "ProjectNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Update the project canonical directory, display metadata, and workspace commands.",
        "summary": "Update project",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "canonical": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "icon": {
                    "$ref": "#/components/schemas/Project.Icon"
                  },
                  "commands": {
                    "$ref": "#/components/schemas/Project.Commands"
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/form": {
      "get": {
        "tags": ["form"],
        "operationId": "form.list",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Form.Info"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve pending forms for a location.",
        "summary": "List pending forms"
      }
    },
    "/api/permission/request": {
      "get": {
        "tags": ["permission"],
        "operationId": "permission.request.list",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Permission.Request"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve pending permission requests for a location.",
        "summary": "List pending permission requests"
      }
    },
    "/api/permission/saved": {
      "get": {
        "tags": ["permission"],
        "operationId": "permission.saved.list",
        "parameters": [
          {
            "name": "projectID",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PermissionSaved.Info"
                      }
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve saved permissions, optionally filtered by project.",
        "summary": "List saved permissions"
      }
    },
    "/api/permission/saved/{id}": {
      "delete": {
        "tags": ["permission"],
        "operationId": "permission.saved.remove",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Remove a saved permission by ID.",
        "summary": "Remove saved permission"
      }
    },
    "/api/session/{sessionID}/permission": {
      "post": {
        "tags": ["permission"],
        "operationId": "session.permission.create",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^per"
                        },
                        "effect": {
                          "$ref": "#/components/schemas/Permission.Effect"
                        }
                      },
                      "required": ["id", "effect"],
                      "additionalProperties": false
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Evaluate and, when approval is required, create a permission request for a session.",
        "summary": "Create permission request",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "string",
                        "pattern": "^per"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "action": {
                    "type": "string"
                  },
                  "resources": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "save": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "metadata": {
                    "type": "object"
                  },
                  "source": {
                    "$ref": "#/components/schemas/Permission.Source"
                  },
                  "agent": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": ["action", "resources"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      },
      "get": {
        "tags": ["permission"],
        "operationId": "session.permission.list",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Permission.Request"
                      }
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve pending permission requests owned by a session.",
        "summary": "List session permission requests"
      }
    },
    "/api/session/{sessionID}/permission/{requestID}": {
      "get": {
        "tags": ["permission"],
        "operationId": "session.permission.get",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          },
          {
            "name": "requestID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^per"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Permission.Request"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError | PermissionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/PermissionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Retrieve a pending permission request owned by a session.",
        "summary": "Get permission request"
      }
    },
    "/api/session/{sessionID}/permission/{requestID}/reply": {
      "post": {
        "tags": ["permission"],
        "operationId": "session.permission.reply",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          },
          {
            "name": "requestID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^per"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "SessionNotFoundError | PermissionNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/PermissionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/SessionNotFoundErrorEncoded"
                    }
                  ]
                }
              }
            }
          }
        },
        "description": "Respond to a pending permission request owned by a session.",
        "summary": "Reply to pending permission request",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "decision": {
                    "$ref": "#/components/schemas/Permission.Reply"
                  },
                  "message": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": ["decision"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/fs/read/*": {
      "get": {
        "tags": ["filesystem"],
        "operationId": "fs.read",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "FileNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Serve one file relative to the requested location.",
        "summary": "Read file"
      }
    },
    "/api/fs/list": {
      "get": {
        "tags": ["filesystem"],
        "operationId": "fs.list",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          },
          {
            "name": "path",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "An absolute path or a path relative to the requested location. Defaults to the location directory."
            },
            "required": false
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FileSystem.Entry"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "List direct children using an absolute path or a path relative to the requested location, including parents and siblings outside its directory. Entry paths remain relative to the requested location; listing does not switch locations.",
        "summary": "List directory"
      }
    },
    "/api/fs/find": {
      "get": {
        "tags": ["filesystem"],
        "operationId": "fs.find",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          },
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": ["file", "directory"]
            },
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FileSystem.Entry"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Find recursively ranked filesystem entries relative to the requested location.",
        "summary": "Find files"
      }
    },
    "/api/experimental/fs/write": {
      "post": {
        "tags": ["filesystem"],
        "operationId": "experimental.fs.write",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          },
          {
            "name": "path",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "An absolute path or a path relative to the requested location. Missing parent directories are created."
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/FileSystem.Write"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Write the raw request body to an absolute path or a path relative to the requested location, creating parent directories, and return the resolved absolute path. Unlike read, the target is not confined to the location. Experimental: may change without compatibility guarantees.",
        "summary": "Write file",
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "type": "string",
                "format": "binary"
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/command": {
      "get": {
        "tags": ["command"],
        "operationId": "command.list",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Command.Info"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve currently registered commands.",
        "summary": "List commands"
      }
    },
    "/api/skill": {
      "get": {
        "tags": ["skill"],
        "operationId": "skill.list",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Skill.Info"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Retrieve currently registered skills.",
        "summary": "List skills"
      }
    },
    "/api/rpc/{rpcID}/{method}": {
      "post": {
        "tags": ["rpc"],
        "operationId": "rpc.call",
        "parameters": [
          {
            "name": "rpcID",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "method",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Rpc.Output",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Rpc.Output"
                }
              }
            }
          },
          "400": {
            "description": "RpcError | InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/RpcErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "500": {
            "description": "RpcInternalError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RpcInternalErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Dispatch a method to the currently registered RPC at the requested location.",
        "summary": "Call a plugin RPC",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Rpc.Input"
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/event": {
      "get": {
        "tags": ["event"],
        "operationId": "event.subscribe",
        "parameters": [],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/event-stream": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "event": {
                      "type": "string"
                    },
                    "data": {
                      "$ref": "#/components/schemas/V2EventEncoded"
                    }
                  },
                  "required": ["id", "event", "data"],
                  "additionalProperties": false
                },
                "x-effect-stream": {
                  "encoding": "sse",
                  "causeSchema": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "_tag": {
                              "type": "string",
                              "enum": ["Fail"]
                            },
                            "error": {
                              "not": {}
                            }
                          },
                          "required": ["_tag", "error"],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "_tag": {
                              "type": "string",
                              "enum": ["Die"]
                            },
                            "defect": {}
                          },
                          "required": ["_tag", "defect"],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "_tag": {
                              "type": "string",
                              "enum": ["Interrupt"]
                            },
                            "fiberId": {
                              "anyOf": [
                                {
                                  "type": "number"
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": ["_tag", "fiberId"],
                          "additionalProperties": false
                        }
                      ]
                    }
                  },
                  "errorSchema": {
                    "not": {}
                  },
                  "failureEvent": "effect/httpapi/stream/failure"
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Subscribe to native events and plugin RPC events across all server locations. Volatile by contract: a slow consumer overflows and fails the stream, and events during disconnection are missed.",
        "summary": "Subscribe to events"
      }
    },
    "/api/pty": {
      "get": {
        "tags": ["pty"],
        "operationId": "pty.list",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Pty"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "List PTY sessions for a location, including exited sessions retained until removal.",
        "summary": "List PTY sessions"
      },
      "post": {
        "tags": ["pty"],
        "operationId": "pty.create",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Pty"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Create a pseudo-terminal session for a location.",
        "summary": "Create PTY session",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "command": {
                    "type": "string"
                  },
                  "args": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "cwd": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string"
                  },
                  "env": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/pty/{ptyID}": {
      "get": {
        "tags": ["pty"],
        "operationId": "pty.get",
        "parameters": [
          {
            "name": "ptyID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^pty"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Pty"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "PtyNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PtyNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Get one PTY session, including its exit code once exited.",
        "summary": "Get PTY session"
      },
      "put": {
        "tags": ["pty"],
        "operationId": "pty.update",
        "parameters": [
          {
            "name": "ptyID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^pty"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Pty"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "PtyNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PtyNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Update the title or viewport size of one PTY session.",
        "summary": "Update PTY session",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "size": {
                    "type": "object",
                    "properties": {
                      "rows": {
                        "type": "integer",
                        "exclusiveMinimum": 0
                      },
                      "cols": {
                        "type": "integer",
                        "exclusiveMinimum": 0
                      }
                    },
                    "required": ["rows", "cols"],
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "tags": ["pty"],
        "operationId": "pty.remove",
        "parameters": [
          {
            "name": "ptyID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^pty"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "PtyNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PtyNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Terminate and remove one PTY session.",
        "summary": "Remove PTY session"
      }
    },
    "/api/pty/{ptyID}/connect-token": {
      "post": {
        "tags": ["pty"],
        "operationId": "pty.connect.token",
        "parameters": [
          {
            "name": "ptyID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^pty"
            },
            "required": true
          },
          {
            "name": "x-opencode-ticket",
            "in": "header",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/PtyTicket.ConnectToken"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "403": {
            "description": "ForbiddenError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "PtyNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PtyNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Create a short-lived single-use ticket for opening a PTY WebSocket connection.",
        "summary": "Create PTY WebSocket token"
      }
    },
    "/api/pty/{ptyID}/connect": {
      "get": {
        "tags": ["pty"],
        "operationId": "pty.connect",
        "parameters": [
          {
            "name": "ptyID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^pty"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "location[directory]",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "ticket",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "403": {
            "description": "ForbiddenError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "PtyNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PtyNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Establish a WebSocket connection streaming PTY output and accepting terminal input.",
        "summary": "Connect to PTY session",
        "x-websocket": true
      }
    },
    "/api/experimental/session/{sessionID}/terminal/read": {
      "get": {
        "tags": ["persistentPty"],
        "operationId": "server.experimental.persistentPty.read",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          },
          {
            "name": "lines",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/PersistentPty.ReadLinesEncoded"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/PersistentPty.ReadResult"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Read the last physical rows without changing selection or taking control. Omitted lines uses the live terminal height; larger counts include retained history. Blank rows are preserved. Screen dimensions and cursor remain relative to the live screen. Returns null when no current terminal exists. Selection is server-local and resets on restart. Experimental: may change without compatibility guarantees.",
        "summary": "Read the session's most recently controlled terminal"
      }
    },
    "/api/experimental/session/{sessionID}/terminal": {
      "get": {
        "tags": ["persistentPty"],
        "operationId": "server.experimental.persistentPty.list",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PersistentPty.Info"
                      }
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": ["persistentPty"],
        "operationId": "server.experimental.persistentPty.create",
        "parameters": [
          {
            "name": "sessionID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^ses"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PersistentPty.Info"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PersistentPty.CreateInput"
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/experimental/persistent-pty/shutdown": {
      "post": {
        "tags": ["persistentPty"],
        "operationId": "server.experimental.persistentPty.shutdown",
        "parameters": [],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        }
      }
    },
    "/api/experimental/persistent-pty/handoff": {
      "post": {
        "tags": ["persistentPty"],
        "operationId": "server.experimental.persistentPty.handoff",
        "parameters": [],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "handoff": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/PersistentPty.Handoff"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": ["handoff"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        }
      }
    },
    "/api/experimental/persistent-pty/{ptyID}": {
      "get": {
        "tags": ["persistentPty"],
        "operationId": "server.experimental.persistentPty.get",
        "parameters": [
          {
            "name": "ptyID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^pty"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PersistentPty.Info"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "PtyNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PtyNotFoundErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": ["persistentPty"],
        "operationId": "server.experimental.persistentPty.update",
        "parameters": [
          {
            "name": "ptyID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^pty"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PersistentPty.Info"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "PtyNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PtyNotFoundErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PersistentPty.UpdateInput"
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "tags": ["persistentPty"],
        "operationId": "server.experimental.persistentPty.remove",
        "parameters": [
          {
            "name": "ptyID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^pty"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "PtyNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PtyNotFoundErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        }
      }
    },
    "/api/experimental/persistent-pty/{ptyID}/snapshot": {
      "get": {
        "tags": ["persistentPty"],
        "operationId": "server.experimental.persistentPty.snapshot",
        "parameters": [
          {
            "name": "ptyID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^pty"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PersistentPty.Snapshot"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "PtyNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PtyNotFoundErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        }
      }
    },
    "/api/experimental/persistent-pty/{ptyID}/connect-token": {
      "post": {
        "tags": ["persistentPty"],
        "operationId": "server.experimental.persistentPty.connectToken",
        "parameters": [
          {
            "name": "ptyID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^pty"
            },
            "required": true
          },
          {
            "name": "x-opencode-ticket",
            "in": "header",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PtyTicket.ConnectToken"
                    }
                  },
                  "required": ["data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "403": {
            "description": "ForbiddenError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "PtyNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PtyNotFoundErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        }
      }
    },
    "/api/experimental/persistent-pty/{ptyID}/connect": {
      "get": {
        "tags": ["persistentPty"],
        "operationId": "persistentPty.connect",
        "parameters": [
          {
            "name": "ptyID",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^pty"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "role",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "attachment_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "takeover",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "input_protocol",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "ticket",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "403": {
            "description": "ForbiddenError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "PtyNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PtyNotFoundErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Stream persistent PTY output through the OpenCode server.",
        "summary": "Connect to a persistent PTY",
        "x-websocket": true
      }
    },
    "/api/shell": {
      "get": {
        "tags": ["shell"],
        "operationId": "shell.list",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Shell.Info"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "List currently running shell commands for a location. Exited commands are not included.",
        "summary": "List running shell commands"
      },
      "post": {
        "tags": ["shell"],
        "operationId": "shell.create",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Shell.Info"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Spawn one non-interactive shell command for a location. Combined stdout/stderr is captured to a file pageable via output.",
        "summary": "Run shell command",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "command": {
                    "type": "string"
                  },
                  "cwd": {
                    "type": "string"
                  },
                  "timeout": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "metadata": {
                    "type": "object"
                  }
                },
                "required": ["command"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/shell/{id}": {
      "get": {
        "tags": ["shell"],
        "operationId": "shell.get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^sh_"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Shell.Info"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "ShellNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShellNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Get one shell command, including its status and exit code once exited.",
        "summary": "Get shell command"
      },
      "delete": {
        "tags": ["shell"],
        "operationId": "shell.remove",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^sh_"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Terminate and remove one shell command and its retained output.",
        "summary": "Remove shell command"
      }
    },
    "/api/shell/{id}/output": {
      "get": {
        "tags": ["shell"],
        "operationId": "shell.output",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string",
              "pattern": "^sh_"
            },
            "required": true
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string",
              "pattern": "^[+-]?\\d*\\.?\\d+(?:[Ee][+-]?\\d+)?$"
            },
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "string",
              "pattern": "^[+-]?\\d*\\.?\\d+(?:[Ee][+-]?\\d+)?$"
            },
            "required": false
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "object",
                      "properties": {
                        "output": {
                          "type": "string"
                        },
                        "cursor": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "size": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "truncated": {
                          "type": "boolean"
                        }
                      },
                      "required": ["output", "cursor", "size", "truncated"],
                      "additionalProperties": false
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "ShellNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShellNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Page through captured combined output by absolute byte cursor.",
        "summary": "Read shell output"
      }
    },
    "/api/reference": {
      "get": {
        "tags": ["reference"],
        "operationId": "reference.list",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Reference.Info"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "List references available in the requested location.",
        "summary": "List references"
      }
    },
    "/api/worktree": {
      "get": {
        "tags": ["worktree"],
        "operationId": "worktree.list",
        "parameters": [
          {
            "name": "projectID",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Worktree.List",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Worktree.List"
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "ProjectNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Return the project's saved worktree inventory without loading configuration or running discovery.",
        "summary": "List worktrees"
      },
      "post": {
        "tags": ["worktree"],
        "operationId": "worktree.create",
        "parameters": [],
        "security": [],
        "responses": {
          "200": {
            "description": "Worktree.Info",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Worktree.Info"
                }
              }
            }
          },
          "400": {
            "description": "WorktreeError | InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/WorktreeErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "ProjectNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Load the project's canonical configuration, create a local worktree using its selected strategy, then run the project's setup script.",
        "summary": "Create worktree",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Worktree.CreateInput"
              }
            }
          },
          "required": true
        }
      },
      "delete": {
        "tags": ["worktree"],
        "operationId": "worktree.remove",
        "parameters": [],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "WorktreeError | InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/WorktreeErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "ProjectNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Load the project's canonical configuration and remove a saved worktree using its recorded strategy.",
        "summary": "Remove worktree",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Worktree.RemoveInput"
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/worktree/refresh": {
      "post": {
        "tags": ["worktree"],
        "operationId": "worktree.refresh",
        "parameters": [],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "WorktreeError | InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/WorktreeErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "404": {
            "description": "ProjectNotFoundError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectNotFoundErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Load the project's canonical configuration, discover worktrees across known checkout roots using all available strategies, and reconcile saved state.",
        "summary": "Refresh worktrees",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "projectID": {
                    "type": "string"
                  }
                },
                "required": ["projectID"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/vcs": {
      "get": {
        "tags": ["vcs"],
        "operationId": "vcs.get",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Vcs.Info"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Get current and default branch information for the requested location.",
        "summary": "VCS info"
      }
    },
    "/api/vcs/base": {
      "get": {
        "tags": ["vcs"],
        "operationId": "vcs.base",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/Vcs.Base"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Infer a local review base from named branch creation history, or the repository default only when currently on that branch. Returns null before the first commit or when the provider lacks base metadata; ambiguous Git history requires an explicit base on diff requests.",
        "summary": "VCS review base"
      }
    },
    "/api/vcs/status": {
      "get": {
        "tags": ["vcs"],
        "operationId": "vcs.status",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Vcs.FileStatus"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "List uncommitted working-copy changes relative to the requested location.",
        "summary": "VCS status"
      }
    },
    "/api/vcs/branch": {
      "get": {
        "tags": ["vcs"],
        "operationId": "vcs.branch.list",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Vcs.BranchList"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "List local and remote branches available at the requested location.",
        "summary": "VCS branches"
      }
    },
    "/api/vcs/diff": {
      "get": {
        "tags": ["vcs"],
        "operationId": "vcs.diff",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          },
          {
            "name": "mode",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/Vcs.Mode"
            },
            "required": true
          },
          {
            "name": "base",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": false
          },
          {
            "name": "context",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FileDiff.Info"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Diff HEAD to the working copy (working), the base merge-base to the working copy (branch), or the base merge-base to HEAD (committed). Omitting base preserves repository-default comparison; supplying it overrides the comparison without saving it.",
        "summary": "VCS diff"
      }
    },
    "/api/debug/location": {
      "get": {
        "tags": ["debug"],
        "operationId": "debug.location.list",
        "parameters": [],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Location.PublicRef"
                  }
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "List locations currently loaded by the server.",
        "summary": "List loaded locations"
      },
      "delete": {
        "tags": ["debug"],
        "operationId": "debug.location.evict",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Dispose the requested location's cached services so its next use boots them fresh.",
        "summary": "Evict a loaded location"
      }
    },
    "/api/experimental/migration/v1": {
      "get": {
        "tags": ["migration"],
        "operationId": "experimental.migration.v1.status",
        "parameters": [],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": ["required", "completed"]
                        }
                      },
                      "required": ["status"],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": ["running"]
                        },
                        "progress": {
                          "type": "object",
                          "properties": {
                            "label": {
                              "type": "string"
                            },
                            "numerator": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "minimum": 0
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "denominator": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "minimum": 0
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": ["label"],
                          "additionalProperties": false
                        }
                      },
                      "required": ["status", "progress"],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": ["error"]
                        },
                        "error": {
                          "type": "string"
                        }
                      },
                      "required": ["status", "error"],
                      "additionalProperties": false
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Return the progress of the V1 to V2 session history migration.",
        "summary": "Get V1 migration status"
      }
    },
    "/api/websearch/provider": {
      "get": {
        "tags": ["websearch"],
        "operationId": "websearch.providers",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/WebSearch.Provider"
                      }
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Return the registered web search providers.",
        "summary": "List web search providers"
      }
    },
    "/api/websearch": {
      "post": {
        "tags": ["websearch"],
        "operationId": "websearch.query",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "location": {
                      "$ref": "#/components/schemas/Location.PublicRef"
                    },
                    "data": {
                      "$ref": "#/components/schemas/WebSearch.ResponseEncoded"
                    }
                  },
                  "required": ["location", "data"],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          },
          "503": {
            "description": "ServiceUnavailableError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceUnavailableErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Run one web search through the selected provider. Specify a provider to override the configured default.",
        "summary": "Search the web",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "query": {
                    "type": "string"
                  },
                  "providerID": {
                    "type": "string"
                  }
                },
                "required": ["query"],
                "additionalProperties": false
              }
            }
          },
          "required": true
        }
      }
    },
    "/api/config": {
      "get": {
        "tags": ["config"],
        "operationId": "config.get",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "schema": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "directory": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "null"
                }
              ]
            },
            "required": false,
            "style": "deepObject",
            "explode": true
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Config.Entry"
                  }
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Return configuration documents and discovery sources for the requested location, from lowest to highest priority.",
        "summary": "Get configuration"
      }
    },
    "/api/config/shell": {
      "get": {
        "tags": ["config"],
        "operationId": "config.shells",
        "parameters": [],
        "security": [],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConfigShell.Option"
                  }
                }
              }
            }
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Return shells available to terminal and agent execution.",
        "summary": "List available shells"
      }
    },
    "/api/experimental/config": {
      "patch": {
        "tags": ["config"],
        "operationId": "experimental.config.update",
        "parameters": [],
        "security": [],
        "responses": {
          "204": {
            "description": "<No Content>"
          },
          "400": {
            "description": "InvalidRequestError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidRequestErrorEncoded"
                }
              }
            }
          },
          "401": {
            "description": "UnauthorizedError",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedErrorEncoded"
                }
              }
            }
          }
        },
        "description": "Patch supported fields in the highest-precedence global configuration document.",
        "summary": "Update global configuration",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Config.Patch"
              }
            }
          },
          "required": true
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Agent.Color": {
        "type": "string"
      },
      "Agent.Info": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "model": {
            "$ref": "#/components/schemas/Model.Ref"
          },
          "request": {
            "$ref": "#/components/schemas/Provider.Request"
          },
          "system": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "mode": {
            "type": "string",
            "enum": ["subagent", "primary", "all"]
          },
          "hidden": {
            "type": "boolean"
          },
          "color": {
            "$ref": "#/components/schemas/Agent.Color"
          },
          "steps": {
            "type": "integer",
            "exclusiveMinimum": 0
          },
          "permissions": {
            "$ref": "#/components/schemas/Permission.Ruleset"
          }
        },
        "required": ["id", "name", "request", "mode", "hidden", "permissions"],
        "additionalProperties": false
      },
      "AgentNotFoundErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["AgentNotFoundError"]
          },
          "agentID": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "agentID", "message"],
        "additionalProperties": false
      },
      "Command.Info": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": ["name"],
        "additionalProperties": false
      },
      "CommandExecutionErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["CommandExecutionError"]
          },
          "command": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "command", "message"],
        "additionalProperties": false
      },
      "CommandNotFoundErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["CommandNotFoundError"]
          },
          "command": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "command", "message"],
        "additionalProperties": false
      },
      "Config.AgentEncoded": {
        "type": "object",
        "properties": {
          "model": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[^/#]+\\/[^#]+(?:#[^#]+)?$"
              },
              {
                "type": "object",
                "properties": {
                  "providerID": {
                    "type": "string",
                    "pattern": "^[^/#]+$"
                  },
                  "model": {
                    "type": "string",
                    "pattern": "^[^#]+$"
                  },
                  "variant": {
                    "type": "string",
                    "pattern": "^[^#]+$"
                  }
                },
                "required": ["providerID", "model"],
                "additionalProperties": false
              }
            ]
          },
          "request": {
            "type": "object",
            "properties": {
              "headers": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                }
              },
              "body": {
                "type": "object"
              }
            },
            "additionalProperties": false
          },
          "system": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "mode": {
            "type": "string",
            "enum": ["subagent", "primary", "all"]
          },
          "hidden": {
            "type": "boolean"
          },
          "color": {
            "type": "string",
            "pattern": "^#[0-9a-fA-F]{6}$"
          },
          "steps": {
            "type": "integer",
            "exclusiveMinimum": 0
          },
          "disabled": {
            "type": "boolean"
          },
          "permissions": {
            "$ref": "#/components/schemas/Permission.Ruleset"
          }
        },
        "additionalProperties": false
      },
      "Config.CommandEncoded": {
        "type": "object",
        "properties": {
          "template": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "agent": {
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[^/#]+\\/[^#]+(?:#[^#]+)?$"
              },
              {
                "type": "object",
                "properties": {
                  "providerID": {
                    "type": "string",
                    "pattern": "^[^/#]+$"
                  },
                  "model": {
                    "type": "string",
                    "pattern": "^[^#]+$"
                  },
                  "variant": {
                    "type": "string",
                    "pattern": "^[^#]+$"
                  }
                },
                "required": ["providerID", "model"],
                "additionalProperties": false
              }
            ]
          },
          "subagent": {
            "type": "boolean"
          },
          "subtask": {
            "type": "boolean",
            "description": "Deprecated alias for subagent."
          }
        },
        "required": ["template"],
        "additionalProperties": false
      },
      "Config.DirectoryEncoded": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["directory"]
          },
          "path": {
            "type": "string"
          }
        },
        "required": ["type", "path"],
        "additionalProperties": false
      },
      "Config.DocumentEncoded": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["document"]
          },
          "path": {
            "type": "string"
          },
          "info": {
            "$ref": "#/components/schemas/Config.InfoEncoded"
          }
        },
        "required": ["type", "info"],
        "additionalProperties": false
      },
      "Config.Entry": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/Config.DocumentEncoded"
          },
          {
            "$ref": "#/components/schemas/Config.DirectoryEncoded"
          }
        ]
      },
      "Config.Formatter.EntryEncoded": {
        "type": "object",
        "properties": {
          "disabled": {
            "type": "boolean"
          },
          "command": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "environment": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "extensions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "Config.InfoEncoded": {
        "type": "object",
        "properties": {
          "$schema": {
            "type": "string"
          },
          "shell": {
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[^/#]+\\/[^#]+(?:#[^#]+)?$"
              },
              {
                "type": "object",
                "properties": {
                  "providerID": {
                    "type": "string",
                    "pattern": "^[^/#]+$"
                  },
                  "model": {
                    "type": "string",
                    "pattern": "^[^#]+$"
                  },
                  "variant": {
                    "type": "string",
                    "pattern": "^[^#]+$"
                  }
                },
                "required": ["providerID", "model"],
                "additionalProperties": false
              }
            ]
          },
          "default_agent": {
            "type": "string"
          },
          "update": {
            "type": "string",
            "enum": ["disable", "notify", "auto"]
          },
          "share": {
            "type": "string",
            "enum": ["manual", "auto", "disabled"]
          },
          "enterprise": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "username": {
            "type": "string"
          },
          "permissions": {
            "$ref": "#/components/schemas/Permission.Ruleset"
          },
          "agents": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Config.AgentEncoded"
            }
          },
          "snapshots": {
            "type": "boolean"
          },
          "watcher": {
            "type": "object",
            "properties": {
              "ignore": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          },
          "formatter": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/Config.Formatter.EntryEncoded"
                }
              }
            ]
          },
          "lsp": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "object",
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "disabled": {
                          "type": "boolean",
                          "enum": [true]
                        }
                      },
                      "required": ["disabled"],
                      "additionalProperties": false
                    },
                    {
                      "$ref": "#/components/schemas/Config.LSP.ServerEncoded"
                    }
                  ]
                }
              }
            ]
          },
          "media": {
            "type": "object",
            "properties": {
              "image": {
                "type": "object",
                "properties": {
                  "auto_resize": {
                    "type": "boolean"
                  },
                  "max_width": {
                    "type": "integer",
                    "exclusiveMinimum": 0
                  },
                  "max_height": {
                    "type": "integer",
                    "exclusiveMinimum": 0
                  },
                  "max_base64_bytes": {
                    "type": "integer",
                    "exclusiveMinimum": 0
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          },
          "tool_output": {
            "type": "object",
            "properties": {
              "max_lines": {
                "type": "integer",
                "exclusiveMinimum": 0
              },
              "max_bytes": {
                "type": "integer",
                "exclusiveMinimum": 0
              }
            },
            "additionalProperties": false
          },
          "mcp": {
            "type": "object",
            "properties": {
              "timeout": {
                "type": "object",
                "properties": {
                  "startup": {
                    "type": "integer",
                    "exclusiveMinimum": 0
                  },
                  "catalog": {
                    "type": "integer",
                    "exclusiveMinimum": 0
                  },
                  "execution": {
                    "type": "integer",
                    "exclusiveMinimum": 0
                  }
                },
                "additionalProperties": false
              },
              "servers": {
                "type": "object",
                "additionalProperties": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/Mcp.LocalConfigEncoded"
                    },
                    {
                      "$ref": "#/components/schemas/Mcp.RemoteConfigEncoded"
                    }
                  ]
                }
              }
            },
            "additionalProperties": false
          },
          "compaction": {
            "type": "object",
            "properties": {
              "auto": {
                "type": "boolean"
              },
              "keep": {
                "type": "object",
                "properties": {
                  "tokens": {
                    "type": "integer",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              },
              "buffer": {
                "type": "integer",
                "minimum": 0
              }
            },
            "additionalProperties": false
          },
          "skills": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "commands": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Config.CommandEncoded"
            }
          },
          "instructions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "references": {
            "type": "object",
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "$ref": "#/components/schemas/Config.Reference.GitEncoded"
                },
                {
                  "$ref": "#/components/schemas/Config.Reference.LocalEncoded"
                }
              ]
            }
          },
          "websearch": {
            "anyOf": [
              {
                "type": "boolean",
                "enum": [false]
              },
              {
                "$ref": "#/components/schemas/ConfigWebSearch.InfoEncoded"
              }
            ]
          },
          "plugins": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "$ref": "#/components/schemas/Config.Plugin.EntryEncoded"
                }
              ]
            }
          },
          "worktree": {
            "$ref": "#/components/schemas/Config.Worktree"
          },
          "warming": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "$ref": "#/components/schemas/Config.WarmingEncoded"
              }
            ]
          },
          "providers": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Config.ProviderEncoded"
            }
          },
          "experimental": {
            "type": "object",
            "properties": {
              "portable_shell_scanner": {
                "type": "boolean"
              },
              "subagent_depth": {
                "type": "integer",
                "minimum": 0
              },
              "policies": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "action": {
                      "type": "string",
                      "enum": ["provider.use", "permission"]
                    },
                    "resource": {
                      "type": "string"
                    },
                    "effect": {
                      "type": "string",
                      "enum": ["allow", "deny"]
                    }
                  },
                  "required": ["action", "resource", "effect"],
                  "additionalProperties": false
                }
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "Config.LSP.ServerEncoded": {
        "type": "object",
        "properties": {
          "command": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "extensions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "disabled": {
            "type": "boolean"
          },
          "env": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "initialization": {
            "type": "object"
          }
        },
        "required": ["command"],
        "additionalProperties": false
      },
      "Config.Model.CostEncoded": {
        "type": "object",
        "properties": {
          "tier": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["context"]
              },
              "size": {
                "type": "integer"
              }
            },
            "required": ["type", "size"],
            "additionalProperties": false
          },
          "input": {
            "$ref": "#/components/schemas/Money.USDPerMillionTokens"
          },
          "output": {
            "$ref": "#/components/schemas/Money.USDPerMillionTokens"
          },
          "cache": {
            "type": "object",
            "properties": {
              "read": {
                "$ref": "#/components/schemas/Money.USDPerMillionTokens"
              },
              "write": {
                "$ref": "#/components/schemas/Money.USDPerMillionTokens"
              }
            },
            "additionalProperties": false
          }
        },
        "required": ["input", "output"],
        "additionalProperties": false
      },
      "Config.Model.Settings": {
        "type": "object",
        "properties": {
          "compaction": {
            "$ref": "#/components/schemas/Provider.Compaction"
          }
        },
        "allOf": [
          {
            "type": "object",
            "additionalProperties": {
              "anyOf": [
                {},
                {
                  "type": "null"
                }
              ]
            }
          }
        ]
      },
      "Config.ModelEncoded": {
        "type": "object",
        "properties": {
          "modelID": {
            "type": "string"
          },
          "family": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "compatibility": {
            "$ref": "#/components/schemas/Model.Compatibility"
          },
          "package": {
            "type": "string"
          },
          "settings": {
            "$ref": "#/components/schemas/Config.Model.Settings"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "body": {
            "type": "object"
          },
          "capabilities": {
            "$ref": "#/components/schemas/Model.Capabilities"
          },
          "variants": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "settings": {
                  "$ref": "#/components/schemas/Config.Model.Settings"
                },
                "headers": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                },
                "body": {
                  "type": "object"
                }
              },
              "required": ["id"],
              "additionalProperties": false
            }
          },
          "cost": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Config.Model.CostEncoded"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Config.Model.CostEncoded"
                }
              }
            ]
          },
          "disabled": {
            "type": "boolean"
          },
          "limit": {
            "type": "object",
            "properties": {
              "context": {
                "type": "integer"
              },
              "input": {
                "type": "integer"
              },
              "output": {
                "type": "integer"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "Config.Patch": {
        "type": "object",
        "properties": {
          "shell": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": ["shell"],
        "additionalProperties": false
      },
      "Config.Plugin.EntryEncoded": {
        "type": "object",
        "properties": {
          "package": {
            "type": "string"
          },
          "options": {
            "type": "object"
          }
        },
        "required": ["package"],
        "additionalProperties": false
      },
      "Config.Provider.Settings": {
        "type": "object",
        "properties": {
          "timeout": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "boolean",
                "enum": [false]
              }
            ]
          },
          "chunkTimeout": {
            "type": "number"
          },
          "compaction": {
            "$ref": "#/components/schemas/Provider.Compaction"
          },
          "transport": {
            "$ref": "#/components/schemas/Provider.Transport"
          }
        },
        "allOf": [
          {
            "type": "object",
            "additionalProperties": {
              "anyOf": [
                {},
                {
                  "type": "null"
                }
              ]
            }
          }
        ]
      },
      "Config.ProviderEncoded": {
        "type": "object",
        "properties": {
          "canonical": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "env": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "package": {
            "type": "string"
          },
          "settings": {
            "$ref": "#/components/schemas/Config.Provider.Settings"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "body": {
            "type": "object"
          },
          "models": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Config.ModelEncoded"
            }
          }
        },
        "additionalProperties": false
      },
      "Config.Reference.GitEncoded": {
        "type": "object",
        "properties": {
          "repository": {
            "type": "string"
          },
          "branch": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "hidden": {
            "type": "boolean"
          }
        },
        "required": ["repository"],
        "additionalProperties": false
      },
      "Config.Reference.LocalEncoded": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "hidden": {
            "type": "boolean"
          }
        },
        "required": ["path"],
        "additionalProperties": false
      },
      "Config.WarmingEncoded": {
        "type": "object",
        "properties": {
          "prompt": {
            "type": "string"
          },
          "interval": {
            "type": "string"
          },
          "duration": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Config.Worktree": {
        "type": "object",
        "properties": {
          "directory": {
            "type": "string"
          }
        },
        "required": ["directory"],
        "additionalProperties": false
      },
      "ConfigShell.Option": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "acceptable": {
            "type": "boolean"
          }
        },
        "required": ["path", "name", "acceptable"],
        "additionalProperties": false
      },
      "ConfigWebSearch.InfoEncoded": {
        "type": "object",
        "properties": {
          "provider": {
            "anyOf": [
              {
                "type": "string",
                "enum": ["random"],
                "description": "Reuse a randomly selected provider until it is rate limited, then switch to another available provider."
              },
              {
                "type": "string"
              }
            ]
          }
        },
        "required": ["provider"],
        "additionalProperties": false
      },
      "ConflictErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["ConflictError"]
          },
          "message": {
            "type": "string"
          },
          "resource": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": ["_tag", "message"],
        "additionalProperties": false
      },
      "Connection.CredentialInfo": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["credential"]
          },
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "method": {
            "type": "string",
            "enum": ["key", "oauth"]
          }
        },
        "required": ["type", "id", "label", "method"],
        "additionalProperties": false
      },
      "Connection.EnvInfo": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["env"]
          },
          "name": {
            "type": "string"
          }
        },
        "required": ["type", "name"],
        "additionalProperties": false
      },
      "Connection.Info": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/Connection.CredentialInfo"
          },
          {
            "$ref": "#/components/schemas/Connection.EnvInfo"
          }
        ]
      },
      "FileDiff.Info": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string"
          },
          "patch": {
            "type": "string"
          },
          "additions": {
            "type": "integer",
            "minimum": 0
          },
          "deletions": {
            "type": "integer",
            "minimum": 0
          },
          "status": {
            "type": "string",
            "enum": ["added", "deleted", "modified"]
          }
        },
        "required": ["file", "patch", "additions", "deletions", "status"],
        "additionalProperties": false
      },
      "FileNotFoundErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["FileNotFoundError"]
          },
          "path": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "path", "message"],
        "additionalProperties": false
      },
      "FileSystem.Entry": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": ["file", "directory"]
          }
        },
        "required": ["path", "type"],
        "additionalProperties": false
      },
      "FileSystem.Write": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string"
          }
        },
        "required": ["path"],
        "additionalProperties": false
      },
      "ForbiddenErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["ForbiddenError"]
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "message"],
        "additionalProperties": false
      },
      "Form.Answer": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/Form.Value"
        }
      },
      "Form.BooleanField": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "hidden": {
            "type": "boolean"
          },
          "when": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Form.When"
            }
          },
          "type": {
            "type": "string",
            "enum": ["boolean"]
          },
          "default": {
            "type": "boolean"
          }
        },
        "required": ["key", "type"],
        "additionalProperties": false
      },
      "Form.CreatePayload": {
        "type": "object",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^frm_"
              },
              {
                "type": "null"
              }
            ]
          },
          "title": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Form.Metadata"
          },
          "fields": {
            "$ref": "#/components/schemas/Form.Fields"
          }
        },
        "required": ["title", "fields"],
        "additionalProperties": false
      },
      "Form.Detail": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^frm_"
          },
          "sessionID": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Form.Metadata"
          },
          "fields": {
            "$ref": "#/components/schemas/Form.Fields"
          },
          "state": {
            "$ref": "#/components/schemas/Form.State"
          }
        },
        "required": ["id", "sessionID", "title", "fields", "state"],
        "additionalProperties": false
      },
      "Form.ExternalField": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": ["external"]
          },
          "url": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": ["key", "type", "url"],
        "additionalProperties": false
      },
      "Form.Field": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/Form.StringField"
          },
          {
            "$ref": "#/components/schemas/Form.NumberField"
          },
          {
            "$ref": "#/components/schemas/Form.IntegerField"
          },
          {
            "$ref": "#/components/schemas/Form.BooleanField"
          },
          {
            "$ref": "#/components/schemas/Form.MultiselectField"
          },
          {
            "$ref": "#/components/schemas/Form.ExternalField"
          }
        ]
      },
      "Form.Fields": {
        "type": "array",
        "prefixItems": [
          {
            "$ref": "#/components/schemas/Form.Field"
          }
        ],
        "minItems": 1,
        "items": {
          "$ref": "#/components/schemas/Form.Field"
        }
      },
      "Form.Fields_1": {
        "type": "array",
        "prefixItems": [
          {
            "$ref": "#/components/schemas/Form.Field"
          }
        ],
        "minItems": 1,
        "items": {
          "$ref": "#/components/schemas/Form.Field"
        }
      },
      "Form.Fields_2": {
        "type": "array",
        "prefixItems": [
          {
            "$ref": "#/components/schemas/Form.Field"
          }
        ],
        "minItems": 1,
        "items": {
          "$ref": "#/components/schemas/Form.Field"
        }
      },
      "Form.Info": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^frm_"
          },
          "sessionID": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Form.Metadata"
          },
          "fields": {
            "$ref": "#/components/schemas/Form.Fields"
          }
        },
        "required": ["id", "sessionID", "title", "fields"],
        "additionalProperties": false
      },
      "Form.IntegerField": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "hidden": {
            "type": "boolean"
          },
          "when": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Form.When"
            }
          },
          "type": {
            "type": "string",
            "enum": ["integer"]
          },
          "minimum": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "enum": ["Infinity", "-Infinity", "NaN"]
              }
            ]
          },
          "maximum": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "enum": ["Infinity", "-Infinity", "NaN"]
              }
            ]
          },
          "default": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "enum": ["Infinity", "-Infinity", "NaN"]
              }
            ]
          }
        },
        "required": ["key", "type"],
        "additionalProperties": false
      },
      "Form.Metadata": {
        "type": "object"
      },
      "Form.MultiselectField": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "hidden": {
            "type": "boolean"
          },
          "when": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Form.When"
            }
          },
          "type": {
            "type": "string",
            "enum": ["multiselect"]
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Form.Option"
            }
          },
          "minItems": {
            "type": "integer",
            "minimum": 0
          },
          "maxItems": {
            "type": "integer",
            "minimum": 0
          },
          "custom": {
            "type": "boolean"
          },
          "default": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": ["key", "type", "options"],
        "additionalProperties": false
      },
      "Form.NumberField": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "hidden": {
            "type": "boolean"
          },
          "when": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Form.When"
            }
          },
          "type": {
            "type": "string",
            "enum": ["number"]
          },
          "minimum": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "enum": ["Infinity", "-Infinity", "NaN"]
              }
            ]
          },
          "maximum": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "enum": ["Infinity", "-Infinity", "NaN"]
              }
            ]
          },
          "default": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "enum": ["Infinity", "-Infinity", "NaN"]
              }
            ]
          }
        },
        "required": ["key", "type"],
        "additionalProperties": false
      },
      "Form.Option": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": ["value", "label"],
        "additionalProperties": false
      },
      "Form.Reply": {
        "type": "object",
        "properties": {
          "answer": {
            "$ref": "#/components/schemas/Form.Answer"
          }
        },
        "required": ["answer"],
        "additionalProperties": false
      },
      "Form.State": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": ["pending"]
              }
            },
            "required": ["status"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": ["answered"]
              },
              "answer": {
                "$ref": "#/components/schemas/Form.Answer"
              }
            },
            "required": ["status", "answer"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": ["cancelled"]
              },
              "message": {
                "type": "string"
              }
            },
            "required": ["status"],
            "additionalProperties": false
          }
        ]
      },
      "Form.StringField": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "hidden": {
            "type": "boolean"
          },
          "when": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Form.When"
            }
          },
          "type": {
            "type": "string",
            "enum": ["string"]
          },
          "format": {
            "type": "string",
            "enum": ["email", "uri", "date", "date-time"]
          },
          "minLength": {
            "type": "integer",
            "minimum": 0
          },
          "maxLength": {
            "type": "integer",
            "minimum": 0
          },
          "pattern": {
            "type": "string"
          },
          "placeholder": {
            "type": "string"
          },
          "default": {
            "type": "string"
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Form.Option"
            }
          },
          "custom": {
            "type": "boolean"
          }
        },
        "required": ["key", "type"],
        "additionalProperties": false
      },
      "Form.Value": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "enum": ["Infinity", "-Infinity", "NaN"]
              }
            ]
          },
          {
            "type": "boolean"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ]
      },
      "Form.When": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "op": {
            "type": "string",
            "enum": ["eq", "neq"]
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "enum": ["Infinity", "-Infinity", "NaN"]
                  }
                ]
              },
              {
                "type": "boolean"
              }
            ]
          }
        },
        "required": ["key", "op", "value"],
        "additionalProperties": false
      },
      "FormAlreadySettledErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["FormAlreadySettledError"]
          },
          "id": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "id", "message"],
        "additionalProperties": false
      },
      "FormInvalidAnswerErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["FormInvalidAnswerError"]
          },
          "id": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "id", "message"],
        "additionalProperties": false
      },
      "FormNotFoundErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["FormNotFoundError"]
          },
          "id": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "id", "message"],
        "additionalProperties": false
      },
      "GenerateTextResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "text": {
                "type": "string"
              }
            },
            "required": ["text"],
            "additionalProperties": false
          }
        },
        "required": ["data"],
        "additionalProperties": false
      },
      "InstructionEntry.Info": {
        "type": "object",
        "properties": {
          "key": {
            "$ref": "#/components/schemas/InstructionEntry.Key"
          },
          "value": {
            "description": "JSON value attached to the session's instructions"
          }
        },
        "required": ["key", "value"],
        "additionalProperties": false
      },
      "InstructionEntry.Key": {
        "type": "string",
        "pattern": "^[a-z0-9][a-z0-9._-]*$",
        "description": "Instruction entry key (lowercase alphanumerics plus . _ -)"
      },
      "InstructionEntryValueTooLargeErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["InstructionEntryValueTooLargeError"]
          },
          "actualBytes": {
            "type": "integer"
          },
          "maxBytes": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "actualBytes", "maxBytes", "message"],
        "additionalProperties": false
      },
      "Integration.AttemptEncoded": {
        "type": "object",
        "properties": {
          "attemptID": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "instructions": {
            "type": "string"
          },
          "mode": {
            "type": "string",
            "enum": ["auto", "code"]
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "enum": ["Infinity", "-Infinity", "NaN"]
                  }
                ]
              },
              "expires": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "enum": ["Infinity", "-Infinity", "NaN"]
                  }
                ]
              }
            },
            "required": ["created", "expires"],
            "additionalProperties": false
          }
        },
        "required": ["attemptID", "url", "instructions", "mode", "time"],
        "additionalProperties": false
      },
      "Integration.AttemptStatus": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": ["pending"]
              },
              "time": {
                "type": "object",
                "properties": {
                  "created": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": ["Infinity", "-Infinity", "NaN"]
                      }
                    ]
                  },
                  "expires": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": ["Infinity", "-Infinity", "NaN"]
                      }
                    ]
                  }
                },
                "required": ["created", "expires"],
                "additionalProperties": false
              }
            },
            "required": ["status", "time"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": ["complete"]
              },
              "time": {
                "type": "object",
                "properties": {
                  "created": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": ["Infinity", "-Infinity", "NaN"]
                      }
                    ]
                  },
                  "expires": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": ["Infinity", "-Infinity", "NaN"]
                      }
                    ]
                  }
                },
                "required": ["created", "expires"],
                "additionalProperties": false
              }
            },
            "required": ["status", "time"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": ["failed"]
              },
              "message": {
                "type": "string"
              },
              "time": {
                "type": "object",
                "properties": {
                  "created": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": ["Infinity", "-Infinity", "NaN"]
                      }
                    ]
                  },
                  "expires": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": ["Infinity", "-Infinity", "NaN"]
                      }
                    ]
                  }
                },
                "required": ["created", "expires"],
                "additionalProperties": false
              }
            },
            "required": ["status", "message", "time"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": ["expired"]
              },
              "time": {
                "type": "object",
                "properties": {
                  "created": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": ["Infinity", "-Infinity", "NaN"]
                      }
                    ]
                  },
                  "expires": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": ["Infinity", "-Infinity", "NaN"]
                      }
                    ]
                  }
                },
                "required": ["created", "expires"],
                "additionalProperties": false
              }
            },
            "required": ["status", "time"],
            "additionalProperties": false
          }
        ]
      },
      "Integration.CommandAttempt": {
        "type": "object",
        "properties": {
          "attemptID": {
            "type": "string"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "enum": ["Infinity", "-Infinity", "NaN"]
                  }
                ]
              },
              "expires": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "enum": ["Infinity", "-Infinity", "NaN"]
                  }
                ]
              }
            },
            "required": ["created", "expires"],
            "additionalProperties": false
          }
        },
        "required": ["attemptID", "time"],
        "additionalProperties": false
      },
      "Integration.CommandAttemptStatus": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": ["pending"]
              },
              "message": {
                "type": "string"
              },
              "time": {
                "type": "object",
                "properties": {
                  "created": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": ["Infinity", "-Infinity", "NaN"]
                      }
                    ]
                  },
                  "expires": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": ["Infinity", "-Infinity", "NaN"]
                      }
                    ]
                  }
                },
                "required": ["created", "expires"],
                "additionalProperties": false
              }
            },
            "required": ["status", "time"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": ["complete"]
              },
              "time": {
                "type": "object",
                "properties": {
                  "created": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": ["Infinity", "-Infinity", "NaN"]
                      }
                    ]
                  },
                  "expires": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": ["Infinity", "-Infinity", "NaN"]
                      }
                    ]
                  }
                },
                "required": ["created", "expires"],
                "additionalProperties": false
              }
            },
            "required": ["status", "time"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": ["failed"]
              },
              "message": {
                "type": "string"
              },
              "time": {
                "type": "object",
                "properties": {
                  "created": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": ["Infinity", "-Infinity", "NaN"]
                      }
                    ]
                  },
                  "expires": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": ["Infinity", "-Infinity", "NaN"]
                      }
                    ]
                  }
                },
                "required": ["created", "expires"],
                "additionalProperties": false
              }
            },
            "required": ["status", "message", "time"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": ["expired"]
              },
              "time": {
                "type": "object",
                "properties": {
                  "created": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": ["Infinity", "-Infinity", "NaN"]
                      }
                    ]
                  },
                  "expires": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "enum": ["Infinity", "-Infinity", "NaN"]
                      }
                    ]
                  }
                },
                "required": ["created", "expires"],
                "additionalProperties": false
              }
            },
            "required": ["status", "time"],
            "additionalProperties": false
          }
        ]
      },
      "Integration.CommandMethod": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": ["command"]
          },
          "label": {
            "type": "string"
          },
          "command": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": ["id", "type", "label", "command"],
        "additionalProperties": false
      },
      "Integration.EnvMethod": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["env"]
          },
          "names": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": ["type", "names"],
        "additionalProperties": false
      },
      "Integration.Info": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "metadata": {
            "type": "object"
          },
          "methods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Integration.Method"
            }
          },
          "connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Connection.Info"
            }
          }
        },
        "required": ["id", "name", "methods", "connections"],
        "additionalProperties": false
      },
      "Integration.KeyMethod": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["key"]
          },
          "label": {
            "type": "string"
          },
          "form": {
            "$ref": "#/components/schemas/Form.Fields_2"
          }
        },
        "required": ["type"],
        "additionalProperties": false
      },
      "Integration.Method": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/Integration.OAuthMethod"
          },
          {
            "$ref": "#/components/schemas/Integration.CommandMethod"
          },
          {
            "$ref": "#/components/schemas/Integration.KeyMethod"
          },
          {
            "$ref": "#/components/schemas/Integration.EnvMethod"
          }
        ]
      },
      "Integration.OAuthMethod": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": ["oauth"]
          },
          "label": {
            "type": "string"
          },
          "form": {
            "$ref": "#/components/schemas/Form.Fields_1"
          }
        },
        "required": ["id", "type", "label"],
        "additionalProperties": false
      },
      "IntegrationAttemptNotFoundErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["IntegrationAttemptNotFoundError"]
          },
          "integrationID": {
            "type": "string"
          },
          "attemptID": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "integrationID", "attemptID", "message"],
        "additionalProperties": false
      },
      "IntegrationMethodNotFoundErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["IntegrationMethodNotFoundError"]
          },
          "integrationID": {
            "type": "string"
          },
          "methodID": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "integrationID", "methodID", "message"],
        "additionalProperties": false
      },
      "IntegrationNotFoundErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["IntegrationNotFoundError"]
          },
          "integrationID": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "integrationID", "message"],
        "additionalProperties": false
      },
      "InvalidCursorErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["InvalidCursorError"]
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "message"],
        "additionalProperties": false
      },
      "InvalidRequestErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["InvalidRequestError"]
          },
          "message": {
            "type": "string"
          },
          "kind": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "field": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": ["_tag", "message"],
        "additionalProperties": false
      },
      "Location.PublicInfo": {
        "type": "object",
        "properties": {
          "directory": {
            "type": "string"
          },
          "project": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "directory": {
                "type": "string"
              },
              "canonical": {
                "type": "string"
              }
            },
            "required": ["id", "directory", "canonical"],
            "additionalProperties": false
          }
        },
        "required": ["directory", "project"],
        "additionalProperties": false
      },
      "Location.PublicRef": {
        "type": "object",
        "properties": {
          "directory": {
            "type": "string"
          }
        },
        "required": ["directory"],
        "additionalProperties": false
      },
      "Mcp.LocalConfigEncoded": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["local"]
          },
          "command": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cwd": {
            "type": "string"
          },
          "environment": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "disabled": {
            "type": "boolean"
          },
          "codemode": {
            "type": "boolean"
          },
          "timeout": {
            "type": "object",
            "properties": {
              "startup": {
                "type": "integer",
                "exclusiveMinimum": 0
              },
              "catalog": {
                "type": "integer",
                "exclusiveMinimum": 0
              },
              "execution": {
                "type": "integer",
                "exclusiveMinimum": 0
              }
            },
            "additionalProperties": false
          },
          "protocol": {
            "$ref": "#/components/schemas/Mcp.Protocol"
          }
        },
        "required": ["type", "command"],
        "additionalProperties": false
      },
      "Mcp.OAuthConfigEncoded": {
        "type": "object",
        "properties": {
          "client_id": {
            "type": "string"
          },
          "client_secret": {
            "type": "string"
          },
          "scope": {
            "type": "string"
          },
          "callback_port": {
            "type": "integer",
            "minimum": 1,
            "maximum": 65535
          },
          "redirect_uri": {
            "type": "string"
          },
          "auth_server_metadata_url": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Mcp.Protocol": {
        "type": "string",
        "enum": ["legacy", "auto", "2026-07-28"],
        "description": "MCP protocol negotiation. \"legacy\" (default) opens with the initialize handshake and speaks protocol revisions up to 2025-11-25. \"auto\" probes for the 2026-07-28 revision and falls back to legacy when the server does not support it. \"2026-07-28\" requires that revision and fails otherwise."
      },
      "Mcp.RemoteConfigEncoded": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["remote"]
          },
          "url": {
            "type": "string"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "oauth": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Mcp.OAuthConfigEncoded"
              },
              {
                "type": "boolean",
                "enum": [false]
              }
            ]
          },
          "disabled": {
            "type": "boolean"
          },
          "codemode": {
            "type": "boolean"
          },
          "timeout": {
            "type": "object",
            "properties": {
              "startup": {
                "type": "integer",
                "exclusiveMinimum": 0
              },
              "catalog": {
                "type": "integer",
                "exclusiveMinimum": 0
              },
              "execution": {
                "type": "integer",
                "exclusiveMinimum": 0
              }
            },
            "additionalProperties": false
          },
          "protocol": {
            "$ref": "#/components/schemas/Mcp.Protocol"
          }
        },
        "required": ["type", "url"],
        "additionalProperties": false
      },
      "Mcp.Resource": {
        "type": "object",
        "properties": {
          "server": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "uri": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "mimeType": {
            "type": "string"
          }
        },
        "required": ["server", "name", "uri"],
        "additionalProperties": false
      },
      "Mcp.ResourceCatalog": {
        "type": "object",
        "properties": {
          "resources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Mcp.Resource"
            }
          },
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Mcp.ResourceTemplate"
            }
          }
        },
        "required": ["resources", "templates"],
        "additionalProperties": false
      },
      "Mcp.ResourceTemplate": {
        "type": "object",
        "properties": {
          "server": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "uriTemplate": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "mimeType": {
            "type": "string"
          }
        },
        "required": ["server", "name", "uriTemplate"],
        "additionalProperties": false
      },
      "Mcp.Server": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Mcp.Status.Connected"
              },
              {
                "$ref": "#/components/schemas/Mcp.Status.Pending"
              },
              {
                "$ref": "#/components/schemas/Mcp.Status.Disabled"
              },
              {
                "$ref": "#/components/schemas/Mcp.Status.Failed"
              },
              {
                "$ref": "#/components/schemas/Mcp.Status.NeedsAuth"
              }
            ]
          },
          "integrationID": {
            "type": "string"
          }
        },
        "required": ["name", "status"],
        "additionalProperties": false
      },
      "Mcp.Status.Connected": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": ["connected"]
          }
        },
        "required": ["status"],
        "additionalProperties": false
      },
      "Mcp.Status.Disabled": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": ["disabled"]
          }
        },
        "required": ["status"],
        "additionalProperties": false
      },
      "Mcp.Status.Failed": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": ["failed"]
          },
          "error": {
            "type": "string"
          }
        },
        "required": ["status", "error"],
        "additionalProperties": false
      },
      "Mcp.Status.NeedsAuth": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": ["needs_auth"]
          },
          "error": {
            "type": "string"
          }
        },
        "required": ["status", "error"],
        "additionalProperties": false
      },
      "Mcp.Status.Pending": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": ["pending"]
          }
        },
        "required": ["status"],
        "additionalProperties": false
      },
      "McpServerNotFoundErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["McpServerNotFoundError"]
          },
          "server": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "server", "message"],
        "additionalProperties": false
      },
      "MessageNotFoundErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["MessageNotFoundError"]
          },
          "sessionID": {
            "type": "string"
          },
          "messageID": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "sessionID", "messageID", "message"],
        "additionalProperties": false
      },
      "Model.Capabilities": {
        "type": "object",
        "properties": {
          "tools": {
            "type": "boolean"
          },
          "input": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "output": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": ["tools", "input", "output"],
        "additionalProperties": false
      },
      "Model.Compatibility": {
        "type": "object",
        "properties": {
          "reasoningField": {
            "$ref": "#/components/schemas/Model.ReasoningField"
          },
          "requireReasoning": {
            "type": "boolean"
          },
          "maxTokensField": {
            "$ref": "#/components/schemas/Model.MaxTokensField"
          },
          "requireFinishReason": {
            "type": "boolean"
          },
          "requireAssistantAfterTool": {
            "type": "boolean"
          },
          "supportsPromptCacheKey": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "Model.Cost": {
        "type": "object",
        "properties": {
          "tier": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["context"]
              },
              "size": {
                "type": "integer"
              }
            },
            "required": ["type", "size"],
            "additionalProperties": false
          },
          "input": {
            "$ref": "#/components/schemas/Money.USDPerMillionTokens"
          },
          "output": {
            "$ref": "#/components/schemas/Money.USDPerMillionTokens"
          },
          "cache": {
            "type": "object",
            "properties": {
              "read": {
                "$ref": "#/components/schemas/Money.USDPerMillionTokens"
              },
              "write": {
                "$ref": "#/components/schemas/Money.USDPerMillionTokens"
              }
            },
            "required": ["read", "write"],
            "additionalProperties": false
          }
        },
        "required": ["input", "output", "cache"],
        "additionalProperties": false
      },
      "Model.Info": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "modelID": {
            "type": "string"
          },
          "providerID": {
            "type": "string"
          },
          "canonical": {
            "type": "string"
          },
          "family": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "compatibility": {
            "$ref": "#/components/schemas/Model.Compatibility"
          },
          "package": {
            "type": "string"
          },
          "settings": {
            "$ref": "#/components/schemas/Model.Settings"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "body": {
            "type": "object"
          },
          "capabilities": {
            "$ref": "#/components/schemas/Model.Capabilities"
          },
          "variants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Model.Variant"
            }
          },
          "time": {
            "type": "object",
            "properties": {
              "released": {
                "type": "number"
              }
            },
            "required": ["released"],
            "additionalProperties": false
          },
          "cost": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Model.Cost"
            }
          },
          "status": {
            "type": "string",
            "enum": ["alpha", "beta", "deprecated", "active"]
          },
          "enabled": {
            "type": "boolean"
          },
          "limit": {
            "type": "object",
            "properties": {
              "context": {
                "type": "integer"
              },
              "input": {
                "type": "integer"
              },
              "output": {
                "type": "integer"
              }
            },
            "required": ["context", "output"],
            "additionalProperties": false
          }
        },
        "required": [
          "id",
          "modelID",
          "providerID",
          "name",
          "capabilities",
          "variants",
          "time",
          "cost",
          "status",
          "enabled",
          "limit"
        ],
        "additionalProperties": false
      },
      "Model.MaxTokensField": {
        "type": "string",
        "enum": ["max_completion_tokens", "max_tokens"]
      },
      "Model.ReasoningField": {
        "anyOf": [
          {
            "type": "string",
            "enum": ["reasoning", "reasoning_content", "reasoning_text"]
          },
          {
            "type": "string"
          }
        ]
      },
      "Model.Ref": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "providerID": {
            "type": "string"
          },
          "variant": {
            "type": "string"
          }
        },
        "required": ["id", "providerID"],
        "additionalProperties": false
      },
      "Model.Settings": {
        "type": "object",
        "properties": {
          "compaction": {
            "$ref": "#/components/schemas/Provider.Compaction"
          }
        },
        "allOf": [
          {
            "type": "object",
            "additionalProperties": {}
          }
        ]
      },
      "Model.Variant": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "settings": {
            "$ref": "#/components/schemas/Model.Settings"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "body": {
            "type": "object"
          }
        },
        "required": ["id"],
        "additionalProperties": false
      },
      "Money.USD": {
        "type": "number"
      },
      "Money.USDPerMillionTokens": {
        "type": "number"
      },
      "Permission.Effect": {
        "type": "string",
        "enum": ["allow", "deny", "ask"]
      },
      "Permission.Reply": {
        "type": "string",
        "enum": ["once", "always", "reject"]
      },
      "Permission.Request": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^per"
          },
          "sessionID": {
            "type": "string",
            "pattern": "^ses"
          },
          "action": {
            "type": "string"
          },
          "resources": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "save": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "metadata": {
            "type": "object"
          },
          "source": {
            "$ref": "#/components/schemas/Permission.Source"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["id", "sessionID", "action", "resources"],
        "additionalProperties": false
      },
      "Permission.Rule": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string"
          },
          "resource": {
            "type": "string"
          },
          "effect": {
            "$ref": "#/components/schemas/Permission.Effect"
          }
        },
        "required": ["action", "resource", "effect"],
        "additionalProperties": false
      },
      "Permission.Ruleset": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Permission.Rule"
        }
      },
      "Permission.Source": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["tool"]
              },
              "messageID": {
                "type": "string"
              },
              "id": {
                "type": "string"
              }
            },
            "required": ["type", "messageID", "id"],
            "additionalProperties": false
          }
        ]
      },
      "PermissionNotFoundErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["PermissionNotFoundError"]
          },
          "requestID": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "requestID", "message"],
        "additionalProperties": false
      },
      "PermissionSaved.Info": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "projectID": {
            "type": "string"
          },
          "action": {
            "type": "string"
          },
          "resource": {
            "type": "string"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              },
              "updated": {
                "type": "number"
              }
            },
            "required": ["created", "updated"],
            "additionalProperties": false
          }
        },
        "required": ["id", "projectID", "action", "resource", "time"],
        "additionalProperties": false
      },
      "PersistentPty.CreateInput": {
        "type": "object",
        "properties": {
          "command": {
            "type": "string"
          },
          "args": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cwd": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "env": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "size": {
            "type": "object",
            "properties": {
              "cols": {
                "type": "integer",
                "exclusiveMinimum": 0
              },
              "rows": {
                "type": "integer",
                "exclusiveMinimum": 0
              }
            },
            "required": ["cols", "rows"],
            "additionalProperties": false
          }
        },
        "required": ["args", "title", "env"],
        "additionalProperties": false
      },
      "PersistentPty.Handoff": {
        "type": "object",
        "properties": {
          "directory": {
            "type": "string"
          },
          "instanceID": {
            "type": "string"
          },
          "ticket": {
            "type": "string"
          },
          "expiresAt": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "enum": ["Infinity", "-Infinity", "NaN"]
              }
            ]
          }
        },
        "required": ["directory", "instanceID", "ticket", "expiresAt"],
        "additionalProperties": false
      },
      "PersistentPty.Info": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^pty"
          },
          "title": {
            "type": "string"
          },
          "command": {
            "type": "string"
          },
          "args": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cwd": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": ["running", "exited"]
          },
          "pid": {
            "type": "integer",
            "minimum": 0
          },
          "exitCode": {
            "type": "integer",
            "minimum": 0
          },
          "sessionID": {
            "type": "string",
            "pattern": "^ses"
          },
          "foregroundProcess": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "size": {
            "type": "object",
            "properties": {
              "cols": {
                "type": "integer",
                "exclusiveMinimum": 0
              },
              "rows": {
                "type": "integer",
                "exclusiveMinimum": 0
              }
            },
            "required": ["cols", "rows"],
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "properties": {
              "head": {
                "type": "integer",
                "minimum": 0
              },
              "tail": {
                "type": "integer",
                "minimum": 0
              }
            },
            "required": ["head", "tail"],
            "additionalProperties": false
          }
        },
        "required": [
          "id",
          "title",
          "command",
          "args",
          "cwd",
          "status",
          "pid",
          "sessionID",
          "foregroundProcess",
          "size",
          "output"
        ],
        "additionalProperties": false
      },
      "PersistentPty.ReadLinesEncoded": {
        "type": "string"
      },
      "PersistentPty.ReadResult": {
        "type": "object",
        "properties": {
          "ptyID": {
            "type": "string",
            "pattern": "^pty"
          },
          "title": {
            "type": "string"
          },
          "cwd": {
            "type": "string"
          },
          "foregroundProcess": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "screen": {
            "type": "object",
            "properties": {
              "text": {
                "type": "string"
              },
              "cols": {
                "type": "integer",
                "exclusiveMinimum": 0
              },
              "rows": {
                "type": "integer",
                "exclusiveMinimum": 0
              },
              "cursor": {
                "type": "object",
                "properties": {
                  "x": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "y": {
                    "type": "integer",
                    "minimum": 0
                  }
                },
                "required": ["x", "y"],
                "additionalProperties": false
              }
            },
            "required": ["text", "cols", "rows", "cursor"],
            "additionalProperties": false
          }
        },
        "required": ["ptyID", "title", "cwd", "foregroundProcess", "screen"],
        "additionalProperties": false
      },
      "PersistentPty.Snapshot": {
        "type": "object",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/PersistentPty.Info"
          },
          "text": {
            "type": "string"
          },
          "checkpoint": {
            "type": "string",
            "format": "byte",
            "contentEncoding": "base64"
          },
          "cursor": {
            "type": "object",
            "properties": {
              "x": {
                "type": "integer",
                "minimum": 0
              },
              "y": {
                "type": "integer",
                "minimum": 0
              }
            },
            "required": ["x", "y"],
            "additionalProperties": false
          }
        },
        "required": ["info", "text", "checkpoint", "cursor"],
        "additionalProperties": false
      },
      "PersistentPty.UpdateInput": {
        "type": "object",
        "properties": {
          "attachmentID": {
            "type": "string"
          },
          "size": {
            "type": "object",
            "properties": {
              "cols": {
                "type": "integer",
                "exclusiveMinimum": 0
              },
              "rows": {
                "type": "integer",
                "exclusiveMinimum": 0
              }
            },
            "required": ["cols", "rows"],
            "additionalProperties": false
          }
        },
        "required": ["size"],
        "additionalProperties": false
      },
      "Plugin.Features": {
        "type": "object",
        "properties": {
          "server": {
            "type": "boolean",
            "enum": [true]
          },
          "tui": {
            "type": "boolean",
            "enum": [true]
          },
          "rpc": {
            "type": "boolean",
            "enum": [true]
          }
        },
        "additionalProperties": false
      },
      "Plugin.Info": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/Plugin.Source"
          },
          "features": {
            "$ref": "#/components/schemas/Plugin.Features"
          },
          "state": {
            "$ref": "#/components/schemas/Plugin.State"
          }
        },
        "required": ["source", "features", "state"],
        "additionalProperties": false
      },
      "Plugin.Source": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["builtin"]
              }
            },
            "required": ["type"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["package"]
              },
              "target": {
                "type": "string"
              },
              "version": {
                "type": "string"
              },
              "outdated": {
                "type": "boolean",
                "enum": [true]
              },
              "updating": {
                "type": "boolean",
                "enum": [true]
              }
            },
            "required": ["type", "target"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["local"]
              },
              "path": {
                "type": "string"
              }
            },
            "required": ["type", "path"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["sdk"]
              }
            },
            "required": ["type"],
            "additionalProperties": false
          }
        ]
      },
      "Plugin.State": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": ["active"]
              }
            },
            "required": ["status"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": ["failed"]
              },
              "error": {
                "type": "string"
              },
              "ref": {
                "type": "string"
              }
            },
            "required": ["status", "error"],
            "additionalProperties": false
          }
        ]
      },
      "Project": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "canonical": {
            "type": "string"
          },
          "vcs": {
            "$ref": "#/components/schemas/Project.Vcs"
          },
          "name": {
            "type": "string"
          },
          "icon": {
            "$ref": "#/components/schemas/Project.Icon"
          },
          "commands": {
            "$ref": "#/components/schemas/Project.Commands"
          },
          "time": {
            "$ref": "#/components/schemas/Project.Time"
          },
          "sandboxes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": ["id", "canonical", "time", "sandboxes"],
        "additionalProperties": false
      },
      "Project.Commands": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "description": "Startup script to run when creating a new workspace (worktree)"
          }
        },
        "additionalProperties": false
      },
      "Project.Icon": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "override": {
            "type": "string"
          },
          "color": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Project.Time": {
        "type": "object",
        "properties": {
          "created": {
            "type": "integer",
            "minimum": 0
          },
          "updated": {
            "type": "integer",
            "minimum": 0
          },
          "active": {
            "type": "integer",
            "minimum": 0
          }
        },
        "required": ["created", "updated", "active"],
        "additionalProperties": false
      },
      "Project.Vcs": {
        "type": "string",
        "pattern": "^[a-z][a-z0-9._-]*$"
      },
      "ProjectNotFoundErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["ProjectNotFoundError"]
          },
          "projectID": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "projectID", "message"],
        "additionalProperties": false
      },
      "Prompt.AgentAttachment": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "mention": {
            "$ref": "#/components/schemas/Prompt.Mention"
          }
        },
        "required": ["name"],
        "additionalProperties": false
      },
      "Prompt.Base64": {
        "type": "string",
        "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
      },
      "Prompt.FileAttachment": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/Prompt.Base64"
          },
          "mime": {
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/Prompt.FileSource"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "mention": {
            "$ref": "#/components/schemas/Prompt.Mention"
          }
        },
        "required": ["data", "mime", "source"],
        "additionalProperties": false
      },
      "Prompt.FileSource": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["inline"]
              }
            },
            "required": ["type"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["uri"]
              },
              "uri": {
                "type": "string"
              }
            },
            "required": ["type", "uri"],
            "additionalProperties": false
          }
        ]
      },
      "Prompt.Mention": {
        "type": "object",
        "properties": {
          "start": {
            "type": "number"
          },
          "end": {
            "type": "number"
          },
          "text": {
            "type": "string"
          }
        },
        "required": ["start", "end", "text"],
        "additionalProperties": false
      },
      "Prompt.SkillAttachment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "mention": {
            "$ref": "#/components/schemas/Prompt.Mention"
          }
        },
        "required": ["id", "name"],
        "additionalProperties": false
      },
      "PromptInput.FileAttachment": {
        "type": "object",
        "properties": {
          "uri": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "mention": {
            "$ref": "#/components/schemas/Prompt.Mention"
          }
        },
        "required": ["uri"],
        "additionalProperties": false
      },
      "PromptInput.SkillAttachment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "mention": {
            "$ref": "#/components/schemas/Prompt.Mention"
          }
        },
        "required": ["id"],
        "additionalProperties": false
      },
      "Provider.Compaction": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["summary"]
              }
            },
            "required": ["type"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["native"]
              }
            },
            "required": ["type"],
            "additionalProperties": false
          }
        ]
      },
      "Provider.Info": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "canonical": {
            "type": "string"
          },
          "integrationID": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "activation": {
            "type": "string",
            "enum": ["auto", "enabled", "disabled"]
          },
          "package": {
            "type": "string"
          },
          "settings": {
            "$ref": "#/components/schemas/Provider.Settings"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "body": {
            "type": "object"
          }
        },
        "required": ["id", "name", "activation", "package"],
        "additionalProperties": false
      },
      "Provider.Request": {
        "type": "object",
        "properties": {
          "settings": {
            "$ref": "#/components/schemas/Provider.Settings"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "body": {
            "type": "object"
          }
        },
        "required": ["settings", "headers", "body"],
        "additionalProperties": false
      },
      "Provider.Settings": {
        "type": "object",
        "properties": {
          "timeout": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "boolean",
                "enum": [false]
              }
            ]
          },
          "chunkTimeout": {
            "type": "number"
          },
          "compaction": {
            "$ref": "#/components/schemas/Provider.Compaction"
          },
          "transport": {
            "$ref": "#/components/schemas/Provider.Transport"
          }
        },
        "allOf": [
          {
            "type": "object",
            "additionalProperties": {}
          }
        ]
      },
      "Provider.Transport": {
        "type": "string",
        "enum": ["http", "websocket"]
      },
      "ProviderNotFoundErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["ProviderNotFoundError"]
          },
          "providerID": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "providerID", "message"],
        "additionalProperties": false
      },
      "Pty": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^pty"
          },
          "title": {
            "type": "string"
          },
          "command": {
            "type": "string"
          },
          "args": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cwd": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": ["running", "exited"]
          },
          "pid": {
            "type": "integer",
            "minimum": 0
          },
          "exitCode": {
            "type": "integer",
            "minimum": 0
          }
        },
        "required": ["id", "title", "command", "args", "cwd", "status", "pid"],
        "additionalProperties": false
      },
      "PtyNotFoundErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["PtyNotFoundError"]
          },
          "ptyID": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "ptyID", "message"],
        "additionalProperties": false
      },
      "PtyTicket.ConnectToken": {
        "type": "object",
        "properties": {
          "ticket": {
            "type": "string"
          },
          "expires_in": {
            "type": "integer",
            "exclusiveMinimum": 0
          }
        },
        "required": ["ticket", "expires_in"],
        "additionalProperties": false
      },
      "Reference.GitSource": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["git"]
          },
          "repository": {
            "type": "string"
          },
          "branch": {
            "type": "string"
          }
        },
        "required": ["type", "repository"],
        "additionalProperties": false
      },
      "Reference.Info": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "path": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "hidden": {
            "type": "boolean"
          },
          "source": {
            "$ref": "#/components/schemas/Reference.Source"
          }
        },
        "required": ["name", "path", "source"],
        "additionalProperties": false
      },
      "Reference.LocalSource": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["local"]
          },
          "path": {
            "type": "string"
          }
        },
        "required": ["type", "path"],
        "additionalProperties": false
      },
      "Reference.Source": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/Reference.LocalSource"
          },
          {
            "$ref": "#/components/schemas/Reference.GitSource"
          }
        ]
      },
      "Rpc.Input": {
        "type": "object",
        "properties": {
          "input": {}
        },
        "additionalProperties": false
      },
      "Rpc.Output": {
        "type": "object",
        "properties": {
          "output": {}
        },
        "additionalProperties": false
      },
      "RpcErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["RpcError"]
          },
          "type": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "data": {
            "anyOf": [
              {},
              {
                "type": "null"
              }
            ]
          }
        },
        "required": ["_tag", "type", "message"],
        "additionalProperties": false
      },
      "RpcInternalErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["RpcInternalError"]
          },
          "type": {
            "type": "string",
            "enum": ["rpc.internal", "rpc.invalid_output"]
          },
          "message": {
            "type": "string"
          },
          "data": {
            "anyOf": [
              {},
              {
                "type": "null"
              }
            ]
          }
        },
        "required": ["_tag", "type", "message"],
        "additionalProperties": false
      },
      "ServerInfo": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string"
          },
          "pid": {
            "type": "integer",
            "minimum": 0
          },
          "urls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "paths": {
            "type": "object",
            "properties": {
              "tmp": {
                "type": "string"
              }
            },
            "required": ["tmp"],
            "additionalProperties": false
          }
        },
        "required": ["version", "pid", "urls", "paths"],
        "additionalProperties": false
      },
      "ServiceUnavailableErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["ServiceUnavailableError"]
          },
          "message": {
            "type": "string"
          },
          "service": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": ["_tag", "message"],
        "additionalProperties": false
      },
      "Session.ForkBoundary": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["before"]
              },
              "messageID": {
                "type": "string",
                "pattern": "^msg_"
              }
            },
            "required": ["type", "messageID"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": ["through"]
              },
              "messageID": {
                "type": "string",
                "pattern": "^msg_"
              }
            },
            "required": ["type", "messageID"],
            "additionalProperties": false
          }
        ]
      },
      "Session.Inbox.Compaction": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^msg_"
          },
          "sessionID": {
            "type": "string",
            "pattern": "^ses"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          },
          "type": {
            "type": "string",
            "enum": ["compaction"]
          },
          "payload": {
            "$ref": "#/components/schemas/Session.Inbox.CompactionPayload"
          },
          "delivery": {
            "$ref": "#/components/schemas/Session.Inbox.Delivery"
          }
        },
        "required": ["id", "sessionID", "time", "type", "payload", "delivery"],
        "additionalProperties": false
      },
      "Session.Inbox.CompactionPayload": {
        "anyOf": [
          {
            "type": "object"
          },
          {
            "type": "array"
          }
        ]
      },
      "Session.Inbox.Delivery": {
        "type": "string",
        "enum": ["steer", "queue"]
      },
      "Session.Inbox.Info": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/Session.Inbox.User"
          },
          {
            "$ref": "#/components/schemas/Session.Inbox.Synthetic"
          },
          {
            "$ref": "#/components/schemas/Session.Inbox.Compaction"
          },
          {
            "$ref": "#/components/schemas/Session.Inbox.Move"
          }
        ]
      },
      "Session.Inbox.Move": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^msg_"
          },
          "sessionID": {
            "type": "string",
            "pattern": "^ses"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          },
          "type": {
            "type": "string",
            "enum": ["move"]
          },
          "delivery": {
            "$ref": "#/components/schemas/Session.Inbox.Delivery"
          },
          "payload": {
            "$ref": "#/components/schemas/Session.Inbox.MovePayload"
          }
        },
        "required": ["id", "sessionID", "time", "type", "delivery", "payload"],
        "additionalProperties": false
      },
      "Session.Inbox.MovePayload": {
        "type": "object",
        "properties": {
          "projectID": {
            "type": "string"
          },
          "subpath": {
            "type": "string"
          },
          "location": {
            "$ref": "#/components/schemas/Location.PublicRef"
          }
        },
        "required": ["projectID", "location"],
        "additionalProperties": false
      },
      "Session.Inbox.Synthetic": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^msg_"
          },
          "sessionID": {
            "type": "string",
            "pattern": "^ses"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          },
          "type": {
            "type": "string",
            "enum": ["synthetic"]
          },
          "payload": {
            "$ref": "#/components/schemas/Session.Inbox.SyntheticPayload"
          },
          "delivery": {
            "$ref": "#/components/schemas/Session.Inbox.Delivery"
          }
        },
        "required": ["id", "sessionID", "time", "type", "payload", "delivery"],
        "additionalProperties": false
      },
      "Session.Inbox.SyntheticPayload": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "metadata": {
            "type": "object"
          }
        },
        "required": ["text"],
        "additionalProperties": false
      },
      "Session.Inbox.User": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^msg_"
          },
          "sessionID": {
            "type": "string",
            "pattern": "^ses"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          },
          "type": {
            "type": "string",
            "enum": ["user"]
          },
          "payload": {
            "$ref": "#/components/schemas/Session.Inbox.UserPayload"
          },
          "delivery": {
            "$ref": "#/components/schemas/Session.Inbox.Delivery"
          }
        },
        "required": ["id", "sessionID", "time", "type", "payload", "delivery"],
        "additionalProperties": false
      },
      "Session.Inbox.UserPayload": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string"
          },
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Prompt.FileAttachment"
            }
          },
          "agents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Prompt.AgentAttachment"
            }
          },
          "skills": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Prompt.SkillAttachment"
            }
          },
          "metadata": {
            "type": "object"
          }
        },
        "required": ["text"],
        "additionalProperties": false
      },
      "Session.Info": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^ses"
          },
          "parentID": {
            "type": "string",
            "pattern": "^ses"
          },
          "fork": {
            "type": "object",
            "properties": {
              "sessionID": {
                "type": "string",
                "pattern": "^ses"
              },
              "boundary": {
                "$ref": "#/components/schemas/Session.ForkBoundary"
              }
            },
            "required": ["sessionID", "boundary"],
            "additionalProperties": false
          },
          "projectID": {
            "type": "string"
          },
          "agent": {
            "type": "string"
          },
          "model": {
            "$ref": "#/components/schemas/Model.Ref"
          },
          "cost": {
            "$ref": "#/components/schemas/Money.USD"
          },
          "tokens": {
            "$ref": "#/components/schemas/TokenUsage.Info"
          },
          "outcome": {
            "type": "string",
            "enum": ["succeeded", "failed", "interrupted"]
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              },
              "updated": {
                "type": "number"
              },
              "idle": {
                "type": "number"
              },
              "viewed": {
                "type": "number"
              },
              "archived": {
                "type": "number"
              }
            },
            "required": ["created", "updated"],
            "additionalProperties": false
          },
          "title": {
            "type": "string"
          },
          "subpath": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Session.Metadata"
          },
          "permissions": {
            "$ref": "#/components/schemas/Permission.Ruleset"
          },
          "revert": {
            "$ref": "#/components/schemas/Session.Revert"
          },
          "location": {
            "$ref": "#/components/schemas/Location.PublicRef"
          }
        },
        "required": ["id", "projectID", "cost", "tokens", "time", "location"],
        "additionalProperties": false
      },
      "Session.Message.AgentSelected": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^msg_"
          },
          "metadata": {
            "type": "object"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          },
          "type": {
            "type": "string",
            "enum": ["agent-switched"]
          },
          "agent": {
            "type": "string"
          },
          "previous": {
            "type": "string"
          }
        },
        "required": ["id", "time", "type", "agent"],
        "additionalProperties": false
      },
      "Session.Message.Assistant": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^msg_"
          },
          "metadata": {
            "type": "object"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              },
              "streamed": {
                "type": "number"
              },
              "completed": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          },
          "type": {
            "type": "string",
            "enum": ["assistant"]
          },
          "agent": {
            "type": "string"
          },
          "model": {
            "$ref": "#/components/schemas/Model.Ref"
          },
          "content": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Session.Message.Assistant.Text"
                },
                {
                  "$ref": "#/components/schemas/Session.Message.Assistant.Reasoning"
                },
                {
                  "$ref": "#/components/schemas/Session.Message.Assistant.Tool"
                }
              ]
            }
          },
          "snapshot": {
            "type": "object",
            "properties": {
              "start": {
                "type": "string"
              },
              "end": {
                "type": "string"
              },
              "files": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          },
          "finish": {
            "type": "string",
            "enum": ["stop", "length", "tool-calls", "content-filter", "error", "unknown"]
          },
          "rawFinish": {
            "type": "string"
          },
          "providerState": {
            "$ref": "#/components/schemas/Session.Message.ProviderState_4"
          },
          "cost": {
            "$ref": "#/components/schemas/Money.USD"
          },
          "tokens": {
            "$ref": "#/components/schemas/TokenUsage.Info"
          },
          "error": {
            "$ref": "#/components/schemas/Session.StructuredError"
          },
          "retry": {
            "$ref": "#/components/schemas/Session.Message.Assistant.Retry"
          }
        },
        "required": ["id", "time", "type", "agent", "model", "content"],
        "additionalProperties": false
      },
      "Session.Message.Assistant.Reasoning": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["reasoning"]
          },
          "text": {
            "type": "string"
          },
          "state": {
            "$ref": "#/components/schemas/Session.Message.ProviderState_1"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              },
              "completed": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          }
        },
        "required": ["type", "text"],
        "additionalProperties": false
      },
      "Session.Message.Assistant.Retry": {
        "type": "object",
        "properties": {
          "attempt": {
            "type": "integer",
            "exclusiveMinimum": 0
          },
          "at": {
            "type": "number"
          },
          "error": {
            "$ref": "#/components/schemas/Session.StructuredError"
          }
        },
        "required": ["attempt", "at", "error"],
        "additionalProperties": false
      },
      "Session.Message.Assistant.Text": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["text"]
          },
          "text": {
            "type": "string"
          },
          "state": {
            "$ref": "#/components/schemas/Session.Message.ProviderState"
          }
        },
        "required": ["type", "text"],
        "additionalProperties": false
      },
      "Session.Message.Assistant.Tool": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["tool"]
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "executed": {
            "type": "boolean"
          },
          "providerState": {
            "$ref": "#/components/schemas/Session.Message.ProviderState_2"
          },
          "providerResultState": {
            "$ref": "#/components/schemas/Session.Message.ProviderState_3"
          },
          "state": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Session.Message.ToolState.Streaming"
              },
              {
                "$ref": "#/components/schemas/Session.Message.ToolState.Running"
              },
              {
                "$ref": "#/components/schemas/Session.Message.ToolState.Completed"
              },
              {
                "$ref": "#/components/schemas/Session.Message.ToolState.Error"
              }
            ]
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              },
              "ran": {
                "type": "number"
              },
              "completed": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          }
        },
        "required": ["type", "id", "name", "state", "time"],
        "additionalProperties": false
      },
      "Session.Message.Compaction": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/Session.Message.Compaction.Running"
          },
          {
            "$ref": "#/components/schemas/Session.Message.Compaction.Completed"
          },
          {
            "$ref": "#/components/schemas/Session.Message.Compaction.Failed"
          }
        ]
      },
      "Session.Message.Compaction.Completed": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["compaction"]
          },
          "id": {
            "type": "string",
            "pattern": "^msg_"
          },
          "metadata": {
            "type": "object"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          },
          "status": {
            "type": "string",
            "enum": ["completed"]
          },
          "reason": {
            "type": "string",
            "enum": ["auto", "manual"]
          },
          "model": {
            "$ref": "#/components/schemas/Model.Ref"
          },
          "providerState": {
            "$ref": "#/components/schemas/Session.Message.ProviderState_5"
          },
          "summary": {
            "type": "string"
          },
          "recent": {
            "type": "string"
          },
          "providerContext": {
            "$ref": "#/components/schemas/Session.ProviderContext"
          },
          "cost": {
            "$ref": "#/components/schemas/Money.USD"
          },
          "tokens": {
            "$ref": "#/components/schemas/TokenUsage.Info"
          }
        },
        "required": ["type", "id", "time", "status", "reason", "summary", "recent"],
        "additionalProperties": false
      },
      "Session.Message.Compaction.Failed": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["compaction"]
          },
          "id": {
            "type": "string",
            "pattern": "^msg_"
          },
          "metadata": {
            "type": "object"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          },
          "status": {
            "type": "string",
            "enum": ["failed"]
          },
          "reason": {
            "type": "string",
            "enum": ["auto", "manual"]
          },
          "error": {
            "$ref": "#/components/schemas/Session.StructuredError"
          },
          "cost": {
            "$ref": "#/components/schemas/Money.USD"
          },
          "tokens": {
            "$ref": "#/components/schemas/TokenUsage.Info"
          }
        },
        "required": ["type", "id", "time", "status", "reason", "error"],
        "additionalProperties": false
      },
      "Session.Message.Compaction.Running": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["compaction"]
          },
          "id": {
            "type": "string",
            "pattern": "^msg_"
          },
          "metadata": {
            "type": "object"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          },
          "status": {
            "type": "string",
            "enum": ["running"]
          },
          "reason": {
            "type": "string",
            "enum": ["auto", "manual"]
          },
          "summary": {
            "type": "string"
          },
          "recent": {
            "type": "string"
          }
        },
        "required": ["type", "id", "time", "status", "reason", "summary", "recent"],
        "additionalProperties": false
      },
      "Session.Message.Idle": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^msg_"
          },
          "metadata": {
            "type": "object"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          },
          "type": {
            "type": "string",
            "enum": ["idle"]
          },
          "outcome": {
            "type": "string",
            "enum": ["succeeded", "failed", "interrupted"]
          }
        },
        "required": ["id", "time", "type", "outcome"],
        "additionalProperties": false
      },
      "Session.Message.Info": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/Session.Message.AgentSelected"
          },
          {
            "$ref": "#/components/schemas/Session.Message.ModelSelected"
          },
          {
            "$ref": "#/components/schemas/Session.Message.LocationSwitched"
          },
          {
            "$ref": "#/components/schemas/Session.Message.User"
          },
          {
            "$ref": "#/components/schemas/Session.Message.Synthetic"
          },
          {
            "$ref": "#/components/schemas/Session.Message.System"
          },
          {
            "$ref": "#/components/schemas/Session.Message.Skill"
          },
          {
            "$ref": "#/components/schemas/Session.Message.Shell"
          },
          {
            "$ref": "#/components/schemas/Session.Message.Assistant"
          },
          {
            "$ref": "#/components/schemas/Session.Message.Compaction"
          },
          {
            "$ref": "#/components/schemas/Session.Message.Idle"
          }
        ]
      },
      "Session.Message.LocationSwitched": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^msg_"
          },
          "metadata": {
            "type": "object"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          },
          "type": {
            "type": "string",
            "enum": ["location-switched"]
          },
          "projectID": {
            "type": "string"
          },
          "subpath": {
            "type": "string"
          },
          "location": {
            "$ref": "#/components/schemas/Location.PublicRef"
          },
          "previous": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "location": {
                    "$ref": "#/components/schemas/Location.PublicRef"
                  },
                  "projectID": {
                    "type": "string"
                  },
                  "subpath": {
                    "type": "string"
                  }
                },
                "required": ["location"],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": ["id", "time", "type", "location"],
        "additionalProperties": false
      },
      "Session.Message.ModelSelected": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^msg_"
          },
          "metadata": {
            "type": "object"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          },
          "type": {
            "type": "string",
            "enum": ["model-switched"]
          },
          "model": {
            "$ref": "#/components/schemas/Model.Ref"
          },
          "previous": {
            "$ref": "#/components/schemas/Model.Ref"
          }
        },
        "required": ["id", "time", "type", "model"],
        "additionalProperties": false
      },
      "Session.Message.ProviderState": {
        "type": "object"
      },
      "Session.Message.ProviderState_1": {
        "type": "object"
      },
      "Session.Message.ProviderState_2": {
        "type": "object"
      },
      "Session.Message.ProviderState_3": {
        "type": "object"
      },
      "Session.Message.ProviderState_4": {
        "type": "object"
      },
      "Session.Message.ProviderState_5": {
        "type": "object"
      },
      "Session.Message.Shell": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^msg_"
          },
          "metadata": {
            "type": "object"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              },
              "completed": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          },
          "type": {
            "type": "string",
            "enum": ["shell"]
          },
          "shellID": {
            "type": "string",
            "pattern": "^sh_"
          },
          "command": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": ["running", "exited", "timeout", "killed"]
          },
          "exit": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "enum": ["Infinity", "-Infinity", "NaN"]
              }
            ]
          },
          "output": {
            "type": "object",
            "properties": {
              "output": {
                "type": "string"
              },
              "cursor": {
                "type": "integer",
                "minimum": 0
              },
              "size": {
                "type": "integer",
                "minimum": 0
              },
              "truncated": {
                "type": "boolean"
              }
            },
            "required": ["output", "cursor", "size", "truncated"],
            "additionalProperties": false
          }
        },
        "required": ["id", "time", "type", "shellID", "command", "status"],
        "additionalProperties": false
      },
      "Session.Message.Skill": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^msg_"
          },
          "metadata": {
            "type": "object"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          },
          "type": {
            "type": "string",
            "enum": ["skill"]
          },
          "skill": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": ["id", "time", "type", "skill", "name", "text"],
        "additionalProperties": false
      },
      "Session.Message.Synthetic": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^msg_"
          },
          "metadata": {
            "type": "object"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          },
          "text": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": ["synthetic"]
          }
        },
        "required": ["id", "time", "text", "type"],
        "additionalProperties": false
      },
      "Session.Message.System": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^msg_"
          },
          "metadata": {
            "type": "object"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          },
          "type": {
            "type": "string",
            "enum": ["system"]
          },
          "text": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": ["id", "time", "type", "text"],
        "additionalProperties": false
      },
      "Session.Message.ToolState.Completed": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": ["completed"]
          },
          "input": {
            "type": "object"
          },
          "content": {
            "type": "array",
            "prefixItems": [
              {
                "$ref": "#/components/schemas/Tool.Content"
              }
            ],
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/Tool.Content"
            }
          },
          "metadata": {
            "type": "object"
          }
        },
        "required": ["status", "input", "content"],
        "additionalProperties": false
      },
      "Session.Message.ToolState.Error": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": ["error"]
          },
          "input": {
            "type": "object"
          },
          "error": {
            "$ref": "#/components/schemas/Session.StructuredError"
          },
          "content": {
            "type": "array",
            "prefixItems": [
              {
                "$ref": "#/components/schemas/Tool.Content"
              }
            ],
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/Tool.Content"
            }
          },
          "metadata": {
            "type": "object"
          }
        },
        "required": ["status", "input", "error"],
        "additionalProperties": false
      },
      "Session.Message.ToolState.Running": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": ["running"]
          },
          "input": {
            "type": "object"
          },
          "metadata": {
            "type": "object"
          }
        },
        "required": ["status", "input", "metadata"],
        "additionalProperties": false
      },
      "Session.Message.ToolState.Streaming": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": ["streaming"]
          },
          "input": {
            "type": "string"
          }
        },
        "required": ["status", "input"],
        "additionalProperties": false
      },
      "Session.Message.User": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^msg_"
          },
          "metadata": {
            "type": "object"
          },
          "time": {
            "type": "object",
            "properties": {
              "created": {
                "type": "number"
              }
            },
            "required": ["created"],
            "additionalProperties": false
          },
          "text": {
            "type": "string"
          },
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Prompt.FileAttachment"
            }
          },
          "agents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Prompt.AgentAttachment"
            }
          },
          "skills": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Prompt.SkillAttachment"
            }
          },
          "type": {
            "type": "string",
            "enum": ["user"]
          }
        },
        "required": ["id", "time", "text", "type"],
        "additionalProperties": false
      },
      "Session.Metadata": {
        "type": "object"
      },
      "Session.ProviderContext": {
        "type": "object",
        "properties": {
          "version": {
            "type": "number",
            "enum": [1]
          },
          "provenance": {
            "$ref": "#/components/schemas/Session.ProviderContext.Provenance"
          },
          "messages": {}
        },
        "required": ["version", "provenance", "messages"],
        "additionalProperties": false
      },
      "Session.ProviderContext.Provenance": {
        "type": "object",
        "properties": {
          "providerID": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "modelID": {
            "type": "string"
          },
          "route": {
            "type": "string"
          },
          "protocol": {
            "type": "string"
          },
          "endpoint": {
            "type": "string"
          }
        },
        "required": ["providerID", "provider", "modelID", "route", "protocol", "endpoint"],
        "additionalProperties": false
      },
      "Session.Revert": {
        "type": "object",
        "properties": {
          "messageID": {
            "type": "string",
            "pattern": "^msg_"
          },
          "partID": {
            "type": "string"
          },
          "snapshot": {
            "type": "string"
          },
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FileDiff.Info"
            }
          }
        },
        "required": ["messageID"],
        "additionalProperties": false
      },
      "Session.StructuredError": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "status": {
            "type": "integer",
            "minimum": 100,
            "maximum": 599
          }
        },
        "required": ["type", "message"],
        "additionalProperties": false
      },
      "SessionActive": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["running"]
          }
        },
        "required": ["type"],
        "additionalProperties": false
      },
      "SessionBusyErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["SessionBusyError"]
          },
          "sessionID": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "sessionID", "message"],
        "additionalProperties": false
      },
      "SessionGenerateResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "text": {
                "type": "string"
              }
            },
            "required": ["text"],
            "additionalProperties": false
          }
        },
        "required": ["data"],
        "additionalProperties": false
      },
      "SessionInterruptResponse": {
        "type": "object",
        "properties": {
          "interrupted": {
            "type": "boolean",
            "description": "Whether an active execution owned by this OpenCode process was interrupted."
          }
        },
        "required": ["interrupted"],
        "additionalProperties": false
      },
      "SessionLogItemEncoded": {
        "type": "string",
        "contentMediaType": "application/json"
      },
      "SessionMessagesResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Session.Message.Info"
            }
          },
          "cursor": {
            "type": "object",
            "properties": {
              "previous": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "next": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "required": ["data", "cursor"],
        "additionalProperties": false
      },
      "SessionNotFoundErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["SessionNotFoundError"]
          },
          "sessionID": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "sessionID", "message"],
        "additionalProperties": false
      },
      "SessionStats.Activity": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string"
          },
          "steps": {
            "type": "integer",
            "minimum": 0
          }
        },
        "required": ["date", "steps"],
        "additionalProperties": false
      },
      "SessionStats.Info": {
        "type": "object",
        "properties": {
          "range": {
            "type": "object",
            "properties": {
              "from": {
                "type": "number"
              },
              "to": {
                "type": "number"
              }
            },
            "required": ["from", "to"],
            "additionalProperties": false
          },
          "sessions": {
            "type": "integer",
            "minimum": 0
          },
          "subagents": {
            "type": "integer",
            "minimum": 0
          },
          "prompts": {
            "type": "integer",
            "minimum": 0
          },
          "steps": {
            "type": "integer",
            "minimum": 0
          },
          "tokens": {
            "$ref": "#/components/schemas/TokenUsage.Info"
          },
          "cost": {
            "$ref": "#/components/schemas/Money.USD"
          },
          "tools": {
            "$ref": "#/components/schemas/SessionStats.Tools"
          },
          "activeDays": {
            "type": "integer",
            "minimum": 0
          },
          "streak": {
            "type": "integer",
            "minimum": 0
          },
          "activity": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SessionStats.Activity"
            }
          },
          "models": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SessionStats.ModelUsage"
            }
          }
        },
        "required": [
          "range",
          "sessions",
          "subagents",
          "prompts",
          "steps",
          "tokens",
          "cost",
          "tools",
          "activeDays",
          "streak",
          "activity",
          "models"
        ],
        "additionalProperties": false
      },
      "SessionStats.ModelUsage": {
        "type": "object",
        "properties": {
          "model": {
            "$ref": "#/components/schemas/Model.Ref"
          },
          "steps": {
            "type": "integer",
            "minimum": 0
          },
          "tokens": {
            "$ref": "#/components/schemas/TokenUsage.Info"
          },
          "cost": {
            "$ref": "#/components/schemas/Money.USD"
          }
        },
        "required": ["model", "steps", "tokens", "cost"],
        "additionalProperties": false
      },
      "SessionStats.ToolTotals": {
        "type": "object",
        "properties": {
          "calls": {
            "type": "integer",
            "minimum": 0
          },
          "succeeded": {
            "type": "integer",
            "minimum": 0
          },
          "failed": {
            "type": "integer",
            "minimum": 0
          },
          "unfinished": {
            "type": "integer",
            "minimum": 0
          }
        },
        "required": ["calls", "succeeded", "failed", "unfinished"],
        "additionalProperties": false
      },
      "SessionStats.ToolUsage": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "calls": {
            "type": "integer",
            "minimum": 0
          },
          "succeeded": {
            "type": "integer",
            "minimum": 0
          },
          "failed": {
            "type": "integer",
            "minimum": 0
          },
          "unfinished": {
            "type": "integer",
            "minimum": 0
          },
          "durationP50": {
            "type": "number"
          }
        },
        "required": ["name", "calls", "succeeded", "failed", "unfinished"],
        "additionalProperties": false
      },
      "SessionStats.Tools": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": ["none"]
              }
            },
            "required": ["mode"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": ["summary"]
              },
              "totals": {
                "$ref": "#/components/schemas/SessionStats.ToolTotals"
              }
            },
            "required": ["mode", "totals"],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": ["detail"]
              },
              "totals": {
                "$ref": "#/components/schemas/SessionStats.ToolTotals"
              },
              "usage": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SessionStats.ToolUsage"
                }
              }
            },
            "required": ["mode", "totals", "usage"],
            "additionalProperties": false
          }
        ]
      },
      "SessionTransfer.Data": {
        "type": "object",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/Session.Info"
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Session.Message.Info"
            }
          }
        },
        "required": ["info", "messages"],
        "additionalProperties": false
      },
      "SessionsResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Session.Info"
            }
          },
          "cursor": {
            "type": "object",
            "properties": {
              "previous": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "next": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "required": ["data", "cursor"],
        "additionalProperties": false
      },
      "Shell.Info": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^sh_"
          },
          "status": {
            "type": "string",
            "enum": ["running", "exited", "timeout", "killed"]
          },
          "command": {
            "type": "string"
          },
          "cwd": {
            "type": "string"
          },
          "shell": {
            "type": "string"
          },
          "file": {
            "type": "string"
          },
          "pid": {
            "type": "integer",
            "minimum": 0
          },
          "exit": {
            "type": "number"
          },
          "metadata": {
            "type": "object"
          },
          "time": {
            "type": "object",
            "properties": {
              "started": {
                "type": "number",
                "description": "Start time in milliseconds since the Unix epoch"
              },
              "completed": {
                "type": "number"
              }
            },
            "required": ["started"],
            "additionalProperties": false
          }
        },
        "required": ["id", "status", "command", "cwd", "shell", "file", "metadata", "time"],
        "additionalProperties": false
      },
      "ShellNotFoundErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["ShellNotFoundError"]
          },
          "id": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "id", "message"],
        "additionalProperties": false
      },
      "Skill.Info": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "autoinvoke": {
            "type": "boolean"
          },
          "path": {
            "type": "string"
          },
          "content": {
            "type": "string"
          }
        },
        "required": ["id", "name", "path", "content"],
        "additionalProperties": false
      },
      "SkillNotFoundErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["SkillNotFoundError"]
          },
          "skill": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "skill", "message"],
        "additionalProperties": false
      },
      "TokenUsage.Info": {
        "type": "object",
        "properties": {
          "input": {
            "type": "number"
          },
          "output": {
            "type": "number"
          },
          "reasoning": {
            "type": "number"
          },
          "cache": {
            "type": "object",
            "properties": {
              "read": {
                "type": "number"
              },
              "write": {
                "type": "number"
              }
            },
            "required": ["read", "write"],
            "additionalProperties": false
          }
        },
        "required": ["input", "output", "reasoning", "cache"],
        "additionalProperties": false
      },
      "Tool.Content": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/Tool.TextContent"
          },
          {
            "$ref": "#/components/schemas/Tool.FileContent"
          }
        ]
      },
      "Tool.FileContent": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["file"]
          },
          "uri": {
            "type": "string"
          },
          "mime": {
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": ["type", "uri", "mime"],
        "additionalProperties": false
      },
      "Tool.TextContent": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["text"]
          },
          "text": {
            "type": "string"
          }
        },
        "required": ["type", "text"],
        "additionalProperties": false
      },
      "UnauthorizedErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["UnauthorizedError"]
          },
          "message": {
            "type": "string"
          }
        },
        "required": ["_tag", "message"],
        "additionalProperties": false
      },
      "UnknownErrorEncoded": {
        "type": "object",
        "properties": {
          "_tag": {
            "type": "string",
            "enum": ["UnknownError"]
          },
          "message": {
            "type": "string"
          },
          "ref": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": ["_tag", "message"],
        "additionalProperties": false
      },
      "V2EventEncoded": {
        "type": "string",
        "contentMediaType": "application/json"
      },
      "Vcs.Base": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "ref": {
            "type": "string"
          },
          "source": {
            "type": "string",
            "enum": ["reflog", "default"]
          }
        },
        "required": ["name", "ref", "source"],
        "additionalProperties": false
      },
      "Vcs.Branch": {
        "type": "object",
        "properties": {
          "current": {
            "type": "string"
          },
          "default": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Vcs.BranchList": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "Vcs.FileStatus": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string"
          },
          "additions": {
            "type": "integer",
            "minimum": 0
          },
          "deletions": {
            "type": "integer",
            "minimum": 0
          },
          "status": {
            "type": "string",
            "enum": ["added", "deleted", "modified"]
          }
        },
        "required": ["file", "additions", "deletions", "status"],
        "additionalProperties": false
      },
      "Vcs.Info": {
        "type": "object",
        "properties": {
          "provider": {
            "type": "string"
          },
          "branch": {
            "$ref": "#/components/schemas/Vcs.Branch"
          }
        },
        "required": ["branch"],
        "additionalProperties": false
      },
      "Vcs.Mode": {
        "type": "string",
        "enum": ["working", "branch", "committed"]
      },
      "WebSearch.Provider": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": ["id", "name"],
        "additionalProperties": false
      },
      "WebSearch.ResponseEncoded": {
        "type": "object",
        "properties": {
          "providerID": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebSearch.Result"
            }
          }
        },
        "required": ["providerID", "results"],
        "additionalProperties": false
      },
      "WebSearch.Result": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "time": {
            "type": "object",
            "properties": {
              "published": {
                "type": "number"
              }
            },
            "additionalProperties": false
          }
        },
        "required": ["url", "time"],
        "additionalProperties": false
      },
      "Worktree.CreateInput": {
        "type": "object",
        "properties": {
          "projectID": {
            "type": "string"
          },
          "from": {
            "type": "string"
          },
          "branch": {
            "type": "string"
          },
          "directory": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": ["projectID"],
        "additionalProperties": false
      },
      "Worktree.Directory": {
        "type": "object",
        "properties": {
          "directory": {
            "type": "string"
          },
          "strategy": {
            "type": "string"
          }
        },
        "required": ["directory"],
        "additionalProperties": false
      },
      "Worktree.Info": {
        "type": "object",
        "properties": {
          "directory": {
            "type": "string"
          }
        },
        "required": ["directory"],
        "additionalProperties": false
      },
      "Worktree.List": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Worktree.Directory"
        }
      },
      "Worktree.RemoveInput": {
        "type": "object",
        "properties": {
          "projectID": {
            "type": "string"
          },
          "directory": {
            "type": "string"
          },
          "force": {
            "type": "boolean"
          }
        },
        "required": ["projectID", "directory", "force"],
        "additionalProperties": false
      },
      "WorktreeErrorEncoded": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "enum": ["WorktreeError"]
          },
          "data": {
            "type": "object",
            "properties": {
              "message": {
                "type": "string"
              },
              "forceRequired": {
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": ["message"],
            "additionalProperties": false
          }
        },
        "required": ["name", "data"],
        "additionalProperties": false
      }
    },
    "securitySchemes": {}
  },
  "security": [],
  "tags": [
    {
      "name": "server"
    },
    {
      "name": "location"
    },
    {
      "name": "agent"
    },
    {
      "name": "plugin",
      "description": "Experimental plugin routes."
    },
    {
      "name": "session",
      "description": "Experimental session routes."
    },
    {
      "name": "session",
      "description": "Experimental message routes."
    },
    {
      "name": "model",
      "description": "Experimental model routes."
    },
    {
      "name": "generate",
      "description": "Experimental one-shot generation routes."
    },
    {
      "name": "provider",
      "description": "Experimental provider routes."
    },
    {
      "name": "integration",
      "description": "Integration discovery and authentication routes."
    },
    {
      "name": "mcp",
      "description": "MCP server and resource routes."
    },
    {
      "name": "credential"
    },
    {
      "name": "project",
      "description": "Project routes."
    },
    {
      "name": "form",
      "description": "Location form routes."
    },
    {
      "name": "permission",
      "description": "Experimental permission routes."
    },
    {
      "name": "filesystem",
      "description": "Experimental location-scoped filesystem routes."
    },
    {
      "name": "command",
      "description": "Experimental command routes."
    },
    {
      "name": "skill",
      "description": "Experimental skill routes."
    },
    {
      "name": "rpc",
      "description": "Plugin RPC routes."
    },
    {
      "name": "event",
      "description": "Experimental event stream routes."
    },
    {
      "name": "pty",
      "description": "Experimental location-scoped PTY routes."
    },
    {
      "name": "persistentPty",
      "description": "Prototype persistent PTY routes."
    },
    {
      "name": "shell",
      "description": "Location-scoped shell command routes."
    },
    {
      "name": "reference",
      "description": "Location-scoped project references."
    },
    {
      "name": "worktree",
      "description": "Project-based worktree management routes."
    },
    {
      "name": "vcs",
      "description": "Location-scoped version control routes."
    },
    {
      "name": "debug"
    },
    {
      "name": "migration"
    },
    {
      "name": "websearch",
      "description": "Location-scoped web search routes."
    },
    {
      "name": "config",
      "description": "Location-scoped configuration routes."
    }
  ]
}
