windows-development-sandbox 0.0.0-stage → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.sandbox-config.example.json +14 -0
- package/LICENSE +21 -0
- package/README.md +94 -2
- package/config.example.json +349 -0
- package/dist/api.d.ts +31 -0
- package/dist/api.js +31 -0
- package/dist/bin/agent-sandbox.d.ts +2 -0
- package/dist/bin/agent-sandbox.js +3 -0
- package/dist/bin/claude-host.d.ts +2 -0
- package/dist/bin/claude-host.js +5 -0
- package/dist/bin/claude-sbx.d.ts +2 -0
- package/dist/bin/claude-sbx.js +3 -0
- package/dist/bin/codex-sbx.d.ts +2 -0
- package/dist/bin/codex-sbx.js +3 -0
- package/dist/bin/gemini-sbx.d.ts +2 -0
- package/dist/bin/gemini-sbx.js +3 -0
- package/dist/bin/sandbox.d.ts +2 -0
- package/dist/bin/sandbox.js +4 -0
- package/dist/bin/sbx-hide.d.ts +2 -0
- package/dist/bin/sbx-hide.js +3 -0
- package/dist/bin/sbx-show.d.ts +2 -0
- package/dist/bin/sbx-show.js +3 -0
- package/dist/cli/args.d.ts +52 -0
- package/dist/cli/args.js +143 -0
- package/dist/cli/colors.d.ts +24 -0
- package/dist/cli/colors.js +42 -0
- package/dist/cli/commands/accounts.d.ts +2 -0
- package/dist/cli/commands/accounts.js +52 -0
- package/dist/cli/commands/agent-commands.d.ts +6 -0
- package/dist/cli/commands/agent-commands.js +61 -0
- package/dist/cli/commands/context.d.ts +23 -0
- package/dist/cli/commands/context.js +57 -0
- package/dist/cli/commands/data/clean.d.ts +15 -0
- package/dist/cli/commands/data/clean.js +101 -0
- package/dist/cli/commands/data/collect.d.ts +11 -0
- package/dist/cli/commands/data/collect.js +54 -0
- package/dist/cli/commands/data/index.d.ts +4 -0
- package/dist/cli/commands/data/index.js +45 -0
- package/dist/cli/commands/data/remove.d.ts +2 -0
- package/dist/cli/commands/data/remove.js +30 -0
- package/dist/cli/commands/index.d.ts +10 -0
- package/dist/cli/commands/index.js +10 -0
- package/dist/cli/commands/launch.d.ts +29 -0
- package/dist/cli/commands/launch.js +333 -0
- package/dist/cli/commands/maintenance.d.ts +8 -0
- package/dist/cli/commands/maintenance.js +154 -0
- package/dist/cli/commands/project.d.ts +29 -0
- package/dist/cli/commands/project.js +63 -0
- package/dist/cli/commands/projects.d.ts +14 -0
- package/dist/cli/commands/projects.js +146 -0
- package/dist/cli/commands/repair/checks.d.ts +2 -0
- package/dist/cli/commands/repair/checks.js +170 -0
- package/dist/cli/commands/repair/finders.d.ts +30 -0
- package/dist/cli/commands/repair/finders.js +108 -0
- package/dist/cli/commands/repair/index.d.ts +12 -0
- package/dist/cli/commands/repair/index.js +61 -0
- package/dist/cli/commands/repair/types.d.ts +26 -0
- package/dist/cli/commands/repair/types.js +3 -0
- package/dist/cli/commands/restart.d.ts +6 -0
- package/dist/cli/commands/restart.js +85 -0
- package/dist/cli/commands/sessions.d.ts +12 -0
- package/dist/cli/commands/sessions.js +257 -0
- package/dist/cli/commands/setup/checks.d.ts +13 -0
- package/dist/cli/commands/setup/checks.js +71 -0
- package/dist/cli/commands/setup/facts.d.ts +31 -0
- package/dist/cli/commands/setup/facts.js +60 -0
- package/dist/cli/commands/setup/index.d.ts +2 -0
- package/dist/cli/commands/setup/index.js +43 -0
- package/dist/cli/commands/user-config.d.ts +8 -0
- package/dist/cli/commands/user-config.js +41 -0
- package/dist/cli/history.d.ts +11 -0
- package/dist/cli/history.js +21 -0
- package/dist/cli/index.d.ts +20 -0
- package/dist/cli/index.js +121 -0
- package/dist/cli/manifest.d.ts +103 -0
- package/dist/cli/manifest.js +107 -0
- package/dist/cli/menu-multi.d.ts +12 -0
- package/dist/cli/menu-multi.js +82 -0
- package/dist/cli/menu.d.ts +14 -0
- package/dist/cli/menu.js +290 -0
- package/dist/cli/progress.d.ts +9 -0
- package/dist/cli/progress.js +49 -0
- package/dist/cli/settings/edit.d.ts +13 -0
- package/dist/cli/settings/edit.js +19 -0
- package/dist/cli/settings/index.d.ts +8 -0
- package/dist/cli/settings/index.js +131 -0
- package/dist/cli/settings/prompts.d.ts +7 -0
- package/dist/cli/settings/prompts.js +48 -0
- package/dist/cli/settings/schema.d.ts +33 -0
- package/dist/cli/settings/schema.js +29 -0
- package/dist/cli/validate.d.ts +17 -0
- package/dist/cli/validate.js +89 -0
- package/dist/core/config.d.ts +17 -0
- package/dist/core/config.js +106 -0
- package/dist/core/detect-databases.d.ts +15 -0
- package/dist/core/detect-databases.js +147 -0
- package/dist/core/detect-pwsh.d.ts +18 -0
- package/dist/core/detect-pwsh.js +111 -0
- package/dist/core/detect-toolchains.d.ts +30 -0
- package/dist/core/detect-toolchains.js +58 -0
- package/dist/core/disk.d.ts +16 -0
- package/dist/core/disk.js +55 -0
- package/dist/core/local-config.d.ts +20 -0
- package/dist/core/local-config.js +77 -0
- package/dist/core/project-policy.d.ts +15 -0
- package/dist/core/project-policy.js +35 -0
- package/dist/core/prompt.d.ts +4 -0
- package/dist/core/prompt.js +15 -0
- package/dist/core/safe-paths.d.ts +4 -0
- package/dist/core/safe-paths.js +37 -0
- package/dist/core/schema/common.d.ts +17 -0
- package/dist/core/schema/common.js +15 -0
- package/dist/core/schema/config.d.ts +594 -0
- package/dist/core/schema/config.js +63 -0
- package/dist/core/schema/databases.d.ts +33 -0
- package/dist/core/schema/databases.js +35 -0
- package/dist/core/schema/harness.d.ts +12 -0
- package/dist/core/schema/harness.js +17 -0
- package/dist/core/schema/json-schema.d.ts +5 -0
- package/dist/core/schema/json-schema.js +25 -0
- package/dist/core/schema/profile.d.ts +27 -0
- package/dist/core/schema/profile.js +29 -0
- package/dist/core/schema/projects.d.ts +9 -0
- package/dist/core/schema/projects.js +11 -0
- package/dist/core/schema/sandbox.d.ts +50 -0
- package/dist/core/schema/sandbox.js +36 -0
- package/dist/core/schema/toolchains.d.ts +93 -0
- package/dist/core/schema/toolchains.js +83 -0
- package/dist/core/schema.d.ts +6 -0
- package/dist/core/schema.js +8 -0
- package/dist/core/types.d.ts +190 -0
- package/dist/core/types.js +1 -0
- package/dist/core/util.d.ts +60 -0
- package/dist/core/util.js +154 -0
- package/dist/core/workspace.d.ts +18 -0
- package/dist/core/workspace.js +128 -0
- package/dist/guest/boot-env.d.ts +4 -0
- package/dist/guest/boot-env.js +25 -0
- package/dist/guest/cmdline.d.ts +12 -0
- package/dist/guest/cmdline.js +23 -0
- package/dist/guest/daemon/exec.d.ts +5 -0
- package/dist/guest/daemon/exec.js +32 -0
- package/dist/guest/daemon/project.d.ts +14 -0
- package/dist/guest/daemon/project.js +132 -0
- package/dist/guest/daemon/session.d.ts +13 -0
- package/dist/guest/daemon/session.js +139 -0
- package/dist/guest/daemon/shutdown.d.ts +1 -0
- package/dist/guest/daemon/shutdown.js +21 -0
- package/dist/guest/daemon/state.d.ts +17 -0
- package/dist/guest/daemon/state.js +31 -0
- package/dist/guest/daemon.d.ts +1 -0
- package/dist/guest/daemon.js +53 -0
- package/dist/guest/db.d.ts +1 -0
- package/dist/guest/db.js +75 -0
- package/dist/guest/env.d.ts +51 -0
- package/dist/guest/env.js +101 -0
- package/dist/guest/gitguard.d.ts +7 -0
- package/dist/guest/gitguard.js +60 -0
- package/dist/guest/gitrules.d.ts +2 -0
- package/dist/guest/gitrules.js +11 -0
- package/dist/guest/guide.d.ts +16 -0
- package/dist/guest/guide.js +69 -0
- package/dist/guest/helpers.d.ts +3 -0
- package/dist/guest/helpers.js +26 -0
- package/dist/guest/main.d.ts +1 -0
- package/dist/guest/main.js +130 -0
- package/dist/guest/ports.d.ts +6 -0
- package/dist/guest/ports.js +22 -0
- package/dist/guest/project-context.d.ts +7 -0
- package/dist/guest/project-context.js +10 -0
- package/dist/guest/project-env.d.ts +20 -0
- package/dist/guest/project-env.js +20 -0
- package/dist/guest/project-status.d.ts +5 -0
- package/dist/guest/project-status.js +17 -0
- package/dist/guest/ptyhost.d.ts +22 -0
- package/dist/guest/ptyhost.js +36 -0
- package/dist/guest/setup/agents.d.ts +11 -0
- package/dist/guest/setup/agents.js +87 -0
- package/dist/guest/setup/claude.d.ts +21 -0
- package/dist/guest/setup/claude.js +146 -0
- package/dist/guest/setup/environment.d.ts +16 -0
- package/dist/guest/setup/environment.js +69 -0
- package/dist/guest/setup/hooks.d.ts +9 -0
- package/dist/guest/setup/hooks.js +50 -0
- package/dist/guest/setup/network.d.ts +10 -0
- package/dist/guest/setup/network.js +99 -0
- package/dist/guest/setup/policy.d.ts +3 -0
- package/dist/guest/setup/policy.js +18 -0
- package/dist/guest/setup/user.d.ts +7 -0
- package/dist/guest/setup/user.js +47 -0
- package/dist/guest/toolchains/catalogue.d.ts +55 -0
- package/dist/guest/toolchains/catalogue.js +31 -0
- package/dist/guest/toolchains/cli.d.ts +10 -0
- package/dist/guest/toolchains/cli.js +72 -0
- package/dist/guest/toolchains/common.d.ts +54 -0
- package/dist/guest/toolchains/common.js +147 -0
- package/dist/guest/toolchains/databases/dynamodb.d.ts +8 -0
- package/dist/guest/toolchains/databases/dynamodb.js +52 -0
- package/dist/guest/toolchains/databases/index.d.ts +6 -0
- package/dist/guest/toolchains/databases/index.js +62 -0
- package/dist/guest/toolchains/databases/mongodb.d.ts +3 -0
- package/dist/guest/toolchains/databases/mongodb.js +31 -0
- package/dist/guest/toolchains/databases/mysql.d.ts +3 -0
- package/dist/guest/toolchains/databases/mysql.js +38 -0
- package/dist/guest/toolchains/databases/postgres.d.ts +5 -0
- package/dist/guest/toolchains/databases/postgres.js +38 -0
- package/dist/guest/toolchains/databases/redis.d.ts +3 -0
- package/dist/guest/toolchains/databases/redis.js +16 -0
- package/dist/guest/toolchains/databases/server.d.ts +14 -0
- package/dist/guest/toolchains/databases/server.js +52 -0
- package/dist/guest/toolchains/git.d.ts +3 -0
- package/dist/guest/toolchains/git.js +121 -0
- package/dist/guest/toolchains/go.d.ts +3 -0
- package/dist/guest/toolchains/go.js +33 -0
- package/dist/guest/toolchains/index.d.ts +17 -0
- package/dist/guest/toolchains/index.js +80 -0
- package/dist/guest/toolchains/java.d.ts +8 -0
- package/dist/guest/toolchains/java.js +96 -0
- package/dist/guest/toolchains/leftovers.d.ts +2 -0
- package/dist/guest/toolchains/leftovers.js +26 -0
- package/dist/guest/toolchains/managers.d.ts +16 -0
- package/dist/guest/toolchains/managers.js +84 -0
- package/dist/guest/toolchains/native/binstall.d.ts +7 -0
- package/dist/guest/toolchains/native/binstall.js +52 -0
- package/dist/guest/toolchains/native/cpp.d.ts +4 -0
- package/dist/guest/toolchains/native/cpp.js +38 -0
- package/dist/guest/toolchains/native/dotnet.d.ts +4 -0
- package/dist/guest/toolchains/native/dotnet.js +103 -0
- package/dist/guest/toolchains/native/mesa.d.ts +7 -0
- package/dist/guest/toolchains/native/mesa.js +46 -0
- package/dist/guest/toolchains/native/msvc/environment.d.ts +16 -0
- package/dist/guest/toolchains/native/msvc/environment.js +57 -0
- package/dist/guest/toolchains/native/msvc/index.d.ts +6 -0
- package/dist/guest/toolchains/native/msvc/index.js +48 -0
- package/dist/guest/toolchains/native/msvc/packages.d.ts +6 -0
- package/dist/guest/toolchains/native/msvc/packages.js +156 -0
- package/dist/guest/toolchains/native/msvc/tree.d.ts +15 -0
- package/dist/guest/toolchains/native/msvc/tree.js +21 -0
- package/dist/guest/toolchains/native/rust.d.ts +3 -0
- package/dist/guest/toolchains/native/rust.js +45 -0
- package/dist/guest/toolchains/node.d.ts +3 -0
- package/dist/guest/toolchains/node.js +152 -0
- package/dist/guest/toolchains/plan.d.ts +22 -0
- package/dist/guest/toolchains/plan.js +96 -0
- package/dist/guest/toolchains/pwsh.d.ts +4 -0
- package/dist/guest/toolchains/pwsh.js +14 -0
- package/dist/guest/toolchains/python.d.ts +3 -0
- package/dist/guest/toolchains/python.js +54 -0
- package/dist/guest/toolchains/runtimes.d.ts +19 -0
- package/dist/guest/toolchains/runtimes.js +38 -0
- package/dist/guest/toolchains/scripting/php.d.ts +3 -0
- package/dist/guest/toolchains/scripting/php.js +71 -0
- package/dist/guest/toolchains/scripting/ruby.d.ts +3 -0
- package/dist/guest/toolchains/scripting/ruby.js +47 -0
- package/dist/guest/toolchains/scripting/vcruntime.d.ts +7 -0
- package/dist/guest/toolchains/scripting/vcruntime.js +45 -0
- package/dist/guest/toolchains/versions.d.ts +47 -0
- package/dist/guest/toolchains/versions.js +77 -0
- package/dist/guest/toolchains/vscode.d.ts +2 -0
- package/dist/guest/toolchains/vscode.js +53 -0
- package/dist/guest/view.d.ts +1 -0
- package/dist/guest/view.js +42 -0
- package/dist/host/accounts.d.ts +32 -0
- package/dist/host/accounts.js +128 -0
- package/dist/host/agent-commands.d.ts +25 -0
- package/dist/host/agent-commands.js +145 -0
- package/dist/host/attach.d.ts +17 -0
- package/dist/host/attach.js +69 -0
- package/dist/host/channel.d.ts +38 -0
- package/dist/host/channel.js +162 -0
- package/dist/host/claude-profile.d.ts +15 -0
- package/dist/host/claude-profile.js +107 -0
- package/dist/host/cleanup.d.ts +23 -0
- package/dist/host/cleanup.js +57 -0
- package/dist/host/database-plan.d.ts +12 -0
- package/dist/host/database-plan.js +52 -0
- package/dist/host/generate.d.ts +7 -0
- package/dist/host/generate.js +98 -0
- package/dist/host/join.d.ts +28 -0
- package/dist/host/join.js +76 -0
- package/dist/host/launch/mappings.d.ts +3 -0
- package/dist/host/launch/mappings.js +50 -0
- package/dist/host/launch/projects.d.ts +15 -0
- package/dist/host/launch/projects.js +56 -0
- package/dist/host/launch/stage.d.ts +11 -0
- package/dist/host/launch/stage.js +66 -0
- package/dist/host/launch/wsb.d.ts +10 -0
- package/dist/host/launch/wsb.js +34 -0
- package/dist/host/pc-scan.d.ts +6 -0
- package/dist/host/pc-scan.js +37 -0
- package/dist/host/personalize.d.ts +10 -0
- package/dist/host/personalize.js +97 -0
- package/dist/host/platform.d.ts +19 -0
- package/dist/host/platform.js +126 -0
- package/dist/host/project-scan.d.ts +7 -0
- package/dist/host/project-scan.js +89 -0
- package/dist/host/projects.d.ts +100 -0
- package/dist/host/projects.js +147 -0
- package/dist/host/repo-guard.d.ts +36 -0
- package/dist/host/repo-guard.js +219 -0
- package/dist/host/secrets.d.ts +14 -0
- package/dist/host/secrets.js +133 -0
- package/dist/host/terminal.d.ts +32 -0
- package/dist/host/terminal.js +130 -0
- package/dist/host/test-guard.d.ts +6 -0
- package/dist/host/test-guard.js +15 -0
- package/dist/host/window.d.ts +4 -0
- package/dist/host/window.js +72 -0
- package/dist/host/wsb.d.ts +37 -0
- package/dist/host/wsb.js +101 -0
- package/dist/runtime/daemon.js +28494 -0
- package/dist/runtime/db.js +26387 -0
- package/dist/runtime/gitguard.js +84 -0
- package/dist/runtime/main.js +28622 -0
- package/dist/runtime/view.js +25841 -0
- package/dist/selftest/accounts.test.d.ts +2 -0
- package/dist/selftest/accounts.test.js +44 -0
- package/dist/selftest/agent-commands.test.d.ts +2 -0
- package/dist/selftest/agent-commands.test.js +47 -0
- package/dist/selftest/channel.test.d.ts +2 -0
- package/dist/selftest/channel.test.js +37 -0
- package/dist/selftest/cli.test.d.ts +2 -0
- package/dist/selftest/cli.test.js +118 -0
- package/dist/selftest/cmdline.test.d.ts +2 -0
- package/dist/selftest/cmdline.test.js +45 -0
- package/dist/selftest/config.test.d.ts +2 -0
- package/dist/selftest/config.test.js +38 -0
- package/dist/selftest/data.test.d.ts +2 -0
- package/dist/selftest/data.test.js +80 -0
- package/dist/selftest/detect.test.d.ts +2 -0
- package/dist/selftest/detect.test.js +58 -0
- package/dist/selftest/fixtures.d.ts +272 -0
- package/dist/selftest/fixtures.js +80 -0
- package/dist/selftest/generate.test.d.ts +2 -0
- package/dist/selftest/generate.test.js +63 -0
- package/dist/selftest/git-access.test.d.ts +2 -0
- package/dist/selftest/git-access.test.js +26 -0
- package/dist/selftest/guest-boot.test.d.ts +2 -0
- package/dist/selftest/guest-boot.test.js +76 -0
- package/dist/selftest/harness.d.ts +51 -0
- package/dist/selftest/harness.js +77 -0
- package/dist/selftest/host-sim.test.d.ts +2 -0
- package/dist/selftest/host-sim.test.js +93 -0
- package/dist/selftest/hostile-input.test.d.ts +2 -0
- package/dist/selftest/hostile-input.test.js +54 -0
- package/dist/selftest/index.d.ts +8 -0
- package/dist/selftest/index.js +155 -0
- package/dist/selftest/links.test.d.ts +2 -0
- package/dist/selftest/links.test.js +50 -0
- package/dist/selftest/live-daemon.test.d.ts +2 -0
- package/dist/selftest/live-daemon.test.js +91 -0
- package/dist/selftest/live-git.test.d.ts +2 -0
- package/dist/selftest/live-git.test.js +60 -0
- package/dist/selftest/live-projects.test.d.ts +2 -0
- package/dist/selftest/live-projects.test.js +127 -0
- package/dist/selftest/live.d.ts +65 -0
- package/dist/selftest/live.js +109 -0
- package/dist/selftest/local-config.test.d.ts +2 -0
- package/dist/selftest/local-config.test.js +107 -0
- package/dist/selftest/mirror.test.d.ts +2 -0
- package/dist/selftest/mirror.test.js +101 -0
- package/dist/selftest/network.test.d.ts +2 -0
- package/dist/selftest/network.test.js +28 -0
- package/dist/selftest/personalization.test.d.ts +2 -0
- package/dist/selftest/personalization.test.js +53 -0
- package/dist/selftest/projects.test.d.ts +2 -0
- package/dist/selftest/projects.test.js +254 -0
- package/dist/selftest/repair.test.d.ts +2 -0
- package/dist/selftest/repair.test.js +42 -0
- package/dist/selftest/repo-guard.test.d.ts +2 -0
- package/dist/selftest/repo-guard.test.js +63 -0
- package/dist/selftest/secrets.test.d.ts +2 -0
- package/dist/selftest/secrets.test.js +71 -0
- package/dist/selftest/setup.test.d.ts +2 -0
- package/dist/selftest/setup.test.js +46 -0
- package/dist/selftest/suite.d.ts +13 -0
- package/dist/selftest/suite.js +1 -0
- package/dist/selftest/sync.test.d.ts +2 -0
- package/dist/selftest/sync.test.js +94 -0
- package/dist/selftest/test-guard.test.d.ts +2 -0
- package/dist/selftest/test-guard.test.js +49 -0
- package/dist/selftest/toolchains.test.d.ts +2 -0
- package/dist/selftest/toolchains.test.js +103 -0
- package/dist/selftest/workspace.test.d.ts +2 -0
- package/dist/selftest/workspace.test.js +53 -0
- package/dist/shared/download.d.ts +60 -0
- package/dist/shared/download.js +215 -0
- package/dist/shared/guest-paths.d.ts +30 -0
- package/dist/shared/guest-paths.js +61 -0
- package/dist/shared/netrules.d.ts +18 -0
- package/dist/shared/netrules.js +98 -0
- package/dist/shared/paths.d.ts +14 -0
- package/dist/shared/paths.js +28 -0
- package/dist/shared/projects.d.ts +53 -0
- package/dist/shared/projects.js +67 -0
- package/dist/shared/pty-client.d.ts +86 -0
- package/dist/shared/pty-client.js +227 -0
- package/dist/shared/rundir.d.ts +39 -0
- package/dist/shared/rundir.js +94 -0
- package/dist/shared/safe-remove.d.ts +10 -0
- package/dist/shared/safe-remove.js +66 -0
- package/dist/shared/schema.d.ts +527 -0
- package/dist/shared/schema.js +90 -0
- package/dist/shared/system.d.ts +15 -0
- package/dist/shared/system.js +19 -0
- package/dist/shared/test-guard.d.ts +4 -0
- package/dist/shared/test-guard.js +37 -0
- package/dist/sync/claude-mem.d.ts +8 -0
- package/dist/sync/claude-mem.js +79 -0
- package/dist/sync/history.d.ts +41 -0
- package/dist/sync/history.js +161 -0
- package/dist/sync/watcher.d.ts +21 -0
- package/dist/sync/watcher.js +135 -0
- package/hooks/post-agent/README.txt +1 -0
- package/hooks/pre-provision/README.txt +1 -0
- package/package.json +91 -4
- package/sandbox/bootstrap.ps1 +258 -0
- package/sandbox/cpucap.ps1 +51 -0
- package/sandbox/gitshim.cs +35 -0
- package/sandbox/logon.cmd +18 -0
- package/sandbox/openssl.cs +42 -0
- package/sandbox/ptyhost.cs +614 -0
- package/sandbox/trust.cmd +35 -0
- package/sandbox/vswhere.cs +83 -0
- package/schemas/config.schema.json +1161 -0
- package/schemas/sandbox-config.schema.json +968 -0
|
@@ -0,0 +1,1161 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "windows-development-sandbox user config (~/.agent-sandbox/config.json)",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"$schema": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"description": "Path or URL of the JSON Schema for editor autocomplete and docs."
|
|
9
|
+
},
|
|
10
|
+
"defaultHarness": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"pattern": "^[A-Za-z0-9_-]+$",
|
|
13
|
+
"description": "Agent started by `sandbox launch` (sandbox claude always runs claude)."
|
|
14
|
+
},
|
|
15
|
+
"guestWorkspace": {
|
|
16
|
+
"anyOf": [
|
|
17
|
+
{
|
|
18
|
+
"type": "string",
|
|
19
|
+
"const": "auto"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"type": "string",
|
|
23
|
+
"const": "mirror"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"type": "string"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"description": "Where the workspace appears inside the sandbox. \"auto\" = C:\\Workspace\\<folder name>. \"mirror\" = the same path as on this PC, so absolute paths in configs and build caches match (another drive letter such as F: is a subst drive onto C:\\Mirror\\F); paths the sandbox reserves (C:\\Users\\..., C:\\Program Files\\...) fall back to \"auto\"."
|
|
30
|
+
},
|
|
31
|
+
"readOnly": {
|
|
32
|
+
"type": "boolean",
|
|
33
|
+
"description": "Map the workspace read-only."
|
|
34
|
+
},
|
|
35
|
+
"mappings": {
|
|
36
|
+
"type": "array",
|
|
37
|
+
"items": {
|
|
38
|
+
"type": "object",
|
|
39
|
+
"properties": {
|
|
40
|
+
"host": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"minLength": 1,
|
|
43
|
+
"description": "Folder on this PC (relative paths are relative to the config file)."
|
|
44
|
+
},
|
|
45
|
+
"guest": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"description": "Where it appears inside the sandbox, e.g. C:\\Assets, or on another drive letter (D: to Z:) such as F:\\SteamLibrary\\steamapps\\common\\Game: mapped to C:\\Mirror\\F\\... and shown as F: (subst) at boot."
|
|
48
|
+
},
|
|
49
|
+
"readOnly": {
|
|
50
|
+
"type": "boolean",
|
|
51
|
+
"description": "true = the agent can only read it."
|
|
52
|
+
},
|
|
53
|
+
"optional": {
|
|
54
|
+
"description": "true = skip it quietly when the host folder does not exist.",
|
|
55
|
+
"type": "boolean"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"additionalProperties": false
|
|
59
|
+
},
|
|
60
|
+
"description": "Extra folders from this PC."
|
|
61
|
+
},
|
|
62
|
+
"sandbox": {
|
|
63
|
+
"type": "object",
|
|
64
|
+
"properties": {
|
|
65
|
+
"memoryMb": {
|
|
66
|
+
"anyOf": [
|
|
67
|
+
{
|
|
68
|
+
"type": "string",
|
|
69
|
+
"const": "auto"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"type": "integer",
|
|
73
|
+
"minimum": 2048,
|
|
74
|
+
"maximum": 9007199254740991
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"description": "Sandbox RAM in MB (>= 2048), or \"auto\": free RAM minus reserveHostMb, capped at maxMemoryMb."
|
|
78
|
+
},
|
|
79
|
+
"maxMemoryMb": {
|
|
80
|
+
"type": "integer",
|
|
81
|
+
"exclusiveMinimum": 0,
|
|
82
|
+
"maximum": 9007199254740991,
|
|
83
|
+
"description": "Upper limit for memoryMb \"auto\"."
|
|
84
|
+
},
|
|
85
|
+
"maxMemoryPercent": {
|
|
86
|
+
"type": "integer",
|
|
87
|
+
"minimum": 10,
|
|
88
|
+
"maximum": 100,
|
|
89
|
+
"description": "memoryMb \"auto\" never takes more than this share of this PC's total RAM (percent)."
|
|
90
|
+
},
|
|
91
|
+
"cpuLimit": {
|
|
92
|
+
"anyOf": [
|
|
93
|
+
{
|
|
94
|
+
"type": "string",
|
|
95
|
+
"const": "none"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"type": "integer",
|
|
99
|
+
"minimum": 5,
|
|
100
|
+
"maximum": 100
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"description": "Most of this PC's CPU the sandbox may use, in percent (5-100), e.g. 50 keeps half free for you; \"none\" = no cap (Windows Sandbox would take every processor). Covers everything this tool starts in the sandbox (agents, installs, builds, its terminal)."
|
|
104
|
+
},
|
|
105
|
+
"reserveHostMb": {
|
|
106
|
+
"type": "integer",
|
|
107
|
+
"minimum": 0,
|
|
108
|
+
"maximum": 9007199254740991,
|
|
109
|
+
"description": "RAM always left for this PC when memoryMb is \"auto\"."
|
|
110
|
+
},
|
|
111
|
+
"vGpu": {
|
|
112
|
+
"type": "boolean",
|
|
113
|
+
"description": "Virtual GPU. Off by default: Microsoft notes it widens the sandbox attack surface."
|
|
114
|
+
},
|
|
115
|
+
"networking": {
|
|
116
|
+
"type": "boolean",
|
|
117
|
+
"description": "Internet access. false is the only hard network isolation Windows Sandbox offers."
|
|
118
|
+
},
|
|
119
|
+
"clipboard": {
|
|
120
|
+
"type": "boolean",
|
|
121
|
+
"description": "Shared clipboard between this PC and the sandbox."
|
|
122
|
+
},
|
|
123
|
+
"audioInput": {
|
|
124
|
+
"type": "boolean",
|
|
125
|
+
"description": "Microphone access."
|
|
126
|
+
},
|
|
127
|
+
"videoInput": {
|
|
128
|
+
"type": "boolean",
|
|
129
|
+
"description": "Camera access."
|
|
130
|
+
},
|
|
131
|
+
"printerRedirection": {
|
|
132
|
+
"type": "boolean",
|
|
133
|
+
"description": "Printers from this PC."
|
|
134
|
+
},
|
|
135
|
+
"protectedClient": {
|
|
136
|
+
"type": "boolean",
|
|
137
|
+
"description": "Run the sandbox window in Protected Client mode (recommended)."
|
|
138
|
+
},
|
|
139
|
+
"headless": {
|
|
140
|
+
"type": "boolean",
|
|
141
|
+
"description": "Hide the sandbox window (sbx-show brings it back). A headless sandbox shuts down when its last session ends."
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
"additionalProperties": false
|
|
145
|
+
},
|
|
146
|
+
"storage": {
|
|
147
|
+
"type": "object",
|
|
148
|
+
"properties": {
|
|
149
|
+
"root": {
|
|
150
|
+
"type": "string",
|
|
151
|
+
"minLength": 1,
|
|
152
|
+
"description": "Where everything is kept on this PC (tools, databases, logins, launches)."
|
|
153
|
+
},
|
|
154
|
+
"persistAgentState": {
|
|
155
|
+
"type": "boolean",
|
|
156
|
+
"description": "Keep agent logins and history between sandboxes."
|
|
157
|
+
},
|
|
158
|
+
"dataName": {
|
|
159
|
+
"type": "string",
|
|
160
|
+
"pattern": "^[A-Za-z0-9_-]+$",
|
|
161
|
+
"description": "Name of the persistent data set (C:\\AgentData) shared by all workspaces."
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"additionalProperties": false
|
|
165
|
+
},
|
|
166
|
+
"network": {
|
|
167
|
+
"type": "object",
|
|
168
|
+
"properties": {
|
|
169
|
+
"blockPrivateRanges": {
|
|
170
|
+
"type": "boolean",
|
|
171
|
+
"description": "Block your LAN (10/8, 172.16/12, 192.168/16, SMB) from inside the sandbox."
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
"additionalProperties": false
|
|
175
|
+
},
|
|
176
|
+
"provisioning": {
|
|
177
|
+
"type": "object",
|
|
178
|
+
"properties": {
|
|
179
|
+
"copyFromHost": {
|
|
180
|
+
"type": "boolean",
|
|
181
|
+
"description": "Copy Node, Git, nvm and the agent from this PC when they are installed here."
|
|
182
|
+
},
|
|
183
|
+
"fallbackToInstall": {
|
|
184
|
+
"type": "boolean",
|
|
185
|
+
"description": "Download anything that cannot be copied from this PC."
|
|
186
|
+
},
|
|
187
|
+
"refresh": {
|
|
188
|
+
"type": "boolean",
|
|
189
|
+
"description": "Re-copy / re-download everything on the next launch."
|
|
190
|
+
},
|
|
191
|
+
"git": {
|
|
192
|
+
"type": "object",
|
|
193
|
+
"properties": {
|
|
194
|
+
"enabled": {
|
|
195
|
+
"type": "boolean",
|
|
196
|
+
"description": "Provide Git for Windows (and Git Bash, which Claude Code needs)."
|
|
197
|
+
},
|
|
198
|
+
"access": {
|
|
199
|
+
"type": "string",
|
|
200
|
+
"enum": [
|
|
201
|
+
"full",
|
|
202
|
+
"readonly",
|
|
203
|
+
"none"
|
|
204
|
+
],
|
|
205
|
+
"description": "full: normal git. readonly: status/log/diff/show/blame only (no commit, push, checkout, ...). none: no git at all; .git is hidden from the agent."
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
"additionalProperties": false
|
|
209
|
+
},
|
|
210
|
+
"terminal": {
|
|
211
|
+
"type": "object",
|
|
212
|
+
"properties": {
|
|
213
|
+
"enabled": {
|
|
214
|
+
"type": "boolean",
|
|
215
|
+
"description": "Windows Terminal as the sandbox window (downloaded once)."
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
"additionalProperties": false
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
"additionalProperties": false
|
|
222
|
+
},
|
|
223
|
+
"downloads": {
|
|
224
|
+
"type": "object",
|
|
225
|
+
"properties": {
|
|
226
|
+
"requireChecksum": {
|
|
227
|
+
"type": "boolean",
|
|
228
|
+
"description": "Refuse any toolchain, database or tool download that has no published checksum (SHA-256/SHA-512) to verify it against. false = allow those, as before. Downloads that do have a published checksum are always verified. A project's .sandbox-config.json can only turn this on."
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
"additionalProperties": false
|
|
232
|
+
},
|
|
233
|
+
"toolchains": {
|
|
234
|
+
"type": "object",
|
|
235
|
+
"properties": {
|
|
236
|
+
"node": {
|
|
237
|
+
"type": "object",
|
|
238
|
+
"properties": {
|
|
239
|
+
"version": {
|
|
240
|
+
"type": "string",
|
|
241
|
+
"minLength": 1,
|
|
242
|
+
"description": "Default Node version for nvm. \"host\" = the Node on this PC. A project's .nvmrc / .node-version wins."
|
|
243
|
+
},
|
|
244
|
+
"extraVersions": {
|
|
245
|
+
"type": "array",
|
|
246
|
+
"items": {
|
|
247
|
+
"type": "string"
|
|
248
|
+
},
|
|
249
|
+
"description": "More Node versions to install (switch with nvm use). On top of the up to 3 versions copied from this PC's nvm, not counted towards that limit."
|
|
250
|
+
},
|
|
251
|
+
"corepack": {
|
|
252
|
+
"type": "boolean",
|
|
253
|
+
"description": "pnpm and yarn through corepack (a project's \"packageManager\" in package.json picks the version)."
|
|
254
|
+
},
|
|
255
|
+
"volta": {
|
|
256
|
+
"anyOf": [
|
|
257
|
+
{
|
|
258
|
+
"type": "boolean"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"type": "string",
|
|
262
|
+
"const": "auto"
|
|
263
|
+
}
|
|
264
|
+
],
|
|
265
|
+
"description": "Volta: true, false, or \"auto\" = when the project's package.json has \"volta\" pins or this PC uses Volta. With pins, Volta's node/npm/yarn/pnpm come first on PATH."
|
|
266
|
+
},
|
|
267
|
+
"globalPackages": {
|
|
268
|
+
"type": "array",
|
|
269
|
+
"items": {
|
|
270
|
+
"type": "string"
|
|
271
|
+
},
|
|
272
|
+
"description": "npm packages installed globally into the default Node version, installed once and kept (e.g. [\"typescript\", \"npm-check-updates\"])."
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
"additionalProperties": false
|
|
276
|
+
},
|
|
277
|
+
"python": {
|
|
278
|
+
"type": "object",
|
|
279
|
+
"properties": {
|
|
280
|
+
"enabled": {
|
|
281
|
+
"anyOf": [
|
|
282
|
+
{
|
|
283
|
+
"type": "boolean"
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
"type": "string",
|
|
287
|
+
"const": "auto"
|
|
288
|
+
}
|
|
289
|
+
],
|
|
290
|
+
"description": "Python 3 (CPython with pip). true, false, or \"auto\" = only when the project has pyproject.toml, requirements.txt, setup.py, Pipfile or .python-version."
|
|
291
|
+
},
|
|
292
|
+
"version": {
|
|
293
|
+
"type": "string",
|
|
294
|
+
"minLength": 1,
|
|
295
|
+
"description": "Python 3 version prefix, e.g. \"3\" or \"3.12\". A project's .python-version wins."
|
|
296
|
+
},
|
|
297
|
+
"python2": {
|
|
298
|
+
"type": "boolean",
|
|
299
|
+
"description": "Also install Python 2.7 as python2 / pip2."
|
|
300
|
+
},
|
|
301
|
+
"pyenv": {
|
|
302
|
+
"anyOf": [
|
|
303
|
+
{
|
|
304
|
+
"type": "boolean"
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"type": "string",
|
|
308
|
+
"const": "auto"
|
|
309
|
+
}
|
|
310
|
+
],
|
|
311
|
+
"description": "pyenv-win (pyenv install / local / global): true, false, or \"auto\" = when this PC uses pyenv. .python-version is honoured either way, and `uv python install` always works."
|
|
312
|
+
},
|
|
313
|
+
"tools": {
|
|
314
|
+
"type": "array",
|
|
315
|
+
"items": {
|
|
316
|
+
"type": "string"
|
|
317
|
+
},
|
|
318
|
+
"description": "Python command-line tools installed with `uv tool install` (needs uv), installed once and kept (e.g. [\"poetry\", \"ruff\", \"pre-commit\"])."
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
"additionalProperties": false
|
|
322
|
+
},
|
|
323
|
+
"rust": {
|
|
324
|
+
"type": "object",
|
|
325
|
+
"properties": {
|
|
326
|
+
"enabled": {
|
|
327
|
+
"anyOf": [
|
|
328
|
+
{
|
|
329
|
+
"type": "boolean"
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"type": "string",
|
|
333
|
+
"const": "auto"
|
|
334
|
+
}
|
|
335
|
+
],
|
|
336
|
+
"description": "Rust via rustup (cargo, rustc). true, false, or \"auto\" = only when the project has Cargo.toml or rust-toolchain(.toml)."
|
|
337
|
+
},
|
|
338
|
+
"toolchain": {
|
|
339
|
+
"type": "string",
|
|
340
|
+
"minLength": 1,
|
|
341
|
+
"description": "Default toolchain, e.g. \"stable\". rust-toolchain.toml in a project wins."
|
|
342
|
+
},
|
|
343
|
+
"host": {
|
|
344
|
+
"type": "string",
|
|
345
|
+
"minLength": 1,
|
|
346
|
+
"description": "Host triple, or \"auto\": x86_64-pc-windows-msvc when the MSVC toolchain is on (like most PCs), else x86_64-pc-windows-gnu (MinGW is its linker)."
|
|
347
|
+
},
|
|
348
|
+
"components": {
|
|
349
|
+
"type": "array",
|
|
350
|
+
"items": {
|
|
351
|
+
"type": "string"
|
|
352
|
+
},
|
|
353
|
+
"description": "Extra rustup components, installed once and kept (e.g. [\"rust-src\", \"llvm-tools\"])."
|
|
354
|
+
},
|
|
355
|
+
"targets": {
|
|
356
|
+
"type": "array",
|
|
357
|
+
"items": {
|
|
358
|
+
"type": "string"
|
|
359
|
+
},
|
|
360
|
+
"description": "Extra rustup targets, installed once and kept (e.g. [\"wasm32-unknown-unknown\"])."
|
|
361
|
+
},
|
|
362
|
+
"crates": {
|
|
363
|
+
"type": "array",
|
|
364
|
+
"items": {
|
|
365
|
+
"type": "string"
|
|
366
|
+
},
|
|
367
|
+
"description": "Binaries for cargo: prebuilt via cargo-binstall when the crate publishes a Windows build, else compiled with `cargo install --locked` (slow the first time), installed once and kept (e.g. [\"sccache\", \"cargo-nextest\", \"cargo-deny\"])."
|
|
368
|
+
},
|
|
369
|
+
"targetDir": {
|
|
370
|
+
"type": "string",
|
|
371
|
+
"minLength": 1,
|
|
372
|
+
"description": "\"shared\": cargo's default target\\ (shared with builds on this PC, so builds on either side invalidate the other), \"separate\": <workspace>\\target\\sandbox (kept, no cross-talk), \"local\": on the sandbox's own disk (fastest, lost every boot), or a guest path."
|
|
373
|
+
}
|
|
374
|
+
},
|
|
375
|
+
"additionalProperties": false
|
|
376
|
+
},
|
|
377
|
+
"msvc": {
|
|
378
|
+
"type": "object",
|
|
379
|
+
"properties": {
|
|
380
|
+
"enabled": {
|
|
381
|
+
"anyOf": [
|
|
382
|
+
{
|
|
383
|
+
"type": "boolean"
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"type": "string",
|
|
387
|
+
"const": "auto"
|
|
388
|
+
}
|
|
389
|
+
],
|
|
390
|
+
"description": "MSVC (cl, link) and the Windows SDK, portable from Microsoft's Visual Studio manifest (~1-2 GB once), with vcvars64.bat and vswhere. true, false, or \"auto\" = only when the project has a .vcxproj, CMakePresets.json, a script calling vcvars/vswhere, or a Rust project when this PC builds Rust with MSVC."
|
|
391
|
+
},
|
|
392
|
+
"acceptLicense": {
|
|
393
|
+
"type": "boolean",
|
|
394
|
+
"description": "Required to install MSVC: you accept the Visual Studio licence terms (https://visualstudio.microsoft.com/license-terms/), which need a Visual Studio licence."
|
|
395
|
+
},
|
|
396
|
+
"msvcVersion": {
|
|
397
|
+
"type": "string",
|
|
398
|
+
"minLength": 1,
|
|
399
|
+
"description": "\"latest\" or an MSVC tools version prefix, e.g. \"14.44\"."
|
|
400
|
+
},
|
|
401
|
+
"sdkVersion": {
|
|
402
|
+
"type": "string",
|
|
403
|
+
"minLength": 1,
|
|
404
|
+
"description": "\"latest\" or a Windows SDK build, e.g. \"26100\" or \"10.0.22621\"."
|
|
405
|
+
}
|
|
406
|
+
},
|
|
407
|
+
"additionalProperties": false
|
|
408
|
+
},
|
|
409
|
+
"cpp": {
|
|
410
|
+
"type": "object",
|
|
411
|
+
"properties": {
|
|
412
|
+
"enabled": {
|
|
413
|
+
"anyOf": [
|
|
414
|
+
{
|
|
415
|
+
"type": "boolean"
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"type": "string",
|
|
419
|
+
"const": "auto"
|
|
420
|
+
}
|
|
421
|
+
],
|
|
422
|
+
"description": "MinGW-w64 GCC with CMake, Ninja, premake5 and mingw32-make (also Rust's linker). true, false, or \"auto\" = only when the project has CMakeLists.txt, Makefile, meson.build, premake5.lua or Cargo.toml."
|
|
423
|
+
},
|
|
424
|
+
"flexBison": {
|
|
425
|
+
"type": "boolean",
|
|
426
|
+
"description": "win_flex / win_bison, the parser generators many C/C++ projects (game engines among them) need; CMake finds them."
|
|
427
|
+
}
|
|
428
|
+
},
|
|
429
|
+
"additionalProperties": false
|
|
430
|
+
},
|
|
431
|
+
"dotnet": {
|
|
432
|
+
"type": "object",
|
|
433
|
+
"properties": {
|
|
434
|
+
"enabled": {
|
|
435
|
+
"anyOf": [
|
|
436
|
+
{
|
|
437
|
+
"type": "boolean"
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"type": "string",
|
|
441
|
+
"const": "auto"
|
|
442
|
+
}
|
|
443
|
+
],
|
|
444
|
+
"description": ".NET SDK (C#, F#). true, false, or \"auto\" = only when the project has a .sln, .slnx, .csproj, .fsproj or global.json."
|
|
445
|
+
},
|
|
446
|
+
"channels": {
|
|
447
|
+
"type": "array",
|
|
448
|
+
"items": {
|
|
449
|
+
"type": "string"
|
|
450
|
+
},
|
|
451
|
+
"description": "SDK channels, e.g. [\"LTS\", \"8.0\"]. A project's global.json is installed too."
|
|
452
|
+
},
|
|
453
|
+
"tools": {
|
|
454
|
+
"type": "array",
|
|
455
|
+
"items": {
|
|
456
|
+
"type": "string"
|
|
457
|
+
},
|
|
458
|
+
"description": "Global .NET tools (`dotnet tool install -g`), installed once and kept (e.g. [\"dotnet-ef\", \"csharpier\"])."
|
|
459
|
+
},
|
|
460
|
+
"workloads": {
|
|
461
|
+
"type": "array",
|
|
462
|
+
"items": {
|
|
463
|
+
"type": "string"
|
|
464
|
+
},
|
|
465
|
+
"description": "SDK workloads (`dotnet workload install`), installed once and kept (e.g. [\"aspire\", \"wasm-tools\"])."
|
|
466
|
+
},
|
|
467
|
+
"frameworkTargets": {
|
|
468
|
+
"type": "array",
|
|
469
|
+
"items": {
|
|
470
|
+
"type": "string"
|
|
471
|
+
},
|
|
472
|
+
"description": ".NET Framework reference assemblies (targeting packs) from NuGet, so net4x and old-style .csproj projects build without Visual Studio, e.g. [\"net48\", \"net472\", \"net462\"]. The 4.8 runtime itself ships with Windows."
|
|
473
|
+
},
|
|
474
|
+
"netfx35": {
|
|
475
|
+
"type": "boolean",
|
|
476
|
+
"description": ".NET Framework 3.5 runtime (a Windows feature, enabled from Windows Update on every boot; a few minutes)."
|
|
477
|
+
}
|
|
478
|
+
},
|
|
479
|
+
"additionalProperties": false
|
|
480
|
+
},
|
|
481
|
+
"go": {
|
|
482
|
+
"type": "object",
|
|
483
|
+
"properties": {
|
|
484
|
+
"enabled": {
|
|
485
|
+
"anyOf": [
|
|
486
|
+
{
|
|
487
|
+
"type": "boolean"
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"type": "string",
|
|
491
|
+
"const": "auto"
|
|
492
|
+
}
|
|
493
|
+
],
|
|
494
|
+
"description": "Go. true, false, or \"auto\" = only when the project has go.mod or go.work."
|
|
495
|
+
},
|
|
496
|
+
"version": {
|
|
497
|
+
"type": "string",
|
|
498
|
+
"minLength": 1,
|
|
499
|
+
"description": "\"stable\" or a version prefix such as \"1.23\". A go.mod asking for newer fetches it itself (GOTOOLCHAIN=auto)."
|
|
500
|
+
},
|
|
501
|
+
"tools": {
|
|
502
|
+
"type": "array",
|
|
503
|
+
"items": {
|
|
504
|
+
"type": "string"
|
|
505
|
+
},
|
|
506
|
+
"description": "Go tools (`go install <path>@<version>`), installed once and kept (e.g. [\"golang.org/x/tools/gopls@latest\"])."
|
|
507
|
+
}
|
|
508
|
+
},
|
|
509
|
+
"additionalProperties": false
|
|
510
|
+
},
|
|
511
|
+
"java": {
|
|
512
|
+
"type": "object",
|
|
513
|
+
"properties": {
|
|
514
|
+
"enabled": {
|
|
515
|
+
"anyOf": [
|
|
516
|
+
{
|
|
517
|
+
"type": "boolean"
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
"type": "string",
|
|
521
|
+
"const": "auto"
|
|
522
|
+
}
|
|
523
|
+
],
|
|
524
|
+
"description": "Java: Eclipse Temurin JDK. true, false, or \"auto\" = only when the project has pom.xml, build.gradle(.kts), settings.gradle(.kts), mvnw, gradlew or .java-version."
|
|
525
|
+
},
|
|
526
|
+
"version": {
|
|
527
|
+
"type": "string",
|
|
528
|
+
"minLength": 1,
|
|
529
|
+
"description": "\"lts\" (newest LTS) or a major version such as \"21\". A project's .java-version or .sdkmanrc wins."
|
|
530
|
+
},
|
|
531
|
+
"maven": {
|
|
532
|
+
"type": "boolean",
|
|
533
|
+
"description": "Apache Maven (mvn). A project's mvnw works either way."
|
|
534
|
+
},
|
|
535
|
+
"gradle": {
|
|
536
|
+
"type": "boolean",
|
|
537
|
+
"description": "Gradle (gradle). A project's gradlew works either way."
|
|
538
|
+
}
|
|
539
|
+
},
|
|
540
|
+
"additionalProperties": false
|
|
541
|
+
},
|
|
542
|
+
"ruby": {
|
|
543
|
+
"type": "object",
|
|
544
|
+
"properties": {
|
|
545
|
+
"enabled": {
|
|
546
|
+
"anyOf": [
|
|
547
|
+
{
|
|
548
|
+
"type": "boolean"
|
|
549
|
+
},
|
|
550
|
+
{
|
|
551
|
+
"type": "string",
|
|
552
|
+
"const": "auto"
|
|
553
|
+
}
|
|
554
|
+
],
|
|
555
|
+
"description": "Ruby (RubyInstaller, with gem and bundler). Gems with C extensions need MSYS2, which is not included. true, false, or \"auto\" = only when the project has Gemfile, a .gemspec or .ruby-version."
|
|
556
|
+
},
|
|
557
|
+
"version": {
|
|
558
|
+
"type": "string",
|
|
559
|
+
"minLength": 1,
|
|
560
|
+
"description": "Version prefix, e.g. \"3\" or \"3.3\". A project's .ruby-version wins."
|
|
561
|
+
},
|
|
562
|
+
"gems": {
|
|
563
|
+
"type": "array",
|
|
564
|
+
"items": {
|
|
565
|
+
"type": "string"
|
|
566
|
+
},
|
|
567
|
+
"description": "Gems installed globally, installed once and kept (e.g. [\"rubocop\"])."
|
|
568
|
+
}
|
|
569
|
+
},
|
|
570
|
+
"additionalProperties": false
|
|
571
|
+
},
|
|
572
|
+
"php": {
|
|
573
|
+
"type": "object",
|
|
574
|
+
"properties": {
|
|
575
|
+
"enabled": {
|
|
576
|
+
"anyOf": [
|
|
577
|
+
{
|
|
578
|
+
"type": "boolean"
|
|
579
|
+
},
|
|
580
|
+
{
|
|
581
|
+
"type": "string",
|
|
582
|
+
"const": "auto"
|
|
583
|
+
}
|
|
584
|
+
],
|
|
585
|
+
"description": "PHP (with the Visual C++ runtime it needs, installed on every boot). true, false, or \"auto\" = only when the project has composer.json, artisan or .php-version."
|
|
586
|
+
},
|
|
587
|
+
"version": {
|
|
588
|
+
"type": "string",
|
|
589
|
+
"minLength": 1,
|
|
590
|
+
"description": "Version prefix, e.g. \"8\" or \"8.3\". A project's .php-version wins."
|
|
591
|
+
},
|
|
592
|
+
"composer": {
|
|
593
|
+
"type": "boolean",
|
|
594
|
+
"description": "Composer."
|
|
595
|
+
}
|
|
596
|
+
},
|
|
597
|
+
"additionalProperties": false
|
|
598
|
+
},
|
|
599
|
+
"deno": {
|
|
600
|
+
"type": "object",
|
|
601
|
+
"properties": {
|
|
602
|
+
"enabled": {
|
|
603
|
+
"anyOf": [
|
|
604
|
+
{
|
|
605
|
+
"type": "boolean"
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
"type": "string",
|
|
609
|
+
"const": "auto"
|
|
610
|
+
}
|
|
611
|
+
],
|
|
612
|
+
"description": "Deno. true, false, or \"auto\" = only when the project has deno.json, deno.jsonc or deno.lock."
|
|
613
|
+
}
|
|
614
|
+
},
|
|
615
|
+
"additionalProperties": false
|
|
616
|
+
},
|
|
617
|
+
"pwsh": {
|
|
618
|
+
"type": "object",
|
|
619
|
+
"properties": {
|
|
620
|
+
"enabled": {
|
|
621
|
+
"anyOf": [
|
|
622
|
+
{
|
|
623
|
+
"type": "boolean"
|
|
624
|
+
},
|
|
625
|
+
{
|
|
626
|
+
"type": "string",
|
|
627
|
+
"const": "auto"
|
|
628
|
+
}
|
|
629
|
+
],
|
|
630
|
+
"description": "PowerShell 7 (pwsh), portable (~110 MB once); `powershell` stays Windows PowerShell 5.1. true, false, or \"auto\" = when a .ps1 at the root or one folder down has #Requires -Version 7 / -PSEdition Core or a `pwsh ...` usage line, or, in a folder that is no project yet, when this PC has PowerShell 7."
|
|
631
|
+
}
|
|
632
|
+
},
|
|
633
|
+
"additionalProperties": false
|
|
634
|
+
},
|
|
635
|
+
"cli": {
|
|
636
|
+
"type": "object",
|
|
637
|
+
"properties": {
|
|
638
|
+
"gh": {
|
|
639
|
+
"anyOf": [
|
|
640
|
+
{
|
|
641
|
+
"type": "boolean"
|
|
642
|
+
},
|
|
643
|
+
{
|
|
644
|
+
"type": "string",
|
|
645
|
+
"const": "auto"
|
|
646
|
+
}
|
|
647
|
+
],
|
|
648
|
+
"description": "GitHub CLI (gh). Only with provisioning.git.access \"full\": gh can push and merge through the GitHub API, past a read-only git. Your PC's gh login is never copied; `gh auth login` inside persists (GH_CONFIG_DIR). \"auto\" = when the project has a .github folder."
|
|
649
|
+
},
|
|
650
|
+
"zstd": {
|
|
651
|
+
"anyOf": [
|
|
652
|
+
{
|
|
653
|
+
"type": "boolean"
|
|
654
|
+
},
|
|
655
|
+
{
|
|
656
|
+
"type": "string",
|
|
657
|
+
"const": "auto"
|
|
658
|
+
}
|
|
659
|
+
],
|
|
660
|
+
"description": "Zstandard (zstd). \"auto\" = off; set true to get it."
|
|
661
|
+
},
|
|
662
|
+
"openssl": {
|
|
663
|
+
"anyOf": [
|
|
664
|
+
{
|
|
665
|
+
"type": "boolean"
|
|
666
|
+
},
|
|
667
|
+
{
|
|
668
|
+
"type": "string",
|
|
669
|
+
"const": "auto"
|
|
670
|
+
}
|
|
671
|
+
],
|
|
672
|
+
"description": "`openssl` on PATH, from the copy Git for Windows ships (its mingw64\\bin is not put on PATH, so it cannot shadow MinGW's gcc). \"auto\" = on."
|
|
673
|
+
}
|
|
674
|
+
},
|
|
675
|
+
"additionalProperties": false,
|
|
676
|
+
"description": "Small portable command-line tools from their GitHub releases, installed once into tools\\cli."
|
|
677
|
+
},
|
|
678
|
+
"bun": {
|
|
679
|
+
"type": "object",
|
|
680
|
+
"properties": {
|
|
681
|
+
"enabled": {
|
|
682
|
+
"type": "boolean",
|
|
683
|
+
"description": "Bun runtime (claude-mem needs it)."
|
|
684
|
+
}
|
|
685
|
+
},
|
|
686
|
+
"additionalProperties": false
|
|
687
|
+
},
|
|
688
|
+
"uv": {
|
|
689
|
+
"type": "object",
|
|
690
|
+
"properties": {
|
|
691
|
+
"enabled": {
|
|
692
|
+
"type": "boolean",
|
|
693
|
+
"description": "uv, the Python package manager (claude-mem needs it)."
|
|
694
|
+
}
|
|
695
|
+
},
|
|
696
|
+
"additionalProperties": false
|
|
697
|
+
},
|
|
698
|
+
"vcRuntime": {
|
|
699
|
+
"type": "object",
|
|
700
|
+
"properties": {
|
|
701
|
+
"enabled": {
|
|
702
|
+
"type": "boolean",
|
|
703
|
+
"description": "Microsoft Visual C++ runtime for tools that need it (a real installer, so it runs on every boot, ~15 s). PHP installs it regardless."
|
|
704
|
+
}
|
|
705
|
+
},
|
|
706
|
+
"additionalProperties": false
|
|
707
|
+
},
|
|
708
|
+
"mesa": {
|
|
709
|
+
"type": "object",
|
|
710
|
+
"properties": {
|
|
711
|
+
"enabled": {
|
|
712
|
+
"type": "boolean",
|
|
713
|
+
"description": "Mesa 3D (llvmpipe): OpenGL 4.5 in software for games and apps when there is no GPU (sandbox.vGpu off). Copy opengl32.dll and libgallium_wgl.dll from %MESA_DIR% next to the program's .exe."
|
|
714
|
+
},
|
|
715
|
+
"vulkan": {
|
|
716
|
+
"type": "boolean",
|
|
717
|
+
"description": "Also software Vulkan 1.4 (Mesa lavapipe) with the Khronos loader, registered for every program; for wgpu set WGPU_BACKEND=vulkan."
|
|
718
|
+
}
|
|
719
|
+
},
|
|
720
|
+
"additionalProperties": false
|
|
721
|
+
},
|
|
722
|
+
"vscode": {
|
|
723
|
+
"type": "object",
|
|
724
|
+
"properties": {
|
|
725
|
+
"enabled": {
|
|
726
|
+
"type": "boolean",
|
|
727
|
+
"description": "Portable VS Code inside the sandbox (code on PATH, desktop shortcut); its settings and extensions persist."
|
|
728
|
+
}
|
|
729
|
+
},
|
|
730
|
+
"additionalProperties": false
|
|
731
|
+
},
|
|
732
|
+
"environment": {
|
|
733
|
+
"type": "object",
|
|
734
|
+
"propertyNames": {
|
|
735
|
+
"type": "string",
|
|
736
|
+
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
|
|
737
|
+
},
|
|
738
|
+
"additionalProperties": {
|
|
739
|
+
"type": "string"
|
|
740
|
+
},
|
|
741
|
+
"description": "Extra environment variables for the agent and every terminal, e.g. registry mirrors: {\"NPM_CONFIG_REGISTRY\": \"https://...\", \"PIP_INDEX_URL\": \"https://...\"}."
|
|
742
|
+
}
|
|
743
|
+
},
|
|
744
|
+
"additionalProperties": false
|
|
745
|
+
},
|
|
746
|
+
"databases": {
|
|
747
|
+
"type": "object",
|
|
748
|
+
"properties": {
|
|
749
|
+
"postgres": {
|
|
750
|
+
"type": "object",
|
|
751
|
+
"properties": {
|
|
752
|
+
"enabled": {
|
|
753
|
+
"anyOf": [
|
|
754
|
+
{
|
|
755
|
+
"type": "boolean"
|
|
756
|
+
},
|
|
757
|
+
{
|
|
758
|
+
"type": "string",
|
|
759
|
+
"const": "auto"
|
|
760
|
+
}
|
|
761
|
+
],
|
|
762
|
+
"description": "PostgreSQL (with psql, pg_dump). User postgres, no password, localhost only: true, false, or \"auto\" = only when the project needs it (found from compose files, dependencies of every language, Prisma/ORM config and connection strings)."
|
|
763
|
+
},
|
|
764
|
+
"version": {
|
|
765
|
+
"type": "string",
|
|
766
|
+
"minLength": 1,
|
|
767
|
+
"description": "\"latest\" or a major version such as \"16\". A compose file pinning postgres:<major> wins."
|
|
768
|
+
},
|
|
769
|
+
"port": {
|
|
770
|
+
"type": "integer",
|
|
771
|
+
"minimum": 1024,
|
|
772
|
+
"maximum": 65535,
|
|
773
|
+
"description": "Port inside the sandbox."
|
|
774
|
+
}
|
|
775
|
+
},
|
|
776
|
+
"additionalProperties": false
|
|
777
|
+
},
|
|
778
|
+
"mysql": {
|
|
779
|
+
"type": "object",
|
|
780
|
+
"properties": {
|
|
781
|
+
"enabled": {
|
|
782
|
+
"anyOf": [
|
|
783
|
+
{
|
|
784
|
+
"type": "boolean"
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"type": "string",
|
|
788
|
+
"const": "auto"
|
|
789
|
+
}
|
|
790
|
+
],
|
|
791
|
+
"description": "MySQL-compatible database (MariaDB). User root, no password, localhost only: true, false, or \"auto\" = only when the project needs it (found from compose files, dependencies of every language, Prisma/ORM config and connection strings)."
|
|
792
|
+
},
|
|
793
|
+
"version": {
|
|
794
|
+
"type": "string",
|
|
795
|
+
"minLength": 1,
|
|
796
|
+
"description": "\"lts\" (newest MariaDB LTS) or a MariaDB series such as \"11.4\"."
|
|
797
|
+
},
|
|
798
|
+
"port": {
|
|
799
|
+
"type": "integer",
|
|
800
|
+
"minimum": 1024,
|
|
801
|
+
"maximum": 65535,
|
|
802
|
+
"description": "Port inside the sandbox."
|
|
803
|
+
}
|
|
804
|
+
},
|
|
805
|
+
"additionalProperties": false
|
|
806
|
+
},
|
|
807
|
+
"mongodb": {
|
|
808
|
+
"type": "object",
|
|
809
|
+
"properties": {
|
|
810
|
+
"enabled": {
|
|
811
|
+
"anyOf": [
|
|
812
|
+
{
|
|
813
|
+
"type": "boolean"
|
|
814
|
+
},
|
|
815
|
+
{
|
|
816
|
+
"type": "string",
|
|
817
|
+
"const": "auto"
|
|
818
|
+
}
|
|
819
|
+
],
|
|
820
|
+
"description": "MongoDB with mongosh, localhost only: true, false, or \"auto\" = only when the project needs it (found from compose files, dependencies of every language, Prisma/ORM config and connection strings)."
|
|
821
|
+
},
|
|
822
|
+
"version": {
|
|
823
|
+
"type": "string",
|
|
824
|
+
"minLength": 1,
|
|
825
|
+
"description": "\"latest\" or a version prefix such as \"8.0\"."
|
|
826
|
+
},
|
|
827
|
+
"port": {
|
|
828
|
+
"type": "integer",
|
|
829
|
+
"minimum": 1024,
|
|
830
|
+
"maximum": 65535,
|
|
831
|
+
"description": "Port inside the sandbox."
|
|
832
|
+
}
|
|
833
|
+
},
|
|
834
|
+
"additionalProperties": false
|
|
835
|
+
},
|
|
836
|
+
"redis": {
|
|
837
|
+
"type": "object",
|
|
838
|
+
"properties": {
|
|
839
|
+
"enabled": {
|
|
840
|
+
"anyOf": [
|
|
841
|
+
{
|
|
842
|
+
"type": "boolean"
|
|
843
|
+
},
|
|
844
|
+
{
|
|
845
|
+
"type": "string",
|
|
846
|
+
"const": "auto"
|
|
847
|
+
}
|
|
848
|
+
],
|
|
849
|
+
"description": "Redis (community Windows build), localhost only: true, false, or \"auto\" = only when the project needs it (found from compose files, dependencies of every language, Prisma/ORM config and connection strings)."
|
|
850
|
+
},
|
|
851
|
+
"port": {
|
|
852
|
+
"type": "integer",
|
|
853
|
+
"minimum": 1024,
|
|
854
|
+
"maximum": 65535,
|
|
855
|
+
"description": "Port inside the sandbox."
|
|
856
|
+
}
|
|
857
|
+
},
|
|
858
|
+
"additionalProperties": false
|
|
859
|
+
},
|
|
860
|
+
"dynamodb": {
|
|
861
|
+
"type": "object",
|
|
862
|
+
"properties": {
|
|
863
|
+
"enabled": {
|
|
864
|
+
"anyOf": [
|
|
865
|
+
{
|
|
866
|
+
"type": "boolean"
|
|
867
|
+
},
|
|
868
|
+
{
|
|
869
|
+
"type": "string",
|
|
870
|
+
"const": "auto"
|
|
871
|
+
}
|
|
872
|
+
],
|
|
873
|
+
"description": "DynamoDB Local (Amazon's official emulator, on the Java toolchain) with dynamodb-admin, a web UI to browse and edit tables: true, false, or \"auto\" = only when the project needs it (found from compose files, dependencies of every language, Prisma/ORM config and connection strings)."
|
|
874
|
+
},
|
|
875
|
+
"port": {
|
|
876
|
+
"type": "integer",
|
|
877
|
+
"minimum": 1024,
|
|
878
|
+
"maximum": 65535,
|
|
879
|
+
"description": "DynamoDB endpoint port inside the sandbox (http://localhost:<port>)."
|
|
880
|
+
},
|
|
881
|
+
"adminPort": {
|
|
882
|
+
"type": "integer",
|
|
883
|
+
"minimum": 1024,
|
|
884
|
+
"maximum": 65535,
|
|
885
|
+
"description": "dynamodb-admin web UI port (open http://localhost:<adminPort> in the sandbox's browser)."
|
|
886
|
+
},
|
|
887
|
+
"admin": {
|
|
888
|
+
"type": "boolean",
|
|
889
|
+
"description": "Run dynamodb-admin next to DynamoDB Local."
|
|
890
|
+
}
|
|
891
|
+
},
|
|
892
|
+
"additionalProperties": false
|
|
893
|
+
},
|
|
894
|
+
"sqlserver": {
|
|
895
|
+
"type": "object",
|
|
896
|
+
"properties": {
|
|
897
|
+
"enabled": {
|
|
898
|
+
"anyOf": [
|
|
899
|
+
{
|
|
900
|
+
"type": "boolean"
|
|
901
|
+
},
|
|
902
|
+
{
|
|
903
|
+
"type": "string",
|
|
904
|
+
"const": "auto"
|
|
905
|
+
}
|
|
906
|
+
],
|
|
907
|
+
"description": "SQL Server. It cannot run inside Windows Sandbox; when a project needs it you get a note to use Postgres or SQLite for local work: true, false, or \"auto\" = only when the project needs it (found from compose files, dependencies of every language, Prisma/ORM config and connection strings)."
|
|
908
|
+
}
|
|
909
|
+
},
|
|
910
|
+
"additionalProperties": false
|
|
911
|
+
}
|
|
912
|
+
},
|
|
913
|
+
"additionalProperties": false,
|
|
914
|
+
"description": "Databases running inside the sandbox. Data persists in C:\\AgentData\\databases; each one starts at boot."
|
|
915
|
+
},
|
|
916
|
+
"attach": {
|
|
917
|
+
"type": "object",
|
|
918
|
+
"properties": {
|
|
919
|
+
"enabled": {
|
|
920
|
+
"type": "boolean",
|
|
921
|
+
"description": "Allow sandbox claude --terminal / sandbox attach from this PC."
|
|
922
|
+
},
|
|
923
|
+
"reuseSession": {
|
|
924
|
+
"type": "boolean",
|
|
925
|
+
"description": "sandbox claude -t in a running sandbox reattaches to this folder's session when no terminal on this PC is attached to it (--new always starts another)."
|
|
926
|
+
},
|
|
927
|
+
"auto": {
|
|
928
|
+
"type": "boolean",
|
|
929
|
+
"description": "Starting an agent attaches this terminal automatically, as if you passed -t (only in an interactive terminal)."
|
|
930
|
+
},
|
|
931
|
+
"autoHide": {
|
|
932
|
+
"type": "boolean",
|
|
933
|
+
"description": "Hide the Windows Sandbox window whenever this terminal attaches; it keeps running (sandbox show brings it back)."
|
|
934
|
+
}
|
|
935
|
+
},
|
|
936
|
+
"additionalProperties": false
|
|
937
|
+
},
|
|
938
|
+
"agentCommands": {
|
|
939
|
+
"type": "object",
|
|
940
|
+
"properties": {
|
|
941
|
+
"enabled": {
|
|
942
|
+
"type": "boolean",
|
|
943
|
+
"description": "(Beta) Typing an agent's own command on this PC (claude, codex, ...) starts it in a hidden sandbox for the folder you are in and attaches that terminal. Adds one folder to the start of YOUR PATH; off removes it. SANDBOX_AGENT_DIRECT=1 runs the real agent instead."
|
|
944
|
+
},
|
|
945
|
+
"agents": {
|
|
946
|
+
"anyOf": [
|
|
947
|
+
{
|
|
948
|
+
"type": "string",
|
|
949
|
+
"const": "auto"
|
|
950
|
+
},
|
|
951
|
+
{
|
|
952
|
+
"type": "array",
|
|
953
|
+
"items": {
|
|
954
|
+
"type": "string",
|
|
955
|
+
"pattern": "^[A-Za-z0-9_-]+$"
|
|
956
|
+
}
|
|
957
|
+
}
|
|
958
|
+
],
|
|
959
|
+
"description": "\"auto\" = every agent installed on this PC, or a list of agent names, e.g. [\"claude\", \"codex\"]."
|
|
960
|
+
}
|
|
961
|
+
},
|
|
962
|
+
"additionalProperties": false
|
|
963
|
+
},
|
|
964
|
+
"secrets": {
|
|
965
|
+
"type": "object",
|
|
966
|
+
"properties": {
|
|
967
|
+
"strip": {
|
|
968
|
+
"type": "boolean",
|
|
969
|
+
"description": "Remove credentials from everything copied into the sandbox (your Claude settings.json \"env\" and credential helpers, MCP servers' env, headers and arguments): AWS, Azure, Google Cloud, Cloudflare, hosting, CI, registries, payment, AI API keys, database URLs, anything named *_TOKEN / *_SECRET / *PASSWORD* / *_KEY or *PROD*, and values that look like keys."
|
|
970
|
+
},
|
|
971
|
+
"allow": {
|
|
972
|
+
"type": "array",
|
|
973
|
+
"items": {
|
|
974
|
+
"type": "string"
|
|
975
|
+
},
|
|
976
|
+
"description": "Variable names that may go in anyway; * matches anything, e.g. [\"AWS_REGION\", \"AWS_PROFILE\", \"MY_APP_*\"]."
|
|
977
|
+
},
|
|
978
|
+
"patterns": {
|
|
979
|
+
"type": "array",
|
|
980
|
+
"items": {
|
|
981
|
+
"type": "string"
|
|
982
|
+
},
|
|
983
|
+
"description": "More variable names to treat as secrets; * matches anything, e.g. [\"ACME_*\", \"*_INTERNAL_URL\"]."
|
|
984
|
+
},
|
|
985
|
+
"warnFiles": {
|
|
986
|
+
"type": "boolean",
|
|
987
|
+
"description": "Warn at launch about files in the workspace that usually hold secrets (.env, *.pem, credentials.json, ...). The agent CAN read them: Windows Sandbox maps the whole folder."
|
|
988
|
+
}
|
|
989
|
+
},
|
|
990
|
+
"additionalProperties": false
|
|
991
|
+
},
|
|
992
|
+
"personalization": {
|
|
993
|
+
"type": "object",
|
|
994
|
+
"properties": {
|
|
995
|
+
"enabled": {
|
|
996
|
+
"type": "boolean",
|
|
997
|
+
"description": "Copy your desktop look (theme, accent, taskbar, wallpaper, ...) into the sandbox."
|
|
998
|
+
}
|
|
999
|
+
},
|
|
1000
|
+
"additionalProperties": false
|
|
1001
|
+
},
|
|
1002
|
+
"claudeProfile": {
|
|
1003
|
+
"type": "object",
|
|
1004
|
+
"properties": {
|
|
1005
|
+
"enabled": {
|
|
1006
|
+
"type": "boolean",
|
|
1007
|
+
"description": "Copy selected Claude settings from this PC into the sandbox."
|
|
1008
|
+
},
|
|
1009
|
+
"hostDir": {
|
|
1010
|
+
"type": "string",
|
|
1011
|
+
"description": "Your Claude folder, or \"auto\" (~/.claude or CLAUDE_CONFIG_DIR)."
|
|
1012
|
+
},
|
|
1013
|
+
"include": {
|
|
1014
|
+
"type": "array",
|
|
1015
|
+
"items": {
|
|
1016
|
+
"type": "string",
|
|
1017
|
+
"pattern": "^[A-Za-z0-9._-]+$"
|
|
1018
|
+
},
|
|
1019
|
+
"description": "Files and folders copied from it."
|
|
1020
|
+
},
|
|
1021
|
+
"globalStateFile": {
|
|
1022
|
+
"type": "string",
|
|
1023
|
+
"description": "Your .claude.json, or \"auto\". Empty string = do not copy."
|
|
1024
|
+
},
|
|
1025
|
+
"copyCredentials": {
|
|
1026
|
+
"type": "boolean",
|
|
1027
|
+
"description": "Copy your Claude LOGIN into the sandbox. Prefer sandbox account instead."
|
|
1028
|
+
},
|
|
1029
|
+
"overwrite": {
|
|
1030
|
+
"type": "boolean",
|
|
1031
|
+
"description": "Refresh these settings from this PC on every launch."
|
|
1032
|
+
},
|
|
1033
|
+
"syncHistory": {
|
|
1034
|
+
"type": "boolean",
|
|
1035
|
+
"description": "Bring all conversation history in, and sync new history back (path-translated)."
|
|
1036
|
+
},
|
|
1037
|
+
"syncClaudeMem": {
|
|
1038
|
+
"type": "boolean",
|
|
1039
|
+
"description": "Bring claude-mem data in, and its database back when the sandbox closes."
|
|
1040
|
+
}
|
|
1041
|
+
},
|
|
1042
|
+
"additionalProperties": false
|
|
1043
|
+
},
|
|
1044
|
+
"harnesses": {
|
|
1045
|
+
"type": "object",
|
|
1046
|
+
"propertyNames": {
|
|
1047
|
+
"type": "string",
|
|
1048
|
+
"pattern": "^[A-Za-z0-9_-]+$"
|
|
1049
|
+
},
|
|
1050
|
+
"additionalProperties": {
|
|
1051
|
+
"type": "object",
|
|
1052
|
+
"properties": {
|
|
1053
|
+
"hostExecutable": {
|
|
1054
|
+
"description": "Executable copied from this PC when installed here (e.g. claude.exe).",
|
|
1055
|
+
"type": "string"
|
|
1056
|
+
},
|
|
1057
|
+
"hostDir": {
|
|
1058
|
+
"description": "Folder of hostExecutable on this PC, or \"auto\" to search PATH and ~/.local/bin.",
|
|
1059
|
+
"type": "string"
|
|
1060
|
+
},
|
|
1061
|
+
"npmPackage": {
|
|
1062
|
+
"description": "npm package installed inside the sandbox when there is no host copy.",
|
|
1063
|
+
"type": "string"
|
|
1064
|
+
},
|
|
1065
|
+
"npmBin": {
|
|
1066
|
+
"description": "Command the npm package provides.",
|
|
1067
|
+
"type": "string"
|
|
1068
|
+
},
|
|
1069
|
+
"uvPackage": {
|
|
1070
|
+
"description": "Python package installed with `uv tool install` inside the sandbox (e.g. aider-chat).",
|
|
1071
|
+
"type": "string"
|
|
1072
|
+
},
|
|
1073
|
+
"uvBin": {
|
|
1074
|
+
"description": "Command the uv package provides.",
|
|
1075
|
+
"type": "string"
|
|
1076
|
+
},
|
|
1077
|
+
"arguments": {
|
|
1078
|
+
"type": "array",
|
|
1079
|
+
"items": {
|
|
1080
|
+
"type": "string"
|
|
1081
|
+
},
|
|
1082
|
+
"description": "Arguments always passed to the agent."
|
|
1083
|
+
},
|
|
1084
|
+
"environment": {
|
|
1085
|
+
"type": "object",
|
|
1086
|
+
"propertyNames": {
|
|
1087
|
+
"type": "string"
|
|
1088
|
+
},
|
|
1089
|
+
"additionalProperties": {
|
|
1090
|
+
"type": "string"
|
|
1091
|
+
},
|
|
1092
|
+
"description": "Environment variables for the agent."
|
|
1093
|
+
},
|
|
1094
|
+
"resumeArguments": {
|
|
1095
|
+
"description": "Arguments used when the agent is restarted in place (e.g. after an account switch) so it resumes the conversation.",
|
|
1096
|
+
"type": "array",
|
|
1097
|
+
"items": {
|
|
1098
|
+
"type": "string"
|
|
1099
|
+
}
|
|
1100
|
+
}
|
|
1101
|
+
},
|
|
1102
|
+
"additionalProperties": false
|
|
1103
|
+
},
|
|
1104
|
+
"description": "Agents that can run in the sandbox."
|
|
1105
|
+
},
|
|
1106
|
+
"hooks": {
|
|
1107
|
+
"type": "object",
|
|
1108
|
+
"properties": {
|
|
1109
|
+
"failFast": {
|
|
1110
|
+
"type": "boolean",
|
|
1111
|
+
"description": "Stop when a hook script fails."
|
|
1112
|
+
}
|
|
1113
|
+
},
|
|
1114
|
+
"additionalProperties": false
|
|
1115
|
+
},
|
|
1116
|
+
"projects": {
|
|
1117
|
+
"type": "object",
|
|
1118
|
+
"properties": {
|
|
1119
|
+
"all": {
|
|
1120
|
+
"type": "boolean",
|
|
1121
|
+
"description": "Map every project you have started before (and every folder in your roots) at every start, except those in exclude, so all of them open in the running sandbox without a restart. Every agent in the sandbox can then see all of them. Each one is still only set up when you first use it."
|
|
1122
|
+
},
|
|
1123
|
+
"exclude": {
|
|
1124
|
+
"type": "array",
|
|
1125
|
+
"items": {
|
|
1126
|
+
"type": "string",
|
|
1127
|
+
"minLength": 1
|
|
1128
|
+
},
|
|
1129
|
+
"description": "Projects left out when \"all\" is on (folders on this PC)."
|
|
1130
|
+
},
|
|
1131
|
+
"roots": {
|
|
1132
|
+
"type": "array",
|
|
1133
|
+
"items": {
|
|
1134
|
+
"type": "string",
|
|
1135
|
+
"minLength": 1
|
|
1136
|
+
},
|
|
1137
|
+
"description": "Folders whose subfolders are your projects (e.g. \"F:\\\\Code\"), mapped read/write at every start. Any project inside one, including ones you create later, opens in the running sandbox at once, without a restart. Every agent in the sandbox can see all of them."
|
|
1138
|
+
},
|
|
1139
|
+
"askToAddRoot": {
|
|
1140
|
+
"type": "boolean",
|
|
1141
|
+
"description": "When you start a project whose parent folder is not a root yet, ask once whether to add it."
|
|
1142
|
+
},
|
|
1143
|
+
"declinedRoots": {
|
|
1144
|
+
"type": "array",
|
|
1145
|
+
"items": {
|
|
1146
|
+
"type": "string",
|
|
1147
|
+
"minLength": 1
|
|
1148
|
+
},
|
|
1149
|
+
"description": "Parent folders you said no to (not asked again)."
|
|
1150
|
+
},
|
|
1151
|
+
"wsbShare": {
|
|
1152
|
+
"type": "boolean",
|
|
1153
|
+
"description": "On Windows 11 24H2+ with the Windows Sandbox command line (wsb), add other folders to the running sandbox with `wsb share` (untested). Otherwise starting a project outside every root offers a restart."
|
|
1154
|
+
}
|
|
1155
|
+
},
|
|
1156
|
+
"additionalProperties": false,
|
|
1157
|
+
"description": "Several projects in one sandbox: folders of projects mapped at every start, and adding folders while it runs."
|
|
1158
|
+
}
|
|
1159
|
+
},
|
|
1160
|
+
"additionalProperties": false
|
|
1161
|
+
}
|