windows-development-sandbox 1.25.1 → 1.27.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 (196) hide show
  1. package/config.example.json +12 -3
  2. package/dist/app/features/accounts/services.def.d.ts +1 -1
  3. package/dist/app/features/accounts/services.def.js +1 -1
  4. package/dist/app/features/defs.d.ts +198 -3
  5. package/dist/app/features/defs.js +8 -0
  6. package/dist/app/features/settings/categories.def.js +1 -0
  7. package/dist/app/features/unity/index.d.ts +2 -0
  8. package/dist/app/features/unity/index.js +3 -0
  9. package/dist/app/features/unity/unity.def.d.ts +294 -0
  10. package/dist/app/features/unity/unity.def.js +471 -0
  11. package/dist/app/features/unity/unity.run.d.ts +142 -0
  12. package/dist/app/features/unity/unity.run.js +363 -0
  13. package/dist/app/registry.js +6 -0
  14. package/dist/bin/agent-sandbox.js +2 -2
  15. package/dist/bin/{chunk-F4PVBN23.js → chunk-6WWMBCT2.js} +3580 -1962
  16. package/dist/bin/{chunk-3GAXLATK.js → chunk-JXL6ZOO3.js} +72 -5
  17. package/dist/bin/{chunk-G3TG4ZT7.js → chunk-ZXCAVVS4.js} +1 -1
  18. package/dist/bin/claude-host.js +2 -2
  19. package/dist/bin/claude-sbx.js +2 -2
  20. package/dist/bin/codex-sbx.js +2 -2
  21. package/dist/bin/gemini-sbx.js +2 -2
  22. package/dist/bin/sandbox.js +2 -2
  23. package/dist/bin/sbx-hide.js +2 -2
  24. package/dist/bin/sbx-show.js +2 -2
  25. package/dist/cli/commands/launch/launch.js +12 -0
  26. package/dist/cli/commands/registry.js +3 -0
  27. package/dist/cli/manifest.d.ts +33 -1
  28. package/dist/cli/manifest.js +32 -1
  29. package/dist/cli/menu/coverage-exempt.js +1 -0
  30. package/dist/cli/menu/pages/sandbox-page.d.ts +3 -0
  31. package/dist/cli/menu/pages/sandbox-page.js +40 -3
  32. package/dist/cli/menu/views.js +2 -0
  33. package/dist/core/config/defaults.js +16 -3
  34. package/dist/core/schema/accounts.d.ts +3 -0
  35. package/dist/core/schema/accounts.js +1 -0
  36. package/dist/core/schema/config.d.ts +29 -13
  37. package/dist/core/schema/github.d.ts +1 -0
  38. package/dist/core/schema/github.js +3 -0
  39. package/dist/core/schema/pc-installs.d.ts +2 -1
  40. package/dist/core/schema/pc-installs.js +6 -1
  41. package/dist/core/schema/toolchains.d.ts +8 -0
  42. package/dist/core/schema/toolchains.js +19 -4
  43. package/dist/guest/accounts/adapters.js +2 -0
  44. package/dist/guest/accounts/apply.d.ts +4 -2
  45. package/dist/guest/accounts/kinds/perplexityapp.d.ts +7 -0
  46. package/dist/guest/accounts/kinds/perplexityapp.js +53 -0
  47. package/dist/guest/accounts/kinds/unity.d.ts +27 -0
  48. package/dist/guest/accounts/kinds/unity.js +164 -7
  49. package/dist/guest/apps/app-installer.js +18 -0
  50. package/dist/guest/apps/store-app.d.ts +4 -0
  51. package/dist/guest/apps/store-app.js +19 -0
  52. package/dist/guest/apps/store-check.d.ts +8 -0
  53. package/dist/guest/apps/store-check.js +33 -0
  54. package/dist/guest/boot/boot.js +1 -1
  55. package/dist/guest/boot/guide.js +18 -0
  56. package/dist/guest/browser/comet.d.ts +3 -1
  57. package/dist/guest/browser/comet.js +1 -1
  58. package/dist/guest/browser/perplexity-app.d.ts +12 -0
  59. package/dist/guest/browser/perplexity-app.js +60 -0
  60. package/dist/guest/daemon/daemon.js +2 -0
  61. package/dist/guest/devtools/devtool.d.ts +1 -1
  62. package/dist/guest/devtools/registry.js +1 -2
  63. package/dist/guest/entries/tool.js +1 -1
  64. package/dist/guest/setup/addon-mcp.d.ts +7 -2
  65. package/dist/guest/setup/addon-mcp.js +19 -9
  66. package/dist/guest/setup/github-token.js +4 -4
  67. package/dist/guest/setup/unity-agent.d.ts +11 -0
  68. package/dist/guest/setup/unity-agent.js +36 -0
  69. package/dist/guest/toolchains/engines/unity-cli.d.ts +24 -0
  70. package/dist/guest/toolchains/engines/unity-cli.js +74 -0
  71. package/dist/guest/toolchains/engines/unity-hub.d.ts +2 -0
  72. package/dist/guest/toolchains/engines/unity-hub.js +27 -0
  73. package/dist/guest/toolchains/engines/unity-release.d.ts +4 -15
  74. package/dist/guest/toolchains/engines/unity-release.js +17 -5
  75. package/dist/guest/toolchains/engines/unity-status.d.ts +11 -0
  76. package/dist/guest/toolchains/engines/unity-status.js +39 -0
  77. package/dist/guest/toolchains/engines/unity.d.ts +20 -1
  78. package/dist/guest/toolchains/engines/unity.js +250 -3
  79. package/dist/guest/toolchains/plan.js +5 -1
  80. package/dist/guest/toolchains/tools/cli.js +2 -2
  81. package/dist/host/accounts/deliver.js +4 -0
  82. package/dist/host/accounts/kinds/perplexityapp.d.ts +2 -0
  83. package/dist/host/accounts/kinds/perplexityapp.js +8 -0
  84. package/dist/host/accounts/kinds/unity.d.ts +1 -1
  85. package/dist/host/accounts/kinds/unity.js +60 -8
  86. package/dist/host/accounts/leases.d.ts +2 -1
  87. package/dist/host/accounts/sources.js +2 -0
  88. package/dist/host/apps/index.d.ts +1 -0
  89. package/dist/host/apps/index.js +2 -0
  90. package/dist/host/apps/store-package.d.ts +51 -0
  91. package/dist/host/apps/store-package.js +209 -0
  92. package/dist/host/github/deliver.d.ts +8 -3
  93. package/dist/host/github/deliver.js +42 -29
  94. package/dist/host/github/index.d.ts +1 -0
  95. package/dist/host/github/index.js +1 -0
  96. package/dist/host/github/pc-login.d.ts +27 -0
  97. package/dist/host/github/pc-login.js +129 -0
  98. package/dist/host/pc-installs/discover.d.ts +4 -0
  99. package/dist/host/pc-installs/discover.js +16 -4
  100. package/dist/host/pc-installs/source.d.ts +1 -1
  101. package/dist/host/pc-installs/unity-assets.d.ts +5 -0
  102. package/dist/host/pc-installs/unity-assets.js +18 -0
  103. package/dist/host/pc-installs/unity.d.ts +20 -0
  104. package/dist/host/pc-installs/unity.js +135 -2
  105. package/dist/runtime/agent.js +116 -11
  106. package/dist/runtime/daemon.js +2170 -976
  107. package/dist/runtime/db.js +116 -11
  108. package/dist/runtime/main.js +2543 -1364
  109. package/dist/runtime/netproxy.js +116 -11
  110. package/dist/runtime/tool.js +133 -31
  111. package/dist/runtime/view.js +116 -11
  112. package/dist/selftest/agents-web.test.js +2 -1
  113. package/dist/selftest/engines.test.js +2 -2
  114. package/dist/selftest/github.test.js +64 -1
  115. package/dist/selftest/index.js +10 -0
  116. package/dist/selftest/menu-screens.js +3 -1
  117. package/dist/selftest/persisted-installs.test.js +1 -1
  118. package/dist/selftest/service-accounts.test.js +1 -1
  119. package/dist/selftest/store-app.test.d.ts +2 -0
  120. package/dist/selftest/store-app.test.js +162 -0
  121. package/dist/selftest/support/engine-golden.js +7 -0
  122. package/dist/selftest/support/fixtures.d.ts +10 -1
  123. package/dist/selftest/support/unity-sample.d.ts +2 -0
  124. package/dist/selftest/support/unity-sample.js +80 -0
  125. package/dist/selftest/unity-accounts.test.d.ts +2 -0
  126. package/dist/selftest/unity-accounts.test.js +106 -0
  127. package/dist/selftest/unity-agent.test.d.ts +2 -0
  128. package/dist/selftest/unity-agent.test.js +47 -0
  129. package/dist/selftest/unity-page.test.d.ts +2 -0
  130. package/dist/selftest/unity-page.test.js +177 -0
  131. package/dist/selftest/unity-setup.test.d.ts +2 -0
  132. package/dist/selftest/unity-setup.test.js +49 -0
  133. package/dist/selftest/unity.test.js +238 -3
  134. package/dist/shared/accounts/index.d.ts +1 -0
  135. package/dist/shared/accounts/index.js +1 -0
  136. package/dist/shared/accounts/kinds/unity.d.ts +28 -0
  137. package/dist/shared/accounts/kinds/unity.js +88 -0
  138. package/dist/shared/accounts/kinds.d.ts +2 -2
  139. package/dist/shared/accounts/kinds.js +23 -1
  140. package/dist/shared/accounts/payloads.d.ts +52 -0
  141. package/dist/shared/accounts/payloads.js +14 -2
  142. package/dist/shared/apps/catalogue-agents-web.d.ts +7 -0
  143. package/dist/shared/apps/catalogue-agents-web.js +23 -0
  144. package/dist/shared/apps/catalogue-gamedev.d.ts +3 -0
  145. package/dist/shared/apps/catalogue-gamedev.js +31 -0
  146. package/dist/shared/apps/catalogue.d.ts +8 -0
  147. package/dist/shared/apps/index.d.ts +3 -2
  148. package/dist/shared/apps/index.js +3 -2
  149. package/dist/shared/apps/selection.d.ts +6 -0
  150. package/dist/shared/apps/selection.js +9 -0
  151. package/dist/shared/apps/store-package.d.ts +31 -0
  152. package/dist/shared/apps/store-package.js +34 -0
  153. package/dist/shared/channel/schema.d.ts +24 -0
  154. package/dist/shared/channel/secrets.d.ts +17 -0
  155. package/dist/shared/paths/pc-installs.d.ts +1 -1
  156. package/dist/shared/paths/pc-installs.js +1 -0
  157. package/dist/shared/readiness.d.ts +2 -2
  158. package/dist/shared/readiness.js +2 -2
  159. package/dist/shared/unity/asset-cache.d.ts +20 -0
  160. package/dist/shared/unity/asset-cache.js +44 -0
  161. package/dist/shared/unity/cli.d.ts +40 -0
  162. package/dist/shared/unity/cli.js +77 -0
  163. package/dist/shared/unity/editors.d.ts +46 -0
  164. package/dist/shared/unity/editors.js +89 -0
  165. package/dist/shared/unity/guide.d.ts +9 -0
  166. package/dist/shared/unity/guide.js +84 -0
  167. package/dist/shared/unity/index.d.ts +9 -0
  168. package/dist/shared/unity/index.js +11 -0
  169. package/dist/shared/unity/manifest.d.ts +10 -0
  170. package/dist/shared/unity/manifest.js +53 -0
  171. package/dist/shared/unity/mcp.d.ts +8 -0
  172. package/dist/shared/unity/mcp.js +12 -0
  173. package/dist/shared/unity/release.d.ts +28 -0
  174. package/dist/shared/unity/release.js +83 -0
  175. package/dist/shared/unity/status.d.ts +59 -0
  176. package/dist/shared/unity/status.js +45 -0
  177. package/dist/shared/unity/version.d.ts +27 -0
  178. package/dist/shared/unity/version.js +75 -0
  179. package/dist/web/index.html +1 -1
  180. package/dist/web/{main-FNE6XEHA.js → main-VPMYTSUL.js} +67 -67
  181. package/native/csharp/HcsHost/AssemblyInfo.cs +3 -3
  182. package/native/csharp/HostTools/AssemblyInfo.cs +3 -3
  183. package/native/csharp/StorageHelper/AssemblyInfo.cs +3 -3
  184. package/native/scripts/get-store-package.ps1 +58 -0
  185. package/package.json +1 -1
  186. package/sandbox/addons/openupm-cli/package-lock.json +2921 -0
  187. package/sandbox/addons/openupm-cli/package.json +7 -0
  188. package/sandbox/addons/unity-mcp/requirements.in +1 -0
  189. package/sandbox/addons/unity-mcp/requirements.txt +1165 -0
  190. package/sandbox/csharp/AppActivation.cs +38 -0
  191. package/sandbox/scripts/install-store-package.ps1 +28 -0
  192. package/sandbox/scripts/start-store-app.ps1 +29 -0
  193. package/schemas/config.schema.json +61 -6
  194. package/schemas/sandbox-config.schema.json +38 -5
  195. package/dist/guest/devtools/unity.d.ts +0 -2
  196. package/dist/guest/devtools/unity.js +0 -7
