@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.
- package/README.md +27 -3
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +5 -16
- package/dist/commands.js.map +1 -1
- package/dist/computer/auto-prepare.d.ts +18 -0
- package/dist/computer/auto-prepare.d.ts.map +1 -0
- package/dist/computer/auto-prepare.js +83 -0
- package/dist/computer/auto-prepare.js.map +1 -0
- package/dist/computer/commands.d.ts +1 -0
- package/dist/computer/commands.d.ts.map +1 -1
- package/dist/computer/commands.js +28 -2
- package/dist/computer/commands.js.map +1 -1
- package/dist/computer/config.d.ts +3 -0
- package/dist/computer/config.d.ts.map +1 -1
- package/dist/computer/config.js +21 -12
- package/dist/computer/config.js.map +1 -1
- package/dist/computer/tools/sandboxes.d.ts +6 -0
- package/dist/computer/tools/sandboxes.d.ts.map +1 -1
- package/dist/computer/tools/sandboxes.js +22 -6
- package/dist/computer/tools/sandboxes.js.map +1 -1
- package/dist/install.d.ts +17 -0
- package/dist/install.d.ts.map +1 -0
- package/dist/install.js +152 -0
- package/dist/install.js.map +1 -0
- package/dist/resident.d.ts.map +1 -1
- package/dist/resident.js +5 -0
- package/dist/resident.js.map +1 -1
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +12 -9
- package/dist/status.js.map +1 -1
- package/dist/sync/commands.d.ts +1 -0
- package/dist/sync/commands.d.ts.map +1 -1
- package/dist/sync/commands.js +41 -4
- package/dist/sync/commands.js.map +1 -1
- package/dist/sync/config.d.ts +2 -0
- package/dist/sync/config.d.ts.map +1 -1
- package/dist/sync/config.js +3 -0
- package/dist/sync/config.js.map +1 -1
- package/dist/sync/mirror.d.ts.map +1 -1
- package/dist/sync/mirror.js +9 -7
- package/dist/sync/mirror.js.map +1 -1
- package/dist/sync/mutagen.d.ts +5 -1
- package/dist/sync/mutagen.d.ts.map +1 -1
- package/dist/sync/mutagen.js +55 -8
- package/dist/sync/mutagen.js.map +1 -1
- package/dist/sync/report.d.ts.map +1 -1
- package/dist/sync/report.js +3 -1
- package/dist/sync/report.js.map +1 -1
- package/dist/sync/ssh.d.ts +0 -1
- package/dist/sync/ssh.d.ts.map +1 -1
- package/dist/sync/ssh.js +1 -13
- package/dist/sync/ssh.js.map +1 -1
- package/dist/upgrade.d.ts +5 -3
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +92 -31
- package/dist/upgrade.js.map +1 -1
- 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
|
-
|
|
58
|
-
|
|
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
|
|
package/dist/commands.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"
|
|
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 {
|
|
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,
|
|
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
|
-
|
|
63
|
-
|
|
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({
|
package/dist/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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":"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"}
|
|
@@ -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;
|
|
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
|
-
|
|
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;
|
|
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;
|
|
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"}
|
package/dist/computer/config.js
CHANGED
|
@@ -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
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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;
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
200
|
-
|
|
201
|
-
|
|
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"}
|