@intentic/machine 1.233.0 → 1.235.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 (57) hide show
  1. package/README.md +27 -3
  2. package/dist/commands.d.ts.map +1 -1
  3. package/dist/commands.js +5 -16
  4. package/dist/commands.js.map +1 -1
  5. package/dist/computer/auto-prepare.d.ts +18 -0
  6. package/dist/computer/auto-prepare.d.ts.map +1 -0
  7. package/dist/computer/auto-prepare.js +83 -0
  8. package/dist/computer/auto-prepare.js.map +1 -0
  9. package/dist/computer/commands.d.ts +1 -0
  10. package/dist/computer/commands.d.ts.map +1 -1
  11. package/dist/computer/commands.js +28 -2
  12. package/dist/computer/commands.js.map +1 -1
  13. package/dist/computer/config.d.ts +3 -0
  14. package/dist/computer/config.d.ts.map +1 -1
  15. package/dist/computer/config.js +21 -12
  16. package/dist/computer/config.js.map +1 -1
  17. package/dist/computer/tools/sandboxes.d.ts +6 -0
  18. package/dist/computer/tools/sandboxes.d.ts.map +1 -1
  19. package/dist/computer/tools/sandboxes.js +22 -6
  20. package/dist/computer/tools/sandboxes.js.map +1 -1
  21. package/dist/install.d.ts +17 -0
  22. package/dist/install.d.ts.map +1 -0
  23. package/dist/install.js +152 -0
  24. package/dist/install.js.map +1 -0
  25. package/dist/resident.d.ts.map +1 -1
  26. package/dist/resident.js +5 -0
  27. package/dist/resident.js.map +1 -1
  28. package/dist/status.d.ts.map +1 -1
  29. package/dist/status.js +12 -9
  30. package/dist/status.js.map +1 -1
  31. package/dist/sync/commands.d.ts +1 -0
  32. package/dist/sync/commands.d.ts.map +1 -1
  33. package/dist/sync/commands.js +41 -4
  34. package/dist/sync/commands.js.map +1 -1
  35. package/dist/sync/config.d.ts +2 -0
  36. package/dist/sync/config.d.ts.map +1 -1
  37. package/dist/sync/config.js +3 -0
  38. package/dist/sync/config.js.map +1 -1
  39. package/dist/sync/mirror.d.ts.map +1 -1
  40. package/dist/sync/mirror.js +9 -7
  41. package/dist/sync/mirror.js.map +1 -1
  42. package/dist/sync/mutagen.d.ts +5 -1
  43. package/dist/sync/mutagen.d.ts.map +1 -1
  44. package/dist/sync/mutagen.js +55 -8
  45. package/dist/sync/mutagen.js.map +1 -1
  46. package/dist/sync/report.d.ts.map +1 -1
  47. package/dist/sync/report.js +3 -1
  48. package/dist/sync/report.js.map +1 -1
  49. package/dist/sync/ssh.d.ts +0 -1
  50. package/dist/sync/ssh.d.ts.map +1 -1
  51. package/dist/sync/ssh.js +1 -13
  52. package/dist/sync/ssh.js.map +1 -1
  53. package/dist/upgrade.d.ts +5 -3
  54. package/dist/upgrade.d.ts.map +1 -1
  55. package/dist/upgrade.js +92 -31
  56. package/dist/upgrade.js.map +1 -1
  57. package/package.json +10 -10
package/README.md CHANGED
@@ -18,6 +18,11 @@ The **computer half** (`src/computer/`, the machine side of the `host` capabilit
18
18
  recoverable) as MCP carried verbatim, so a machine can learn a tool without a daemon release.
19
19
  - Enforce the owner's scopes **here**, never in the sandbox, and append every call to an audit log that
20
20
  survives uninstall.
21
+ - Keep each local sandbox's **next update downloaded** (`src/computer/auto-prepare.ts`): a background tick
22
+ runs `ic sandbox prepare <slug> --auto` every few hours, so the web app's update card offers a half-minute
23
+ restart instead of minutes of pulling. On by default; the switch is `intentic-machine computer updates
24
+ --off` (cached in `computer.json`). Nothing in any sandbox can start or steer the tick — a sandbox only
25
+ learns the outcome through the staged marker `ic` writes, the way it always has.
21
26
 
22
27
  The **sync half** (`src/sync/`, the machine side of desktop sync):
23
28
 
@@ -25,6 +30,11 @@ The **sync half** (`src/sync/`, the machine side of desktop sync):
25
30
  a one-way backup of the sandbox's own state.