@@ -25666,21 +25666,35 @@ var ToolchainsSchema = external_exports.strictObject({
25666
25666
  }),
25667
25667
  unity: external_exports.strictObject({
25668
25668
  enabled: enabled(
25669
- "Unity: the editor version a project asks for, from Unity's release API (checked against its published hash), installed into tools\\unity\\<version> (6-7 GB each), with the modules you list.",
25669
+ "Unity: the editor version a project asks for, from Unity's release API (checked against its published hash), installed on the data disk (tools\\unity\\editors\\<version>, 8-13 GB each, kept between sandboxes), with the modules you list. This PC's editors (pcInstalls.unityEditors) are used first.",
25670
25670
  "ProjectSettings/ProjectVersion.txt"
25671
25671
  ),
25672
25672
  acceptLicense: external_exports.boolean().describe(
25673
25673
  "Required to install: you accept the Unity terms of service (https://unity.com/legal/terms-of-service), and the editor needs a Unity licence (Personal is free). A project file cannot accept it for you."
25674
25674
  ),
25675
25675
  version: external_exports.string().min(1).describe(
25676
- '"project" = the version in ProjectSettings/ProjectVersion.txt, or an editor version such as "6000.0.32f1".'
25676
+ `"project" = the version in ProjectSettings/ProjectVersion.txt, or an editor version such as "6000.0.32f1" for folders without one (a project's own version always wins).`
25677
25677
  ),
25678
25678
  modules: external_exports.array(external_exports.string().regex(/^[a-z0-9-]+$/)).describe(
25679
25679
  `Editor modules to add: "android" (4-5 GB, also the Android SDK), "webgl" (1.5 GB), "windows-il2cpp" (adds Visual Studio's C++ parts), "ios" (Xcode project export only: iOS builds need a Mac).`
25680
25680
  ),
25681
- hub: external_exports.boolean().describe("Also Unity Hub, with the installed editors listed in it."),
25681
+ hub: external_exports.boolean().describe(
25682
+ "Also Unity Hub (kept on the data disk), for signing in to Unity Personal and installing editors by hand."
25683
+ ),
25682
25684
  keepVersions: external_exports.number().int().min(1).max(20).describe(
25683
25685
  "How many editor versions to keep in tools\\unity; older ones are removed (the least recently used first)."
25686
+ ),
25687
+ mcp: external_exports.boolean().describe(
25688
+ "The Unity CLI's MCP server (unity mcp) in Claude Code and Codex as sbx-unity: Unity's read-only tools always, the open editor's tools when the project has the Unity Pipeline package (Unity 6 and later). Nothing in your project changes."
25689
+ ),
25690
+ agentSkills: external_exports.boolean().describe(
25691
+ "Unity's skills for Claude Code and Codex, from Unity-Technologies/skills at the commit the Unity CLI pins."
25692
+ ),
25693
+ cliVersion: external_exports.string().regex(/^(latest|\d+\.\d+\.\d+(-[A-Za-z0-9.]+)?)$/).describe(
25694
+ 'The Unity CLI version, checked against the SHA-256 Unity publishes: a version such as "1.0.0-beta.16", or "latest". It never updates itself.'
25695
+ ),
25696
+ assetCache: external_exports.enum(["persisted", "pc", "local"]).describe(
25697
+ `"persisted": Asset Store downloads made in the sandbox go to tools\\unity\\asset-store (kept). "pc": the sandbox uses this PC's Asset Store downloads (read-only; download new ones on your PC). "local": Unity's own place on the sandbox disk (lost when it closes).`
25684
25698
  )
25685
25699
  }),
