windows-development-sandbox 1.5.0 → 1.7.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.
Files changed (448) hide show
  1. package/README.md +1 -0
  2. package/config.example.json +17 -1
  3. package/dist/cli/args.d.ts +13 -2
  4. package/dist/cli/args.js +95 -24
  5. package/dist/cli/commands/accounts.js +45 -17
  6. package/dist/cli/commands/context.d.ts +2 -0
  7. package/dist/cli/commands/context.js +9 -2
  8. package/dist/cli/commands/data/clean.js +32 -9
  9. package/dist/cli/commands/index.d.ts +1 -0
  10. package/dist/cli/commands/index.js +1 -0
  11. package/dist/cli/commands/launch/add-root.d.ts +3 -2
  12. package/dist/cli/commands/launch/add-root.js +11 -10
  13. package/dist/cli/commands/launch/launch.js +57 -4
  14. package/dist/cli/commands/launch/prepare.js +3 -1
  15. package/dist/cli/commands/maintenance/audit.js +1 -1
  16. package/dist/cli/commands/maintenance/clean.d.ts +1 -1
  17. package/dist/cli/commands/maintenance/clean.js +17 -3
  18. package/dist/cli/commands/maintenance/config.d.ts +1 -1
  19. package/dist/cli/commands/maintenance/config.js +112 -10
  20. package/dist/cli/commands/maintenance/doctor.d.ts +1 -1
  21. package/dist/cli/commands/maintenance/doctor.js +2 -4
  22. package/dist/cli/commands/maintenance/migrate.d.ts +2 -1
  23. package/dist/cli/commands/maintenance/migrate.js +19 -4
  24. package/dist/cli/commands/maintenance/sync.js +2 -0
  25. package/dist/cli/commands/maintenance/update.d.ts +2 -0
  26. package/dist/cli/commands/maintenance/update.js +27 -4
  27. package/dist/cli/commands/projects/here.js +12 -7
  28. package/dist/cli/commands/projects/projects.js +26 -17
  29. package/dist/cli/commands/registry.js +7 -0
  30. package/dist/cli/commands/repair/checks/agents.d.ts +2 -0
  31. package/dist/cli/commands/repair/checks/agents.js +70 -0
  32. package/dist/cli/commands/repair/checks/common.d.ts +8 -0
  33. package/dist/cli/commands/repair/checks/common.js +22 -0
  34. package/dist/cli/commands/repair/checks/data.d.ts +2 -0
  35. package/dist/cli/commands/repair/checks/data.js +241 -0
  36. package/dist/cli/commands/repair/checks/index.d.ts +2 -0
  37. package/dist/cli/commands/repair/checks/index.js +20 -0
  38. package/dist/cli/commands/repair/checks/install.d.ts +5 -0
  39. package/dist/cli/commands/repair/checks/install.js +318 -0
  40. package/dist/cli/commands/repair/checks/machine.d.ts +2 -0
  41. package/dist/cli/commands/repair/checks/machine.js +232 -0
  42. package/dist/cli/commands/repair/checks/network.d.ts +6 -0
  43. package/dist/cli/commands/repair/checks/network.js +60 -0
  44. package/dist/cli/commands/repair/checks/pc.d.ts +4 -0
  45. package/dist/cli/commands/repair/checks/pc.js +55 -0
  46. package/dist/cli/commands/repair/checks/sandbox.d.ts +2 -0
  47. package/dist/cli/commands/repair/checks/sandbox.js +267 -0
  48. package/dist/cli/commands/repair/checks/settings.d.ts +2 -0
  49. package/dist/cli/commands/repair/checks/settings.js +169 -0
  50. package/dist/cli/commands/repair/checks/vpn.d.ts +2 -0
  51. package/dist/cli/commands/repair/checks/vpn.js +53 -0
  52. package/dist/cli/commands/repair/engine.d.ts +32 -0
  53. package/dist/cli/commands/repair/engine.js +127 -0
  54. package/dist/cli/commands/repair/env.d.ts +7 -0
  55. package/dist/cli/commands/repair/env.js +49 -0
  56. package/dist/cli/commands/repair/index.d.ts +1 -9
  57. package/dist/cli/commands/repair/index.js +2 -54
  58. package/dist/cli/commands/repair/log.d.ts +17 -0
  59. package/dist/cli/commands/repair/log.js +82 -0
  60. package/dist/cli/commands/repair/printer.d.ts +32 -0
  61. package/dist/cli/commands/repair/printer.js +132 -0
  62. package/dist/cli/commands/repair/run.d.ts +33 -0
  63. package/dist/cli/commands/repair/run.js +133 -0
  64. package/dist/cli/commands/repair/types.d.ts +97 -9
  65. package/dist/cli/commands/repair/types.js +11 -7
  66. package/dist/cli/commands/resume.js +2 -2
  67. package/dist/cli/commands/sessions/list.js +5 -2
  68. package/dist/cli/commands/sessions/status.d.ts +2 -0
  69. package/dist/cli/commands/sessions/status.js +27 -6
  70. package/dist/cli/commands/setup/index.d.ts +5 -0
  71. package/dist/cli/commands/setup/index.js +25 -1
  72. package/dist/cli/commands/storage/index.d.ts +2 -0
  73. package/dist/cli/commands/storage/index.js +2 -0
  74. package/dist/cli/commands/storage/offer.d.ts +3 -0
  75. package/dist/cli/commands/storage/offer.js +85 -0
  76. package/dist/cli/commands/storage/storage.d.ts +8 -0
  77. package/dist/cli/commands/storage/storage.js +171 -0
  78. package/dist/cli/commands/user-config.js +1 -1
  79. package/dist/cli/commands/vpn.d.ts +4 -0
  80. package/dist/cli/commands/vpn.js +75 -0
  81. package/dist/cli/commands/web.d.ts +4 -0
  82. package/dist/cli/commands/web.js +95 -0
  83. package/dist/cli/history.js +1 -1
  84. package/dist/cli/index.js +46 -3
  85. package/dist/cli/manifest.d.ts +303 -29
  86. package/dist/cli/manifest.js +173 -43
  87. package/dist/cli/menu/add-agent.d.ts +47 -0
  88. package/dist/cli/menu/add-agent.js +168 -0
  89. package/dist/cli/menu/apps.d.ts +31 -2
  90. package/dist/cli/menu/apps.js +44 -5
  91. package/dist/cli/menu/command-fields.d.ts +18 -0
  92. package/dist/cli/menu/command-fields.js +61 -0
  93. package/dist/cli/menu/command-form.d.ts +22 -0
  94. package/dist/cli/menu/command-form.js +169 -46
  95. package/dist/cli/menu/data-folder.d.ts +18 -0
  96. package/dist/cli/menu/data-folder.js +99 -0
  97. package/dist/cli/menu/menu.d.ts +1 -1
  98. package/dist/cli/menu/menu.js +11 -8
  99. package/dist/cli/menu/pages/accounts-page.js +55 -24
  100. package/dist/cli/menu/pages/agents-page.d.ts +66 -0
  101. package/dist/cli/menu/pages/agents-page.js +338 -0
  102. package/dist/cli/menu/pages/apps-page.js +1 -2
  103. package/dist/cli/menu/pages/list-page.d.ts +16 -3
  104. package/dist/cli/menu/pages/list-page.js +40 -8
  105. package/dist/cli/menu/pages/maintenance-page.d.ts +9 -0
  106. package/dist/cli/menu/pages/maintenance-page.js +161 -72
  107. package/dist/cli/menu/pages/sandbox-page.d.ts +3 -0
  108. package/dist/cli/menu/pages/sandbox-page.js +132 -43
  109. package/dist/cli/menu/pages/sessions-page.d.ts +4 -0
  110. package/dist/cli/menu/pages/sessions-page.js +41 -25
  111. package/dist/cli/menu/pages/settings-page.d.ts +8 -4
  112. package/dist/cli/menu/pages/settings-page.js +36 -13
  113. package/dist/cli/menu/settings/categories.d.ts +2 -0
  114. package/dist/cli/menu/settings/categories.js +19 -44
  115. package/dist/cli/menu/settings/collections/collection-editor.d.ts +7 -1
  116. package/dist/cli/menu/settings/collections/collection-editor.js +12 -8
  117. package/dist/cli/menu/settings/collections/map-editor.js +5 -1
  118. package/dist/cli/menu/settings/collections/object-list-editor.js +2 -2
  119. package/dist/cli/menu/settings/collections/object-map-editor.js +2 -2
  120. package/dist/cli/menu/settings/collections/string-list-editor.d.ts +11 -1
  121. package/dist/cli/menu/settings/collections/string-list-editor.js +23 -0
  122. package/dist/cli/menu/settings/index.d.ts +1 -1
  123. package/dist/cli/menu/settings/index.js +1 -1
  124. package/dist/cli/menu/settings/object-editor.d.ts +5 -1
  125. package/dist/cli/menu/settings/object-editor.js +15 -4
  126. package/dist/cli/menu/settings/path-kind.d.ts +20 -0
  127. package/dist/cli/menu/settings/path-kind.js +44 -0
  128. package/dist/cli/menu/settings/schema-node.d.ts +9 -0
  129. package/dist/cli/menu/settings/schema-node.js +26 -0
  130. package/dist/cli/menu/settings/value-editor.d.ts +5 -0
  131. package/dist/cli/menu/settings/value-editor.js +51 -18
  132. package/dist/cli/menu/several.js +7 -5
  133. package/dist/cli/menu/shell.d.ts +37 -10
  134. package/dist/cli/menu/shell.js +90 -10
  135. package/dist/cli/menu/vpn-login.d.ts +16 -0
  136. package/dist/cli/menu/vpn-login.js +66 -0
  137. package/dist/cli/output/print.d.ts +2 -0
  138. package/dist/cli/output/print.js +8 -1
  139. package/dist/cli/services/accounts-service.d.ts +2 -0
  140. package/dist/cli/services/accounts-service.js +2 -2
  141. package/dist/cli/services/health-service.d.ts +0 -6
  142. package/dist/cli/services/health-service.js +5 -42
  143. package/dist/cli/services/index.d.ts +3 -1
  144. package/dist/cli/services/index.js +3 -1
  145. package/dist/cli/services/migrate-service.js +1 -1
  146. package/dist/cli/services/update-service.d.ts +2 -0
  147. package/dist/cli/services/update-service.js +13 -6
  148. package/dist/cli/services/vpn-service.d.ts +28 -0
  149. package/dist/cli/services/vpn-service.js +46 -0
  150. package/dist/cli/services/web-service.d.ts +22 -0
  151. package/dist/cli/services/web-service.js +111 -0
  152. package/dist/cli/tui/app.d.ts +6 -3
  153. package/dist/cli/tui/app.js +12 -5
  154. package/dist/cli/tui/dialogs/path-listing.d.ts +43 -0
  155. package/dist/cli/tui/dialogs/path-listing.js +127 -0
  156. package/dist/cli/tui/dialogs/path-picker.d.ts +67 -0
  157. package/dist/cli/tui/dialogs/path-picker.js +423 -0
  158. package/dist/cli/tui/dialogs/text-screen.d.ts +6 -0
  159. package/dist/cli/tui/dialogs/text-screen.js +10 -3
  160. package/dist/cli/tui/frame.d.ts +7 -10
  161. package/dist/cli/tui/frame.js +19 -10
  162. package/dist/cli/tui/index.d.ts +4 -3
  163. package/dist/cli/tui/index.js +2 -1
  164. package/dist/cli/tui/list/list-screen.d.ts +14 -2
  165. package/dist/cli/tui/list/list-screen.js +68 -32
  166. package/dist/cli/tui/list/list-types.d.ts +8 -4
  167. package/dist/cli/tui/nav.d.ts +29 -0
  168. package/dist/cli/tui/nav.js +67 -0
  169. package/dist/cli/validate.d.ts +1 -1
  170. package/dist/cli/validate.js +3 -3
  171. package/dist/cli/version.d.ts +2 -0
  172. package/dist/cli/version.js +11 -0
  173. package/dist/core/config/defaults.js +5 -1
  174. package/dist/core/config/loader.js +12 -2
  175. package/dist/core/local-config/overrides.js +1 -0
  176. package/dist/core/prompt.d.ts +19 -0
  177. package/dist/core/prompt.js +43 -3
  178. package/dist/core/schema/common.d.ts +6 -0
  179. package/dist/core/schema/common.js +8 -0
  180. package/dist/core/schema/config.d.ts +23 -0
  181. package/dist/core/schema/config.js +10 -1
  182. package/dist/core/schema/harness.d.ts +1 -0
  183. package/dist/core/schema/harness.js +8 -2
  184. package/dist/core/schema/index.d.ts +3 -1
  185. package/dist/core/schema/index.js +3 -1
  186. package/dist/core/schema/profile.d.ts +1 -0
  187. package/dist/core/schema/profile.js +3 -0
  188. package/dist/core/schema/redact.d.ts +13 -0
  189. package/dist/core/schema/redact.js +75 -0
  190. package/dist/core/schema/sandbox.js +1 -0
  191. package/dist/core/schema/vpn.d.ts +17 -0
  192. package/dist/core/schema/vpn.js +22 -0
  193. package/dist/core/schema/web.d.ts +6 -0
  194. package/dist/core/schema/web.js +14 -0
  195. package/dist/core/types.d.ts +26 -0
  196. package/dist/guest/agents/agent-files.d.ts +49 -0
  197. package/dist/guest/agents/agent-files.js +63 -0
  198. package/dist/guest/agents/agent-installer.js +2 -9
  199. package/dist/guest/agents/local-state.d.ts +12 -0
  200. package/dist/guest/agents/local-state.js +198 -0
  201. package/dist/guest/agents/sbx-agent.d.ts +2 -0
  202. package/dist/guest/agents/sbx-agent.js +35 -0
  203. package/dist/guest/boot/boot.d.ts +4 -0
  204. package/dist/guest/boot/boot.js +50 -11
  205. package/dist/guest/daemon/daemon.js +4 -1
  206. package/dist/guest/daemon/exec.js +2 -1
  207. package/dist/guest/daemon/idle-shutdown.js +2 -0
  208. package/dist/guest/daemon/sessions.js +4 -1
  209. package/dist/guest/entries/agent.d.ts +1 -0
  210. package/dist/guest/entries/agent.js +10 -0
  211. package/dist/guest/entries/daemon.js +2 -0
  212. package/dist/guest/runtime/csc.d.ts +1 -0
  213. package/dist/guest/runtime/csc.js +1 -0
  214. package/dist/guest/runtime/secrets.d.ts +12 -0
  215. package/dist/guest/runtime/secrets.js +63 -0
  216. package/dist/guest/setup/claude-profile.d.ts +2 -1
  217. package/dist/guest/setup/claude-profile.js +12 -1
  218. package/dist/guest/setup/environment.d.ts +6 -0
  219. package/dist/guest/setup/environment.js +56 -6
  220. package/dist/guest/setup/path-plan.d.ts +32 -0
  221. package/dist/guest/setup/path-plan.js +67 -0
  222. package/dist/guest/setup/shell-path.d.ts +1 -0
  223. package/dist/guest/setup/shell-path.js +22 -0
  224. package/dist/guest/toolchains/languages/python.js +1 -1
  225. package/dist/guest/toolchains/runtimes.js +2 -2
  226. package/dist/guest/vpn/index.d.ts +1 -0
  227. package/dist/guest/vpn/index.js +1 -0
  228. package/dist/guest/vpn/openvpn.d.ts +9 -0
  229. package/dist/guest/vpn/openvpn.js +47 -0
  230. package/dist/guest/vpn/tunnel.d.ts +17 -0
  231. package/dist/guest/vpn/tunnel.js +78 -0
  232. package/dist/guest/vpn/vpn.d.ts +6 -0
  233. package/dist/guest/vpn/vpn.js +126 -0
  234. package/dist/host/channel/attach.d.ts +3 -1
  235. package/dist/host/channel/attach.js +1 -1
  236. package/dist/host/channel/channel.d.ts +7 -0
  237. package/dist/host/channel/channel.js +26 -2
  238. package/dist/host/health/acl-read.d.ts +17 -0
  239. package/dist/host/health/acl-read.js +45 -0
  240. package/dist/host/health/config-backup.d.ts +11 -0
  241. package/dist/host/health/config-backup.js +73 -0
  242. package/dist/host/health/index.d.ts +6 -0
  243. package/dist/host/health/index.js +7 -0
  244. package/dist/host/health/install-state.d.ts +33 -0
  245. package/dist/host/health/install-state.js +110 -0
  246. package/dist/host/health/path-copies.d.ts +32 -0
  247. package/dist/host/health/path-copies.js +82 -0
  248. package/dist/host/health/stale.d.ts +45 -0
  249. package/dist/host/health/stale.js +120 -0
  250. package/dist/host/health/system.d.ts +37 -0
  251. package/dist/host/health/system.js +87 -0
  252. package/dist/host/install/copies.d.ts +13 -0
  253. package/dist/host/install/copies.js +63 -0
  254. package/dist/host/install/index.d.ts +1 -0
  255. package/dist/host/install/index.js +1 -0
  256. package/dist/host/launch/generate.js +25 -1
  257. package/dist/host/launch/session-file.js +4 -1
  258. package/dist/host/launch/stage.js +1 -1
  259. package/dist/host/migrate/backup.js +3 -0
  260. package/dist/host/migrate/migrations/config-file.d.ts +2 -0
  261. package/dist/host/migrate/migrations/config-file.js +7 -0
  262. package/dist/host/migrate/migrations/follow-machine-storage.js +9 -1
  263. package/dist/host/migrate/migrations/pin-storage-root.d.ts +4 -0
  264. package/dist/host/migrate/migrations/pin-storage-root.js +46 -0
  265. package/dist/host/migrate/migrations/unpin-config-defaults.js +4 -1
  266. package/dist/host/migrate/registry.js +2 -1
  267. package/dist/host/profile/accounts.d.ts +25 -1
  268. package/dist/host/profile/accounts.js +96 -13
  269. package/dist/host/profile/agent-accounts.d.ts +5 -1
  270. package/dist/host/profile/agent-accounts.js +35 -5
  271. package/dist/host/profile/index.d.ts +2 -1
  272. package/dist/host/profile/index.js +1 -0
  273. package/dist/host/profile/plugin-share.d.ts +26 -0
  274. package/dist/host/profile/plugin-share.js +146 -0
  275. package/dist/host/projects/join.d.ts +7 -1
  276. package/dist/host/projects/join.js +21 -4
  277. package/dist/host/projects/registry.d.ts +16 -10
  278. package/dist/host/projects/registry.js +74 -6
  279. package/dist/host/sandbox/platform.d.ts +2 -0
  280. package/dist/host/sandbox/platform.js +21 -2
  281. package/dist/host/secrets/index.d.ts +2 -0
  282. package/dist/host/secrets/index.js +2 -0
  283. package/dist/host/secrets/launch-secrets.d.ts +17 -0
  284. package/dist/host/secrets/launch-secrets.js +93 -0
  285. package/dist/host/secrets/secret-store.d.ts +25 -0
  286. package/dist/host/secrets/secret-store.js +89 -0
  287. package/dist/host/sharing/acl.d.ts +16 -2
  288. package/dist/host/sharing/acl.js +35 -10
  289. package/dist/host/sharing/current.js +11 -2
  290. package/dist/host/sharing/doctor.d.ts +2 -0
  291. package/dist/host/sharing/doctor.js +44 -0
  292. package/dist/host/sharing/group-access.d.ts +6 -0
  293. package/dist/host/sharing/group-access.js +24 -0
  294. package/dist/host/sharing/index.d.ts +2 -1
  295. package/dist/host/sharing/index.js +2 -1
  296. package/dist/host/sharing/lifecycle.d.ts +8 -2
  297. package/dist/host/sharing/lifecycle.js +16 -7
  298. package/dist/host/storage/cleanup.d.ts +2 -0
  299. package/dist/host/storage/cleanup.js +2 -1
  300. package/dist/host/storage/history.d.ts +21 -0
  301. package/dist/host/storage/history.js +49 -0
  302. package/dist/host/storage/index.d.ts +4 -0
  303. package/dist/host/storage/index.js +4 -0
  304. package/dist/host/storage/move.d.ts +95 -0
  305. package/dist/host/storage/move.js +384 -0
  306. package/dist/host/storage/offer.d.ts +11 -0
  307. package/dist/host/storage/offer.js +36 -0
  308. package/dist/host/storage/root.d.ts +18 -0
  309. package/dist/host/storage/root.js +77 -0
  310. package/dist/host/tools/windows-terminal.d.ts +2 -0
  311. package/dist/host/tools/windows-terminal.js +23 -5
  312. package/dist/host/update/index.d.ts +1 -1
  313. package/dist/host/update/index.js +1 -1
  314. package/dist/host/update/notice.d.ts +2 -0
  315. package/dist/host/update/notice.js +13 -1
  316. package/dist/host/update/update-state.d.ts +6 -0
  317. package/dist/host/update/update-state.js +2 -0
  318. package/dist/host/update/updater.d.ts +19 -0
  319. package/dist/host/update/updater.js +88 -12
  320. package/dist/host/vpn/index.d.ts +4 -0
  321. package/dist/host/vpn/index.js +4 -0
  322. package/dist/host/vpn/login.d.ts +24 -0
  323. package/dist/host/vpn/login.js +79 -0
  324. package/dist/host/vpn/nordvpn.d.ts +21 -0
  325. package/dist/host/vpn/nordvpn.js +77 -0
  326. package/dist/host/vpn/prepare.d.ts +17 -0
  327. package/dist/host/vpn/prepare.js +77 -0
  328. package/dist/host/vpn/status.d.ts +12 -0
  329. package/dist/host/vpn/status.js +53 -0
  330. package/dist/host/web/auth.d.ts +38 -0
  331. package/dist/host/web/auth.js +96 -0
  332. package/dist/host/web/backend.d.ts +14 -0
  333. package/dist/host/web/backend.js +1 -0
  334. package/dist/host/web/bridge.d.ts +27 -0
  335. package/dist/host/web/bridge.js +144 -0
  336. package/dist/host/web/browser.d.ts +1 -0
  337. package/dist/host/web/browser.js +10 -0
  338. package/dist/host/web/control.d.ts +17 -0
  339. package/dist/host/web/control.js +67 -0
  340. package/dist/host/web/index.d.ts +9 -0
  341. package/dist/host/web/index.js +8 -0
  342. package/dist/host/web/runner.d.ts +14 -0
  343. package/dist/host/web/runner.js +45 -0
  344. package/dist/host/web/server.d.ts +40 -0
  345. package/dist/host/web/server.js +218 -0
  346. package/dist/host/web/state.d.ts +20 -0
  347. package/dist/host/web/state.js +41 -0
  348. package/dist/host/web/static-files.d.ts +13 -0
  349. package/dist/host/web/static-files.js +57 -0
  350. package/dist/runtime/agent.js +27614 -0
  351. package/dist/runtime/daemon.js +1012 -618
  352. package/dist/runtime/db.js +236 -106
  353. package/dist/runtime/main.js +1093 -250
  354. package/dist/runtime/netproxy.js +102 -3
  355. package/dist/runtime/view.js +102 -3
  356. package/dist/selftest/accounts.test.js +40 -0
  357. package/dist/selftest/agent-paths.test.d.ts +2 -0
  358. package/dist/selftest/agent-paths.test.js +115 -0
  359. package/dist/selftest/channel.test.js +5 -0
  360. package/dist/selftest/cli.test.js +34 -4
  361. package/dist/selftest/credentials.test.d.ts +2 -0
  362. package/dist/selftest/credentials.test.js +198 -0
  363. package/dist/selftest/generate.test.js +1 -1
  364. package/dist/selftest/health.test.d.ts +2 -0
  365. package/dist/selftest/health.test.js +470 -0
  366. package/dist/selftest/host-sim.test.js +2 -0
  367. package/dist/selftest/index.js +19 -0
  368. package/dist/selftest/layout.test.js +2 -0
  369. package/dist/selftest/menu-screens.d.ts +7 -0
  370. package/dist/selftest/menu-screens.js +65 -16
  371. package/dist/selftest/menu.test.js +574 -21
  372. package/dist/selftest/migrate.test.js +1 -1
  373. package/dist/selftest/personalization.test.js +3 -1
  374. package/dist/selftest/projects.test.js +39 -1
  375. package/dist/selftest/shared-use.test.js +64 -2
  376. package/dist/selftest/sharing.test.js +50 -1
  377. package/dist/selftest/storage.test.d.ts +2 -0
  378. package/dist/selftest/storage.test.js +363 -0
  379. package/dist/selftest/support/fixtures.d.ts +14 -0
  380. package/dist/selftest/support/releases.js +1 -1
  381. package/dist/selftest/toolchains.test.js +21 -0
  382. package/dist/selftest/update-service.test.js +87 -3
  383. package/dist/selftest/vpn.test.d.ts +2 -0
  384. package/dist/selftest/vpn.test.js +279 -0
  385. package/dist/selftest/web.test.d.ts +2 -0
  386. package/dist/selftest/web.test.js +304 -0
  387. package/dist/shared/apps/catalogue.js +31 -0
  388. package/dist/shared/channel/index.d.ts +1 -0
  389. package/dist/shared/channel/index.js +1 -0
  390. package/dist/shared/channel/run-dir.d.ts +6 -1
  391. package/dist/shared/channel/run-dir.js +12 -1
  392. package/dist/shared/channel/schema.d.ts +19 -0
  393. package/dist/shared/channel/schema.js +11 -0
  394. package/dist/shared/channel/secrets.d.ts +28 -0
  395. package/dist/shared/channel/secrets.js +44 -0
  396. package/dist/shared/vpn/download.d.ts +13 -0
  397. package/dist/shared/vpn/download.js +14 -0
  398. package/dist/shared/vpn/kill-switch.d.ts +18 -0
  399. package/dist/shared/vpn/kill-switch.js +81 -0
  400. package/dist/shared/vpn/ovpn.d.ts +23 -0
  401. package/dist/shared/vpn/ovpn.js +244 -0
  402. package/dist/shared/web/index.d.ts +1 -0
  403. package/dist/shared/web/index.js +1 -0
  404. package/dist/shared/web/protocol.d.ts +61 -0
  405. package/dist/shared/web/protocol.js +35 -0
  406. package/dist/sync/sync-cycle.js +5 -1
  407. package/dist/sync/sync-state.d.ts +1 -0
  408. package/dist/sync/sync-state.js +1 -0
  409. package/dist/sync/watcher.js +10 -0
  410. package/dist/web/index.html +13 -0
  411. package/dist/web/main-CXESL347.js +45 -0
  412. package/dist/web/main-VLR7DVQ4.css +1 -0
  413. package/native/csharp/FolderSecurity.cs +29 -0
  414. package/native/scripts/protect-data.ps1 +29 -0
  415. package/native/scripts/read-folder-sddl.ps1 +10 -0
  416. package/native/scripts/set-folder-access.ps1 +49 -7
  417. package/node_modules/ws/LICENSE +20 -0
  418. package/node_modules/ws/README.md +548 -0
  419. package/node_modules/ws/browser.js +8 -0
  420. package/node_modules/ws/index.js +22 -0
  421. package/node_modules/ws/lib/buffer-util.js +131 -0
  422. package/node_modules/ws/lib/constants.js +19 -0
  423. package/node_modules/ws/lib/event-target.js +292 -0
  424. package/node_modules/ws/lib/extension.js +203 -0
  425. package/node_modules/ws/lib/limiter.js +55 -0
  426. package/node_modules/ws/lib/permessage-deflate.js +530 -0
  427. package/node_modules/ws/lib/receiver.js +743 -0
  428. package/node_modules/ws/lib/sender.js +607 -0
  429. package/node_modules/ws/lib/stream.js +161 -0
  430. package/node_modules/ws/lib/subprotocol.js +62 -0
  431. package/node_modules/ws/lib/validation.js +152 -0
  432. package/node_modules/ws/lib/websocket-server.js +562 -0
  433. package/node_modules/ws/lib/websocket.js +1421 -0
  434. package/node_modules/ws/package.json +74 -0
  435. package/node_modules/ws/wrapper.mjs +21 -0
  436. package/package.json +15 -5
  437. package/sandbox/csharp/EnvBroadcast.cs +33 -0
  438. package/sandbox/csharp/PathSync.cs +90 -0
  439. package/sandbox/scripts/install-shell-path.ps1 +73 -0
  440. package/sandbox/scripts/set-machine-environment.ps1 +37 -4
  441. package/schemas/config.schema.json +79 -4
  442. package/schemas/sandbox-config.schema.json +14 -1
  443. package/dist/cli/commands/repair/checks.d.ts +0 -2
  444. package/dist/cli/commands/repair/checks.js +0 -246
  445. package/dist/cli/menu/pages/start-page.d.ts +0 -43
  446. package/dist/cli/menu/pages/start-page.js +0 -192
  447. package/dist/cli/tui/tab-bar.d.ts +0 -9
  448. package/dist/cli/tui/tab-bar.js +0 -33
