@moxt-ai/mobius 0.0.386 → 0.0.387

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/dist/{chunk-FVYSQLQL.js → chunk-A62FEGIN.js} +11 -24
  2. package/dist/{chunk-FVYSQLQL.js.map → chunk-A62FEGIN.js.map} +3 -3
  3. package/dist/{chunk-Z6JG65YI.js → chunk-S7PKNDIS.js} +2 -2
  4. package/dist/{chunk-Z6JG65YI.js.map → chunk-S7PKNDIS.js.map} +1 -1
  5. package/dist/cli/handler/daemon/index.d.ts.map +1 -1
  6. package/dist/cli/handler/daemon/index.js +9 -4
  7. package/dist/cli/handler/daemon/index.js.map +1 -1
  8. package/dist/cli/handler/daemon/quit.d.ts.map +1 -1
  9. package/dist/cli/handler/daemon/quit.js +5 -4
  10. package/dist/cli/handler/daemon/quit.js.map +1 -1
  11. package/dist/cli/handler/daemon/release.js +1 -1
  12. package/dist/cli/handler/daemon/start.d.ts.map +1 -1
  13. package/dist/cli/handler/daemon/start.js +3 -3
  14. package/dist/cli/handler/daemon/start.js.map +1 -1
  15. package/dist/cli/handler/daemon/upgrade.d.ts.map +1 -1
  16. package/dist/cli/handler/daemon/upgrade.js +8 -24
  17. package/dist/cli/handler/daemon/upgrade.js.map +1 -1
  18. package/dist/cli/handler/pair/pair.js +3 -3
  19. package/dist/cli/handler/pair/pair.js.map +1 -1
  20. package/dist/cli/handler/pair/remove.js +1 -1
  21. package/dist/cli/handler/pair/stop.js +1 -1
  22. package/dist/cli/handler/version/index.d.ts.map +1 -1
  23. package/dist/cli/handler/version/index.js +6 -2
  24. package/dist/cli/handler/version/index.js.map +1 -1
  25. package/dist/{cli-NLIGRBEL.js → cli-43LPJ5ID.js} +412 -1143
  26. package/dist/cli-43LPJ5ID.js.map +7 -0
  27. package/dist/cli.js +1998 -6
  28. package/dist/cli.js.map +4 -4
  29. package/dist/daemon/control/protocol.d.ts +1 -133
  30. package/dist/daemon/control/protocol.d.ts.map +1 -1
  31. package/dist/daemon/control/protocol.js +4 -63
  32. package/dist/daemon/control/protocol.js.map +1 -1
  33. package/dist/daemon/lifecycle/daemon-client.d.ts +8 -0
  34. package/dist/daemon/lifecycle/daemon-client.d.ts.map +1 -0
  35. package/dist/daemon/lifecycle/daemon-client.js +154 -0
  36. package/dist/daemon/lifecycle/daemon-client.js.map +1 -0
  37. package/dist/daemon/lifecycle/{worker.d.ts → daemon.d.ts} +2 -2
  38. package/dist/daemon/lifecycle/daemon.d.ts.map +1 -0
  39. package/dist/daemon/lifecycle/daemon.js +266 -0
  40. package/dist/daemon/lifecycle/daemon.js.map +1 -0
  41. package/dist/daemon/lifecycle/unhandled-rejection.d.ts +1 -2
  42. package/dist/daemon/lifecycle/unhandled-rejection.d.ts.map +1 -1
  43. package/dist/daemon/lifecycle/unhandled-rejection.js +4 -7
  44. package/dist/daemon/lifecycle/unhandled-rejection.js.map +1 -1
  45. package/dist/daemon/upgrades/data.d.ts +0 -1
  46. package/dist/daemon/upgrades/data.d.ts.map +1 -1
  47. package/dist/daemon/upgrades/data.js +0 -5
  48. package/dist/daemon/upgrades/data.js.map +1 -1
  49. package/dist/engine/util/process/platform/windows.d.ts.map +1 -1
  50. package/dist/engine/util/process/platform/windows.js +7 -4
  51. package/dist/engine/util/process/platform/windows.js.map +1 -1
  52. package/dist/engine.js +2 -2
  53. package/dist/storage/daemon/daemon-lock.d.ts +9 -0
  54. package/dist/storage/daemon/daemon-lock.d.ts.map +1 -0
  55. package/dist/storage/daemon/{manager-lock.js → daemon-lock.js} +22 -7
  56. package/dist/storage/daemon/daemon-lock.js.map +1 -0
  57. package/dist/storage/state-root-layout.d.ts +0 -2
  58. package/dist/storage/state-root-layout.d.ts.map +1 -1
  59. package/dist/storage/state-root-layout.js +0 -2
  60. package/dist/storage/state-root-layout.js.map +1 -1
  61. package/package.json +1 -1
  62. package/dist/chunk-T2GPD4RK.js +0 -2002
  63. package/dist/chunk-T2GPD4RK.js.map +0 -7
  64. package/dist/cli/handler/daemon/manager.d.ts +0 -4
  65. package/dist/cli/handler/daemon/manager.d.ts.map +0 -1
  66. package/dist/cli/handler/daemon/manager.js +0 -9
  67. package/dist/cli/handler/daemon/manager.js.map +0 -1
  68. package/dist/cli/handler/daemon/worker.d.ts +0 -4
  69. package/dist/cli/handler/daemon/worker.d.ts.map +0 -1
  70. package/dist/cli/handler/daemon/worker.js +0 -7
  71. package/dist/cli/handler/daemon/worker.js.map +0 -1
  72. package/dist/cli-NLIGRBEL.js.map +0 -7
  73. package/dist/daemon/control/switch-status.d.ts +0 -4
  74. package/dist/daemon/control/switch-status.d.ts.map +0 -1
  75. package/dist/daemon/control/switch-status.js +0 -10
  76. package/dist/daemon/control/switch-status.js.map +0 -1
  77. package/dist/daemon/lifecycle/manager-client.d.ts +0 -8
  78. package/dist/daemon/lifecycle/manager-client.d.ts.map +0 -1
  79. package/dist/daemon/lifecycle/manager-client.js +0 -130
  80. package/dist/daemon/lifecycle/manager-client.js.map +0 -1
  81. package/dist/daemon/lifecycle/manager.d.ts +0 -3
  82. package/dist/daemon/lifecycle/manager.d.ts.map +0 -1
  83. package/dist/daemon/lifecycle/manager.js +0 -215
  84. package/dist/daemon/lifecycle/manager.js.map +0 -1
  85. package/dist/daemon/lifecycle/worker-lifecycle-log.d.ts +0 -14
  86. package/dist/daemon/lifecycle/worker-lifecycle-log.d.ts.map +0 -1
  87. package/dist/daemon/lifecycle/worker-lifecycle-log.js +0 -63
  88. package/dist/daemon/lifecycle/worker-lifecycle-log.js.map +0 -1
  89. package/dist/daemon/lifecycle/worker-process.d.ts +0 -26
  90. package/dist/daemon/lifecycle/worker-process.d.ts.map +0 -1
  91. package/dist/daemon/lifecycle/worker-process.js +0 -145
  92. package/dist/daemon/lifecycle/worker-process.js.map +0 -1
  93. package/dist/daemon/lifecycle/worker.d.ts.map +0 -1
  94. package/dist/daemon/lifecycle/worker.js +0 -213
  95. package/dist/daemon/lifecycle/worker.js.map +0 -1
  96. package/dist/daemon/upgrades/package.d.ts +0 -9
  97. package/dist/daemon/upgrades/package.d.ts.map +0 -1
  98. package/dist/daemon/upgrades/package.js +0 -157
  99. package/dist/daemon/upgrades/package.js.map +0 -1
  100. package/dist/daemon/upgrades/upgrade.d.ts +0 -21
  101. package/dist/daemon/upgrades/upgrade.d.ts.map +0 -1
  102. package/dist/daemon/upgrades/upgrade.js +0 -242
  103. package/dist/daemon/upgrades/upgrade.js.map +0 -1
  104. package/dist/storage/daemon/manager-lock.d.ts +0 -9
  105. package/dist/storage/daemon/manager-lock.d.ts.map +0 -1
  106. package/dist/storage/daemon/manager-lock.js.map +0 -1
  107. package/dist/storage/daemon/release-files.d.ts +0 -9
  108. package/dist/storage/daemon/release-files.d.ts.map +0 -1
  109. package/dist/storage/daemon/release-files.js +0 -14
  110. package/dist/storage/daemon/release-files.js.map +0 -1
