@intentic/machine 1.316.0 → 1.318.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 +198 -10
- package/dist/agent-trial.d.ts +25 -0
- package/dist/agent-trial.d.ts.map +1 -0
- package/dist/agent-trial.js +132 -0
- package/dist/agent-trial.js.map +1 -0
- package/dist/autostart/autostart.d.ts.map +1 -0
- package/dist/{autostart.js → autostart/autostart.js} +1 -1
- package/dist/autostart/autostart.js.map +1 -0
- package/dist/autostart/legacy-autostart.d.ts +4 -0
- package/dist/autostart/legacy-autostart.d.ts.map +1 -0
- package/dist/autostart/legacy-autostart.js +33 -0
- package/dist/autostart/legacy-autostart.js.map +1 -0
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +3 -1
- package/dist/commands.js.map +1 -1
- package/dist/device/grant.d.ts +322 -0
- package/dist/device/grant.d.ts.map +1 -0
- package/dist/device/grant.js +15 -0
- package/dist/device/grant.js.map +1 -0
- package/dist/device/loopback-catch.d.ts +3 -0
- package/dist/device/loopback-catch.d.ts.map +1 -0
- package/dist/device/loopback-catch.js +103 -0
- package/dist/device/loopback-catch.js.map +1 -0
- package/dist/device/mcp.d.ts.map +1 -1
- package/dist/device/mcp.js +5 -2
- package/dist/device/mcp.js.map +1 -1
- package/dist/device/router.d.ts +41 -2
- package/dist/device/router.d.ts.map +1 -1
- package/dist/device/router.js +23 -7
- package/dist/device/router.js.map +1 -1
- package/dist/device/sandbox-cli.d.ts +6 -0
- package/dist/device/sandbox-cli.d.ts.map +1 -0
- package/dist/device/sandbox-cli.js +76 -0
- package/dist/device/sandbox-cli.js.map +1 -0
- package/dist/device/sandbox-rounds/auto-backup.d.ts +13 -0
- package/dist/device/sandbox-rounds/auto-backup.d.ts.map +1 -0
- package/dist/device/sandbox-rounds/auto-backup.js +97 -0
- package/dist/device/sandbox-rounds/auto-backup.js.map +1 -0
- package/dist/device/sandbox-rounds/auto-prepare.d.ts +11 -0
- package/dist/device/sandbox-rounds/auto-prepare.d.ts.map +1 -0
- package/dist/device/sandbox-rounds/auto-prepare.js +20 -0
- package/dist/device/sandbox-rounds/auto-prepare.js.map +1 -0
- package/dist/device/sandbox-rounds/ic-rounds.d.ts +23 -0
- package/dist/device/sandbox-rounds/ic-rounds.d.ts.map +1 -0
- package/dist/device/sandbox-rounds/ic-rounds.js +78 -0
- package/dist/device/sandbox-rounds/ic-rounds.js.map +1 -0
- package/dist/device/sandbox-rounds/probation-watch.d.ts +32 -0
- package/dist/device/sandbox-rounds/probation-watch.d.ts.map +1 -0
- package/dist/device/sandbox-rounds/probation-watch.js +60 -0
- package/dist/device/sandbox-rounds/probation-watch.js.map +1 -0
- package/dist/device/sandbox-rounds/swap-records.d.ts +14 -0
- package/dist/device/sandbox-rounds/swap-records.d.ts.map +1 -0
- package/dist/device/sandbox-rounds/swap-records.js +45 -0
- package/dist/device/sandbox-rounds/swap-records.js.map +1 -0
- package/dist/device/tools/agent.d.ts +2 -2
- package/dist/device/tools/agent.d.ts.map +1 -1
- package/dist/device/tools/agent.js +14 -3
- package/dist/device/tools/agent.js.map +1 -1
- package/dist/device/tools/command-ledger.d.ts +14 -0
- package/dist/device/tools/command-ledger.d.ts.map +1 -0
- package/dist/device/tools/command-ledger.js +85 -0
- package/dist/device/tools/command-ledger.js.map +1 -0
- package/dist/device/tools/describe.d.ts +1 -1
- package/dist/device/tools/describe.d.ts.map +1 -1
- package/dist/device/tools/describe.js +2 -1
- package/dist/device/tools/describe.js.map +1 -1
- package/dist/device/tools/ic-binary.d.ts +1 -1
- package/dist/device/tools/ic-binary.d.ts.map +1 -1
- package/dist/device/tools/ic-binary.js +8 -3
- package/dist/device/tools/ic-binary.js.map +1 -1
- package/dist/device/tools/in-flight.d.ts +6 -0
- package/dist/device/tools/in-flight.d.ts.map +1 -0
- package/dist/device/tools/in-flight.js +26 -0
- package/dist/device/tools/in-flight.js.map +1 -0
- package/dist/device/tools/sandboxes.d.ts +14 -4
- package/dist/device/tools/sandboxes.d.ts.map +1 -1
- package/dist/device/tools/sandboxes.js +87 -27
- package/dist/device/tools/sandboxes.js.map +1 -1
- package/dist/device/tools/shell.d.ts +1 -0
- package/dist/device/tools/shell.d.ts.map +1 -1
- package/dist/device/tools/shell.js +15 -1
- package/dist/device/tools/shell.js.map +1 -1
- package/dist/environments/auto-upgrade.d.ts +2 -0
- package/dist/environments/auto-upgrade.d.ts.map +1 -1
- package/dist/environments/auto-upgrade.js +15 -0
- package/dist/environments/auto-upgrade.js.map +1 -1
- package/dist/environments/children.js +1 -1
- package/dist/environments/children.js.map +1 -1
- package/dist/environments/commands.d.ts +2 -0
- package/dist/environments/commands.d.ts.map +1 -1
- package/dist/environments/commands.js +46 -10
- package/dist/environments/commands.js.map +1 -1
- package/dist/environments/machine-upgrade.d.ts +2 -0
- package/dist/environments/machine-upgrade.d.ts.map +1 -1
- package/dist/environments/machine-upgrade.js +17 -2
- package/dist/environments/machine-upgrade.js.map +1 -1
- package/dist/environments/machine.d.ts +6 -0
- package/dist/environments/machine.d.ts.map +1 -1
- package/dist/environments/machine.js.map +1 -1
- package/dist/release.d.ts.map +1 -1
- package/dist/release.js +1 -6
- package/dist/release.js.map +1 -1
- package/dist/resident.d.ts +1 -0
- package/dist/resident.d.ts.map +1 -1
- package/dist/resident.js +30 -6
- package/dist/resident.js.map +1 -1
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +9 -4
- package/dist/status.js.map +1 -1
- package/dist/supervision.d.ts +1 -0
- package/dist/supervision.d.ts.map +1 -1
- package/dist/supervision.js +17 -1
- package/dist/supervision.js.map +1 -1
- package/dist/sync/commands.d.ts +19 -0
- package/dist/sync/commands.d.ts.map +1 -1
- package/dist/sync/commands.js +117 -23
- package/dist/sync/commands.js.map +1 -1
- package/dist/sync/config.d.ts +12 -1
- package/dist/sync/config.d.ts.map +1 -1
- package/dist/sync/config.js +45 -1
- package/dist/sync/config.js.map +1 -1
- package/dist/sync/folders.d.ts +8 -0
- package/dist/sync/folders.d.ts.map +1 -0
- package/dist/sync/folders.js +34 -0
- package/dist/sync/folders.js.map +1 -0
- package/dist/sync/git-bridge.d.ts +1 -1
- package/dist/sync/git-bridge.d.ts.map +1 -1
- package/dist/sync/git-bridge.js +2 -1
- package/dist/sync/git-bridge.js.map +1 -1
- package/dist/sync/mirror.d.ts +3 -1
- package/dist/sync/mirror.d.ts.map +1 -1
- package/dist/sync/mirror.js +72 -20
- package/dist/sync/mirror.js.map +1 -1
- package/dist/sync/mutagen.d.ts +29 -5
- package/dist/sync/mutagen.d.ts.map +1 -1
- package/dist/sync/mutagen.js +86 -31
- package/dist/sync/mutagen.js.map +1 -1
- package/dist/sync/project-commands.d.ts +23 -0
- package/dist/sync/project-commands.d.ts.map +1 -0
- package/dist/sync/project-commands.js +212 -0
- package/dist/sync/project-commands.js.map +1 -0
- package/dist/sync/project-files.d.ts +42 -0
- package/dist/sync/project-files.d.ts.map +1 -0
- package/dist/sync/project-files.js +110 -0
- package/dist/sync/project-files.js.map +1 -0
- package/dist/sync/project-local.d.ts +46 -0
- package/dist/sync/project-local.d.ts.map +1 -0
- package/dist/sync/project-local.js +217 -0
- package/dist/sync/project-local.js.map +1 -0
- package/dist/sync/project-remote.d.ts +55 -0
- package/dist/sync/project-remote.d.ts.map +1 -0
- package/dist/sync/project-remote.js +261 -0
- package/dist/sync/project-remote.js.map +1 -0
- package/dist/sync/project-transfer.d.ts +52 -0
- package/dist/sync/project-transfer.d.ts.map +1 -0
- package/dist/sync/project-transfer.js +278 -0
- package/dist/sync/project-transfer.js.map +1 -0
- package/dist/sync/report.d.ts.map +1 -1
- package/dist/sync/report.js +6 -4
- package/dist/sync/report.js.map +1 -1
- package/dist/sync/residue.d.ts.map +1 -1
- package/dist/sync/residue.js +2 -1
- package/dist/sync/residue.js.map +1 -1
- package/dist/sync/restore-points.d.ts +72 -0
- package/dist/sync/restore-points.d.ts.map +1 -0
- package/dist/sync/restore-points.js +154 -0
- package/dist/sync/restore-points.js.map +1 -0
- package/dist/sync/ssh.d.ts +6 -0
- package/dist/sync/ssh.d.ts.map +1 -1
- package/dist/sync/ssh.js +41 -3
- package/dist/sync/ssh.js.map +1 -1
- package/dist/sync/swap-pause.d.ts +10 -0
- package/dist/sync/swap-pause.d.ts.map +1 -0
- package/dist/sync/swap-pause.js +29 -0
- package/dist/sync/swap-pause.js.map +1 -0
- package/dist/sync/symlinks.d.ts +8 -0
- package/dist/sync/symlinks.d.ts.map +1 -0
- package/dist/sync/symlinks.js +30 -0
- package/dist/sync/symlinks.js.map +1 -0
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +18 -7
- package/dist/upgrade.js.map +1 -1
- package/package.json +8 -8
- package/dist/autostart.d.ts.map +0 -1
- package/dist/autostart.js.map +0 -1
- package/dist/device/auto-prepare.d.ts +0 -18
- package/dist/device/auto-prepare.d.ts.map +0 -1
- package/dist/device/auto-prepare.js +0 -85
- package/dist/device/auto-prepare.js.map +0 -1
- /package/dist/{autostart.d.ts → autostart/autostart.d.ts} +0 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { mkdir, mkdtemp, rm, symlink, writeFile } from "node:fs/promises";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { errnoCode, errorMessage } from "@intentic/base/errors";
|
|
4
|
+
import { baseDir } from "../config.js";
|
|
5
|
+
export const deviceSymlinks = async (platform = process.platform, probe = async () => await symlinkRefusal(baseDir)) => {
|
|
6
|
+
if (platform !== "win32") {
|
|
7
|
+
return { mode: "portable" };
|
|
8
|
+
}
|
|
9
|
+
const refusal = await probe();
|
|
10
|
+
return refusal === undefined ? { mode: "portable" } : { mode: "ignore", refusal };
|
|
11
|
+
};
|
|
12
|
+
const PROBE_PREFIX = "symlink-probe-";
|
|
13
|
+
export const symlinkRefusal = async (dir) => {
|
|
14
|
+
await mkdir(dir, { recursive: true });
|
|
15
|
+
const scratch = await mkdtemp(join(dir, PROBE_PREFIX));
|
|
16
|
+
const refusal = await linkRefusal(scratch);
|
|
17
|
+
await rm(scratch, { recursive: true, force: true, maxRetries: 3 }).catch(() => undefined);
|
|
18
|
+
return refusal;
|
|
19
|
+
};
|
|
20
|
+
const linkRefusal = async (scratch) => {
|
|
21
|
+
try {
|
|
22
|
+
await writeFile(join(scratch, "target"), "");
|
|
23
|
+
await symlink("target", join(scratch, "link"), "file");
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
return errnoCode(error) ?? errorMessage(error);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=symlinks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symlinks.js","sourceRoot":"","sources":["../../src/sync/symlinks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAqBvC,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAC/B,QAAQ,GAAoB,OAAO,CAAC,QAAQ,EAC5C,KAAK,GAAsC,KAAK,IAAI,EAAE,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,EAC7D,EAAE;IACzB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,KAAK,EAAE,CAAC;IAC9B,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AACtF,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAMtC,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,GAAW,EAA+B,EAAE;IAC7E,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAG3C,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1F,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAMF,MAAM,WAAW,GAAG,KAAK,EAAE,OAAe,EAA+B,EAAE;IACvE,IAAI,CAAC;QACD,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QACvD,OAAO,SAAS,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;AACL,CAAC,CAAC"}
|
package/dist/upgrade.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAWjD,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,cAAc,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACxF;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAG3D,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAGzD,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpD,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAClC;AA4GD,eAAO,MAAM,UAAU,SAAgB,WAAW,UAAU,MAAM,aAAa,MAAM,SAAS,OAAO,OAAO,GAAG,KAAG,OAAO,CAAC,cAAc,CAgCvI,CAAC;AA4BF,eAAO,MAAM,eAAe,YACf,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,gBAC5B,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,OAC1C,GAAG,KACT,WAYD,CAAC;AAGH,eAAO,MAAM,cAAc,YAAa,cAAc,KAAG,MAgBxD,CAAC;AAGF,eAAO,MAAM,aAAa,YAAa,cAAc,KAAG,OACqC,CAAC"}
|
package/dist/upgrade.js
CHANGED
|
@@ -16,13 +16,22 @@ const refusal = (probed, target) => {
|
|
|
16
16
|
}
|
|
17
17
|
return probed === target ? undefined : `the ${target} download reports itself as ${probed}, keeping the one you have.`;
|
|
18
18
|
};
|
|
19
|
+
const restartAgent = async (exec, log) => {
|
|
20
|
+
try {
|
|
21
|
+
return await exec.restart();
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
log(`The agent did not come back up: ${errorMessage(error)}`);
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
19
28
|
const reconcileAgent = async (exec, installed, log) => {
|
|
20
29
|
const running = await exec.runningBuild();
|
|
21
30
|
if (running === undefined || running === installed) {
|
|
22
31
|
return { kind: "current", version: installed };
|
|
23
32
|
}
|
|
24
33
|
log(`The background agent is still running ${running}: restarting it on ${installed}.`);
|
|
25
|
-
const came = await exec
|
|
34
|
+
const came = await restartAgent(exec, log);
|
|
26
35
|
if (came === installed) {
|
|
27
36
|
return { kind: "restarted", from: running, to: installed };
|
|
28
37
|
}
|
|
@@ -54,19 +63,22 @@ const discardAll = async (exec, paths) => {
|
|
|
54
63
|
await Promise.all(paths.map(async (path) => await exec.discard(path)));
|
|
55
64
|
};
|
|
56
65
|
const restartOnto = async (exec, pieces, target, installed, log) => {
|
|
57
|
-
const came = await exec
|
|
66
|
+
const came = await restartAgent(exec, log);
|
|
58
67
|
if (came === target) {
|
|
59
|
-
await discardAll(exec, pieces.map((piece) => piece.previous));
|
|
60
68
|
return { kind: "upgraded", from: installed, to: target };
|
|
61
69
|
}
|
|
62
70
|
if (came !== undefined) {
|
|
63
|
-
await discardAll(exec, pieces.map((piece) => piece.previous));
|
|
64
71
|
return { kind: "agent-behind", installed: target, running: came };
|
|
65
72
|
}
|
|
66
73
|
log(`The new agent didn't stay running: putting the previous one back.`);
|
|
67
74
|
await swapOut(exec, pieces);
|
|
68
|
-
await exec
|
|
69
|
-
return {
|
|
75
|
+
const back = await restartAgent(exec, log);
|
|
76
|
+
return {
|
|
77
|
+
kind: "failed",
|
|
78
|
+
reason: back === undefined
|
|
79
|
+
? `the new agent (${target}) wouldn't start, so ${installed} was put back, but it did not come up either: start it with \`intentic-machine run\` and check its log.`
|
|
80
|
+
: `the new agent (${target}) wouldn't start, so ${installed} was restored and is running again.`,
|
|
81
|
+
};
|
|
70
82
|
};
|
|
71
83
|
export const runUpgrade = async (exec, target, installed, force, log) => {
|
|
72
84
|
if (installed === DEV_VERSION && !force) {
|
|
@@ -93,7 +105,6 @@ export const runUpgrade = async (exec, target, installed, force, log) => {
|
|
|
93
105
|
const wasRunning = (await exec.runningBuild()) !== undefined;
|
|
94
106
|
await swapIn(exec, pieces);
|
|
95
107
|
if (!wasRunning) {
|
|
96
|
-
await discardAll(exec, pieces.map((piece) => piece.previous));
|
|
97
108
|
return { kind: "upgraded", from: installed, to: target };
|
|
98
109
|
}
|
|
99
110
|
return await restartOnto(exec, pieces, target, installed, log);
|
package/dist/upgrade.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtD,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,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,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.318.0",
|
|
4
4
|
"description": "The one agent that lives on a user's own device: 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-automation": "1.
|
|
27
|
-
"@intentic/local-agent": "1.
|
|
28
|
-
"@intentic/sandbox-contract": "1.
|
|
29
|
-
"@intentic/sandbox-run": "1.
|
|
23
|
+
"@intentic/base": "1.318.0",
|
|
24
|
+
"@intentic/browser": "1.318.0",
|
|
25
|
+
"@intentic/constants": "1.318.0",
|
|
26
|
+
"@intentic/desktop-automation": "1.318.0",
|
|
27
|
+
"@intentic/local-agent": "1.318.0",
|
|
28
|
+
"@intentic/sandbox-contract": "1.318.0",
|
|
29
|
+
"@intentic/sandbox-run": "1.318.0",
|
|
30
30
|
"@orpc/server": "1.15.4",
|
|
31
31
|
"@stricli/core": "1.3.0",
|
|
32
32
|
"tslib": "2.8.1",
|
package/dist/autostart.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"autostart.d.ts","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAM3D,eAAO,MAAM,iBAAiB,EAAE,aAY/B,CAAC"}
|
package/dist/autostart.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"autostart.js","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,MAAM,CAAC,MAAM,iBAAiB,GAAkB;IAC5C,EAAE,EAAE,kBAAkB;IACtB,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,wBAAwB;IACrC,cAAc,EAAE,yFAAyF;IAEzG,OAAO,EAAE,UAAU;IACnB,WAAW,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE;IAC9C,YAAY,EAAE,CAAC,KAAK,CAAC;IACrB,cAAc,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC;IACvC,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CACpB,mEAAmE,MAAM,uFAAuF,UAAU,EAAE;CACnL,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { Log } from "@intentic/local-agent";
|
|
2
|
-
import type { DeviceSandbox } from "@intentic/sandbox-contract";
|
|
3
|
-
export declare const prepareTargets: (boxes: readonly DeviceSandbox[]) => 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 DeviceSandbox[], 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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auto-prepare.d.ts","sourceRoot":"","sources":["../../src/device/auto-prepare.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAmBhE,eAAO,MAAM,cAAc,UAAW,SAAS,aAAa,EAAE,KAAG,MAAM,EACyB,CAAC;AAGjG,eAAO,MAAM,WAAW,aAAc,MAAM,KAAG,MAA6E,CAAC;AAG7H,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;AAqC5F,eAAO,MAAM,OAAO,UACT,gBAAgB,SAChB,SAAS,aAAa,EAAE,WACtB,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,CAsBd,CAAC;AAIF,eAAO,MAAM,gBAAgB,QAAS,GAAG,KAAG;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CA4B7D,CAAC"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { errorMessage } from "@intentic/base/errors";
|
|
2
|
-
import { plural } from "@intentic/base/format";
|
|
3
|
-
import { readMachineConfig } from "../environments/machine.js";
|
|
4
|
-
import { fleet, icInFlight, runIc } from "./tools/sandboxes.js";
|
|
5
|
-
const FIRST_TICK_MS = 5 * 60_000;
|
|
6
|
-
const TICK_MS = 6 * 60 * 60_000;
|
|
7
|
-
const JITTER_MS = 30 * 60_000;
|
|
8
|
-
const MAX_SKIP_TICKS = 8;
|
|
9
|
-
export const prepareTargets = (boxes) => boxes.filter((box) => box.running && !box.slug.startsWith("runner-")).map((box) => box.slug);
|
|
10
|
-
export const ticksToSkip = (failures) => (failures <= 0 ? 0 : Math.min(2 ** (failures - 1), MAX_SKIP_TICKS));
|
|
11
|
-
export const autoPrepareArgs = (slug) => ["sandbox", "prepare", slug, "--auto"];
|
|
12
|
-
export const newState = () => ({ failures: new Map(), waits: new Map() });
|
|
13
|
-
const lastLine = (output) => output.split(/\r?\n/).findLast((line) => line.trim() !== "");
|
|
14
|
-
const prepareOne = async (state, slug, prepare, log) => {
|
|
15
|
-
icInFlight.add(slug);
|
|
16
|
-
let run;
|
|
17
|
-
try {
|
|
18
|
-
run = await prepare(slug);
|
|
19
|
-
}
|
|
20
|
-
catch (error) {
|
|
21
|
-
run = { code: 1, output: errorMessage(error) };
|
|
22
|
-
}
|
|
23
|
-
finally {
|
|
24
|
-
icInFlight.delete(slug);
|
|
25
|
-
}
|
|
26
|
-
if (run.code === 0) {
|
|
27
|
-
state.failures.delete(slug);
|
|
28
|
-
state.waits.delete(slug);
|
|
29
|
-
log(`auto-prepare ${slug}: ${lastLine(run.output) ?? "done"}`);
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
const failures = (state.failures.get(slug) ?? 0) + 1;
|
|
33
|
-
state.failures.set(slug, failures);
|
|
34
|
-
state.waits.set(slug, ticksToSkip(failures));
|
|
35
|
-
log(`auto-prepare ${slug}: failed (attempt ${failures}, retrying after ${plural(ticksToSkip(failures), "tick")}) — ${lastLine(run.output) ?? "no output"}`);
|
|
36
|
-
};
|
|
37
|
-
export const runTick = async (state, boxes, prepare, log, busy = icInFlight) => {
|
|
38
|
-
const targets = prepareTargets(boxes);
|
|
39
|
-
for (const slug of [...state.failures.keys(), ...state.waits.keys()]) {
|
|
40
|
-
if (!targets.includes(slug)) {
|
|
41
|
-
state.failures.delete(slug);
|
|
42
|
-
state.waits.delete(slug);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
for (const slug of targets) {
|
|
46
|
-
if (busy.has(slug)) {
|
|
47
|
-
continue;
|
|
48
|
-
}
|
|
49
|
-
const wait = state.waits.get(slug) ?? 0;
|
|
50
|
-
if (wait > 0) {
|
|
51
|
-
state.waits.set(slug, wait - 1);
|
|
52
|
-
continue;
|
|
53
|
-
}
|
|
54
|
-
await prepareOne(state, slug, prepare, log);
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
export const startAutoPrepare = (log) => {
|
|
58
|
-
let timer;
|
|
59
|
-
let stopped = false;
|
|
60
|
-
const state = newState();
|
|
61
|
-
const schedule = (delay) => {
|
|
62
|
-
timer = setTimeout(() => void tick(), delay);
|
|
63
|
-
};
|
|
64
|
-
const tick = async () => {
|
|
65
|
-
try {
|
|
66
|
-
if ((await readMachineConfig()).sandboxUpdates !== false) {
|
|
67
|
-
await runTick(state, await fleet(), async (slug) => await runIc(autoPrepareArgs(slug), () => undefined), log);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
catch (error) {
|
|
71
|
-
log(`auto-prepare: skipped this round — ${errorMessage(error)}`);
|
|
72
|
-
}
|
|
73
|
-
if (!stopped) {
|
|
74
|
-
schedule(TICK_MS + Math.floor(Math.random() * JITTER_MS));
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
schedule(FIRST_TICK_MS + Math.floor(Math.random() * JITTER_MS));
|
|
78
|
-
return {
|
|
79
|
-
stop: () => {
|
|
80
|
-
stopped = true;
|
|
81
|
-
clearTimeout(timer);
|
|
82
|
-
},
|
|
83
|
-
};
|
|
84
|
-
};
|
|
85
|
-
//# sourceMappingURL=auto-prepare.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auto-prepare.js","sourceRoot":"","sources":["../../src/device/auto-prepare.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|