@@ -20,6 +20,8 @@ export declare const OptionSpecSchema: z.ZodObject<{
20
20
  advanced: z.ZodOptional<z.ZodBoolean>;
21
21
  when: z.ZodOptional<z.ZodString>;
22
22
  noMenu: z.ZodOptional<z.ZodBoolean>;
23
+ group: z.ZodOptional<z.ZodString>;
24
+ shownAs: z.ZodOptional<z.ZodString>;
23
25
  }, z.core.$strict>;
24
26
  export declare const ArgSpecSchema: z.ZodObject<{
25
27
  name: z.ZodString;
@@ -31,30 +33,31 @@ export declare const ArgSpecSchema: z.ZodObject<{
31
33
  sessions: "sessions";
32
34
  accounts: "accounts";
33
35
  }>]>>;
36
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
34
37
  when: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
35
38
  }, z.core.$strict>;
36
39
  /** Is an argument or option with this `when` asked, given the first argument's answer? */
37
40
  export declare function askedWhen(when: string | string[] | undefined, first: string): boolean;
38
41
  export declare const GroupSchema: z.ZodEnum<{
39
42
  Agents: "Agents";
40
- Sandbox: "Sandbox";
41
43
  Sessions: "Sessions";
42
- Accounts: "Accounts";
44
+ "Projects & accounts": "Projects & accounts";
43
45
  Data: "Data";
46
+ Web: "Web";
44
47
  Health: "Health";
45
- Config: "Config";
48
+ Advanced: "Advanced";
46
49
  }>;
