windows-development-sandbox 1.18.3 → 1.20.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.
- package/README.md +1 -1
- package/config.example.json +9 -0
- package/dist/app/features/accounts/accounts.def.d.ts +4 -0
- package/dist/app/features/accounts/accounts.run.d.ts +1 -0
- package/dist/app/features/accounts/services.def.d.ts +3 -0
- package/dist/app/features/accounts/services.def.js +4 -2
- package/dist/app/features/accounts/services.run.d.ts +1 -0
- package/dist/app/features/accounts/services.run.js +3 -1
- package/dist/app/features/agent-commands/agent-commands.def.d.ts +37 -0
- package/dist/app/features/agent-commands/agent-commands.def.js +91 -0
- package/dist/app/features/agent-commands/agent-commands.run.d.ts +28 -0
- package/dist/app/features/agent-commands/agent-commands.run.js +35 -0
- package/dist/app/features/agent-commands/index.d.ts +2 -0
- package/dist/app/features/agent-commands/index.js +3 -0
- package/dist/app/features/agents/agents.def.d.ts +14 -1
- package/dist/app/features/agents/agents.def.js +61 -6
- package/dist/app/features/agents/agents.run.d.ts +1 -0
- package/dist/app/features/agents/agents.run.js +8 -1
- package/dist/app/features/agents/claude-env.def.d.ts +36 -0
- package/dist/app/features/agents/claude-env.def.js +305 -0
- package/dist/app/features/agents/env.def.d.ts +163 -0
- package/dist/app/features/agents/env.def.js +184 -0
- package/dist/app/features/agents/env.run.d.ts +43 -0
- package/dist/app/features/agents/env.run.js +86 -0
- package/dist/app/features/agents/index.d.ts +2 -0
- package/dist/app/features/agents/index.js +2 -0
- package/dist/app/features/defs.d.ts +150 -1
- package/dist/app/features/defs.js +11 -1
- package/dist/app/features/sandbox/sandbox.def.d.ts +22 -0
- package/dist/app/features/sandbox/sandbox.def.js +41 -14
- package/dist/app/features/sandbox/sandbox.run.d.ts +20 -0
- package/dist/app/features/sandbox/sandbox.run.js +41 -1
- package/dist/app/features/settings/categories.def.js +5 -2
- package/dist/app/features/settings/settings-rows.js +5 -1
- package/dist/app/features/settings/settings.run.d.ts +8 -0
- package/dist/app/features/settings/settings.run.js +9 -0
- package/dist/app/features/updates/updates.run.js +12 -2
- package/dist/app/features/vpn/vpn.def.d.ts +33 -0
- package/dist/app/features/vpn/vpn.def.js +30 -6
- package/dist/app/features/vpn/vpn.run.d.ts +11 -0
- package/dist/app/features/vpn/vpn.run.js +4 -1
- package/dist/app/kernel/rpc.d.ts +1 -1
- package/dist/app/registry.js +9 -2
- package/dist/bin/agent-sandbox.js +2 -2
- package/dist/bin/{chunk-M6XUQK53.js → chunk-2IMT7ZCT.js} +1 -1
- package/dist/bin/{chunk-3G53NNZP.js → chunk-DK4NTBUF.js} +69 -26
- package/dist/bin/{chunk-FQWYCF6L.js → chunk-Z2P5OGKL.js} +6427 -5259
- 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/agent-commands.d.ts +0 -1
- package/dist/cli/commands/agent-commands.js +2 -32
- package/dist/cli/commands/index.d.ts +1 -1
- package/dist/cli/commands/index.js +1 -1
- package/dist/cli/commands/launch/launch.js +6 -3
- package/dist/cli/commands/launch/leftover-offer.d.ts +3 -0
- package/dist/cli/commands/launch/leftover-offer.js +26 -0
- package/dist/cli/commands/registry.js +3 -2
- package/dist/cli/commands/repair/checks/sandbox.js +29 -2
- package/dist/cli/manifest.d.ts +1 -1
- package/dist/cli/manifest.js +1 -1
- package/dist/cli/menu/menu.d.ts +1 -1
- package/dist/cli/menu/menu.js +3 -3
- package/dist/cli/menu/pages/agents-page.d.ts +7 -2
- package/dist/cli/menu/pages/agents-page.js +67 -11
- package/dist/cli/menu/pages/maintenance-page.js +1 -2
- package/dist/cli/menu/pages/settings-page.js +1 -0
- package/dist/cli/menu/views.js +2 -1
- package/dist/cli/services/agent-commands-service.d.ts +2 -0
- package/dist/cli/services/agent-commands-service.js +13 -7
- package/dist/cli/services/vpn-service.d.ts +5 -1
- package/dist/cli/services/vpn-service.js +6 -1
- package/dist/cli/tui/dialogs/text-screen.js +2 -1
- package/dist/cli/tui/terminal.js +3 -1
- package/dist/core/config/defaults.js +9 -0
- package/dist/core/detect/toolchains.js +9 -0
- package/dist/core/disk.d.ts +1 -5
- package/dist/core/disk.js +1 -16
- package/dist/core/schema/codex.d.ts +29 -0
- package/dist/core/schema/codex.js +24 -0
- package/dist/core/schema/config.d.ts +46 -14
- package/dist/core/schema/config.js +2 -0
- package/dist/core/schema/index.d.ts +1 -0
- package/dist/core/schema/index.js +1 -0
- package/dist/core/schema/toolchains.d.ts +4 -0
- package/dist/core/schema/toolchains.js +3 -0
- package/dist/core/types.d.ts +2 -0
- package/dist/guest/accounts/apply.d.ts +6 -6
- package/dist/guest/agents/agent-files.d.ts +26 -6
- package/dist/guest/agents/agent-files.js +84 -14
- package/dist/guest/agents/local-state.d.ts +5 -2
- package/dist/guest/agents/local-state.js +24 -10
- package/dist/guest/boot/boot.js +10 -5
- package/dist/guest/daemon/heartbeat.d.ts +7 -2
- package/dist/guest/daemon/heartbeat.js +34 -15
- package/dist/guest/daemon/idle-shutdown.js +2 -0
- package/dist/guest/daemon/sessions.js +2 -1
- package/dist/guest/entries/daemon.js +1 -1
- package/dist/guest/toolchains/installers.d.ts +6 -10
- package/dist/guest/toolchains/installers.js +4 -12
- package/dist/guest/toolchains/native/autosdk.d.ts +3 -0
- package/dist/guest/toolchains/native/autosdk.js +50 -0
- package/dist/guest/toolchains/native/unreal.js +3 -0
- package/dist/guest/toolchains/native/vcruntime.d.ts +0 -3
- package/dist/guest/toolchains/native/vcruntime.js +2 -5
- package/dist/guest/toolchains/native/visual-studio.d.ts +2 -2
- package/dist/guest/toolchains/native/visual-studio.js +100 -16
- package/dist/guest/toolchains/native/vs-request.d.ts +21 -0
- package/dist/guest/toolchains/native/vs-request.js +60 -1
- package/dist/guest/toolchains/not-yet.d.ts +1 -1
- package/dist/guest/toolchains/not-yet.js +3 -3
- package/dist/guest/toolchains/persisted.js +2 -7
- package/dist/guest/toolchains/plan.js +9 -4
- package/dist/guest/toolchains/signature.d.ts +5 -0
- package/dist/guest/toolchains/signature.js +22 -0
- package/dist/guest/vpn/tunnel.d.ts +3 -0
- package/dist/guest/vpn/tunnel.js +10 -12
- package/dist/guest/vpn/vpn.js +6 -1
- package/dist/host/accounts/leases.d.ts +3 -3
- package/dist/host/accounts/source.js +1 -1
- package/dist/host/agent-commands/commands.js +1 -1
- package/dist/host/agent-commands/forwarders.d.ts +14 -2
- package/dist/host/agent-commands/forwarders.js +31 -13
- package/dist/host/agent-commands/reconcile.d.ts +2 -1
- package/dist/host/agent-commands/reconcile.js +7 -8
- package/dist/host/agent-commands/user-path.d.ts +5 -0
- package/dist/host/agent-commands/user-path.js +13 -0
- package/dist/host/health/index.d.ts +1 -0
- package/dist/host/health/index.js +1 -0
- package/dist/host/health/leftovers.d.ts +3 -0
- package/dist/host/health/leftovers.js +40 -0
- package/dist/host/health/stale.d.ts +48 -0
- package/dist/host/health/stale.js +40 -0
- package/dist/host/launch/session-file.js +1 -0
- package/dist/host/life/crash-report.d.ts +1 -1
- package/dist/host/life/crash-report.js +5 -3
- package/dist/host/life/last-end.d.ts +7 -0
- package/dist/host/life/last-end.js +21 -0
- package/dist/host/life/life-record.d.ts +3 -0
- package/dist/host/life/life-record.js +2 -2
- package/dist/host/life/stop-events.d.ts +3 -1
- package/dist/host/life/stop-events.js +59 -0
- package/dist/host/life/stop-warning.js +3 -0
- package/dist/host/profile/accounts.js +2 -4
- package/dist/host/profile/claude-login.d.ts +3 -2
- package/dist/host/profile/claude-login.js +3 -13
- package/dist/host/sandbox/cleanup.d.ts +37 -0
- package/dist/host/sandbox/cleanup.js +82 -0
- package/dist/host/sandbox/index.d.ts +1 -0
- package/dist/host/sandbox/index.js +1 -0
- package/dist/host/sandbox/platform.js +1 -1
- package/dist/host/vpn/index.d.ts +2 -1
- package/dist/host/vpn/index.js +2 -1
- package/dist/host/vpn/last.d.ts +28 -0
- package/dist/host/vpn/last.js +43 -0
- package/dist/host/vpn/login.d.ts +3 -1
- package/dist/host/vpn/login.js +17 -3
- package/dist/runtime/agent.js +31 -1
- package/dist/runtime/daemon.js +1419 -1197
- package/dist/runtime/db.js +33 -1
- package/dist/runtime/main.js +1311 -1037
- package/dist/runtime/netproxy.js +25 -1
- package/dist/runtime/tool.js +241 -209
- package/dist/runtime/view.js +25 -1
- package/dist/selftest/agent-commands.test.js +45 -7
- package/dist/selftest/agent-paths.test.js +1 -12
- package/dist/selftest/agent-settings.test.d.ts +2 -0
- package/dist/selftest/agent-settings.test.js +94 -0
- package/dist/selftest/app.test.js +2 -1
- package/dist/selftest/cli.test.js +4 -0
- package/dist/selftest/heavy-load.test.js +119 -2
- package/dist/selftest/index.js +2 -0
- package/dist/selftest/menu.test.js +5 -3
- package/dist/selftest/pc-installs.test.js +5 -0
- package/dist/selftest/persisted-installs.test.js +69 -0
- package/dist/selftest/service-accounts.test.js +1 -1
- package/dist/selftest/support/engine-golden.js +1 -1
- package/dist/selftest/support/fixtures.d.ts +9 -0
- package/dist/selftest/vpn.test.js +51 -3
- package/dist/shared/accounts/anthropic.d.ts +5 -0
- package/dist/shared/accounts/anthropic.js +15 -0
- package/dist/shared/accounts/index.d.ts +1 -0
- package/dist/shared/accounts/index.js +1 -0
- package/dist/shared/channel/schema.d.ts +20 -0
- package/dist/shared/channel/schema.js +4 -1
- package/dist/shared/io/disk.d.ts +9 -0
- package/dist/shared/io/disk.js +19 -0
- package/dist/shared/io/index.d.ts +1 -0
- package/dist/shared/io/index.js +1 -0
- package/dist/shared/readiness.d.ts +9 -0
- package/dist/shared/readiness.js +11 -0
- package/dist/shared/signer.d.ts +24 -0
- package/dist/shared/signer.js +15 -0
- package/dist/shared/system.d.ts +1 -0
- package/dist/shared/system.js +1 -0
- package/dist/shared/vpn/failure.d.ts +10 -0
- package/dist/shared/vpn/failure.js +28 -0
- package/dist/sync/watcher.js +11 -4
- package/dist/web/index.html +1 -1
- package/dist/web/{main-6XYO5FZC.js → main-OUUQYNK4.js} +75 -74
- package/native/csharp/HcsHost/AssemblyInfo.cs +3 -3
- package/native/csharp/HostTools/AssemblyInfo.cs +3 -3
- package/native/csharp/HostTools/Program.cs +19 -2
- package/native/csharp/HostTools/UserPath.cs +17 -0
- package/native/csharp/StorageHelper/AssemblyInfo.cs +3 -3
- package/native/scripts/edit-user-path.ps1 +6 -2
- package/native/scripts/stop-events.ps1 +7 -3
- package/package.json +1 -1
- package/sandbox/scripts/get-signature.ps1 +13 -0
- package/schemas/config.schema.json +64 -0
- package/schemas/sandbox-config.schema.json +8 -0
- package/sandbox/scripts/get-signer.ps1 +0 -8
|
@@ -45,7 +45,9 @@ import {
|
|
|
45
45
|
__require,
|
|
46
46
|
__toESM,
|
|
47
47
|
action,
|
|
48
|
-
|
|
48
|
+
agentCommandsStatus,
|
|
49
|
+
agentEnv,
|
|
50
|
+
agentEnvPage,
|
|
49
51
|
agentPage,
|
|
50
52
|
agentsPage,
|
|
51
53
|
allowStorePath,
|
|
@@ -228,7 +230,7 @@ import {
|
|
|
228
230
|
withOperationCommands,
|
|
229
231
|
working,
|
|
230
232
|
writeJson
|
|
231
|
-
} from "./chunk-
|
|
233
|
+
} from "./chunk-Z2P5OGKL.js";
|
|
232
234
|
|
|
233
235
|
// node_modules/commander/lib/error.js
|
|
234
236
|
var require_error = __commonJS({
|
|
@@ -4153,7 +4155,7 @@ var COMMAND_LIST = [
|
|
|
4153
4155
|
},
|
|
4154
4156
|
{
|
|
4155
4157
|
name: "agent-commands",
|
|
4156
|
-
summary: "
|
|
4158
|
+
summary: "make claude, codex ... on this PC start in a hidden sandbox and attach",
|
|
4157
4159
|
group: "Advanced",
|
|
4158
4160
|
args: [{ name: "action", description: "on, off or status", required: false, choices: ["status", "on", "off"] }],
|
|
4159
4161
|
options: []
|
|
@@ -4887,7 +4889,9 @@ var TextScreen = class {
|
|
|
4887
4889
|
}
|
|
4888
4890
|
if (key.text) {
|
|
4889
4891
|
const accept = this.o.accept;
|
|
4890
|
-
const add = [...key.text.replace(/[\r\n]/g, "")].filter(
|
|
4892
|
+
const add = [...key.text.replace(/\x1b?\[20[01]~/g, "").replace(/[\r\n]/g, "")].filter(
|
|
4893
|
+
(c2) => !accept || accept.test(c2)
|
|
4894
|
+
);
|
|
4891
4895
|
if (!add.length) return;
|
|
4892
4896
|
set([...chars.slice(0, this.cursor), ...add, ...chars.slice(this.cursor)], this.cursor + add.length);
|
|
4893
4897
|
}
|
|
@@ -6054,9 +6058,10 @@ var Terminal = class {
|
|
|
6054
6058
|
});
|
|
6055
6059
|
}
|
|
6056
6060
|
push(str, key) {
|
|
6061
|
+
const marker = key?.name === "paste-start" || key?.name === "paste-end";
|
|
6057
6062
|
const event = {
|
|
6058
6063
|
name: key?.name ?? "",
|
|
6059
|
-
text: str && !key?.ctrl && !key?.meta && str.length >= 1 && str >= " " && str !== "\x7F" ? str : "",
|
|
6064
|
+
text: str && !marker && !key?.ctrl && !key?.meta && str.length >= 1 && str >= " " && str !== "\x7F" ? str : "",
|
|
6060
6065
|
ctrl: Boolean(key?.ctrl),
|
|
6061
6066
|
meta: Boolean(key?.meta),
|
|
6062
6067
|
shift: Boolean(key?.shift)
|
|
@@ -7714,6 +7719,9 @@ var SeveralAgents = class {
|
|
|
7714
7719
|
};
|
|
7715
7720
|
|
|
7716
7721
|
// src/cli/menu/pages/agents-page.ts
|
|
7722
|
+
function commandsOf(m) {
|
|
7723
|
+
return m.agentCommands ?? { enabled: m.hostAgents.length > 0, dir: "", found: [] };
|
|
7724
|
+
}
|
|
7717
7725
|
function agentsList(m) {
|
|
7718
7726
|
const removable = m.removable ?? [];
|
|
7719
7727
|
return {
|
|
@@ -7728,7 +7736,12 @@ function agentsList(m) {
|
|
|
7728
7736
|
};
|
|
7729
7737
|
}
|
|
7730
7738
|
function startView(m) {
|
|
7731
|
-
|
|
7739
|
+
const page = agentsPage(agentsList(m), commandsOf(m));
|
|
7740
|
+
return menuView({ ...page, sections: page.sections.slice(0, 1) }, { category: "start", refresh: false });
|
|
7741
|
+
}
|
|
7742
|
+
function commandsView(m) {
|
|
7743
|
+
const page = agentsPage(agentsList(m), commandsOf(m));
|
|
7744
|
+
return menuView({ ...page, sections: page.sections.slice(1) }, { category: "host", refresh: false });
|
|
7732
7745
|
}
|
|
7733
7746
|
function hostAgentsToShow(enabled, found) {
|
|
7734
7747
|
return enabled ? found.map((a) => a.harness) : [];
|
|
@@ -7754,14 +7767,19 @@ function agentCategories(m) {
|
|
|
7754
7767
|
label: "Start",
|
|
7755
7768
|
description: "Agents you can start in " + m.folder + ". Add an agent at the end of the list."
|
|
7756
7769
|
},
|
|
7757
|
-
|
|
7758
|
-
...m.hostAgents.length ? [
|
|
7770
|
+
...m.claudeEnv ? [
|
|
7759
7771
|
{
|
|
7760
|
-
id: "
|
|
7761
|
-
label: "
|
|
7762
|
-
description: "
|
|
7772
|
+
id: "env",
|
|
7773
|
+
label: "Claude environment",
|
|
7774
|
+
description: "Models, limits, how many subagents run at once, and other variables of Claude."
|
|
7763
7775
|
}
|
|
7764
|
-
] : []
|
|
7776
|
+
] : [],
|
|
7777
|
+
{ id: "options", label: "Options", description: "How a start goes, and the other ways to start." },
|
|
7778
|
+
{
|
|
7779
|
+
id: "host",
|
|
7780
|
+
label: "On this PC",
|
|
7781
|
+
description: "Agent commands: typing claude, codex ... here starts them in a sandbox. The real agents are listed too."
|
|
7782
|
+
}
|
|
7765
7783
|
];
|
|
7766
7784
|
}
|
|
7767
7785
|
function startRow(item2, m, cwd) {
|
|
@@ -7773,8 +7791,13 @@ function startRow(item2, m, cwd) {
|
|
|
7773
7791
|
details: [Theme.muted("Command ") + commandLine(startArgv(m, name, cwd))]
|
|
7774
7792
|
};
|
|
7775
7793
|
}
|
|
7794
|
+
function envView(m) {
|
|
7795
|
+
return m.claudeEnv ? menuView(agentEnvPage(m.claudeEnv), { category: "env", refresh: false }) : void 0;
|
|
7796
|
+
}
|
|
7776
7797
|
function agentsOptions(m, cwd = process.cwd()) {
|
|
7777
7798
|
const view2 = startView(m);
|
|
7799
|
+
const env = envView(m);
|
|
7800
|
+
const commands = commandsView(m);
|
|
7778
7801
|
return {
|
|
7779
7802
|
path: [],
|
|
7780
7803
|
categories: agentCategories(m),
|
|
@@ -7790,6 +7813,8 @@ function agentsOptions(m, cwd = process.cwd()) {
|
|
|
7790
7813
|
}
|
|
7791
7814
|
] : [],
|
|
7792
7815
|
...view2.items.map((item2) => startRow(item2, m, cwd)),
|
|
7816
|
+
...env?.items ?? [],
|
|
7817
|
+
...commands.items,
|
|
7793
7818
|
{
|
|
7794
7819
|
value: "opt:attach",
|
|
7795
7820
|
label: "Attach this terminal",
|
|
@@ -7843,8 +7868,8 @@ function agentsOptions(m, cwd = process.cwd()) {
|
|
|
7843
7868
|
description: "Runs the real " + agent + " on this PC, with no sandbox around it."
|
|
7844
7869
|
}))
|
|
7845
7870
|
],
|
|
7846
|
-
enterLabel: (
|
|
7847
|
-
actions: (category) => category === "start" ? view2.actions : []
|
|
7871
|
+
enterLabel: (category, id) => ENTER[id ?? ""] ?? (id?.startsWith("agent:") ? "start" : id?.startsWith("host:") ? "run" : category === "host" ? commands.enterLabel(category, id) : "open"),
|
|
7872
|
+
actions: (category) => category === "start" ? view2.actions : category === "env" ? env?.actions ?? [] : category === "host" ? commands.actions : []
|
|
7848
7873
|
};
|
|
7849
7874
|
}
|
|
7850
7875
|
var ENTER = {
|
|
@@ -7875,7 +7900,7 @@ var AgentsPage = class extends ListPage {
|
|
|
7875
7900
|
facts;
|
|
7876
7901
|
current() {
|
|
7877
7902
|
if (!this.facts) throw new Error("The agents tab was not loaded");
|
|
7878
|
-
const { agents, commands, last } = this.facts;
|
|
7903
|
+
const { agents, commands, last, env } = this.facts;
|
|
7879
7904
|
return {
|
|
7880
7905
|
folder: this.folder,
|
|
7881
7906
|
defaultAgent: agents.defaultAgent,
|
|
@@ -7884,7 +7909,13 @@ var AgentsPage = class extends ListPage {
|
|
|
7884
7909
|
attach: this.attach,
|
|
7885
7910
|
window: this.window,
|
|
7886
7911
|
hostAgents: hostAgentsToShow(commands.enabled, commands.found),
|
|
7887
|
-
|
|
7912
|
+
agentCommands: {
|
|
7913
|
+
enabled: commands.enabled,
|
|
7914
|
+
dir: commands.dir,
|
|
7915
|
+
found: commands.found.map((a) => ({ command: a.command, harness: a.harness, real: a.real }))
|
|
7916
|
+
},
|
|
7917
|
+
removable: agents.agents.filter((a) => a.removable).map((a) => a.name),
|
|
7918
|
+
...env ? { claudeEnv: env } : {}
|
|
7888
7919
|
};
|
|
7889
7920
|
}
|
|
7890
7921
|
/** The cursor starts on the default agent. */
|
|
@@ -7895,7 +7926,8 @@ var AgentsPage = class extends ListPage {
|
|
|
7895
7926
|
this.facts = {
|
|
7896
7927
|
agents: await readQuery(listAgents, this.ctx),
|
|
7897
7928
|
commands: await new AgentCommandsService(this.ctx).statusAsync(),
|
|
7898
|
-
last: readHistory()[0]?.argv
|
|
7929
|
+
last: readHistory()[0]?.argv,
|
|
7930
|
+
env: "claude" in this.ctx.loaded.config.harnesses ? await readQuery(agentEnv, this.ctx, { agent: "claude" }) : void 0
|
|
7899
7931
|
};
|
|
7900
7932
|
this.model = this.current();
|
|
7901
7933
|
}
|
|
@@ -7905,9 +7937,19 @@ var AgentsPage = class extends ListPage {
|
|
|
7905
7937
|
}
|
|
7906
7938
|
async act(result) {
|
|
7907
7939
|
const model = this.current();
|
|
7908
|
-
const
|
|
7940
|
+
const env = this.category === "env" ? envView(model) : void 0;
|
|
7941
|
+
if (env) {
|
|
7942
|
+
const picked = env.resolve(result);
|
|
7943
|
+
if (picked?.kind === "action") return this.operate(picked.action);
|
|
7944
|
+
return {};
|
|
7945
|
+
}
|
|
7946
|
+
const chosen = startView(model).resolve(result) ?? commandsView(model).resolve(result);
|
|
7909
7947
|
if (chosen?.kind === "action") {
|
|
7910
7948
|
const { action: action2 } = chosen;
|
|
7949
|
+
if (action2.kind === "link" && action2.target.kind === "view") {
|
|
7950
|
+
await this.selectCategory("env");
|
|
7951
|
+
return {};
|
|
7952
|
+
}
|
|
7911
7953
|
if (action2.kind === "link" && action2.target.kind === "start-agent")
|
|
7912
7954
|
return { exit: { kind: "run", argv: startArgv(model, action2.target.agent, process.cwd()) } };
|
|
7913
7955
|
return this.operate(action2);
|
|
@@ -8158,15 +8200,14 @@ var CATEGORIES2 = [
|
|
|
8158
8200
|
},
|
|
8159
8201
|
{ id: "more", label: "More commands", description: "Less common commands." }
|
|
8160
8202
|
];
|
|
8161
|
-
var MORE_COMMANDS = ["sync", "config", "generate", "exec"
|
|
8203
|
+
var MORE_COMMANDS = ["sync", "config", "generate", "exec"];
|
|
8162
8204
|
var NO_LOGS = { folder: "", files: [], crash: false };
|
|
8163
8205
|
var NO_WEB = { running: false, port: null, address: null };
|
|
8164
8206
|
var MORE_LABELS = {
|
|
8165
8207
|
sync: "Copy history back now",
|
|
8166
8208
|
config: "Your settings file",
|
|
8167
8209
|
generate: "Preview a start",
|
|
8168
|
-
exec: "Run a command in the sandbox"
|
|
8169
|
-
"agent-commands": "Agent commands (Beta)"
|
|
8210
|
+
exec: "Run a command in the sandbox"
|
|
8170
8211
|
};
|
|
8171
8212
|
function dataMenuView(data) {
|
|
8172
8213
|
return data ? menuView(dataPage(data), { category: "data", prefix: "data:", refresh: false }) : void 0;
|
|
@@ -8781,7 +8822,8 @@ var SettingsPage = class extends ListPage {
|
|
|
8781
8822
|
killSwitch: true,
|
|
8782
8823
|
login: "none",
|
|
8783
8824
|
loginSavedAt: null,
|
|
8784
|
-
running: null
|
|
8825
|
+
running: null,
|
|
8826
|
+
lastFailure: null
|
|
8785
8827
|
};
|
|
8786
8828
|
/** Whether a GitHub token is saved (never the token): the token row needs only its state. */
|
|
8787
8829
|
github = { shareToken: false, gitAccess: "full", token: "none", kind: null, savedAt: null };
|
|
@@ -9400,7 +9442,7 @@ var Menu = class {
|
|
|
9400
9442
|
await pressAnyKey(Theme.muted("Press any key for the menu\u2026"));
|
|
9401
9443
|
});
|
|
9402
9444
|
}
|
|
9403
|
-
/** After a save: agent commands
|
|
9445
|
+
/** After a save: agent commands may have been switched, which changes this PC. */
|
|
9404
9446
|
applyAgentCommands(saved) {
|
|
9405
9447
|
if (!saved.files.some((f) => !f.isProject)) return void 0;
|
|
9406
9448
|
try {
|
|
@@ -9408,9 +9450,9 @@ var Menu = class {
|
|
|
9408
9450
|
loadConfig(this.ctx.loaded.configPath ?? void 0).config
|
|
9409
9451
|
);
|
|
9410
9452
|
if (!result?.changed) return void 0;
|
|
9411
|
-
return result.on ? "Agent commands
|
|
9453
|
+
return result.on ? "Agent commands are on: open a new terminal." : "Agent commands are off: claude, codex ... run on this PC again (open a new terminal).";
|
|
9412
9454
|
} catch (e) {
|
|
9413
|
-
return "Agent commands
|
|
9455
|
+
return "Agent commands: " + errMsg(e);
|
|
9414
9456
|
}
|
|
9415
9457
|
}
|
|
9416
9458
|
};
|
|
@@ -10282,7 +10324,6 @@ var HANDLERS = {
|
|
|
10282
10324
|
generate: (ctx) => launch(ctx, true),
|
|
10283
10325
|
attach,
|
|
10284
10326
|
exec,
|
|
10285
|
-
"agent-commands": agentCommandsCommand,
|
|
10286
10327
|
db,
|
|
10287
10328
|
resume,
|
|
10288
10329
|
// The bare command lists; its actions (save, use ...) are the operations' hints.
|
|
@@ -10317,6 +10358,8 @@ var HANDLERS = {
|
|
|
10317
10358
|
"host-claude": claudeHost,
|
|
10318
10359
|
host: hostCommand,
|
|
10319
10360
|
_watch: watcher,
|
|
10361
|
+
// The bare command shows the status; on and off are the operations' hints (src/app/features/agent-commands).
|
|
10362
|
+
"agent-commands": definitionHandler(agentCommandsStatus),
|
|
10320
10363
|
vpn,
|
|
10321
10364
|
github,
|
|
10322
10365
|
web,
|