diff --git a/vendor/sandbox-agent/docs/content/docs/api-reference/schemas/index.mdx b/vendor/sandbox-agent/docs/content/docs/api-reference/schemas/index.mdx
index b2b0fc1f..fc26bde2 100644
--- a/vendor/sandbox-agent/docs/content/docs/api-reference/schemas/index.mdx
+++ b/vendor/sandbox-agent/docs/content/docs/api-reference/schemas/index.mdx
@@ -93,7 +93,3 @@ description: "Request and response schemas for the Sandbox Agent HTTP API."
- [SkillSource](/sandbox-agent/docs/api-reference/schemas/skillsource/)
- [SkillsConfig](/sandbox-agent/docs/api-reference/schemas/skillsconfig/)
- [SkillsConfigQuery](/sandbox-agent/docs/api-reference/schemas/skillsconfigquery/)
-- [McpCommand](/sandbox-agent/docs/api-reference/schemas/mcpcommand/)
-- [McpRemoteTransport](/sandbox-agent/docs/api-reference/schemas/mcpremotetransport/)
-- [McpOAuthConfig](/sandbox-agent/docs/api-reference/schemas/mcpoauthconfig/)
-- [McpOAuthConfigOrDisabled](/sandbox-agent/docs/api-reference/schemas/mcpoauthconfigordisabled/)
diff --git a/vendor/sandbox-agent/docs/content/docs/api-reference/schemas/mcpcommand.mdx b/vendor/sandbox-agent/docs/content/docs/api-reference/schemas/mcpcommand.mdx
deleted file mode 100644
index b0d48675..00000000
--- a/vendor/sandbox-agent/docs/content/docs/api-reference/schemas/mcpcommand.mdx
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: "McpCommand"
-description: "HTTP API schema for McpCommand."
----
-
-```json
-{
- "oneOf": [
- {
- "type": "string"
- },
- {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- ]
-}
-```
diff --git a/vendor/sandbox-agent/docs/content/docs/api-reference/schemas/mcpoauthconfig.mdx b/vendor/sandbox-agent/docs/content/docs/api-reference/schemas/mcpoauthconfig.mdx
deleted file mode 100644
index fa6604c0..00000000
--- a/vendor/sandbox-agent/docs/content/docs/api-reference/schemas/mcpoauthconfig.mdx
+++ /dev/null
@@ -1,24 +0,0 @@
----
-title: "McpOAuthConfig"
-description: "HTTP API schema for McpOAuthConfig."
----
-
-```json
-{
- "type": "object",
- "properties": {
- "clientId": {
- "type": "string",
- "nullable": true
- },
- "clientSecret": {
- "type": "string",
- "nullable": true
- },
- "scope": {
- "type": "string",
- "nullable": true
- }
- }
-}
-```
diff --git a/vendor/sandbox-agent/docs/content/docs/api-reference/schemas/mcpoauthconfigordisabled.mdx b/vendor/sandbox-agent/docs/content/docs/api-reference/schemas/mcpoauthconfigordisabled.mdx
deleted file mode 100644
index 00402d17..00000000
--- a/vendor/sandbox-agent/docs/content/docs/api-reference/schemas/mcpoauthconfigordisabled.mdx
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: "McpOAuthConfigOrDisabled"
-description: "HTTP API schema for McpOAuthConfigOrDisabled."
----
-
-```json
-{
- "oneOf": [
- {
- "$ref": "#/components/schemas/McpOAuthConfig"
- },
- {
- "type": "boolean"
- }
- ]
-}
-```
-
-Related schemas: [McpOAuthConfig](/sandbox-agent/docs/api-reference/schemas/mcpoauthconfig/).
diff --git a/vendor/sandbox-agent/docs/content/docs/api-reference/schemas/mcpremotetransport.mdx b/vendor/sandbox-agent/docs/content/docs/api-reference/schemas/mcpremotetransport.mdx
deleted file mode 100644
index cd027327..00000000
--- a/vendor/sandbox-agent/docs/content/docs/api-reference/schemas/mcpremotetransport.mdx
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title: "McpRemoteTransport"
-description: "HTTP API schema for McpRemoteTransport."
----
-
-```json
-{
- "type": "string",
- "enum": [
- "http",
- "sse"
- ]
-}
-```
diff --git a/vendor/sandbox-agent/docs/content/docs/architecture.mdx b/vendor/sandbox-agent/docs/content/docs/architecture.mdx
index 4a791571..977db8e5 100644
--- a/vendor/sandbox-agent/docs/content/docs/architecture.mdx
+++ b/vendor/sandbox-agent/docs/content/docs/architecture.mdx
@@ -56,7 +56,7 @@ Agents are installed lazily on first use. To avoid the cold-start delay, pre-ins
sandbox-agent install-agent --all
```
-The `rivetdev/sandbox-agent:0.4.3-full` Docker image ships with all agents pre-installed.
+The `rivetdev/sandbox-agent:0.5.2-full` Docker image ships with all agents pre-installed.
## Production-ready agent orchestration
diff --git a/vendor/sandbox-agent/docs/content/docs/deploy/agentcomputer.mdx b/vendor/sandbox-agent/docs/content/docs/deploy/agentcomputer.mdx
index 490c3e86..ba6f0ad7 100644
--- a/vendor/sandbox-agent/docs/content/docs/deploy/agentcomputer.mdx
+++ b/vendor/sandbox-agent/docs/content/docs/deploy/agentcomputer.mdx
@@ -13,7 +13,7 @@ The platform image already includes Sandbox Agent, Claude Code, and Codex. Agent
## TypeScript example
```bash
-npm install sandbox-agent@0.4.x
+npm install sandbox-agent@0.5.x
```
```typescript
diff --git a/vendor/sandbox-agent/docs/content/docs/deploy/boxlite.mdx b/vendor/sandbox-agent/docs/content/docs/deploy/boxlite.mdx
index 8c02bb48..6f5a13ca 100644
--- a/vendor/sandbox-agent/docs/content/docs/deploy/boxlite.mdx
+++ b/vendor/sandbox-agent/docs/content/docs/deploy/boxlite.mdx
@@ -20,7 +20,7 @@ that BoxLite can load directly (BoxLite has its own image store separate from Do
```dockerfile
FROM node:22-bookworm-slim
RUN apt-get update && apt-get install -y curl ca-certificates && rm -rf /var/lib/apt/lists/*
-RUN curl -fsSL https://releases.rivet.dev/sandbox-agent/0.4.x/install.sh | sh
+RUN curl -fsSL https://releases.rivet.dev/sandbox-agent/0.5.x/install.sh | sh
RUN sandbox-agent install-agent claude
RUN sandbox-agent install-agent codex
```
diff --git a/vendor/sandbox-agent/docs/content/docs/deploy/cloudflare.mdx b/vendor/sandbox-agent/docs/content/docs/deploy/cloudflare.mdx
index c0370e40..30fc53c4 100644
--- a/vendor/sandbox-agent/docs/content/docs/deploy/cloudflare.mdx
+++ b/vendor/sandbox-agent/docs/content/docs/deploy/cloudflare.mdx
@@ -25,7 +25,7 @@ cd my-sandbox
```dockerfile
FROM cloudflare/sandbox:0.7.0
-RUN curl -fsSL https://releases.rivet.dev/sandbox-agent/0.4.x/install.sh | sh
+RUN curl -fsSL https://releases.rivet.dev/sandbox-agent/0.5.x/install.sh | sh
RUN sandbox-agent install-agent claude && sandbox-agent install-agent codex
EXPOSE 8000
@@ -36,7 +36,7 @@ EXPOSE 8000
For standalone scripts, use the `cloudflare` provider:
```bash
-npm install sandbox-agent@0.4.x @cloudflare/sandbox
+npm install sandbox-agent@0.5.x @cloudflare/sandbox
```
```typescript
diff --git a/vendor/sandbox-agent/docs/content/docs/deploy/computesdk.mdx b/vendor/sandbox-agent/docs/content/docs/deploy/computesdk.mdx
index 601d9c78..f9bda89f 100644
--- a/vendor/sandbox-agent/docs/content/docs/deploy/computesdk.mdx
+++ b/vendor/sandbox-agent/docs/content/docs/deploy/computesdk.mdx
@@ -14,7 +14,7 @@ description: "Deploy Sandbox Agent using ComputeSDK's provider-agnostic sandbox
## TypeScript example
```bash
-npm install sandbox-agent@0.4.x computesdk
+npm install sandbox-agent@0.5.x computesdk
```
```typescript
diff --git a/vendor/sandbox-agent/docs/content/docs/deploy/daytona.mdx b/vendor/sandbox-agent/docs/content/docs/deploy/daytona.mdx
index 31a44cb0..d5f5b0f9 100644
--- a/vendor/sandbox-agent/docs/content/docs/deploy/daytona.mdx
+++ b/vendor/sandbox-agent/docs/content/docs/deploy/daytona.mdx
@@ -16,7 +16,7 @@ See [Daytona network limits](https://www.daytona.io/docs/en/network-limits/).
## TypeScript example
```bash
-npm install sandbox-agent@0.4.x @daytonaio/sdk
+npm install sandbox-agent@0.5.x @daytonaio/sdk
```
```typescript
@@ -44,7 +44,7 @@ try {
}
```
-The `daytona` provider uses the `rivetdev/sandbox-agent:0.4.3-full` image by default and starts the server automatically.
+The `daytona` provider uses the `rivetdev/sandbox-agent:0.5.2-full` image by default and starts the server automatically.
## Using snapshots for faster startup
@@ -61,7 +61,7 @@ if (!hasSnapshot) {
name: SNAPSHOT,
image: Image.base("ubuntu:22.04").runCommands(
"apt-get update && apt-get install -y curl ca-certificates",
- "curl -fsSL https://releases.rivet.dev/sandbox-agent/0.4.x/install.sh | sh",
+ "curl -fsSL https://releases.rivet.dev/sandbox-agent/0.5.x/install.sh | sh",
"sandbox-agent install-agent claude",
"sandbox-agent install-agent codex",
),
diff --git a/vendor/sandbox-agent/docs/content/docs/deploy/docker.mdx b/vendor/sandbox-agent/docs/content/docs/deploy/docker.mdx
index 61cca1d4..e8e6eeca 100644
--- a/vendor/sandbox-agent/docs/content/docs/deploy/docker.mdx
+++ b/vendor/sandbox-agent/docs/content/docs/deploy/docker.mdx
@@ -15,11 +15,11 @@ Run the published full image with all supported agents pre-installed:
docker run --rm -p 3000:3000 \
-e ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" \
-e OPENAI_API_KEY="$OPENAI_API_KEY" \
- rivetdev/sandbox-agent:0.4.3-full \
+ rivetdev/sandbox-agent:0.5.2-full \
server --no-token --host 0.0.0.0 --port 3000
```
-The `0.4.3-full` tag pins the exact version. The moving `full` tag is also published for contributors who want the latest full image.
+The `0.5.2-full` tag pins the exact version. The moving `full` tag is also published for contributors who want the latest full image.
If you also want the desktop API inside the container, install desktop dependencies before starting the server:
@@ -31,7 +31,7 @@ docker run --rm -p 3000:3000 \
apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y curl ca-certificates bash libstdc++6 && \
rm -rf /var/lib/apt/lists/* && \
- curl -fsSL https://releases.rivet.dev/sandbox-agent/0.4.x/install.sh | sh && \
+ curl -fsSL https://releases.rivet.dev/sandbox-agent/0.5.x/install.sh | sh && \
sandbox-agent install desktop --yes && \
sandbox-agent server --no-token --host 0.0.0.0 --port 3000"
```
@@ -52,7 +52,7 @@ const docker = new Docker();
const PORT = 3000;
const container = await docker.createContainer({
- Image: "rivetdev/sandbox-agent:0.4.3-full",
+ Image: "rivetdev/sandbox-agent:0.5.2-full",
Cmd: ["server", "--no-token", "--host", "0.0.0.0", "--port", `${PORT}`],
Env: [
`ANTHROPIC_API_KEY=${process.env.ANTHROPIC_API_KEY}`,
@@ -86,7 +86,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
bash ca-certificates curl git && \
rm -rf /var/lib/apt/lists/*
-RUN curl -fsSL https://releases.rivet.dev/sandbox-agent/0.4.x/install.sh | sh && \
+RUN curl -fsSL https://releases.rivet.dev/sandbox-agent/0.5.x/install.sh | sh && \
sandbox-agent install-agent --all
RUN useradd -m -s /bin/bash sandbox
diff --git a/vendor/sandbox-agent/docs/content/docs/deploy/e2b.mdx b/vendor/sandbox-agent/docs/content/docs/deploy/e2b.mdx
index 225cfdc1..a43a0c1e 100644
--- a/vendor/sandbox-agent/docs/content/docs/deploy/e2b.mdx
+++ b/vendor/sandbox-agent/docs/content/docs/deploy/e2b.mdx
@@ -11,7 +11,7 @@ description: "Deploy Sandbox Agent inside an E2B sandbox."
## TypeScript example
```bash
-npm install sandbox-agent@0.4.x @e2b/code-interpreter
+npm install sandbox-agent@0.5.x @e2b/code-interpreter
```
```typescript
diff --git a/vendor/sandbox-agent/docs/content/docs/deploy/local.mdx b/vendor/sandbox-agent/docs/content/docs/deploy/local.mdx
index 6ecdb09d..42480d90 100644
--- a/vendor/sandbox-agent/docs/content/docs/deploy/local.mdx
+++ b/vendor/sandbox-agent/docs/content/docs/deploy/local.mdx
@@ -9,7 +9,7 @@ For local development, run Sandbox Agent directly on your machine.
```bash
# Install
-curl -fsSL https://releases.rivet.dev/sandbox-agent/0.4.x/install.sh | sh
+curl -fsSL https://releases.rivet.dev/sandbox-agent/0.5.x/install.sh | sh
# Run
sandbox-agent server --no-token --host 127.0.0.1 --port 2468
@@ -20,12 +20,12 @@ Or with npm/Bun:
```bash
- npx @sandbox-agent/cli@0.4.x server --no-token --host 127.0.0.1 --port 2468
+ npx @sandbox-agent/cli@0.5.x server --no-token --host 127.0.0.1 --port 2468
```
```bash
- bunx @sandbox-agent/cli@0.4.x server --no-token --host 127.0.0.1 --port 2468
+ bunx @sandbox-agent/cli@0.5.x server --no-token --host 127.0.0.1 --port 2468
```
diff --git a/vendor/sandbox-agent/docs/content/docs/deploy/modal.mdx b/vendor/sandbox-agent/docs/content/docs/deploy/modal.mdx
index 5850fd84..fd83ed6b 100644
--- a/vendor/sandbox-agent/docs/content/docs/deploy/modal.mdx
+++ b/vendor/sandbox-agent/docs/content/docs/deploy/modal.mdx
@@ -11,7 +11,7 @@ description: "Deploy Sandbox Agent inside a Modal sandbox."
## TypeScript example
```bash
-npm install sandbox-agent@0.4.x modal
+npm install sandbox-agent@0.5.x modal
```
```typescript
diff --git a/vendor/sandbox-agent/docs/content/docs/deploy/vercel.mdx b/vendor/sandbox-agent/docs/content/docs/deploy/vercel.mdx
index ec931d8a..056cb53a 100644
--- a/vendor/sandbox-agent/docs/content/docs/deploy/vercel.mdx
+++ b/vendor/sandbox-agent/docs/content/docs/deploy/vercel.mdx
@@ -11,7 +11,7 @@ description: "Deploy Sandbox Agent inside a Vercel Sandbox."
## TypeScript example
```bash
-npm install sandbox-agent@0.4.x @vercel/sandbox
+npm install sandbox-agent@0.5.x @vercel/sandbox
```
```typescript
diff --git a/vendor/sandbox-agent/docs/content/docs/quickstart.mdx b/vendor/sandbox-agent/docs/content/docs/quickstart.mdx
index 3587fa6b..30739a6a 100644
--- a/vendor/sandbox-agent/docs/content/docs/quickstart.mdx
+++ b/vendor/sandbox-agent/docs/content/docs/quickstart.mdx
@@ -64,7 +64,7 @@ icon: "rocket"
docker run -p 2468:2468 \
-e ANTHROPIC_API_KEY="sk-ant-..." \
-e OPENAI_API_KEY="sk-..." \
- rivetdev/sandbox-agent:0.4.3-full \
+ rivetdev/sandbox-agent:0.5.2-full \
server --no-token --host 0.0.0.0 --port 2468
```
@@ -89,7 +89,7 @@ icon: "rocket"
Install and run the binary directly.
```bash
- curl -fsSL https://releases.rivet.dev/sandbox-agent/0.4.x/install.sh | sh
+ curl -fsSL https://releases.rivet.dev/sandbox-agent/0.5.x/install.sh | sh
sandbox-agent server --no-token --host 0.0.0.0 --port 2468
```
@@ -98,7 +98,7 @@ icon: "rocket"
Run without installing globally.
```bash
- npx @sandbox-agent/cli@0.4.x server --no-token --host 0.0.0.0 --port 2468
+ npx @sandbox-agent/cli@0.5.x server --no-token --host 0.0.0.0 --port 2468
```
@@ -106,7 +106,7 @@ icon: "rocket"
Run without installing globally.
```bash
- bunx @sandbox-agent/cli@0.4.x server --no-token --host 0.0.0.0 --port 2468
+ bunx @sandbox-agent/cli@0.5.x server --no-token --host 0.0.0.0 --port 2468
```
@@ -114,7 +114,7 @@ icon: "rocket"
Install globally, then run.
```bash
- npm install -g @sandbox-agent/cli@0.4.x
+ npm install -g @sandbox-agent/cli@0.5.x
sandbox-agent server --no-token --host 0.0.0.0 --port 2468
```
@@ -123,7 +123,7 @@ icon: "rocket"
Install globally, then run.
```bash
- bun add -g @sandbox-agent/cli@0.4.x
+ bun add -g @sandbox-agent/cli@0.5.x
# Allow Bun to run postinstall scripts for native binaries (required for SandboxAgent.start()).
bun pm -g trust @sandbox-agent/cli-linux-x64 @sandbox-agent/cli-linux-arm64 @sandbox-agent/cli-darwin-arm64 @sandbox-agent/cli-darwin-x64 @sandbox-agent/cli-win32-x64
sandbox-agent server --no-token --host 0.0.0.0 --port 2468
@@ -134,7 +134,7 @@ icon: "rocket"
For local development, use `SandboxAgent.start()` to spawn and manage the server as a subprocess.
```bash
- npm install sandbox-agent@0.4.x
+ npm install sandbox-agent@0.5.x
```
```typescript
@@ -148,7 +148,7 @@ icon: "rocket"
For local development, use `SandboxAgent.start()` to spawn and manage the server as a subprocess.
```bash
- bun add sandbox-agent@0.4.x
+ bun add sandbox-agent@0.5.x
# Allow Bun to run postinstall scripts for native binaries (required for SandboxAgent.start()).
bun pm trust @sandbox-agent/cli-linux-x64 @sandbox-agent/cli-linux-arm64 @sandbox-agent/cli-darwin-arm64 @sandbox-agent/cli-darwin-x64 @sandbox-agent/cli-win32-x64
```
diff --git a/vendor/sandbox-agent/docs/content/docs/react-components.mdx b/vendor/sandbox-agent/docs/content/docs/react-components.mdx
index 2b30195c..47b88773 100644
--- a/vendor/sandbox-agent/docs/content/docs/react-components.mdx
+++ b/vendor/sandbox-agent/docs/content/docs/react-components.mdx
@@ -17,7 +17,7 @@ Current exports:
## Install
```bash
-npm install @sandbox-agent/react@0.4.x
+npm install @sandbox-agent/react@0.5.x
```
## Full example
diff --git a/vendor/sandbox-agent/docs/content/docs/sdk-overview.mdx b/vendor/sandbox-agent/docs/content/docs/sdk-overview.mdx
index a41a629a..d6c0b8da 100644
--- a/vendor/sandbox-agent/docs/content/docs/sdk-overview.mdx
+++ b/vendor/sandbox-agent/docs/content/docs/sdk-overview.mdx
@@ -11,12 +11,12 @@ The TypeScript SDK is centered on `sandbox-agent` and its `SandboxAgent` class.
```bash
- npm install sandbox-agent@0.4.x
+ npm install sandbox-agent@0.5.x
```
```bash
- bun add sandbox-agent@0.4.x
+ bun add sandbox-agent@0.5.x
# Allow Bun to run postinstall scripts for native binaries (required for SandboxAgent.start()).
bun pm trust @sandbox-agent/cli-linux-x64 @sandbox-agent/cli-linux-arm64 @sandbox-agent/cli-darwin-arm64 @sandbox-agent/cli-darwin-x64 @sandbox-agent/cli-win32-x64
```
@@ -26,7 +26,7 @@ The TypeScript SDK is centered on `sandbox-agent` and its `SandboxAgent` class.
## Optional React components
```bash
-npm install @sandbox-agent/react@0.4.x
+npm install @sandbox-agent/react@0.5.x
```
## Create a client
diff --git a/vendor/sandbox-agent/docs/openapi.json b/vendor/sandbox-agent/docs/openapi.json
index 7f969aee..92164df0 100644
--- a/vendor/sandbox-agent/docs/openapi.json
+++ b/vendor/sandbox-agent/docs/openapi.json
@@ -10,7 +10,7 @@
"license": {
"name": "Apache-2.0"
},
- "version": "0.4.2"
+ "version": "0.5.2"
},
"servers": [
{
@@ -20,7 +20,9 @@
"paths": {
"/v1/acp": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "get_v1_acp_servers",
"responses": {
"200": {
@@ -38,7 +40,9 @@
},
"/v1/acp/{server_id}": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "get_v1_acp",
"parameters": [
{
@@ -88,7 +92,9 @@
}
},
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "post_v1_acp",
"parameters": [
{
@@ -198,7 +204,9 @@
}
},
"delete": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "delete_v1_acp",
"parameters": [
{
@@ -220,7 +228,9 @@
},
"/v1/agents": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "get_v1_agents",
"parameters": [
{
@@ -270,7 +280,9 @@
},
"/v1/agents/{agent}": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "get_v1_agent",
"parameters": [
{
@@ -339,7 +351,9 @@
},
"/v1/agents/{agent}/install": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "post_v1_agent_install",
"parameters": [
{
@@ -398,7 +412,9 @@
},
"/v1/config/mcp": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "get_v1_config_mcp",
"parameters": [
{
@@ -444,7 +460,9 @@
}
},
"put": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "put_v1_config_mcp",
"parameters": [
{
@@ -483,7 +501,9 @@
}
},
"delete": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "delete_v1_config_mcp",
"parameters": [
{
@@ -514,7 +534,9 @@
},
"/v1/config/skills": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "get_v1_config_skills",
"parameters": [
{
@@ -560,7 +582,9 @@
}
},
"put": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "put_v1_config_skills",
"parameters": [
{
@@ -599,7 +623,9 @@
}
},
"delete": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "delete_v1_config_skills",
"parameters": [
{
@@ -630,7 +656,9 @@
},
"/v1/desktop/clipboard": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Read the desktop clipboard.",
"description": "Returns the current text content of the X11 clipboard.",
"operationId": "get_v1_desktop_clipboard",
@@ -679,7 +707,9 @@
}
},
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Write to the desktop clipboard.",
"description": "Sets the text content of the X11 clipboard.",
"operationId": "post_v1_desktop_clipboard",
@@ -729,7 +759,9 @@
},
"/v1/desktop/display/info": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Get desktop display information.",
"description": "Performs a health-gated display query against the managed desktop and\nreturns the current display identifier and resolution.",
"operationId": "get_v1_desktop_display_info",
@@ -769,7 +801,9 @@
},
"/v1/desktop/keyboard/down": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Press and hold a desktop keyboard key.",
"description": "Performs a health-gated `xdotool keydown` operation against the managed\ndesktop.",
"operationId": "post_v1_desktop_keyboard_down",
@@ -829,7 +863,9 @@
},
"/v1/desktop/keyboard/press": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Press a desktop keyboard shortcut.",
"description": "Performs a health-gated `xdotool key` operation against the managed\ndesktop.",
"operationId": "post_v1_desktop_keyboard_press",
@@ -889,7 +925,9 @@
},
"/v1/desktop/keyboard/type": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Type desktop keyboard text.",
"description": "Performs a health-gated `xdotool type` operation against the managed\ndesktop.",
"operationId": "post_v1_desktop_keyboard_type",
@@ -949,7 +987,9 @@
},
"/v1/desktop/keyboard/up": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Release a desktop keyboard key.",
"description": "Performs a health-gated `xdotool keyup` operation against the managed\ndesktop.",
"operationId": "post_v1_desktop_keyboard_up",
@@ -1009,7 +1049,9 @@
},
"/v1/desktop/launch": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Launch a desktop application.",
"description": "Launches an application by name on the managed desktop, optionally waiting\nfor its window to appear.",
"operationId": "post_v1_desktop_launch",
@@ -1059,7 +1101,9 @@
},
"/v1/desktop/mouse/click": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Click on the desktop.",
"description": "Performs a health-gated pointer move and click against the managed desktop\nand returns the resulting mouse position.",
"operationId": "post_v1_desktop_mouse_click",
@@ -1119,7 +1163,9 @@
},
"/v1/desktop/mouse/down": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Press and hold a desktop mouse button.",
"description": "Performs a health-gated optional pointer move followed by `xdotool mousedown`\nand returns the resulting mouse position.",
"operationId": "post_v1_desktop_mouse_down",
@@ -1179,7 +1225,9 @@
},
"/v1/desktop/mouse/drag": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Drag the desktop mouse.",
"description": "Performs a health-gated drag gesture against the managed desktop and\nreturns the resulting mouse position.",
"operationId": "post_v1_desktop_mouse_drag",
@@ -1239,7 +1287,9 @@
},
"/v1/desktop/mouse/move": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Move the desktop mouse.",
"description": "Performs a health-gated absolute pointer move on the managed desktop and\nreturns the resulting mouse position.",
"operationId": "post_v1_desktop_mouse_move",
@@ -1299,7 +1349,9 @@
},
"/v1/desktop/mouse/position": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Get the current desktop mouse position.",
"description": "Performs a health-gated mouse position query against the managed desktop.",
"operationId": "get_v1_desktop_mouse_position",
@@ -1339,7 +1391,9 @@
},
"/v1/desktop/mouse/scroll": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Scroll the desktop mouse wheel.",
"description": "Performs a health-gated scroll gesture at the requested coordinates and\nreturns the resulting mouse position.",
"operationId": "post_v1_desktop_mouse_scroll",
@@ -1399,7 +1453,9 @@
},
"/v1/desktop/mouse/up": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Release a desktop mouse button.",
"description": "Performs a health-gated optional pointer move followed by `xdotool mouseup`\nand returns the resulting mouse position.",
"operationId": "post_v1_desktop_mouse_up",
@@ -1459,7 +1515,9 @@
},
"/v1/desktop/open": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Open a file or URL with the default handler.",
"description": "Opens a file path or URL using xdg-open on the managed desktop.",
"operationId": "post_v1_desktop_open",
@@ -1499,7 +1557,9 @@
},
"/v1/desktop/recording/start": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Start desktop recording.",
"description": "Starts an ffmpeg x11grab recording against the managed desktop and returns\nthe created recording metadata.",
"operationId": "post_v1_desktop_recording_start",
@@ -1549,7 +1609,9 @@
},
"/v1/desktop/recording/stop": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Stop desktop recording.",
"description": "Stops the active desktop recording and returns the finalized recording\nmetadata.",
"operationId": "post_v1_desktop_recording_stop",
@@ -1589,7 +1651,9 @@
},
"/v1/desktop/recordings": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "List desktop recordings.",
"description": "Returns the current desktop recording catalog.",
"operationId": "get_v1_desktop_recordings",
@@ -1619,7 +1683,9 @@
},
"/v1/desktop/recordings/{id}": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Get desktop recording metadata.",
"description": "Returns metadata for a single desktop recording.",
"operationId": "get_v1_desktop_recording",
@@ -1658,7 +1724,9 @@
}
},
"delete": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Delete a desktop recording.",
"description": "Removes a completed desktop recording and its file from disk.",
"operationId": "delete_v1_desktop_recording",
@@ -1702,7 +1770,9 @@
},
"/v1/desktop/recordings/{id}/download": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Download a desktop recording.",
"description": "Serves the recorded MP4 bytes for a completed desktop recording.",
"operationId": "get_v1_desktop_recording_download",
@@ -1736,7 +1806,9 @@
},
"/v1/desktop/screenshot": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Capture a full desktop screenshot.",
"description": "Performs a health-gated full-frame screenshot of the managed desktop and\nreturns the requested image bytes.",
"operationId": "get_v1_desktop_screenshot",
@@ -1824,7 +1896,9 @@
},
"/v1/desktop/screenshot/region": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Capture a desktop screenshot region.",
"description": "Performs a health-gated screenshot crop against the managed desktop and\nreturns the requested region image bytes.",
"operationId": "get_v1_desktop_screenshot_region",
@@ -1950,7 +2024,9 @@
},
"/v1/desktop/start": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Start the private desktop runtime.",
"description": "Lazily launches the managed Xvfb/openbox stack, validates display health,\nand returns the resulting desktop status snapshot.",
"operationId": "post_v1_desktop_start",
@@ -2020,7 +2096,9 @@
},
"/v1/desktop/status": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Get desktop runtime status.",
"description": "Returns the current desktop runtime state, dependency status, active\ndisplay metadata, and supervised process information.",
"operationId": "get_v1_desktop_status",
@@ -2050,7 +2128,9 @@
},
"/v1/desktop/stop": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Stop the private desktop runtime.",
"description": "Terminates the managed openbox/Xvfb/dbus processes owned by the desktop\nruntime and returns the resulting status snapshot.",
"operationId": "post_v1_desktop_stop",
@@ -2080,7 +2160,9 @@
},
"/v1/desktop/stream/signaling": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Open a desktop WebRTC signaling session.",
"description": "Upgrades the connection to a WebSocket used for WebRTC signaling between\nthe browser client and the desktop streaming process. Also accepts mouse\nand keyboard input frames as a fallback transport.",
"operationId": "get_v1_desktop_stream_ws",
@@ -2125,7 +2207,9 @@
},
"/v1/desktop/stream/start": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Start desktop streaming.",
"description": "Enables desktop websocket streaming for the managed desktop.",
"operationId": "post_v1_desktop_stream_start",
@@ -2145,7 +2229,9 @@
},
"/v1/desktop/stream/status": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Get desktop stream status.",
"description": "Returns the current state of the desktop WebRTC streaming session.",
"operationId": "get_v1_desktop_stream_status",
@@ -2165,7 +2251,9 @@
},
"/v1/desktop/stream/stop": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Stop desktop streaming.",
"description": "Disables desktop websocket streaming for the managed desktop.",
"operationId": "post_v1_desktop_stream_stop",
@@ -2185,7 +2273,9 @@
},
"/v1/desktop/windows": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "List visible desktop windows.",
"description": "Performs a health-gated visible-window enumeration against the managed\ndesktop and returns the current window metadata.",
"operationId": "get_v1_desktop_windows",
@@ -2225,7 +2315,9 @@
},
"/v1/desktop/windows/focused": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Get the currently focused desktop window.",
"description": "Returns information about the window that currently has input focus.",
"operationId": "get_v1_desktop_windows_focused",
@@ -2265,7 +2357,9 @@
},
"/v1/desktop/windows/{id}/focus": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Focus a desktop window.",
"description": "Brings the specified window to the foreground and gives it input focus.",
"operationId": "post_v1_desktop_window_focus",
@@ -2316,7 +2410,9 @@
},
"/v1/desktop/windows/{id}/move": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Move a desktop window.",
"description": "Moves the specified window to the given position.",
"operationId": "post_v1_desktop_window_move",
@@ -2377,7 +2473,9 @@
},
"/v1/desktop/windows/{id}/resize": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Resize a desktop window.",
"description": "Resizes the specified window to the given dimensions.",
"operationId": "post_v1_desktop_window_resize",
@@ -2438,7 +2536,9 @@
},
"/v1/fs/entries": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "get_v1_fs_entries",
"parameters": [
{
@@ -2471,7 +2571,9 @@
},
"/v1/fs/entry": {
"delete": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "delete_v1_fs_entry",
"parameters": [
{
@@ -2510,7 +2612,9 @@
},
"/v1/fs/file": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "get_v1_fs_file",
"parameters": [
{
@@ -2530,7 +2634,9 @@
}
},
"put": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "put_v1_fs_file",
"parameters": [
{
@@ -2570,7 +2676,9 @@
},
"/v1/fs/mkdir": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "post_v1_fs_mkdir",
"parameters": [
{
@@ -2599,7 +2707,9 @@
},
"/v1/fs/move": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "post_v1_fs_move",
"requestBody": {
"content": {
@@ -2627,7 +2737,9 @@
},
"/v1/fs/stat": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "get_v1_fs_stat",
"parameters": [
{
@@ -2656,7 +2768,9 @@
},
"/v1/fs/upload-batch": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "post_v1_fs_upload_batch",
"parameters": [
{
@@ -2697,7 +2811,9 @@
},
"/v1/health": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"operationId": "get_v1_health",
"responses": {
"200": {
@@ -2715,7 +2831,9 @@
},
"/v1/processes": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "List all managed processes.",
"description": "Returns a list of all processes (running and exited) currently tracked\nby the runtime, sorted by process ID.",
"operationId": "get_v1_processes",
@@ -2758,7 +2876,9 @@
}
},
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Create a long-lived managed process.",
"description": "Spawns a new process with the given command and arguments. Supports both\npipe-based and PTY (tty) modes. Returns the process descriptor on success.",
"operationId": "post_v1_processes",
@@ -2818,7 +2938,9 @@
},
"/v1/processes/config": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Get process runtime configuration.",
"description": "Returns the current runtime configuration for the process management API,\nincluding limits for concurrency, timeouts, and buffer sizes.",
"operationId": "get_v1_processes_config",
@@ -2846,7 +2968,9 @@
}
},
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Update process runtime configuration.",
"description": "Replaces the runtime configuration for the process management API.\nValidates that all values are non-zero and clamps default timeout to max.",
"operationId": "post_v1_processes_config",
@@ -2896,7 +3020,9 @@
},
"/v1/processes/run": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Run a one-shot command.",
"description": "Executes a command to completion and returns its stdout, stderr, exit code,\nand duration. Supports configurable timeout and output size limits.",
"operationId": "post_v1_processes_run",
@@ -2946,7 +3072,9 @@
},
"/v1/processes/{id}": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Get a single process by ID.",
"description": "Returns the current state of a managed process including its status,\nPID, exit code, and creation/exit timestamps.",
"operationId": "get_v1_process",
@@ -2995,7 +3123,9 @@
}
},
"delete": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Delete a process record.",
"description": "Removes a stopped process from the runtime. Returns 409 if the process\nis still running; stop or kill it first.",
"operationId": "delete_v1_process",
@@ -3049,7 +3179,9 @@
},
"/v1/processes/{id}/input": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Write input to a process.",
"description": "Sends data to a process's stdin (pipe mode) or PTY writer (tty mode).\nData can be encoded as base64, utf8, or text. Returns 413 if the decoded\npayload exceeds the configured `maxInputBytesPerRequest` limit.",
"operationId": "post_v1_process_input",
@@ -3130,7 +3262,9 @@
},
"/v1/processes/{id}/kill": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Send SIGKILL to a process.",
"description": "Sends SIGKILL to the process and optionally waits up to `waitMs`\nmilliseconds for the process to exit before returning.",
"operationId": "post_v1_process_kill",
@@ -3193,7 +3327,9 @@
},
"/v1/processes/{id}/logs": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Fetch process logs.",
"description": "Returns buffered log entries for a process. Supports filtering by stream\ntype, tail count, and sequence-based resumption. When `follow=true`,\nreturns an SSE stream that replays buffered entries then streams live output.",
"operationId": "get_v1_process_logs",
@@ -3291,7 +3427,9 @@
},
"/v1/processes/{id}/stop": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Send SIGTERM to a process.",
"description": "Sends SIGTERM to the process and optionally waits up to `waitMs`\nmilliseconds for the process to exit before returning.",
"operationId": "post_v1_process_stop",
@@ -3354,7 +3492,9 @@
},
"/v1/processes/{id}/terminal/resize": {
"post": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Resize a process terminal.",
"description": "Sets the PTY window size (columns and rows) for a tty-mode process and\nsends SIGWINCH so the child process can adapt.",
"operationId": "post_v1_process_terminal_resize",
@@ -3435,7 +3575,9 @@
},
"/v1/processes/{id}/terminal/ws": {
"get": {
- "tags": ["v1"],
+ "tags": [
+ "v1"
+ ],
"summary": "Open an interactive WebSocket terminal session.",
"description": "Upgrades the connection to a WebSocket for bidirectional PTY I/O. Accepts\n`access_token` query param for browser-based auth (WebSocket API cannot\nsend custom headers). Streams raw PTY output as binary frames and accepts\nJSON control frames for input, resize, and close.",
"operationId": "get_v1_process_terminal_ws",
@@ -3512,7 +3654,9 @@
"schemas": {
"AcpEnvelope": {
"type": "object",
- "required": ["jsonrpc"],
+ "required": [
+ "jsonrpc"
+ ],
"properties": {
"error": {
"nullable": true
@@ -3546,7 +3690,11 @@
},
"AcpServerInfo": {
"type": "object",
- "required": ["serverId", "agent", "createdAtMs"],
+ "required": [
+ "serverId",
+ "agent",
+ "createdAtMs"
+ ],
"properties": {
"agent": {
"type": "string"
@@ -3562,7 +3710,9 @@
},
"AcpServerListResponse": {
"type": "object",
- "required": ["servers"],
+ "required": [
+ "servers"
+ ],
"properties": {
"servers": {
"type": "array",
@@ -3653,7 +3803,12 @@
},
"AgentInfo": {
"type": "object",
- "required": ["id", "installed", "credentialsAvailable", "capabilities"],
+ "required": [
+ "id",
+ "installed",
+ "credentialsAvailable",
+ "capabilities"
+ ],
"properties": {
"capabilities": {
"$ref": "#/components/schemas/AgentCapabilities"
@@ -3696,7 +3851,11 @@
},
"AgentInstallArtifact": {
"type": "object",
- "required": ["kind", "path", "source"],
+ "required": [
+ "kind",
+ "path",
+ "source"
+ ],
"properties": {
"kind": {
"type": "string"
@@ -3732,7 +3891,10 @@
},
"AgentInstallResponse": {
"type": "object",
- "required": ["already_installed", "artifacts"],
+ "required": [
+ "already_installed",
+ "artifacts"
+ ],
"properties": {
"already_installed": {
"type": "boolean"
@@ -3747,7 +3909,9 @@
},
"AgentListResponse": {
"type": "object",
- "required": ["agents"],
+ "required": [
+ "agents"
+ ],
"properties": {
"agents": {
"type": "array",
@@ -3759,7 +3923,9 @@
},
"DesktopActionResponse": {
"type": "object",
- "required": ["ok"],
+ "required": [
+ "ok"
+ ],
"properties": {
"ok": {
"type": "boolean"
@@ -3777,7 +3943,10 @@
},
"DesktopClipboardResponse": {
"type": "object",
- "required": ["text", "selection"],
+ "required": [
+ "text",
+ "selection"
+ ],
"properties": {
"selection": {
"type": "string"
@@ -3789,7 +3958,9 @@
},
"DesktopClipboardWriteRequest": {
"type": "object",
- "required": ["text"],
+ "required": [
+ "text"
+ ],
"properties": {
"selection": {
"type": "string",
@@ -3802,7 +3973,10 @@
},
"DesktopDisplayInfoResponse": {
"type": "object",
- "required": ["display", "resolution"],
+ "required": [
+ "display",
+ "resolution"
+ ],
"properties": {
"display": {
"type": "string"
@@ -3814,7 +3988,10 @@
},
"DesktopErrorInfo": {
"type": "object",
- "required": ["code", "message"],
+ "required": [
+ "code",
+ "message"
+ ],
"properties": {
"code": {
"type": "string"
@@ -3847,7 +4024,9 @@
},
"DesktopKeyboardDownRequest": {
"type": "object",
- "required": ["key"],
+ "required": [
+ "key"
+ ],
"properties": {
"key": {
"type": "string"
@@ -3856,7 +4035,9 @@
},
"DesktopKeyboardPressRequest": {
"type": "object",
- "required": ["key"],
+ "required": [
+ "key"
+ ],
"properties": {
"key": {
"type": "string"
@@ -3873,7 +4054,9 @@
},
"DesktopKeyboardTypeRequest": {
"type": "object",
- "required": ["text"],
+ "required": [
+ "text"
+ ],
"properties": {
"delayMs": {
"type": "integer",
@@ -3888,7 +4071,9 @@
},
"DesktopKeyboardUpRequest": {
"type": "object",
- "required": ["key"],
+ "required": [
+ "key"
+ ],
"properties": {
"key": {
"type": "string"
@@ -3897,7 +4082,9 @@
},
"DesktopLaunchRequest": {
"type": "object",
- "required": ["app"],
+ "required": [
+ "app"
+ ],
"properties": {
"app": {
"type": "string"
@@ -3917,7 +4104,9 @@
},
"DesktopLaunchResponse": {
"type": "object",
- "required": ["processId"],
+ "required": [
+ "processId"
+ ],
"properties": {
"pid": {
"type": "integer",
@@ -3936,11 +4125,18 @@
},
"DesktopMouseButton": {
"type": "string",
- "enum": ["left", "middle", "right"]
+ "enum": [
+ "left",
+ "middle",
+ "right"
+ ]
},
"DesktopMouseClickRequest": {
"type": "object",
- "required": ["x", "y"],
+ "required": [
+ "x",
+ "y"
+ ],
"properties": {
"button": {
"allOf": [
@@ -3991,7 +4187,12 @@
},
"DesktopMouseDragRequest": {
"type": "object",
- "required": ["startX", "startY", "endX", "endY"],
+ "required": [
+ "startX",
+ "startY",
+ "endX",
+ "endY"
+ ],
"properties": {
"button": {
"allOf": [
@@ -4021,7 +4222,10 @@
},
"DesktopMouseMoveRequest": {
"type": "object",
- "required": ["x", "y"],
+ "required": [
+ "x",
+ "y"
+ ],
"properties": {
"x": {
"type": "integer",
@@ -4035,7 +4239,10 @@
},
"DesktopMousePositionResponse": {
"type": "object",
- "required": ["x", "y"],
+ "required": [
+ "x",
+ "y"
+ ],
"properties": {
"screen": {
"type": "integer",
@@ -4058,7 +4265,10 @@
},
"DesktopMouseScrollRequest": {
"type": "object",
- "required": ["x", "y"],
+ "required": [
+ "x",
+ "y"
+ ],
"properties": {
"deltaX": {
"type": "integer",
@@ -4105,7 +4315,9 @@
},
"DesktopOpenRequest": {
"type": "object",
- "required": ["target"],
+ "required": [
+ "target"
+ ],
"properties": {
"target": {
"type": "string"
@@ -4114,7 +4326,9 @@
},
"DesktopOpenResponse": {
"type": "object",
- "required": ["processId"],
+ "required": [
+ "processId"
+ ],
"properties": {
"pid": {
"type": "integer",
@@ -4129,7 +4343,10 @@
},
"DesktopProcessInfo": {
"type": "object",
- "required": ["name", "running"],
+ "required": [
+ "name",
+ "running"
+ ],
"properties": {
"logPath": {
"type": "string",
@@ -4151,7 +4368,13 @@
},
"DesktopRecordingInfo": {
"type": "object",
- "required": ["id", "status", "fileName", "bytes", "startedAt"],
+ "required": [
+ "id",
+ "status",
+ "fileName",
+ "bytes",
+ "startedAt"
+ ],
"properties": {
"bytes": {
"type": "integer",
@@ -4182,7 +4405,9 @@
},
"DesktopRecordingListResponse": {
"type": "object",
- "required": ["recordings"],
+ "required": [
+ "recordings"
+ ],
"properties": {
"recordings": {
"type": "array",
@@ -4205,11 +4430,20 @@
},
"DesktopRecordingStatus": {
"type": "string",
- "enum": ["recording", "completed", "failed"]
+ "enum": [
+ "recording",
+ "completed",
+ "failed"
+ ]
},
"DesktopRegionScreenshotQuery": {
"type": "object",
- "required": ["x", "y", "width", "height"],
+ "required": [
+ "x",
+ "y",
+ "width",
+ "height"
+ ],
"properties": {
"format": {
"allOf": [
@@ -4256,7 +4490,10 @@
},
"DesktopResolution": {
"type": "object",
- "required": ["width", "height"],
+ "required": [
+ "width",
+ "height"
+ ],
"properties": {
"dpi": {
"type": "integer",
@@ -4278,7 +4515,11 @@
},
"DesktopScreenshotFormat": {
"type": "string",
- "enum": ["png", "jpeg", "webp"]
+ "enum": [
+ "png",
+ "jpeg",
+ "webp"
+ ]
},
"DesktopScreenshotQuery": {
"type": "object",
@@ -4366,11 +4607,20 @@
},
"DesktopState": {
"type": "string",
- "enum": ["inactive", "install_required", "starting", "active", "stopping", "failed"]
+ "enum": [
+ "inactive",
+ "install_required",
+ "starting",
+ "active",
+ "stopping",
+ "failed"
+ ]
},
"DesktopStatusResponse": {
"type": "object",
- "required": ["state"],
+ "required": [
+ "state"
+ ],
"properties": {
"display": {
"type": "string",
@@ -4430,7 +4680,9 @@
},
"DesktopStreamStatusResponse": {
"type": "object",
- "required": ["active"],
+ "required": [
+ "active"
+ ],
"properties": {
"active": {
"type": "boolean"
@@ -4447,7 +4699,15 @@
},
"DesktopWindowInfo": {
"type": "object",
- "required": ["id", "title", "x", "y", "width", "height", "isActive"],
+ "required": [
+ "id",
+ "title",
+ "x",
+ "y",
+ "width",
+ "height",
+ "isActive"
+ ],
"properties": {
"height": {
"type": "integer",
@@ -4480,7 +4740,9 @@
},
"DesktopWindowListResponse": {
"type": "object",
- "required": ["windows"],
+ "required": [
+ "windows"
+ ],
"properties": {
"windows": {
"type": "array",
@@ -4492,7 +4754,10 @@
},
"DesktopWindowMoveRequest": {
"type": "object",
- "required": ["x", "y"],
+ "required": [
+ "x",
+ "y"
+ ],
"properties": {
"x": {
"type": "integer",
@@ -4506,7 +4771,10 @@
},
"DesktopWindowResizeRequest": {
"type": "object",
- "required": ["width", "height"],
+ "required": [
+ "width",
+ "height"
+ ],
"properties": {
"height": {
"type": "integer",
@@ -4543,7 +4811,9 @@
},
"FsActionResponse": {
"type": "object",
- "required": ["path"],
+ "required": [
+ "path"
+ ],
"properties": {
"path": {
"type": "string"
@@ -4552,7 +4822,9 @@
},
"FsDeleteQuery": {
"type": "object",
- "required": ["path"],
+ "required": [
+ "path"
+ ],
"properties": {
"path": {
"type": "string"
@@ -4574,7 +4846,12 @@
},
"FsEntry": {
"type": "object",
- "required": ["name", "path", "entryType", "size"],
+ "required": [
+ "name",
+ "path",
+ "entryType",
+ "size"
+ ],
"properties": {
"entryType": {
"$ref": "#/components/schemas/FsEntryType"
@@ -4598,11 +4875,17 @@
},
"FsEntryType": {
"type": "string",
- "enum": ["file", "directory"]
+ "enum": [
+ "file",
+ "directory"
+ ]
},
"FsMoveRequest": {
"type": "object",
- "required": ["from", "to"],
+ "required": [
+ "from",
+ "to"
+ ],
"properties": {
"from": {
"type": "string"
@@ -4618,7 +4901,10 @@
},
"FsMoveResponse": {
"type": "object",
- "required": ["from", "to"],
+ "required": [
+ "from",
+ "to"
+ ],
"properties": {
"from": {
"type": "string"
@@ -4630,7 +4916,9 @@
},
"FsPathQuery": {
"type": "object",
- "required": ["path"],
+ "required": [
+ "path"
+ ],
"properties": {
"path": {
"type": "string"
@@ -4639,7 +4927,11 @@
},
"FsStat": {
"type": "object",
- "required": ["path", "entryType", "size"],
+ "required": [
+ "path",
+ "entryType",
+ "size"
+ ],
"properties": {
"entryType": {
"$ref": "#/components/schemas/FsEntryType"
@@ -4669,7 +4961,10 @@
},
"FsUploadBatchResponse": {
"type": "object",
- "required": ["paths", "truncated"],
+ "required": [
+ "paths",
+ "truncated"
+ ],
"properties": {
"paths": {
"type": "array",
@@ -4684,7 +4979,10 @@
},
"FsWriteResponse": {
"type": "object",
- "required": ["path", "bytesWritten"],
+ "required": [
+ "path",
+ "bytesWritten"
+ ],
"properties": {
"bytesWritten": {
"type": "integer",
@@ -4698,7 +4996,9 @@
},
"HealthResponse": {
"type": "object",
- "required": ["status"],
+ "required": [
+ "status"
+ ],
"properties": {
"status": {
"type": "string"
@@ -4707,7 +5007,10 @@
},
"McpConfigQuery": {
"type": "object",
- "required": ["directory", "mcpName"],
+ "required": [
+ "directory",
+ "mcpName"
+ ],
"properties": {
"directory": {
"type": "string"
@@ -4721,7 +5024,10 @@
"oneOf": [
{
"type": "object",
- "required": ["command", "type"],
+ "required": [
+ "command",
+ "type"
+ ],
"properties": {
"args": {
"type": "array",
@@ -4755,13 +5061,18 @@
},
"type": {
"type": "string",
- "enum": ["local"]
+ "enum": [
+ "local"
+ ]
}
}
},
{
"type": "object",
- "required": ["url", "type"],
+ "required": [
+ "url",
+ "type"
+ ],
"properties": {
"bearerTokenEnvVar": {
"type": "string",
@@ -4809,7 +5120,9 @@
},
"type": {
"type": "string",
- "enum": ["remote"]
+ "enum": [
+ "remote"
+ ]
},
"url": {
"type": "string"
@@ -4823,7 +5136,11 @@
},
"ProblemDetails": {
"type": "object",
- "required": ["type", "title", "status"],
+ "required": [
+ "type",
+ "title",
+ "status"
+ ],
"properties": {
"detail": {
"type": "string",
@@ -4849,7 +5166,14 @@
},
"ProcessConfig": {
"type": "object",
- "required": ["maxConcurrentProcesses", "defaultRunTimeoutMs", "maxRunTimeoutMs", "maxOutputBytes", "maxLogBytesPerProcess", "maxInputBytesPerRequest"],
+ "required": [
+ "maxConcurrentProcesses",
+ "defaultRunTimeoutMs",
+ "maxRunTimeoutMs",
+ "maxOutputBytes",
+ "maxLogBytesPerProcess",
+ "maxInputBytesPerRequest"
+ ],
"properties": {
"defaultRunTimeoutMs": {
"type": "integer",
@@ -4881,7 +5205,9 @@
},
"ProcessCreateRequest": {
"type": "object",
- "required": ["command"],
+ "required": [
+ "command"
+ ],
"properties": {
"args": {
"type": "array",
@@ -4912,7 +5238,16 @@
},
"ProcessInfo": {
"type": "object",
- "required": ["id", "command", "args", "tty", "interactive", "owner", "status", "createdAtMs"],
+ "required": [
+ "id",
+ "command",
+ "args",
+ "tty",
+ "interactive",
+ "owner",
+ "status",
+ "createdAtMs"
+ ],
"properties": {
"args": {
"type": "array",
@@ -4966,7 +5301,9 @@
},
"ProcessInputRequest": {
"type": "object",
- "required": ["data"],
+ "required": [
+ "data"
+ ],
"properties": {
"data": {
"type": "string"
@@ -4979,7 +5316,9 @@
},
"ProcessInputResponse": {
"type": "object",
- "required": ["bytesWritten"],
+ "required": [
+ "bytesWritten"
+ ],
"properties": {
"bytesWritten": {
"type": "integer",
@@ -5002,7 +5341,9 @@
},
"ProcessListResponse": {
"type": "object",
- "required": ["processes"],
+ "required": [
+ "processes"
+ ],
"properties": {
"processes": {
"type": "array",
@@ -5014,7 +5355,13 @@
},
"ProcessLogEntry": {
"type": "object",
- "required": ["sequence", "stream", "timestampMs", "data", "encoding"],
+ "required": [
+ "sequence",
+ "stream",
+ "timestampMs",
+ "data",
+ "encoding"
+ ],
"properties": {
"data": {
"type": "string"
@@ -5066,7 +5413,11 @@
},
"ProcessLogsResponse": {
"type": "object",
- "required": ["processId", "stream", "entries"],
+ "required": [
+ "processId",
+ "stream",
+ "entries"
+ ],
"properties": {
"entries": {
"type": "array",
@@ -5084,15 +5435,26 @@
},
"ProcessLogsStream": {
"type": "string",
- "enum": ["stdout", "stderr", "combined", "pty"]
+ "enum": [
+ "stdout",
+ "stderr",
+ "combined",
+ "pty"
+ ]
},
"ProcessOwner": {
"type": "string",
- "enum": ["user", "desktop", "system"]
+ "enum": [
+ "user",
+ "desktop",
+ "system"
+ ]
},
"ProcessRunRequest": {
"type": "object",
- "required": ["command"],
+ "required": [
+ "command"
+ ],
"properties": {
"args": {
"type": "array",
@@ -5128,7 +5490,14 @@
},
"ProcessRunResponse": {
"type": "object",
- "required": ["timedOut", "stdout", "stderr", "stdoutTruncated", "stderrTruncated", "durationMs"],
+ "required": [
+ "timedOut",
+ "stdout",
+ "stderr",
+ "stdoutTruncated",
+ "stderrTruncated",
+ "durationMs"
+ ],
"properties": {
"durationMs": {
"type": "integer",
@@ -5170,11 +5539,17 @@
},
"ProcessState": {
"type": "string",
- "enum": ["running", "exited"]
+ "enum": [
+ "running",
+ "exited"
+ ]
},
"ProcessTerminalResizeRequest": {
"type": "object",
- "required": ["cols", "rows"],
+ "required": [
+ "cols",
+ "rows"
+ ],
"properties": {
"cols": {
"type": "integer",
@@ -5190,7 +5565,10 @@
},
"ProcessTerminalResizeResponse": {
"type": "object",
- "required": ["cols", "rows"],
+ "required": [
+ "cols",
+ "rows"
+ ],
"properties": {
"cols": {
"type": "integer",
@@ -5206,11 +5584,16 @@
},
"ServerStatus": {
"type": "string",
- "enum": ["running", "stopped"]
+ "enum": [
+ "running",
+ "stopped"
+ ]
},
"ServerStatusInfo": {
"type": "object",
- "required": ["status"],
+ "required": [
+ "status"
+ ],
"properties": {
"status": {
"$ref": "#/components/schemas/ServerStatus"
@@ -5225,7 +5608,10 @@
},
"SkillSource": {
"type": "object",
- "required": ["type", "source"],
+ "required": [
+ "type",
+ "source"
+ ],
"properties": {
"ref": {
"type": "string",
@@ -5252,7 +5638,9 @@
},
"SkillsConfig": {
"type": "object",
- "required": ["sources"],
+ "required": [
+ "sources"
+ ],
"properties": {
"sources": {
"type": "array",
@@ -5264,7 +5652,10 @@
},
"SkillsConfigQuery": {
"type": "object",
- "required": ["directory", "skillName"],
+ "required": [
+ "directory",
+ "skillName"
+ ],
"properties": {
"directory": {
"type": "string"
@@ -5273,50 +5664,6 @@
"type": "string"
}
}
- },
- "McpCommand": {
- "oneOf": [
- {
- "type": "string"
- },
- {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- ]
- },
- "McpRemoteTransport": {
- "type": "string",
- "enum": ["http", "sse"]
- },
- "McpOAuthConfig": {
- "type": "object",
- "properties": {
- "clientId": {
- "type": "string",
- "nullable": true
- },
- "clientSecret": {
- "type": "string",
- "nullable": true
- },
- "scope": {
- "type": "string",
- "nullable": true
- }
- }
- },
- "McpOAuthConfigOrDisabled": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/McpOAuthConfig"
- },
- {
- "type": "boolean"
- }
- ]
}
}
},
@@ -5326,4 +5673,4 @@
"description": "ACP proxy v1 API"
}
]
-}
+}
\ No newline at end of file