windows-development-sandbox 1.25.1 → 1.27.1

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 (211) 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/features/unreal/unreal.run.js +13 -3
  14. package/dist/app/registry.js +6 -0
  15. package/dist/bin/agent-sandbox.js +2 -2
  16. package/dist/bin/{chunk-G3TG4ZT7.js → chunk-4TLSWPG7.js} +1 -1
  17. package/dist/bin/{chunk-3GAXLATK.js → chunk-QUHNXHVG.js} +72 -5
  18. package/dist/bin/{chunk-F4PVBN23.js → chunk-RSIX7C6D.js} +3633 -1972
  19. package/dist/bin/claude-host.js +2 -2
  20. package/dist/bin/claude-sbx.js +2 -2
  21. package/dist/bin/codex-sbx.js +2 -2
  22. package/dist/bin/gemini-sbx.js +2 -2
  23. package/dist/bin/sandbox.js +2 -2
  24. package/dist/bin/sbx-hide.js +2 -2
  25. package/dist/bin/sbx-show.js +2 -2
  26. package/dist/cli/commands/launch/launch.js +14 -1
  27. package/dist/cli/commands/registry.js +3 -0
  28. package/dist/cli/manifest.d.ts +33 -1
  29. package/dist/cli/manifest.js +32 -1
  30. package/dist/cli/menu/coverage-exempt.js +1 -0
  31. package/dist/cli/menu/pages/sandbox-page.d.ts +3 -0
  32. package/dist/cli/menu/pages/sandbox-page.js +40 -3
  33. package/dist/cli/menu/views.js +2 -0
  34. package/dist/core/config/defaults.js +16 -3
  35. package/dist/core/schema/accounts.d.ts +3 -0
  36. package/dist/core/schema/accounts.js +1 -0
  37. package/dist/core/schema/config.d.ts +29 -13
  38. package/dist/core/schema/github.d.ts +1 -0
  39. package/dist/core/schema/github.js +3 -0
  40. package/dist/core/schema/pc-installs.d.ts +2 -1
  41. package/dist/core/schema/pc-installs.js +6 -1
  42. package/dist/core/schema/toolchains.d.ts +8 -0
  43. package/dist/core/schema/toolchains.js +19 -4
  44. package/dist/guest/accounts/adapters.js +2 -0
  45. package/dist/guest/accounts/apply.d.ts +4 -2
  46. package/dist/guest/accounts/kinds/perplexityapp.d.ts +7 -0
  47. package/dist/guest/accounts/kinds/perplexityapp.js +53 -0
  48. package/dist/guest/accounts/kinds/unity.d.ts +27 -0
  49. package/dist/guest/accounts/kinds/unity.js +164 -7
  50. package/dist/guest/apps/app-installer.js +18 -0
  51. package/dist/guest/apps/store-app.d.ts +4 -0
  52. package/dist/guest/apps/store-app.js +19 -0
  53. package/dist/guest/apps/store-check.d.ts +8 -0
  54. package/dist/guest/apps/store-check.js +33 -0
  55. package/dist/guest/boot/boot.js +1 -1
  56. package/dist/guest/boot/guide.js +18 -0
  57. package/dist/guest/browser/comet.d.ts +3 -1
  58. package/dist/guest/browser/comet.js +1 -1
  59. package/dist/guest/browser/perplexity-app.d.ts +12 -0
  60. package/dist/guest/browser/perplexity-app.js +60 -0
  61. package/dist/guest/daemon/daemon.js +2 -0
  62. package/dist/guest/devtools/devtool.d.ts +1 -1
  63. package/dist/guest/devtools/registry.js +1 -2
  64. package/dist/guest/entries/tool.js +1 -1
  65. package/dist/guest/setup/addon-mcp.d.ts +7 -2
  66. package/dist/guest/setup/addon-mcp.js +19 -9
  67. package/dist/guest/setup/github-token.js +4 -4
  68. package/dist/guest/setup/unity-agent.d.ts +11 -0
  69. package/dist/guest/setup/unity-agent.js +39 -0
  70. package/dist/guest/toolchains/engines/epic-launcher.d.ts +1 -1
  71. package/dist/guest/toolchains/engines/epic-launcher.js +11 -7
  72. package/dist/guest/toolchains/engines/unity-cli.d.ts +24 -0
  73. package/dist/guest/toolchains/engines/unity-cli.js +74 -0
  74. package/dist/guest/toolchains/engines/unity-hub.d.ts +2 -0
  75. package/dist/guest/toolchains/engines/unity-hub.js +27 -0
  76. package/dist/guest/toolchains/engines/unity-release.d.ts +4 -15
  77. package/dist/guest/toolchains/engines/unity-release.js +17 -5
  78. package/dist/guest/toolchains/engines/unity-status.d.ts +11 -0
  79. package/dist/guest/toolchains/engines/unity-status.js +39 -0
  80. package/dist/guest/toolchains/engines/unity.d.ts +20 -1
  81. package/dist/guest/toolchains/engines/unity.js +250 -3
  82. package/dist/guest/toolchains/engines/unreal-status.js +1 -1
  83. package/dist/guest/toolchains/native/mesa.js +35 -11
  84. package/dist/guest/toolchains/native/unreal.js +1 -0
  85. package/dist/guest/toolchains/plan.js +5 -1
  86. package/dist/guest/toolchains/tools/cli.js +2 -2
  87. package/dist/host/accounts/deliver.d.ts +3 -0
  88. package/dist/host/accounts/deliver.js +23 -0
  89. package/dist/host/accounts/kinds/perplexityapp.d.ts +2 -0
  90. package/dist/host/accounts/kinds/perplexityapp.js +8 -0
  91. package/dist/host/accounts/kinds/unity.d.ts +1 -1
  92. package/dist/host/accounts/kinds/unity.js +60 -8
  93. package/dist/host/accounts/leases.d.ts +2 -1
  94. package/dist/host/accounts/source.d.ts +2 -0
  95. package/dist/host/accounts/source.js +2 -0
  96. package/dist/host/accounts/sources.js +2 -0
  97. package/dist/host/apps/index.d.ts +1 -0
  98. package/dist/host/apps/index.js +2 -0
  99. package/dist/host/apps/store-package.d.ts +51 -0
  100. package/dist/host/apps/store-package.js +209 -0
  101. package/dist/host/github/deliver.d.ts +8 -3
  102. package/dist/host/github/deliver.js +42 -29
  103. package/dist/host/github/index.d.ts +1 -0
  104. package/dist/host/github/index.js +1 -0
  105. package/dist/host/github/pc-login.d.ts +27 -0
  106. package/dist/host/github/pc-login.js +129 -0
  107. package/dist/host/pc-installs/discover.d.ts +4 -0
  108. package/dist/host/pc-installs/discover.js +19 -6
  109. package/dist/host/pc-installs/epic.js +3 -0
  110. package/dist/host/pc-installs/source.d.ts +1 -1
  111. package/dist/host/pc-installs/unity-assets.d.ts +5 -0
  112. package/dist/host/pc-installs/unity-assets.js +18 -0
  113. package/dist/host/pc-installs/unity.d.ts +22 -0
  114. package/dist/host/pc-installs/unity.js +144 -2
  115. package/dist/host/pc-installs/unreal.d.ts +2 -0
  116. package/dist/host/pc-installs/unreal.js +24 -8
  117. package/dist/runtime/agent.js +116 -11
  118. package/dist/runtime/daemon.js +2205 -987
  119. package/dist/runtime/db.js +116 -11
  120. package/dist/runtime/main.js +2578 -1375
  121. package/dist/runtime/netproxy.js +116 -11
  122. package/dist/runtime/tool.js +133 -31
  123. package/dist/runtime/view.js +116 -11
  124. package/dist/selftest/agents-web.test.js +2 -1
  125. package/dist/selftest/engines.test.js +32 -3
  126. package/dist/selftest/github.test.js +64 -1
  127. package/dist/selftest/index.js +10 -0
  128. package/dist/selftest/menu-screens.js +3 -1
  129. package/dist/selftest/mixamo.test.js +1 -1
  130. package/dist/selftest/persisted-installs.test.js +1 -1
  131. package/dist/selftest/service-accounts.test.js +13 -2
  132. package/dist/selftest/store-app.test.d.ts +2 -0
  133. package/dist/selftest/store-app.test.js +162 -0
  134. package/dist/selftest/support/engine-golden.js +7 -0
  135. package/dist/selftest/support/fixtures.d.ts +10 -1
  136. package/dist/selftest/support/unity-sample.d.ts +2 -0
  137. package/dist/selftest/support/unity-sample.js +80 -0
  138. package/dist/selftest/unity-accounts.test.d.ts +2 -0
  139. package/dist/selftest/unity-accounts.test.js +106 -0
  140. package/dist/selftest/unity-agent.test.d.ts +2 -0
  141. package/dist/selftest/unity-agent.test.js +47 -0
  142. package/dist/selftest/unity-page.test.d.ts +2 -0
  143. package/dist/selftest/unity-page.test.js +177 -0
  144. package/dist/selftest/unity-setup.test.d.ts +2 -0
  145. package/dist/selftest/unity-setup.test.js +49 -0
  146. package/dist/selftest/unity.test.js +238 -3
  147. package/dist/shared/accounts/index.d.ts +1 -0
  148. package/dist/shared/accounts/index.js +1 -0
  149. package/dist/shared/accounts/kinds/unity.d.ts +28 -0
  150. package/dist/shared/accounts/kinds/unity.js +88 -0
  151. package/dist/shared/accounts/kinds.d.ts +2 -2
  152. package/dist/shared/accounts/kinds.js +23 -1
  153. package/dist/shared/accounts/payloads.d.ts +52 -0
  154. package/dist/shared/accounts/payloads.js +14 -2
  155. package/dist/shared/apps/catalogue-agents-web.d.ts +7 -0
  156. package/dist/shared/apps/catalogue-agents-web.js +23 -0
  157. package/dist/shared/apps/catalogue-gamedev.d.ts +3 -0
  158. package/dist/shared/apps/catalogue-gamedev.js +31 -0
  159. package/dist/shared/apps/catalogue.d.ts +8 -0
  160. package/dist/shared/apps/index.d.ts +3 -2
  161. package/dist/shared/apps/index.js +3 -2
  162. package/dist/shared/apps/selection.d.ts +6 -0
  163. package/dist/shared/apps/selection.js +9 -0
  164. package/dist/shared/apps/store-package.d.ts +31 -0
  165. package/dist/shared/apps/store-package.js +34 -0
  166. package/dist/shared/channel/schema.d.ts +24 -0
  167. package/dist/shared/channel/secrets.d.ts +17 -0
  168. package/dist/shared/paths/pc-installs.d.ts +1 -1
  169. package/dist/shared/paths/pc-installs.js +1 -0
  170. package/dist/shared/readiness.d.ts +2 -2
  171. package/dist/shared/readiness.js +2 -2
  172. package/dist/shared/unity/asset-cache.d.ts +20 -0
  173. package/dist/shared/unity/asset-cache.js +44 -0
  174. package/dist/shared/unity/cli.d.ts +40 -0
  175. package/dist/shared/unity/cli.js +77 -0
  176. package/dist/shared/unity/editors.d.ts +46 -0
  177. package/dist/shared/unity/editors.js +89 -0
  178. package/dist/shared/unity/guide.d.ts +9 -0
  179. package/dist/shared/unity/guide.js +84 -0
  180. package/dist/shared/unity/index.d.ts +9 -0
  181. package/dist/shared/unity/index.js +11 -0
  182. package/dist/shared/unity/manifest.d.ts +10 -0
  183. package/dist/shared/unity/manifest.js +53 -0
  184. package/dist/shared/unity/mcp.d.ts +8 -0
  185. package/dist/shared/unity/mcp.js +12 -0
  186. package/dist/shared/unity/release.d.ts +28 -0
  187. package/dist/shared/unity/release.js +83 -0
  188. package/dist/shared/unity/status.d.ts +59 -0
  189. package/dist/shared/unity/status.js +45 -0
  190. package/dist/shared/unity/version.d.ts +27 -0
  191. package/dist/shared/unity/version.js +75 -0
  192. package/dist/shared/unreal/status.d.ts +1 -0
  193. package/dist/shared/unreal/status.js +2 -0
  194. package/dist/web/index.html +1 -1
  195. package/dist/web/{main-FNE6XEHA.js → main-VPMYTSUL.js} +67 -67
  196. package/native/csharp/HcsHost/AssemblyInfo.cs +3 -3
  197. package/native/csharp/HostTools/AssemblyInfo.cs +3 -3
  198. package/native/csharp/StorageHelper/AssemblyInfo.cs +3 -3
  199. package/native/scripts/get-store-package.ps1 +58 -0
  200. package/package.json +1 -1
  201. package/sandbox/addons/openupm-cli/package-lock.json +2921 -0
  202. package/sandbox/addons/openupm-cli/package.json +7 -0
  203. package/sandbox/addons/unity-mcp/requirements.in +1 -0
  204. package/sandbox/addons/unity-mcp/requirements.txt +1165 -0
  205. package/sandbox/csharp/AppActivation.cs +38 -0
  206. package/sandbox/scripts/install-store-package.ps1 +28 -0
  207. package/sandbox/scripts/start-store-app.ps1 +29 -0
  208. package/schemas/config.schema.json +61 -6
  209. package/schemas/sandbox-config.schema.json +38 -5
  210. package/dist/guest/devtools/unity.d.ts +0 -2
  211. package/dist/guest/devtools/unity.js +0 -7