47
50
  export declare const CommandSpecSchema: z.ZodObject<{
48
51
  name: z.ZodString;
49
52
  summary: z.ZodString;
50
53
  group: z.ZodEnum<{
51
54
  Agents: "Agents";
52
- Sandbox: "Sandbox";
53
55
  Sessions: "Sessions";
54
- Accounts: "Accounts";
56
+ "Projects & accounts": "Projects & accounts";
55
57
  Data: "Data";
58
+ Web: "Web";
56
59
  Health: "Health";
57
- Config: "Config";
60
+ Advanced: "Advanced";
58
61
  }>;
59
62
  args: z.ZodArray<z.ZodObject<{
60
63
  name: z.ZodString;
@@ -66,6 +69,7 @@ export declare const CommandSpecSchema: z.ZodObject<{
66
69
  sessions: "sessions";
67
70
  accounts: "accounts";
68
71
  }>]>>;
72
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
69
73
  when: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
70
74
  }, z.core.$strict>>;
71
75
  options: z.ZodArray<z.ZodObject<{
@@ -89,6 +93,8 @@ export declare const CommandSpecSchema: z.ZodObject<{
89
93
  advanced: z.ZodOptional<z.ZodBoolean>;
90
94
  when: z.ZodOptional<z.ZodString>;
91
95
  noMenu: z.ZodOptional<z.ZodBoolean>;
96
+ group: z.ZodOptional<z.ZodString>;
97
+ shownAs: z.ZodOptional<z.ZodString>;
92
98
  }, z.core.$strict>>;
93
99
  passthrough: z.ZodOptional<z.ZodEnum<{
94
100
  command: "command";
@@ -97,6 +103,7 @@ export declare const CommandSpecSchema: z.ZodObject<{
97
103
  json: z.ZodOptional<z.ZodBoolean>;
98
104
  interactive: z.ZodOptional<z.ZodBoolean>;
99
105
  hidden: z.ZodOptional<z.ZodBoolean>;
106
+ examples: z.ZodOptional<z.ZodArray<z.ZodString>>;
100
107
  }, z.core.$strict>;
101
108
  export type OptionSpec = z.output<typeof OptionSpecSchema>;
102
109
  export type ArgSpec = z.output<typeof ArgSpecSchema>;
@@ -118,13 +125,16 @@ declare const COMMAND_LIST: readonly [{
118
125
  advanced?: boolean | undefined;
119
126
  when?: string | undefined;
120
127
  noMenu?: boolean | undefined;
128
+ group?: string | undefined;
129
+ shownAs?: string | undefined;
121
130
  }[];
122
131
  readonly passthrough: "agent";
123
132
  readonly interactive: true;
133
+ readonly examples: readonly ["sandbox claude -t start Claude here and attach this terminal", "sandbox launch --agent codex start Codex in the current folder", "sandbox launch --session claude@C:\\code\\api --session \"codex@C:\\code\\web|--model o3\"", " two sessions at once (after | = that agent's own arguments)"];
124
134
  }, {
125
135
  readonly name: "start";
126
136
  readonly summary: "start a sandbox with no agent (tools and databases only)";
127
- readonly group: "Sandbox";
137
+ readonly group: "Agents";
128
138
  readonly args: readonly [];
129
139
  readonly options: {
130
140
  flag: string;
@@ -138,12 +148,14 @@ declare const COMMAND_LIST: readonly [{
138
148
  advanced?: boolean | undefined;
139
149
  when?: string | undefined;
140
150
  noMenu?: boolean | undefined;
151
+ group?: string | undefined;
152
+ shownAs?: string | undefined;
141
153
  }[];
142
154
  readonly interactive: true;
143
155
  }, {
144
156
  readonly name: "generate";
145
157
  readonly summary: "show what a start would do, without starting anything";
146
- readonly group: "Health";
158
+ readonly group: "Advanced";
147
159
  readonly args: readonly [];
148
160
  readonly options: {
149
161
  flag: string;
@@ -157,6 +169,8 @@ declare const COMMAND_LIST: readonly [{
157
169
  advanced?: boolean | undefined;
158
170
  when?: string | undefined;
159
171
  noMenu?: boolean | undefined;
172
+ group?: string | undefined;
173
+ shownAs?: string | undefined;
160
174
  }[];
161
175
  readonly passthrough: "agent";
162
176
  }, {
@@ -174,7 +188,7 @@ declare const COMMAND_LIST: readonly [{
174
188
  }, {
175
189
  readonly name: "resume";
176
190
  readonly summary: "reopen the sessions from the last sandbox";
177
- readonly group: "Sessions";
191
+ readonly group: "Agents";
178
192
  readonly args: readonly [];
179
193
  readonly options: readonly [{
180
194
  flag: string;
@@ -188,25 +202,41 @@ declare const COMMAND_LIST: readonly [{
188
202
  advanced?: boolean | undefined;
189
203
  when?: string | undefined;
190
204
  noMenu?: boolean | undefined;
205
+ group?: string | undefined;
206
+ shownAs?: string | undefined;
191
207
  }];
192
208
  }, {
193
209
  readonly name: "sessions";
194
210
  readonly summary: "list agent sessions and who is attached";
195
211
  readonly group: "Sessions";
196
212
  readonly args: readonly [];
197
- readonly options: 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
+ }];
198
228
  readonly json: true;
199
229
  }, {
200
230
  readonly name: "status";
201
231
  readonly summary: "show what the sandbox is doing";
202
- readonly group: "Sandbox";
232
+ readonly group: "Sessions";
203
233
  readonly args: readonly [];
204
234
  readonly options: readonly [];
205
235
  readonly json: true;
206
236
  }, {
207
237
  readonly name: "db";
208
238
  readonly summary: "list, start or stop databases in the running sandbox";
209
- readonly group: "Sandbox";
239
+ readonly group: "Sessions";
210
240
  readonly args: readonly [{
211
241
  readonly name: "action";
212
242
  readonly description: "list, start or stop";
@@ -222,7 +252,8 @@ declare const COMMAND_LIST: readonly [{
222
252
  }, {
223
253
  readonly name: "exec";
224
254
  readonly summary: "run a command inside the sandbox and print its output";
225
- readonly group: "Sandbox";
255
+ readonly group: "Sessions";
256
+ readonly examples: readonly ["sandbox exec -- npm test run a command in the running sandbox", "sandbox exec --json -- node -v the result as JSON"];
226
257
  readonly args: readonly [{
227
258
  readonly name: "command";
228
259
  readonly description: "command and its arguments";
@@ -247,13 +278,15 @@ declare const COMMAND_LIST: readonly [{
247
278
  advanced?: boolean | undefined;
248
279
  when?: string | undefined;
249
280
  noMenu?: boolean | undefined;
281
+ group?: string | undefined;
282
+ shownAs?: string | undefined;
250
283
  }];
251
284
  readonly passthrough: "command";
252
285
  readonly json: true;
253
286
  }, {
254
287
  readonly name: "restart";
255
288
  readonly summary: "restart this project's running agents in place; they resume their conversation";
256
- readonly group: "Sessions";
289
+ readonly group: "Agents";
257
290
  readonly args: readonly [];
258
291
  readonly options: readonly [{
259
292
  flag: string;
@@ -267,6 +300,8 @@ declare const COMMAND_LIST: readonly [{
267
300
  advanced?: boolean | undefined;
268
301
  when?: string | undefined;
269
302
  noMenu?: boolean | undefined;
303
+ group?: string | undefined;
304
+ shownAs?: string | undefined;
270
305
  }, {
271
306
  flag: string;
272
307
  type: "string" | "number" | "boolean" | "list";
@@ -279,11 +314,13 @@ declare const COMMAND_LIST: readonly [{
279
314
  advanced?: boolean | undefined;
280
315
  when?: string | undefined;
281
316
  noMenu?: boolean | undefined;
317
+ group?: string | undefined;
318
+ shownAs?: string | undefined;
282
319
  }];
283
320
  }, {
284
321
  readonly name: "stop";
285
322
  readonly summary: "shut the sandbox down (every project's sessions end)";
286
- readonly group: "Sandbox";
323
+ readonly group: "Agents";
287
324
  readonly args: readonly [];
288
325
  readonly options: readonly [{
289
326
  flag: string;
@@ -297,12 +334,15 @@ declare const COMMAND_LIST: readonly [{
297
334
  advanced?: boolean | undefined;
298
335
  when?: string | undefined;
299
336
  noMenu?: boolean | undefined;
337
+ group?: string | undefined;
338
+ shownAs?: string | undefined;
300
339
  }];
301
340
  }, {
302
341
  readonly name: "projects";
303
342
  readonly summary: "the projects a sandbox can open without a restart: list, choose, roots, all/exclude";
304
- readonly group: "Sandbox";
343
+ readonly group: "Projects & accounts";
305
344
  readonly json: true;
345
+ readonly examples: readonly ["sandbox projects list your projects", "sandbox projects add . remember this folder", "sandbox projects roots add C:\\code share every project in C:\\code"];
306
346
  readonly args: readonly [{
307
347
  readonly name: "action";
308
348
  readonly description: "list, choose, add, remove, include, exclude, all, roots";
@@ -319,23 +359,38 @@ declare const COMMAND_LIST: readonly [{
319
359
  readonly required: false;
320
360
  readonly when: "roots";
321
361
  }];
322
- readonly options: readonly [];
362
+ readonly options: readonly [{
363
+ flag: string;
364
+ type: "string" | "number" | "boolean" | "list";
365
+ description: string;
366
+ short?: string | undefined;
367
+ value?: string | undefined;
368
+ label?: string | undefined;
369
+ default?: string | number | undefined;
370
+ choices?: string[] | "harnesses" | "sessions" | "accounts" | undefined;
371
+ advanced?: boolean | undefined;
372
+ when?: string | undefined;
373
+ noMenu?: boolean | undefined;
374
+ group?: string | undefined;
375
+ shownAs?: string | undefined;
376
+ }];
323
377
  }, {
324
378
  readonly name: "show";
325
379
  readonly summary: "show the sandbox window";
326
- readonly group: "Sandbox";
380
+ readonly group: "Sessions";
327
381
  readonly args: readonly [];
328
382
  readonly options: readonly [];
329
383
  }, {
330
384
  readonly name: "hide";
331
385
  readonly summary: "hide the sandbox window (it keeps running)";
332
- readonly group: "Sandbox";
386
+ readonly group: "Sessions";
333
387
  readonly args: readonly [];
334
388
  readonly options: readonly [];
335
389
  }, {
336
390
  readonly name: "account";
337
391
  readonly summary: "Claude logins: list, save, use, set the default, remove";
338
- readonly group: "Accounts";
392
+ readonly group: "Projects & accounts";
393
+ readonly examples: readonly ["sandbox account save work save the login you signed in with inside the sandbox", "sandbox account use work the sandbox uses it (running sessions restart)"];
339
394
  readonly args: readonly [{
340
395
  readonly name: "action";
341
396
  readonly description: "what to do";
@@ -359,6 +414,8 @@ declare const COMMAND_LIST: readonly [{
359
414
  advanced?: boolean | undefined;
360
415
  when?: string | undefined;
361
416
  noMenu?: boolean | undefined;
417
+ group?: string | undefined;
418
+ shownAs?: string | undefined;
362
419
  }, {
363
420
  flag: string;
364
421
  type: "string" | "number" | "boolean" | "list";
@@ -371,6 +428,8 @@ declare const COMMAND_LIST: readonly [{
371
428
  advanced?: boolean | undefined;
372
429
  when?: string | undefined;
373
430
  noMenu?: boolean | undefined;
431
+ group?: string | undefined;
432
+ shownAs?: string | undefined;
374
433
  }, {
375
434
  flag: string;
376
435
  type: "string" | "number" | "boolean" | "list";
@@ -383,6 +442,8 @@ declare const COMMAND_LIST: readonly [{
383
442
  advanced?: boolean | undefined;
384
443
  when?: string | undefined;
385
444
  noMenu?: boolean | undefined;
445
+ group?: string | undefined;
446
+ shownAs?: string | undefined;
386
447
  }, {
387
448
  flag: string;
388
449
  type: "string" | "number" | "boolean" | "list";
@@ -395,6 +456,22 @@ declare const COMMAND_LIST: readonly [{
395
456
  advanced?: boolean | undefined;
396
457
  when?: string | undefined;
397
458
  noMenu?: boolean | undefined;
459
+ group?: string | undefined;
460
+ shownAs?: string | undefined;
461
+ }, {
462
+ flag: string;
463
+ type: "string" | "number" | "boolean" | "list";
464
+ description: string;
465
+ short?: string | undefined;
466
+ value?: string | undefined;
467
+ label?: string | undefined;
468
+ default?: string | number | undefined;
469
+ choices?: string[] | "harnesses" | "sessions" | "accounts" | undefined;
470
+ advanced?: boolean | undefined;
471
+ when?: string | undefined;
472
+ noMenu?: boolean | undefined;
473
+ group?: string | undefined;
474
+ shownAs?: string | undefined;
398
475
  }];
399
476
  readonly json: true;
400
477
  }, {
@@ -406,6 +483,7 @@ declare const COMMAND_LIST: readonly [{
406
483
  readonly description: "show or clean";
407
484
  readonly required: false;
408
485
  readonly choices: readonly ["show", "clean"];
486
+ readonly aliases: readonly ["info", "list", "remove"];
409
487
  }, {
410
488
  readonly name: "targets";
411
489
  readonly description: "what to clean, e.g. tools/go databases logs";
@@ -425,6 +503,55 @@ declare const COMMAND_LIST: readonly [{
425
503
  advanced?: boolean | undefined;
426
504
  when?: string | undefined;
427
505
  noMenu?: boolean | undefined;
506
+ group?: string | undefined;
507
+ shownAs?: string | undefined;
508
+ }];
509
+ readonly json: true;
510
+ readonly examples: readonly ["sandbox data clean pick what to delete from a list", "sandbox data clean logs tools/go delete these"];
511
+ }, {
512
+ readonly name: "storage";
513
+ readonly summary: "where your saved data lives: show it, move it to another folder, or switch folders";
514
+ readonly group: "Data";
515
+ readonly examples: readonly ["sandbox storage where the data is", "sandbox storage move D:\\sandbox-data move it (asks first)"];
516
+ readonly args: readonly [{
517
+ readonly name: "action";
518
+ readonly description: "show, move or use";
519
+ readonly required: false;
520
+ readonly choices: readonly ["show", "move", "use"];
521
+ }, {
522
+ readonly name: "folder";
523
+ readonly description: "the folder to move to, or to use";
524
+ readonly required: false;
525
+ readonly when: readonly ["move", "use"];
526
+ }];
527
+ readonly options: readonly [{
528
+ flag: string;
529
+ type: "string" | "number" | "boolean" | "list";
530
+ description: string;
531
+ short?: string | undefined;
532
+ value?: string | undefined;
533
+ label?: string | undefined;
534
+ default?: string | number | undefined;
535
+ choices?: string[] | "harnesses" | "sessions" | "accounts" | undefined;
536
+ advanced?: boolean | undefined;
537
+ when?: string | undefined;
538
+ noMenu?: boolean | undefined;
539
+ group?: string | undefined;
540
+ shownAs?: string | undefined;
541
+ }, {
542
+ flag: string;
543
+ type: "string" | "number" | "boolean" | "list";
544
+ description: string;
545
+ short?: string | undefined;
546
+ value?: string | undefined;
547
+ label?: string | undefined;
548
+ default?: string | number | undefined;
549
+ choices?: string[] | "harnesses" | "sessions" | "accounts" | undefined;
550
+ advanced?: boolean | undefined;
551
+ when?: string | undefined;
552
+ noMenu?: boolean | undefined;
553
+ group?: string | undefined;
554
+ shownAs?: string | undefined;
428
555
  }];
429
556
  readonly json: true;
430
557
  }, {
@@ -438,6 +565,20 @@ declare const COMMAND_LIST: readonly [{
438
565
  readonly value: "n";
439
566
  readonly description: "launch folders older than this many days";
440
567
  readonly default: 7;
568
+ }, {
569
+ flag: string;
570
+ type: "string" | "number" | "boolean" | "list";
571
+ description: string;
572
+ short?: string | undefined;
573
+ value?: string | undefined;
574
+ label?: string | undefined;
575
+ default?: string | number | undefined;
576
+ choices?: string[] | "harnesses" | "sessions" | "accounts" | undefined;
577
+ advanced?: boolean | undefined;
578
+ when?: string | undefined;
579
+ noMenu?: boolean | undefined;
580
+ group?: string | undefined;
581
+ shownAs?: string | undefined;
441
582
  }];
442
583
  }, {
443
584
  readonly name: "sync";
@@ -447,7 +588,7 @@ declare const COMMAND_LIST: readonly [{
447
588
  readonly options: readonly [];
448
589
  }, {
449
590
  readonly name: "audit";
450
- readonly summary: "what happened in your sandboxes: programs started, files changed, sessions, repo guard (audit.enabled)";
591
+ readonly summary: "what happened in your sandboxes: programs started, files changed, sessions, repo guard (turn it on: sandbox config set audit.enabled true)";
451
592
  readonly group: "Health";
452
593
  readonly json: true;
453
594
  readonly args: readonly [];
@@ -469,6 +610,8 @@ declare const COMMAND_LIST: readonly [{
469
610
  advanced?: boolean | undefined;
470
611
  when?: string | undefined;
471
612
  noMenu?: boolean | undefined;
613
+ group?: string | undefined;
614
+ shownAs?: string | undefined;
472
615
  }, {
473
616
  flag: string;
474
617
  type: "string" | "number" | "boolean" | "list";
@@ -481,6 +624,8 @@ declare const COMMAND_LIST: readonly [{
481
624
  advanced?: boolean | undefined;
482
625
  when?: string | undefined;
483
626
  noMenu?: boolean | undefined;
627
+ group?: string | undefined;
628
+ shownAs?: string | undefined;
484
629
  }];
485
630
  }, {
486
631
  readonly name: "logs";
@@ -499,6 +644,8 @@ declare const COMMAND_LIST: readonly [{
499
644
  advanced?: boolean | undefined;
500
645
  when?: string | undefined;
501
646
  noMenu?: boolean | undefined;
647
+ group?: string | undefined;
648
+ shownAs?: string | undefined;
502
649
  }];
503
650
  }, {
504
651
  readonly name: "setup";
@@ -508,7 +655,7 @@ declare const COMMAND_LIST: readonly [{
508
655
  readonly options: readonly [];
509
656
  }, {
510
657
  readonly name: "doctor";
511
- readonly summary: "check this PC and show what will be copied or downloaded";
658
+ readonly summary: "check this PC, the install, your settings and the sandbox, and offer to fix what it finds";
512
659
  readonly group: "Health";
513
660
  readonly args: readonly [];
514
661
  readonly options: readonly [{
@@ -523,7 +670,24 @@ declare const COMMAND_LIST: readonly [{
523
670
  advanced?: boolean | undefined;
524
671
  when?: string | undefined;
525
672
  noMenu?: boolean | undefined;
673
+ group?: string | undefined;
674
+ shownAs?: string | undefined;
675
+ }, {
676
+ flag: string;
677
+ type: "string" | "number" | "boolean" | "list";
678
+ description: string;
679
+ short?: string | undefined;
680
+ value?: string | undefined;
681
+ label?: string | undefined;
682
+ default?: string | number | undefined;
683
+ choices?: string[] | "harnesses" | "sessions" | "accounts" | undefined;
684
+ advanced?: boolean | undefined;
685
+ when?: string | undefined;
686
+ noMenu?: boolean | undefined;
687
+ group?: string | undefined;
688
+ shownAs?: string | undefined;
526
689
  }];
690
+ readonly json: true;
527
691
  }, {
528
692
  readonly name: "migrate";
529
693
  readonly summary: "bring your saved settings up to date with this version";
@@ -541,6 +705,8 @@ declare const COMMAND_LIST: readonly [{
541
705
  advanced?: boolean | undefined;
542
706
  when?: string | undefined;
543
707
  noMenu?: boolean | undefined;
708
+ group?: string | undefined;
709
+ shownAs?: string | undefined;
544
710
  }, {
545
711
  flag: string;
546
712
  type: "string" | "number" | "boolean" | "list";
@@ -553,6 +719,22 @@ declare const COMMAND_LIST: readonly [{
553
719
  advanced?: boolean | undefined;
554
720
  when?: string | undefined;
555
721
  noMenu?: boolean | undefined;
722
+ group?: string | undefined;
723
+ shownAs?: string | undefined;
724
+ }, {
725
+ flag: string;
726
+ type: "string" | "number" | "boolean" | "list";
727
+ description: string;
728
+ short?: string | undefined;
729
+ value?: string | undefined;
730
+ label?: string | undefined;
731
+ default?: string | number | undefined;
732
+ choices?: string[] | "harnesses" | "sessions" | "accounts" | undefined;
733
+ advanced?: boolean | undefined;
734
+ when?: string | undefined;
735
+ noMenu?: boolean | undefined;
736
+ group?: string | undefined;
737
+ shownAs?: string | undefined;
556
738
  }];
557
739
  }, {
558
740
  readonly name: "update";
@@ -571,6 +753,8 @@ declare const COMMAND_LIST: readonly [{
571
753
  advanced?: boolean | undefined;
572
754
  when?: string | undefined;
573
755
  noMenu?: boolean | undefined;
756
+ group?: string | undefined;
757
+ shownAs?: string | undefined;
574
758
  }, {
575
759
  flag: string;
576
760
  type: "string" | "number" | "boolean" | "list";
@@ -583,6 +767,8 @@ declare const COMMAND_LIST: readonly [{
583
767
  advanced?: boolean | undefined;
584
768
  when?: string | undefined;
585
769
  noMenu?: boolean | undefined;
770
+ group?: string | undefined;
771
+ shownAs?: string | undefined;
586
772
  }, {
587
773
  flag: string;
588
774
  type: "string" | "number" | "boolean" | "list";
@@ -595,6 +781,8 @@ declare const COMMAND_LIST: readonly [{
595
781
  advanced?: boolean | undefined;
596
782
  when?: string | undefined;
597
783
  noMenu?: boolean | undefined;
784
+ group?: string | undefined;
785
+ shownAs?: string | undefined;
598
786
  }, {
599
787
  flag: string;
600
788
  type: "string" | "number" | "boolean" | "list";
@@ -607,6 +795,8 @@ declare const COMMAND_LIST: readonly [{
607
795
  advanced?: boolean | undefined;
608
796
  when?: string | undefined;
609
797
  noMenu?: boolean | undefined;
798
+ group?: string | undefined;
799
+ shownAs?: string | undefined;
610
800
  }, {
611
801
  flag: string;
612
802
  type: "string" | "number" | "boolean" | "list";
@@ -619,17 +809,49 @@ declare const COMMAND_LIST: readonly [{
619
809
  advanced?: boolean | undefined;
620
810
  when?: string | undefined;
621
811
  noMenu?: boolean | undefined;
812
+ group?: string | undefined;
813
+ shownAs?: string | undefined;
814
+ }, {
815
+ flag: string;
816
+ type: "string" | "number" | "boolean" | "list";
817
+ description: string;
818
+ short?: string | undefined;
819
+ value?: string | undefined;
820
+ label?: string | undefined;
821
+ default?: string | number | undefined;
822
+ choices?: string[] | "harnesses" | "sessions" | "accounts" | undefined;
823
+ advanced?: boolean | undefined;
824
+ when?: string | undefined;
825
+ noMenu?: boolean | undefined;
826
+ group?: string | undefined;
827
+ shownAs?: string | undefined;
622
828
  }];
623
829
  }, {
624
830
  readonly name: "repair";
625
- readonly summary: "find and fix common problems (stale state, broken downloads, half-installed tools)";
831
+ readonly summary: "find and fix problems (install, data folder, settings, stale state, half-installed tools)";
626
832
  readonly group: "Health";
627
833
  readonly args: readonly [];
628
- readonly options: readonly [];
834
+ readonly options: readonly [{
835
+ flag: string;
836
+ type: "string" | "number" | "boolean" | "list";
837
+ description: string;
838
+ short?: string | undefined;
839
+ value?: string | undefined;
840
+ label?: string | undefined;
841
+ default?: string | number | undefined;
842
+ choices?: string[] | "harnesses" | "sessions" | "accounts" | undefined;
843
+ advanced?: boolean | undefined;
844
+ when?: string | undefined;
845
+ noMenu?: boolean | undefined;
846
+ group?: string | undefined;
847
+ shownAs?: string | undefined;
848
+ }];
849
+ readonly json: true;
629
850
  }, {
630
851
  readonly name: "self-test";
631
852
  readonly summary: "run the built-in tests";
632
853
  readonly group: "Health";
854
+ readonly hidden: true;
633
855
  readonly args: readonly [{
634
856
  readonly name: "suite";
635
857
  readonly description: "run only these test suites, e.g. config live-daemon (default: all)";
@@ -640,12 +862,23 @@ declare const COMMAND_LIST: readonly [{
640
862
  }, {
641
863
  readonly name: "config";
642
864
  readonly summary: "show or create your settings file, or check a project's .sandbox-config.json";
643
- readonly group: "Config";
865
+ readonly group: "Health";
644
866
  readonly args: readonly [{
645
867
  readonly name: "action";
646
868
  readonly description: "what to do";
647
869
  readonly required: false;
648
- readonly choices: readonly ["show", "path", "init", "schema", "check"];
870
+ readonly choices: readonly ["show", "path", "init", "schema", "check", "get", "set"];
871
+ readonly aliases: readonly ["summary"];
872
+ }, {
873
+ readonly name: "key";
874
+ readonly description: "(get, set) the setting, e.g. sandbox.memoryMb";
875
+ readonly required: false;
876
+ readonly when: readonly ["get", "set"];
877
+ }, {
878
+ readonly name: "value";
879
+ readonly description: "(set) the new value";
880
+ readonly required: false;
881
+ readonly when: "set";
649
882
  }];
650
883
  readonly options: readonly [{
651
884
  flag: string;
@@ -659,11 +892,14 @@ declare const COMMAND_LIST: readonly [{
659
892
  advanced?: boolean | undefined;
660
893
  when?: string | undefined;
661
894
  noMenu?: boolean | undefined;
895
+ group?: string | undefined;
896
+ shownAs?: string | undefined;
662
897
  }];
898
+ readonly examples: readonly ["sandbox config set sandbox.memoryMb 8192", "sandbox config get sandbox.memoryMb"];
663
899
  }, {
664
900
  readonly name: "agent-commands";
665
901
  readonly summary: "(Beta) make claude, codex ... on this PC start in a hidden sandbox and attach";
666
- readonly group: "Agents";
902
+ readonly group: "Advanced";
667
903
  readonly args: readonly [{
668
904
  readonly name: "action";
669
905
  readonly description: "on, off or status";
@@ -671,9 +907,22 @@ declare const COMMAND_LIST: readonly [{
671
907
  readonly choices: readonly ["status", "on", "off"];
672
908
  }];
673
909
  readonly options: readonly [];
910
+ }, {
911
+ readonly name: "vpn";
912
+ readonly summary: "the VPN for the sandbox: save your login, see whether it is on (NordVPN first)";
913
+ readonly group: "Advanced";
914
+ readonly args: readonly [{
915
+ readonly name: "action";
916
+ readonly description: "status, login or logout";
917
+ readonly required: false;
918
+ readonly choices: readonly ["status", "login", "logout"];
919
+ }];
920
+ readonly options: readonly [];
921
+ readonly json: true;
922
+ readonly examples: readonly ["sandbox vpn login", "sandbox vpn status"];
674
923
  }, {
675
924
  readonly name: "host-claude";
676
- readonly summary: "run Claude on this PC, NOT sandboxed, with its own profile";
925
+ readonly summary: "run Claude on this PC, NOT sandboxed, with its own profile (same as: sandbox host claude)";
677
926
  readonly group: "Agents";
678
927
  readonly args: readonly [];
679
928
  readonly options: readonly [{
@@ -688,9 +937,12 @@ declare const COMMAND_LIST: readonly [{
688
937
  advanced?: boolean | undefined;
689
938
  when?: string | undefined;
690
939
  noMenu?: boolean | undefined;
940
+ group?: string | undefined;
941
+ shownAs?: string | undefined;
691
942
  }];
692
943
  readonly passthrough: "agent";
693
944
  readonly interactive: true;
945
+ readonly hidden: true;
694
946
  }, {
695
947
  readonly name: "host";
696
948
  readonly summary: "run an agent on this PC, NOT sandboxed (sandbox host <agent> -- <arguments>)";
@@ -713,17 +965,32 @@ declare const COMMAND_LIST: readonly [{
713
965
  advanced?: boolean | undefined;
714
966
  when?: string | undefined;
715
967
  noMenu?: boolean | undefined;
968
+ group?: string | undefined;
969
+ shownAs?: string | undefined;
716
970
  }];
717
971
  readonly passthrough: "agent";
718
972
  readonly interactive: true;
719
973
  }, {
720
974
  readonly name: "menu";
721
975
  readonly summary: "the interactive menu (what `sandbox` opens with no arguments)";
722
- readonly group: "Config";
976
+ readonly group: "Advanced";
723
977
  readonly args: readonly [];
724
978
  readonly options: readonly [];
725
979
  readonly hidden: true;
726
980
  readonly interactive: true;
981
+ }, {
982
+ readonly name: "web";
983
+ readonly summary: "(beta) your sandbox sessions in a browser on this PC: start, stop, status or open";
984
+ readonly group: "Web";
985
+ readonly examples: readonly ["sandbox web open start the web UI and open it in your browser"];
986
+ readonly args: readonly [{
987
+ readonly name: "action";
988
+ readonly description: "start the server, stop it, show whether it runs, or open it in your browser";
989
+ readonly required: false;
990
+ readonly choices: readonly ["start", "stop", "status", "open"];
991
+ }];
992
+ readonly options: readonly [];
993
+ readonly json: true;
727
994
  }, {
728
995
  readonly name: "_watch";
729
996
  readonly summary: "background history sync";
@@ -731,6 +998,13 @@ declare const COMMAND_LIST: readonly [{
731
998
  readonly args: readonly [];
732
999
  readonly options: readonly [];
733
1000
  readonly hidden: true;
1001
+ }, {
1002
+ readonly name: "_web";
1003
+ readonly summary: "the web UI server (started by sandbox web start)";
1004
+ readonly group: "Web";
1005
+ readonly args: readonly [];
1006
+ readonly options: readonly [];
1007
+ readonly hidden: true;
734
1008
  }];
735
1009
  export type CommandName = (typeof COMMAND_LIST)[number]['name'];
736
1010
  export declare const COMMANDS: CommandSpec[];