@intentic/machine 1.242.0 → 1.243.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 +21 -1
- package/dist/install.d.ts +0 -1
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +9 -4
- package/dist/install.js.map +1 -1
- package/dist/installed.d.ts +7 -0
- package/dist/installed.d.ts.map +1 -0
- package/dist/installed.js +44 -0
- package/dist/installed.js.map +1 -0
- package/dist/resident.d.ts +1 -0
- package/dist/resident.d.ts.map +1 -1
- package/dist/resident.js +4 -3
- package/dist/resident.js.map +1 -1
- package/dist/status.d.ts +1 -0
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +15 -1
- package/dist/status.js.map +1 -1
- package/dist/sync/report.d.ts +1 -1
- package/dist/sync/report.d.ts.map +1 -1
- package/dist/sync/report.js +7 -7
- package/dist/sync/report.js.map +1 -1
- package/dist/upgrade.d.ts +11 -4
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +31 -7
- package/dist/upgrade.js.map +1 -1
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -73,12 +73,32 @@ halves in one process ([src/resident.ts](src/resident.ts)):
|
|
|
73
73
|
- The process exits — and takes the login entry with it — only when **both** halves have nothing to serve.
|
|
74
74
|
- On a signal it exits `128+signal`, never 0: a supervisor must restart what it did not stop, and the incident
|
|
75
75
|
that bought that rule is written out in [src/sync/mirror.ts](src/sync/mirror.ts).
|
|
76
|
+
- It stamps **the build it is running** into its pidfile (`pid boot build`). Nothing else knows it: replacing the
|
|
77
|
+
binary does not touch the process, so a machine can hold a current agent and keep serving a months-old one.
|
|
78
|
+
|
|
79
|
+
### Installed vs running
|
|
80
|
+
|
|
81
|
+
Two facts, and every surface now carries both. `agents.sync` in the machine report is the **file** at
|
|
82
|
+
`bin/intentic-machine` ([src/installed.ts](src/installed.ts)); `watcher.build` is the **loop** running from it.
|
|
83
|
+
They drift whenever a binary lands without a restart — a card's one-liner re-run, a copy dropped in, an upgrade
|
|
84
|
+
in one environment while the loop runs in another — and the gap used to be invisible: whichever process built the
|
|
85
|
+
report stamped its own version into the one field, so the same machine answered its running build to the sandbox
|
|
86
|
+
its loop posts to and its installed build to one reading over a `host` capability.
|
|
87
|
+
|
|
88
|
+
- `intentic-machine status` says which is which, and the summary the tray reads leads with `OLD BUILD RUNNING`.
|
|
89
|
+
- The Computers row says it beside the pid, with the two commands that close it.
|
|
90
|
+
- `intentic-machine upgrade` restarts a loop that is behind the installed binary even when there is nothing to
|
|
91
|
+
download, and after a swap it verifies that the loop which came up **is** the new build rather than that some
|
|
92
|
+
process is alive — the check the old agent passed just as well as the new one.
|
|
93
|
+
- A loop already on the installed build is never bounced, and a loop that is stopped is never started: `run
|
|
94
|
+
--stop` is a thing people do on purpose.
|
|
76
95
|
|
|
77
96
|
## Key files
|
|
78
97
|
|
|
79
98
|
- [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`.
|
|
80
99
|
- [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.
|
|
81
|
-
- [src/upgrade.ts](src/upgrade.ts) — `upgrade`: what is published, then download → probe → stop → swap → start, with a rollback behind every step.
|
|
100
|
+
- [src/upgrade.ts](src/upgrade.ts) — `upgrade`: what is published, then download → probe → stop → swap → start, with a rollback behind every step, and a restart when the file is current but the loop is not.
|
|
101
|
+
- [src/installed.ts](src/installed.ts) — which build the *file* at `bin/intentic-machine` is, as opposed to the one running: free while the two agree, one probe per swap after they stop.
|
|
82
102
|
- [src/daemon-base.ts](src/daemon-base.ts) — where a sandbox's daemon is dialled, for both halves: loopback first when `/health` proves it is ours, the public URL as the floor.
|
|
83
103
|
- [src/resident.ts](src/resident.ts) — the one loop, its pidfile, and `reconcileResidency`.
|
|
84
104
|
- [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.
|
package/dist/install.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { type Log } from "@intentic/local-agent";
|
|
2
2
|
import { type UpgradeExec, type UpgradeOutcome } from "./upgrade.js";
|
|
3
3
|
export declare const SELF_UPDATE_GUARD_ENV = "INTENTIC_MACHINE_NO_SELF_UPDATE";
|
|
4
|
-
export declare const residentCameUp: () => Promise<boolean>;
|
|
5
4
|
export declare const machineUpgradeExec: (out: Log) => UpgradeExec;
|
|
6
5
|
export interface SelfUpdateIo {
|
|
7
6
|
readonly installed: string;
|
package/dist/install.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,GAAG,EAAuB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,GAAG,EAAuB,MAAM,uBAAuB,CAAC;AAMtE,OAAO,EAAyC,KAAK,WAAW,EAAE,KAAK,cAAc,EAAkB,MAAM,cAAc,CAAC;AAkB5H,eAAO,MAAM,qBAAqB,oCAAoC,CAAC;AAsBvE,eAAO,MAAM,kBAAkB,QAAS,GAAG,KAAG,WAAqF,CAAC;AAYpI,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,OAC1B,YAAY,OACX,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,QACjC,SAAS,MAAM,EAAE,OAClB,GAAG,KACT,OAAO,CAAC,IAAI,CAmBd,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"}
|
package/dist/install.js
CHANGED
|
@@ -6,16 +6,21 @@ import { pollUntil } from "@intentic/base/async";
|
|
|
6
6
|
import { errorMessage } from "@intentic/base/errors";
|
|
7
7
|
import { WINDOWS_LAUNCH_STUB } from "@intentic/local-agent";
|
|
8
8
|
import { DEV_VERSION } from "@intentic/sandbox-contract";
|
|
9
|
-
import {
|
|
9
|
+
import { agentPath } from "./installed.js";
|
|
10
|
+
import { readResidentBuild, readResidentPid, reconcileResidency, stopResident } from "./resident.js";
|
|
10
11
|
import { binDir } from "./sync/config.js";
|
|
11
12
|
import { archToken, download } from "./sync/mutagen.js";
|
|
12
|
-
import {
|
|
13
|
+
import { assetUrl, realUpgradeExec, runUpgrade, upgradeMessage } from "./upgrade.js";
|
|
13
14
|
import { MACHINE_VERSION } from "./version.js";
|
|
14
15
|
export const SELF_UPDATE_GUARD_ENV = "INTENTIC_MACHINE_NO_SELF_UPDATE";
|
|
15
16
|
const RESIDENT_START_TIMEOUT_MS = 10_000;
|
|
16
17
|
const RESIDENT_START_POLL_MS = 200;
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
const restartResident = async () => {
|
|
19
|
+
await reconcileResidency(() => undefined);
|
|
20
|
+
await pollUntil(async () => (await readResidentPid()) !== undefined, { intervalMs: RESIDENT_START_POLL_MS, timeoutMs: RESIDENT_START_TIMEOUT_MS });
|
|
21
|
+
return await readResidentBuild();
|
|
22
|
+
};
|
|
23
|
+
export const machineUpgradeExec = (out) => realUpgradeExec(stopResident, restartResident, readResidentBuild, out);
|
|
19
24
|
const runningAsInstalledAgent = async () => {
|
|
20
25
|
const from = await realpath(process.execPath).catch(() => undefined);
|
|
21
26
|
const at = await realpath(agentPath).catch(() => undefined);
|
package/dist/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAY,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const agentPath: string;
|
|
2
|
+
export declare const buildOf: (at: string | undefined, started: {
|
|
3
|
+
readonly at: string | undefined;
|
|
4
|
+
readonly ours: boolean;
|
|
5
|
+
}, own: string, ask: (at: string) => string | undefined) => string | undefined;
|
|
6
|
+
export declare const installedBuild: () => string | undefined;
|
|
7
|
+
//# sourceMappingURL=installed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installed.d.ts","sourceRoot":"","sources":["../src/installed.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,SAAS,QAAyC,CAAC;AAqDhE,eAAO,MAAM,OAAO,OACZ,MAAM,GAAG,SAAS,WACb;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,OAC/D,MAAM,OACN,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,KACxC,MAAM,GAAG,SAKX,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,MAAM,GAAG,SAAwG,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
import { realpathSync, statSync } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { binDir } from "./sync/config.js";
|
|
5
|
+
import { exe } from "./sync/mutagen.js";
|
|
6
|
+
import { MACHINE_VERSION } from "./version.js";
|
|
7
|
+
export const agentPath = join(binDir, `intentic-machine${exe}`);
|
|
8
|
+
const PROBE_TIMEOUT_MS = 30_000;
|
|
9
|
+
const identity = () => {
|
|
10
|
+
try {
|
|
11
|
+
const info = statSync(agentPath);
|
|
12
|
+
return `${info.size}:${Math.round(info.mtimeMs)}`;
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
const STARTED_FROM = identity();
|
|
19
|
+
const IS_INSTALLED_AGENT = (() => {
|
|
20
|
+
try {
|
|
21
|
+
return realpathSync(process.execPath) === realpathSync(agentPath);
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
})();
|
|
27
|
+
let probed;
|
|
28
|
+
const probe = (of) => {
|
|
29
|
+
if (probed?.of === of) {
|
|
30
|
+
return probed.version;
|
|
31
|
+
}
|
|
32
|
+
const result = spawnSync(agentPath, ["version"], { encoding: "utf8", timeout: PROBE_TIMEOUT_MS, windowsHide: true });
|
|
33
|
+
const version = result.status === 0 ? /^\d+\.\d+\.\d+$/.exec(result.stdout.trim())?.[0] : undefined;
|
|
34
|
+
probed = { of, version };
|
|
35
|
+
return version;
|
|
36
|
+
};
|
|
37
|
+
export const buildOf = (at, started, own, ask) => {
|
|
38
|
+
if (at === undefined) {
|
|
39
|
+
return own;
|
|
40
|
+
}
|
|
41
|
+
return started.ours && at === started.at ? own : ask(at);
|
|
42
|
+
};
|
|
43
|
+
export const installedBuild = () => buildOf(identity(), { at: STARTED_FROM, ours: IS_INSTALLED_AGENT }, MACHINE_VERSION, probe);
|
|
44
|
+
//# sourceMappingURL=installed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"installed.js","sourceRoot":"","sources":["../src/installed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAsB/C,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,mBAAmB,GAAG,EAAE,CAAC,CAAC;AAIhE,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAIhC,MAAM,QAAQ,GAAG,GAAuB,EAAE;IACtC,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC,CAAC;AAKF,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC;AAChC,MAAM,kBAAkB,GAAG,CAAC,GAAY,EAAE;IACtC,IAAI,CAAC;QACD,OAAO,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,YAAY,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC,CAAC,EAAE,CAAC;AAIL,IAAI,MAAiF,CAAC;AAEtF,MAAM,KAAK,GAAG,CAAC,EAAU,EAAsB,EAAE;IAC7C,IAAI,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,OAAO,CAAC;IAC1B,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAIrH,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpG,MAAM,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACzB,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,OAAO,GAAG,CACnB,EAAsB,EACtB,OAAoE,EACpE,GAAW,EACX,GAAuC,EACrB,EAAE;IACpB,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACnB,OAAO,GAAG,CAAC;IACf,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,IAAI,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAuB,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC"}
|
package/dist/resident.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type CliLauncher, type Log } from "@intentic/local-agent";
|
|
2
2
|
export declare const machineLauncher: () => CliLauncher;
|
|
3
3
|
export declare const readResidentPid: () => Promise<number | undefined>;
|
|
4
|
+
export declare const readResidentBuild: () => Promise<string | undefined>;
|
|
4
5
|
export declare const startResident: (log: Log) => Promise<void>;
|
|
5
6
|
export declare const stopResident: () => Promise<number | undefined>;
|
|
6
7
|
export declare const reconcileResidency: (log: Log) => Promise<void>;
|
package/dist/resident.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resident.d.ts","sourceRoot":"","sources":["../src/resident.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,WAAW,EAIhB,KAAK,GAAG,EAMX,MAAM,uBAAuB,CAAC;AAiC/B,eAAO,MAAM,eAAe,QAAO,WAA8C,CAAC;AAGlF,eAAO,MAAM,eAAe,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"resident.d.ts","sourceRoot":"","sources":["../src/resident.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,WAAW,EAIhB,KAAK,GAAG,EAMX,MAAM,uBAAuB,CAAC;AAiC/B,eAAO,MAAM,eAAe,QAAO,WAA8C,CAAC;AAGlF,eAAO,MAAM,eAAe,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAA2C,CAAC;AAa/G,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAA4C,CAAC;AAUlH,eAAO,MAAM,aAAa,QAAe,GAAG,KAAG,OAAO,CAAC,IAAI,CAQ1D,CAAC;AAMF,eAAO,MAAM,YAAY,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAiB/D,CAAC;AAiBF,eAAO,MAAM,kBAAkB,QAAe,GAAG,KAAG,OAAO,CAAC,IAAI,CAY/D,CAAC;AAsBF,eAAO,MAAM,aAAa,QAAe,GAAG,KAAG,OAAO,CAAC,IAAI,CA2D1D,CAAC"}
|
package/dist/resident.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { rm } from "node:fs/promises";
|
|
2
2
|
import { setTimeout as sleep } from "node:timers/promises";
|
|
3
|
-
import { cliLauncher, isProcessAlive,
|
|
3
|
+
import { cliLauncher, isProcessAlive, livePidRecord, pidFileBody, registerAutostart, spawnDetached, unregisterAutostart, writeSecretFile, } from "@intentic/local-agent";
|
|
4
4
|
import { MACHINE_AUTOSTART } from "./autostart.js";
|
|
5
5
|
import { startAutoPrepare } from "./computer/auto-prepare.js";
|
|
6
6
|
import { readLinks } from "./computer/config.js";
|
|
@@ -10,7 +10,8 @@ import { mirrorHeartbeatPath, readState } from "./sync/config.js";
|
|
|
10
10
|
import { runMirrorWatch, signalExitCode } from "./sync/mirror.js";
|
|
11
11
|
import { MACHINE_VERSION } from "./version.js";
|
|
12
12
|
export const machineLauncher = () => cliLauncher("intentic-machine");
|
|
13
|
-
export const readResidentPid = async () => await
|
|
13
|
+
export const readResidentPid = async () => (await livePidRecord(runPidPath))?.pid;
|
|
14
|
+
export const readResidentBuild = async () => (await livePidRecord(runPidPath))?.note;
|
|
14
15
|
const RESIDENT_EXIT_TIMEOUT_MS = 2000;
|
|
15
16
|
const RESIDENT_EXIT_POLL_MS = 50;
|
|
16
17
|
export const startResident = async (log) => {
|
|
@@ -59,7 +60,7 @@ export const runForeground = async (log) => {
|
|
|
59
60
|
log(`a machine agent is already running (pid ${holder}): leaving it alone. Stop it with \`intentic-machine run --stop\` first.`);
|
|
60
61
|
return;
|
|
61
62
|
}
|
|
62
|
-
await writeSecretFile(runPidPath, baseDir, await pidFileBody());
|
|
63
|
+
await writeSecretFile(runPidPath, baseDir, await pidFileBody(process.pid, MACHINE_VERSION));
|
|
63
64
|
const [links, state] = await Promise.all([readLinks(), readState()]);
|
|
64
65
|
if (links.length === 0 && state.pairings.length === 0) {
|
|
65
66
|
log("nothing to serve: no sandbox is linked to this computer and none is paired for sync. Connect one from a card in your sandbox.");
|
package/dist/resident.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resident.js","sourceRoot":"","sources":["../src/resident.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAEH,WAAW,EACX,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"resident.js","sourceRoot":"","sources":["../src/resident.ts"],"names":[],"mappings":"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"}
|
package/dist/status.d.ts
CHANGED
|
@@ -17,5 +17,6 @@ export declare const statusSummary: (running: number | undefined, links: number,
|
|
|
17
17
|
export declare const machineStatus: (mutagen: string | undefined) => Promise<MachineStatus>;
|
|
18
18
|
export declare const pairingLine: (pairing: MachineReport["pairings"][number]) => string;
|
|
19
19
|
export declare const watcherLine: (watcher: MachineReport["watcher"], now: number) => string;
|
|
20
|
+
export declare const buildSkewLine: (report: MachineReport) => string | undefined;
|
|
20
21
|
export declare const status: import("@stricli/core").Command<CommandContext>;
|
|
21
22
|
//# sourceMappingURL=status.d.ts.map
|
package/dist/status.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAe,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAoBlE,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAK1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,SAAS;YAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC;IACpI,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAChC;AAMD,eAAO,MAAM,aAAa,YAAa,MAAM,GAAG,SAAS,SAAS,MAAM,QAAQ,aAAa,OAAO,MAAM,KAAG,
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAe,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAoBlE,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAK1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,SAAS;YAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC;IACpI,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAChC;AAMD,eAAO,MAAM,aAAa,YAAa,MAAM,GAAG,SAAS,SAAS,MAAM,QAAQ,aAAa,OAAO,MAAM,KAAG,MAwB5G,CAAC;AAEF,eAAO,MAAM,aAAa,YAAmB,MAAM,GAAG,SAAS,KAAG,OAAO,CAAC,aAAa,CAStF,CAAC;AAyCF,eAAO,MAAM,WAAW,YAAa,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAG,MAUxE,CAAC;AAUF,eAAO,MAAM,WAAW,YAAa,aAAa,CAAC,SAAS,CAAC,OAAO,MAAM,KAAG,MAc5E,CAAC;AAQF,eAAO,MAAM,aAAa,WAAY,aAAa,KAAG,MAAM,GAAG,SAK9D,CAAC;AAqCF,eAAO,MAAM,MAAM,iDA+DjB,CAAC"}
|
package/dist/status.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { buildCommand } from "@stricli/core";
|
|
2
|
-
import { watcherStalled } from "@intentic/sandbox-contract";
|
|
2
|
+
import { watcherBuildSkew, watcherStalled } from "@intentic/sandbox-contract";
|
|
3
3
|
import { auditPath, readLinks } from "./computer/config.js";
|
|
4
4
|
import { runLogPath } from "./config.js";
|
|
5
5
|
import { readResidentPid } from "./resident.js";
|
|
@@ -21,6 +21,10 @@ export const statusSummary = (running, links, sync, now) => {
|
|
|
21
21
|
if (sync.pairings.length > 0 && watcherStalled(sync.watcher, now)) {
|
|
22
22
|
return `STALLED · ${halves.join(" · ")}`;
|
|
23
23
|
}
|
|
24
|
+
const skew = watcherBuildSkew(sync);
|
|
25
|
+
if (skew !== undefined) {
|
|
26
|
+
return `OLD BUILD RUNNING (${skew.running}, ${skew.installed} installed) · ${halves.join(" · ")}`;
|
|
27
|
+
}
|
|
24
28
|
return halves.join(" · ");
|
|
25
29
|
};
|
|
26
30
|
export const machineStatus = async (mutagen) => {
|
|
@@ -66,12 +70,22 @@ export const watcherLine = (watcher, now) => {
|
|
|
66
70
|
? `Agent: running (pid ${watcher.pid}), no completed sync pass reported yet (a pass finishes within seconds of startup; an agent older than this one never reports them).`
|
|
67
71
|
: `Agent: running (pid ${watcher.pid}), last sync pass ${Math.round(since / 1000)}s ago`;
|
|
68
72
|
};
|
|
73
|
+
export const buildSkewLine = (report) => {
|
|
74
|
+
const skew = watcherBuildSkew(report);
|
|
75
|
+
return skew === undefined
|
|
76
|
+
? undefined
|
|
77
|
+
: `Agent: running ${skew.running}, but ${skew.installed} is installed on this machine — the loop keeps the build it started with. Restart it with \`intentic-machine run --stop\` then \`intentic-machine run\`.`;
|
|
78
|
+
};
|
|
69
79
|
const printReport = (report, out) => {
|
|
70
80
|
out(`Paired sandboxes (${report.pairings.length}):`);
|
|
71
81
|
for (const pairing of report.pairings) {
|
|
72
82
|
out(pairingLine(pairing));
|
|
73
83
|
}
|
|
74
84
|
out(watcherLine(report.watcher, Date.now()));
|
|
85
|
+
const skew = buildSkewLine(report);
|
|
86
|
+
if (skew !== undefined) {
|
|
87
|
+
out(skew);
|
|
88
|
+
}
|
|
75
89
|
out(`Ports (${report.ports.length}):`);
|
|
76
90
|
for (const port of report.ports) {
|
|
77
91
|
out(portLine(port));
|
package/dist/status.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAuB,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"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"}
|
package/dist/sync/report.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MachineReport } from "@intentic/sandbox-contract";
|
|
2
2
|
import { type SyncState } from "./config.js";
|
|
3
|
-
export declare const buildReport: (state: SyncState, mutagen: string | undefined, watcher: MachineReport["watcher"], capturedAt: number) => MachineReport;
|
|
3
|
+
export declare const buildReport: (state: SyncState, mutagen: string | undefined, watcher: MachineReport["watcher"], capturedAt: number, installed: string | undefined) => MachineReport;
|
|
4
4
|
export declare const machineReport: (mutagen: string | undefined) => Promise<MachineReport>;
|
|
5
5
|
export declare const scopedReport: (report: MachineReport, sandboxId: string) => MachineReport;
|
|
6
6
|
//# sourceMappingURL=report.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/sync/report.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAA+B,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG7F,OAAO,EAAgD,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/sync/report.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAA+B,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG7F,OAAO,EAAgD,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAsG3F,eAAO,MAAM,WAAW,UACb,SAAS,WACP,MAAM,GAAG,SAAS,WAClB,aAAa,CAAC,SAAS,CAAC,cACrB,MAAM,aAKP,MAAM,GAAG,SAAS,KAC9B,aASD,CAAC;AAGH,eAAO,MAAM,aAAa,YAAmB,MAAM,GAAG,SAAS,KAAG,OAAO,CAAC,aAAa,CACQ,CAAC;AAYhG,eAAO,MAAM,YAAY,WAAY,aAAa,aAAa,MAAM,KAAG,aAItE,CAAC"}
|
package/dist/sync/report.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
2
|
import { hostname, platform } from "node:os";
|
|
3
|
-
import {
|
|
3
|
+
import { livePidRecord } from "@intentic/local-agent";
|
|
4
4
|
import { runPidPath } from "../config.js";
|
|
5
|
-
import {
|
|
5
|
+
import { installedBuild } from "../installed.js";
|
|
6
6
|
import { mirrorHeartbeatPath, readState } from "./config.js";
|
|
7
7
|
import { backupSessionName, readSessionState, sessionName } from "./mutagen.js";
|
|
8
8
|
const lastTick = async () => {
|
|
@@ -11,8 +11,8 @@ const lastTick = async () => {
|
|
|
11
11
|
return Number.isFinite(stamped) && stamped > 0 ? stamped : undefined;
|
|
12
12
|
};
|
|
13
13
|
const watcherState = async () => {
|
|
14
|
-
const [
|
|
15
|
-
return { running:
|
|
14
|
+
const [resident, lastTickAt] = await Promise.all([livePidRecord(runPidPath), lastTick()]);
|
|
15
|
+
return { running: resident !== undefined, pid: resident?.pid, build: resident?.note, lastTickAt };
|
|
16
16
|
};
|
|
17
17
|
const pairingReport = (mutagen, pairing) => {
|
|
18
18
|
const mirroring = pairing.mirrorOff === true ? "off" : "on";
|
|
@@ -49,17 +49,17 @@ const portRows = (pairing) => [
|
|
|
49
49
|
command: port.command,
|
|
50
50
|
})),
|
|
51
51
|
];
|
|
52
|
-
export const buildReport = (state, mutagen, watcher, capturedAt) => ({
|
|
52
|
+
export const buildReport = (state, mutagen, watcher, capturedAt, installed) => ({
|
|
53
53
|
hostname: hostname(),
|
|
54
54
|
os: platform(),
|
|
55
|
-
agents: { sync:
|
|
55
|
+
agents: { sync: installed },
|
|
56
56
|
sandboxes: [],
|
|
57
57
|
pairings: state.pairings.map((pairing) => pairingReport(mutagen, pairing)),
|
|
58
58
|
ports: state.pairings.flatMap(portRows),
|
|
59
59
|
watcher,
|
|
60
60
|
capturedAt,
|
|
61
61
|
});
|
|
62
|
-
export const machineReport = async (mutagen) => buildReport(await readState(), mutagen, await watcherState(), Date.now());
|
|
62
|
+
export const machineReport = async (mutagen) => buildReport(await readState(), mutagen, await watcherState(), Date.now(), installedBuild());
|
|
63
63
|
export const scopedReport = (report, sandboxId) => ({
|
|
64
64
|
...report,
|
|
65
65
|
pairings: report.pairings.filter((pairing) => pairing.sandboxId === sandboxId),
|
package/dist/sync/report.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/sync/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/sync/report.ts"],"names":[],"mappings":"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"}
|
package/dist/upgrade.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { Log } from "@intentic/local-agent";
|
|
2
|
-
export declare const agentPath: string;
|
|
3
2
|
export declare const assetUrl: (version?: string) => string;
|
|
4
3
|
export declare const publishedVersion: () => Promise<string | undefined>;
|
|
5
4
|
export type Probe = {
|
|
@@ -14,10 +13,18 @@ export type UpgradeOutcome = {
|
|
|
14
13
|
readonly kind: "current";
|
|
15
14
|
readonly version: string;
|
|
16
15
|
readonly note?: string;
|
|
16
|
+
} | {
|
|
17
|
+
readonly kind: "restarted";
|
|
18
|
+
readonly from: string;
|
|
19
|
+
readonly to: string;
|
|
17
20
|
} | {
|
|
18
21
|
readonly kind: "upgraded";
|
|
19
22
|
readonly from: string;
|
|
20
23
|
readonly to: string;
|
|
24
|
+
} | {
|
|
25
|
+
readonly kind: "loop-behind";
|
|
26
|
+
readonly installed: string;
|
|
27
|
+
readonly running?: string;
|
|
21
28
|
} | {
|
|
22
29
|
readonly kind: "failed";
|
|
23
30
|
readonly reason: string;
|
|
@@ -28,11 +35,11 @@ export interface UpgradeExec {
|
|
|
28
35
|
readonly probe: (binary: string) => Probe;
|
|
29
36
|
readonly swap: (from: string, to: string) => Promise<void>;
|
|
30
37
|
readonly stopWatcher: () => Promise<number | undefined>;
|
|
31
|
-
readonly startWatcher: () => Promise<
|
|
32
|
-
readonly
|
|
38
|
+
readonly startWatcher: () => Promise<string | undefined>;
|
|
39
|
+
readonly runningBuild: () => Promise<string | undefined>;
|
|
33
40
|
readonly discard: (path: string) => Promise<void>;
|
|
34
41
|
}
|
|
35
42
|
export declare const runUpgrade: (exec: UpgradeExec, asset: (version?: string) => string, installed: string, force: boolean, log: Log) => Promise<UpgradeOutcome>;
|
|
36
|
-
export declare const realUpgradeExec: (stopWatcher: () => Promise<number | undefined>, startWatcher: () => Promise<
|
|
43
|
+
export declare const realUpgradeExec: (stopWatcher: () => Promise<number | undefined>, startWatcher: () => Promise<string | undefined>, runningBuild: () => Promise<string | undefined>, log: Log) => UpgradeExec;
|
|
37
44
|
export declare const upgradeMessage: (outcome: UpgradeOutcome) => string;
|
|
38
45
|
//# sourceMappingURL=upgrade.d.ts.map
|
package/dist/upgrade.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAwCjD,eAAO,MAAM,QAAQ,aAAc,MAAM,KAAG,MAG3C,CAAC;AAQF,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,MAAM,GAAG,SAAS,CAOnE,CAAC;AAWF,MAAM,MAAM,KAAK,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAwBrJ,MAAM,MAAM,cAAc,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9E;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC1E;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACzE;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACvF;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAI3D,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,QAAQ,CAAC,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAKxD,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEzD,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACzD,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD;AA8FD,eAAO,MAAM,UAAU,SACb,WAAW,SACV,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,aACxB,MAAM,SACV,OAAO,OACT,GAAG,KACT,OAAO,CAAC,cAAc,CAqExB,CAAC;AAmCF,eAAO,MAAM,eAAe,gBACX,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,gBAChC,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,gBACjC,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,OAC1C,GAAG,KACT,WAqBD,CAAC;AAGH,eAAO,MAAM,cAAc,YAAa,cAAc,KAAG,MAoBxD,CAAC"}
|
package/dist/upgrade.js
CHANGED
|
@@ -3,9 +3,9 @@ import { chmod, readdir, rename, rm } from "node:fs/promises";
|
|
|
3
3
|
import { basename, join } from "node:path";
|
|
4
4
|
import { errorMessage } from "@intentic/base/errors";
|
|
5
5
|
import { DEV_VERSION, isNewer } from "@intentic/sandbox-contract";
|
|
6
|
+
import { agentPath } from "./installed.js";
|
|
6
7
|
import { binDir } from "./sync/config.js";
|
|
7
8
|
import { archToken, download, exe, osToken } from "./sync/mutagen.js";
|
|
8
|
-
export const agentPath = join(binDir, `intentic-machine${exe}`);
|
|
9
9
|
export const assetUrl = (version) => {
|
|
10
10
|
const at = version === undefined ? `latest/download` : `download/v${version}`;
|
|
11
11
|
return `https://github.com/intentic/intentic/releases/${at}/intentic-machine-${osToken()}-${archToken()}${exe}`;
|
|
@@ -62,10 +62,22 @@ const verdictFor = (probed, installed, force) => {
|
|
|
62
62
|
const stagingFor = (published) => published === undefined
|
|
63
63
|
? { path: `${agentPath}.new`, says: `Downloading the current agent…` }
|
|
64
64
|
: { path: `${agentPath}.new-${published}`, says: `Downloading the current agent (${published})…` };
|
|
65
|
+
const reconcileLoop = async (exec, installed, log) => {
|
|
66
|
+
const running = await exec.runningBuild();
|
|
67
|
+
if (running === undefined || running === installed) {
|
|
68
|
+
return { kind: "current", version: installed };
|
|
69
|
+
}
|
|
70
|
+
log(`The background loop is still running ${running}: restarting it on ${installed}.`);
|
|
71
|
+
const came = await exec.startWatcher();
|
|
72
|
+
if (came === installed) {
|
|
73
|
+
return { kind: "restarted", from: running, to: installed };
|
|
74
|
+
}
|
|
75
|
+
return { kind: "loop-behind", installed, ...(came === undefined ? {} : { running: came }) };
|
|
76
|
+
};
|
|
65
77
|
export const runUpgrade = async (exec, asset, installed, force, log) => {
|
|
66
78
|
const published = await exec.published();
|
|
67
79
|
if (published !== undefined && installed !== DEV_VERSION && !isNewer(published, installed)) {
|
|
68
|
-
return
|
|
80
|
+
return await reconcileLoop(exec, installed, log);
|
|
69
81
|
}
|
|
70
82
|
const { path: staged, says } = stagingFor(published);
|
|
71
83
|
const previous = `${agentPath}.previous`;
|
|
@@ -87,7 +99,7 @@ export const runUpgrade = async (exec, asset, installed, force, log) => {
|
|
|
87
99
|
const verdict = verdictFor(exec.probe(staged), installed, force);
|
|
88
100
|
if (!verdict.install) {
|
|
89
101
|
await exec.discard(staged);
|
|
90
|
-
return verdict.outcome;
|
|
102
|
+
return verdict.outcome.kind === "current" && verdict.outcome.note === undefined ? await reconcileLoop(exec, installed, log) : verdict.outcome;
|
|
91
103
|
}
|
|
92
104
|
const candidate = verdict.version;
|
|
93
105
|
const wasRunning = (await exec.stopWatcher()) !== undefined;
|
|
@@ -97,11 +109,15 @@ export const runUpgrade = async (exec, asset, installed, force, log) => {
|
|
|
97
109
|
await exec.discard(previous);
|
|
98
110
|
return { kind: "upgraded", from: installed, to: candidate };
|
|
99
111
|
}
|
|
100
|
-
await exec.startWatcher();
|
|
101
|
-
if (
|
|
112
|
+
const came = await exec.startWatcher();
|
|
113
|
+
if (came === candidate) {
|
|
102
114
|
await exec.discard(previous);
|
|
103
115
|
return { kind: "upgraded", from: installed, to: candidate };
|
|
104
116
|
}
|
|
117
|
+
if (came !== undefined) {
|
|
118
|
+
await exec.discard(previous);
|
|
119
|
+
return { kind: "loop-behind", installed: candidate, running: came };
|
|
120
|
+
}
|
|
105
121
|
log(`The new agent didn't stay running: putting the previous one back.`);
|
|
106
122
|
await exec.swap(previous, agentPath);
|
|
107
123
|
await exec.startWatcher();
|
|
@@ -127,7 +143,7 @@ const downloadProgress = (log) => {
|
|
|
127
143
|
}
|
|
128
144
|
};
|
|
129
145
|
};
|
|
130
|
-
export const realUpgradeExec = (stopWatcher, startWatcher,
|
|
146
|
+
export const realUpgradeExec = (stopWatcher, startWatcher, runningBuild, log) => ({
|
|
131
147
|
published: publishedVersion,
|
|
132
148
|
fetchTo: async (url, dest) => {
|
|
133
149
|
await sweepStaged(dest);
|
|
@@ -142,7 +158,7 @@ export const realUpgradeExec = (stopWatcher, startWatcher, alive, log) => ({
|
|
|
142
158
|
swap: async (from, to) => await rename(from, to),
|
|
143
159
|
stopWatcher,
|
|
144
160
|
startWatcher,
|
|
145
|
-
|
|
161
|
+
runningBuild,
|
|
146
162
|
discard: async (path) => await rm(path, { force: true }).catch(() => undefined),
|
|
147
163
|
});
|
|
148
164
|
export const upgradeMessage = (outcome) => {
|
|
@@ -152,6 +168,14 @@ export const upgradeMessage = (outcome) => {
|
|
|
152
168
|
if (outcome.kind === "upgraded") {
|
|
153
169
|
return `Upgraded the agent: ${outcome.from} → ${outcome.to}.`;
|
|
154
170
|
}
|
|
171
|
+
if (outcome.kind === "restarted") {
|
|
172
|
+
return `Already on the current agent (${outcome.to}), but the background loop was still running ${outcome.from}: restarted it, so ${outcome.to} is what's serving now.`;
|
|
173
|
+
}
|
|
174
|
+
if (outcome.kind === "loop-behind") {
|
|
175
|
+
return outcome.running === undefined
|
|
176
|
+
? `The agent on this machine is ${outcome.installed}, but the background loop didn't come back up. Start it with \`intentic-machine run\` and check its log.`
|
|
177
|
+
: `The agent on this machine is ${outcome.installed}, but the background loop is running ${outcome.running}. Stop it with \`intentic-machine run --stop\`, then start it with \`intentic-machine run\`.`;
|
|
178
|
+
}
|
|
155
179
|
return `Upgrade didn't happen: ${outcome.reason}`;
|
|
156
180
|
};
|
|
157
181
|
//# sourceMappingURL=upgrade.js.map
|
package/dist/upgrade.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentic/machine",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.243.0",
|
|
4
4
|
"description": "The one agent that lives on a user's own computer: lets an intentic sandbox work on it (outbound WebSocket, MCP tools, scopes enforced here) and keeps folders and ports mirrored with it (Mutagen over tunnel SSH)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
"intentic-machine": "./dist/cli.js"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@intentic/base": "1.
|
|
24
|
-
"@intentic/browser": "1.
|
|
25
|
-
"@intentic/constants": "1.
|
|
26
|
-
"@intentic/desktop": "1.
|
|
27
|
-
"@intentic/local-agent": "1.
|
|
28
|
-
"@intentic/sandbox-contract": "1.
|
|
29
|
-
"@intentic/sandbox-run": "1.
|
|
23
|
+
"@intentic/base": "1.243.0",
|
|
24
|
+
"@intentic/browser": "1.243.0",
|
|
25
|
+
"@intentic/constants": "1.243.0",
|
|
26
|
+
"@intentic/desktop": "1.243.0",
|
|
27
|
+
"@intentic/local-agent": "1.243.0",
|
|
28
|
+
"@intentic/sandbox-contract": "1.243.0",
|
|
29
|
+
"@intentic/sandbox-run": "1.243.0",
|
|
30
30
|
"@orpc/server": "1.14.13",
|
|
31
31
|
"@stricli/core": "1.3.0",
|
|
32
32
|
"tslib": "2.8.1",
|