@@ -8,9 +8,9 @@ using System.Runtime.InteropServices;
8
8
  [assembly: AssemblyCompany("windows-development-sandbox (open source)")]
9
9
  [assembly: AssemblyProduct("Windows Development Sandbox")]
10
10
  [assembly: AssemblyCopyright("MIT License, windows-development-sandbox contributors")]
11
- [assembly: AssemblyVersion("1.25.0.0")]
12
- [assembly: AssemblyFileVersion("1.25.0.0")]
13
- [assembly: AssemblyInformationalVersion("1.25.0")]
11
+ [assembly: AssemblyVersion("1.27.1.0")]
12
+ [assembly: AssemblyFileVersion("1.27.1.0")]
13
+ [assembly: AssemblyInformationalVersion("1.27.1")]
14
14
  [assembly: ComVisible(false)]
15
15
  // computecore.dll and computestorage.dll are not KnownDLLs: load them from System32 only, never from the exe's folder.
16
16
  [assembly: DefaultDllImportSearchPaths(DllImportSearchPath.System32)]
@@ -8,7 +8,7 @@ using System.Runtime.InteropServices;
8
8
  [assembly: AssemblyCompany("windows-development-sandbox (open source)")]
9
9
  [assembly: AssemblyProduct("Windows Development Sandbox")]