26
31
  - Serve the SSH transport itself on loopback (the sandbox's sshd reached over its HTTPS surface), mirror every
27
32
  workspace port onto this machine's localhost, and bridge git so commits appear in local clones.
33
+ - Own the **port-mirroring switch** (`sync mirror off|on`, optionally `--sandbox <id>`): mirroring is the one
34
+ thing here that writes to *this* computer's localhost, so the flag lives on this side, survives a restart, and
35
+ is read every tick. File sync, the state backup and the git bridge are untouched by it — the point is to stop
36
+ the ports without unpairing the sandbox. The sandbox's Computers tab has a button for it, and that button runs
37
+ this very command over the `host` capability, so the two can never disagree.
28
38
  - Register Mutagen's daemon for login autostart — on Windows through the launcher stub, because Mutagen's own
29
39
  registration flashes a console window at every boot.
30
40
 
@@ -44,8 +54,11 @@ halves in one process ([src/resident.ts](src/resident.ts)):
44
54
 
45
55
  ## Key files
46
56
 
47
- - [src/commands.ts](src/commands.ts) — the CLI surface: `computer setup|uninstall`, `sync setup|pause|resume|uninstall`, shared `run|status|version|upgrade|uninstall`.
57
+ - [src/commands.ts](src/commands.ts) — the CLI surface: `computer setup|uninstall|updates`, `sync setup|pause|resume|mirror|uninstall`, shared `run|status|version|upgrade|uninstall`.
58
+ - [src/install.ts](src/install.ts) — what every `setup` runs first: self-update (then re-exec), PATH repair, the Windows launcher stub. Everything the install scripts used to decide, decided once here.
59
+ - [src/upgrade.ts](src/upgrade.ts) — `upgrade`: what is published, then download → probe → stop → swap → start, with a rollback behind every step.
48
60
  - [src/resident.ts](src/resident.ts) — the one loop, its pidfile, and `reconcileResidency`.
61
+ - [src/computer/auto-prepare.ts](src/computer/auto-prepare.ts) — the background update-download tick; the judgement about *what* to download stays in `ic sandbox prepare --auto`, on purpose.
49
62
  - [src/status.ts](src/status.ts) — both halves as one answer; `--json` is what the desktop app and tray read.
50
63
  - [src/computer/policy.ts](src/computer/policy.ts) — what the sandbox is permitted to do here; the security surface.
51
64
  - [src/sync/mirror.ts](src/sync/mirror.ts) — the sync tick: ports reconcile, git bridge, revocation handling.
@@ -54,8 +67,19 @@ halves in one process ([src/resident.ts](src/resident.ts)):
54
67
  ## How it fits
55
68
 
56
69
  Runs on the user's machine, not in the sandbox. Installed by `computer.{sh,ps1}` / `sync.{sh,ps1}` (both cards
57
- download the same binary into `~/.intentic/machine/bin`, plus `intentic-launch.exe` on Windows), shipped as a
58
- bun-compiled binary per platform, self-updated by `upgrade`. The install-and-stay-alive plumbing is
70
+ put the same binary in `~/.intentic/machine/bin`), shipped as a bun-compiled binary per platform, self-updated
71
+ by `upgrade`.
72
+
73
+ Those four installers are **bootstrap shims**: they download a first agent onto a machine that has none
74
+ (pinned to the tag `releases/latest` resolves to, resumable, probed by running `version` before it may become
75
+ the agent) and exec `setup`. Every other decision — installed-vs-published, PATH repair, the Windows launcher
76
+ stub — runs from [src/install.ts](src/install.ts) at the top of every `setup`: it self-updates through the
77
+ same download→probe→swap→rollback machinery as `upgrade`, then re-execs the new agent with the same argv, so
78
+ re-running a card's command still upgrades a machine while the rule lives in exactly one compiled, tested
79
+ place. The shims' remaining bootstrap blocks are held identical per dialect by
80
+ [src/installers.test.ts](src/installers.test.ts), which also pins that no decision creeps back into shell.
81
+
82
+ The install-and-stay-alive plumbing is
59
83
  [`@intentic/local-agent`](../local-agent)'s; the windowless Windows logon start is
60
84
  [`_computers/win-launcher`](../win-launcher)'s.
61
85
 
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AA2HjF,eAAO,MAAM,QAAQ;;;;;;;;CAcpB,CAAC"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AA4GjF,eAAO,MAAM,QAAQ;;;;;;;;CAcpB,CAAC"}
package/dist/commands.js CHANGED
@@ -1,10 +1,10 @@
1
- import { setTimeout as sleep } from "node:timers/promises";
2
1
  import { buildCommand, buildRouteMap } from "@stricli/core";
3
2
  import { computerCommands, computerUninstall } from "./computer/commands.js";
4
- import { readResidentPid, reconcileResidency, runForeground, stopResident } from "./resident.js";
3
+ import { ensureWindowsLauncher, machineUpgradeExec } from "./install.js";
4
+ import { reconcileResidency, runForeground, stopResident } from "./resident.js";
5
5
  import { status } from "./status.js";
6
6
  import { syncCommands, syncUninstall } from "./sync/commands.js";
7
- import { assetUrl, realUpgradeExec, runUpgrade, upgradeMessage } from "./upgrade.js";
7
+ import { assetUrl, runUpgrade, upgradeMessage } from "./upgrade.js";
8
8
  import { MACHINE_VERSION } from "./version.js";
