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.
- package/config.example.json +12 -3
- package/dist/app/features/accounts/services.def.d.ts +1 -1
- package/dist/app/features/accounts/services.def.js +1 -1
- package/dist/app/features/defs.d.ts +198 -3
- package/dist/app/features/defs.js +8 -0
- package/dist/app/features/settings/categories.def.js +1 -0
- package/dist/app/features/unity/index.d.ts +2 -0
- package/dist/app/features/unity/index.js +3 -0
- package/dist/app/features/unity/unity.def.d.ts +294 -0
- package/dist/app/features/unity/unity.def.js +471 -0
- package/dist/app/features/unity/unity.run.d.ts +142 -0
- package/dist/app/features/unity/unity.run.js +363 -0
- package/dist/app/features/unreal/unreal.run.js +13 -3
- package/dist/app/registry.js +6 -0
- package/dist/bin/agent-sandbox.js +2 -2
- package/dist/bin/{chunk-G3TG4ZT7.js → chunk-4TLSWPG7.js} +1 -1
- package/dist/bin/{chunk-3GAXLATK.js → chunk-QUHNXHVG.js} +72 -5
- package/dist/bin/{chunk-F4PVBN23.js → chunk-RSIX7C6D.js} +3633 -1972
- package/dist/bin/claude-host.js +2 -2
- package/dist/bin/claude-sbx.js +2 -2
- package/dist/bin/codex-sbx.js +2 -2
- package/dist/bin/gemini-sbx.js +2 -2
- package/dist/bin/sandbox.js +2 -2
- package/dist/bin/sbx-hide.js +2 -2
- package/dist/bin/sbx-show.js +2 -2
- package/dist/cli/commands/launch/launch.js +14 -1
- package/dist/cli/commands/registry.js +3 -0
- package/dist/cli/manifest.d.ts +33 -1
- package/dist/cli/manifest.js +32 -1
- package/dist/cli/menu/coverage-exempt.js +1 -0
- package/dist/cli/menu/pages/sandbox-page.d.ts +3 -0
- package/dist/cli/menu/pages/sandbox-page.js +40 -3
- package/dist/cli/menu/views.js +2 -0
- package/dist/core/config/defaults.js +16 -3
- package/dist/core/schema/accounts.d.ts +3 -0
- package/dist/core/schema/accounts.js +1 -0
- package/dist/core/schema/config.d.ts +29 -13
- package/dist/core/schema/github.d.ts +1 -0
- package/dist/core/schema/github.js +3 -0
- package/dist/core/schema/pc-installs.d.ts +2 -1
- package/dist/core/schema/pc-installs.js +6 -1
- package/dist/core/schema/toolchains.d.ts +8 -0
- package/dist/core/schema/toolchains.js +19 -4
- package/dist/guest/accounts/adapters.js +2 -0
- package/dist/guest/accounts/apply.d.ts +4 -2
- package/dist/guest/accounts/kinds/perplexityapp.d.ts +7 -0
- package/dist/guest/accounts/kinds/perplexityapp.js +53 -0
- package/dist/guest/accounts/kinds/unity.d.ts +27 -0
- package/dist/guest/accounts/kinds/unity.js +164 -7
- package/dist/guest/apps/app-installer.js +18 -0
- package/dist/guest/apps/store-app.d.ts +4 -0
- package/dist/guest/apps/store-app.js +19 -0
- package/dist/guest/apps/store-check.d.ts +8 -0
- package/dist/guest/apps/store-check.js +33 -0
- package/dist/guest/boot/boot.js +1 -1
- package/dist/guest/boot/guide.js +18 -0
- package/dist/guest/browser/comet.d.ts +3 -1
- package/dist/guest/browser/comet.js +1 -1
- package/dist/guest/browser/perplexity-app.d.ts +12 -0
- package/dist/guest/browser/perplexity-app.js +60 -0
- package/dist/guest/daemon/daemon.js +2 -0
- package/dist/guest/devtools/devtool.d.ts +1 -1
- package/dist/guest/devtools/registry.js +1 -2
- package/dist/guest/entries/tool.js +1 -1
- package/dist/guest/setup/addon-mcp.d.ts +7 -2
- package/dist/guest/setup/addon-mcp.js +19 -9
- package/dist/guest/setup/github-token.js +4 -4
- package/dist/guest/setup/unity-agent.d.ts +11 -0
- package/dist/guest/setup/unity-agent.js +39 -0
- package/dist/guest/toolchains/engines/epic-launcher.d.ts +1 -1
- package/dist/guest/toolchains/engines/epic-launcher.js +11 -7
- package/dist/guest/toolchains/engines/unity-cli.d.ts +24 -0
- package/dist/guest/toolchains/engines/unity-cli.js +74 -0
- package/dist/guest/toolchains/engines/unity-hub.d.ts +2 -0
- package/dist/guest/toolchains/engines/unity-hub.js +27 -0
- package/dist/guest/toolchains/engines/unity-release.d.ts +4 -15
- package/dist/guest/toolchains/engines/unity-release.js +17 -5
- package/dist/guest/toolchains/engines/unity-status.d.ts +11 -0
- package/dist/guest/toolchains/engines/unity-status.js +39 -0
- package/dist/guest/toolchains/engines/unity.d.ts +20 -1
- package/dist/guest/toolchains/engines/unity.js +250 -3
- package/dist/guest/toolchains/engines/unreal-status.js +1 -1
- package/dist/guest/toolchains/native/mesa.js +35 -11
- package/dist/guest/toolchains/native/unreal.js +1 -0
- package/dist/guest/toolchains/plan.js +5 -1
- package/dist/guest/toolchains/tools/cli.js +2 -2
- package/dist/host/accounts/deliver.d.ts +3 -0
- package/dist/host/accounts/deliver.js +23 -0
- package/dist/host/accounts/kinds/perplexityapp.d.ts +2 -0
- package/dist/host/accounts/kinds/perplexityapp.js +8 -0
- package/dist/host/accounts/kinds/unity.d.ts +1 -1
- package/dist/host/accounts/kinds/unity.js +60 -8
- package/dist/host/accounts/leases.d.ts +2 -1
- package/dist/host/accounts/source.d.ts +2 -0
- package/dist/host/accounts/source.js +2 -0
- package/dist/host/accounts/sources.js +2 -0
- package/dist/host/apps/index.d.ts +1 -0
- package/dist/host/apps/index.js +2 -0
- package/dist/host/apps/store-package.d.ts +51 -0
- package/dist/host/apps/store-package.js +209 -0
- package/dist/host/github/deliver.d.ts +8 -3
- package/dist/host/github/deliver.js +42 -29
- package/dist/host/github/index.d.ts +1 -0
- package/dist/host/github/index.js +1 -0
- package/dist/host/github/pc-login.d.ts +27 -0
- package/dist/host/github/pc-login.js +129 -0
- package/dist/host/pc-installs/discover.d.ts +4 -0
- package/dist/host/pc-installs/discover.js +19 -6
- package/dist/host/pc-installs/epic.js +3 -0
- package/dist/host/pc-installs/source.d.ts +1 -1
- package/dist/host/pc-installs/unity-assets.d.ts +5 -0
- package/dist/host/pc-installs/unity-assets.js +18 -0
- package/dist/host/pc-installs/unity.d.ts +22 -0
- package/dist/host/pc-installs/unity.js +144 -2
- package/dist/host/pc-installs/unreal.d.ts +2 -0
- package/dist/host/pc-installs/unreal.js +24 -8
- package/dist/runtime/agent.js +116 -11
- package/dist/runtime/daemon.js +2205 -987
- package/dist/runtime/db.js +116 -11
- package/dist/runtime/main.js +2578 -1375
- package/dist/runtime/netproxy.js +116 -11
- package/dist/runtime/tool.js +133 -31
- package/dist/runtime/view.js +116 -11
- package/dist/selftest/agents-web.test.js +2 -1
- package/dist/selftest/engines.test.js +32 -3
- package/dist/selftest/github.test.js +64 -1
- package/dist/selftest/index.js +10 -0
- package/dist/selftest/menu-screens.js +3 -1
- package/dist/selftest/mixamo.test.js +1 -1
- package/dist/selftest/persisted-installs.test.js +1 -1
- package/dist/selftest/service-accounts.test.js +13 -2
- package/dist/selftest/store-app.test.d.ts +2 -0
- package/dist/selftest/store-app.test.js +162 -0
- package/dist/selftest/support/engine-golden.js +7 -0
- package/dist/selftest/support/fixtures.d.ts +10 -1
- package/dist/selftest/support/unity-sample.d.ts +2 -0
- package/dist/selftest/support/unity-sample.js +80 -0
- package/dist/selftest/unity-accounts.test.d.ts +2 -0
- package/dist/selftest/unity-accounts.test.js +106 -0
- package/dist/selftest/unity-agent.test.d.ts +2 -0
- package/dist/selftest/unity-agent.test.js +47 -0
- package/dist/selftest/unity-page.test.d.ts +2 -0
- package/dist/selftest/unity-page.test.js +177 -0
- package/dist/selftest/unity-setup.test.d.ts +2 -0
- package/dist/selftest/unity-setup.test.js +49 -0
- package/dist/selftest/unity.test.js +238 -3
- package/dist/shared/accounts/index.d.ts +1 -0
- package/dist/shared/accounts/index.js +1 -0
- package/dist/shared/accounts/kinds/unity.d.ts +28 -0
- package/dist/shared/accounts/kinds/unity.js +88 -0
- package/dist/shared/accounts/kinds.d.ts +2 -2
- package/dist/shared/accounts/kinds.js +23 -1
- package/dist/shared/accounts/payloads.d.ts +52 -0
- package/dist/shared/accounts/payloads.js +14 -2
- package/dist/shared/apps/catalogue-agents-web.d.ts +7 -0
- package/dist/shared/apps/catalogue-agents-web.js +23 -0
- package/dist/shared/apps/catalogue-gamedev.d.ts +3 -0
- package/dist/shared/apps/catalogue-gamedev.js +31 -0
- package/dist/shared/apps/catalogue.d.ts +8 -0
- package/dist/shared/apps/index.d.ts +3 -2
- package/dist/shared/apps/index.js +3 -2
- package/dist/shared/apps/selection.d.ts +6 -0
- package/dist/shared/apps/selection.js +9 -0
- package/dist/shared/apps/store-package.d.ts +31 -0
- package/dist/shared/apps/store-package.js +34 -0
- package/dist/shared/channel/schema.d.ts +24 -0
- package/dist/shared/channel/secrets.d.ts +17 -0
- package/dist/shared/paths/pc-installs.d.ts +1 -1
- package/dist/shared/paths/pc-installs.js +1 -0
- package/dist/shared/readiness.d.ts +2 -2
- package/dist/shared/readiness.js +2 -2
- package/dist/shared/unity/asset-cache.d.ts +20 -0
- package/dist/shared/unity/asset-cache.js +44 -0
- package/dist/shared/unity/cli.d.ts +40 -0
- package/dist/shared/unity/cli.js +77 -0
- package/dist/shared/unity/editors.d.ts +46 -0
- package/dist/shared/unity/editors.js +89 -0
- package/dist/shared/unity/guide.d.ts +9 -0
- package/dist/shared/unity/guide.js +84 -0
- package/dist/shared/unity/index.d.ts +9 -0
- package/dist/shared/unity/index.js +11 -0
- package/dist/shared/unity/manifest.d.ts +10 -0
- package/dist/shared/unity/manifest.js +53 -0
- package/dist/shared/unity/mcp.d.ts +8 -0
- package/dist/shared/unity/mcp.js +12 -0
- package/dist/shared/unity/release.d.ts +28 -0
- package/dist/shared/unity/release.js +83 -0
- package/dist/shared/unity/status.d.ts +59 -0
- package/dist/shared/unity/status.js +45 -0
- package/dist/shared/unity/version.d.ts +27 -0
- package/dist/shared/unity/version.js +75 -0
- package/dist/shared/unreal/status.d.ts +1 -0
- package/dist/shared/unreal/status.js +2 -0
- package/dist/web/index.html +1 -1
- package/dist/web/{main-FNE6XEHA.js → main-VPMYTSUL.js} +67 -67
- package/native/csharp/HcsHost/AssemblyInfo.cs +3 -3
- package/native/csharp/HostTools/AssemblyInfo.cs +3 -3
- package/native/csharp/StorageHelper/AssemblyInfo.cs +3 -3
- package/native/scripts/get-store-package.ps1 +58 -0
- package/package.json +1 -1
- package/sandbox/addons/openupm-cli/package-lock.json +2921 -0
- package/sandbox/addons/openupm-cli/package.json +7 -0
- package/sandbox/addons/unity-mcp/requirements.in +1 -0
- package/sandbox/addons/unity-mcp/requirements.txt +1165 -0
- package/sandbox/csharp/AppActivation.cs +38 -0
- package/sandbox/scripts/install-store-package.ps1 +28 -0
- package/sandbox/scripts/start-store-app.ps1 +29 -0
- package/schemas/config.schema.json +61 -6
- package/schemas/sandbox-config.schema.json +38 -5
- package/dist/guest/devtools/unity.d.ts +0 -2
- package/dist/guest/devtools/unity.js +0 -7
package/dist/bin/claude-host.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
run
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-QUHNXHVG.js";
|
|
6
|
+
import "./chunk-RSIX7C6D.js";
|
|
7
7
|
|
|
8
8
|
// src/bin/claude-host.ts
|
|
9
9
|
var args = process.argv.slice(2);
|
package/dist/bin/claude-sbx.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
run
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-QUHNXHVG.js";
|
|
6
|
+
import "./chunk-RSIX7C6D.js";
|
|
7
7
|
|
|
8
8
|
// src/bin/claude-sbx.ts
|
|
9
9
|
run(process.argv.slice(2), { harness: "claude" });
|
package/dist/bin/codex-sbx.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
run
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-QUHNXHVG.js";
|
|
6
|
+
import "./chunk-RSIX7C6D.js";
|
|
7
7
|
|
|
8
8
|
// src/bin/codex-sbx.ts
|
|
9
9
|
run(process.argv.slice(2), { harness: "codex" });
|
package/dist/bin/gemini-sbx.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
run
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-QUHNXHVG.js";
|
|
6
|
+
import "./chunk-RSIX7C6D.js";
|
|
7
7
|
|
|
8
8
|
// src/bin/gemini-sbx.ts
|
|
9
9
|
run(process.argv.slice(2), { harness: "gemini" });
|
package/dist/bin/sandbox.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
run
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-QUHNXHVG.js";
|
|
6
|
+
import "./chunk-RSIX7C6D.js";
|
|
7
7
|
|
|
8
8
|
// src/bin/sandbox.ts
|
|
9
9
|
run(process.argv.slice(2));
|
package/dist/bin/sbx-hide.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
run
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-QUHNXHVG.js";
|
|
6
|
+
import "./chunk-RSIX7C6D.js";
|
|
7
7
|
|
|
8
8
|
// src/bin/sbx-hide.ts
|
|
9
9
|
run(process.argv.slice(2), { command: "hide" });
|
package/dist/bin/sbx-show.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
run
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-QUHNXHVG.js";
|
|
6
|
+
import "./chunk-RSIX7C6D.js";
|
|
7
7
|
|
|
8
8
|
// src/bin/sbx-show.ts
|
|
9
9
|
run(process.argv.slice(2), { command: "show" });
|
|
@@ -10,7 +10,9 @@ import { findSecretFiles } from '../../../host/profile/index.js';
|
|
|
10
10
|
import { RepoGuardStore } from '../../../host/guard/index.js';
|
|
11
11
|
import { hostPublicIp, prepareVpn, readVpnLine, vpnNotes } from '../../../host/vpn/index.js';
|
|
12
12
|
import { prepareGithubToken } from '../../../host/github/index.js';
|
|
13
|
-
import { prepareServiceAccounts } from '../../../host/accounts/index.js';
|
|
13
|
+
import { pcEnv, prepareServiceAccounts } from '../../../host/accounts/index.js';
|
|
14
|
+
import { prepareStorePackages } from '../../../host/apps/index.js';
|
|
15
|
+
import { storeApps } from '../../../shared/apps/index.js';
|
|
14
16
|
import { discoverPcInstalls } from '../../../host/pc-installs/index.js';
|
|
15
17
|
import { clearSecrets } from '../../../host/secrets/index.js';
|
|
16
18
|
import { assertCanLaunch, isSandboxRunning, spawnDetached, probeHost, hideSandboxWindow, realContainedDeps, } from '../../../host/sandbox/index.js';
|
|
@@ -192,6 +194,14 @@ class Launcher {
|
|
|
192
194
|
launchId,
|
|
193
195
|
// A new launch needs no sandbox running, so a lease held elsewhere is from one that stopped.
|
|
194
196
|
isRunning: () => isSandboxRunning(),
|
|
197
|
+
pc: pcEnv(),
|
|
198
|
+
});
|
|
199
|
+
// Store apps (apps.install): their packages are fetched with this PC's own Store tooling.
|
|
200
|
+
const store = generateOnly
|
|
201
|
+
? null
|
|
202
|
+
: await prepareStorePackages(storeApps(config.apps.install), {
|
|
203
|
+
storageRoot: ctx.storageRoot,
|
|
204
|
+
dataPath: run.dataPath,
|
|
195
205
|
});
|
|
196
206
|
// pcInstalls: this PC's games, engines and editors, read-only (yours only: never from a project file). The
|
|
197
207
|
// engines ("auto") come along whenever this launch sets the sandbox up for Unreal.
|
|
@@ -199,6 +209,7 @@ class Launcher {
|
|
|
199
209
|
packageRoot: ctx.packageRoot,
|
|
200
210
|
storageRoot: ctx.storageRoot,
|
|
201
211
|
unrealOn: toolchainsOn.has('unreal'),
|
|
212
|
+
unityOn: toolchainsOn.has('unity'),
|
|
202
213
|
});
|
|
203
214
|
// This PC's commit (RAM plus paging file) bounds the sandbox's memory as much as free RAM does.
|
|
204
215
|
const hostMemory = generateOnly ? null : readHostMemory(ctx.storageRoot);
|
|
@@ -236,6 +247,8 @@ class Launcher {
|
|
|
236
247
|
console.log(c.yellow(line));
|
|
237
248
|
for (const line of accounts?.notes ?? [])
|
|
238
249
|
console.log(c.yellow(line));
|
|
250
|
+
for (const line of store?.notes ?? [])
|
|
251
|
+
console.log(c.yellow(line));
|
|
239
252
|
for (const line of pcInstalls.notes)
|
|
240
253
|
console.log(c.yellow(line));
|
|
241
254
|
table(launchSummary(run, generated, prepared));
|
|
@@ -8,6 +8,7 @@ import { listAccounts } from '../../app/features/accounts/index.js';
|
|
|
8
8
|
import { containedStatus, showStorage } from '../../app/features/storage/index.js';
|
|
9
9
|
import { listProjects } from '../../app/features/projects/index.js';
|
|
10
10
|
import { unrealOverview } from '../../app/features/unreal/index.js';
|
|
11
|
+
import { unityOverview } from '../../app/features/unity/index.js';
|
|
11
12
|
import { definitionHandler } from '../operations/index.js';
|
|
12
13
|
import { fail } from '../../core/util/index.js';
|
|
13
14
|
import { claudeHost, config, doctor, hostCommand, logs, sync, watcher } from './maintenance/index.js';
|
|
@@ -51,6 +52,8 @@ export const HANDLERS = {
|
|
|
51
52
|
engine: engine,
|
|
52
53
|
// The bare command shows the overview; its actions (add-engine, forget-engine, launcher) are the operations' hints.
|
|
53
54
|
unreal: definitionHandler(unrealOverview),
|
|
55
|
+
// Same for Unity: its actions (hub, sign-in, add-bridge, remove-bridge) are the operations' hints.
|
|
56
|
+
unity: definitionHandler(unityOverview),
|
|
54
57
|
'host-claude': claudeHost,
|
|
55
58
|
host: hostCommand,
|
|
56
59
|
_watch: watcher,
|
package/dist/cli/manifest.d.ts
CHANGED
|
@@ -304,7 +304,7 @@ declare const COMMAND_LIST: readonly [{
|
|
|
304
304
|
readonly choices: readonly ["list", "save", "use", "default", "rename", "remove"];
|
|
305
305
|
}, {
|
|
306
306
|
readonly name: "name";
|
|
307
|
-
readonly description: "account name, or the service (status, import, login, logout): epic, steam, unity, cfx, keystore, play, expo, appstore, perplexity or
|
|
307
|
+
readonly description: "account name, or the service (status, import, login, logout): epic, steam, unity, cfx, keystore, play, expo, appstore, perplexity, comet or perplexityapp";
|
|
308
308
|
readonly required: false;
|
|
309
309
|
readonly choices: "accounts";
|
|
310
310
|
}];
|
|
@@ -506,6 +506,38 @@ declare const COMMAND_LIST: readonly [{
|
|
|
506
506
|
readonly when: readonly [];
|
|
507
507
|
}];
|
|
508
508
|
readonly options: readonly [];
|
|
509
|
+
}, {
|
|
510
|
+
readonly name: "unity";
|
|
511
|
+
readonly summary: "Unity: the sandbox's editors, this PC's editors and Asset Store downloads, the licence, the editor bridge, Unity Hub";
|
|
512
|
+
readonly group: "Projects & accounts";
|
|
513
|
+
readonly json: true;
|
|
514
|
+
readonly examples: readonly ["sandbox unity editors, which project opens with which, the licence", "sandbox unity sign-in sign in to Unity in the running sandbox", "sandbox unity add-bridge D:\\Game add the editor bridge to a project (asks first)"];
|
|
515
|
+
readonly args: readonly [{
|
|
516
|
+
readonly name: "action";
|
|
517
|
+
readonly description: "status, hub, sign-in, add-bridge, remove-bridge";
|
|
518
|
+
readonly required: false;
|
|
519
|
+
readonly choices: readonly ["status"];
|
|
520
|
+
}, {
|
|
521
|
+
readonly name: "project";
|
|
522
|
+
readonly description: "(add-bridge, remove-bridge) the Unity project folder";
|
|
523
|
+
readonly required: false;
|
|
524
|
+
readonly when: readonly [];
|
|
525
|
+
}];
|
|
526
|
+
readonly options: readonly [{
|
|
527
|
+
flag: string;
|
|
528
|
+
type: "string" | "number" | "boolean" | "list";
|
|
529
|
+
description: string;
|
|
530
|
+
short?: string | undefined;
|
|
531
|
+
value?: string | undefined;
|
|
532
|
+
label?: string | undefined;
|
|
533
|
+
default?: string | number | undefined;
|
|
534
|
+
choices?: string[] | "accounts" | "harnesses" | "sessions" | undefined;
|
|
535
|
+
advanced?: boolean | undefined;
|
|
536
|
+
when?: string | string[] | undefined;
|
|
537
|
+
noMenu?: boolean | undefined;
|
|
538
|
+
group?: string | undefined;
|
|
539
|
+
shownAs?: string | undefined;
|
|
540
|
+
}];
|
|
509
541
|
}, {
|
|
510
542
|
readonly name: "engine";
|
|
511
543
|
readonly summary: "(beta) what runs your sandbox (Windows Sandbox or HCS) and what each engine can do on this PC";
|
package/dist/cli/manifest.js
CHANGED
|
@@ -299,7 +299,7 @@ const COMMAND_LIST = [
|
|
|
299
299
|
},
|
|
300
300
|
{
|
|
301
301
|
name: 'name',
|
|
302
|
-
description: 'account name, or the service (status, import, login, logout): epic, steam, unity, cfx, keystore, play, expo, appstore, perplexity or
|
|
302
|
+
description: 'account name, or the service (status, import, login, logout): epic, steam, unity, cfx, keystore, play, expo, appstore, perplexity, comet or perplexityapp',
|
|
303
303
|
required: false,
|
|
304
304
|
choices: 'accounts',
|
|
305
305
|
},
|
|
@@ -407,6 +407,37 @@ const COMMAND_LIST = [
|
|
|
407
407
|
],
|
|
408
408
|
options: [],
|
|
409
409
|
},
|
|
410
|
+
{
|
|
411
|
+
name: 'unity',
|
|
412
|
+
summary: "Unity: the sandbox's editors, this PC's editors and Asset Store downloads, the licence, the editor bridge, Unity Hub",
|
|
413
|
+
group: 'Projects & accounts',
|
|
414
|
+
json,
|
|
415
|
+
examples: [
|
|
416
|
+
'sandbox unity editors, which project opens with which, the licence',
|
|
417
|
+
'sandbox unity sign-in sign in to Unity in the running sandbox',
|
|
418
|
+
'sandbox unity add-bridge D:\\Game add the editor bridge to a project (asks first)',
|
|
419
|
+
],
|
|
420
|
+
args: [
|
|
421
|
+
{
|
|
422
|
+
name: 'action',
|
|
423
|
+
description: 'status, hub, sign-in, add-bridge, remove-bridge',
|
|
424
|
+
required: false,
|
|
425
|
+
choices: ['status'],
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
name: 'project',
|
|
429
|
+
description: '(add-bridge, remove-bridge) the Unity project folder',
|
|
430
|
+
required: false,
|
|
431
|
+
when: [],
|
|
432
|
+
},
|
|
433
|
+
],
|
|
434
|
+
options: [
|
|
435
|
+
text('--bridge', 'name', '(add-bridge) pipeline (Unity 6 and later) or coplay (older Unity)', {
|
|
436
|
+
when: 'add-bridge',
|
|
437
|
+
label: 'Bridge',
|
|
438
|
+
}),
|
|
439
|
+
],
|
|
440
|
+
},
|
|
410
441
|
{
|
|
411
442
|
name: 'engine',
|
|
412
443
|
summary: '(beta) what runs your sandbox (Windows Sandbox or HCS) and what each engine can do on this PC',
|
|
@@ -13,6 +13,7 @@ export const COMMAND_PLACES = {
|
|
|
13
13
|
storage: { place: 'Maintenance > Storage' },
|
|
14
14
|
engine: { place: 'Maintenance > Engine' },
|
|
15
15
|
unreal: { place: 'Sandbox > Unreal Engine' },
|
|
16
|
+
unity: { place: 'Sandbox > Unity' },
|
|
16
17
|
sync: { place: 'Maintenance > More commands' },
|
|
17
18
|
logs: { place: 'Maintenance > Logs (key f follows)' },
|
|
18
19
|
setup: { place: 'Maintenance > Health' },
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type ProjectsList } from '../../../app/features/projects/index.js';
|
|
2
2
|
import { type SandboxStatus } from '../../../app/features/sandbox/index.js';
|
|
3
3
|
import { type UnrealOverview } from '../../../app/features/unreal/index.js';
|
|
4
|
+
import { type UnityOverview } from '../../../app/features/unity/index.js';
|
|
4
5
|
import type { Context } from '../../commands/context.js';
|
|
5
6
|
import { type DatabaseRow } from '../../services/index.js';
|
|
6
7
|
import { type App, type ListOptions, type ListResult } from '../../tui/index.js';
|
|
@@ -14,6 +15,8 @@ export interface SandboxModel {
|
|
|
14
15
|
readonly defaultAgent: string;
|
|
15
16
|
/** The Unreal overview; null when it could not be read. */
|
|
16
17
|
readonly unreal: UnrealOverview | null;
|
|
18
|
+
/** The Unity overview; null when it could not be read. */
|
|
19
|
+
readonly unity: UnityOverview | null;
|
|
17
20
|
}
|
|
18
21
|
/** The list for the sandbox tab. Pure. */
|
|
19
22
|
export declare function sandboxOptions(m: SandboxModel): ListOptions<string>;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
// Section 3: the sandbox as a whole. Status (the sandbox view: its facts, the window, stopping it), Projects (the
|
|
2
2
|
// projects view: roots, the projects and the all-projects setting), Databases (start and stop) and Unreal Engine (the
|
|
3
|
-
// unreal view), each a category on the left.
|
|
3
|
+
// unreal view) and Unity (the unity view), each a category on the left.
|
|
4
4
|
import { listProjects, projectsPage } from '../../../app/features/projects/index.js';
|
|
5
5
|
import { sandboxPage, sandboxStatus } from '../../../app/features/sandbox/index.js';
|
|
6
6
|
import { readQuery } from '../../../app/registry.js';
|
|
7
7
|
import { unrealOverview, unrealPage } from '../../../app/features/unreal/index.js';
|
|
8
|
+
import { unityOverview, unityPage } from '../../../app/features/unity/index.js';
|
|
8
9
|
import { errMsg, safeText } from '../../../core/util/index.js';
|
|
9
10
|
import { RunDir } from '../../../shared/channel/index.js';
|
|
10
11
|
import { DatabasesService } from '../../services/index.js';
|
|
@@ -25,6 +26,11 @@ const CATEGORIES = [
|
|
|
25
26
|
label: 'Unreal Engine',
|
|
26
27
|
description: "Engines, which project uses which, this PC's engines and assets, Visual Studio and the debugger.",
|
|
27
28
|
},
|
|
29
|
+
{
|
|
30
|
+
id: 'unity',
|
|
31
|
+
label: 'Unity',
|
|
32
|
+
description: "Editors, this PC's editors and Asset Store downloads, the licence, the editor bridge and Unity Hub.",
|
|
33
|
+
},
|
|
28
34
|
];
|
|
29
35
|
/** The Unreal category: the Unreal view's rows and keys (prefixed, so they never clash with other rows). */
|
|
30
36
|
function unrealMenu(m) {
|
|
@@ -32,6 +38,10 @@ function unrealMenu(m) {
|
|
|
32
38
|
? menuView(unrealPage(m.unreal), { category: 'unreal', prefix: 'unreal:', refresh: false })
|
|
33
39
|
: undefined;
|
|
34
40
|
}
|
|
41
|
+
/** The Unity category: the Unity view's rows and keys (prefixed, so they never clash with other rows). */
|
|
42
|
+
function unityMenu(m) {
|
|
43
|
+
return m.unity ? menuView(unityPage(m.unity), { category: 'unity', prefix: 'unity:', refresh: false }) : undefined;
|
|
44
|
+
}
|
|
35
45
|
/** The status category: the sandbox view's rows (prefixed, so they never clash with the projects' rows). */
|
|
36
46
|
function statusView(m) {
|
|
37
47
|
return menuView(sandboxPage(m.report), { category: 'status', prefix: 'status:', refresh: false });
|
|
@@ -46,6 +56,8 @@ function viewFor(m, category) {
|
|
|
46
56
|
return projectsView(m);
|
|
47
57
|
if (category === 'unreal')
|
|
48
58
|
return unrealMenu(m);
|
|
59
|
+
if (category === 'unity')
|
|
60
|
+
return unityMenu(m);
|
|
49
61
|
if (category === 'status' || category === undefined)
|
|
50
62
|
return statusView(m);
|
|
51
63
|
return undefined;
|
|
@@ -91,9 +103,31 @@ export function sandboxOptions(m) {
|
|
|
91
103
|
disabled: 'l looks again.',
|
|
92
104
|
},
|
|
93
105
|
];
|
|
106
|
+
const unity = unityMenu(m);
|
|
107
|
+
const noUnity = unity
|
|
108
|
+
? []
|
|
109
|
+
: [
|
|
110
|
+
{
|
|
111
|
+
value: 'info:unity',
|
|
112
|
+
label: 'Could not read the Unity set-up',
|
|
113
|
+
category: 'unity',
|
|
114
|
+
section: 'Unity',
|
|
115
|
+
description: 'l looks again.',
|
|
116
|
+
disabled: 'l looks again.',
|
|
117
|
+
},
|
|
118
|
+
];
|
|
94
119
|
return {
|
|
95
120
|
path: [],
|
|
96
|
-
items: [
|
|
121
|
+
items: [
|
|
122
|
+
...statusItems,
|
|
123
|
+
...projects.items,
|
|
124
|
+
...databases,
|
|
125
|
+
...noDatabases,
|
|
126
|
+
...(unreal?.items ?? []),
|
|
127
|
+
...noUnreal,
|
|
128
|
+
...(unity?.items ?? []),
|
|
129
|
+
...noUnity,
|
|
130
|
+
],
|
|
97
131
|
categories: CATEGORIES,
|
|
98
132
|
empty: 'Nothing here yet.',
|
|
99
133
|
actions: (category) => category === 'projects'
|
|
@@ -102,7 +136,9 @@ export function sandboxOptions(m) {
|
|
|
102
136
|
? [REFRESH]
|
|
103
137
|
: category === 'unreal'
|
|
104
138
|
? [...(unreal?.actions ?? []), REFRESH]
|
|
105
|
-
:
|
|
139
|
+
: category === 'unity'
|
|
140
|
+
? [...(unity?.actions ?? []), REFRESH]
|
|
141
|
+
: [...status.actions, REFRESH],
|
|
106
142
|
enterLabel: (category, id) => viewFor(m, category)?.enterLabel(category, id) || enterLabel(id ?? '', m),
|
|
107
143
|
};
|
|
108
144
|
}
|
|
@@ -163,6 +199,7 @@ export class SandboxPage extends ListPage {
|
|
|
163
199
|
databases,
|
|
164
200
|
defaultAgent: this.defaultAgent(),
|
|
165
201
|
unreal: await readQuery(unrealOverview, this.ctx).catch(() => null),
|
|
202
|
+
unity: await readQuery(unityOverview, this.ctx).catch(() => null),
|
|
166
203
|
};
|
|
167
204
|
}
|
|
168
205
|
/** The folder `sbx-db` runs in: the sandbox's own workspace. */
|
package/dist/cli/menu/views.js
CHANGED
|
@@ -20,6 +20,7 @@ import { vpnView } from '../../app/features/vpn/index.js';
|
|
|
20
20
|
import { githubView } from '../../app/features/github/index.js';
|
|
21
21
|
import { accessView } from '../../app/features/access/index.js';
|
|
22
22
|
import { unrealView } from '../../app/features/unreal/index.js';
|
|
23
|
+
import { unityView } from '../../app/features/unity/index.js';
|
|
23
24
|
export const MENU_VIEWS = [
|
|
24
25
|
{ view: agentsView, section: 'Agents' },
|
|
25
26
|
{ view: agentEnvView, section: 'Agents' },
|
|
@@ -30,6 +31,7 @@ export const MENU_VIEWS = [
|
|
|
30
31
|
{ view: appsView, section: 'Apps' },
|
|
31
32
|
{ view: projectsView, section: 'Sandbox' },
|
|
32
33
|
{ view: unrealView, section: 'Sandbox' },
|
|
34
|
+
{ view: unityView, section: 'Sandbox' },
|
|
33
35
|
{ view: healthView, section: 'Maintenance' },
|
|
34
36
|
{ view: dataView, section: 'Maintenance' },
|
|
35
37
|
{ view: storageView, section: 'Maintenance' },
|
|
@@ -37,7 +37,7 @@ export const DEFAULTS = {
|
|
|
37
37
|
},
|
|
38
38
|
network: { blockPrivateRanges: true, allowOnly: [], blockHosts: [], forwardPorts: [], dns: [], proxy: '' },
|
|
39
39
|
vpn: { enabled: false, provider: 'nordvpn', protocol: 'udp', country: '', configFile: '', killSwitch: true },
|
|
40
|
-
github: { shareToken: false },
|
|
40
|
+
github: { shareToken: false, usePcLogin: false },
|
|
41
41
|
codex: {
|
|
42
42
|
sandboxMode: 'danger-full-access',
|
|
43
43
|
approvalPolicy: 'never',
|
|
@@ -57,6 +57,7 @@ export const DEFAULTS = {
|
|
|
57
57
|
appstore: { share: false },
|
|
58
58
|
perplexity: { share: false },
|
|
59
59
|
comet: { share: false },
|
|
60
|
+
perplexityapp: { share: false },
|
|
60
61
|
},
|
|
61
62
|
pcInstalls: {
|
|
62
63
|
steamGames: false,
|
|
@@ -64,7 +65,8 @@ export const DEFAULTS = {
|
|
|
64
65
|
unrealEngines: 'auto',
|
|
65
66
|
unrealEngineFolders: [],
|
|
66
67
|
unrealAssets: 'auto',
|
|
67
|
-
unityEditors:
|
|
68
|
+
unityEditors: 'auto',
|
|
69
|
+
unityAssets: 'auto',
|
|
68
70
|
},
|
|
69
71
|
provisioning: {
|
|
70
72
|
copyFromHost: true,
|
|
@@ -98,7 +100,18 @@ export const DEFAULTS = {
|
|
|
98
100
|
persistEngines: true,
|
|
99
101
|
derivedDataCache: 'persisted',
|
|
100
102
|
},
|
|
101
|
-
unity: {
|
|
103
|
+
unity: {
|
|
104
|
+
enabled: 'auto',
|
|
105
|
+
acceptLicense: false,
|
|
106
|
+
version: 'project',
|
|
107
|
+
modules: [],
|
|
108
|
+
hub: false,
|
|
109
|
+
keepVersions: 2,
|
|
110
|
+
mcp: true,
|
|
111
|
+
agentSkills: true,
|
|
112
|
+
cliVersion: '1.0.0-beta.16',
|
|
113
|
+
assetCache: 'persisted',
|
|
114
|
+
},
|
|
102
115
|
godot: { enabled: 'auto', version: 'project', dotnet: 'auto', exportTemplates: true, keepVersions: 2 },
|
|
103
116
|
steam: { enabled: 'auto', client: false, sdkFolder: '' },
|
|
104
117
|
fivem: {
|
|
@@ -30,5 +30,6 @@ export const AccountsSchema = z
|
|
|
30
30
|
appstore: share('appstore', 'import the AuthKey.p8 file in Accounts'),
|
|
31
31
|
perplexity: share('perplexity', 'type the API key in Accounts, or import it from a .env file'),
|
|
32
32
|
comet: share('comet', 'sign in to Comet once in a sandbox: it cannot be taken from this PC'),
|
|
33
|
+
perplexityapp: share('perplexityapp', 'sign in to the Perplexity app once in a sandbox: it cannot be taken from this PC'),
|
|
33
34
|
})
|
|
34
35
|
.describe('Service sign-ins for sandboxes (game stores, engines, app signing, Perplexity). Manage them in Accounts.');
|
|
@@ -95,6 +95,7 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
95
95
|
}, z.core.$strict>;
|
|
96
96
|
github: z.ZodObject<{
|
|
97
97
|
shareToken: z.ZodBoolean;
|
|
98
|
+
usePcLogin: z.ZodBoolean;
|
|
98
99
|
}, z.core.$strict>;
|
|
99
100
|
accounts: z.ZodObject<{
|
|
100
101
|
epic: z.ZodObject<{
|
|
@@ -127,6 +128,9 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
127
128
|
comet: z.ZodObject<{
|
|
128
129
|
share: z.ZodBoolean;
|
|
129
130
|
}, z.core.$strict>;
|
|
131
|
+
perplexityapp: z.ZodObject<{
|
|
132
|
+
share: z.ZodBoolean;
|
|
133
|
+
}, z.core.$strict>;
|
|
130
134
|
}, z.core.$strict>;
|
|
131
135
|
pcInstalls: z.ZodObject<{
|
|
132
136
|
steamGames: z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodNumber>]>;
|
|
@@ -134,7 +138,8 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
134
138
|
unrealEngines: z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodBoolean, z.ZodArray<z.ZodString>]>;
|
|
135
139
|
unrealEngineFolders: z.ZodArray<z.ZodString>;
|
|
136
140
|
unrealAssets: z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodBoolean]>;
|
|
137
|
-
unityEditors: z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodString>]>;
|
|
141
|
+
unityEditors: z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodBoolean, z.ZodArray<z.ZodString>]>;
|
|
142
|
+
unityAssets: z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodBoolean]>;
|
|
138
143
|
}, z.core.$strict>;
|
|
139
144
|
provisioning: z.ZodObject<{
|
|
140
145
|
copyFromHost: z.ZodBoolean;
|
|
@@ -214,6 +219,14 @@ export declare const ConfigSchema: z.ZodObject<{
|
|
|
214
219
|
modules: z.ZodArray<z.ZodString>;
|
|
215
220
|
hub: z.ZodBoolean;
|
|
216
221
|
keepVersions: z.ZodNumber;
|
|
222
|
+
mcp: z.ZodBoolean;
|
|
223
|
+
agentSkills: z.ZodBoolean;
|
|
224
|
+
cliVersion: z.ZodString;
|
|
225
|
+
assetCache: z.ZodEnum<{
|
|
226
|
+
pc: "pc";
|
|
227
|
+
persisted: "persisted";
|
|
228
|
+
local: "local";
|
|
229
|
+
}>;
|
|
217
230
|
}, z.core.$strict>;
|
|
218
231
|
godot: z.ZodObject<{
|
|
219
232
|
enabled: z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>;
|
|
@@ -579,6 +592,9 @@ export declare const LocalOverridesSchema: z.ZodObject<{
|
|
|
579
592
|
comet: z.ZodOptional<z.ZodObject<{
|
|
580
593
|
share: z.ZodOptional<z.ZodBoolean>;
|
|
581
594
|
}, z.core.$strict>>;
|
|
595
|
+
perplexityapp: z.ZodOptional<z.ZodObject<{
|
|
596
|
+
share: z.ZodOptional<z.ZodBoolean>;
|
|
597
|
+
}, z.core.$strict>>;
|
|
582
598
|
}, z.core.$strict>>;
|
|
583
599
|
provisioning: z.ZodOptional<z.ZodObject<{
|
|
584
600
|
copyFromHost: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -601,7 +617,7 @@ export declare const LocalOverridesSchema: z.ZodObject<{
|
|
|
601
617
|
}, z.core.$strict>>;
|
|
602
618
|
toolchains: z.ZodOptional<z.ZodObject<{
|
|
603
619
|
environment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
604
|
-
|
|
620
|
+
godot: z.ZodOptional<z.ZodObject<{
|
|
605
621
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
606
622
|
}, z.core.$strict> | z.ZodObject<{
|
|
607
623
|
version: z.ZodOptional<z.ZodString>;
|
|
@@ -616,7 +632,7 @@ export declare const LocalOverridesSchema: z.ZodObject<{
|
|
|
616
632
|
zstd: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
617
633
|
openssl: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
618
634
|
}, z.core.$strict>>;
|
|
619
|
-
|
|
635
|
+
android: z.ZodOptional<z.ZodObject<{
|
|
620
636
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
621
637
|
}, z.core.$strict> | z.ZodObject<{
|
|
622
638
|
version: z.ZodOptional<z.ZodString>;
|
|
@@ -631,7 +647,7 @@ export declare const LocalOverridesSchema: z.ZodObject<{
|
|
|
631
647
|
zstd: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
632
648
|
openssl: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
633
649
|
}, z.core.$strict>>;
|
|
634
|
-
|
|
650
|
+
flutter: z.ZodOptional<z.ZodObject<{
|
|
635
651
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
636
652
|
}, z.core.$strict> | z.ZodObject<{
|
|
637
653
|
version: z.ZodOptional<z.ZodString>;
|
|
@@ -646,7 +662,7 @@ export declare const LocalOverridesSchema: z.ZodObject<{
|
|
|
646
662
|
zstd: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
647
663
|
openssl: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
648
664
|
}, z.core.$strict>>;
|
|
649
|
-
|
|
665
|
+
dart: z.ZodOptional<z.ZodObject<{
|
|
650
666
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
651
667
|
}, z.core.$strict> | z.ZodObject<{
|
|
652
668
|
version: z.ZodOptional<z.ZodString>;
|
|
@@ -661,7 +677,7 @@ export declare const LocalOverridesSchema: z.ZodObject<{
|
|
|
661
677
|
zstd: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
662
678
|
openssl: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
663
679
|
}, z.core.$strict>>;
|
|
664
|
-
|
|
680
|
+
reactNative: z.ZodOptional<z.ZodObject<{
|
|
665
681
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
666
682
|
}, z.core.$strict> | z.ZodObject<{
|
|
667
683
|
version: z.ZodOptional<z.ZodString>;
|
|
@@ -676,7 +692,7 @@ export declare const LocalOverridesSchema: z.ZodObject<{
|
|
|
676
692
|
zstd: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
677
693
|
openssl: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
678
694
|
}, z.core.$strict>>;
|
|
679
|
-
|
|
695
|
+
node: z.ZodOptional<z.ZodObject<{
|
|
680
696
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
681
697
|
}, z.core.$strict> | z.ZodObject<{
|
|
682
698
|
version: z.ZodOptional<z.ZodString>;
|
|
@@ -691,7 +707,7 @@ export declare const LocalOverridesSchema: z.ZodObject<{
|
|
|
691
707
|
zstd: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
692
708
|
openssl: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
693
709
|
}, z.core.$strict>>;
|
|
694
|
-
|
|
710
|
+
go: z.ZodOptional<z.ZodObject<{
|
|
695
711
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
696
712
|
}, z.core.$strict> | z.ZodObject<{
|
|
697
713
|
version: z.ZodOptional<z.ZodString>;
|
|
@@ -706,7 +722,7 @@ export declare const LocalOverridesSchema: z.ZodObject<{
|
|
|
706
722
|
zstd: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
707
723
|
openssl: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
708
724
|
}, z.core.$strict>>;
|
|
709
|
-
|
|
725
|
+
python: z.ZodOptional<z.ZodObject<{
|
|
710
726
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
711
727
|
}, z.core.$strict> | z.ZodObject<{
|
|
712
728
|
version: z.ZodOptional<z.ZodString>;
|
|
@@ -721,7 +737,7 @@ export declare const LocalOverridesSchema: z.ZodObject<{
|
|
|
721
737
|
zstd: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
722
738
|
openssl: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
723
739
|
}, z.core.$strict>>;
|
|
724
|
-
|
|
740
|
+
rust: z.ZodOptional<z.ZodObject<{
|
|
725
741
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
726
742
|
}, z.core.$strict> | z.ZodObject<{
|
|
727
743
|
version: z.ZodOptional<z.ZodString>;
|
|
@@ -736,7 +752,7 @@ export declare const LocalOverridesSchema: z.ZodObject<{
|
|
|
736
752
|
zstd: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
737
753
|
openssl: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
738
754
|
}, z.core.$strict>>;
|
|
739
|
-
|
|
755
|
+
msvc: z.ZodOptional<z.ZodObject<{
|
|
740
756
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
741
757
|
}, z.core.$strict> | z.ZodObject<{
|
|
742
758
|
version: z.ZodOptional<z.ZodString>;
|
|
@@ -751,7 +767,7 @@ export declare const LocalOverridesSchema: z.ZodObject<{
|
|
|
751
767
|
zstd: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
752
768
|
openssl: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
753
769
|
}, z.core.$strict>>;
|
|
754
|
-
|
|
770
|
+
unreal: z.ZodOptional<z.ZodObject<{
|
|
755
771
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
756
772
|
}, z.core.$strict> | z.ZodObject<{
|
|
757
773
|
version: z.ZodOptional<z.ZodString>;
|
|
@@ -766,7 +782,7 @@ export declare const LocalOverridesSchema: z.ZodObject<{
|
|
|
766
782
|
zstd: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
767
783
|
openssl: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"auto">]>>;
|
|
768
784
|
}, z.core.$strict>>;
|
|
769
|
-
|
|
785
|
+
unity: z.ZodOptional<z.ZodObject<{
|
|
770
786
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
771
787
|
}, z.core.$strict> | z.ZodObject<{
|
|
772
788
|
version: z.ZodOptional<z.ZodString>;
|
|
@@ -4,4 +4,7 @@ export const GithubSchema = z.strictObject({
|
|
|
4
4
|
shareToken: z
|
|
5
5
|
.boolean()
|
|
6
6
|
.describe('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.'),
|
|
7
|
+
usePcLogin: z
|
|
8
|
+
.boolean()
|
|
9
|
+
.describe('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.'),
|
|
7
10
|
});
|
|
@@ -5,5 +5,6 @@ export declare const PcInstallsSchema: z.ZodObject<{
|
|
|
5
5
|
unrealEngines: z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodBoolean, z.ZodArray<z.ZodString>]>;
|
|
6
6
|
unrealEngineFolders: z.ZodArray<z.ZodString>;
|
|
7
7
|
unrealAssets: z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodBoolean]>;
|
|
8
|
-
unityEditors: z.ZodUnion<readonly [z.ZodBoolean, z.ZodArray<z.ZodString>]>;
|
|
8
|
+
unityEditors: z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodBoolean, z.ZodArray<z.ZodString>]>;
|
|
9
|
+
unityAssets: z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodBoolean]>;
|
|
9
10
|
}, z.core.$strict>;
|
|
@@ -21,6 +21,11 @@ export const PcInstallsSchema = z
|
|
|
21
21
|
unrealAssets: z
|
|
22
22
|
.union([z.literal('auto'), z.boolean()])
|
|
23
23
|
.describe('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.'),
|
|
24
|
-
unityEditors:
|
|
24
|
+
unityEditors: z
|
|
25
|
+
.union([z.literal('auto'), z.boolean(), z.array(z.string().regex(/^\d+\.\d+\.\d+[abfp]\d+$/))])
|
|
26
|
+
.describe('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"]).'),
|
|
27
|
+
unityAssets: z
|
|
28
|
+
.union([z.literal('auto'), z.boolean()])
|
|
29
|
+
.describe('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.'),
|
|
25
30
|
})
|
|
26
31
|
.describe("Games, engines and editors installed on this PC, mapped read-only into sandboxes (no copy, no room on the sandbox's disk).");
|