windows-development-sandbox 1.18.4 → 1.23.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/README.md +1 -1
- package/config.example.json +17 -1
- package/dist/app/features/access/access.def.js +5 -2
- package/dist/app/features/access/access.run.js +7 -3
- package/dist/app/features/accounts/accounts.def.d.ts +33 -1
- package/dist/app/features/accounts/accounts.def.js +10 -4
- package/dist/app/features/accounts/accounts.run.d.ts +2 -0
- package/dist/app/features/accounts/accounts.run.js +7 -2
- package/dist/app/features/accounts/services.def.d.ts +7 -1
- package/dist/app/features/accounts/services.def.js +19 -16
- package/dist/app/features/accounts/services.run.d.ts +2 -0
- package/dist/app/features/accounts/services.run.js +44 -16
- package/dist/app/features/agent-commands/agent-commands.def.d.ts +37 -0
- package/dist/app/features/agent-commands/agent-commands.def.js +91 -0
- package/dist/app/features/agent-commands/agent-commands.run.d.ts +28 -0
- package/dist/app/features/agent-commands/agent-commands.run.js +35 -0
- package/dist/app/features/agent-commands/index.d.ts +2 -0
- package/dist/app/features/agent-commands/index.js +3 -0
- package/dist/app/features/agents/agents.def.d.ts +14 -1
- package/dist/app/features/agents/agents.def.js +61 -6
- package/dist/app/features/agents/agents.run.d.ts +1 -0
- package/dist/app/features/agents/agents.run.js +8 -1
- package/dist/app/features/agents/claude-env.def.d.ts +36 -0
- package/dist/app/features/agents/claude-env.def.js +305 -0
- package/dist/app/features/agents/env.def.d.ts +163 -0
- package/dist/app/features/agents/env.def.js +184 -0
- package/dist/app/features/agents/env.run.d.ts +43 -0
- package/dist/app/features/agents/env.run.js +86 -0
- package/dist/app/features/agents/index.d.ts +2 -0
- package/dist/app/features/agents/index.js +2 -0
- package/dist/app/features/defs.d.ts +171 -3
- package/dist/app/features/defs.js +9 -0
- package/dist/app/features/engine/engine.run.js +1 -1
- package/dist/app/features/github/github.def.d.ts +44 -3
- package/dist/app/features/github/github.def.js +145 -63
- package/dist/app/features/github/github.run.d.ts +9 -2
- package/dist/app/features/github/github.run.js +43 -5
- package/dist/app/features/health/health.def.js +8 -2
- package/dist/app/features/logs/logs.def.js +0 -8
- package/dist/app/features/projects/projects.def.js +2 -2
- package/dist/app/features/projects/projects.run.js +5 -5
- package/dist/app/features/sandbox/sandbox.def.js +7 -3
- package/dist/app/features/sessions/sessions.def.d.ts +4 -4
- package/dist/app/features/sessions/sessions.def.js +0 -5
- package/dist/app/features/sessions/sessions.run.d.ts +1 -1
- package/dist/app/features/sessions/sessions.run.js +2 -2
- package/dist/app/features/settings/categories.def.js +7 -2
- package/dist/app/features/settings/settings-rows.js +6 -2
- package/dist/app/features/settings/settings.def.js +1 -1
- package/dist/app/features/settings/settings.run.d.ts +8 -0
- package/dist/app/features/settings/settings.run.js +12 -3
- package/dist/app/features/storage/storage.run.js +18 -9
- package/dist/app/features/updates/update-lines.js +2 -2
- package/dist/app/features/updates/updates.def.js +1 -1
- package/dist/app/features/updates/updates.run.js +13 -3
- package/dist/app/features/vpn/vpn.def.d.ts +33 -0
- package/dist/app/features/vpn/vpn.def.js +30 -6
- package/dist/app/features/vpn/vpn.run.d.ts +11 -0
- package/dist/app/features/vpn/vpn.run.js +4 -1
- package/dist/app/features/web/web.def.js +2 -2
- package/dist/app/features/web/web.run.js +12 -4
- package/dist/app/kernel/errors.d.ts +7 -0
- package/dist/app/kernel/errors.js +18 -3
- package/dist/app/kernel/rpc.d.ts +6 -1
- package/dist/app/kernel/view.d.ts +11 -1
- package/dist/app/registry.js +7 -1
- package/dist/bin/agent-sandbox.js +2 -2
- package/dist/bin/{chunk-N4GXYTLV.js → chunk-JETGP2C3.js} +239 -72
- package/dist/bin/{chunk-MY7NLQQY.js → chunk-XZKOPGNH.js} +1 -1
- package/dist/bin/{chunk-FRPLQLSY.js → chunk-ZTTOF5V3.js} +6566 -4964
- package/dist/bin/claude-host.js +2 -2
- package/dist/bin/claude-sbx.js +2 -2
- package/dist/bin/codex-sbx.js +2 -2
- package/dist/bin/gemini-sbx.js +2 -2
- package/dist/bin/sandbox.js +2 -2
- package/dist/bin/sbx-hide.js +2 -2
- package/dist/bin/sbx-show.js +2 -2
- package/dist/cli/commands/agent-commands.d.ts +0 -1
- package/dist/cli/commands/agent-commands.js +2 -32
- package/dist/cli/commands/index.d.ts +1 -1
- package/dist/cli/commands/index.js +1 -1
- package/dist/cli/commands/launch/launch.js +2 -2
- package/dist/cli/commands/registry.js +3 -2
- package/dist/cli/manifest.d.ts +3 -3
- package/dist/cli/manifest.js +3 -2
- package/dist/cli/menu/coverage-exempt.d.ts +17 -0
- package/dist/cli/menu/coverage-exempt.js +61 -0
- package/dist/cli/menu/io-menu.d.ts +2 -0
- package/dist/cli/menu/io-menu.js +50 -5
- package/dist/cli/menu/menu.d.ts +1 -1
- package/dist/cli/menu/menu.js +3 -3
- package/dist/cli/menu/pages/accounts-page.js +1 -1
- package/dist/cli/menu/pages/agents-page.d.ts +7 -2
- package/dist/cli/menu/pages/agents-page.js +75 -13
- package/dist/cli/menu/pages/maintenance-page.d.ts +6 -0
- package/dist/cli/menu/pages/maintenance-page.js +10 -4
- package/dist/cli/menu/pages/sessions-page.d.ts +2 -0
- package/dist/cli/menu/pages/sessions-page.js +12 -4
- package/dist/cli/menu/pages/settings-page.js +13 -1
- package/dist/cli/menu/remote-menu.js +1 -1
- package/dist/cli/menu/shell.d.ts +5 -0
- package/dist/cli/menu/shell.js +13 -0
- package/dist/cli/menu/views.js +2 -1
- package/dist/cli/report.js +2 -0
- package/dist/cli/services/agent-commands-service.d.ts +2 -0
- package/dist/cli/services/agent-commands-service.js +13 -7
- package/dist/cli/services/vpn-service.d.ts +5 -1
- package/dist/cli/services/vpn-service.js +6 -1
- package/dist/cli/tui/app.d.ts +5 -0
- package/dist/cli/tui/app.js +2 -0
- package/dist/cli/tui/dialogs/text-screen.js +2 -1
- package/dist/cli/tui/terminal.js +3 -1
- package/dist/core/config/defaults.js +12 -1
- package/dist/core/detect/toolchains.js +9 -0
- package/dist/core/disk.d.ts +1 -5
- package/dist/core/disk.js +1 -16
- package/dist/core/schema/accounts.d.ts +6 -0
- package/dist/core/schema/accounts.js +13 -11
- package/dist/core/schema/codex.d.ts +29 -0
- package/dist/core/schema/codex.js +24 -0
- package/dist/core/schema/config.d.ts +58 -14
- package/dist/core/schema/config.js +6 -4
- package/dist/core/schema/github.js +1 -1
- package/dist/core/schema/index.d.ts +1 -0
- package/dist/core/schema/index.js +1 -0
- package/dist/core/schema/profile.js +8 -4
- package/dist/core/schema/resume.js +1 -1
- package/dist/core/schema/sandbox.js +3 -3
- package/dist/core/schema/toolchains.d.ts +4 -0
- package/dist/core/schema/toolchains.js +3 -0
- package/dist/core/schema/vpn.js +1 -1
- package/dist/core/schema/web.js +3 -3
- package/dist/core/types.d.ts +8 -0
- package/dist/core/util/errors.d.ts +11 -1
- package/dist/core/util/errors.js +7 -1
- package/dist/core/util/index.d.ts +1 -1
- package/dist/core/util/index.js +1 -1
- package/dist/guest/accounts/adapter.d.ts +2 -0
- package/dist/guest/accounts/adapters.js +4 -0
- package/dist/guest/accounts/apply.d.ts +10 -6
- package/dist/guest/accounts/kinds/cfx.d.ts +7 -0
- package/dist/guest/accounts/kinds/cfx.js +33 -3
- package/dist/guest/accounts/kinds/comet.d.ts +7 -0
- package/dist/guest/accounts/kinds/comet.js +50 -0
- package/dist/guest/accounts/kinds/perplexity.d.ts +2 -0
- package/dist/guest/accounts/kinds/perplexity.js +12 -0
- package/dist/guest/accounts/watch.d.ts +2 -0
- package/dist/guest/accounts/watch.js +12 -2
- package/dist/guest/agents/agent-files.d.ts +26 -6
- package/dist/guest/agents/agent-files.js +84 -14
- package/dist/guest/agents/agent-installer.js +1 -1
- package/dist/guest/agents/local-state.d.ts +5 -2
- package/dist/guest/agents/local-state.js +24 -10
- package/dist/guest/agents/profile-links.d.ts +2 -0
- package/dist/guest/agents/profile-links.js +18 -4
- package/dist/guest/apps/after-install.js +19 -0
- package/dist/guest/apps/app-installer.d.ts +11 -0
- package/dist/guest/apps/app-installer.js +69 -6
- package/dist/guest/apps/comet-unpack.d.ts +20 -0
- package/dist/guest/apps/comet-unpack.js +127 -0
- package/dist/guest/apps/index.d.ts +1 -1
- package/dist/guest/apps/index.js +1 -1
- package/dist/guest/apps/resolvers-agents-web.d.ts +2 -0
- package/dist/guest/apps/resolvers-agents-web.js +7 -0
- package/dist/guest/apps/resolvers.js +2 -0
- package/dist/guest/apps/shortcuts.d.ts +2 -0
- package/dist/guest/apps/shortcuts.js +1 -0
- package/dist/guest/apps/unpack.js +14 -4
- package/dist/guest/boot/boot.d.ts +45 -16
- package/dist/guest/boot/boot.js +325 -149
- package/dist/guest/boot/graph.d.ts +252 -0
- package/dist/guest/boot/graph.js +257 -0
- package/dist/guest/boot/guide-lines.d.ts +25 -0
- package/dist/guest/boot/guide-lines.js +41 -0
- package/dist/guest/boot/guide.d.ts +1 -4
- package/dist/guest/boot/guide.js +6 -8
- package/dist/guest/boot/runner.d.ts +77 -0
- package/dist/guest/boot/runner.js +215 -0
- package/dist/guest/browser/cdp.d.ts +71 -0
- package/dist/guest/browser/cdp.js +306 -0
- package/dist/guest/browser/comet.d.ts +28 -0
- package/dist/guest/browser/comet.js +155 -0
- package/dist/guest/daemon/project-provisioner.js +6 -1
- package/dist/guest/daemon/sessions.js +2 -1
- package/dist/guest/devtools/fivem.d.ts +1 -1
- package/dist/guest/devtools/fivem.js +243 -3
- package/dist/guest/entries/daemon.js +2 -0
- package/dist/guest/runtime/log.d.ts +12 -0
- package/dist/guest/runtime/log.js +29 -5
- package/dist/guest/runtime/pools.d.ts +24 -0
- package/dist/guest/runtime/pools.js +60 -0
- package/dist/guest/runtime/process.d.ts +4 -0
- package/dist/guest/runtime/process.js +38 -1
- package/dist/guest/runtime/status.d.ts +5 -1
- package/dist/guest/runtime/status.js +19 -0
- package/dist/guest/setup/addon-mcp.d.ts +1 -1
- package/dist/guest/setup/addon-mcp.js +52 -12
- package/dist/guest/setup/agent-addons.d.ts +3 -2
- package/dist/guest/setup/agent-addons.js +12 -3
- package/dist/guest/setup/environment.d.ts +1 -1
- package/dist/guest/setup/environment.js +25 -12
- package/dist/guest/setup/headroom.d.ts +8 -3
- package/dist/guest/setup/headroom.js +44 -15
- package/dist/guest/setup/path-plan.d.ts +28 -0
- package/dist/guest/setup/path-plan.js +69 -2
- package/dist/guest/setup/shell-path.d.ts +1 -1
- package/dist/guest/setup/shell-path.js +3 -3
- package/dist/guest/toolchains/fivem/artifacts.d.ts +48 -1
- package/dist/guest/toolchains/fivem/artifacts.js +97 -4
- package/dist/guest/toolchains/fivem/fivem.d.ts +32 -1
- package/dist/guest/toolchains/fivem/fivem.js +168 -3
- package/dist/guest/toolchains/fivem/scaffold.d.ts +35 -0
- package/dist/guest/toolchains/fivem/scaffold.js +105 -0
- package/dist/guest/toolchains/fivem/serve-plan.d.ts +34 -0
- package/dist/guest/toolchains/fivem/serve-plan.js +61 -0
- package/dist/guest/toolchains/installers.d.ts +6 -10
- package/dist/guest/toolchains/installers.js +4 -12
- package/dist/guest/toolchains/languages/go.js +1 -1
- package/dist/guest/toolchains/languages/node.js +2 -1
- package/dist/guest/toolchains/languages/php.d.ts +2 -0
- package/dist/guest/toolchains/languages/php.js +13 -1
- package/dist/guest/toolchains/languages/python-tools.js +1 -1
- package/dist/guest/toolchains/languages/ruby.js +1 -1
- package/dist/guest/toolchains/native/autosdk.d.ts +3 -0
- package/dist/guest/toolchains/native/autosdk.js +50 -0
- package/dist/guest/toolchains/native/binstall.js +1 -1
- package/dist/guest/toolchains/native/msvc/packages.js +10 -4
- package/dist/guest/toolchains/native/rust.d.ts +2 -0
- package/dist/guest/toolchains/native/rust.js +11 -4
- package/dist/guest/toolchains/native/unreal.d.ts +2 -0
- package/dist/guest/toolchains/native/unreal.js +19 -6
- package/dist/guest/toolchains/native/vcruntime.d.ts +2 -3
- package/dist/guest/toolchains/native/vcruntime.js +12 -7
- package/dist/guest/toolchains/native/visual-studio.d.ts +5 -2
- package/dist/guest/toolchains/native/visual-studio.js +127 -25
- package/dist/guest/toolchains/native/vs-request.d.ts +23 -0
- package/dist/guest/toolchains/native/vs-request.js +62 -1
- package/dist/guest/toolchains/not-yet.d.ts +1 -1
- package/dist/guest/toolchains/not-yet.js +3 -3
- package/dist/guest/toolchains/persisted.js +2 -7
- package/dist/guest/toolchains/plan.js +27 -11
- package/dist/guest/toolchains/scheduler.d.ts +2 -21
- package/dist/guest/toolchains/scheduler.js +7 -121
- package/dist/guest/toolchains/setup.d.ts +15 -2
- package/dist/guest/toolchains/setup.js +39 -20
- package/dist/guest/toolchains/signature.d.ts +5 -0
- package/dist/guest/toolchains/signature.js +22 -0
- package/dist/guest/toolchains/split.d.ts +28 -0
- package/dist/guest/toolchains/split.js +60 -0
- package/dist/guest/toolchains/steam/client.js +2 -1
- package/dist/guest/toolchains/step-scheduler.d.ts +51 -0
- package/dist/guest/toolchains/step-scheduler.js +147 -0
- package/dist/guest/toolchains/step.d.ts +13 -0
- package/dist/guest/toolchains/tools/git.js +18 -0
- package/dist/guest/vpn/openvpn.js +3 -4
- package/dist/guest/vpn/tunnel.d.ts +3 -0
- package/dist/guest/vpn/tunnel.js +10 -12
- package/dist/guest/vpn/vpn.js +6 -1
- package/dist/guest/vpn/wireguard.js +11 -4
- package/dist/host/accounts/deliver.js +7 -0
- package/dist/host/accounts/handoff.js +2 -6
- package/dist/host/accounts/index.d.ts +1 -1
- package/dist/host/accounts/index.js +1 -1
- package/dist/host/accounts/kinds/cfx.d.ts +1 -1
- package/dist/host/accounts/kinds/cfx.js +47 -4
- package/dist/host/accounts/kinds/comet.d.ts +2 -0
- package/dist/host/accounts/kinds/comet.js +6 -0
- package/dist/host/accounts/kinds/perplexity.d.ts +2 -0
- package/dist/host/accounts/kinds/perplexity.js +30 -0
- package/dist/host/accounts/leases.d.ts +9 -3
- package/dist/host/accounts/leases.js +13 -2
- package/dist/host/accounts/source.d.ts +7 -1
- package/dist/host/accounts/source.js +28 -1
- package/dist/host/accounts/sources.js +4 -0
- package/dist/host/agent-commands/commands.js +1 -1
- package/dist/host/agent-commands/forwarders.d.ts +14 -2
- package/dist/host/agent-commands/forwarders.js +31 -13
- package/dist/host/agent-commands/reconcile.d.ts +2 -1
- package/dist/host/agent-commands/reconcile.js +7 -8
- package/dist/host/agent-commands/user-path.d.ts +5 -0
- package/dist/host/agent-commands/user-path.js +13 -0
- package/dist/host/github/deliver.d.ts +1 -1
- package/dist/host/github/deliver.js +20 -1
- package/dist/host/github/index.d.ts +2 -1
- package/dist/host/github/index.js +1 -0
- package/dist/host/github/token.d.ts +13 -1
- package/dist/host/github/token.js +19 -2
- package/dist/host/github/verify.d.ts +27 -0
- package/dist/host/github/verify.js +61 -0
- package/dist/host/launch/hints/fivem.d.ts +3 -1
- package/dist/host/launch/hints/fivem.js +68 -2
- package/dist/host/launch/session-file.js +5 -0
- package/dist/host/launch/toolchains.d.ts +2 -1
- package/dist/host/launch/toolchains.js +5 -3
- package/dist/host/profile/accounts.js +2 -4
- package/dist/host/profile/claude-login.d.ts +3 -2
- package/dist/host/profile/claude-login.js +3 -13
- package/dist/host/vpn/index.d.ts +2 -1
- package/dist/host/vpn/index.js +2 -1
- package/dist/host/vpn/last.d.ts +28 -0
- package/dist/host/vpn/last.js +43 -0
- package/dist/host/vpn/login.d.ts +3 -1
- package/dist/host/vpn/login.js +17 -3
- package/dist/host/vpn/nordvpn.d.ts +2 -4
- package/dist/host/vpn/nordvpn.js +2 -24
- package/dist/runtime/agent.js +433 -90
- package/dist/runtime/daemon.js +3378 -1546
- package/dist/runtime/db.js +363 -90
- package/dist/runtime/main.js +5134 -2096
- package/dist/runtime/netproxy.js +308 -69
- package/dist/runtime/tool.js +2867 -1765
- package/dist/runtime/view.js +308 -69
- package/dist/selftest/agent-commands.test.js +45 -7
- package/dist/selftest/agent-paths.test.js +40 -13
- package/dist/selftest/agent-settings.test.d.ts +2 -0
- package/dist/selftest/agent-settings.test.js +94 -0
- package/dist/selftest/agents-web.test.d.ts +2 -0
- package/dist/selftest/agents-web.test.js +647 -0
- package/dist/selftest/app.test.js +7 -3
- package/dist/selftest/boot-runner.test.d.ts +2 -0
- package/dist/selftest/boot-runner.test.js +456 -0
- package/dist/selftest/channel.test.js +15 -0
- package/dist/selftest/cli.test.js +4 -0
- package/dist/selftest/fivem.test.js +249 -3
- package/dist/selftest/github.test.js +94 -9
- package/dist/selftest/guest-boot.test.js +3 -0
- package/dist/selftest/health.test.js +1 -1
- package/dist/selftest/index.js +10 -0
- package/dist/selftest/layout.test.js +5 -0
- package/dist/selftest/menu-coverage.test.d.ts +2 -0
- package/dist/selftest/menu-coverage.test.js +46 -0
- package/dist/selftest/menu-screens.js +37 -1
- package/dist/selftest/menu.test.js +5 -3
- package/dist/selftest/pc-installs.test.js +5 -0
- package/dist/selftest/persisted-installs.test.js +72 -0
- package/dist/selftest/service-accounts.test.js +3 -2
- package/dist/selftest/support/engine-golden.js +28 -1
- package/dist/selftest/support/fixtures.d.ts +15 -0
- package/dist/selftest/support/web-preview.d.ts +34 -1
- package/dist/selftest/support/web-preview.js +21 -18
- package/dist/selftest/toolchains.test.js +23 -1
- package/dist/selftest/ui-text.test.d.ts +7 -0
- package/dist/selftest/ui-text.test.js +300 -0
- package/dist/selftest/vpn.test.js +51 -3
- package/dist/shared/accounts/anthropic.d.ts +5 -0
- package/dist/shared/accounts/anthropic.js +15 -0
- package/dist/shared/accounts/index.d.ts +3 -0
- package/dist/shared/accounts/index.js +3 -0
- package/dist/shared/accounts/kinds/comet.d.ts +12 -0
- package/dist/shared/accounts/kinds/comet.js +64 -0
- package/dist/shared/accounts/kinds/perplexity.d.ts +8 -0
- package/dist/shared/accounts/kinds/perplexity.js +37 -0
- package/dist/shared/accounts/kinds.d.ts +24 -5
- package/dist/shared/accounts/kinds.js +86 -4
- package/dist/shared/accounts/payloads.d.ts +81 -0
- package/dist/shared/accounts/payloads.js +39 -1
- package/dist/shared/apps/agent-addons.d.ts +33 -5
- package/dist/shared/apps/agent-addons.js +95 -3
- package/dist/shared/apps/catalogue-agents-web.d.ts +14 -0
- package/dist/shared/apps/catalogue-agents-web.js +112 -0
- package/dist/shared/apps/catalogue-modding.js +32 -1
- package/dist/shared/apps/catalogue.d.ts +27 -3
- package/dist/shared/apps/catalogue.js +2 -1
- package/dist/shared/apps/index.d.ts +3 -1
- package/dist/shared/apps/index.js +3 -1
- package/dist/shared/channel/schema.d.ts +40 -3
- package/dist/shared/channel/schema.js +9 -0
- package/dist/shared/channel/secrets.d.ts +19 -0
- package/dist/shared/concurrency/index.d.ts +3 -0
- package/dist/shared/concurrency/index.js +3 -0
- package/dist/shared/concurrency/installer-retry.d.ts +6 -0
- package/dist/shared/concurrency/installer-retry.js +10 -0
- package/dist/shared/concurrency/limiter.d.ts +19 -0
- package/dist/shared/concurrency/limiter.js +67 -0
- package/dist/shared/concurrency/pools.d.ts +7 -0
- package/dist/shared/concurrency/pools.js +9 -0
- package/dist/shared/download/archive.d.ts +2 -0
- package/dist/shared/download/archive.js +11 -1
- package/dist/shared/download/bounded-fetch.d.ts +13 -0
- package/dist/shared/download/bounded-fetch.js +40 -0
- package/dist/shared/download/downloader.d.ts +5 -0
- package/dist/shared/download/downloader.js +50 -38
- package/dist/shared/download/index.d.ts +2 -1
- package/dist/shared/download/index.js +2 -1
- package/dist/shared/io/disk.d.ts +9 -0
- package/dist/shared/io/disk.js +19 -0
- package/dist/shared/io/index.d.ts +1 -0
- package/dist/shared/io/index.js +1 -0
- package/dist/shared/readiness.d.ts +9 -0
- package/dist/shared/readiness.js +11 -0
- package/dist/shared/signer.d.ts +24 -0
- package/dist/shared/signer.js +15 -0
- package/dist/shared/vpn/failure.d.ts +10 -0
- package/dist/shared/vpn/failure.js +28 -0
- package/dist/sync/watcher.js +2 -0
- package/dist/web/index.html +1 -1
- package/dist/web/{main-GVZWWP4I.js → main-CCILLX2M.js} +75 -74
- package/native/csharp/HcsHost/AssemblyInfo.cs +3 -3
- package/native/csharp/HostTools/AssemblyInfo.cs +3 -3
- package/native/csharp/HostTools/Program.cs +14 -1
- package/native/csharp/HostTools/UserPath.cs +17 -0
- package/native/csharp/StorageHelper/AssemblyInfo.cs +3 -3
- package/native/scripts/edit-user-path.ps1 +6 -2
- package/package.json +1 -1
- package/sandbox/addons/browser-use-mcp/requirements.in +1 -0
- package/sandbox/addons/browser-use-mcp/requirements.txt +2350 -0
- package/sandbox/addons/chrome-devtools-mcp/package-lock.json +38 -0
- package/sandbox/addons/chrome-devtools-mcp/package.json +7 -0
- package/sandbox/addons/comet-mcp/package-lock.json +1277 -0
- package/sandbox/addons/comet-mcp/package.json +7 -0
- package/sandbox/addons/perplexity-mcp/package-lock.json +1655 -0
- package/sandbox/addons/perplexity-mcp/package.json +7 -0
- package/sandbox/scripts/add-firewall-port.ps1 +18 -4
- package/sandbox/scripts/get-signature.ps1 +13 -0
- package/sandbox/scripts/set-machine-environment.ps1 +30 -15
- package/sandbox/templates/fivem/README.txt +6 -2
- package/sandbox/templates/fivem/cs/Client/Client.csproj +15 -0
- package/sandbox/templates/fivem/cs/Client/ClientMain.cs +20 -0
- package/sandbox/templates/fivem/cs/Server/Server.csproj +14 -0
- package/sandbox/templates/fivem/cs/Server/ServerMain.cs +20 -0
- package/sandbox/templates/fivem/cs/fxmanifest.lua +11 -0
- package/sandbox/templates/fivem/js/client.js +12 -0
- package/sandbox/templates/fivem/js/fxmanifest.lua +9 -0
- package/sandbox/templates/fivem/js/server.js +6 -0
- package/sandbox/templates/fivem/lua/client.lua +8 -0
- package/sandbox/templates/fivem/lua/fxmanifest.lua +10 -0
- package/sandbox/templates/fivem/lua/server.lua +6 -0
- package/sandbox/templates/fivem/server.cfg +37 -0
- package/sandbox/templates/fivem/ts/build.js +17 -0
- package/sandbox/templates/fivem/ts/fxmanifest.lua +9 -0
- package/sandbox/templates/fivem/ts/package.json +16 -0
- package/sandbox/templates/fivem/ts/src/client/client.ts +12 -0
- package/sandbox/templates/fivem/ts/src/client/tsconfig.json +13 -0
- package/sandbox/templates/fivem/ts/src/server/server.ts +6 -0
- package/sandbox/templates/fivem/ts/src/server/tsconfig.json +13 -0
- package/schemas/config.schema.json +120 -27
- package/schemas/sandbox-config.schema.json +45 -14
- package/sandbox/scripts/get-signer.ps1 +0 -8
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export declare const agentEnvRun: import("../../kernel/define.js").Implementation<import("../../kernel/define.js").QueryDef<import("zod").ZodObject<{
|
|
2
|
+
agent: import("zod").ZodDefault<import("zod").ZodString>;
|
|
3
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
4
|
+
agent: import("zod").ZodString;
|
|
5
|
+
rows: import("zod").ZodArray<import("zod").ZodObject<{
|
|
6
|
+
name: import("zod").ZodString;
|
|
7
|
+
group: import("zod").ZodEnum<{
|
|
8
|
+
Subagents: "Subagents";
|
|
9
|
+
Models: "Models";
|
|
10
|
+
Limits: "Limits";
|
|
11
|
+
Behaviour: "Behaviour";
|
|
12
|
+
Privacy: "Privacy";
|
|
13
|
+
Network: "Network";
|
|
14
|
+
Providers: "Providers";
|
|
15
|
+
}>;
|
|
16
|
+
label: import("zod").ZodString;
|
|
17
|
+
kind: import("zod").ZodEnum<{
|
|
18
|
+
number: "number";
|
|
19
|
+
enum: "enum";
|
|
20
|
+
flag: "flag";
|
|
21
|
+
text: "text";
|
|
22
|
+
}>;
|
|
23
|
+
description: import("zod").ZodString;
|
|
24
|
+
choices: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
25
|
+
range: import("zod").ZodOptional<import("zod").ZodString>;
|
|
26
|
+
secret: import("zod").ZodBoolean;
|
|
27
|
+
defaultText: import("zod").ZodOptional<import("zod").ZodString>;
|
|
28
|
+
value: import("zod").ZodNullable<import("zod").ZodString>;
|
|
29
|
+
set: import("zod").ZodBoolean;
|
|
30
|
+
fromSandbox: import("zod").ZodBoolean;
|
|
31
|
+
}, import("zod/v4/core").$strip>>;
|
|
32
|
+
custom: import("zod").ZodArray<import("zod").ZodObject<{
|
|
33
|
+
name: import("zod").ZodString;
|
|
34
|
+
fromSandbox: import("zod").ZodBoolean;
|
|
35
|
+
}, import("zod/v4/core").$strip>>;
|
|
36
|
+
}, import("zod/v4/core").$strip>, "agents.env">, import("../../../cli/commands/context.js").Context>;
|
|
37
|
+
export declare const agentsEnvSetRun: import("../../kernel/define.js").Implementation<import("../../kernel/define.js").OperationDef<import("zod").ZodObject<{
|
|
38
|
+
agent: import("zod").ZodString;
|
|
39
|
+
name: import("zod").ZodString;
|
|
40
|
+
value: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
41
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
42
|
+
message: import("zod").ZodString;
|
|
43
|
+
}, import("zod/v4/core").$strip>, "agents.env.set">, import("../../../cli/commands/context.js").Context>;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// The work of the agent environment editor: reads an agent's variables from your settings (secrets never leave this
|
|
2
|
+
// file), and sets or removes one through the same config file the settings use. Talks only through io.
|
|
3
|
+
import _ from 'lodash';
|
|
4
|
+
import { DEFAULTS } from '../../../core/config/index.js';
|
|
5
|
+
import { fail } from '../../../core/util/index.js';
|
|
6
|
+
import { CLAUDE_ENV, envSpec, envValue } from './claude-env.def.js';
|
|
7
|
+
import { anthropicKeyProblem } from '../../../shared/accounts/index.js';
|
|
8
|
+
import { implement } from '../../context.js';
|
|
9
|
+
import { ConfigFile } from '../settings/settings-file.js';
|
|
10
|
+
import { agentEnv, agentsEnvSet } from './env.def.js';
|
|
11
|
+
/** The variables written in your own settings file for an agent (a value that is not text is ignored). */
|
|
12
|
+
function ownVariables(file, agent) {
|
|
13
|
+
const raw = file.valueInFile(['harnesses', agent, 'environment']);
|
|
14
|
+
if (!_.isPlainObject(raw))
|
|
15
|
+
return {};
|
|
16
|
+
return Object.fromEntries(Object.entries(raw).filter(([, v]) => typeof v === 'string'));
|
|
17
|
+
}
|
|
18
|
+
function rangeText(spec) {
|
|
19
|
+
if (spec.kind !== 'number')
|
|
20
|
+
return undefined;
|
|
21
|
+
const min = spec.min ?? 0;
|
|
22
|
+
return 'A whole number from ' + min + (spec.max !== undefined ? ' to ' + spec.max : ' up') + '.';
|
|
23
|
+
}
|
|
24
|
+
/** The agent must be one of your settings' agents. */
|
|
25
|
+
function knownAgent(file, agent) {
|
|
26
|
+
if (!(agent in file.userConfig().harnesses))
|
|
27
|
+
fail('There is no agent called "' + agent + '".');
|
|
28
|
+
}
|
|
29
|
+
export const agentEnvRun = implement(agentEnv, (ctx, input) => {
|
|
30
|
+
const file = ConfigFile.user(ctx.loaded.configPath);
|
|
31
|
+
knownAgent(file, input.agent);
|
|
32
|
+
const mine = ownVariables(file, input.agent);
|
|
33
|
+
const base = DEFAULTS.harnesses[input.agent]?.environment ?? {};
|
|
34
|
+
const names = new Set([...Object.keys(base), ...Object.keys(mine)]);
|
|
35
|
+
const catalogue = input.agent === 'claude' ? CLAUDE_ENV : [];
|
|
36
|
+
const rows = catalogue.map((spec) => {
|
|
37
|
+
const value = mine[spec.name] ?? base[spec.name];
|
|
38
|
+
return {
|
|
39
|
+
name: spec.name,
|
|
40
|
+
group: spec.group,
|
|
41
|
+
label: spec.label,
|
|
42
|
+
kind: spec.kind,
|
|
43
|
+
description: spec.description,
|
|
44
|
+
...(spec.choices ? { choices: [...spec.choices] } : {}),
|
|
45
|
+
...(rangeText(spec) ? { range: rangeText(spec) } : {}),
|
|
46
|
+
secret: spec.secret === true,
|
|
47
|
+
...(spec.defaultText ? { defaultText: spec.defaultText } : {}),
|
|
48
|
+
// A secret's value stays here.
|
|
49
|
+
value: value === undefined || spec.secret ? null : value,
|
|
50
|
+
set: value !== undefined,
|
|
51
|
+
fromSandbox: mine[spec.name] === undefined && base[spec.name] !== undefined,
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
const known = new Set(catalogue.map((s) => s.name));
|
|
55
|
+
const custom = [...names]
|
|
56
|
+
.filter((n) => !known.has(n))
|
|
57
|
+
.sort()
|
|
58
|
+
.map((name) => ({ name, fromSandbox: mine[name] === undefined }));
|
|
59
|
+
return { agent: input.agent, rows, custom };
|
|
60
|
+
});
|
|
61
|
+
export const agentsEnvSetRun = implement(agentsEnvSet, (ctx, input) => {
|
|
62
|
+
const file = ConfigFile.user(ctx.loaded.configPath);
|
|
63
|
+
knownAgent(file, input.agent);
|
|
64
|
+
const spec = input.agent === 'claude' ? envSpec(input.name) : undefined;
|
|
65
|
+
const shownName = spec?.label ?? input.name;
|
|
66
|
+
const checked = envValue(spec, input.value, anthropicKeyProblem);
|
|
67
|
+
if ('problem' in checked)
|
|
68
|
+
fail(shownName + ': ' + checked.problem);
|
|
69
|
+
const mine = ownVariables(file, input.agent);
|
|
70
|
+
if (checked.save === null && mine[input.name] === undefined) {
|
|
71
|
+
const sandbox = DEFAULTS.harnesses[input.agent]?.environment?.[input.name] !== undefined;
|
|
72
|
+
return {
|
|
73
|
+
message: sandbox
|
|
74
|
+
? shownName + ' is set by the sandbox; give it another value to change it.'
|
|
75
|
+
: shownName + ' was not set.',
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
const result = file.set(['harnesses', input.agent, 'environment', input.name], checked.save ?? undefined);
|
|
79
|
+
if (typeof result === 'object')
|
|
80
|
+
fail('It could not be saved: ' + result.problems.join('; '));
|
|
81
|
+
if (checked.save === null)
|
|
82
|
+
return { message: shownName + ' is removed.' };
|
|
83
|
+
// Only the value of a plain catalogue entry is said back: everything else may hold a login.
|
|
84
|
+
const said = spec && !spec.secret ? (spec.kind === 'flag' ? 'on' : checked.save) : 'saved';
|
|
85
|
+
return { message: shownName + (said === 'saved' ? ' is saved.' : ' is ' + said + '.') };
|
|
86
|
+
});
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
// The agents feature: the list, starting an agent in a project of the running sandbox, and the agents in your settings.
|
|
2
2
|
export * from './agents.def.js';
|
|
3
3
|
export * from './agents.run.js';
|
|
4
|
+
export * from './env.def.js';
|
|
5
|
+
export * from './env.run.js';
|
|
4
6
|
export * from './agent-entry.js';
|
|
@@ -76,6 +76,12 @@ export declare const OPERATIONS: readonly [OperationDef<import("zod").ZodObject<
|
|
|
76
76
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
77
77
|
message: import("zod").ZodString;
|
|
78
78
|
}, import("zod/v4/core").$strip>, "agents.remove">, OperationDef<import("zod").ZodObject<{
|
|
79
|
+
agent: import("zod").ZodString;
|
|
80
|
+
name: import("zod").ZodString;
|
|
81
|
+
value: import("zod").ZodDefault<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
82
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
83
|
+
message: import("zod").ZodString;
|
|
84
|
+
}, import("zod/v4/core").$strip>, "agents.env.set">, OperationDef<import("zod").ZodObject<{
|
|
79
85
|
scope: import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
80
86
|
project: "project";
|
|
81
87
|
user: "user";
|
|
@@ -285,6 +291,14 @@ export declare const OPERATIONS: readonly [OperationDef<import("zod").ZodObject<
|
|
|
285
291
|
deleted: import("zod").ZodBoolean;
|
|
286
292
|
message: import("zod").ZodString;
|
|
287
293
|
}, import("zod/v4/core").$strip>, "vpn.logout">, OperationDef<import("zod").ZodObject<{}, import("zod/v4/core").$strict>, import("zod").ZodObject<{
|
|
294
|
+
on: import("zod").ZodBoolean;
|
|
295
|
+
commands: import("zod").ZodArray<import("zod").ZodString>;
|
|
296
|
+
message: import("zod").ZodString;
|
|
297
|
+
}, import("zod/v4/core").$strip>, "agentCommands.on">, OperationDef<import("zod").ZodObject<{}, import("zod/v4/core").$strict>, import("zod").ZodObject<{
|
|
298
|
+
on: import("zod").ZodBoolean;
|
|
299
|
+
commands: import("zod").ZodArray<import("zod").ZodString>;
|
|
300
|
+
message: import("zod").ZodString;
|
|
301
|
+
}, import("zod/v4/core").$strip>, "agentCommands.off">, OperationDef<import("zod").ZodObject<{}, import("zod/v4/core").$strict>, import("zod").ZodObject<{
|
|
288
302
|
message: import("zod").ZodString;
|
|
289
303
|
}, import("zod/v4/core").$strip>, "github.login">, OperationDef<import("zod").ZodObject<{}, import("zod/v4/core").$strict>, import("zod").ZodObject<{
|
|
290
304
|
deleted: import("zod").ZodBoolean;
|
|
@@ -411,9 +425,9 @@ export declare const QUERIES: readonly [QueryDef<import("zod").ZodObject<{}, imp
|
|
|
411
425
|
cwd: import("zod").ZodString;
|
|
412
426
|
project: import("zod").ZodOptional<import("zod").ZodString>;
|
|
413
427
|
phase: import("zod").ZodEnum<{
|
|
428
|
+
running: "running";
|
|
414
429
|
failed: "failed";
|
|
415
430
|
starting: "starting";
|
|
416
|
-
running: "running";
|
|
417
431
|
exited: "exited";
|
|
418
432
|
}>;
|
|
419
433
|
message: import("zod").ZodString;
|
|
@@ -438,7 +452,43 @@ export declare const QUERIES: readonly [QueryDef<import("zod").ZodObject<{}, imp
|
|
|
438
452
|
isDefault: import("zod").ZodBoolean;
|
|
439
453
|
removable: import("zod").ZodBoolean;
|
|
440
454
|
}, import("zod/v4/core").$strip>>;
|
|
455
|
+
subagents: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
|
|
441
456
|
}, import("zod/v4/core").$strip>, "agents.list">, QueryDef<import("zod").ZodObject<{
|
|
457
|
+
agent: import("zod").ZodDefault<import("zod").ZodString>;
|
|
458
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
459
|
+
agent: import("zod").ZodString;
|
|
460
|
+
rows: import("zod").ZodArray<import("zod").ZodObject<{
|
|
461
|
+
name: import("zod").ZodString;
|
|
462
|
+
group: import("zod").ZodEnum<{
|
|
463
|
+
Subagents: "Subagents";
|
|
464
|
+
Models: "Models";
|
|
465
|
+
Limits: "Limits";
|
|
466
|
+
Behaviour: "Behaviour";
|
|
467
|
+
Privacy: "Privacy";
|
|
468
|
+
Network: "Network";
|
|
469
|
+
Providers: "Providers";
|
|
470
|
+
}>;
|
|
471
|
+
label: import("zod").ZodString;
|
|
472
|
+
kind: import("zod").ZodEnum<{
|
|
473
|
+
number: "number";
|
|
474
|
+
enum: "enum";
|
|
475
|
+
flag: "flag";
|
|
476
|
+
text: "text";
|
|
477
|
+
}>;
|
|
478
|
+
description: import("zod").ZodString;
|
|
479
|
+
choices: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
480
|
+
range: import("zod").ZodOptional<import("zod").ZodString>;
|
|
481
|
+
secret: import("zod").ZodBoolean;
|
|
482
|
+
defaultText: import("zod").ZodOptional<import("zod").ZodString>;
|
|
483
|
+
value: import("zod").ZodNullable<import("zod").ZodString>;
|
|
484
|
+
set: import("zod").ZodBoolean;
|
|
485
|
+
fromSandbox: import("zod").ZodBoolean;
|
|
486
|
+
}, import("zod/v4/core").$strip>>;
|
|
487
|
+
custom: import("zod").ZodArray<import("zod").ZodObject<{
|
|
488
|
+
name: import("zod").ZodString;
|
|
489
|
+
fromSandbox: import("zod").ZodBoolean;
|
|
490
|
+
}, import("zod/v4/core").$strip>>;
|
|
491
|
+
}, import("zod/v4/core").$strip>, "agents.env">, QueryDef<import("zod").ZodObject<{
|
|
442
492
|
scope: import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
443
493
|
project: "project";
|
|
444
494
|
user: "user";
|
|
@@ -532,10 +582,12 @@ export declare const QUERIES: readonly [QueryDef<import("zod").ZodObject<{}, imp
|
|
|
532
582
|
summary: import("zod").ZodNullable<import("zod").ZodString>;
|
|
533
583
|
heldBy: import("zod").ZodNullable<import("zod").ZodString>;
|
|
534
584
|
usedBy: import("zod").ZodArray<import("zod").ZodString>;
|
|
585
|
+
usedFor: import("zod").ZodString;
|
|
535
586
|
warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
536
587
|
canImport: import("zod").ZodBoolean;
|
|
537
588
|
canLogin: import("zod").ZodBoolean;
|
|
538
589
|
needsFile: import("zod").ZodBoolean;
|
|
590
|
+
ready: import("zod").ZodBoolean;
|
|
539
591
|
}, import("zod/v4/core").$strip>>;
|
|
540
592
|
}, import("zod/v4/core").$strip>, "accounts.list">, QueryDef<import("zod").ZodObject<{
|
|
541
593
|
scope: import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
@@ -941,7 +993,26 @@ export declare const QUERIES: readonly [QueryDef<import("zod").ZodObject<{}, imp
|
|
|
941
993
|
}>;
|
|
942
994
|
text: import("zod").ZodString;
|
|
943
995
|
}, import("zod/v4/core").$strip>>;
|
|
944
|
-
|
|
996
|
+
lastFailure: import("zod").ZodNullable<import("zod").ZodObject<{
|
|
997
|
+
code: import("zod").ZodEnum<{
|
|
998
|
+
auth: "auth";
|
|
999
|
+
unreachable: "unreachable";
|
|
1000
|
+
driver: "driver";
|
|
1001
|
+
timeout: "timeout";
|
|
1002
|
+
other: "other";
|
|
1003
|
+
}>;
|
|
1004
|
+
text: import("zod").ZodString;
|
|
1005
|
+
at: import("zod").ZodString;
|
|
1006
|
+
}, import("zod/v4/core").$strip>>;
|
|
1007
|
+
}, import("zod/v4/core").$strip>, "vpn.status">, QueryDef<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
1008
|
+
enabled: import("zod").ZodBoolean;
|
|
1009
|
+
dir: import("zod").ZodString;
|
|
1010
|
+
found: import("zod").ZodArray<import("zod").ZodObject<{
|
|
1011
|
+
command: import("zod").ZodString;
|
|
1012
|
+
harness: import("zod").ZodString;
|
|
1013
|
+
real: import("zod").ZodString;
|
|
1014
|
+
}, import("zod/v4/core").$strip>>;
|
|
1015
|
+
}, import("zod/v4/core").$strip>, "agentCommands.status">, QueryDef<import("zod").ZodObject<{}, import("zod/v4/core").$strict>, import("zod").ZodObject<{
|
|
945
1016
|
shareToken: import("zod").ZodBoolean;
|
|
946
1017
|
gitAccess: import("zod").ZodEnum<{
|
|
947
1018
|
readonly: "readonly";
|
|
@@ -958,6 +1029,11 @@ export declare const QUERIES: readonly [QueryDef<import("zod").ZodObject<{}, imp
|
|
|
958
1029
|
classic: "classic";
|
|
959
1030
|
}>>;
|
|
960
1031
|
savedAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1032
|
+
login: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1033
|
+
expiresAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1034
|
+
repoCount: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
1035
|
+
checkedAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1036
|
+
tokenUrl: import("zod").ZodString;
|
|
961
1037
|
}, import("zod/v4/core").$strip>, "github.status">, QueryDef<import("zod").ZodObject<{
|
|
962
1038
|
name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
963
1039
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
@@ -975,10 +1051,12 @@ export declare const QUERIES: readonly [QueryDef<import("zod").ZodObject<{}, imp
|
|
|
975
1051
|
summary: import("zod").ZodNullable<import("zod").ZodString>;
|
|
976
1052
|
heldBy: import("zod").ZodNullable<import("zod").ZodString>;
|
|
977
1053
|
usedBy: import("zod").ZodArray<import("zod").ZodString>;
|
|
1054
|
+
usedFor: import("zod").ZodString;
|
|
978
1055
|
warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
979
1056
|
canImport: import("zod").ZodBoolean;
|
|
980
1057
|
canLogin: import("zod").ZodBoolean;
|
|
981
1058
|
needsFile: import("zod").ZodBoolean;
|
|
1059
|
+
ready: import("zod").ZodBoolean;
|
|
982
1060
|
}, import("zod/v4/core").$strip>>;
|
|
983
1061
|
}, import("zod/v4/core").$strip>, "accounts.services">, QueryDef<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
984
1062
|
lan: import("zod").ZodObject<{
|
|
@@ -1110,9 +1188,9 @@ export declare const VIEWS: readonly [import("../kernel/define.js").ViewDef<{
|
|
|
1110
1188
|
cwd: import("zod").ZodString;
|
|
1111
1189
|
project: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1112
1190
|
phase: import("zod").ZodEnum<{
|
|
1191
|
+
running: "running";
|
|
1113
1192
|
failed: "failed";
|
|
1114
1193
|
starting: "starting";
|
|
1115
|
-
running: "running";
|
|
1116
1194
|
exited: "exited";
|
|
1117
1195
|
}>;
|
|
1118
1196
|
message: import("zod").ZodString;
|
|
@@ -1139,8 +1217,55 @@ export declare const VIEWS: readonly [import("../kernel/define.js").ViewDef<{
|
|
|
1139
1217
|
isDefault: import("zod").ZodBoolean;
|
|
1140
1218
|
removable: import("zod").ZodBoolean;
|
|
1141
1219
|
}, import("zod/v4/core").$strip>>;
|
|
1220
|
+
subagents: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
|
|
1142
1221
|
}, import("zod/v4/core").$strip>, "agents.list">;
|
|
1222
|
+
agentCommands: QueryDef<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
1223
|
+
enabled: import("zod").ZodBoolean;
|
|
1224
|
+
dir: import("zod").ZodString;
|
|
1225
|
+
found: import("zod").ZodArray<import("zod").ZodObject<{
|
|
1226
|
+
command: import("zod").ZodString;
|
|
1227
|
+
harness: import("zod").ZodString;
|
|
1228
|
+
real: import("zod").ZodString;
|
|
1229
|
+
}, import("zod/v4/core").$strip>>;
|
|
1230
|
+
}, import("zod/v4/core").$strip>, "agentCommands.status">;
|
|
1143
1231
|
}, Record<string, never>, "agents">, import("../kernel/define.js").ViewDef<{
|
|
1232
|
+
env: QueryDef<import("zod").ZodObject<{
|
|
1233
|
+
agent: import("zod").ZodDefault<import("zod").ZodString>;
|
|
1234
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
1235
|
+
agent: import("zod").ZodString;
|
|
1236
|
+
rows: import("zod").ZodArray<import("zod").ZodObject<{
|
|
1237
|
+
name: import("zod").ZodString;
|
|
1238
|
+
group: import("zod").ZodEnum<{
|
|
1239
|
+
Subagents: "Subagents";
|
|
1240
|
+
Models: "Models";
|
|
1241
|
+
Limits: "Limits";
|
|
1242
|
+
Behaviour: "Behaviour";
|
|
1243
|
+
Privacy: "Privacy";
|
|
1244
|
+
Network: "Network";
|
|
1245
|
+
Providers: "Providers";
|
|
1246
|
+
}>;
|
|
1247
|
+
label: import("zod").ZodString;
|
|
1248
|
+
kind: import("zod").ZodEnum<{
|
|
1249
|
+
number: "number";
|
|
1250
|
+
enum: "enum";
|
|
1251
|
+
flag: "flag";
|
|
1252
|
+
text: "text";
|
|
1253
|
+
}>;
|
|
1254
|
+
description: import("zod").ZodString;
|
|
1255
|
+
choices: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
1256
|
+
range: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1257
|
+
secret: import("zod").ZodBoolean;
|
|
1258
|
+
defaultText: import("zod").ZodOptional<import("zod").ZodString>;
|
|
1259
|
+
value: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1260
|
+
set: import("zod").ZodBoolean;
|
|
1261
|
+
fromSandbox: import("zod").ZodBoolean;
|
|
1262
|
+
}, import("zod/v4/core").$strip>>;
|
|
1263
|
+
custom: import("zod").ZodArray<import("zod").ZodObject<{
|
|
1264
|
+
name: import("zod").ZodString;
|
|
1265
|
+
fromSandbox: import("zod").ZodBoolean;
|
|
1266
|
+
}, import("zod/v4/core").$strip>>;
|
|
1267
|
+
}, import("zod/v4/core").$strip>, "agents.env">;
|
|
1268
|
+
}, import("./agents/env.def.js").AgentEnvParams, "agentEnv">, import("../kernel/define.js").ViewDef<{
|
|
1144
1269
|
settings: QueryDef<import("zod").ZodObject<{
|
|
1145
1270
|
scope: import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
1146
1271
|
project: "project";
|
|
@@ -1215,10 +1340,12 @@ export declare const VIEWS: readonly [import("../kernel/define.js").ViewDef<{
|
|
|
1215
1340
|
summary: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1216
1341
|
heldBy: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1217
1342
|
usedBy: import("zod").ZodArray<import("zod").ZodString>;
|
|
1343
|
+
usedFor: import("zod").ZodString;
|
|
1218
1344
|
warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
1219
1345
|
canImport: import("zod").ZodBoolean;
|
|
1220
1346
|
canLogin: import("zod").ZodBoolean;
|
|
1221
1347
|
needsFile: import("zod").ZodBoolean;
|
|
1348
|
+
ready: import("zod").ZodBoolean;
|
|
1222
1349
|
}, import("zod/v4/core").$strip>>;
|
|
1223
1350
|
}, import("zod/v4/core").$strip>, "accounts.list">;
|
|
1224
1351
|
services: QueryDef<import("zod").ZodObject<{
|
|
@@ -1238,12 +1365,37 @@ export declare const VIEWS: readonly [import("../kernel/define.js").ViewDef<{
|
|
|
1238
1365
|
summary: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1239
1366
|
heldBy: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1240
1367
|
usedBy: import("zod").ZodArray<import("zod").ZodString>;
|
|
1368
|
+
usedFor: import("zod").ZodString;
|
|
1241
1369
|
warnings: import("zod").ZodArray<import("zod").ZodString>;
|
|
1242
1370
|
canImport: import("zod").ZodBoolean;
|
|
1243
1371
|
canLogin: import("zod").ZodBoolean;
|
|
1244
1372
|
needsFile: import("zod").ZodBoolean;
|
|
1373
|
+
ready: import("zod").ZodBoolean;
|
|
1245
1374
|
}, import("zod/v4/core").$strip>>;
|
|
1246
1375
|
}, import("zod/v4/core").$strip>, "accounts.services">;
|
|
1376
|
+
github: QueryDef<import("zod").ZodObject<{}, import("zod/v4/core").$strict>, import("zod").ZodObject<{
|
|
1377
|
+
shareToken: import("zod").ZodBoolean;
|
|
1378
|
+
gitAccess: import("zod").ZodEnum<{
|
|
1379
|
+
readonly: "readonly";
|
|
1380
|
+
none: "none";
|
|
1381
|
+
full: "full";
|
|
1382
|
+
}>;
|
|
1383
|
+
token: import("zod").ZodEnum<{
|
|
1384
|
+
none: "none";
|
|
1385
|
+
saved: "saved";
|
|
1386
|
+
unreadable: "unreadable";
|
|
1387
|
+
}>;
|
|
1388
|
+
kind: import("zod").ZodNullable<import("zod").ZodEnum<{
|
|
1389
|
+
"fine-grained": "fine-grained";
|
|
1390
|
+
classic: "classic";
|
|
1391
|
+
}>>;
|
|
1392
|
+
savedAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1393
|
+
login: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1394
|
+
expiresAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1395
|
+
repoCount: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
1396
|
+
checkedAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1397
|
+
tokenUrl: import("zod").ZodString;
|
|
1398
|
+
}, import("zod/v4/core").$strip>, "github.status">;
|
|
1247
1399
|
}, Record<string, never>, "accounts">, import("../kernel/define.js").ViewDef<{
|
|
1248
1400
|
apps: QueryDef<import("zod").ZodObject<{
|
|
1249
1401
|
scope: import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
@@ -1649,6 +1801,17 @@ export declare const VIEWS: readonly [import("../kernel/define.js").ViewDef<{
|
|
|
1649
1801
|
}>;
|
|
1650
1802
|
text: import("zod").ZodString;
|
|
1651
1803
|
}, import("zod/v4/core").$strip>>;
|
|
1804
|
+
lastFailure: import("zod").ZodNullable<import("zod").ZodObject<{
|
|
1805
|
+
code: import("zod").ZodEnum<{
|
|
1806
|
+
auth: "auth";
|
|
1807
|
+
unreachable: "unreachable";
|
|
1808
|
+
driver: "driver";
|
|
1809
|
+
timeout: "timeout";
|
|
1810
|
+
other: "other";
|
|
1811
|
+
}>;
|
|
1812
|
+
text: import("zod").ZodString;
|
|
1813
|
+
at: import("zod").ZodString;
|
|
1814
|
+
}, import("zod/v4/core").$strip>>;
|
|
1652
1815
|
}, import("zod/v4/core").$strip>, "vpn.status">;
|
|
1653
1816
|
}, Record<string, never>, "vpn">, import("../kernel/define.js").ViewDef<{
|
|
1654
1817
|
status: QueryDef<import("zod").ZodObject<{}, import("zod/v4/core").$strict>, import("zod").ZodObject<{
|
|
@@ -1668,6 +1831,11 @@ export declare const VIEWS: readonly [import("../kernel/define.js").ViewDef<{
|
|
|
1668
1831
|
classic: "classic";
|
|
1669
1832
|
}>>;
|
|
1670
1833
|
savedAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1834
|
+
login: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1835
|
+
expiresAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1836
|
+
repoCount: import("zod").ZodNullable<import("zod").ZodNumber>;
|
|
1837
|
+
checkedAt: import("zod").ZodNullable<import("zod").ZodString>;
|
|
1838
|
+
tokenUrl: import("zod").ZodString;
|
|
1671
1839
|
}, import("zod/v4/core").$strip>, "github.status">;
|
|
1672
1840
|
}, Record<string, never>, "github">, import("../kernel/define.js").ViewDef<{
|
|
1673
1841
|
status: QueryDef<import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { addAgent, agentsView, listAgents, makeDefaultAgent, removeAgent, startAgent } from './agents/agents.def.js';
|
|
2
|
+
import { agentEnv, agentEnvView, agentsEnvSet } from './agents/env.def.js';
|
|
2
3
|
import { accountsView, defaultAccount, listAccounts, removeAccount, renameAccount, saveAccount, useAccount, } from './accounts/accounts.def.js';
|
|
3
4
|
import { listServices, serviceImport, serviceLogin, serviceLogout } from './accounts/services.def.js';
|
|
4
5
|
import { appsView, listApps, requestApp, setCustomApps, toggleApp } from './apps/apps.def.js';
|
|
@@ -12,6 +13,7 @@ import { addProject, allProjects, chooseProjects, excludeProject, includeProject
|
|
|
12
13
|
import { listLogs, logsView, tailLog } from './logs/logs.def.js';
|
|
13
14
|
import { auditView, listAudit } from './audit/audit.def.js';
|
|
14
15
|
import { closeSession, listSessions, restartSessions, sessionsView, startShell } from './sessions/sessions.def.js';
|
|
16
|
+
import { agentCommandsOff, agentCommandsOn, agentCommandsStatus } from './agent-commands/agent-commands.def.js';
|
|
15
17
|
import { vpnLogin, vpnLogout, vpnStatus, vpnView } from './vpn/vpn.def.js';
|
|
16
18
|
import { githubLogin, githubLogout, githubStatus, githubView } from './github/github.def.js';
|
|
17
19
|
import { exportConfig, getSetting, importConfig, listSettings, resetSetting, setSetting, settingsView, } from './settings/settings.def.js';
|
|
@@ -31,6 +33,7 @@ export const OPERATIONS = [
|
|
|
31
33
|
addAgent,
|
|
32
34
|
makeDefaultAgent,
|
|
33
35
|
removeAgent,
|
|
36
|
+
agentsEnvSet,
|
|
34
37
|
setSetting,
|
|
35
38
|
resetSetting,
|
|
36
39
|
exportConfig,
|
|
@@ -67,6 +70,8 @@ export const OPERATIONS = [
|
|
|
67
70
|
stopWeb,
|
|
68
71
|
vpnLogin,
|
|
69
72
|
vpnLogout,
|
|
73
|
+
agentCommandsOn,
|
|
74
|
+
agentCommandsOff,
|
|
70
75
|
githubLogin,
|
|
71
76
|
githubLogout,
|
|
72
77
|
serviceImport,
|
|
@@ -82,6 +87,7 @@ export const QUERIES = [
|
|
|
82
87
|
sandboxStatus,
|
|
83
88
|
listSessions,
|
|
84
89
|
listAgents,
|
|
90
|
+
agentEnv,
|
|
85
91
|
listSettings,
|
|
86
92
|
getSetting,
|
|
87
93
|
browseFolder,
|
|
@@ -101,6 +107,7 @@ export const QUERIES = [
|
|
|
101
107
|
engineLeftovers,
|
|
102
108
|
webStatus,
|
|
103
109
|
vpnStatus,
|
|
110
|
+
agentCommandsStatus,
|
|
104
111
|
githubStatus,
|
|
105
112
|
listServices,
|
|
106
113
|
accessStatus,
|
|
@@ -109,6 +116,7 @@ export const VIEWS = [
|
|
|
109
116
|
sandboxView,
|
|
110
117
|
sessionsView,
|
|
111
118
|
agentsView,
|
|
119
|
+
agentEnvView,
|
|
112
120
|
settingsView,
|
|
113
121
|
accountsView,
|
|
114
122
|
appsView,
|
|
@@ -159,6 +167,7 @@ export const NAV = [
|
|
|
159
167
|
label: 'Workspace',
|
|
160
168
|
children: [
|
|
161
169
|
{ label: 'Agents', view: 'agents' },
|
|
170
|
+
{ label: 'Claude environment', view: 'agentEnv' },
|
|
162
171
|
{ label: 'Sessions', view: 'sessions' },
|
|
163
172
|
{ label: 'Activity', view: 'audit' },
|
|
164
173
|
],
|
|
@@ -72,6 +72,6 @@ export const cleanEngineRun = implement(cleanEngine, async (ctx, _input, io) =>
|
|
|
72
72
|
const stopped = results.filter((r) => r.stopped).length;
|
|
73
73
|
const failed = results.length - stopped;
|
|
74
74
|
if (failed)
|
|
75
|
-
fail(plural(failed, 'HCS system') + ' could not be stopped.', '
|
|
75
|
+
fail(plural(failed, 'HCS system') + ' could not be stopped.', 'Stopping them needs administrator rights: start the menu from an administrator terminal and try again.');
|
|
76
76
|
return { available: true, stopped, failed, message: 'Stopped ' + plural(stopped, 'HCS system') + '.' };
|
|
77
77
|
});
|
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { type Page } from '../../kernel/index.js';
|
|
2
|
+
import { type Item, type Page, type Section } from '../../kernel/index.js';
|
|
3
3
|
/** Where GitHub makes a fine-grained token. */
|
|
4
4
|
export declare const NEW_TOKEN_URL = "https://github.com/settings/personal-access-tokens/new";
|
|
5
|
+
/** What a token for sandboxes needs (GitHub's names for the permissions), asked for in the pre-filled form. */
|
|
6
|
+
export declare const TOKEN_PERMISSIONS: Readonly<Record<string, 'read' | 'write'>>;
|
|
7
|
+
/**
|
|
8
|
+
* The link that opens GitHub's "new fine-grained token" form already filled in (name, description, days until it
|
|
9
|
+
* expires, permissions): docs.github.com, "Creating a fine-grained personal access token". Pure.
|
|
10
|
+
*/
|
|
11
|
+
export declare function newTokenUrl(o: {
|
|
12
|
+
readonly name: string;
|
|
13
|
+
readonly description?: string;
|
|
14
|
+
readonly days: number;
|
|
15
|
+
readonly permissions: Readonly<Record<string, 'read' | 'write'>>;
|
|
16
|
+
}): string;
|
|
17
|
+
/** The pre-filled link for this PC (the name says which PC the token is for). */
|
|
18
|
+
export declare function tokenUrlFor(host: string): string;
|
|
5
19
|
/** The steps to make a token for sandboxes (shown before asking for it). */
|
|
6
20
|
export declare const GITHUB_STEPS: readonly string[];
|
|
7
21
|
/** What everyone who shares a token must know: on every surface. */
|
|
@@ -23,6 +37,11 @@ export declare const GithubStatusSchema: z.ZodObject<{
|
|
|
23
37
|
classic: "classic";
|
|
24
38
|
}>>;
|
|
25
39
|
savedAt: z.ZodNullable<z.ZodString>;
|
|
40
|
+
login: z.ZodNullable<z.ZodString>;
|
|
41
|
+
expiresAt: z.ZodNullable<z.ZodString>;
|
|
42
|
+
repoCount: z.ZodNullable<z.ZodNumber>;
|
|
43
|
+
checkedAt: z.ZodNullable<z.ZodString>;
|
|
44
|
+
tokenUrl: z.ZodString;
|
|
26
45
|
}, z.core.$strip>;
|
|
27
46
|
export type GithubStatus = z.output<typeof GithubStatusSchema>;
|
|
28
47
|
export declare const githubStatus: import("../../kernel/define.js").QueryDef<z.ZodObject<{}, z.core.$strict>, z.ZodObject<{
|
|
@@ -42,6 +61,11 @@ export declare const githubStatus: import("../../kernel/define.js").QueryDef<z.Z
|
|
|
42
61
|
classic: "classic";
|
|
43
62
|
}>>;
|
|
44
63
|
savedAt: z.ZodNullable<z.ZodString>;
|
|
64
|
+
login: z.ZodNullable<z.ZodString>;
|
|
65
|
+
expiresAt: z.ZodNullable<z.ZodString>;
|
|
66
|
+
repoCount: z.ZodNullable<z.ZodNumber>;
|
|
67
|
+
checkedAt: z.ZodNullable<z.ZodString>;
|
|
68
|
+
tokenUrl: z.ZodString;
|
|
45
69
|
}, z.core.$strip>, "github.status">;
|
|
46
70
|
export declare const githubLogin: import("../../kernel/define.js").OperationDef<z.ZodObject<{}, z.core.$strict>, z.ZodObject<{
|
|
47
71
|
message: z.ZodString;
|
|
@@ -56,8 +80,20 @@ export declare function githubTokenRowOf(s: GithubStatus): {
|
|
|
56
80
|
hint: string;
|
|
57
81
|
description: string;
|
|
58
82
|
};
|
|
59
|
-
/**
|
|
60
|
-
export declare
|
|
83
|
+
/** A token that expires within this many days is flagged. */
|
|
84
|
+
export declare const EXPIRY_WARN_DAYS = 14;
|
|
85
|
+
/** How the expiry reads: "Expires 3 Feb 2027 (in 12 days)", "Expired 3 Feb 2027", and its tone. */
|
|
86
|
+
export declare function expiryOf(expiresAt: string | null, now?: number): {
|
|
87
|
+
readonly text: string;
|
|
88
|
+
readonly tone: 'ok' | 'warn' | 'danger';
|
|
89
|
+
readonly days: number;
|
|
90
|
+
} | null;
|
|
91
|
+
/** The GitHub card (the "thing you connect" pattern): used by the GitHub page and the Accounts page. */
|
|
92
|
+
export declare function githubItem(s: GithubStatus, now?: number): Item;
|
|
93
|
+
/** The GitHub section (the card, the git-access fact, the warnings and the link that opens GitHub's form). */
|
|
94
|
+
export declare function githubSection(s: GithubStatus, now?: number): Section;
|
|
95
|
+
/** The status page: the card, the git access it needs, the warnings and how to make a new token. */
|
|
96
|
+
export declare function githubPage(s: GithubStatus, now?: number): Page;
|
|
61
97
|
export declare const githubView: import("../../kernel/define.js").ViewDef<{
|
|
62
98
|
status: import("../../kernel/define.js").QueryDef<z.ZodObject<{}, z.core.$strict>, z.ZodObject<{
|
|
63
99
|
shareToken: z.ZodBoolean;
|
|
@@ -76,5 +112,10 @@ export declare const githubView: import("../../kernel/define.js").ViewDef<{
|
|
|
76
112
|
classic: "classic";
|
|
77
113
|
}>>;
|
|
78
114
|
savedAt: z.ZodNullable<z.ZodString>;
|
|
115
|
+
login: z.ZodNullable<z.ZodString>;
|
|
116
|
+
expiresAt: z.ZodNullable<z.ZodString>;
|
|
117
|
+
repoCount: z.ZodNullable<z.ZodNumber>;
|
|
118
|
+
checkedAt: z.ZodNullable<z.ZodString>;
|
|
119
|
+
tokenUrl: z.ZodString;
|
|
79
120
|
}, z.core.$strip>, "github.status">;
|
|
80
121
|
}, Record<string, never>, "github">;
|