-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsandbox_script.schema.json
More file actions
44 lines (44 loc) · 2.58 KB
/
Copy pathsandbox_script.schema.json
File metadata and controls
44 lines (44 loc) · 2.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/jbeshir/demesne/docs/reference/tools/sandbox_script.schema.json",
"title": "sandbox_script input",
"type": "object",
"properties": {
"command": {
"type": "string",
"description": "Shell command to run inside the sandbox. Executed with /bin/sh -c. Working directory is /out."
},
"image": {
"type": "string",
"description": "Container image. One of: 'node' (node:22), 'python' (python:3.12), 'go' (golang:1), 'anaconda' (continuumio/anaconda3:latest, default), 'browser' (demesne-built; Playwright JS + Chromium/Firefox/WebKit + Node, headless rendering at egress=none, built lazily on first use), 'media' (demesne-built; ffmpeg + ImageMagick + libvips + audio tooling for video/audio/image conversion, built lazily on first use), 'twine' (demesne-built; Tweego + Twine story formats + Chromium for offline interactive-fiction build/playtest, built lazily on first use), 'webgamedev' (demesne-built; warm Phaser + Vite + TypeScript template + Chromium for offline HTML5-game build/playtest, built lazily on first use).",
"enum": ["node", "python", "go", "anaconda", "browser", "media", "twine", "webgamedev"]
},
"egress": {
"type": "string",
"description": "Outbound network policy. 'package-managers' (default) allows npm, PyPI, and conda registries; 'none' denies all egress.",
"enum": ["package-managers", "none"],
"default": "package-managers"
},
"files": {
"type": "array",
"description": "Host file paths to mount read-only into /in/<basename>. Each path must be absolute and inside DEMESNE_ALLOWED_PATHS. The live MCP input schema populates this description with the configured DEMESNE_ALLOWED_PATHS roots (or a no-host-inputs warning when none are configured).",
"items": {
"type": "string"
}
},
"directories": {
"type": "array",
"description": "Host directory paths to mount read-only into /in/<basename>. Each path must be absolute and inside DEMESNE_ALLOWED_PATHS. The live MCP input schema populates this description with the configured DEMESNE_ALLOWED_PATHS roots (or a no-host-inputs warning when none are configured).",
"items": {
"type": "string"
}
},
"background": {
"type": "boolean",
"description": "When true, returns immediately with {job_id, status:\"running\"} instead of blocking; poll with sandbox_status / sandbox_wait, cancel with sandbox_cancel.",
"default": false
}
},
"required": ["command"],
"additionalProperties": false
}