windows-development-sandbox 1.20.0 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/config.example.json +8 -1
  2. package/dist/app/features/access/access.def.js +5 -2
  3. package/dist/app/features/access/access.run.js +7 -3
  4. package/dist/app/features/accounts/accounts.def.d.ts +29 -1
  5. package/dist/app/features/accounts/accounts.def.js +10 -4
  6. package/dist/app/features/accounts/accounts.run.d.ts +1 -0
  7. package/dist/app/features/accounts/accounts.run.js +7 -2
  8. package/dist/app/features/accounts/services.def.d.ts +4 -1
  9. package/dist/app/features/accounts/services.def.js +15 -14
  10. package/dist/app/features/accounts/services.run.d.ts +1 -0
  11. package/dist/app/features/accounts/services.run.js +41 -15
  12. package/dist/app/features/defs.d.ts +39 -2
  13. package/dist/app/features/engine/engine.run.js +1 -1
  14. package/dist/app/features/github/github.def.d.ts +44 -3
  15. package/dist/app/features/github/github.def.js +145 -63
  16. package/dist/app/features/github/github.run.d.ts +9 -2
  17. package/dist/app/features/github/github.run.js +43 -5
  18. package/dist/app/features/health/health.def.js +8 -2
  19. package/dist/app/features/logs/logs.def.js +0 -8
  20. package/dist/app/features/projects/projects.def.js +2 -2
  21. package/dist/app/features/projects/projects.run.js +5 -5
  22. package/dist/app/features/sandbox/sandbox.def.js +7 -3
  23. package/dist/app/features/sessions/sessions.def.d.ts +4 -4
  24. package/dist/app/features/sessions/sessions.def.js +0 -5
  25. package/dist/app/features/sessions/sessions.run.d.ts +1 -1
  26. package/dist/app/features/sessions/sessions.run.js +2 -2
  27. package/dist/app/features/settings/categories.def.js +2 -0
  28. package/dist/app/features/settings/settings-rows.js +1 -1
  29. package/dist/app/features/settings/settings.def.js +1 -1
  30. package/dist/app/features/settings/settings.run.js +3 -3
  31. package/dist/app/features/storage/storage.run.js +18 -9
  32. package/dist/app/features/updates/update-lines.js +2 -2
  33. package/dist/app/features/updates/updates.def.js +1 -1
  34. package/dist/app/features/updates/updates.run.js +1 -1
  35. package/dist/app/features/web/web.def.js +2 -2
  36. package/dist/app/features/web/web.run.js +12 -4
  37. package/dist/app/kernel/errors.d.ts +7 -0
  38. package/dist/app/kernel/errors.js +18 -3
  39. package/dist/app/kernel/rpc.d.ts +5 -0
  40. package/dist/app/kernel/view.d.ts +11 -1
  41. package/dist/bin/agent-sandbox.js +2 -2
  42. package/dist/bin/{chunk-DK4NTBUF.js → chunk-JETGP2C3.js} +172 -48
  43. package/dist/bin/{chunk-2IMT7ZCT.js → chunk-XZKOPGNH.js} +1 -1
  44. package/dist/bin/{chunk-Z2P5OGKL.js → chunk-ZTTOF5V3.js} +2430 -1688
  45. package/dist/bin/claude-host.js +2 -2
  46. package/dist/bin/claude-sbx.js +2 -2
  47. package/dist/bin/codex-sbx.js +2 -2
  48. package/dist/bin/gemini-sbx.js +2 -2
  49. package/dist/bin/sandbox.js +2 -2
  50. package/dist/bin/sbx-hide.js +2 -2
  51. package/dist/bin/sbx-show.js +2 -2
  52. package/dist/cli/manifest.d.ts +2 -2
  53. package/dist/cli/manifest.js +2 -1
  54. package/dist/cli/menu/coverage-exempt.d.ts +17 -0
  55. package/dist/cli/menu/coverage-exempt.js +61 -0
  56. package/dist/cli/menu/io-menu.d.ts +2 -0
  57. package/dist/cli/menu/io-menu.js +50 -5
  58. package/dist/cli/menu/pages/accounts-page.js +1 -1
  59. package/dist/cli/menu/pages/agents-page.js +8 -2
  60. package/dist/cli/menu/pages/maintenance-page.d.ts +6 -0
  61. package/dist/cli/menu/pages/maintenance-page.js +9 -2
  62. package/dist/cli/menu/pages/sessions-page.d.ts +2 -0
  63. package/dist/cli/menu/pages/sessions-page.js +12 -4
  64. package/dist/cli/menu/pages/settings-page.js +12 -1
  65. package/dist/cli/menu/remote-menu.js +1 -1
  66. package/dist/cli/menu/shell.d.ts +5 -0
  67. package/dist/cli/menu/shell.js +13 -0
  68. package/dist/cli/report.js +2 -0
  69. package/dist/cli/tui/app.d.ts +5 -0
  70. package/dist/cli/tui/app.js +2 -0
  71. package/dist/core/config/defaults.js +3 -1
  72. package/dist/core/schema/accounts.d.ts +6 -0
  73. package/dist/core/schema/accounts.js +13 -11
  74. package/dist/core/schema/config.d.ts +20 -8
  75. package/dist/core/schema/config.js +4 -4
  76. package/dist/core/schema/github.js +1 -1
  77. package/dist/core/schema/profile.js +8 -4
  78. package/dist/core/schema/resume.js +1 -1
  79. package/dist/core/schema/sandbox.js +3 -3
  80. package/dist/core/schema/vpn.js +1 -1
  81. package/dist/core/schema/web.js +3 -3
  82. package/dist/core/types.d.ts +6 -0
  83. package/dist/core/util/errors.d.ts +11 -1
  84. package/dist/core/util/errors.js +7 -1
  85. package/dist/core/util/index.d.ts +1 -1
  86. package/dist/core/util/index.js +1 -1
  87. package/dist/guest/accounts/adapter.d.ts +2 -0
  88. package/dist/guest/accounts/adapters.js +4 -0
  89. package/dist/guest/accounts/apply.d.ts +6 -2
  90. package/dist/guest/accounts/kinds/cfx.d.ts +7 -0
  91. package/dist/guest/accounts/kinds/cfx.js +33 -3
  92. package/dist/guest/accounts/kinds/comet.d.ts +7 -0
  93. package/dist/guest/accounts/kinds/comet.js +50 -0
  94. package/dist/guest/accounts/kinds/perplexity.d.ts +2 -0
  95. package/dist/guest/accounts/kinds/perplexity.js +12 -0
  96. package/dist/guest/accounts/watch.d.ts +2 -0
  97. package/dist/guest/accounts/watch.js +12 -2
  98. package/dist/guest/agents/agent-installer.js +1 -1
  99. package/dist/guest/agents/profile-links.d.ts +2 -0
  100. package/dist/guest/agents/profile-links.js +18 -4
  101. package/dist/guest/apps/after-install.js +19 -0
  102. package/dist/guest/apps/app-installer.d.ts +11 -0
  103. package/dist/guest/apps/app-installer.js +69 -6
  104. package/dist/guest/apps/comet-unpack.d.ts +20 -0
  105. package/dist/guest/apps/comet-unpack.js +127 -0
  106. package/dist/guest/apps/index.d.ts +1 -1
  107. package/dist/guest/apps/index.js +1 -1
  108. package/dist/guest/apps/resolvers-agents-web.d.ts +2 -0
  109. package/dist/guest/apps/resolvers-agents-web.js +7 -0
  110. package/dist/guest/apps/resolvers.js +2 -0
  111. package/dist/guest/apps/shortcuts.d.ts +2 -0
  112. package/dist/guest/apps/shortcuts.js +1 -0
  113. package/dist/guest/apps/unpack.js +14 -4
  114. package/dist/guest/boot/boot.d.ts +45 -16
  115. package/dist/guest/boot/boot.js +316 -145
  116. package/dist/guest/boot/graph.d.ts +252 -0
  117. package/dist/guest/boot/graph.js +257 -0
  118. package/dist/guest/boot/guide-lines.d.ts +25 -0
  119. package/dist/guest/boot/guide-lines.js +41 -0
  120. package/dist/guest/boot/guide.d.ts +1 -4
  121. package/dist/guest/boot/guide.js +6 -8
  122. package/dist/guest/boot/runner.d.ts +77 -0
  123. package/dist/guest/boot/runner.js +215 -0
  124. package/dist/guest/browser/cdp.d.ts +71 -0
  125. package/dist/guest/browser/cdp.js +306 -0
  126. package/dist/guest/browser/comet.d.ts +28 -0
  127. package/dist/guest/browser/comet.js +155 -0
  128. package/dist/guest/daemon/project-provisioner.js +6 -1
  129. package/dist/guest/devtools/fivem.d.ts +1 -1
  130. package/dist/guest/devtools/fivem.js +243 -3
  131. package/dist/guest/entries/daemon.js +2 -0
  132. package/dist/guest/runtime/log.d.ts +12 -0
  133. package/dist/guest/runtime/log.js +29 -5
  134. package/dist/guest/runtime/pools.d.ts +24 -0
  135. package/dist/guest/runtime/pools.js +60 -0
  136. package/dist/guest/runtime/process.d.ts +4 -0
  137. package/dist/guest/runtime/process.js +38 -1
  138. package/dist/guest/runtime/status.d.ts +5 -1
  139. package/dist/guest/runtime/status.js +19 -0
  140. package/dist/guest/setup/addon-mcp.d.ts +1 -1
  141. package/dist/guest/setup/addon-mcp.js +52 -12
  142. package/dist/guest/setup/agent-addons.d.ts +3 -2
  143. package/dist/guest/setup/agent-addons.js +12 -3
  144. package/dist/guest/setup/environment.d.ts +1 -1
  145. package/dist/guest/setup/environment.js +25 -12
  146. package/dist/guest/setup/headroom.d.ts +8 -3
  147. package/dist/guest/setup/headroom.js +44 -15
  148. package/dist/guest/setup/path-plan.d.ts +28 -0
  149. package/dist/guest/setup/path-plan.js +69 -2
  150. package/dist/guest/setup/shell-path.d.ts +1 -1
  151. package/dist/guest/setup/shell-path.js +3 -3
  152. package/dist/guest/toolchains/fivem/artifacts.d.ts +48 -1
  153. package/dist/guest/toolchains/fivem/artifacts.js +97 -4
  154. package/dist/guest/toolchains/fivem/fivem.d.ts +32 -1
  155. package/dist/guest/toolchains/fivem/fivem.js +168 -3
  156. package/dist/guest/toolchains/fivem/scaffold.d.ts +35 -0
  157. package/dist/guest/toolchains/fivem/scaffold.js +105 -0
  158. package/dist/guest/toolchains/fivem/serve-plan.d.ts +34 -0
  159. package/dist/guest/toolchains/fivem/serve-plan.js +61 -0
  160. package/dist/guest/toolchains/languages/go.js +1 -1
  161. package/dist/guest/toolchains/languages/node.js +2 -1
  162. package/dist/guest/toolchains/languages/php.d.ts +2 -0
  163. package/dist/guest/toolchains/languages/php.js +13 -1
  164. package/dist/guest/toolchains/languages/python-tools.js +1 -1
  165. package/dist/guest/toolchains/languages/ruby.js +1 -1
  166. package/dist/guest/toolchains/native/binstall.js +1 -1
  167. package/dist/guest/toolchains/native/msvc/packages.js +10 -4
  168. package/dist/guest/toolchains/native/rust.d.ts +2 -0
  169. package/dist/guest/toolchains/native/rust.js +11 -4
  170. package/dist/guest/toolchains/native/unreal.d.ts +2 -0
  171. package/dist/guest/toolchains/native/unreal.js +16 -6
  172. package/dist/guest/toolchains/native/vcruntime.d.ts +2 -0
  173. package/dist/guest/toolchains/native/vcruntime.js +10 -2
  174. package/dist/guest/toolchains/native/visual-studio.d.ts +3 -0
  175. package/dist/guest/toolchains/native/visual-studio.js +44 -26
  176. package/dist/guest/toolchains/native/vs-request.d.ts +2 -0
  177. package/dist/guest/toolchains/native/vs-request.js +2 -0
  178. package/dist/guest/toolchains/plan.js +19 -8
  179. package/dist/guest/toolchains/scheduler.d.ts +2 -21
  180. package/dist/guest/toolchains/scheduler.js +7 -121
  181. package/dist/guest/toolchains/setup.d.ts +15 -2
  182. package/dist/guest/toolchains/setup.js +39 -20
  183. package/dist/guest/toolchains/split.d.ts +28 -0
  184. package/dist/guest/toolchains/split.js +60 -0
  185. package/dist/guest/toolchains/steam/client.js +2 -1
  186. package/dist/guest/toolchains/step-scheduler.d.ts +51 -0
  187. package/dist/guest/toolchains/step-scheduler.js +147 -0
  188. package/dist/guest/toolchains/step.d.ts +13 -0
  189. package/dist/guest/toolchains/tools/git.js +18 -0
  190. package/dist/guest/vpn/openvpn.js +3 -4
  191. package/dist/guest/vpn/wireguard.js +11 -4
  192. package/dist/host/accounts/deliver.js +7 -0
  193. package/dist/host/accounts/handoff.js +2 -6
  194. package/dist/host/accounts/index.d.ts +1 -1
  195. package/dist/host/accounts/index.js +1 -1
  196. package/dist/host/accounts/kinds/cfx.d.ts +1 -1
  197. package/dist/host/accounts/kinds/cfx.js +47 -4
  198. package/dist/host/accounts/kinds/comet.d.ts +2 -0
  199. package/dist/host/accounts/kinds/comet.js +6 -0
  200. package/dist/host/accounts/kinds/perplexity.d.ts +2 -0
  201. package/dist/host/accounts/kinds/perplexity.js +30 -0
  202. package/dist/host/accounts/leases.d.ts +7 -1
  203. package/dist/host/accounts/leases.js +13 -2
  204. package/dist/host/accounts/source.d.ts +7 -1
  205. package/dist/host/accounts/source.js +27 -0
  206. package/dist/host/accounts/sources.js +4 -0
  207. package/dist/host/github/deliver.d.ts +1 -1
  208. package/dist/host/github/deliver.js +20 -1
  209. package/dist/host/github/index.d.ts +2 -1
  210. package/dist/host/github/index.js +1 -0
  211. package/dist/host/github/token.d.ts +13 -1
  212. package/dist/host/github/token.js +19 -2
  213. package/dist/host/github/verify.d.ts +27 -0
  214. package/dist/host/github/verify.js +61 -0
  215. package/dist/host/launch/hints/fivem.d.ts +3 -1
  216. package/dist/host/launch/hints/fivem.js +68 -2
  217. package/dist/host/launch/session-file.js +4 -0
  218. package/dist/host/launch/toolchains.d.ts +2 -1
  219. package/dist/host/launch/toolchains.js +5 -3
  220. package/dist/host/vpn/nordvpn.d.ts +2 -4
  221. package/dist/host/vpn/nordvpn.js +2 -24
  222. package/dist/runtime/agent.js +405 -90
  223. package/dist/runtime/daemon.js +3010 -1383
  224. package/dist/runtime/db.js +333 -90
  225. package/dist/runtime/main.js +4720 -1954
  226. package/dist/runtime/netproxy.js +286 -69
  227. package/dist/runtime/tool.js +2852 -1780
  228. package/dist/runtime/view.js +286 -69
  229. package/dist/selftest/agent-paths.test.js +39 -1
  230. package/dist/selftest/agents-web.test.d.ts +2 -0
  231. package/dist/selftest/agents-web.test.js +647 -0
  232. package/dist/selftest/app.test.js +5 -2
  233. package/dist/selftest/boot-runner.test.d.ts +2 -0
  234. package/dist/selftest/boot-runner.test.js +456 -0
  235. package/dist/selftest/channel.test.js +15 -0
  236. package/dist/selftest/fivem.test.js +249 -3
  237. package/dist/selftest/github.test.js +94 -9
  238. package/dist/selftest/guest-boot.test.js +3 -0
  239. package/dist/selftest/health.test.js +1 -1
  240. package/dist/selftest/index.js +8 -0
  241. package/dist/selftest/layout.test.js +5 -0
  242. package/dist/selftest/menu-coverage.test.d.ts +2 -0
  243. package/dist/selftest/menu-coverage.test.js +46 -0
  244. package/dist/selftest/menu-screens.js +37 -1
  245. package/dist/selftest/persisted-installs.test.js +6 -3
  246. package/dist/selftest/service-accounts.test.js +3 -2
  247. package/dist/selftest/support/engine-golden.js +27 -0
  248. package/dist/selftest/support/fixtures.d.ts +6 -0
  249. package/dist/selftest/support/web-preview.d.ts +34 -1
  250. package/dist/selftest/support/web-preview.js +21 -18
  251. package/dist/selftest/toolchains.test.js +23 -1
  252. package/dist/selftest/ui-text.test.d.ts +7 -0
  253. package/dist/selftest/ui-text.test.js +300 -0
  254. package/dist/shared/accounts/index.d.ts +2 -0
  255. package/dist/shared/accounts/index.js +2 -0
  256. package/dist/shared/accounts/kinds/comet.d.ts +12 -0
  257. package/dist/shared/accounts/kinds/comet.js +64 -0
  258. package/dist/shared/accounts/kinds/perplexity.d.ts +8 -0
  259. package/dist/shared/accounts/kinds/perplexity.js +37 -0
  260. package/dist/shared/accounts/kinds.d.ts +24 -5
  261. package/dist/shared/accounts/kinds.js +86 -4
  262. package/dist/shared/accounts/payloads.d.ts +81 -0
  263. package/dist/shared/accounts/payloads.js +39 -1
  264. package/dist/shared/apps/agent-addons.d.ts +33 -5
  265. package/dist/shared/apps/agent-addons.js +95 -3
  266. package/dist/shared/apps/catalogue-agents-web.d.ts +14 -0
  267. package/dist/shared/apps/catalogue-agents-web.js +112 -0
  268. package/dist/shared/apps/catalogue-modding.js +32 -1
  269. package/dist/shared/apps/catalogue.d.ts +27 -3
  270. package/dist/shared/apps/catalogue.js +2 -1
  271. package/dist/shared/apps/index.d.ts +3 -1
  272. package/dist/shared/apps/index.js +3 -1
  273. package/dist/shared/channel/schema.d.ts +21 -3
  274. package/dist/shared/channel/schema.js +7 -0
  275. package/dist/shared/channel/secrets.d.ts +19 -0
  276. package/dist/shared/concurrency/index.d.ts +3 -0
  277. package/dist/shared/concurrency/index.js +3 -0
  278. package/dist/shared/concurrency/installer-retry.d.ts +6 -0
  279. package/dist/shared/concurrency/installer-retry.js +10 -0
  280. package/dist/shared/concurrency/limiter.d.ts +19 -0
  281. package/dist/shared/concurrency/limiter.js +67 -0
  282. package/dist/shared/concurrency/pools.d.ts +7 -0
  283. package/dist/shared/concurrency/pools.js +9 -0
  284. package/dist/shared/download/archive.d.ts +2 -0
  285. package/dist/shared/download/archive.js +11 -1
  286. package/dist/shared/download/bounded-fetch.d.ts +13 -0
  287. package/dist/shared/download/bounded-fetch.js +40 -0
  288. package/dist/shared/download/downloader.d.ts +5 -0
  289. package/dist/shared/download/downloader.js +50 -38
  290. package/dist/shared/download/index.d.ts +2 -1
  291. package/dist/shared/download/index.js +2 -1
  292. package/dist/shared/readiness.d.ts +2 -2
  293. package/dist/shared/readiness.js +2 -2
  294. package/dist/web/index.html +1 -1
  295. package/dist/web/{main-OUUQYNK4.js → main-CCILLX2M.js} +67 -67
  296. package/native/csharp/HcsHost/AssemblyInfo.cs +3 -3
  297. package/native/csharp/HostTools/AssemblyInfo.cs +3 -3
  298. package/native/csharp/StorageHelper/AssemblyInfo.cs +3 -3
  299. package/package.json +1 -1
  300. package/sandbox/addons/browser-use-mcp/requirements.in +1 -0
  301. package/sandbox/addons/browser-use-mcp/requirements.txt +2350 -0
  302. package/sandbox/addons/chrome-devtools-mcp/package-lock.json +38 -0
  303. package/sandbox/addons/chrome-devtools-mcp/package.json +7 -0
  304. package/sandbox/addons/comet-mcp/package-lock.json +1277 -0
  305. package/sandbox/addons/comet-mcp/package.json +7 -0
  306. package/sandbox/addons/perplexity-mcp/package-lock.json +1655 -0
  307. package/sandbox/addons/perplexity-mcp/package.json +7 -0
  308. package/sandbox/scripts/add-firewall-port.ps1 +18 -4
  309. package/sandbox/scripts/set-machine-environment.ps1 +30 -15
  310. package/sandbox/templates/fivem/README.txt +6 -2
  311. package/sandbox/templates/fivem/cs/Client/Client.csproj +15 -0
  312. package/sandbox/templates/fivem/cs/Client/ClientMain.cs +20 -0
  313. package/sandbox/templates/fivem/cs/Server/Server.csproj +14 -0
  314. package/sandbox/templates/fivem/cs/Server/ServerMain.cs +20 -0
  315. package/sandbox/templates/fivem/cs/fxmanifest.lua +11 -0
  316. package/sandbox/templates/fivem/js/client.js +12 -0
  317. package/sandbox/templates/fivem/js/fxmanifest.lua +9 -0
  318. package/sandbox/templates/fivem/js/server.js +6 -0
  319. package/sandbox/templates/fivem/lua/client.lua +8 -0
  320. package/sandbox/templates/fivem/lua/fxmanifest.lua +10 -0
  321. package/sandbox/templates/fivem/lua/server.lua +6 -0
  322. package/sandbox/templates/fivem/server.cfg +37 -0
  323. package/sandbox/templates/fivem/ts/build.js +17 -0
  324. package/sandbox/templates/fivem/ts/fxmanifest.lua +9 -0
  325. package/sandbox/templates/fivem/ts/package.json +16 -0
  326. package/sandbox/templates/fivem/ts/src/client/client.ts +12 -0
  327. package/sandbox/templates/fivem/ts/src/client/tsconfig.json +13 -0
  328. package/sandbox/templates/fivem/ts/src/server/server.ts +6 -0
  329. package/sandbox/templates/fivem/ts/src/server/tsconfig.json +13 -0
  330. package/schemas/config.schema.json +56 -27
  331. package/schemas/sandbox-config.schema.json +37 -14