@@ -0,0 +1,154 @@
1
+ import { spawn } from "node:child_process";
2
+ import { once } from "node:events";
3
+ import { setTimeout as delay } from "node:timers/promises";
4
+ import { isNodeError } from "../../engine/util/node-error.js";
5
+ import { daemonLockExists } from "../../storage/daemon/daemon-lock.js";
6
+ import { CONTROL_TIMEOUT_MILLISECONDS, sendLocalRequest } from "../control/local-client.js";
7
+ import { decodeKnownLifecycleResponse } from "../control/protocol.js";
8
+ async function spawnDaemon() {
9
+ const entry = process.argv[1];
10
+ if (entry === undefined) {
11
+ throw new Error("The CLI entrypoint is missing");
12
+ }
13
+ const child = spawn(process.execPath, [entry, "__daemon"], {
14
+ detached: true,
15
+ windowsHide: true,
16
+ env: process.env,
17
+ stdio: "ignore",
18
+ });
19
+ await once(child, "spawn");
20
+ child.unref();
21
+ return child;
22
+ }
23
+ async function launchDaemon(version) {
24
+ process.stdout.write(`Starting mobius daemon ${version}\n`);
25
+ return await spawnDaemon();
26
+ }
27
+ async function waitForDaemonExit(stateDirectory, signal) {
28
+ const deadline = AbortSignal.any([signal, AbortSignal.timeout(30_000)]);
29
+ while (!deadline.aborted) {
30
+ if (!(await daemonLockExists(stateDirectory))) {
31
+ return;
32
+ }
33
+ await new Promise((resolve, reject) => {
34
+ const timeout = setTimeout(finish, 20);
35
+ const abort = () => finish(deadline.reason);
36
+ function finish(cause) {
37
+ clearTimeout(timeout);
38
+ deadline.removeEventListener("abort", abort);
39
+ cause === undefined ? resolve() : reject(cause);
40
+ }
41
+ deadline.addEventListener("abort", abort, { once: true });
42
+ });
43
+ }
44
+ throw deadline.reason;
45
+ }
46
+ // The invoking CLI owns the release. npx resolves it before any daemon is stopped.
47
+ export async function ensureDaemon(stateDirectory, version, signal) {
48
+ const running = await readDaemonVersion(stateDirectory, signal);
49
+ if (running !== null) {
50
+ return running;
51
+ }
52
+ const deadline = AbortSignal.any([signal, AbortSignal.timeout(CONTROL_TIMEOUT_MILLISECONDS)]);
53
+ return await waitForDaemon(stateDirectory, version, deadline);
54
+ }
55
+ // Status keeps the released wire format; the worker field identifies the daemon.
56
+ export async function readDaemonVersion(stateDirectory, signal) {
57
+ try {
58
+ const response = decodeKnownLifecycleResponse(await sendLocalRequest(stateDirectory, "manager", { kind: "status" }, signal));
59
+ if (response?.kind === "status") {
60
+ return response.worker?.version ?? null;
61
+ }
62
+ }
63
+ catch (cause) {
64
+ if (!isNodeError(cause, "ENOENT") && !isNodeError(cause, "ECONNREFUSED")) {
65
+ throw cause;
66
+ }
67
+ }
68
+ return null;
69
+ }
70
+ async function waitForDaemon(stateDirectory, version, signal) {
71
+ let daemonStarted = false;
72
+ let child;
73
+ while (!signal.aborted) {
74
+ try {
75
+ let response = decodeKnownLifecycleResponse(await sendLocalRequest(stateDirectory, "manager", { kind: "status" }, signal));
76
+ if (response?.kind === "status" && response.worker === null) {
77
+ const entry = process.argv[1];
78
+ if (entry === undefined) {
79
+ throw new Error("The CLI entrypoint is missing");
80
+ }
81
+ // A released manager may still own control after its worker exits.
82
+ // Reuse its authenticated launch protocol instead of competing for its lock.
83
+ response = decodeKnownLifecycleResponse(await sendLocalRequest(stateDirectory, "manager", { kind: "ensure", launch: { entry, executable: process.execPath, version } }, signal));
84
+ }
85
+ if (response?.kind === "error") {
86
+ throw new Error(response.message);
87
+ }
88
+ if (response?.kind === "status" && response.worker !== null) {
89
+ if (daemonStarted) {
90
+ process.stdout.write(`Mobius daemon ${version} started\n`);
91
+ }
92
+ return response.worker.version;
93
+ }
94
+ throw new Error("The daemon could not return its status");
95
+ }
96
+ catch (cause) {
97
+ if (!isNodeError(cause, "ENOENT") && !isNodeError(cause, "ECONNREFUSED")) {
98
+ throw cause;
99
+ }
100
+ // A competing launcher can exit successfully after losing the lock.
101
+ // Check the shared endpoint first and keep waiting for its owner.
102
+ if (child !== undefined &&
103
+ (child.signalCode !== null ||
104
+ (child.exitCode !== null && (child.exitCode !== 0 || !(await daemonLockExists(stateDirectory)))))) {
105
+ throw new Error("The daemon exited before becoming ready");
106
+ }
107
+ if (!daemonStarted) {
108
+ child = await launchDaemon(version);
109
+ daemonStarted = true;
110
+ }
111
+ await new Promise((resolve, reject) => {
112
+ const timeout = setTimeout(finish, 50);
113
+ const abort = () => finish(signal.reason);
114
+ function finish(cause) {
115
+ clearTimeout(timeout);
116
+ signal.removeEventListener("abort", abort);
117
+ cause === undefined ? resolve() : reject(cause);
118
+ }
119
+ signal.addEventListener("abort", abort, { once: true });
120
+ });
121
+ }
122
+ }
123
+ throw signal.reason;
124
+ }
125
+ export async function stopDaemon(stateDirectory, signal) {
126
+ const deadline = AbortSignal.any([signal, AbortSignal.timeout(CONTROL_TIMEOUT_MILLISECONDS)]);
127
+ while (true) {
128
+ deadline.throwIfAborted();
129
+ try {
130
+ const response = decodeKnownLifecycleResponse(await sendLocalRequest(stateDirectory, "manager", { kind: "stop" }, deadline));
131
+ if (response?.kind === "error") {
132
+ throw new Error(response.message);
133
+ }
134
+ if (response?.kind !== "stopped") {
135
+ throw new Error("The Mobius daemon returned an unexpected response");
136
+ }
137
+ await waitForDaemonExit(stateDirectory, deadline);
138
+ return response;
139
+ }
140
+ catch (cause) {
141
+ deadline.throwIfAborted();
142
+ if (!isNodeError(cause, "ENOENT") && !isNodeError(cause, "ECONNREFUSED")) {
143
+ throw cause;
144
+ }
145
+ if (!(await daemonLockExists(stateDirectory))) {
146
+ return { kind: "stopped" };
147
+ }
148
+ // The owner may still be copying data or discovering Agents. Its missing
149
+ // socket is not proof of shutdown: wait for control or report the deadline.
150
+ await delay(50, undefined, { signal: deadline });
151
+ }
152
+ }
153
+ }
154
+ //# sourceMappingURL=daemon-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-client.js","sourceRoot":"","sources":["../../../src/daemon/lifecycle/daemon-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAA0B,MAAM,wBAAwB,CAAC;AAE9F,KAAK,UAAU,WAAW;IACtB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE;QACvD,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,QAAQ;KAClB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3B,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAAe;IACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,OAAO,IAAI,CAAC,CAAC;IAC5D,OAAO,MAAM,WAAW,EAAE,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,cAAqC,EAAE,MAAmB;IACvF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO;QACX,CAAC;QACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,GAAS,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAClD,SAAS,MAAM,CAAC,KAAe;gBAC3B,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC7C,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpD,CAAC;YACD,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACP,CAAC;IACD,MAAM,QAAQ,CAAC,MAAM,CAAC;AAC1B,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,cAAqC,EACrC,OAAe,EACf,MAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAChE,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;IAC9F,OAAO,MAAM,aAAa,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,cAAqC,EACrC,MAAmB;IAEnB,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,4BAA4B,CACzC,MAAM,gBAAgB,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,CAChF,CAAC;QACF,IAAI,QAAQ,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,QAAQ,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC;QAC5C,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC;YACvE,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,aAAa,CACxB,cAAqC,EACrC,OAAe,EACf,MAAmB;IAEnB,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,KAA+B,CAAC;IACpC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC;YACD,IAAI,QAAQ,GAAG,4BAA4B,CACvC,MAAM,gBAAgB,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,CAChF,CAAC;YACF,IAAI,QAAQ,EAAE,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACrD,CAAC;gBACD,mEAAmE;gBACnE,6EAA6E;gBAC7E,QAAQ,GAAG,4BAA4B,CACnC,MAAM,gBAAgB,CAClB,cAAc,EACd,SAAS,EACT,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAC5E,MAAM,CACT,CACJ,CAAC;YACN,CAAC;YACD,IAAI,QAAQ,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,QAAQ,EAAE,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBAC1D,IAAI,aAAa,EAAE,CAAC;oBAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,OAAO,YAAY,CAAC,CAAC;gBAC/D,CAAC;gBACD,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;YACnC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC;gBACvE,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,oEAAoE;YACpE,kEAAkE;YAClE,IACI,KAAK,KAAK,SAAS;gBACnB,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI;oBACtB,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EACvG,CAAC;gBACC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;gBACpC,aAAa,GAAG,IAAI,CAAC;YACzB,CAAC;YACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACxC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACvC,MAAM,KAAK,GAAG,GAAS,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChD,SAAS,MAAM,CAAC,KAAe;oBAC3B,YAAY,CAAC,OAAO,CAAC,CAAC;oBACtB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBAC3C,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpD,CAAC;gBACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IACD,MAAM,MAAM,CAAC,MAAM,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,cAAqC,EACrC,MAAmB;IAEnB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;IAC9F,OAAO,IAAI,EAAE,CAAC;QACV,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC1B,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,4BAA4B,CACzC,MAAM,gBAAgB,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,CAChF,CAAC;YACF,IAAI,QAAQ,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,QAAQ,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,iBAAiB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YAClD,OAAO,QAAQ,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC;gBACvE,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;gBAC5C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC/B,CAAC;YACD,yEAAyE;YACzE,4EAA4E;YAC5E,MAAM,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -2,5 +2,5 @@ import type { InstallationDirectory } from "../../engine/storage/installation/in
2
2
  export declare function reloadDaemon(stateDirectory: InstallationDirectory, signal: AbortSignal): Promise<void>;
