windows-development-sandbox 1.7.0 → 1.9.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/config.example.json +10 -0
- package/dist/app/context.d.ts +8 -0
- package/dist/app/context.js +12 -0
- package/dist/app/features/defs.d.ts +322 -0
- package/dist/app/features/defs.js +28 -0
- package/dist/app/features/sandbox/index.d.ts +2 -0
- package/dist/app/features/sandbox/index.js +3 -0
- package/dist/app/features/sandbox/sandbox.def.d.ts +193 -0
- package/dist/app/features/sandbox/sandbox.def.js +245 -0
- package/dist/app/features/sandbox/sandbox.run.d.ts +72 -0
- package/dist/app/features/sandbox/sandbox.run.js +98 -0
- package/dist/app/features/sessions/index.d.ts +2 -0
- package/dist/app/features/sessions/index.js +3 -0
- package/dist/app/features/sessions/sessions.def.d.ts +141 -0
- package/dist/app/features/sessions/sessions.def.js +176 -0
- package/dist/app/features/sessions/sessions.run.d.ts +39 -0
- package/dist/app/features/sessions/sessions.run.js +58 -0
- package/dist/{cli/menu/settings/categories.d.ts → app/features/settings/categories.def.d.ts} +2 -0
- package/dist/{cli/menu/settings/categories.js → app/features/settings/categories.def.js} +24 -5
- package/dist/app/features/settings/index.d.ts +5 -0
- package/dist/app/features/settings/index.js +6 -0
- package/dist/{cli/menu/settings/config-file.d.ts → app/features/settings/settings-file.d.ts} +1 -1
- package/dist/{cli/menu/settings/config-file.js → app/features/settings/settings-file.js} +1 -1
- package/dist/app/features/settings/settings-rows.d.ts +35 -0
- package/dist/app/features/settings/settings-rows.js +94 -0
- package/dist/app/features/settings/settings.def.d.ts +157 -0
- package/dist/app/features/settings/settings.def.js +179 -0
- package/dist/app/features/settings/settings.run.d.ts +67 -0
- package/dist/app/features/settings/settings.run.js +84 -0
- package/dist/app/kernel/define.d.ts +143 -0
- package/dist/app/kernel/define.js +42 -0
- package/dist/app/kernel/errors.d.ts +34 -0
- package/dist/app/kernel/errors.js +45 -0
- package/dist/app/kernel/fields.d.ts +70 -0
- package/dist/app/kernel/fields.js +243 -0
- package/dist/app/kernel/index.d.ts +8 -0
- package/dist/app/kernel/index.js +10 -0
- package/dist/app/kernel/io.d.ts +193 -0
- package/dist/app/kernel/io.js +126 -0
- package/dist/app/kernel/rpc.d.ts +156 -0
- package/dist/app/kernel/rpc.js +47 -0
- package/dist/app/kernel/text.d.ts +6 -0
- package/dist/app/kernel/text.js +57 -0
- package/dist/app/kernel/view.d.ts +146 -0
- package/dist/app/kernel/view.js +28 -0
- package/dist/app/registry.d.ts +10 -0
- package/dist/app/registry.js +50 -0
- package/dist/cli/args.d.ts +5 -0
- package/dist/cli/args.js +6 -0
- package/dist/cli/commands/engine.d.ts +2 -0
- package/dist/cli/commands/engine.js +60 -0
- package/dist/cli/commands/index.d.ts +1 -1
- package/dist/cli/commands/index.js +1 -1
- package/dist/cli/commands/launch/launch.js +47 -7
- package/dist/cli/commands/launch/prepare.js +3 -3
- package/dist/cli/commands/launch/running.js +2 -1
- package/dist/cli/commands/launch/summary.d.ts +2 -0
- package/dist/cli/commands/maintenance/config-share.d.ts +12 -0
- package/dist/cli/commands/maintenance/config-share.js +80 -0
- package/dist/cli/commands/maintenance/config.js +8 -82
- package/dist/cli/commands/maintenance/logs.js +14 -0
- package/dist/cli/commands/registry.js +3 -7
- package/dist/cli/commands/repair/checks/contained.d.ts +2 -0
- package/dist/cli/commands/repair/checks/contained.js +139 -0
- package/dist/cli/commands/repair/checks/hcs.d.ts +7 -0
- package/dist/cli/commands/repair/checks/hcs.js +28 -0
- package/dist/cli/commands/repair/checks/index.js +4 -0
- package/dist/cli/commands/repair/checks/pc.js +32 -1
- package/dist/cli/commands/repair/checks/sandbox.js +16 -1
- package/dist/cli/commands/repair/checks/vpn.js +34 -9
- package/dist/cli/commands/repair/env.js +2 -1
- package/dist/cli/commands/sessions/index.d.ts +0 -4
- package/dist/cli/commands/sessions/index.js +3 -7
- package/dist/cli/commands/shared-use.d.ts +5 -2
- package/dist/cli/commands/shared-use.js +11 -8
- package/dist/cli/commands/storage/contained.d.ts +3 -0
- package/dist/cli/commands/storage/contained.js +179 -0
- package/dist/cli/commands/storage/offer.js +7 -1
- package/dist/cli/commands/storage/storage.js +10 -2
- package/dist/cli/commands/user-config.js +1 -1
- package/dist/cli/commands/vpn.js +19 -3
- package/dist/cli/commands/web.js +2 -0
- package/dist/cli/index.js +2 -1
- package/dist/cli/manifest.d.ts +72 -104
- package/dist/cli/manifest.js +64 -39
- package/dist/cli/menu/add-agent.d.ts +1 -1
- package/dist/cli/menu/add-agent.js +1 -1
- package/dist/cli/menu/apps.d.ts +7 -1
- package/dist/cli/menu/apps.js +36 -0
- package/dist/cli/menu/command-fields.d.ts +1 -1
- package/dist/cli/menu/command-form.js +2 -2
- package/dist/cli/menu/io-menu.d.ts +29 -0
- package/dist/cli/menu/io-menu.js +126 -0
- package/dist/cli/menu/live.d.ts +27 -0
- package/dist/cli/menu/live.js +69 -0
- package/dist/cli/menu/memory.d.ts +19 -0
- package/dist/cli/menu/memory.js +53 -0
- package/dist/cli/menu/menu.d.ts +10 -1
- package/dist/cli/menu/menu.js +27 -9
- package/dist/cli/menu/pages/agents-page.d.ts +3 -1
- package/dist/cli/menu/pages/agents-page.js +12 -5
- package/dist/cli/menu/pages/apps-page.d.ts +3 -1
- package/dist/cli/menu/pages/apps-page.js +19 -2
- package/dist/cli/menu/pages/list-page.d.ts +27 -0
- package/dist/cli/menu/pages/list-page.js +109 -7
- package/dist/cli/menu/pages/maintenance-page.d.ts +0 -5
- package/dist/cli/menu/pages/maintenance-page.js +17 -19
- package/dist/cli/menu/pages/sandbox-page.d.ts +4 -6
- package/dist/cli/menu/pages/sandbox-page.js +26 -118
- package/dist/cli/menu/pages/scopes.d.ts +1 -1
- package/dist/cli/menu/pages/sessions-page.d.ts +5 -11
- package/dist/cli/menu/pages/sessions-page.js +19 -88
- package/dist/cli/menu/pages/settings-page.d.ts +2 -10
- package/dist/cli/menu/pages/settings-page.js +64 -94
- package/dist/cli/menu/render-view.d.ts +28 -0
- package/dist/cli/menu/render-view.js +112 -0
- package/dist/cli/menu/settings/{path-kind.d.ts → ask-path.d.ts} +1 -7
- package/dist/cli/menu/settings/ask-path.js +14 -0
- package/dist/cli/menu/settings/collections/collection-editor.d.ts +1 -1
- package/dist/cli/menu/settings/collections/string-list-editor.d.ts +1 -2
- package/dist/cli/menu/settings/collections/string-list-editor.js +1 -1
- package/dist/cli/menu/settings/draft.d.ts +1 -1
- package/dist/cli/menu/settings/format.d.ts +1 -3
- package/dist/cli/menu/settings/format.js +6 -36
- package/dist/cli/menu/settings/index.d.ts +1 -3
- package/dist/cli/menu/settings/index.js +3 -3
- package/dist/cli/menu/settings/object-editor.d.ts +1 -1
- package/dist/cli/menu/settings/share.d.ts +36 -0
- package/dist/cli/menu/settings/share.js +131 -0
- package/dist/cli/menu/settings/value-editor.d.ts +5 -1
- package/dist/cli/menu/settings/value-editor.js +57 -54
- package/dist/cli/menu/several.js +1 -1
- package/dist/cli/menu/share-settings.d.ts +21 -0
- package/dist/cli/menu/share-settings.js +112 -0
- package/dist/cli/menu/shell.d.ts +21 -5
- package/dist/cli/menu/shell.js +31 -6
- package/dist/cli/menu/views.d.ts +7 -0
- package/dist/cli/menu/views.js +11 -0
- package/dist/cli/menu/vpn-login.js +8 -0
- package/dist/cli/operations/handler.d.ts +6 -0
- package/dist/cli/operations/handler.js +61 -0
- package/dist/cli/operations/index.d.ts +4 -0
- package/dist/cli/operations/index.js +5 -0
- package/dist/cli/operations/input.d.ts +6 -0
- package/dist/cli/operations/input.js +37 -0
- package/dist/cli/operations/io-cli.d.ts +7 -0
- package/dist/cli/operations/io-cli.js +62 -0
- package/dist/cli/operations/spec.d.ts +18 -0
- package/dist/cli/operations/spec.js +108 -0
- package/dist/cli/output/colors.d.ts +2 -2
- package/dist/cli/output/colors.js +2 -11
- package/dist/cli/output/index.d.ts +1 -0
- package/dist/cli/output/index.js +1 -0
- package/dist/cli/output/print.d.ts +3 -1
- package/dist/cli/output/print.js +7 -3
- package/dist/cli/output/progress.d.ts +15 -0
- package/dist/cli/output/progress.js +44 -0
- package/dist/cli/output/render-view.d.ts +4 -0
- package/dist/cli/output/render-view.js +63 -0
- package/dist/cli/services/agent-commands-service.d.ts +2 -0
- package/dist/cli/services/agent-commands-service.js +11 -2
- package/dist/cli/services/logs-service.js +4 -3
- package/dist/cli/tui/app.d.ts +6 -1
- package/dist/cli/tui/app.js +26 -4
- package/dist/cli/tui/list/list-screen.d.ts +14 -0
- package/dist/cli/tui/list/list-screen.js +64 -36
- package/dist/cli/tui/list/list-types.d.ts +2 -0
- package/dist/cli/tui/terminal.d.ts +7 -0
- package/dist/cli/tui/terminal.js +30 -10
- package/dist/core/config/defaults.js +8 -0
- package/dist/core/schema/config.d.ts +13 -0
- package/dist/core/schema/config.js +16 -1
- package/dist/core/schema/harness.d.ts +1 -0
- package/dist/core/schema/harness.js +5 -0
- package/dist/core/schema/sandbox.d.ts +6 -0
- package/dist/core/schema/sandbox.js +20 -3
- package/dist/core/schema/vpn.d.ts +2 -1
- package/dist/core/schema/vpn.js +3 -3
- package/dist/core/types.d.ts +23 -5
- package/dist/core/util/fs.d.ts +2 -0
- package/dist/core/util/fs.js +9 -0
- package/dist/core/util/index.d.ts +1 -1
- package/dist/core/util/index.js +1 -1
- package/dist/guest/agents/agent-files.d.ts +5 -0
- package/dist/guest/agents/agent-files.js +4 -0
- package/dist/guest/agents/local-state.d.ts +2 -0
- package/dist/guest/agents/local-state.js +21 -1
- package/dist/guest/boot/boot.js +2 -1
- package/dist/guest/daemon/daemon.js +4 -0
- package/dist/guest/daemon/sessions.d.ts +5 -0
- package/dist/guest/daemon/sessions.js +17 -3
- package/dist/guest/entries/daemon.js +3 -0
- package/dist/guest/governor/decide.d.ts +61 -0
- package/dist/guest/governor/decide.js +182 -0
- package/dist/guest/governor/governor.d.ts +42 -0
- package/dist/guest/governor/governor.js +214 -0
- package/dist/guest/governor/index.d.ts +2 -0
- package/dist/guest/governor/index.js +2 -0
- package/dist/guest/runtime/csc.d.ts +1 -0
- package/dist/guest/runtime/csc.js +1 -0
- package/dist/guest/sessions/viewer.js +3 -1
- package/dist/guest/toolchains/native/rust-extras.js +4 -2
- package/dist/guest/vpn/vpn.js +69 -21
- package/dist/guest/vpn/wireguard.d.ts +32 -0
- package/dist/guest/vpn/wireguard.js +132 -0
- package/dist/host/agent-commands/commands.d.ts +4 -0
- package/dist/host/agent-commands/commands.js +31 -7
- package/dist/host/audit/log.d.ts +1 -1
- package/dist/host/channel/attach.d.ts +3 -1
- package/dist/host/channel/attach.js +5 -2
- package/dist/host/channel/channel.d.ts +2 -0
- package/dist/host/channel/channel.js +4 -0
- package/dist/host/engines/engine.d.ts +12 -0
- package/dist/host/engines/engine.js +1 -0
- package/dist/host/engines/hcs/check.d.ts +25 -0
- package/dist/host/engines/hcs/check.js +95 -0
- package/dist/host/engines/hcs/documents.d.ts +44 -0
- package/dist/host/engines/hcs/documents.js +155 -0
- package/dist/host/engines/hcs/engine.d.ts +39 -0
- package/dist/host/engines/hcs/engine.js +171 -0
- package/dist/host/engines/hcs/helper.d.ts +43 -0
- package/dist/host/engines/hcs/helper.js +173 -0
- package/dist/host/engines/hcs/images.d.ts +37 -0
- package/dist/host/engines/hcs/images.js +152 -0
- package/dist/host/engines/index.d.ts +7 -0
- package/dist/host/engines/index.js +5 -0
- package/dist/host/engines/registry.d.ts +16 -0
- package/dist/host/engines/registry.js +30 -0
- package/dist/host/engines/types.d.ts +58 -0
- package/dist/host/engines/types.js +1 -0
- package/dist/host/engines/windows-sandbox/engine.d.ts +16 -0
- package/dist/host/engines/windows-sandbox/engine.js +63 -0
- package/dist/host/engines/windows-sandbox/wsb-text.d.ts +2 -0
- package/dist/host/engines/windows-sandbox/wsb-text.js +29 -0
- package/dist/host/launch/generate.d.ts +5 -1
- package/dist/host/launch/generate.js +50 -8
- package/dist/host/launch/index.d.ts +3 -1
- package/dist/host/launch/index.js +3 -1
- package/dist/host/launch/launch-plan.d.ts +13 -0
- package/dist/host/launch/launch-plan.js +26 -0
- package/dist/host/launch/mappings.js +2 -1
- package/dist/host/launch/risk-notes.d.ts +10 -0
- package/dist/host/launch/risk-notes.js +18 -0
- package/dist/host/launch/session-file.d.ts +2 -0
- package/dist/host/launch/session-file.js +7 -1
- package/dist/host/launch/wsb-file.d.ts +28 -4
- package/dist/host/launch/wsb-file.js +61 -42
- package/dist/host/life/crash-report.d.ts +27 -1
- package/dist/host/life/crash-report.js +173 -7
- package/dist/host/life/host-memory.d.ts +40 -0
- package/dist/host/life/host-memory.js +137 -0
- package/dist/host/life/index.d.ts +2 -0
- package/dist/host/life/index.js +2 -0
- package/dist/host/life/stop-events.d.ts +2 -0
- package/dist/host/life/stop-events.js +20 -3
- package/dist/host/life/stop-warning.js +1 -1
- package/dist/host/life/watchdog.d.ts +54 -0
- package/dist/host/life/watchdog.js +108 -0
- package/dist/host/native.d.ts +3 -2
- package/dist/host/native.js +22 -3
- package/dist/host/profile/claude-login.js +3 -2
- package/dist/host/sandbox/contained-deps.d.ts +2 -0
- package/dist/host/sandbox/contained-deps.js +17 -0
- package/dist/host/sandbox/index.d.ts +2 -0
- package/dist/host/sandbox/index.js +2 -0
- package/dist/host/sandbox/platform.d.ts +2 -0
- package/dist/host/sandbox/platform.js +7 -7
- package/dist/host/sandbox/tasklist.d.ts +13 -0
- package/dist/host/sandbox/tasklist.js +47 -0
- package/dist/host/secrets/launch-secrets.js +2 -1
- package/dist/host/sharing/current.js +2 -6
- package/dist/host/storage/contained/check.d.ts +9 -0
- package/dist/host/storage/contained/check.js +37 -0
- package/dist/host/storage/contained/contained-storage.d.ts +66 -0
- package/dist/host/storage/contained/contained-storage.js +168 -0
- package/dist/host/storage/contained/disk-port.d.ts +43 -0
- package/dist/host/storage/contained/disk-port.js +122 -0
- package/dist/host/storage/contained/index.d.ts +9 -0
- package/dist/host/storage/contained/index.js +8 -0
- package/dist/host/storage/contained/layout.d.ts +28 -0
- package/dist/host/storage/contained/layout.js +45 -0
- package/dist/host/storage/contained/resolve.d.ts +4 -0
- package/dist/host/storage/contained/resolve.js +30 -0
- package/dist/host/storage/contained/setting.d.ts +1 -0
- package/dist/host/storage/contained/setting.js +5 -0
- package/dist/host/storage/contained/state.d.ts +89 -0
- package/dist/host/storage/contained/state.js +166 -0
- package/dist/host/storage/contained/transfer.d.ts +24 -0
- package/dist/host/storage/contained/transfer.js +121 -0
- package/dist/host/storage/index.d.ts +2 -0
- package/dist/host/storage/index.js +2 -0
- package/dist/host/storage/providers/contained.d.ts +15 -0
- package/dist/host/storage/providers/contained.js +39 -0
- package/dist/host/storage/providers/folder.d.ts +12 -0
- package/dist/host/storage/providers/folder.js +20 -0
- package/dist/host/storage/providers/index.d.ts +4 -0
- package/dist/host/storage/providers/index.js +3 -0
- package/dist/host/storage/providers/registry.d.ts +9 -0
- package/dist/host/storage/providers/registry.js +14 -0
- package/dist/host/storage/providers/types.d.ts +33 -0
- package/dist/host/storage/providers/types.js +1 -0
- package/dist/host/tools/conpty.js +3 -2
- package/dist/host/tools/windows-terminal.js +8 -7
- package/dist/host/vpn/index.d.ts +1 -1
- package/dist/host/vpn/index.js +1 -1
- package/dist/host/vpn/prepare.d.ts +2 -0
- package/dist/host/vpn/prepare.js +63 -2
- package/dist/host/web/browser.d.ts +2 -0
- package/dist/host/web/browser.js +14 -1
- package/dist/host/web/index.d.ts +3 -2
- package/dist/host/web/index.js +3 -2
- package/dist/host/web/rpc.d.ts +24 -0
- package/dist/host/web/rpc.js +149 -0
- package/dist/host/web/runner.d.ts +2 -0
- package/dist/host/web/runner.js +1 -2
- package/dist/host/web/server.d.ts +7 -0
- package/dist/host/web/server.js +23 -3
- package/dist/runtime/agent.js +69 -8
- package/dist/runtime/daemon.js +1058 -624
- package/dist/runtime/db.js +69 -8
- package/dist/runtime/main.js +624 -182
- package/dist/runtime/netproxy.js +69 -8
- package/dist/runtime/view.js +87 -13
- package/dist/selftest/agent-paths.test.js +11 -1
- package/dist/selftest/app.test.d.ts +2 -0
- package/dist/selftest/app.test.js +324 -0
- package/dist/selftest/channel.test.js +13 -0
- package/dist/selftest/cli.test.js +2 -1
- package/dist/selftest/config.test.js +59 -0
- package/dist/selftest/contained.test.d.ts +2 -0
- package/dist/selftest/contained.test.js +544 -0
- package/dist/selftest/credentials.test.js +1 -1
- package/dist/selftest/engine.test.d.ts +2 -0
- package/dist/selftest/engine.test.js +127 -0
- package/dist/selftest/hcs.test.d.ts +2 -0
- package/dist/selftest/hcs.test.js +482 -0
- package/dist/selftest/heavy-load.test.d.ts +2 -0
- package/dist/selftest/heavy-load.test.js +329 -0
- package/dist/selftest/index.js +12 -0
- package/dist/selftest/layout.test.js +12 -0
- package/dist/selftest/menu-perf.test.d.ts +2 -0
- package/dist/selftest/menu-perf.test.js +248 -0
- package/dist/selftest/menu-screens.js +4 -2
- package/dist/selftest/menu.test.js +36 -8
- package/dist/selftest/support/engine-cases.d.ts +8 -0
- package/dist/selftest/support/engine-cases.js +65 -0
- package/dist/selftest/support/engine-golden.d.ts +3 -0
- package/dist/selftest/support/engine-golden.js +66 -0
- package/dist/selftest/support/fixtures.d.ts +7 -1
- package/dist/selftest/support/hcs-probes.d.ts +17 -0
- package/dist/selftest/support/hcs-probes.js +41 -0
- package/dist/selftest/vpn.test.js +136 -3
- package/dist/selftest/web.test.js +101 -3
- package/dist/shared/channel/run-dir.d.ts +4 -1
- package/dist/shared/channel/run-dir.js +7 -1
- package/dist/shared/channel/schema.d.ts +35 -1
- package/dist/shared/channel/schema.js +27 -0
- package/dist/shared/channel/secrets.d.ts +1 -0
- package/dist/shared/channel/secrets.js +6 -0
- package/dist/shared/memory/index.d.ts +1 -0
- package/dist/shared/memory/index.js +1 -0
- package/dist/shared/memory/policy.d.ts +33 -0
- package/dist/shared/memory/policy.js +55 -0
- package/dist/shared/pty/output-filter.d.ts +14 -1
- package/dist/shared/pty/output-filter.js +22 -4
- package/dist/shared/pty/terminal.d.ts +4 -1
- package/dist/shared/pty/terminal.js +4 -2
- package/dist/shared/system.d.ts +1 -0
- package/dist/shared/system.js +1 -0
- package/dist/shared/vpn/download.d.ts +16 -0
- package/dist/shared/vpn/download.js +16 -0
- package/dist/shared/vpn/wireguard.d.ts +51 -0
- package/dist/shared/vpn/wireguard.js +227 -0
- package/dist/sync/sync-cycle.js +5 -5
- package/dist/sync/watcher.d.ts +13 -0
- package/dist/sync/watcher.js +92 -3
- package/dist/web/index.html +4 -3
- package/dist/web/main-NRRS5O6Z.js +157 -0
- package/dist/web/main-T5DMCHYV.css +1 -0
- package/native/csharp/HcsHost/AssemblyInfo.cs +14 -0
- package/native/csharp/HcsHost/Guard.cs +100 -0
- package/native/csharp/HcsHost/Hcs.cs +256 -0
- package/native/csharp/HcsHost/Json.cs +78 -0
- package/native/csharp/HcsHost/Program.cs +185 -0
- package/native/csharp/HcsHost/VirtualDisk.cs +95 -0
- package/native/csharp/HostTools/AssemblyInfo.cs +14 -0
- package/native/csharp/HostTools/MemoryStatus.cs +107 -0
- package/native/csharp/HostTools/Program.cs +58 -17
- package/native/scripts/check-contained.ps1 +28 -0
- package/native/scripts/contained-common.ps1 +241 -0
- package/native/scripts/dismount-contained.ps1 +66 -0
- package/native/scripts/memory-status.ps1 +34 -0
- package/native/scripts/mount-contained.ps1 +139 -0
- package/native/scripts/run-elevated.ps1 +17 -4
- package/native/scripts/stop-events.ps1 +23 -8
- package/package.json +9 -2
- package/sandbox/csharp/MemGov.cs +398 -0
- package/sandbox/csharp/PtyHost.cs +111 -5
- package/schemas/config.schema.json +60 -6
- package/schemas/sandbox-config.schema.json +3 -3
- package/dist/cli/commands/sessions/control.d.ts +0 -4
- package/dist/cli/commands/sessions/control.js +0 -66
- package/dist/cli/commands/sessions/list.d.ts +0 -2
- package/dist/cli/commands/sessions/list.js +0 -48
- package/dist/cli/commands/sessions/status.d.ts +0 -4
- package/dist/cli/commands/sessions/status.js +0 -114
- package/dist/cli/commands/sessions/window.d.ts +0 -3
- package/dist/cli/commands/sessions/window.js +0 -18
- package/dist/cli/menu/settings/path-kind.js +0 -44
- package/dist/web/main-CXESL347.js +0 -45
- package/dist/web/main-VLR7DVQ4.css +0 -1
- /package/dist/{cli/menu/settings → app/kernel}/schema-node.d.ts +0 -0
- /package/dist/{cli/menu/settings → app/kernel}/schema-node.js +0 -0
package/dist/cli/manifest.d.ts
CHANGED
|
@@ -205,34 +205,6 @@ declare const COMMAND_LIST: readonly [{
|
|
|
205
205
|
group?: string | undefined;
|
|
206
206
|
shownAs?: string | undefined;
|
|
207
207
|
}];
|
|
208
|
-
}, {
|
|
209
|
-
readonly name: "sessions";
|
|
210
|
-
readonly summary: "list agent sessions and who is attached";
|
|
211
|
-
readonly group: "Sessions";
|
|
212
|
-
readonly args: readonly [];
|
|
213
|
-
readonly options: readonly [{
|
|
214
|
-
flag: string;
|
|
215
|
-
type: "string" | "number" | "boolean" | "list";
|
|
216
|
-
description: string;
|
|
217
|
-
short?: string | undefined;
|
|
218
|
-
value?: string | undefined;
|
|
219
|
-
label?: string | undefined;
|
|
220
|
-
default?: string | number | undefined;
|
|
221
|
-
choices?: string[] | "harnesses" | "sessions" | "accounts" | undefined;
|
|
222
|
-
advanced?: boolean | undefined;
|
|
223
|
-
when?: string | undefined;
|
|
224
|
-
noMenu?: boolean | undefined;
|
|
225
|
-
group?: string | undefined;
|
|
226
|
-
shownAs?: string | undefined;
|
|
227
|
-
}];
|
|
228
|
-
readonly json: true;
|
|
229
|
-
}, {
|
|
230
|
-
readonly name: "status";
|
|
231
|
-
readonly summary: "show what the sandbox is doing";
|
|
232
|
-
readonly group: "Sessions";
|
|
233
|
-
readonly args: readonly [];
|
|
234
|
-
readonly options: readonly [];
|
|
235
|
-
readonly json: true;
|
|
236
208
|
}, {
|
|
237
209
|
readonly name: "db";
|
|
238
210
|
readonly summary: "list, start or stop databases in the running sandbox";
|
|
@@ -283,60 +255,6 @@ declare const COMMAND_LIST: readonly [{
|
|
|
283
255
|
}];
|
|
284
256
|
readonly passthrough: "command";
|
|
285
257
|
readonly json: true;
|
|
286
|
-
}, {
|
|
287
|
-
readonly name: "restart";
|
|
288
|
-
readonly summary: "restart this project's running agents in place; they resume their conversation";
|
|
289
|
-
readonly group: "Agents";
|
|
290
|
-
readonly args: readonly [];
|
|
291
|
-
readonly options: readonly [{
|
|
292
|
-
flag: string;
|
|
293
|
-
type: "string" | "number" | "boolean" | "list";
|
|
294
|
-
description: string;
|
|
295
|
-
short?: string | undefined;
|
|
296
|
-
value?: string | undefined;
|
|
297
|
-
label?: string | undefined;
|
|
298
|
-
default?: string | number | undefined;
|
|
299
|
-
choices?: string[] | "harnesses" | "sessions" | "accounts" | undefined;
|
|
300
|
-
advanced?: boolean | undefined;
|
|
301
|
-
when?: string | undefined;
|
|
302
|
-
noMenu?: boolean | undefined;
|
|
303
|
-
group?: string | undefined;
|
|
304
|
-
shownAs?: string | undefined;
|
|
305
|
-
}, {
|
|
306
|
-
flag: string;
|
|
307
|
-
type: "string" | "number" | "boolean" | "list";
|
|
308
|
-
description: string;
|
|
309
|
-
short?: string | undefined;
|
|
310
|
-
value?: string | undefined;
|
|
311
|
-
label?: string | undefined;
|
|
312
|
-
default?: string | number | undefined;
|
|
313
|
-
choices?: string[] | "harnesses" | "sessions" | "accounts" | undefined;
|
|
314
|
-
advanced?: boolean | undefined;
|
|
315
|
-
when?: string | undefined;
|
|
316
|
-
noMenu?: boolean | undefined;
|
|
317
|
-
group?: string | undefined;
|
|
318
|
-
shownAs?: string | undefined;
|
|
319
|
-
}];
|
|
320
|
-
}, {
|
|
321
|
-
readonly name: "stop";
|
|
322
|
-
readonly summary: "shut the sandbox down (every project's sessions end)";
|
|
323
|
-
readonly group: "Agents";
|
|
324
|
-
readonly args: readonly [];
|
|
325
|
-
readonly options: readonly [{
|
|
326
|
-
flag: string;
|
|
327
|
-
type: "string" | "number" | "boolean" | "list";
|
|
328
|
-
description: string;
|
|
329
|
-
short?: string | undefined;
|
|
330
|
-
value?: string | undefined;
|
|
331
|
-
label?: string | undefined;
|
|
332
|
-
default?: string | number | undefined;
|
|
333
|
-
choices?: string[] | "harnesses" | "sessions" | "accounts" | undefined;
|
|
334
|
-
advanced?: boolean | undefined;
|
|
335
|
-
when?: string | undefined;
|
|
336
|
-
noMenu?: boolean | undefined;
|
|
337
|
-
group?: string | undefined;
|
|
338
|
-
shownAs?: string | undefined;
|
|
339
|
-
}];
|
|
340
258
|
}, {
|
|
341
259
|
readonly name: "projects";
|
|
342
260
|
readonly summary: "the projects a sandbox can open without a restart: list, choose, roots, all/exclude";
|
|
@@ -374,18 +292,6 @@ declare const COMMAND_LIST: readonly [{
|
|
|
374
292
|
group?: string | undefined;
|
|
375
293
|
shownAs?: string | undefined;
|
|
376
294
|
}];
|
|
377
|
-
}, {
|
|
378
|
-
readonly name: "show";
|
|
379
|
-
readonly summary: "show the sandbox window";
|
|
380
|
-
readonly group: "Sessions";
|
|
381
|
-
readonly args: readonly [];
|
|
382
|
-
readonly options: readonly [];
|
|
383
|
-
}, {
|
|
384
|
-
readonly name: "hide";
|
|
385
|
-
readonly summary: "hide the sandbox window (it keeps running)";
|
|
386
|
-
readonly group: "Sessions";
|
|
387
|
-
readonly args: readonly [];
|
|
388
|
-
readonly options: readonly [];
|
|
389
295
|
}, {
|
|
390
296
|
readonly name: "account";
|
|
391
297
|
readonly summary: "Claude logins: list, save, use, set the default, remove";
|
|
@@ -510,19 +416,19 @@ declare const COMMAND_LIST: readonly [{
|
|
|
510
416
|
readonly examples: readonly ["sandbox data clean pick what to delete from a list", "sandbox data clean logs tools/go delete these"];
|
|
511
417
|
}, {
|
|
512
418
|
readonly name: "storage";
|
|
513
|
-
readonly summary: "where your saved data lives: show it, move it to another folder, or
|
|
419
|
+
readonly summary: "where your saved data lives: show it, move it to another folder, switch folders, or (beta) keep it in a disk image";
|
|
514
420
|
readonly group: "Data";
|
|
515
|
-
readonly examples: readonly ["sandbox storage where the data is", "sandbox storage move D:\\sandbox-data move it (asks first)"];
|
|
421
|
+
readonly examples: readonly ["sandbox storage where the data is", "sandbox storage move D:\\sandbox-data move it (asks first)", "sandbox storage contained status (beta) the disk image for tools, state and logs", "sandbox storage contained on (beta) keep them in a disk image (asks first)"];
|
|
516
422
|
readonly args: readonly [{
|
|
517
423
|
readonly name: "action";
|
|
518
|
-
readonly description: "show, move or
|
|
424
|
+
readonly description: "show, move, use or contained";
|
|
519
425
|
readonly required: false;
|
|
520
|
-
readonly choices: readonly ["show", "move", "use"];
|
|
426
|
+
readonly choices: readonly ["show", "move", "use", "contained"];
|
|
521
427
|
}, {
|
|
522
428
|
readonly name: "folder";
|
|
523
|
-
readonly description: "the folder to move to, or to use";
|
|
429
|
+
readonly description: "the folder to move to, or to use; for contained: on, off or status";
|
|
524
430
|
readonly required: false;
|
|
525
|
-
readonly when: readonly ["move", "use"];
|
|
431
|
+
readonly when: readonly ["move", "use", "contained"];
|
|
526
432
|
}];
|
|
527
433
|
readonly options: readonly [{
|
|
528
434
|
flag: string;
|
|
@@ -554,6 +460,25 @@ declare const COMMAND_LIST: readonly [{
|
|
|
554
460
|
shownAs?: string | undefined;
|
|
555
461
|
}];
|
|
556
462
|
readonly json: true;
|
|
463
|
+
}, {
|
|
464
|
+
readonly name: "engine";
|
|
465
|
+
readonly summary: "(beta) what runs your sandbox (Windows Sandbox or HCS) and what each engine can do on this PC";
|
|
466
|
+
readonly group: "Health";
|
|
467
|
+
readonly examples: readonly ["sandbox engine the engine in use and what each can do", "sandbox engine check hcs what this PC lacks for the HCS engine, and the commands that would fix it"];
|
|
468
|
+
readonly args: readonly [{
|
|
469
|
+
readonly name: "action";
|
|
470
|
+
readonly description: "show or check";
|
|
471
|
+
readonly required: false;
|
|
472
|
+
readonly choices: readonly ["show", "check"];
|
|
473
|
+
}, {
|
|
474
|
+
readonly name: "engine";
|
|
475
|
+
readonly description: "the engine to check";
|
|
476
|
+
readonly required: false;
|
|
477
|
+
readonly choices: readonly ["windows-sandbox", "hcs"];
|
|
478
|
+
readonly when: "check";
|
|
479
|
+
}];
|
|
480
|
+
readonly options: readonly [];
|
|
481
|
+
readonly json: true;
|
|
557
482
|
}, {
|
|
558
483
|
readonly name: "clean";
|
|
559
484
|
readonly summary: "delete old launch folders, logs and leftovers";
|
|
@@ -646,6 +571,20 @@ declare const COMMAND_LIST: readonly [{
|
|
|
646
571
|
noMenu?: boolean | undefined;
|
|
647
572
|
group?: string | undefined;
|
|
648
573
|
shownAs?: string | undefined;
|
|
574
|
+
}, {
|
|
575
|
+
flag: string;
|
|
576
|
+
type: "string" | "number" | "boolean" | "list";
|
|
577
|
+
description: string;
|
|
578
|
+
short?: string | undefined;
|
|
579
|
+
value?: string | undefined;
|
|
580
|
+
label?: string | undefined;
|
|
581
|
+
default?: string | number | undefined;
|
|
582
|
+
choices?: string[] | "harnesses" | "sessions" | "accounts" | undefined;
|
|
583
|
+
advanced?: boolean | undefined;
|
|
584
|
+
when?: string | undefined;
|
|
585
|
+
noMenu?: boolean | undefined;
|
|
586
|
+
group?: string | undefined;
|
|
587
|
+
shownAs?: string | undefined;
|
|
649
588
|
}];
|
|
650
589
|
}, {
|
|
651
590
|
readonly name: "setup";
|
|
@@ -867,13 +806,13 @@ declare const COMMAND_LIST: readonly [{
|
|
|
867
806
|
readonly name: "action";
|
|
868
807
|
readonly description: "what to do";
|
|
869
808
|
readonly required: false;
|
|
870
|
-
readonly choices: readonly ["show", "path", "init", "schema", "check", "get", "set"];
|
|
809
|
+
readonly choices: readonly ["show", "path", "init", "schema", "check", "get", "set", "export", "import"];
|
|
871
810
|
readonly aliases: readonly ["summary"];
|
|
872
811
|
}, {
|
|
873
812
|
readonly name: "key";
|
|
874
|
-
readonly description: "(get, set) the setting, e.g. sandbox.memoryMb";
|
|
813
|
+
readonly description: "(get, set, reset) the setting, e.g. sandbox.memoryMb; (export, import) the .json file";
|
|
875
814
|
readonly required: false;
|
|
876
|
-
readonly when: readonly ["get", "set"];
|
|
815
|
+
readonly when: readonly ["get", "set", "export", "import"];
|
|
877
816
|
}, {
|
|
878
817
|
readonly name: "value";
|
|
879
818
|
readonly description: "(set) the new value";
|
|
@@ -894,8 +833,36 @@ declare const COMMAND_LIST: readonly [{
|
|
|
894
833
|
noMenu?: boolean | undefined;
|
|
895
834
|
group?: string | undefined;
|
|
896
835
|
shownAs?: string | undefined;
|
|
836
|
+
}, {
|
|
837
|
+
flag: string;
|
|
838
|
+
type: "string" | "number" | "boolean" | "list";
|
|
839
|
+
description: string;
|
|
840
|
+
short?: string | undefined;
|
|
841
|
+
value?: string | undefined;
|
|
842
|
+
label?: string | undefined;
|
|
843
|
+
default?: string | number | undefined;
|
|
844
|
+
choices?: string[] | "harnesses" | "sessions" | "accounts" | undefined;
|
|
845
|
+
advanced?: boolean | undefined;
|
|
846
|
+
when?: string | undefined;
|
|
847
|
+
noMenu?: boolean | undefined;
|
|
848
|
+
group?: string | undefined;
|
|
849
|
+
shownAs?: string | undefined;
|
|
850
|
+
}, {
|
|
851
|
+
flag: string;
|
|
852
|
+
type: "string" | "number" | "boolean" | "list";
|
|
853
|
+
description: string;
|
|
854
|
+
short?: string | undefined;
|
|
855
|
+
value?: string | undefined;
|
|
856
|
+
label?: string | undefined;
|
|
857
|
+
default?: string | number | undefined;
|
|
858
|
+
choices?: string[] | "harnesses" | "sessions" | "accounts" | undefined;
|
|
859
|
+
advanced?: boolean | undefined;
|
|
860
|
+
when?: string | undefined;
|
|
861
|
+
noMenu?: boolean | undefined;
|
|
862
|
+
group?: string | undefined;
|
|
863
|
+
shownAs?: string | undefined;
|
|
897
864
|
}];
|
|
898
|
-
readonly examples: readonly ["sandbox config set sandbox.memoryMb 8192", "sandbox config get sandbox.memoryMb"];
|
|
865
|
+
readonly examples: readonly ["sandbox config set sandbox.memoryMb 8192", "sandbox config get sandbox.memoryMb", "sandbox config reset sandbox.memoryMb", "sandbox config list", "sandbox config export team-settings.json", "sandbox config import team-settings.json"];
|
|
899
866
|
}, {
|
|
900
867
|
readonly name: "agent-commands";
|
|
901
868
|
readonly summary: "(Beta) make claude, codex ... on this PC start in a hidden sandbox and attach";
|
|
@@ -1006,6 +973,7 @@ declare const COMMAND_LIST: readonly [{
|
|
|
1006
973
|
readonly options: readonly [];
|
|
1007
974
|
readonly hidden: true;
|
|
1008
975
|
}];
|
|
976
|
+
/** The hand-written commands (the shared core's own commands are not in this union). */
|
|
1009
977
|
export type CommandName = (typeof COMMAND_LIST)[number]['name'];
|
|
1010
978
|
export declare const COMMANDS: CommandSpec[];
|
|
1011
979
|
export declare function commandSpec(name: string): CommandSpec | undefined;
|
package/dist/cli/manifest.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
// Every command, defined once: name, group, arguments and options with their types. args.ts builds the commander
|
|
2
|
-
// parser from it and menu.ts builds the interactive menu from it, so a command added here works both ways.
|
|
2
|
+
// parser from it and menu.ts builds the interactive menu from it, so a command added here works both ways. Commands of
|
|
3
|
+
// the shared core (status, sessions, stop ... and actions such as config get) come from their definitions' CLI hints
|
|
4
|
+
// (cli/operations/spec.ts); this list shrinks as areas move into src/app.
|
|
3
5
|
import { z } from 'zod';
|
|
6
|
+
// The file rather than the barrel: the barrel's handlers need the registry, which needs the commands.
|
|
7
|
+
import { withOperationCommands } from './operations/spec.js';
|
|
4
8
|
const ChoicesSchema = z
|
|
5
9
|
.union([z.array(z.string()), z.enum(['harnesses', 'accounts', 'sessions'])])
|
|
6
10
|
.describe('Fixed values, or a list the menu fills in at run time.');
|
|
@@ -208,15 +212,6 @@ const COMMAND_LIST = [
|
|
|
208
212
|
bool('--auto', 'used by the background sync after a crash: no questions', { noMenu: true, advanced: true }),
|
|
209
213
|
],
|
|
210
214
|
},
|
|
211
|
-
{
|
|
212
|
-
name: 'sessions',
|
|
213
|
-
summary: 'list agent sessions and who is attached',
|
|
214
|
-
group: 'Sessions',
|
|
215
|
-
args: [],
|
|
216
|
-
options: [bool('--wide', "also show each session's folder", { noMenu: true })],
|
|
217
|
-
json,
|
|
218
|
-
},
|
|
219
|
-
{ name: 'status', summary: 'show what the sandbox is doing', group: 'Sessions', args: [], options: [], json },
|
|
220
215
|
{
|
|
221
216
|
name: 'db',
|
|
222
217
|
summary: 'list, start or stop databases in the running sandbox',
|
|
@@ -254,23 +249,6 @@ const COMMAND_LIST = [
|
|
|
254
249
|
passthrough: 'command',
|
|
255
250
|
json,
|
|
256
251
|
},
|
|
257
|
-
{
|
|
258
|
-
name: 'restart',
|
|
259
|
-
summary: "restart this project's running agents in place; they resume their conversation",
|
|
260
|
-
group: 'Agents',
|
|
261
|
-
args: [],
|
|
262
|
-
options: [
|
|
263
|
-
text('--harness', 'name', 'only this agent', { choices: 'harnesses', shownAs: '--agent' }),
|
|
264
|
-
bool('--all', "every project's sessions, not only this folder's"),
|
|
265
|
-
],
|
|
266
|
-
},
|
|
267
|
-
{
|
|
268
|
-
name: 'stop',
|
|
269
|
-
summary: "shut the sandbox down (every project's sessions end)",
|
|
270
|
-
group: 'Agents',
|
|
271
|
-
args: [],
|
|
272
|
-
options: [bool('--yes', "do not ask when other projects' sessions would end", { short: '-y', noMenu: true })],
|
|
273
|
-
},
|
|
274
252
|
{
|
|
275
253
|
name: 'projects',
|
|
276
254
|
summary: 'the projects a sandbox can open without a restart: list, choose, roots, all/exclude',
|
|
@@ -298,8 +276,6 @@ const COMMAND_LIST = [
|
|
|
298
276
|
],
|
|
299
277
|
options: [bool('--yes', 'do not ask before removing', { short: '-y', when: 'remove', noMenu: true })],
|
|
300
278
|
},
|
|
301
|
-
{ name: 'show', summary: 'show the sandbox window', group: 'Sessions', args: [], options: [] },
|
|
302
|
-
{ name: 'hide', summary: 'hide the sandbox window (it keeps running)', group: 'Sessions', args: [], options: [] },
|
|
303
279
|
{
|
|
304
280
|
name: 'account',
|
|
305
281
|
summary: 'Claude logins: list, save, use, set the default, remove',
|
|
@@ -358,15 +334,27 @@ const COMMAND_LIST = [
|
|
|
358
334
|
},
|
|
359
335
|
{
|
|
360
336
|
name: 'storage',
|
|
361
|
-
summary: 'where your saved data lives: show it, move it to another folder, or
|
|
337
|
+
summary: 'where your saved data lives: show it, move it to another folder, switch folders, or (beta) keep it in a disk image',
|
|
362
338
|
group: 'Data',
|
|
363
339
|
examples: [
|
|
364
340
|
'sandbox storage where the data is',
|
|
365
341
|
'sandbox storage move D:\\sandbox-data move it (asks first)',
|
|
342
|
+
'sandbox storage contained status (beta) the disk image for tools, state and logs',
|
|
343
|
+
'sandbox storage contained on (beta) keep them in a disk image (asks first)',
|
|
366
344
|
],
|
|
367
345
|
args: [
|
|
368
|
-
{
|
|
369
|
-
|
|
346
|
+
{
|
|
347
|
+
name: 'action',
|
|
348
|
+
description: 'show, move, use or contained',
|
|
349
|
+
required: false,
|
|
350
|
+
choices: ['show', 'move', 'use', 'contained'],
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
name: 'folder',
|
|
354
|
+
description: 'the folder to move to, or to use; for contained: on, off or status',
|
|
355
|
+
required: false,
|
|
356
|
+
when: ['move', 'use', 'contained'],
|
|
357
|
+
},
|
|
370
358
|
],
|
|
371
359
|
options: [
|
|
372
360
|
bool('--yes', 'do not ask before moving or switching', { short: '-y', noMenu: true }),
|
|
@@ -374,6 +362,27 @@ const COMMAND_LIST = [
|
|
|
374
362
|
],
|
|
375
363
|
json,
|
|
376
364
|
},
|
|
365
|
+
{
|
|
366
|
+
name: 'engine',
|
|
367
|
+
summary: '(beta) what runs your sandbox (Windows Sandbox or HCS) and what each engine can do on this PC',
|
|
368
|
+
group: 'Health',
|
|
369
|
+
examples: [
|
|
370
|
+
'sandbox engine the engine in use and what each can do',
|
|
371
|
+
'sandbox engine check hcs what this PC lacks for the HCS engine, and the commands that would fix it',
|
|
372
|
+
],
|
|
373
|
+
args: [
|
|
374
|
+
{ name: 'action', description: 'show or check', required: false, choices: ['show', 'check'] },
|
|
375
|
+
{
|
|
376
|
+
name: 'engine',
|
|
377
|
+
description: 'the engine to check',
|
|
378
|
+
required: false,
|
|
379
|
+
choices: ['windows-sandbox', 'hcs'],
|
|
380
|
+
when: 'check',
|
|
381
|
+
},
|
|
382
|
+
],
|
|
383
|
+
options: [],
|
|
384
|
+
json,
|
|
385
|
+
},
|
|
377
386
|
{
|
|
378
387
|
name: 'clean',
|
|
379
388
|
summary: 'delete old launch folders, logs and leftovers',
|
|
@@ -410,7 +419,10 @@ const COMMAND_LIST = [
|
|
|
410
419
|
summary: 'print the newest sandbox log',
|
|
411
420
|
group: 'Health',
|
|
412
421
|
args: [],
|
|
413
|
-
options: [
|
|
422
|
+
options: [
|
|
423
|
+
bool('--follow', 'keep printing new lines', { short: '-f' }),
|
|
424
|
+
bool('--crash', 'print the report of the last crash (what Windows logged, this PC and the sandbox memory)'),
|
|
425
|
+
],
|
|
414
426
|
},
|
|
415
427
|
{
|
|
416
428
|
name: 'setup',
|
|
@@ -494,19 +506,30 @@ const COMMAND_LIST = [
|
|
|
494
506
|
name: 'action',
|
|
495
507
|
description: 'what to do',
|
|
496
508
|
required: false,
|
|
497
|
-
choices: ['show', 'path', 'init', 'schema', 'check', 'get', 'set'],
|
|
509
|
+
choices: ['show', 'path', 'init', 'schema', 'check', 'get', 'set', 'export', 'import'],
|
|
498
510
|
aliases: ['summary'],
|
|
499
511
|
},
|
|
500
512
|
{
|
|
501
513
|
name: 'key',
|
|
502
|
-
description: '(get, set) the setting, e.g. sandbox.memoryMb',
|
|
514
|
+
description: '(get, set, reset) the setting, e.g. sandbox.memoryMb; (export, import) the .json file',
|
|
503
515
|
required: false,
|
|
504
|
-
when: ['get', 'set'],
|
|
516
|
+
when: ['get', 'set', 'export', 'import'],
|
|
505
517
|
},
|
|
506
518
|
{ name: 'value', description: '(set) the new value', required: false, when: 'set' },
|
|
507
519
|
],
|
|
508
|
-
options: [
|
|
509
|
-
|
|
520
|
+
options: [
|
|
521
|
+
text('--workspace', 'dir', '(check) the project folder; default: the current one'),
|
|
522
|
+
bool('--with-paths', '(export) keep folders and files of this PC in the file', { when: 'export' }),
|
|
523
|
+
bool('--yes', '(import) do not ask before changing your settings', { short: '-y', when: 'import', noMenu: true }),
|
|
524
|
+
],
|
|
525
|
+
examples: [
|
|
526
|
+
'sandbox config set sandbox.memoryMb 8192',
|
|
527
|
+
'sandbox config get sandbox.memoryMb',
|
|
528
|
+
'sandbox config reset sandbox.memoryMb',
|
|
529
|
+
'sandbox config list',
|
|
530
|
+
'sandbox config export team-settings.json',
|
|
531
|
+
'sandbox config import team-settings.json',
|
|
532
|
+
],
|
|
510
533
|
},
|
|
511
534
|
{
|
|
512
535
|
name: 'agent-commands',
|
|
@@ -585,7 +608,9 @@ const COMMAND_LIST = [
|
|
|
585
608
|
hidden: true,
|
|
586
609
|
},
|
|
587
610
|
];
|
|
588
|
-
export const COMMANDS = z
|
|
611
|
+
export const COMMANDS = z
|
|
612
|
+
.array(CommandSpecSchema)
|
|
613
|
+
.parse(withOperationCommands(z.array(CommandSpecSchema).parse(COMMAND_LIST)));
|
|
589
614
|
export function commandSpec(name) {
|
|
590
615
|
return COMMANDS.find((c) => c.name === name);
|
|
591
616
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Harness } from '../../core/types.js';
|
|
2
2
|
import type { App } from '../tui/index.js';
|
|
3
|
-
import type { ConfigFile } from '
|
|
3
|
+
import type { ConfigFile } from '../../app/features/settings/index.js';
|
|
4
4
|
import type { Draft } from './settings/draft.js';
|
|
5
5
|
/** How a new agent gets into the sandbox. */
|
|
6
6
|
export type AgentSource = 'npm' | 'uv' | 'host';
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { DEFAULTS } from '../../core/config/index.js';
|
|
6
6
|
import { HarnessSchema, NameSchema, describeIssues } from '../../core/schema/index.js';
|
|
7
7
|
import { fail } from '../../core/util/index.js';
|
|
8
|
-
import { askPath } from './settings/path
|
|
8
|
+
import { askPath } from './settings/ask-path.js';
|
|
9
9
|
/** Nothing wrong with the name (true), or what is wrong. Pure. */
|
|
10
10
|
export function agentNameProblem(name, taken) {
|
|
11
11
|
const typed = name.trim();
|
package/dist/cli/menu/apps.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type AppCategory, type AppEntry } from '../../shared/apps/index.js';
|
|
2
2
|
import { type Category, type ListItem } from '../tui/index.js';
|
|
3
|
-
import type { ConfigFile } from '
|
|
3
|
+
import type { ConfigFile } from '../../app/features/settings/index.js';
|
|
4
4
|
import type { Draft } from './settings/draft.js';
|
|
5
5
|
export declare const CUSTOM = "@custom:";
|
|
6
6
|
/** The catalogue has many small categories; the menu shows these few groups so the navigation stays short. */
|
|
@@ -32,6 +32,12 @@ export declare const APP_GROUPS: readonly [{
|
|
|
32
32
|
}];
|
|
33
33
|
/** The group an app category is shown under. */
|
|
34
34
|
export declare function groupOf(category: AppCategory): string;
|
|
35
|
+
/** The row in Apps that opens the "request an app" issue form (its id is not an app). */
|
|
36
|
+
export declare const REQUEST_APP = "@request-app";
|
|
37
|
+
/** This project's new-issue page on GitHub. */
|
|
38
|
+
export declare const ISSUES_URL = "https://github.com/JoshDiDuca/windows-development-sandbox/issues/new";
|
|
39
|
+
/** The new-issue address with a title and a body to fill in (the page needs no login to show it). */
|
|
40
|
+
export declare function requestAppUrl(): string;
|
|
35
41
|
export declare class AppsModel {
|
|
36
42
|
private readonly file;
|
|
37
43
|
private readonly dataPath;
|
package/dist/cli/menu/apps.js
CHANGED
|
@@ -45,6 +45,30 @@ export function groupOf(category) {
|
|
|
45
45
|
return APP_GROUPS.find((g) => g.members.includes(category))?.id ?? 'tools';
|
|
46
46
|
}
|
|
47
47
|
const INSTALL = ['apps', 'install'];
|
|
48
|
+
/** The row in Apps that opens the "request an app" issue form (its id is not an app). */
|
|
49
|
+
export const REQUEST_APP = '@request-app';
|
|
50
|
+
/** This project's new-issue page on GitHub. */
|
|
51
|
+
export const ISSUES_URL = 'https://github.com/JoshDiDuca/windows-development-sandbox/issues/new';
|
|
52
|
+
/** The new-issue address with a title and a body to fill in (the page needs no login to show it). */
|
|
53
|
+
export function requestAppUrl() {
|
|
54
|
+
const body = [
|
|
55
|
+
'**App name:**',
|
|
56
|
+
'',
|
|
57
|
+
'**Where to get it** (GitHub releases page or a direct download link):',
|
|
58
|
+
'',
|
|
59
|
+
'**What it is for:**',
|
|
60
|
+
'',
|
|
61
|
+
'**Command-line tool or desktop app?**',
|
|
62
|
+
'',
|
|
63
|
+
'**Does it need a GPU, a license or an account?**',
|
|
64
|
+
].join('\n');
|
|
65
|
+
const query = [
|
|
66
|
+
['title', 'App request: '],
|
|
67
|
+
['body', body],
|
|
68
|
+
['labels', 'app-request'],
|
|
69
|
+
];
|
|
70
|
+
return ISSUES_URL + '?' + query.map(([k, v]) => k + '=' + encodeURIComponent(v)).join('&');
|
|
71
|
+
}
|
|
48
72
|
export class AppsModel {
|
|
49
73
|
file;
|
|
50
74
|
dataPath;
|
|
@@ -137,6 +161,18 @@ export class AppsModel {
|
|
|
137
161
|
items(draft) {
|
|
138
162
|
return [
|
|
139
163
|
...this.entries().map((a) => this.item(a, draft)),
|
|
164
|
+
...(this.file.isProject
|
|
165
|
+
? []
|
|
166
|
+
: [
|
|
167
|
+
{
|
|
168
|
+
value: REQUEST_APP,
|
|
169
|
+
label: 'Request an app…',
|
|
170
|
+
category: 'custom',
|
|
171
|
+
description: 'Not in the list? Press r: your browser opens a prefilled request on GitHub (' + ISSUES_URL + ').',
|
|
172
|
+
hint: Theme.muted('press r'),
|
|
173
|
+
disabled: 'Press r to open the request form on GitHub.',
|
|
174
|
+
},
|
|
175
|
+
]),
|
|
140
176
|
...Object.entries(this.custom(draft)).map(([id, a]) => ({
|
|
141
177
|
value: CUSTOM + id,
|
|
142
178
|
label: a.name,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ArgSpec, type OptionSpec } from '../manifest.js';
|
|
2
|
-
import type { PathKind } from '
|
|
2
|
+
import type { PathKind } from '../../app/kernel/index.js';
|
|
3
3
|
/** What an option accepts, checked while typing (undefined = fine). */
|
|
4
4
|
export declare function optionProblem(o: OptionSpec, v: string): string | undefined;
|
|
5
5
|
export type Field = {
|
|
@@ -16,8 +16,8 @@ import { askedWhen } from '../manifest.js';
|
|
|
16
16
|
import { Text, Theme } from '../tui/index.js';
|
|
17
17
|
import { actionOf, argLabel, argPathKind, optionLabel, optionPathKind, optionProblem, plainDescription, plainSummary, } from './command-fields.js';
|
|
18
18
|
import { StringListEditor } from './settings/collections/string-list-editor.js';
|
|
19
|
-
import { askPath } from './settings/path
|
|
20
|
-
import { SchemaNode } from '
|
|
19
|
+
import { askPath } from './settings/ask-path.js';
|
|
20
|
+
import { SchemaNode } from '../../app/kernel/index.js';
|
|
21
21
|
import { ValueEditor } from './settings/value-editor.js';
|
|
22
22
|
const MORE = '@more';
|
|
23
23
|
const OTHER = '@other';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type Action, type AnyDefinition } from '../../app/kernel/index.js';
|
|
2
|
+
import type { Context } from '../commands/context.js';
|
|
3
|
+
import { type App } from '../tui/index.js';
|
|
4
|
+
import type { ShellExit } from './shell.js';
|
|
5
|
+
/** Where the dialogs say they are (the menu's path line). */
|
|
6
|
+
type Where = readonly string[];
|
|
7
|
+
/** How a page shows progress while an operation runs (ListPage.busy). */
|
|
8
|
+
export type ShowBusy = (text: string) => void;
|
|
9
|
+
/** What an action did: leave the menu to run a command, and/or a notice after the page loads again. */
|
|
10
|
+
export interface Performed {
|
|
11
|
+
readonly exit?: ShellExit;
|
|
12
|
+
readonly notice?: string;
|
|
13
|
+
readonly reload?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare class MenuOperations {
|
|
16
|
+
private readonly app;
|
|
17
|
+
private readonly ctx;
|
|
18
|
+
constructor(app: App, ctx: Context);
|
|
19
|
+
/** Does what an action of a page says: follows a link, or asks for its fields and runs its operation. */
|
|
20
|
+
perform(action: Action, where: Where, busy?: ShowBusy): Promise<Performed>;
|
|
21
|
+
/** The values of an action's fields, from the editors that fit them (undefined: one was backed out of). */
|
|
22
|
+
private fields;
|
|
23
|
+
/**
|
|
24
|
+
* Runs a definition with this input and returns the notice to show: its text (✓), the problem and its fix (✘), or
|
|
25
|
+
* undefined when a question was declined (nothing changed, nothing to say).
|
|
26
|
+
*/
|
|
27
|
+
run(def: AnyDefinition, input: unknown, where: Where, busy?: ShowBusy): Promise<string | undefined>;
|
|
28
|
+
}
|
|
29
|
+
export {};
|