@@ -10,7 +10,7 @@
10
10
  "defaultHarness": {
11
11
  "type": "string",
12
12
  "pattern": "^[A-Za-z0-9_-]+$",
13
- "description": "Agent started by `sandbox launch` (sandbox claude always runs claude)."
13
+ "description": "The agent that starts when you do not name one (starting claude by name always runs claude)."
14
14
  },
15
15
  "guestWorkspace": {
16
16
  "anyOf": [
@@ -63,7 +63,7 @@
63
63
  "properties": {
64
64
  "enabled": {
65
65
  "type": "boolean",
66
- "description": "Keep an audit log on this PC of what your agents did: programs started (with their command lines, secrets hidden), files changed in the projects, git commits, sessions, and what the repo guard caught, each linked to the agent session that did it where that can be known. The sandbox cannot change it. Read it with sandbox audit or on the Activity page."
66
+ "description": "Keep an audit log on this PC of what your agents did: programs started (with their command lines, secrets hidden), files changed in the projects, git commits, sessions, and what the repo guard caught, each linked to the agent session that did it where that can be known. The sandbox cannot change it. Read it on the Activity page."
67
67
  },
68
68
  "days": {
69
69
  "type": "integer",
@@ -130,7 +130,7 @@
130
130
  "windows-sandbox",
131
131
  "hcs"
132
132
  ],
133
- "description": "(alpha) What runs the sandbox. \"windows-sandbox\" = Windows Sandbox (the default: desktop, Windows Terminal, GPU, clipboard, audio, printers). \"hcs\" = a headless Hyper-V isolated Server Core container for agents (no desktop, GPU or clipboard); it needs Windows features and an image on this PC (sandbox engine check hcs lists what is missing), and starting it is not enabled yet in this alpha. sandbox engine shows what each engine can do. Yours only: a project file (.sandbox-config.json) cannot set it."
133
+ "description": "(alpha) What runs the sandbox. \"windows-sandbox\" = Windows Sandbox (the default: desktop, Windows Terminal, GPU, clipboard, audio, printers). \"hcs\" = a headless Hyper-V isolated Server Core container for agents (no desktop, GPU or clipboard); it needs Windows features and an image on this PC (Maintenance > Engine lists what is missing), and starting it is not enabled yet in this alpha. Maintenance > Engine shows what each engine can do. Yours only: a project file (.sandbox-config.json) cannot set it."
134
134
  },
135
135
  "memoryMb": {
136
136
  "anyOf": [
@@ -216,7 +216,7 @@
216
216
  },
217
217
  "clipboard": {
218
218
  "type": "boolean",
219
- "description": "Shared clipboard between this PC and the sandbox. Also lets an agent's copy (in sandbox attach) reach this PC's clipboard."
219
+ "description": "Shared clipboard between this PC and the sandbox. Also lets an agent's copy (in an attached terminal) reach this PC's clipboard."
220
220
  },
221
221
  "audioInput": {
222
222
  "type": "boolean",
@@ -261,7 +261,7 @@
261
261
  "root": {
262
262
  "type": "string",
263
263
  "minLength": 1,
264
- "description": "Where everything is kept on this PC (tools, databases, logins, launches). The default is a private folder for you under %ProgramData%\\AgentSandbox\\users, which works for installs for one user and for everyone. sandbox storage move <folder> moves it."
264
+ "description": "Where everything is kept on this PC (tools, databases, logins, launches). The default is a private folder for you under %ProgramData%\\AgentSandbox\\users, which works for installs for one user and for everyone. Maintenance > Storage moves it."
265
265
  },
266
266
  "persistAgentState": {
267
267
  "type": "boolean",
@@ -282,7 +282,7 @@
282
282
  "off",
283
283
  "vhdx"
284
284
  ],
285
- "description": "(beta) Keep the sandbox tools, state and logs inside one disk image file (vhdx) instead of loose folders, so scanning programs on this PC see one file. Not yet tried on a real PC. Turn it on with sandbox storage contained on (it moves your files and asks first); Windows asks for permission to mount the image when a sandbox starts. \"off\" = loose folders, as always. Yours only: a project file (.sandbox-config.json) cannot set it."
285
+ "description": "(beta) Keep the sandbox tools, state and logs inside one disk image file (vhdx) instead of loose folders, so scanning programs on this PC see one file. Not yet tried on a real PC. Turn it on in Maintenance > Storage (it moves your files and asks first); Windows asks for permission to mount the image when a sandbox starts. \"off\" = loose folders, as always. Yours only: a project file (.sandbox-config.json) cannot set it."
286
286
  },
287
287
  "containedMaxGb": {
288
288
  "type": "integer",
@@ -293,7 +293,7 @@
293
293
  "warnDataGb": {
294
294
  "type": "number",
295
295
  "minimum": 0,
296
- "description": "Say at launch when the persisted data (tools, databases, logins) is bigger than this many GB; 0 = never. sandbox data shows what takes the space."
296
+ "description": "Say at launch when the persisted data (tools, databases, logins) is bigger than this many GB; 0 = never. Maintenance > Data shows what takes the space."
297
297
  }
298
298
  },
299
299
  "additionalProperties": false
@@ -366,7 +366,7 @@
366
366
  "properties": {
367
367
  "enabled": {
368
368
  "type": "boolean",
369
- "description": "(Alpha: not yet tried on a real PC) Send the sandbox's traffic through a VPN. Only the sandbox: your PC's own connection is untouched. Needs a saved login first (sandbox vpn login). The agent in the sandbox can read that login and can turn the tunnel off (it is the administrator there)."
369
+ "description": "(Alpha: not yet tried on a real PC) Send the sandbox's traffic through a VPN. Only the sandbox: your PC's own connection is untouched. Needs a saved login first (Settings > Network > VPN). The agent in the sandbox can read that login and can turn the tunnel off (it is the administrator there)."
370
370
  },
371
371
  "provider": {
372
372
  "type": "string",
@@ -406,7 +406,7 @@
406
406
  "properties": {
407
407
  "shareToken": {
408
408
  "type": "boolean",
409
- "description": "Give each sandbox the GitHub token you saved with `sandbox github login` (best a fine-grained token limited to some repositories and permissions), so gh and https git work there without logging in. Only with provisioning.git.access \"full\". The agent in the sandbox can read the token and use it for whatever it allows. A project file (.sandbox-config.json) cannot turn this on."
409
+ "description": "Give each sandbox the GitHub token you saved in Accounts (best a fine-grained token limited to some repositories and permissions), so gh and https git work there without logging in. Only with provisioning.git.access \"full\". The agent in the sandbox can read the token and use it for whatever it allows. A project file (.sandbox-config.json) cannot turn this on."
410
410
  }
411
411
  },
412
412
  "additionalProperties": false
@@ -419,7 +419,7 @@
419
419
  "properties": {
420
420
  "share": {
421
421
  "type": "boolean",
422
- "description": "Hand your saved Epic Games sign-in to sandboxes that use unreal (sign in to the launcher once in a sandbox, or take this PC's: sandbox account import epic). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. A sign-in works in one place at a time: taking this PC's signs the launcher on this PC out the first time a sandbox uses it. Yours only: a project file can only turn it off."
422
+ "description": "Hand your saved Epic Games sign-in to sandboxes that use unreal (sign in to the launcher once in a sandbox, or take this PC's from Accounts). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. A sign-in works in one place at a time: taking this PC's signs the launcher on this PC out the first time a sandbox uses it. Yours only: a project file can only turn it off."
423
423
  }
424
424
  },
425
425
  "additionalProperties": false
@@ -429,7 +429,7 @@
429
429
  "properties": {
430
430
  "share": {
431
431
  "type": "boolean",
432
- "description": "Hand your saved Steam (SteamCMD) sign-in to sandboxes that use steam (sign in once with sbx-steam login, or: sandbox account import steam --from <steamcmd folder>). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can upload builds and workshop items to your Steam apps. It works in one sandbox at a time: a second sandbox starts without it while the first one runs. No password is kept: sign in once with sbx-steam login in a sandbox (Steam Guard asks there). Yours only: a project file can only turn it off."
432
+ "description": "Hand your saved Steam (SteamCMD) sign-in to sandboxes that use steam (sign in once with sbx-steam login, or take it from a SteamCMD folder in Accounts). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can upload builds and workshop items to your Steam apps. It works in one sandbox at a time: a second sandbox starts without it while the first one runs. No password is kept: sign in once with sbx-steam login in a sandbox (Steam Guard asks there). Yours only: a project file can only turn it off."
433
433
  }
434
434
  },
435
435
  "additionalProperties": false
@@ -439,7 +439,7 @@
439
439
  "properties": {
440
440
  "share": {
441
441
  "type": "boolean",
442
- "description": "Hand your saved Unity sign-in to sandboxes that use unity (sign in once in a sandbox, or take this PC's licence: sandbox account import unity). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It works in one sandbox at a time: a second sandbox starts without it while the first one runs. A Pro seat is handed back when the sandbox stops cleanly; a sandbox closed abruptly may keep it until you return it. Yours only: a project file can only turn it off."
442
+ "description": "Hand your saved Unity sign-in to sandboxes that use unity (sign in once in a sandbox, or take this PC's licence from Accounts). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It works in one sandbox at a time: a second sandbox starts without it while the first one runs. A Pro seat is handed back when the sandbox stops cleanly; a sandbox closed abruptly may keep it until you return it. Yours only: a project file can only turn it off."
443
443
  }
444
444
  },
445
445
  "additionalProperties": false
@@ -449,7 +449,7 @@
449
449
  "properties": {
450
450
  "share": {
451
451
  "type": "boolean",
452
- "description": "Hand your saved Cfx.re (FiveM / RedM server key) sign-in to sandboxes that use fivem (sandbox account login cfx). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. Anyone with the key can run a server under your Cfx.re account. Yours only: a project file can only turn it off."
452
+ "description": "Hand your saved Cfx.re (FiveM / RedM server key) sign-in to sandboxes that use fivem (type the key in Accounts). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. Anyone with the key can run a server under your Cfx.re account. Yours only: a project file can only turn it off."
453
453
  }
454
454
  },
455
455
  "additionalProperties": false
@@ -459,7 +459,7 @@
459
459
  "properties": {
460
460
  "share": {
461
461
  "type": "boolean",
462
- "description": "Hand your saved Android upload keystore sign-in to sandboxes that use android (sandbox account import keystore --from <upload.jks>). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can sign app updates as you; keep a backup of the keystore elsewhere. Yours only: a project file can only turn it off."
462
+ "description": "Hand your saved Android upload keystore sign-in to sandboxes that use android (import the upload.jks file in Accounts). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can sign app updates as you; keep a backup of the keystore elsewhere. Yours only: a project file can only turn it off."
463
463
  }
464
464
  },
465
465
  "additionalProperties": false
@@ -469,7 +469,7 @@
469
469
  "properties": {
470
470
  "share": {
471
471
  "type": "boolean",
472
- "description": "Hand your saved Google Play (service account) sign-in to sandboxes that use android (sandbox account import play --from <service-account.json>). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can publish to Google Play with what the service account is allowed. Yours only: a project file can only turn it off."
472
+ "description": "Hand your saved Google Play (service account) sign-in to sandboxes that use android (import the service-account.json file in Accounts). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can publish to Google Play with what the service account is allowed. Yours only: a project file can only turn it off."
473
473
  }
474
474
  },
475
475
  "additionalProperties": false
@@ -479,7 +479,7 @@
479
479
  "properties": {
480
480
  "share": {
481
481
  "type": "boolean",
482
- "description": "Hand your saved Expo (EAS) sign-in to sandboxes that use reactNative (sandbox account login expo). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can start EAS builds and submissions on your Expo account. Yours only: a project file can only turn it off."
482
+ "description": "Hand your saved Expo (EAS) sign-in to sandboxes that use reactNative (type the token in Accounts). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can start EAS builds and submissions on your Expo account. Yours only: a project file can only turn it off."
483
483
  }
484
484
  },
485
485
  "additionalProperties": false
@@ -489,14 +489,34 @@
489
489
  "properties": {
490
490
  "share": {
491
491
  "type": "boolean",
492
- "description": "Hand your saved App Store Connect API key sign-in to sandboxes that use reactNative or flutter (sandbox account import appstore --from <AuthKey.p8>). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can upload and submit apps with what the key is allowed. Yours only: a project file can only turn it off."
492
+ "description": "Hand your saved App Store Connect API key sign-in to sandboxes that use reactNative or flutter (import the AuthKey.p8 file in Accounts). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can upload and submit apps with what the key is allowed. Yours only: a project file can only turn it off."
493
+ }
494
+ },
495
+ "additionalProperties": false
496
+ },
497
+ "perplexity": {
498
+ "type": "object",
499
+ "properties": {
500
+ "share": {
501
+ "type": "boolean",
502
+ "description": "Hand your saved Perplexity API key sign-in to sandboxes that use the Perplexity MCP app (type the API key in Accounts, or import it from a .env file). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can read the key and spend your API credit: use a separate API key with a spending limit. Perplexity Pro does not include API use; the API key is billed separately. Only the variable PERPLEXITY_API_KEY of the agent gets it: nothing in the sandbox writes it to a file. Yours only: a project file can only turn it off."
503
+ }
504
+ },
505
+ "additionalProperties": false
506
+ },
507
+ "comet": {
508
+ "type": "object",
509
+ "properties": {
510
+ "share": {
511
+ "type": "boolean",
512
+ "description": "Hand your saved Comet (Perplexity browser) sign-in to sandboxes that use the Comet app (sign in to Comet once in a sandbox: it cannot be taken from this PC). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can act as you in Comet and spend your Perplexity Computer credits; agentic browsing is open to prompt injection from the pages it reads. Your Comet sign-in can't be copied from this PC: Windows locks it to your PC account. Sign in once inside a sandbox and it is kept for the next ones. Only the perplexity.ai sign-in cookies are kept: never saved passwords, other sites, localStorage or history. Never import your main browser profile. Several sandboxes can use it at once: the sign-in the last one hands back is kept. Yours only: a project file can only turn it off."
493
513
  }
494
514
  },
495
515
  "additionalProperties": false
496
516
  }
497
517
  },
498
518
  "additionalProperties": false,
499
- "description": "Service sign-ins for sandboxes (game stores, engines, app signing). Manage them in Accounts: sandbox account status."
519
+ "description": "Service sign-ins for sandboxes (game stores, engines, app signing, Perplexity). Manage them in Accounts."
500
520
  },
501
521
  "pcInstalls": {
502
522
  "type": "object",
@@ -1754,11 +1774,11 @@
1754
1774
  "properties": {
1755
1775
  "enabled": {
1756
1776
  "type": "boolean",
1757
- "description": "Allow sandbox claude --terminal / sandbox attach from this PC."
1777
+ "description": "Allow attaching this PC's terminal to a session (the terminal option when starting an agent, and attach)."
1758
1778
  },
1759
1779
  "reuseSession": {
1760
1780
  "type": "boolean",
1761
- "description": "sandbox claude -t in a running sandbox reattaches to this folder's session when no terminal on this PC is attached to it (--new always starts another)."
1781
+ "description": "Starting an agent with a terminal in a running sandbox reattaches to this folder's session when no terminal on this PC is attached to it (starting a new session on purpose always starts another)."
1762
1782
  },
1763
1783
  "auto": {
1764
1784
  "type": "boolean",
@@ -1766,7 +1786,7 @@
1766
1786
  },
1767
1787
  "autoHide": {
1768
1788
  "type": "boolean",
1769
- "description": "Hide the Windows Sandbox window whenever this terminal attaches; it keeps running (sandbox show brings it back)."
1789
+ "description": "Hide the Windows Sandbox window whenever this terminal attaches; it keeps running (Sandbox > Status shows it again)."
1770
1790
  },
1771
1791
  "confirmCtrlC": {
1772
1792
  "type": "boolean",
@@ -1780,7 +1800,7 @@
1780
1800
  "properties": {
1781
1801
  "enabled": {
1782
1802
  "type": "boolean",
1783
- "description": "(Beta) The web UI: your sandbox sessions in a browser on this PC (http://127.0.0.1:<port>, this PC only). On: every sandbox start also starts it in the background (it keeps running until sandbox web stop or a restart of the PC). Off: only sandbox web start runs it. Open it signed in with sandbox web open."
1803
+ "description": "(Beta) The web UI: your sessions in a browser on this PC (http://127.0.0.1:<port>, this PC only). On: every start of a sandbox also starts it in the background (it keeps running until you stop it in Maintenance > Web UI or restart the PC). Off: it runs only when you start it there. Open it signed in from the same page."
1784
1804
  },
1785
1805
  "port": {
1786
1806
  "type": "integer",
@@ -1797,7 +1817,7 @@
1797
1817
  "properties": {
1798
1818
  "windowsSignIn": {
1799
1819
  "type": "boolean",
1800
- "description": "(Beta) Other Windows users of this PC named in web.remote.users sign in to your web UI (and sandbox remote) with their own Windows account: no password, no link."
1820
+ "description": "(Beta) Other Windows users of this PC named in web.remote.users sign in to your web UI (and the remote menu) with their own Windows account: no password, no link."
1801
1821
  },
1802
1822
  "users": {
1803
1823
  "maxItems": 32,
@@ -1836,7 +1856,7 @@
1836
1856
  "properties": {
1837
1857
  "enabled": {
1838
1858
  "type": "boolean",
1839
- "description": "(Beta) Devices on your network (a phone): an HTTPS address on this PC for devices you pair with a one-time code (sandbox web pair). Needs a firewall rule (sandbox web lan on asks Windows once). Off: every paired device is signed out."
1859
+ "description": "(Beta) Devices on your network (a phone): an HTTPS address on this PC for devices you pair with a one-time code (Remote access). Needs a firewall rule (turning it on asks Windows once). Off: every paired device is signed out."
1840
1860
  },
1841
1861
  "port": {
1842
1862
  "type": "integer",
@@ -2009,7 +2029,16 @@
2009
2029
  "shellcheck",
2010
2030
  "gitleaks",
2011
2031
  "ast-grep",
2012
- "rust-analyzer"
2032
+ "rust-analyzer",
2033
+ "lua-language-server",
2034
+ "stylua",
2035
+ "selene",
2036
+ "perplexity-mcp",
2037
+ "perplexity-computer-mcp",
2038
+ "comet",
2039
+ "comet-mcp",
2040
+ "chrome-devtools-mcp",
2041
+ "browser-use-mcp"
2013
2042
  ]
2014
2043
  },
2015
2044
  "description": "Apps from the catalogue to install in every sandbox (the Apps screen in the menu lists them by category). Each is downloaded once and kept."
@@ -2103,7 +2132,7 @@
2103
2132
  },
2104
2133
  "copyCredentials": {
2105
2134
  "type": "boolean",
2106
- "description": "Copy your Claude LOGIN into the sandbox. Prefer sandbox account instead."
2135
+ "description": "Copy your Claude LOGIN into the sandbox. Prefer saving the login in Accounts instead."
2107
2136
  },
2108
2137
  "overwrite": {
2109
2138
  "type": "boolean",
@@ -2407,7 +2436,7 @@
2407
2436
  "afterCrash",
2408
2437
  "never"
2409
2438
  ],
2410
- "description": "When a sandbox starts after one that had agent sessions: \"ask\" lists them and asks whether to reopen them (without a terminal it prints the command sandbox resume), \"always\" reopens them, \"afterCrash\" reopens them only when the last sandbox ended unexpectedly, \"never\" leaves it to sandbox resume. Terminal tabs you opened yourself in the sandbox are never reopened."
2439
+ "description": "When a sandbox starts after one that had agent sessions: \"ask\" lists them and asks whether to reopen them (without a terminal it only says they can be reopened), \"always\" reopens them, \"afterCrash\" reopens them only when the last sandbox ended unexpectedly, \"never\" leaves it to you (Sessions reopens them). Terminal tabs you opened yourself in the sandbox are never reopened."
2411
2440
  },
2412
2441
  "restartAfterCrash": {
2413
2442
  "type": "boolean",
@@ -117,7 +117,7 @@
117
117
  },
118
118
  "clipboard": {
119
119
  "type": "boolean",
120
- "description": "Shared clipboard between this PC and the sandbox. Also lets an agent's copy (in sandbox attach) reach this PC's clipboard."
120
+ "description": "Shared clipboard between this PC and the sandbox. Also lets an agent's copy (in an attached terminal) reach this PC's clipboard."
121
121
  },
122
122
  "audioInput": {
123
123
  "type": "boolean",
@@ -183,7 +183,7 @@
183
183
  "properties": {
184
184
  "share": {
185
185
  "type": "boolean",
186
- "description": "Hand your saved Epic Games sign-in to sandboxes that use unreal (sign in to the launcher once in a sandbox, or take this PC's: sandbox account import epic). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. A sign-in works in one place at a time: taking this PC's signs the launcher on this PC out the first time a sandbox uses it. Yours only: a project file can only turn it off."
186
+ "description": "Hand your saved Epic Games sign-in to sandboxes that use unreal (sign in to the launcher once in a sandbox, or take this PC's from Accounts). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. A sign-in works in one place at a time: taking this PC's signs the launcher on this PC out the first time a sandbox uses it. Yours only: a project file can only turn it off."
187
187
  }
188
188
  },
189
189
  "additionalProperties": false
@@ -193,7 +193,7 @@
193
193
  "properties": {
194
194
  "share": {
195
195
  "type": "boolean",
196
- "description": "Hand your saved Steam (SteamCMD) sign-in to sandboxes that use steam (sign in once with sbx-steam login, or: sandbox account import steam --from <steamcmd folder>). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can upload builds and workshop items to your Steam apps. It works in one sandbox at a time: a second sandbox starts without it while the first one runs. No password is kept: sign in once with sbx-steam login in a sandbox (Steam Guard asks there). Yours only: a project file can only turn it off."
196
+ "description": "Hand your saved Steam (SteamCMD) sign-in to sandboxes that use steam (sign in once with sbx-steam login, or take it from a SteamCMD folder in Accounts). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can upload builds and workshop items to your Steam apps. It works in one sandbox at a time: a second sandbox starts without it while the first one runs. No password is kept: sign in once with sbx-steam login in a sandbox (Steam Guard asks there). Yours only: a project file can only turn it off."
197
197
  }
198
198
  },
199
199
  "additionalProperties": false
@@ -203,7 +203,7 @@
203
203
  "properties": {
204
204
  "share": {
205
205
  "type": "boolean",
206
- "description": "Hand your saved Unity sign-in to sandboxes that use unity (sign in once in a sandbox, or take this PC's licence: sandbox account import unity). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It works in one sandbox at a time: a second sandbox starts without it while the first one runs. A Pro seat is handed back when the sandbox stops cleanly; a sandbox closed abruptly may keep it until you return it. Yours only: a project file can only turn it off."
206
+ "description": "Hand your saved Unity sign-in to sandboxes that use unity (sign in once in a sandbox, or take this PC's licence from Accounts). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It works in one sandbox at a time: a second sandbox starts without it while the first one runs. A Pro seat is handed back when the sandbox stops cleanly; a sandbox closed abruptly may keep it until you return it. Yours only: a project file can only turn it off."
207
207
  }
208
208
  },
209
209
  "additionalProperties": false
@@ -213,7 +213,7 @@
213
213
  "properties": {
214
214
  "share": {
215
215
  "type": "boolean",
216
- "description": "Hand your saved Cfx.re (FiveM / RedM server key) sign-in to sandboxes that use fivem (sandbox account login cfx). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. Anyone with the key can run a server under your Cfx.re account. Yours only: a project file can only turn it off."
216
+ "description": "Hand your saved Cfx.re (FiveM / RedM server key) sign-in to sandboxes that use fivem (type the key in Accounts). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. Anyone with the key can run a server under your Cfx.re account. Yours only: a project file can only turn it off."
217
217
  }
218
218
  },
219
219
  "additionalProperties": false
@@ -223,7 +223,7 @@
223
223
  "properties": {
224
224
  "share": {
225
225
  "type": "boolean",
226
- "description": "Hand your saved Android upload keystore sign-in to sandboxes that use android (sandbox account import keystore --from <upload.jks>). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can sign app updates as you; keep a backup of the keystore elsewhere. Yours only: a project file can only turn it off."
226
+ "description": "Hand your saved Android upload keystore sign-in to sandboxes that use android (import the upload.jks file in Accounts). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can sign app updates as you; keep a backup of the keystore elsewhere. Yours only: a project file can only turn it off."
227
227
  }
228
228
  },
229
229
  "additionalProperties": false
@@ -233,7 +233,7 @@
233
233
  "properties": {
234
234
  "share": {
235
235
  "type": "boolean",
236
- "description": "Hand your saved Google Play (service account) sign-in to sandboxes that use android (sandbox account import play --from <service-account.json>). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can publish to Google Play with what the service account is allowed. Yours only: a project file can only turn it off."
236
+ "description": "Hand your saved Google Play (service account) sign-in to sandboxes that use android (import the service-account.json file in Accounts). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can publish to Google Play with what the service account is allowed. Yours only: a project file can only turn it off."
237
237
  }
238
238
  },
239
239
  "additionalProperties": false
@@ -243,7 +243,7 @@
243
243
  "properties": {
244
244
  "share": {
245
245
  "type": "boolean",
246
- "description": "Hand your saved Expo (EAS) sign-in to sandboxes that use reactNative (sandbox account login expo). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can start EAS builds and submissions on your Expo account. Yours only: a project file can only turn it off."
246
+ "description": "Hand your saved Expo (EAS) sign-in to sandboxes that use reactNative (type the token in Accounts). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can start EAS builds and submissions on your Expo account. Yours only: a project file can only turn it off."
247
247
  }
248
248
  },
249
249
  "additionalProperties": false
@@ -253,7 +253,27 @@
253
253
  "properties": {
254
254
  "share": {
255
255
  "type": "boolean",
256
- "description": "Hand your saved App Store Connect API key sign-in to sandboxes that use reactNative or flutter (sandbox account import appstore --from <AuthKey.p8>). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can upload and submit apps with what the key is allowed. Yours only: a project file can only turn it off."
256
+ "description": "Hand your saved App Store Connect API key sign-in to sandboxes that use reactNative or flutter (import the AuthKey.p8 file in Accounts). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can upload and submit apps with what the key is allowed. Yours only: a project file can only turn it off."
257
+ }
258
+ },
259
+ "additionalProperties": false
260
+ },
261
+ "perplexity": {
262
+ "type": "object",
263
+ "properties": {
264
+ "share": {
265
+ "type": "boolean",
266
+ "description": "Hand your saved Perplexity API key sign-in to sandboxes that use the Perplexity MCP app (type the API key in Accounts, or import it from a .env file). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can read the key and spend your API credit: use a separate API key with a spending limit. Perplexity Pro does not include API use; the API key is billed separately. Only the variable PERPLEXITY_API_KEY of the agent gets it: nothing in the sandbox writes it to a file. Yours only: a project file can only turn it off."
267
+ }
268
+ },
269
+ "additionalProperties": false
270
+ },
271
+ "comet": {
272
+ "type": "object",
273
+ "properties": {
274
+ "share": {
275
+ "type": "boolean",
276
+ "description": "Hand your saved Comet (Perplexity browser) sign-in to sandboxes that use the Comet app (sign in to Comet once in a sandbox: it cannot be taken from this PC). Kept encrypted on this PC; The agent in the sandbox can use this sign-in while it is there. It can act as you in Comet and spend your Perplexity Computer credits; agentic browsing is open to prompt injection from the pages it reads. Your Comet sign-in can't be copied from this PC: Windows locks it to your PC account. Sign in once inside a sandbox and it is kept for the next ones. Only the perplexity.ai sign-in cookies are kept: never saved passwords, other sites, localStorage or history. Never import your main browser profile. Several sandboxes can use it at once: the sign-in the last one hands back is kept. Yours only: a project file can only turn it off."
257
277
  }
258
278
  },
259
279
  "additionalProperties": false
@@ -1437,11 +1457,11 @@
1437
1457
  "properties": {
1438
1458
  "enabled": {
1439
1459
  "type": "boolean",
1440
- "description": "Allow sandbox claude --terminal / sandbox attach from this PC."
1460
+ "description": "Allow attaching this PC's terminal to a session (the terminal option when starting an agent, and attach)."
1441
1461
  },
1442
1462
  "reuseSession": {
1443
1463
  "type": "boolean",
1444
- "description": "sandbox claude -t in a running sandbox reattaches to this folder's session when no terminal on this PC is attached to it (--new always starts another)."
1464
+ "description": "Starting an agent with a terminal in a running sandbox reattaches to this folder's session when no terminal on this PC is attached to it (starting a new session on purpose always starts another)."
1445
1465
  },
1446
1466
  "auto": {
1447
1467
  "type": "boolean",
@@ -1449,7 +1469,7 @@
1449
1469
  },
1450
1470
  "autoHide": {
1451
1471
  "type": "boolean",
1452
- "description": "Hide the Windows Sandbox window whenever this terminal attaches; it keeps running (sandbox show brings it back)."
1472
+ "description": "Hide the Windows Sandbox window whenever this terminal attaches; it keeps running (Sandbox > Status shows it again)."
1453
1473
  },
1454
1474
  "confirmCtrlC": {
1455
1475
  "type": "boolean",
@@ -1548,7 +1568,10 @@
1548
1568
  "shellcheck",
1549
1569
  "gitleaks",
1550
1570
  "ast-grep",
1551
- "rust-analyzer"
1571
+ "rust-analyzer",
1572
+ "lua-language-server",
1573
+ "stylua",
1574
+ "selene"
1552
1575
  ]
1553
1576
  },
1554
1577
  "description": "Apps from the catalogue this project adds to yours (agent add-ons such as rtk, Headroom and the MCP servers are set in your own settings only)."
@@ -1569,7 +1592,7 @@
1569
1592
  },
1570
1593
  "copyCredentials": {
1571
1594
  "type": "boolean",
1572
- "description": "Copy your Claude LOGIN into the sandbox. Prefer sandbox account instead."
1595
+ "description": "Copy your Claude LOGIN into the sandbox. Prefer saving the login in Accounts instead."
1573
1596
  },
1574
1597
  "syncHistory": {
1575
1598
  "type": "boolean",