3
3
  /** Releases idle Agent processes of a running daemon; succeeds when no daemon is running. */
4
4
  export declare function releaseIdleAgentProcesses(stateDirectory: InstallationDirectory, signal: AbortSignal): Promise<void>;
5
- export declare function runWorker(version: string, signal: AbortSignal): Promise<void>;
6
- //# sourceMappingURL=worker.d.ts.map
5
+ export declare function runDaemon(version: string, signal: AbortSignal, owner?: "standalone" | "legacy-manager"): Promise<void>;
6
+ //# sourceMappingURL=daemon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/daemon/lifecycle/daemon.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AA8BrG,wBAAsB,YAAY,CAAC,cAAc,EAAE,qBAAqB,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB5G;AAED,6FAA6F;AAC7F,wBAAsB,yBAAyB,CAC3C,cAAc,EAAE,qBAAqB,EACrC,MAAM,EAAE,WAAW,GACpB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAsB,SAAS,CAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,EACnB,KAAK,GAAE,YAAY,GAAG,gBAA+B,GACtD,OAAO,CAAC,IAAI,CAAC,CAkCf"}
@@ -0,0 +1,266 @@
1
+ import { setTimeout as delay } from "node:timers/promises";
2
+ import { refreshAgentCatalog } from "../../engine/runtime/catalog/refresh-agent-catalog.js";
3
+ import { RuntimeInstallationStore } from "../../engine/runtime/connection/runtime-installation-store.js";
4
+ import { prepareRuntimeConnection } from "../../engine/runtime/pairing.js";
5
+ import { RuntimeLoop } from "../../engine/runtime/runtime-loop.js";
6
+ import { RuntimeAgentProcesses } from "../../engine/session/process/runtime-agent-processes.js";
7
+ import { RuntimeTurnActivity } from "../../engine/session/turn/runtime-turn-activity.js";
8
+ import { BoundedLineLog } from "../../engine/storage/logs/bounded-log.js";
9
+ import { logDirectory, WORKER_LIFECYCLE_LOG_FILENAME } from "../../engine/storage/logs/log-files.js";
10
+ import { isNodeError } from "../../engine/util/node-error.js";
11
+ import { acquireDaemonLock, daemonLockExists } from "../../storage/daemon/daemon-lock.js";
12
+ import { prepareMobiusEngineDataDir, resolveMaxAcpProcesses } from "../config.js";
13
+ import { sendLocalRequest } from "../control/local-client.js";
14
+ import { serveLocalControl } from "../control/local-server.js";
15
+ import { openMobiusControlInstallation } from "../pairing/pair-local-machine.js";
16
+ import { prepareVersionData, recordCurrentData } from "../upgrades/data.js";
17
+ import { surviveUnhandledRejections } from "./unhandled-rejection.js";
18
+ class DaemonRuntimeError extends Error {
19
+ code = "worker_runtime_failed";
20
+ constructor(connectionId, cause) {
21
+ super(`Runtime ${connectionId} failed`, { cause });
22
+ }
23
+ }
24
+ // Older daemons serve reload/release on a separate worker socket. A null reply
25
+ // means their manager did not recognize the command; no side effect occurred.
26
+ async function sendDaemonCommand(directory, kind, signal) {
27
+ const response = await sendLocalRequest(directory, "manager", { kind }, signal);
28
+ return response === null ? await sendLocalRequest(directory, "worker", { kind }, signal) : response;
29
+ }
30
+ export async function reloadDaemon(stateDirectory, signal) {
31
+ try {
32
+ const response = await sendDaemonCommand(stateDirectory, "reload", signal);
33
+ if (typeof response !== "object" ||
34
+ response === null ||
35
+ !("kind" in response) ||
36
+ response.kind !== "reloaded") {
37
+ throw new Error("Saved configuration could not be applied to the running daemon");
38
+ }
39
+ }
40
+ catch (cause) {
41
+ if (!isNodeError(cause, "ENOENT") && !isNodeError(cause, "ECONNREFUSED")) {
42
+ throw cause;
43
+ }
44
+ }
45
+ }
46
+ /** Releases idle Agent processes of a running daemon; succeeds when no daemon is running. */
47
+ export async function releaseIdleAgentProcesses(stateDirectory, signal) {
48
+ try {
49
+ const response = await sendDaemonCommand(stateDirectory, "release", signal);
50
+ if (typeof response === "object" && response !== null && "kind" in response && response.kind === "released") {
51
+ return;
52
+ }
53
+ throw new Error("The running daemon cannot release Agent sessions. Run `npx --yes @moxt-ai/mobius@latest restart` to update it first.");
54
+ }
55
+ catch (cause) {
56
+ if (!isNodeError(cause, "ENOENT") && !isNodeError(cause, "ECONNREFUSED")) {
57
+ throw cause;
58
+ }
59
+ }
60
+ }
61
+ export async function runDaemon(version, signal, owner = "standalone") {
62
+ if (owner === "legacy-manager" && !process.connected) {
63
+ throw new Error("The legacy worker entrypoint requires a manager IPC connection");
64
+ }
65
+ // Install before any await: an unhandled rejection during startup itself
66
+ // must not kill the daemon before the guard exists.
67
+ const rejectionGuard = surviveUnhandledRejections();
68
+ const shutdown = new AbortController();
69
+ const combined = AbortSignal.any([signal, shutdown.signal]);
70
+ const disconnect = () => shutdown.abort();
71
+ if (owner === "legacy-manager") {
72
+ process.once("disconnect", disconnect);
73
+ }
74
+ try {
75
+ await runDaemonRuntime(version, combined, shutdown, rejectionGuard, owner);
76
+ }
77
+ catch (cause) {
78
+ const control = await openMobiusControlInstallation(AbortSignal.timeout(5_000), process.env);
79
+ new BoundedLineLog(logDirectory(control.stateDirectory), WORKER_LIFECYCLE_LOG_FILENAME, 512 * 1024).record(JSON.stringify({
80
+ kind: "daemon_failed",
81
+ message: cause instanceof Error ? cause.message : "Daemon failed",
82
+ }));
83
+ throw cause;
84
+ }
85
+ finally {
86
+ shutdown.abort();
87
+ rejectionGuard.release();
88
+ if (owner === "legacy-manager") {
89
+ process.off("disconnect", disconnect);
90
+ if (process.connected) {
91
+ process.disconnect();
92
+ }
93
+ }
94
+ }
95
+ }
96
+ async function runDaemonRuntime(version, combined, shutdown, rejectionGuard, owner) {
97
+ const control = await openMobiusControlInstallation(combined, process.env);
98
+ const releaseDaemon = await acquireDaemonLock(control.stateDirectory, owner === "legacy-manager" ? "worker.lock" : "manager.lock");
99
+ if (releaseDaemon === null) {
100
+ return;
101
+ }
102
+ const lifecycleLog = new BoundedLineLog(logDirectory(control.stateDirectory), WORKER_LIFECYCLE_LOG_FILENAME, 512 * 1024);
103
+ lifecycleLog.record(JSON.stringify({ kind: "daemon_started", pid: process.pid, version, timestamp: new Date().toISOString() }));
104
+ try {
105
+ if (owner === "standalone") {
106
+ // A dead manager's worker may still be draining control requests. Its
107
+ // lock outlives socket cleanup, so wait before touching either data or sockets.
108
+ const deadline = AbortSignal.any([combined, AbortSignal.timeout(30_000)]);
109
+ while (await daemonLockExists(control.stateDirectory, "worker.lock")) {
110
+ await delay(50, undefined, { signal: deadline });
111
+ }
112
+ deadline.throwIfAborted();
113
+ }
114
+ await prepareVersionData(version, combined);
115
+ const engineDataDir = await prepareMobiusEngineDataDir(version, combined, process.env);
116
+ const installation = await RuntimeInstallationStore.open(engineDataDir, combined);
117
+ rejectionGuard.bindStateDirectory(control.stateDirectory);
118
+ const turnActivity = new RuntimeTurnActivity();
119
+ const agentProcesses = new RuntimeAgentProcesses();
120
+ const active = new Map();
121
+ const fail = (connectionId, cause) => {
122
+ console.error(`Runtime ${connectionId} failed; stopping the daemon`, cause);
123
+ shutdown.abort(new DaemonRuntimeError(connectionId, cause));
124
+ };
125
+ const reconcile = async () => {
126
+ const connections = await installation.listConnections(combined);
127
+ const enabled = new Set(connections
128
+ .filter((connection) => connection.activation === "active")
129
+ .map((connection) => connection.connectionId));
130
+ for (const [id, running] of active) {
131
+ if (enabled.has(id)) {
132
+ continue;
133
+ }
134
+ running.controller.abort();
135
+ await running.completion;
136
+ active.delete(id);
137
+ }
138
+ for (const connection of connections) {
139
+ if (!enabled.has(connection.connectionId) || active.has(connection.connectionId)) {
140
+ continue;
141
+ }
142
+ try {
143
+ const config = await prepareRuntimeConnection(installation, connection, combined, process.env, resolveMaxAcpProcesses(process.env));
144
+ const controller = new AbortController();
145
+ // Process diagnostics live beside the shared control directory,
146
+ // so every Runtime can include them in bug reports.
147
+ const loop = new RuntimeLoop(async () => config, {
148
+ processLogsDirectory: control.stateDirectory,
149
+ turnActivity,
150
+ agentProcesses,
151
+ });
152
+ const completion = loop
153
+ .run(AbortSignal.any([combined, controller.signal]))
154
+ .then(() => {
155
+ if (!combined.aborted && !controller.signal.aborted) {
156
+ fail(connection.connectionId, new Error("The Runtime stopped unexpectedly"));
157
+ }
158
+ }, (cause) => {
159
+ if (!combined.aborted && !controller.signal.aborted) {
160
+ fail(connection.connectionId, cause);
161
+ }
162
+ })
163
+ .finally(() => active.delete(connection.connectionId));
164
+ active.set(connection.connectionId, { config, controller, completion });
165
+ }
166
+ catch (cause) {
167
+ combined.throwIfAborted();
168
+ fail(connection.connectionId, cause);
169
+ throw cause;
170
+ }
171
+ }
172
+ };
173
+ const refreshRunningCatalogs = async (connectionIds) => {
174
+ await Promise.all([...connectionIds].map(async (connectionId) => {
175
+ const config = active.get(connectionId)?.config;
176
+ if (config?.rediscoverAgents === undefined) {
177
+ return;
178
+ }
179
+ try {
180
+ await refreshAgentCatalog(config, config.rediscoverAgents, AbortSignal.any([combined, AbortSignal.timeout(90_000)]));
181
+ }
182
+ catch (cause) {
183
+ combined.throwIfAborted();
184
+ // The Runtime keeps serving its previous catalog; the reload itself still applies.
185
+ console.error(`Runtime ${connectionId} could not refresh its Agent catalog`, cause);
186
+ }
187
+ }));
188
+ };
189
+ let reload = Promise.resolve();
190
+ const handle = async (request) => {
191
+ if (typeof request === "object" && request !== null && "kind" in request) {
192
+ if (request.kind === "status" || request.kind === "ensure") {
193
+ return { kind: "status", protocolVersion: 2, worker: { pid: process.pid, version } };
194
+ }
195
+ if (request.kind === "stop") {
196
+ return { kind: "stopped" };
197
+ }
198
+ }
199
+ if (typeof request === "object" && request !== null && "kind" in request && request.kind === "release") {
200
+ // Agents' own clients can continue the conversations that idle processes held.
201
+ await agentProcesses.retireIdleProcesses();
202
+ return { kind: "released" };
203
+ }
204
+ if (typeof request !== "object" || request === null || !("kind" in request) || request.kind !== "reload") {
205
+ return { kind: "error", code: "invalid_reload", message: "Expected a configuration reload" };
206
+ }
207
+ // A reload, such as `mobius start` after the user installs or signs in to an Agent, also re-reads the
208
+ // Agent inventory of Runtimes that were already running; Runtimes it starts read it themselves.
209
+ const running = new Set(active.keys());
210
+ const pending = reload.then(reconcile).then(async () => await refreshRunningCatalogs(running));
211
+ reload = pending.catch(() => undefined);
212
+ await pending;
213
+ return { kind: "reloaded" };
214
+ };
215
+ try {
216
+ await reconcile();
217
+ // CLI mutations follow this pointer as soon as status reports readiness.
218
+ await recordCurrentData(version, combined);
219
+ lifecycleLog.record(JSON.stringify({
220
+ kind: "daemon_ready",
221
+ pid: process.pid,
222
+ version,
223
+ timestamp: new Date().toISOString(),
224
+ }));
225
+ // A legacy manager still owns its endpoint; only standalone daemons serve both.
226
+ const servers = owner === "legacy-manager" ? ["worker"] : ["manager", "worker"];
227
+ const results = await Promise.allSettled(servers.map(async (endpoint) => {
228
+ try {
229
+ await serveLocalControl(control.stateDirectory, endpoint, combined, handle, () => {
230
+ if (owner === "legacy-manager") {
231
+ combined.throwIfAborted();
232
+ process.send?.({ kind: "worker-ready", version }, () => undefined);
233
+ }
234
+ }, (response) => {
235
+ if (typeof response === "object" &&
236
+ response !== null &&
237
+ "kind" in response &&
238
+ response.kind === "stopped") {
239
+ shutdown.abort();
240
+ }
241
+ });
242
+ }
243
+ finally {
244
+ shutdown.abort();
245
+ }
246
+ }));
247
+ for (const result of results) {
248
+ if (result.status === "rejected") {
249
+ throw result.reason;
250
+ }
251
+ }
252
+ if (shutdown.signal.reason instanceof DaemonRuntimeError) {
253
+ throw shutdown.signal.reason;
254
+ }
255
+ }
256
+ finally {
257
+ shutdown.abort();
258
+ await reload;
259
+ await Promise.all([...active.values()].map((running) => running.completion));
260
+ }
261
+ }
262
+ finally {
263
+ await releaseDaemon();
264
+ }
265
+ }
266
+ //# sourceMappingURL=daemon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/daemon/lifecycle/daemon.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import type { InstallationDirectory } from "../../engine/storage/installation/installation-files.ts";
2
- export type DaemonProcessRole = "manager" | "worker";
3
2
  export interface UnhandledRejectionGuard {
4
3
  readonly bindStateDirectory: (stateDirectory: InstallationDirectory) => void;
5
4
  readonly release: () => void;
6
5
  }