25686
25700
  godot: external_exports.strictObject({
@@ -25832,7 +25846,7 @@ var ToolchainsSchema = external_exports.strictObject({
25832
25846
  }),
25833
25847
  cli: external_exports.strictObject({
25834
25848
  gh: EnabledSchema.describe(
25835
- 'GitHub CLI (gh). Only with provisioning.git.access "full": gh can push and merge through the GitHub API, past a read-only git. Your PC\'s gh login is never copied; `gh auth login` inside persists (GH_CONFIG_DIR), unless a token you saved for sandboxes is handed over (github.shareToken). "auto" = when the project has a .github folder.'
25849
+ 'GitHub CLI (gh). Only with provisioning.git.access "full": gh can push and merge through the GitHub API, past a read-only git. Your PC\'s gh login is copied only with github.usePcLogin (or a token you saved for sandboxes with github.shareToken); otherwise `gh auth login` inside persists (GH_CONFIG_DIR). "auto" = when the project has a .github folder.'
25836
25850
  ),
25837
25851
  zstd: EnabledSchema.describe('Zstandard (zstd). "auto" = off; set true to get it.'),
25838
25852
  openssl: EnabledSchema.describe(
@@ -25887,6 +25901,9 @@ var COMET_SIGNER = {
25887
25901
  subject: ['(^|, )CN="?PERPLEXITY AI, INC\\.?"?(,|$)', '(^|, )O="?PERPLEXITY AI, INC\\.?"?(,|$)'],
25888
25902
  issuer: ["^CN=GlobalSign GCC R45 EV CodeSigning CA 2020(,|$)"]
25889
25903
  };
25904
+ var PERPLEXITY_DESKTOP_PRODUCT_ID = "9P9XG917PWCJ";
25905
+ var PERPLEXITY_DESKTOP_PACKAGE = "PerplexityAI.PerplexityApp";
25906
+ var PERPLEXITY_DESKTOP_FAMILY = "PerplexityAI.PerplexityApp_3jh4kjrg4dzr2";
25890
25907
  var EDGE_EXE = "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe";
25891
25908
  var AGENTS_WEB_APPS = [
25892
25909
  {
@@ -25933,6 +25950,22 @@ var AGENTS_WEB_APPS = [
25933
25950
  signer: COMET_SIGNER,
25934
25951
  userOnly: true
25935
25952
  },
25953
+ {
25954
+ id: "perplexity-desktop",
25955
+ name: "Perplexity (desktop app)",
25956
+ category: "agents",
25957
+ about: "Perplexity's desktop app, with Perplexity Computer, from the Microsoft Store. The package comes from this PC (winget with your own Microsoft Store access) and is kept on the data disk; the sandbox installs it on every boot. With accounts.perplexityapp.share on, your sign-in made in a sandbox is kept for the next ones (it cannot be copied from this PC). It acts on what it reads: use it only on what you would let it act on.",
25958
+ size: "300 MB",
25959
+ source: {
25960
+ store: {
25961
+ productId: PERPLEXITY_DESKTOP_PRODUCT_ID,
25962
+ packageName: PERPLEXITY_DESKTOP_PACKAGE,
25963
+ family: PERPLEXITY_DESKTOP_FAMILY
25964
+ }
25965
+ },
25966
+ exe: "",
25967
+ userOnly: true
25968
+ },
25936
25969
  {
25937
25970
  id: "comet-mcp",
25938
25971
  name: "Comet MCP",
@@ -25986,6 +26019,8 @@ var AGENTS_WEB_APPS = [
25986
26019
  ];
25987
26020
 
25988
26021
  // src/shared/apps/catalogue-gamedev.ts
26022
+ var UNITY_MCP_VERSION = "10.3.0";
26023
+ var OPENUPM_CLI_VERSION = "4.5.3";
25989
26024
  var GAMEDEV_APPS = [
25990
26025
  {
25991
26026
  id: "krita",
@@ -26055,6 +26090,34 @@ var GAMEDEV_APPS = [
26055
26090
  size: "60 MB",
26056
26091
  source: { github: "nomacs/nomacs", asset: "^nomacs-portable-win\\.zip$" },
26057
26092
  exe: "nomacs.exe"
26093
+ },
26094
+ {
26095
+ id: "unity-mcp",
26096
+ name: "MCP for Unity",
26097
+ category: "agents",
26098
+ about: "Lets Claude Code and Codex work in an open Unity editor (CoplayDev/unity-mcp 10.3.0, MIT; Unity 2021.3 to 6.x). Your project needs its package (Unity page: Add the editor bridge). Telemetry is off.",
26099
+ size: "60 MB",
26100
+ source: { locked: "uv", package: "mcpforunityserver", version: UNITY_MCP_VERSION },
26101
+ exe: "mcp-for-unity.exe",
26102
+ service: true,
26103
+ mcp: {
26104
+ name: "sbx-unity-mcp",
26105
+ program: true,
26106
+ args: ["--transport", "stdio"],
26107
+ env: { DISABLE_TELEMETRY: "1", UNITY_MCP_DISABLE_TELEMETRY: "1", MCP_DISABLE_TELEMETRY: "1" },
26108
+ codex: true
26109
+ },
26110
+ plugsInto: "Claude Code and Codex as the MCP server sbx-unity-mcp",
26111
+ userOnly: true
26112
+ },
26113
+ {
26114
+ id: "openupm-cli",
26115
+ name: "openupm-cli",
26116
+ category: "gamedev",
26117
+ about: "Adds OpenUPM packages to Unity projects from the command line (openupm 4.5.3, BSD-3-Clause).",
26118
+ size: "15 MB",
26119
+ source: { locked: "npm", package: "openupm-cli", version: OPENUPM_CLI_VERSION },
26120
+ exe: "openupm.cmd"
26058
26121
  }
26059
26122
  ];
26060
26123
 
@@ -26929,6 +26992,21 @@ var CORE_APPS = [
26929
26992
  ];
26930
26993
  var APPS = [...CORE_APPS, ...GAMEDEV_APPS, ...MODDING_APPS, ...MOBILE_APPS, ...AGENTS_WEB_APPS];
26931
26994
 
26995
+ // src/shared/apps/store-package.ts
26996
+ var GB = 1024 * 1024 * 1024;
26997
+ var FILE_NAME = /^[A-Za-z0-9._~+-]{1,200}\.(msix|appx|msixbundle|appxbundle)$/i;
26998
+ var StorePackageFileSchema = external_exports.strictObject({
26999
+ name: external_exports.string().regex(FILE_NAME),
27000
+ role: external_exports.enum(["main", "dependency"]),
27001
+ sha256: external_exports.string().regex(/^[0-9a-f]{64}$/),
27002
+ bytes: external_exports.number().int().positive().max(2 * GB)
27003
+ });
27004
+ var StorePackageManifestSchema = external_exports.strictObject({
27005
+ productId: external_exports.string().regex(/^[A-Z0-9]{12}$/),
27006
+ fetchedAt: external_exports.string().max(40),
27007
+ files: external_exports.array(StorePackageFileSchema).min(1).max(24)
27008
+ }).refine((m) => m.files.filter((f) => f.role === "main").length === 1, "exactly one file must be the app itself").refine((m) => new Set(m.files.map((f) => f.name.toLowerCase())).size === m.files.length, "file names repeat");
27009
+
26932
27010
  // src/core/schema/apps.ts
26933
27011
  var CATALOGUE_IDS = APPS.filter((a) => !a.setting).map((a) => a.id);
26934
27012
  var AppIdSchema = external_exports.enum(CATALOGUE_IDS);
@@ -27063,6 +27141,9 @@ var VpnSchema = external_exports.strictObject({
27063
27141
  var GithubSchema = external_exports.strictObject({
27064
27142
  shareToken: external_exports.boolean().describe(
27065
27143
  '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.'
27144
+ ),
27145
+ usePcLogin: external_exports.boolean().describe(
27146
+ 'Give each sandbox the GitHub CLI (gh) login from this PC, when there is one, so gh and https git work there without logging in. Used when no token saved for sandboxes is handed over. Only with provisioning.git.access "full". Without a gh login on the PC nothing happens. The login reaches everything your account can, and the agent in the sandbox can read it. A project file (.sandbox-config.json) cannot turn this on.'
27066
27147
  )
27067
27148
  });
27068
27149
 
@@ -27111,7 +27192,9 @@ var SERVICE_SPECS = {
27111
27192
  warnings: [
27112
27193
  AGENT_CAN_USE,
27113
27194
  ONE_PLACE,
27114
- "A Pro seat is handed back when the sandbox stops cleanly; a sandbox closed abruptly may keep it until you return it."
27195
+ "Unity Personal is activated by signing in: sign in to Unity once in a sandbox and the licence it makes is kept for the next ones (if Unity refuses it there, sign in again).",
27196
+ "A Plus or Pro serial is activated in each sandbox and handed back when the sandbox stops cleanly; a sandbox closed abruptly may keep the seat until you remove it at id.unity.com (My Seats).",
27197
+ "A licence file taken from this PC may not work in a sandbox: Unity ties it to the computer."
27115
27198
  ],
27116
27199
  fields: [
27117
27200
  { name: "email", label: "Unity ID email", secret: false, optional: true },
@@ -27238,11 +27321,28 @@ var SERVICE_SPECS = {
27238
27321
  "Several sandboxes can use it at once: the sign-in the last one hands back is kept."
27239
27322
  ],
27240
27323
  fields: []
27324
+ },
27325
+ perplexityapp: {
27326
+ kind: "perplexityapp",
27327
+ label: "Perplexity desktop app",
27328
+ usedBy: ["perplexityapp"],
27329
+ sources: ["sandbox"],
27330
+ singleHolder: false,
27331
+ returns: true,
27332
+ maxBytes: 256 * 1024,
27333
+ warnings: [
27334
+ AGENT_CAN_USE + " It can act as you in the Perplexity app and spend your Perplexity Computer credits; the app acts on the pages it reads, which can try to steer it.",
27335
+ "Your sign-in in the Perplexity app 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.",
27336
+ "Only the perplexity.ai sign-in cookies are kept: never saved passwords, other sites, localStorage or history.",
27337
+ "Several sandboxes can use it at once: the sign-in the last one hands back is kept."
27338
+ ],
27339
+ fields: []
27241
27340
  }
27242
27341
  };
27243
27342
  var APP_USER_TEXT = {
27244
27343
  perplexity: "the Perplexity MCP app",
27245
- comet: "the Comet app"
27344
+ comet: "the Comet app",
27345
+ perplexityapp: "the Perplexity desktop app"
27246
27346
  };
27247
27347
  function usedByText(usedBy) {
27248
27348
  return usedBy.map((u) => u in APP_USER_TEXT ? APP_USER_TEXT[u] : u).join(" or ");
@@ -27267,7 +27367,11 @@ var AccountsSchema = external_exports.strictObject({
27267
27367
  expo: share("expo", "type the token in Accounts"),
27268
27368
  appstore: share("appstore", "import the AuthKey.p8 file in Accounts"),
27269
27369
  perplexity: share("perplexity", "type the API key in Accounts, or import it from a .env file"),
27270
- comet: share("comet", "sign in to Comet once in a sandbox: it cannot be taken from this PC")
27370
+ comet: share("comet", "sign in to Comet once in a sandbox: it cannot be taken from this PC"),
27371
+ perplexityapp: share(
27372
+ "perplexityapp",
27373
+ "sign in to the Perplexity app once in a sandbox: it cannot be taken from this PC"
27374
+ )
27271
27375
  }).describe("Service sign-ins for sandboxes (game stores, engines, app signing, Perplexity). Manage them in Accounts.");
27272
27376
 
27273
27377
  // src/core/schema/pc-installs.ts
@@ -27294,10 +27398,11 @@ var PcInstallsSchema = external_exports.strictObject({
27294
27398
  unrealAssets: external_exports.union([external_exports.literal("auto"), external_exports.boolean()]).describe(
27295
27399
  `The Epic Games Launcher's vault cache of this PC (the Fab and Marketplace packs you downloaded), read-only in the sandbox at C:\\PcInstalls\\unreal\\Vault: what you download on your PC is there for the agents at once. "auto" = whenever the sandbox is set up for Unreal, true = always, false = never.`
27296
27400
  ),
27297
- unityEditors: pick2(
27298
- external_exports.string().regex(/^\d+\.\d+\.\d+[abfp]\d+$/),
27299
- "Unity editors installed with Unity Hub",
27300
- '["6000.0.32f1"]'
27401
+ unityEditors: external_exports.union([external_exports.literal("auto"), external_exports.boolean(), external_exports.array(external_exports.string().regex(/^\d+\.\d+\.\d+[abfp]\d+$/))]).describe(
27402
+ `Unity editors installed on this PC (with Unity Hub), read-only in the sandbox under C:\\PcInstalls\\unity: a project opens with the PC's editor without a download. "auto" = all of them whenever the sandbox is set up for Unity, true = always, false = never, or a list (e.g. ["6000.0.32f1"]).`
27403
+ ),
27404
+ unityAssets: external_exports.union([external_exports.literal("auto"), external_exports.boolean()]).describe(
27405
+ `This PC's Unity Asset Store downloads (.unitypackage files), read-only at C:\\PcInstalls\\unity\\AssetStore: what you download on your PC is there for the agents at once. "auto" = whenever the sandbox is set up for Unity, true = always, false = never.`
27301
27406
  )
27302
27407
  }).describe(
27303
27408
  "Games, engines and editors installed on this PC, mapped read-only into sandboxes (no copy, no room on the sandbox's disk)."