9
9
  const run = buildCommand({
10
10
  docs: { brief: "Run this machine's agent: sandbox connections, file sync, port mirroring (setup starts this for you)" },
@@ -36,17 +36,6 @@ const version = buildCommand({
36
36
  return Promise.resolve();
37
37
  },
38
38
  });
39
- const RESIDENT_START_TIMEOUT_MS = 10_000;
40
- const RESIDENT_START_POLL_MS = 200;
41
- const residentCameUp = async () => {
42
- for (let waited = 0; waited < RESIDENT_START_TIMEOUT_MS; waited += RESIDENT_START_POLL_MS) {
43
- if ((await readResidentPid()) !== undefined) {
44
- return true;
45
- }
46
- await sleep(RESIDENT_START_POLL_MS);
47
- }
48
- return false;
49
- };
50
39
  const upgrade = buildCommand({
51
40
  docs: { brief: "Download and install the current agent, then restart the background loop" },
52
41
  parameters: {
@@ -59,8 +48,8 @@ const upgrade = buildCommand({
59
48
  },
60
49
  async func(flags) {
61
50
  const out = (message) => void this.process.stdout.write(`${message}\n`);
62
- const exec = realUpgradeExec(stopResident, async () => await reconcileResidency(() => undefined), residentCameUp);
63
- out(upgradeMessage(await runUpgrade(exec, assetUrl(), MACHINE_VERSION, flags.force, out)));
51
+ out(upgradeMessage(await runUpgrade(machineUpgradeExec(out), assetUrl, MACHINE_VERSION, flags.force, out)));
52
+ await ensureWindowsLauncher(out);
64
53
  },
65
54
  });
66
55
  const uninstall = buildCommand({
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAuB,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACjG,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAiB/C,MAAM,GAAG,GAAG,YAAY,CAAW;IAC/B,IAAI,EAAE,EAAE,KAAK,EAAE,sGAAsG,EAAE;IACvH,UAAU,EAAE;QACR,KAAK,EAAE;YACH,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,yDAAyD,EAAE;YACjG,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,0BAA0B,EAAE;SAC/D;KACJ;IACD,KAAK,CAAC,IAAI,CAAuB,KAAe;QAC5C,MAAM,GAAG,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QACtF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,MAAM,YAAY,EAAE,CAAC;YACjC,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;YAClE,OAAO;QACX,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAGpB,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,MAAM,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IACnH,CAAC;CACJ,CAAC,CAAC;AAMH,MAAM,OAAO,GAAG,YAAY,CAAC;IACzB,IAAI,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE;IAC7C,UAAU,EAAE,EAAE;IACd,IAAI;QACA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,IAAI,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ,CAAC,CAAC;AAIH,MAAM,yBAAyB,GAAG,MAAM,CAAC;AACzC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC,MAAM,cAAc,GAAG,KAAK,IAAsB,EAAE;IAChD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,yBAAyB,EAAE,MAAM,IAAI,sBAAsB,EAAE,CAAC;QAExF,IAAI,CAAC,MAAM,eAAe,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAeF,MAAM,OAAO,GAAG,YAAY,CAAe;IACvC,IAAI,EAAE,EAAE,KAAK,EAAE,0EAA0E,EAAE;IAC3F,UAAU,EAAE;QACR,KAAK,EAAE;YACH,KAAK,EAAE;gBACH,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,6FAA6F;aACvG;SACJ;KACJ;IACD,KAAK,CAAC,IAAI,CAAuB,KAAmB;QAChD,MAAM,GAAG,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QACtF,MAAM,IAAI,GAAG,eAAe,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,kBAAkB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;QAClH,GAAG,CAAC,cAAc,CAAC,MAAM,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;CACJ,CAAC,CAAC;AAKH,MAAM,SAAS,GAAG,YAAY,CAAC;IAC3B,IAAI,EAAE,EAAE,KAAK,EAAE,+FAA+F,EAAE;IAChH,UAAU,EAAE,EAAE;IACd,KAAK,CAAC,IAAI;QACN,MAAM,GAAG,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QACtF,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC7B,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAC5D,CAAC;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,QAAQ,EAAE,aAAa,CAAC;QACpB,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,EAAE,KAAK,EAAE,sEAAsE,EAAE;KAC1F,CAAC;IACF,IAAI,EAAE,aAAa,CAAC;QAChB,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE,EAAE,KAAK,EAAE,8EAA8E,EAAE;KAClG,CAAC;IACF,GAAG;IACH,MAAM;IACN,OAAO;IACP,OAAO;IACP,SAAS;CACZ,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { Log } from "@intentic/local-agent";
2
+ import type { MachineSandbox } from "@intentic/sandbox-contract";
3
+ export declare const prepareTargets: (boxes: readonly MachineSandbox[]) => string[];
4
+ export declare const ticksToSkip: (failures: number) => number;
5
+ export declare const autoPrepareArgs: (slug: string) => string[];
6
+ export interface AutoPrepareState {
7
+ readonly failures: Map<string, number>;
8
+ readonly waits: Map<string, number>;
9
+ }
10
+ export declare const newState: () => AutoPrepareState;
11
+ export declare const runTick: (state: AutoPrepareState, boxes: readonly MachineSandbox[], prepare: (slug: string) => Promise<{
12
+ code: number;
13
+ output: string;
14
+ }>, log: Log, busy?: ReadonlySet<string>) => Promise<void>;
15
+ export declare const startAutoPrepare: (log: Log) => {
16
+ stop: () => void;
17
+ };
18
+ //# sourceMappingURL=auto-prepare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-prepare.d.ts","sourceRoot":"","sources":["../../src/computer/auto-prepare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AA2CjE,eAAO,MAAM,cAAc,UAAW,SAAS,cAAc,EAAE,KAAG,MAAM,EACwB,CAAC;AAGjG,eAAO,MAAM,WAAW,aAAc,MAAM,KAAG,MAA6E,CAAC;AAI7H,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,MAAM,EAA4C,CAAC;AAIlG,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,eAAO,MAAM,QAAQ,QAAO,gBAA+D,CAAC;AAuC5F,eAAO,MAAM,OAAO,UACT,gBAAgB,SAChB,SAAS,cAAc,EAAE,WACvB,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,OAC/D,GAAG,SACF,WAAW,CAAC,MAAM,CAAC,KAC1B,OAAO,CAAC,IAAI,CAuBd,CAAC;AAMF,eAAO,MAAM,gBAAgB,QAAS,GAAG,KAAG;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CA4B7D,CAAC"}
@@ -0,0 +1,83 @@
1
+ import { readPrepareUpdates } from "./config.js";
2
+ import { fleet, icInFlight, runIc } from "./tools/sandboxes.js";
3
+ const FIRST_TICK_MS = 5 * 60_000;
4
+ const TICK_MS = 6 * 60 * 60_000;
5
+ const JITTER_MS = 30 * 60_000;
6
+ const MAX_SKIP_TICKS = 8;
7
+ export const prepareTargets = (boxes) => boxes.filter((box) => box.running && !box.slug.startsWith("runner-")).map((box) => box.slug);
8
+ export const ticksToSkip = (failures) => (failures <= 0 ? 0 : Math.min(2 ** (failures - 1), MAX_SKIP_TICKS));
9
+ export const autoPrepareArgs = (slug) => ["sandbox", "prepare", slug, "--auto"];
10
+ export const newState = () => ({ failures: new Map(), waits: new Map() });
11
+ const lastLine = (output) => output.split(/\r?\n/).findLast((line) => line.trim() !== "");
12
+ const prepareOne = async (state, slug, prepare, log) => {
13
+ icInFlight.add(slug);
14
+ let run;
15
+ try {
16
+ run = await prepare(slug);
17
+ }
18
+ catch (error) {
19
+ run = { code: 1, output: error instanceof Error ? error.message : String(error) };
20
+ }
21
+ finally {
22
+ icInFlight.delete(slug);
23
+ }
24
+ if (run.code === 0) {
25
+ state.failures.delete(slug);
26
+ state.waits.delete(slug);
27
+ log(`auto-prepare ${slug}: ${lastLine(run.output) ?? "done"}`);
28
+ return;
29
+ }
30
+ const failures = (state.failures.get(slug) ?? 0) + 1;
31
+ state.failures.set(slug, failures);
32
+ state.waits.set(slug, ticksToSkip(failures));
33
+ log(`auto-prepare ${slug}: failed (attempt ${failures}, retrying after ${ticksToSkip(failures)} tick(s)) — ${lastLine(run.output) ?? "no output"}`);
34
+ };
35
+ export const runTick = async (state, boxes, prepare, log, busy = icInFlight) => {
36
+ const targets = prepareTargets(boxes);
37
+ for (const slug of [...state.failures.keys(), ...state.waits.keys()]) {
38
+ if (!targets.includes(slug)) {
39
+ state.failures.delete(slug);
40
+ state.waits.delete(slug);
41
+ }
42
+ }
43
+ for (const slug of targets) {
44
+ if (busy.has(slug)) {
45
+ continue;
46
+ }
47
+ const wait = state.waits.get(slug) ?? 0;
48
+ if (wait > 0) {
49
+ state.waits.set(slug, wait - 1);
50
+ continue;
51
+ }
52
+ await prepareOne(state, slug, prepare, log);
53
+ }
54
+ };
55
+ export const startAutoPrepare = (log) => {
56
+ let timer;
57
+ let stopped = false;
58
+ const state = newState();
59
+ const schedule = (delay) => {
60
+ timer = setTimeout(() => void tick(), delay);
61
+ };
62
+ const tick = async () => {
63
+ try {
64
+ if (await readPrepareUpdates()) {
65
+ await runTick(state, await fleet(), async (slug) => await runIc(autoPrepareArgs(slug), () => undefined), log);
66
+ }
67
+ }
68
+ catch (error) {
69
+ log(`auto-prepare: skipped this round — ${error instanceof Error ? error.message : String(error)}`);
70
+ }
71
+ if (!stopped) {
72
+ schedule(TICK_MS + Math.floor(Math.random() * JITTER_MS));
73
+ }
74
+ };
75
+ schedule(FIRST_TICK_MS);
76
+ return {
77
+ stop: () => {
78
+ stopped = true;
79
+ clearTimeout(timer);
80
+ },
81
+ };
82
+ };
83
+ //# sourceMappingURL=auto-prepare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-prepare.js","sourceRoot":"","sources":["../../src/computer/auto-prepare.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAyBhE,MAAM,aAAa,GAAG,CAAC,GAAG,MAAM,CAAC;AAGjC,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;AAEhC,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC;AAG9B,MAAM,cAAc,GAAG,CAAC,CAAC;AAQzB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAgC,EAAY,EAAE,CACzE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAGjG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAU,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;AAI7H,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAY,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AASlG,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAqB,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;AAI5F,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAsB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAEtH,MAAM,UAAU,GAAG,KAAK,EACpB,KAAuB,EACvB,IAAY,EACZ,OAAoE,EACpE,GAAQ,EACK,EAAE;IACf,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,GAAqC,CAAC;IAC1C,IAAI,CAAC;QACD,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAGb,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACtF,CAAC;YAAS,CAAC;QACP,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACjB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,GAAG,CAAC,gBAAgB,IAAI,KAAK,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;QAC/D,OAAO;IACX,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACrD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7C,GAAG,CAAC,gBAAgB,IAAI,qBAAqB,QAAQ,oBAAoB,WAAW,CAAC,QAAQ,CAAC,eAAe,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;AACxJ,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EACxB,KAAuB,EACvB,KAAgC,EAChC,OAAoE,EACpE,GAAQ,EACR,IAAI,GAAwB,UAAU,EACzB,EAAE;IACf,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAGtC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjB,SAAS;QACb,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACX,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;YAChC,SAAS;QACb,CAAC;QAED,MAAM,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;AACL,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAQ,EAAwB,EAAE;IAC/D,IAAI,KAAiC,CAAC;IACtC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAQ,EAAE;QACrC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;QACnC,IAAI,CAAC;YACD,IAAI,MAAM,kBAAkB,EAAE,EAAE,CAAC;gBAC7B,MAAM,OAAO,CAAC,KAAK,EAAE,MAAM,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;YAClH,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGb,GAAG,CAAC,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC,CAAC;IACF,QAAQ,CAAC,aAAa,CAAC,CAAC;IACxB,OAAO;QACH,IAAI,EAAE,GAAS,EAAE;YACb,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;KACJ,CAAC;AACN,CAAC,CAAC"}
@@ -4,5 +4,6 @@ export declare const computerUninstall: (out: Log, sandbox?: string) => Promise<
4
4
  export declare const computerCommands: {
5
5
  setup: import("@stricli/core").Command<CommandContext>;
6
6
  uninstall: import("@stricli/core").Command<CommandContext>;
7
+ updates: import("@stricli/core").Command<CommandContext>;
7
8
  };
8
9
  //# sourceMappingURL=commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/computer/commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,GAAG,EAA0B,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAyJlE,eAAO,MAAM,iBAAiB,QAAe,GAAG,YAAY,MAAM,KAAG,OAAO,CAAC,IAAI,CA2BhF,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAAuB,CAAC"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/computer/commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,GAAG,EAA0B,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAgKlE,eAAO,MAAM,iBAAiB,QAAe,GAAG,YAAY,MAAM,KAAG,OAAO,CAAC,IAAI,CA2BhF,CAAC;AAyCF,eAAO,MAAM,gBAAgB;;;;CAAgC,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { rm } from "node:fs/promises";
2
2
  import { createUi } from "@intentic/local-agent";
3
3
  import { buildCommand } from "@stricli/core";
4
+ import { prepareSetup } from "../install.js";
4
5
  import { reconcileResidency } from "../resident.js";
5
- import { auditPath, configPath, readLinks, removeLinks, upsertLink } from "./config.js";
6
+ import { auditPath, configPath, readLinks, readPrepareUpdates, removeLinks, upsertLink, writePrepareUpdates } from "./config.js";
6
7
  const enroll = async (sandboxUrl, pairToken, { attempts = 10, delayMs = 3000 } = {}) => {
7
8
  const url = `${sandboxUrl.replace(/\/$/, "")}/system/hosts/enroll`;
8
9
  for (let attempt = 1;; attempt++) {
@@ -41,6 +42,7 @@ const setup = buildCommand({
41
42
  },
42
43
  },
43
44
  async func(flags) {
45
+ await prepareSetup((message) => void this.process.stdout.write(`${message}\n`), process.argv.slice(2));
44
46
  const ui = createUi(this.process);
45
47
  const out = ui.note;
46
48
  ui.begin("intentic · connect this computer", SETUP_PLAN);
@@ -109,5 +111,29 @@ export const computerUninstall = async (out, sandbox) => {
109
111
  : `Disconnected from ${dropped.map((link) => link.sandboxUrl).join(", ")}. Each sandbox still lists this computer until it is removed there, its access is already gone.`);
110
112
  out(`Your record of what this agent did stays at ${auditPath}.`);
111
113
  };
112
- export const computerCommands = { setup, uninstall };
114
+ const updates = buildCommand({
115
+ docs: { brief: "Keep each sandbox's next update downloaded in the background, so applying it is a short restart (on by default)" },
116
+ parameters: {
117
+ flags: {
118
+ on: { kind: "boolean", brief: "Download updates in the background (the default)" },
119
+ off: { kind: "boolean", brief: "Stop downloading updates in the background" },
120
+ },
121
+ },
122
+ async func(flags) {
123
+ const out = (message) => void this.process.stdout.write(`${message}\n`);
124
+ if (flags.on && flags.off) {
125
+ throw new Error("--on and --off contradict each other: pass one.");
126
+ }
127
+ if (!flags.on && !flags.off) {
128
+ out((await readPrepareUpdates())
129
+ ? "On: this machine downloads each sandbox's next update in the background, so applying one is a restart of about half a minute. Turn it off with --off."
130
+ : "Off: updates are downloaded only when you take one, which makes updating a wait of minutes. Turn background downloads back on with --on.");
131
+ return;
132
+ }
133
+ await writePrepareUpdates(flags.on);
134
+ await reconcileResidency(out);
135
+ out(flags.on ? "Background update downloads are on for this machine's sandboxes." : "Background update downloads are off. The update card in your sandbox still downloads and applies on demand.");
136
+ },
137
+ });
138
+ export const computerCommands = { setup, uninstall, updates };
113
139
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/computer/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAoC,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAuB,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAiB,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAcvG,MAAM,MAAM,GAAG,KAAK,EAChB,UAAkB,EAClB,SAAiB,EACjB,EAAE,QAAQ,GAAG,EAAE,EAAE,OAAO,GAAG,IAAI,EAAE,GAA4C,EAAE,EACrC,EAAE;IAC5C,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC;IACnE,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAChC,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACD,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC/F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;gBACtB,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0DAA0D,OAAO,IAAI,QAAQ,MAAM,CAAC,CAAC;YAC1G,MAAM,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3E,SAAS;QACb,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,2GAA2G,CAAC,CAAC;QACjI,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,GAAG,QAAQ,EAAE,CAAC;YAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,QAAQ,CAAC,MAAM,gBAAgB,OAAO,IAAI,QAAQ,MAAM,CAAC,CAAC;YAC9H,MAAM,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3E,SAAS;QACb,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,MAAM,MAAM,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtG,CAAC;QACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsC,CAAC;IACxE,CAAC;AACL,CAAC,CAAC;AAOF,MAAM,KAAK,GAAG,YAAY,CAAa;IACnC,IAAI,EAAE,EAAE,KAAK,EAAE,6EAA6E,EAAE;IAC9F,UAAU,EAAE;QACR,KAAK,EAAE;YACH,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,0DAA0D,EAAE;YACzG,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gEAAgE,EAAE;SACnH;KACJ;IACD,KAAK,CAAC,IAAI,CAAuB,KAAiB;QAK9C,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,GAAG,GAAQ,EAAE,CAAC,IAAI,CAAC;QACzB,EAAE,CAAC,KAAK,CAAC,kCAAkC,EAAE,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC;YACD,MAAM,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;gBAAS,CAAC;YACP,EAAE,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACL,CAAC;CACJ,CAAC,CAAC;AAMH,MAAM,UAAU,GAAwB;IACpC,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE;IACzE,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,EAAE;CACvE,CAAC;AAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,EAAM,EAAE,GAAQ,EAAE,KAAiB,EAAiB,EAAE;IAC1E,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,4CAA4C,CAAC,CAAC;IAC5E,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAK9D,MAAM,IAAI,GAAa;QACnB,UAAU,EAAE,KAAK,CAAC,GAAG;QACrB,EAAE;QACF,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE;KACpI,CAAC;IAOF,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IACrC,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,sCAAsC,CAAC,CAAC;IAKrE,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAG9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAChC,EAAE,CAAC,QAAQ,CACP,6BAA6B,EAC7B,EAAE,EACF,MAAM,KAAK,CAAC;QACR,CAAC,CAAC,qFAAqF;QACvF,CAAC,CAAC,0GAA0G,MAAM,iBAAiB,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAClK;QACI,CAAC,UAAU,EAAE,yBAAyB,CAAC;QACvC,CAAC,YAAY,EAAE,qCAAqC,CAAC;KACxD,CACJ,CAAC;AACN,CAAC,CAAC;AAMF,MAAM,SAAS,GAAG,YAAY,CAAiB;IAC3C,IAAI,EAAE,EAAE,KAAK,EAAE,gEAAgE,EAAE;IACjF,UAAU,EAAE;QACR,KAAK,EAAE;YAGH,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,uDAAuD,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC7H;KACJ;IACD,KAAK,CAAC,IAAI,CAAuB,KAAqB;QAClD,MAAM,GAAG,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QACtF,MAAM,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;CACJ,CAAC,CAAC;AAOH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,GAAQ,EAAE,OAAgB,EAAiB,EAAE;IACjF,MAAM,IAAI,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,SAAS,EAAE,CAAC;IAC/B,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,qCAAqC,IAAI,oBAAoB,CAAC,CAAC;QACnE,OAAO;IACX,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAIpB,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClB,GAAG,CACC,qBAAqB,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CACvJ,CAAC;QACF,OAAO;IACX,CAAC;IACD,GAAG,CACC,OAAO,CAAC,MAAM,KAAK,CAAC;QAChB,CAAC,CAAC,+CAA+C;QACjD,CAAC,CAAC,qBAAqB,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iGAAiG,CAChL,CAAC;IACF,GAAG,CAAC,+CAA+C,SAAS,GAAG,CAAC,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/computer/commands.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export interface HostLink {
9
9
  }
10
10
  export interface HostConfigFile {
11
11
  readonly links: readonly HostLink[];
12
+ readonly prepareUpdates?: boolean;
12
13
  }
13
14
  export declare const readHostConfig: () => Promise<HostConfigFile>;
14
15
  export declare const writeHostConfig: (config: HostConfigFile) => Promise<void>;
@@ -16,4 +17,6 @@ export declare const readLinks: () => Promise<readonly HostLink[]>;
16
17
  export declare const upsertLink: (link: HostLink) => Promise<readonly HostLink[]>;
17
18
  export declare const removeLinks: (sandboxUrl?: string) => Promise<readonly HostLink[]>;
18
19
  export declare const rememberScopes: (sandboxUrl: string, scopes: HostScopes) => Promise<void>;
20
+ export declare const readPrepareUpdates: () => Promise<boolean>;
21
+ export declare const writePrepareUpdates: (on: boolean) => Promise<void>;
19
22
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/computer/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAS7D,eAAO,MAAM,UAAU,QAAiC,CAAC;AACzD,eAAO,MAAM,SAAS,QAA+B,CAAC;AActD,MAAM,WAAW,QAAQ;IAErB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC/B;AAcD,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;CACvC;AAED,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,cAAc,CAAqE,CAAC;AAEpI,eAAO,MAAM,eAAe,WAAkB,cAAc,KAAG,OAAO,CAAC,IAAI,CACS,CAAC;AAIrF,eAAO,MAAM,SAAS,QAAa,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAiE,CAAC;AAMhI,eAAO,MAAM,UAAU,SAAgB,QAAQ,KAAG,OAAO,CAAC,SAAS,QAAQ,EAAE,CAK5E,CAAC;AAGF,eAAO,MAAM,WAAW,gBAAuB,MAAM,KAAG,OAAO,CAAC,SAAS,QAAQ,EAAE,CAKlF,CAAC;AAIF,eAAO,MAAM,cAAc,eAAsB,MAAM,UAAU,UAAU,KAAG,OAAO,CAAC,IAAI,CAUzF,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/computer/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAS7D,eAAO,MAAM,UAAU,QAAiC,CAAC;AACzD,eAAO,MAAM,SAAS,QAA+B,CAAC;AActD,MAAM,WAAW,QAAQ;IAErB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC/B;AAcD,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IAMpC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,cAAc,CAAqE,CAAC;AAEpI,eAAO,MAAM,eAAe,WAAkB,cAAc,KAAG,OAAO,CAAC,IAAI,CACS,CAAC;AAarF,eAAO,MAAM,SAAS,QAAa,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAiE,CAAC;AAMhI,eAAO,MAAM,UAAU,SAAgB,QAAQ,KAAG,OAAO,CAAC,SAAS,QAAQ,EAAE,CAM5E,CAAC;AAGF,eAAO,MAAM,WAAW,gBAAuB,MAAM,KAAG,OAAO,CAAC,SAAS,QAAQ,EAAE,CAKlF,CAAC;AAIF,eAAO,MAAM,cAAc,eAAsB,MAAM,UAAU,UAAU,KAAG,OAAO,CAAC,IAAI,CAQzF,CAAC;AAIF,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,OAAO,CAA8E,CAAC;AAE1I,eAAO,MAAM,mBAAmB,OAAc,OAAO,KAAG,OAAO,CAAC,IAAI,CAEnE,CAAC"}
@@ -6,26 +6,35 @@ export const configPath = join(baseDir, "computer.json");
6
6
  export const auditPath = join(baseDir, "audit.jsonl");
7
7
  export const readHostConfig = async () => JSON.parse(await readFile(configPath, "utf8"));
8
8
  export const writeHostConfig = async (config) => await writeSecretFile(configPath, baseDir, JSON.stringify(config, undefined, 2));
9
+ const updateHostConfig = async (mutate) => {
10
+ const config = (await readHostConfig().catch(() => undefined)) ?? { links: [] };
11
+ const next = mutate(config);
12
+ await writeHostConfig(next);
13
+ return next;
14
+ };
9
15
  export const readLinks = async () => (await readHostConfig().catch(() => undefined))?.links ?? [];
10
16
  export const upsertLink = async (link) => {
11
- const kept = (await readLinks()).filter((existing) => existing.sandboxUrl !== link.sandboxUrl);
12
- const links = [...kept, link];
13
- await writeHostConfig({ links });
14
- return links;
17
+ const updated = await updateHostConfig((config) => ({
18
+ ...config,
19
+ links: [...config.links.filter((existing) => existing.sandboxUrl !== link.sandboxUrl), link],
20
+ }));
21
+ return updated.links;
15
22
  };
16
23
  export const removeLinks = async (sandboxUrl) => {
17
24
  const links = await readLinks();
18
25
  const dropped = sandboxUrl === undefined ? links : links.filter((link) => link.sandboxUrl === sandboxUrl);
19
- await writeHostConfig({ links: links.filter((link) => !dropped.includes(link)) });
26
+ await updateHostConfig((config) => ({ ...config, links: config.links.filter((link) => !dropped.some((gone) => gone.sandboxUrl === link.sandboxUrl)) }));
20
27
  return dropped;
21
28
  };
22
29
  export const rememberScopes = async (sandboxUrl, scopes) => {
23
- const links = await readLinks();
24
- const at = links.findIndex((link) => link.sandboxUrl === sandboxUrl);
25
- const link = links[at];
26
- if (link === undefined) {
27
- return;
28
- }
29
- await writeHostConfig({ links: links.with(at, { ...link, scopes }) }).catch(() => undefined);
30
+ await updateHostConfig((config) => {
31
+ const at = config.links.findIndex((link) => link.sandboxUrl === sandboxUrl);
32
+ const link = config.links[at];
33
+ return link === undefined ? config : { ...config, links: config.links.with(at, { ...link, scopes }) };
34
+ }).catch(() => undefined);
35
+ };
36
+ export const readPrepareUpdates = async () => (await readHostConfig().catch(() => undefined))?.prepareUpdates !== false;
37
+ export const writePrepareUpdates = async (on) => {
38
+ await updateHostConfig((config) => ({ ...config, prepareUpdates: on }));
30
39
  };
31
40
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/computer/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAQvC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAuCtD,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAA6B,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAmB,CAAC;AAEpI,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,MAAsB,EAAiB,EAAE,CAC3E,MAAM,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;AAIrF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,IAAkC,EAAE,CAAC,CAAC,MAAM,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;AAMhI,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,IAAc,EAAgC,EAAE;IAC7E,MAAM,IAAI,GAAG,CAAC,MAAM,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/F,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,MAAM,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,UAAmB,EAAgC,EAAE;IACnF,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IAC1G,MAAM,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAClF,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,UAAkB,EAAE,MAAkB,EAAiB,EAAE;IAC1F,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IAGrE,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IACvB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO;IACX,CAAC;IACD,MAAM,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AACjG,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/computer/config.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ export interface DockerRow {
7
7
  }
8
8
  export declare const rowsFrom: (stdout: string) => DockerRow[];
9
9
  export declare const sandboxesFrom: (rows: readonly DockerRow[]) => MachineSandbox[];
10
+ export declare const fleet: () => Promise<MachineSandbox[]>;
11
+ export declare const icInFlight: Set<string>;
10
12
  export declare const listSandboxes: (scopes: HostScopes) => Promise<string>;
11
13
  export declare const SandboxOpSchema: z.ZodEnum<{
12
14
  restart: "restart";
@@ -36,6 +38,10 @@ export declare const runnerFlow: (op: "runner-up" | "runner-remove", name: strin
36
38
  overlay?: string;
37
39
  overlayHash?: string;
38
40
  }, scopes: HostScopes, onLine: (line: string) => void) => Promise<string>;
41
+ export declare const runIc: (args: readonly string[], onLine: (line: string) => void) => Promise<{
42
+ code: number;
43
+ output: string;
44
+ }>;
39
45
  export declare const swapSandbox: (swap: SandboxSwap, slug: string, hash: string | undefined, scopes: HostScopes, onLine: (line: string) => void) => Promise<string>;
40
46
  export declare const removeSandbox: (slug: string, scopes: HostScopes, onLine: (line: string) => void) => Promise<string>;
41
47
  export declare const DEFAULT_LOG_LINES = 200;
@@ -1 +1 @@
1
- {"version":3,"file":"sandboxes.d.ts","sourceRoot":"","sources":["../../../src/computer/tools/sandboxes.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6BxB,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAID,eAAO,MAAM,QAAQ,WAAY,MAAM,KAAG,SAAS,EAYzC,CAAC;AAKX,eAAO,MAAM,aAAa,SAAU,SAAS,SAAS,EAAE,KAAG,cAAc,EAkBxE,CAAC;AAqBF,eAAO,MAAM,aAAa,WAAkB,UAAU,KAAG,OAAO,CAAC,MAAM,CAKtE,CAAC;AAIF,eAAO,MAAM,eAAe;;;;EAAuC,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAexD,eAAO,MAAM,aAAa,OAAc,SAAS,QAAQ,MAAM,UAAU,UAAU,KAAG,OAAO,CAAC,MAAM,CASnG,CAAC;AAWF,eAAO,MAAM,iBAAiB;;;;;EAAuD,CAAC;AACtF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAU5D,eAAO,MAAM,YAAY,aAAc,MAAM,CAAC,QAAQ,QAAQ,MAAM,GAAG,SAAS,KAAG,MAAM,EAKxF,CAAC;AAOF,eAAO,MAAM,UAAU,SAAU,WAAW,QAAQ,MAAM,QAAQ,MAAM,GAAG,SAAS,KAAG,MAAM,EAQ5F,CAAC;AAIF,eAAO,MAAM,YAAY,SAAU,MAAM,KAAG,MAAM,EAAuC,CAAC;AAM1F,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACrC;AAMD,eAAO,MAAM,YAAY,OAAQ,WAAW,GAAG,eAAe,QAAQ,MAAM,aAAa,MAAM,GAAG,SAAS,QAAQ,MAAM,GAAG,SAAS,UAAS,gBAAgB,KAAQ,MAAM,EAuB3K,CAAC;AAQF,eAAO,MAAM,UAAU,OACf,WAAW,GAAG,eAAe,QAC3B,MAAM,aACD,MAAM,GAAG,SAAS,QACvB,MAAM,GAAG,SAAS,SACjB;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,UAC9D,UAAU,UACV,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAC/B,OAAO,CAAC,MAAM,CAoChB,CAAC;AA+CF,eAAO,MAAM,WAAW,SACd,WAAW,QACX,MAAM,QACN,MAAM,GAAG,SAAS,UAChB,UAAU,UACV,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAC/B,OAAO,CAAC,MAAM,CAiBhB,CAAC;AAEF,eAAO,MAAM,aAAa,SAAgB,MAAM,UAAU,UAAU,UAAU,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAAG,OAAO,CAAC,MAAM,CAQpH,CAAC;AASF,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,aAAa,OAAQ,CAAC;AAuBnC,eAAO,MAAM,WAAW,SAAgB,MAAM,SAAS,MAAM,GAAG,SAAS,UAAU,UAAU,KAAG,OAAO,CAAC,MAAM,CAG7G,CAAC;AASF,eAAO,MAAM,eAAe,SAAgB,MAAM,UAAU,UAAU,UAAU,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAAG,OAAO,CAAC,MAAM,CAMtH,CAAC"}
1
+ {"version":3,"file":"sandboxes.d.ts","sourceRoot":"","sources":["../../../src/computer/tools/sandboxes.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,8 @@ const docker = async (args) => {
48
48
  });
49
49
  return stdout;
50
50
  };
51
- const fleet = async () => sandboxesFrom(rowsFrom(await docker(["ps", "-a", "--filter", `name=^${PREFIX}`, "--format", "{{json .}}"])));
51
+ export const fleet = async () => sandboxesFrom(rowsFrom(await docker(["ps", "-a", "--filter", `name=^${PREFIX}`, "--format", "{{json .}}"])));
52
+ export const icInFlight = new Set();
52
53
  export const listSandboxes = async (scopes) => {
53
54
  if (scopes.shell !== "on") {
54
55
  assertScope(scopes, "sandboxes");
@@ -144,7 +145,7 @@ export const runnerFlow = async (op, name, parentUrl, pair, shape, scopes, onLin
144
145
  }
145
146
  }
146
147
  };
147
- const runIc = async (args, onLine) => {
148
+ export const runIc = async (args, onLine) => {
148
149
  const candidates = icCandidates(process.platform, homedir());
149
150
  const lines = [];
150
151
  const emit = (chunk) => {
@@ -183,7 +184,15 @@ export const swapSandbox = async (swap, slug, hash, scopes, onLine) => {
183
184
  assertScope(scopes, "sandboxes");
184
185
  const args = icSwapArgs(swap, slug, hash);
185
186
  await find(slug);
186
- const { code, output } = await runIc(args, onLine);
187
+ icInFlight.add(slug);
188
+ let run;
189
+ try {
190
+ run = await runIc(args, onLine);
191
+ }
192
+ finally {
193
+ icInFlight.delete(slug);
194
+ }
195
+ const { code, output } = run;
187
196
  if (code !== 0) {
188
197
  throw new Error(`That ${swap} failed on this computer.\n\n${output}`);
189
198
  }
@@ -196,9 +205,16 @@ export const swapSandbox = async (swap, slug, hash, scopes, onLine) => {
196
205
  export const removeSandbox = async (slug, scopes, onLine) => {
197
206
  assertScope(scopes, "sandboxRemove");
198
207
  await find(slug);
199
- const { code, output } = await runIc(icRemoveArgs(slug), onLine);
200
- if (code !== 0) {
201
- throw new Error(`That removal failed on this computer.\n\n${output}`);
208
+ icInFlight.add(slug);
209
+ let run;
210
+ try {
211
+ run = await runIc(icRemoveArgs(slug), onLine);
212
+ }
213
+ finally {
214
+ icInFlight.delete(slug);
215
+ }
216
+ if (run.code !== 0) {
217
+ throw new Error(`That removal failed on this computer.\n\n${run.output}`);
202
218
  }
203
219
  return `Removed sandbox "${slug}" and everything in it.`;
204
220
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sandboxes.js","sourceRoot":"","sources":["../../../src/computer/tools/sandboxes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandboxes.js","sourceRoot":"","sources":["../../../src/computer/tools/sandboxes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type Log } from "@intentic/local-agent";
2
+ import { type UpgradeExec, type UpgradeOutcome } from "./upgrade.js";
3
+ export declare const SELF_UPDATE_GUARD_ENV = "INTENTIC_MACHINE_NO_SELF_UPDATE";
4
+ export declare const residentCameUp: () => Promise<boolean>;
5
+ export declare const machineUpgradeExec: (out: Log) => UpgradeExec;
6
+ export interface SelfUpdateIo {
7
+ readonly installed: string;
8
+ readonly installedAgent: () => Promise<boolean>;
9
+ readonly upgrade: () => Promise<UpgradeOutcome>;
10
+ readonly reexec: (args: readonly string[]) => never;
11
+ }
12
+ export declare const selfUpdateBeforeSetup: (io: SelfUpdateIo, env: Record<string, string | undefined>, args: readonly string[], out: Log) => Promise<void>;
13
+ export declare const realSelfUpdateIo: (out: Log) => SelfUpdateIo;
14
+ export declare const addToWindowsPathValue: (stored: string, folder: string) => string | undefined;
15
+ export declare const ensureWindowsLauncher: (out: Log) => Promise<void>;
16
+ export declare const prepareSetup: (out: Log, args: readonly string[]) => Promise<void>;
17
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,GAAG,EAAuB,MAAM,uBAAuB,CAAC;AAKtE,OAAO,EAAoD,KAAK,WAAW,EAAE,KAAK,cAAc,EAAkB,MAAM,cAAc,CAAC;AAkBvI,eAAO,MAAM,qBAAqB,oCAAoC,CAAC;AAOvE,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,OAAO,CAUtD,CAAC;AAIF,eAAO,MAAM,kBAAkB,QAAS,GAAG,KAAG,WAAwH,CAAC;AAYvK,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,KAAK,CAAC;CACvD;AAQD,eAAO,MAAM,qBAAqB,OAAc,YAAY,OAAO,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,QAAQ,SAAS,MAAM,EAAE,OAAO,GAAG,KAAG,OAAO,CAAC,IAAI,CAmBtJ,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAS,GAAG,KAAG,YAY1C,CAAC;AA0BH,eAAO,MAAM,qBAAqB,WAAY,MAAM,UAAU,MAAM,KAAG,MAAM,GAAG,SAM/E,CAAC;AAwDF,eAAO,MAAM,qBAAqB,QAAe,GAAG,KAAG,OAAO,CAAC,IAAI,CAmBlE,CAAC;AAKF,eAAO,MAAM,YAAY,QAAe,GAAG,QAAQ,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAWlF,CAAC"}