7
- export declare function surviveUnhandledRejections(role: DaemonProcessRole): UnhandledRejectionGuard;
6
+ export declare function surviveUnhandledRejections(): UnhandledRejectionGuard;
8
7
  //# sourceMappingURL=unhandled-rejection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unhandled-rejection.d.ts","sourceRoot":"","sources":["../../../src/daemon/lifecycle/unhandled-rejection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AAQrG,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAqBrD,MAAM,WAAW,uBAAuB;IAGpC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,cAAc,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC7E,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAChC;AAaD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,iBAAiB,GAAG,uBAAuB,CA6C3F"}
1
+ {"version":3,"file":"unhandled-rejection.d.ts","sourceRoot":"","sources":["../../../src/daemon/lifecycle/unhandled-rejection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AA2BrG,MAAM,WAAW,uBAAuB;IAGpC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,cAAc,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC7E,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAChC;AAUD,wBAAgB,0BAA0B,IAAI,uBAAuB,CA6CpE"}
@@ -25,15 +25,12 @@ function describeRejection(reason) {
25
25
  // Node's default unhandled rejection mode kills the process, which would take
26
26
  // the whole daemon down for a stray floating promise. While this guard is
27
27
  // installed every unhandled rejection is recorded instead — stderr for the
28
- // supervised worker's captured tail, a bounded local log beside the other
28
+ // console, a bounded local log beside the other
29
29
  // daemon logs once its directory is bound. Recording is best-effort: a broken
30
30
  // log must never become the failure that kills the daemon.
31
31
  //
32
- // Each role writes its own file: BoundedLineLog rotation is not safe across
33
- // processes, so a file must have exactly one writer. The manager owns its file
34
- // through manager.lock; the worker must bind only after acquiring worker.lock,
35
- // which makes it the sole writer of its own file.
36
- export function surviveUnhandledRejections(role) {
32
+ // Bind after taking the daemon lock so the bounded log has exactly one writer.
33
+ export function surviveUnhandledRejections() {
37
34
  let log = null;
38
35
  const pending = [];
39
36
  const record = (reason) => {
@@ -63,7 +60,7 @@ export function surviveUnhandledRejections(role) {
63
60
  if (log !== null) {
64
61
  return;
65
62
  }
66
- log = new BoundedLineLog(logDirectory(stateDirectory), unhandledRejectionLogFilename(role), MAXIMUM_REJECTION_LOG_BYTES, (cause) => {
63
+ log = new BoundedLineLog(logDirectory(stateDirectory), unhandledRejectionLogFilename("worker"), MAXIMUM_REJECTION_LOG_BYTES, (cause) => {
67
64
  process.stderr.write(`The unhandled rejection log could not be written: ${String(cause)}\n`);
68
65
  });
69
66
  for (const entry of pending.splice(0)) {
@@ -1 +1 @@
1
- {"version":3,"file":"unhandled-rejection.js","sourceRoot":"","sources":["../../../src/daemon/lifecycle/unhandled-rejection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unhandled-rejection.js","sourceRoot":"","sources":["../../../src/daemon/lifecycle/unhandled-rejection.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
1
  export declare function prepareVersionData(version: string, signal: AbortSignal): Promise<void>;
2
- export declare function discardRolledBackData(version: string, signal: AbortSignal): Promise<void>;
3
2
  export declare function recordCurrentData(version: string, signal: AbortSignal): Promise<void>;
4
3
  //# sourceMappingURL=data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/daemon/upgrades/data.ts"],"names":[],"mappings":"AAWA,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAY5F;AAID,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/F;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3F"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/daemon/upgrades/data.ts"],"names":[],"mappings":"AAWA,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAY5F;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3F"}
@@ -16,11 +16,6 @@ export async function prepareVersionData(version, signal) {
16
16
  await discardVersionData(root, targetVersion, signal);
17
17
  await copyVersionData(root, current, targetVersion, signal);
18
18
  }
19
- // A version whose switch rolled back never had the current data; once the previous version runs again, its copy is
20
- // stale, and its next attempt must inherit the current data rather than reuse that copy.
21
- export async function discardRolledBackData(version, signal) {
22
- await discardVersionData(readStateDirectory(), decodeRuntimeUpgradeVersion(version), signal);
23
- }
24
19
  export async function recordCurrentData(version, signal) {
25
20
  await writeCurrentDataVersion(readStateDirectory(), decodeRuntimeUpgradeVersion(version), signal);
26
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/daemon/upgrades/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EACH,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,GAC1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,sHAAsH;AACtH,kCAAkC;AAClC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAe,EAAE,MAAmB;IACzE,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;IAClC,MAAM,aAAa,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3D,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;QAChD,OAAO;IACX,CAAC;IACD,6GAA6G;IAC7G,yFAAyF;IACzF,MAAM,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC;AAED,mHAAmH;AACnH,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAe,EAAE,MAAmB;IAC5E,MAAM,kBAAkB,CAAC,kBAAkB,EAAE,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,MAAmB;IACxE,MAAM,uBAAuB,CAAC,kBAAkB,EAAE,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;AACtG,CAAC"}
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/daemon/upgrades/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EACH,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,GAC1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,sHAAsH;AACtH,kCAAkC;AAClC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAe,EAAE,MAAmB;IACzE,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;IAClC,MAAM,aAAa,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3D,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;QAChD,OAAO;IACX,CAAC;IACD,6GAA6G;IAC7G,yFAAyF;IACzF,MAAM,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,MAAmB;IACxE,MAAM,uBAAuB,CAAC,kBAAkB,EAAE,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;AACtG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../../../../../src/engine/util/process/platform/windows.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAiB,sBAAsB,EAA0C,MAAM,gBAAgB,CAAC;AAuHpH,eAAO,MAAM,sBAAsB,EAAE,sBAYpC,CAAC"}
1
+ {"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../../../../../src/engine/util/process/platform/windows.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAiB,sBAAsB,EAA0C,MAAM,gBAAgB,CAAC;AA0HpH,eAAO,MAAM,sBAAsB,EAAE,sBAYpC,CAAC"}
@@ -33,10 +33,13 @@ async function resolveExecutableTarget(path) {
33
33
  // npm cmd-shim entrypoints are Node scripts. Resolve the script instead of
34
34
  // handing untrusted arguments to cmd.exe's command language.
35
35
  const shim = await readFile(resolvedPath, "utf8");
36
- // Node's bundled npm uses its own shim format, not npm cmd-shim.
37
- if (shim.includes('SET "NPM_CLI_JS=%~dp0\\node_modules\\npm\\bin\\npm-cli.js"') &&
38
- shim.includes('"%NODE_EXE%" "%NPM_CLI_JS%" %*')) {
39
- return await realpath(resolve(dirname(resolvedPath), "node_modules/npm/bin/npm-cli.js"));
36
+ // Node ships npm and npx with the same verified wrapper format.
37
+ for (const tool of ["npm", "npx"]) {
38
+ const variable = `${tool.toUpperCase()}_CLI_JS`;
39
+ if (shim.includes(`SET "${variable}=%~dp0\\node_modules\\npm\\bin\\${tool}-cli.js"`) &&
40
+ shim.includes(`"%NODE_EXE%" "%${variable}%" %*`)) {
41
+ return await realpath(resolve(dirname(resolvedPath), `node_modules/npm/bin/${tool}-cli.js`));
42
+ }
40
43
  }
41
44
  const script = /"%_prog%"\s+"%dp0%[\\/]([^"\r\n]+\.(?:js|mjs|cjs))"\s+%\*/iu.exec(shim)?.[1];
42
45
  if (script !== undefined && shim.includes("SET dp0=%~dp0")) {
@@ -1 +1 @@
1
- {"version":3,"file":"windows.js","sourceRoot":"","sources":["../../../../../src/engine/util/process/platform/windows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9D,SAAS,gBAAgB,CAAC,WAAwC,EAAE,IAAY;IAC5E,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACtG,CAAC;AAED,SAAS,oBAAoB,CAAC,cAAsB,EAAE,WAAwC;IAC1F,IAAI,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,qBAAqB,CAAC;IACrF,MAAM,UAAU,GAAG,UAAU;SACxB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACpC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3C,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC;IACnF,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,IAAY;IAC/C,IAAI,YAAoB,CAAC;IACzB,IAAI,CAAC;QACD,YAAY,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrG,MAAM,KAAK,CAAC;QAChB,CAAC;QACD,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QACjD,2EAA2E;QAC3E,6DAA6D;QAC7D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAClD,iEAAiE;QACjE,IACI,IAAI,CAAC,QAAQ,CAAC,4DAA4D,CAAC;YAC3E,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EACjD,CAAC;YACC,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,iCAAiC,CAAC,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,MAAM,GAAG,6DAA6D,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7F,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACzD,YAAY,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACJ,MAAM,UAAU,GAAG,iEAAiE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACrG,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC1D,MAAM,IAAI,qBAAqB,CAC3B,4BAA4B,EAC5B,uDAAuD,CAC1D,CAAC;YACN,CAAC;YACD,YAAY,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QAC9E,CAAC;IACL,CAAC;IACD,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe,EAAE,IAAuB;IAC9D,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACxE,CAAC;IACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,qBAAqB,CAC3B,4BAA4B,EAC5B,uDAAuD,CAC1D,CAAC;IACN,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,gBAAgB;IACrB,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC/D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QAChC,QAAQ,CACJ,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAC3E;YACI,SAAS;YACT,YAAY;YACZ,iBAAiB;YACjB,UAAU;YACV,sGAAsG;SACzG,EACD;YACI,QAAQ,EAAE,MAAM;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;YAClC,SAAS,EAAE,IAAI,GAAG,IAAI;SACzB,EACD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACnF,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,uBAAuB,CAC5B,SAAyC,EACzC,cAAsB,EACtB,MAAc;IAEd,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,IAAI,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACL,yDAAyD;QAC7D,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAmB,EAAE,MAAsB;IACjE,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAClF,OAAO;IACX,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAA2B;IAC1D,aAAa,EAAE,GAAG;IAClB,gBAAgB;IAChB,oBAAoB;IACpB,uBAAuB;IACvB,gBAAgB;IAChB,YAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE;IACpD,uBAAuB;IACvB,gBAAgB;IAChB,gBAAgB;IAChB,6BAA6B,EAAE,GAAG,EAAE,CAAC,EAAE;IACvC,aAAa;CAChB,CAAC"}
1
+ {"version":3,"file":"windows.js","sourceRoot":"","sources":["../../../../../src/engine/util/process/platform/windows.ts"],"names":[],"mappings":"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"}
package/dist/engine.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  MobiusRuntimeEngine,
3
3
  RuntimeRelayRevokedError
4
- } from "./chunk-FVYSQLQL.js";
5
- import "./chunk-Z6JG65YI.js";
4
+ } from "./chunk-A62FEGIN.js";
5
+ import "./chunk-S7PKNDIS.js";
6
6
  export {
7
7
  MobiusRuntimeEngine,
8
8
  RuntimeRelayRevokedError