10
10
  [assembly: AssemblyCopyright("MIT License, windows-development-sandbox contributors")]
11
- [assembly: AssemblyVersion("1.25.0.0")]
12
- [assembly: AssemblyFileVersion("1.25.0.0")]
13
- [assembly: AssemblyInformationalVersion("1.25.0")]
11
+ [assembly: AssemblyVersion("1.27.1.0")]
12
+ [assembly: AssemblyFileVersion("1.27.1.0")]
13
+ [assembly: AssemblyInformationalVersion("1.27.1")]
14
14
  [assembly: ComVisible(false)]
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
9
9
  [assembly: AssemblyCompany("windows-development-sandbox (open source)")]
10
10
  [assembly: AssemblyProduct("Windows Development Sandbox")]
11
11
  [assembly: AssemblyCopyright("MIT License, windows-development-sandbox contributors")]
12
- [assembly: AssemblyVersion("1.25.0.0")]
13
- [assembly: AssemblyFileVersion("1.25.0.0")]
14
- [assembly: AssemblyInformationalVersion("1.25.0")]
12
+ [assembly: AssemblyVersion("1.27.1.0")]
13
+ [assembly: AssemblyFileVersion("1.27.1.0")]
14
+ [assembly: AssemblyInformationalVersion("1.27.1")]
15
15
  [assembly: ComVisible(false)]
@@ -0,0 +1,58 @@
1
+ #Requires -Version 5.1
2
+ # Fetches a Microsoft Store app's package files (the .msix and the frameworks it needs) into -OutDir with this PC's own
3
+ # Store tooling: winget download --source msstore, which uses your own Windows / Microsoft Store access (the script
4
+ # never holds or asks for an account token). Prints one line of JSON: { ok, message, files: [file names in OutDir] }.
5
+ # host/apps/store-package.ts hashes and checks the files; the sandbox installs them with Add-AppxPackage.
6
+ param(
7
+ [Parameter(Mandatory = $true)][string]$ProductId,
8
+ [Parameter(Mandatory = $true)][string]$PackageName,
9
+ [Parameter(Mandatory = $true)][string]$OutDir
10
+ )
11
+ $ErrorActionPreference = 'Stop'
12
+
13
+ function Finish([bool]$ok, [string]$message, $files) {
14
+ @{ ok = $ok; message = $message; files = @($files) } | ConvertTo-Json -Compress
15
+ exit 0
16
+ }
17
+
18
+ if ($ProductId -notmatch '^[A-Z0-9]{12}$') { Finish $false 'That is not a Microsoft Store product id.' @() }
19
+ if ($PackageName -notmatch '^[A-Za-z0-9.]{1,100}$') { Finish $false 'That is not a package name.' @() }
20
+
21
+ $winget = $null
22
+ $command = Get-Command -Name winget.exe -CommandType Application -ErrorAction SilentlyContinue | Select-Object -First 1
23
+ if ($command) { $winget = $command.Source }
24
+ if (-not $winget) {
25
+ $alias = Join-Path $env:LOCALAPPDATA 'Microsoft\WindowsApps\winget.exe'
26
+ if (Test-Path -LiteralPath $alias) { $winget = $alias }
27
+ }
28
+ if (-not $winget) {
29
+ Finish $false 'winget is not on this PC. Install "App Installer" from the Microsoft Store, then launch again.' @()
30
+ }
31
+
32
+ New-Item -ItemType Directory -Force -Path $OutDir | Out-Null
33
+ $output = & $winget download --id $ProductId --source msstore --download-directory $OutDir `
34
+ --accept-package-agreements --accept-source-agreements --disable-interactivity 2>&1 | Out-String
35
+ $code = $LASTEXITCODE
36
+
37
+ $found = @(Get-ChildItem -LiteralPath $OutDir -Recurse -File -ErrorAction SilentlyContinue |
38
+ Where-Object { $_.Extension -match '^\.(msix|appx|msixbundle|appxbundle)$' })
39
+ if ($code -ne 0 -or $found.Count -eq 0) {
40
+ $tail = ($output -replace '[^\x20-\x7E\r\n]', '').Trim()
41
+ if ($tail.Length -gt 400) { $tail = $tail.Substring($tail.Length - 400) }
42
+ $installed = Get-AppxPackage -Name $PackageName -ErrorAction SilentlyContinue | Select-Object -First 1
43
+ $extra = ''
44
+ if ($installed) {
45
+ $extra = ' The app is installed on this PC (' + $installed.Version + '), but Windows does not let its signed package be exported from there.'
46
+ }
47
+ Finish $false ('winget could not download the package (exit ' + $code + ').' + $extra + ' ' + $tail) @()
48
+ }
49
+
50
+ # Frameworks may come in a sub-folder: bring every package file up to -OutDir (host code reads them by name).
51
+ $names = @()
52
+ foreach ($file in $found) {
53
+ if ((Split-Path -Parent $file.FullName) -ne (Resolve-Path -LiteralPath $OutDir).Path) {
54
+ Move-Item -LiteralPath $file.FullName -Destination (Join-Path $OutDir $file.Name) -Force
55
+ }
56
+ $names += $file.Name
57
+ }
58
+ Finish $true 'ok' $names
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "windows-development-sandbox",
3
- "version": "1.25.1",
3
+ "version": "1.27.1",
4
4
  "description": "A disposable Windows Sandbox for development, with or without an AI agent (Claude Code, Codex, Gemini, opencode, ...): the folder you run it from is the workspace, toolchains and databases for your project install themselves, and nothing else on your PC is reachable.",
5
5
  "type": "module",
6
6
  "license": "MIT",