@agent-link/agent 0.1.299 → 0.1.300
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/dist/bootstrap-delegator.js +7 -1
- package/dist/bootstrap-delegator.js.map +1 -1
- package/dist/cli.js +47 -2
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +8 -0
- package/dist/config.js +3 -20
- package/dist/config.js.map +1 -1
- package/dist/connection.d.ts +20 -0
- package/dist/connection.js +38 -3
- package/dist/connection.js.map +1 -1
- package/dist/external-upgrade.js +12 -7
- package/dist/external-upgrade.js.map +1 -1
- package/dist/index.js +126 -8
- package/dist/index.js.map +1 -1
- package/dist/launcher-manager.d.ts +7 -1
- package/dist/launcher-manager.js +36 -2
- package/dist/launcher-manager.js.map +1 -1
- package/dist/local-control.d.ts +3 -0
- package/dist/local-control.js.map +1 -1
- package/dist/process-identity.js +1 -1
- package/dist/process-identity.js.map +1 -1
- package/dist/upgrade-job.d.ts +25 -1
- package/dist/upgrade-job.js +89 -8
- package/dist/upgrade-job.js.map +1 -1
- package/dist/upgrade-lock.d.ts +2 -1
- package/dist/upgrade-lock.js +51 -6
- package/dist/upgrade-lock.js.map +1 -1
- package/dist/upgrade-operations.d.ts +20 -0
- package/dist/upgrade-operations.js +538 -0
- package/dist/upgrade-operations.js.map +1 -0
- package/dist/worker-upgrade-cli-result.d.ts +10 -0
- package/dist/worker-upgrade-cli-result.js +38 -0
- package/dist/worker-upgrade-cli-result.js.map +1 -0
- package/launcher/launcher.cjs +518 -4
- package/package.json +1 -1
- package/worker/worker.cjs +724 -39
package/dist/upgrade-lock.d.ts
CHANGED
|
@@ -18,8 +18,9 @@ export interface UpgradeLock {
|
|
|
18
18
|
}
|
|
19
19
|
export declare function getUpgradeLockPath(): string;
|
|
20
20
|
export declare function loadUpgradeLockOwner(): UpgradeLockOwner;
|
|
21
|
-
export declare function acquireUpgradeLock(jobId: string): UpgradeLock;
|
|
21
|
+
export declare function acquireUpgradeLock(jobId: string, nonce?: string): UpgradeLock;
|
|
22
22
|
export declare function assignUpgradeLockWorker(jobId: string, nonce: string, worker: ProcessIdentity): UpgradeLockOwner;
|
|
23
23
|
export declare function releaseUpgradeLockForWorker(jobId: string, nonce: string, worker: ProcessIdentity): void;
|
|
24
24
|
export declare function hasUpgradeLock(): boolean;
|
|
25
25
|
export declare function loadUpgradeLockWorkerClaim(): ProcessIdentity | null;
|
|
26
|
+
export declare function reclaimStaleUpgradeLock(jobId: string, nonce: string): boolean;
|
package/dist/upgrade-lock.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { closeSync, existsSync, fsyncSync, mkdirSync, openSync, readFileSync, renameSync, rmSync, writeFileSync, } from 'fs';
|
|
2
2
|
import { join, resolve } from 'path';
|
|
3
|
-
import { randomUUID } from 'crypto';
|
|
3
|
+
import { createHash, randomUUID } from 'crypto';
|
|
4
4
|
import { CONFIG_DIR } from './config.js';
|
|
5
5
|
import { getProcessStartIdentity } from './process-identity.js';
|
|
6
|
+
import { matchProcessStartIdentity } from './process-identity.js';
|
|
6
7
|
import { writePrivateJsonAtomic } from './upgrade-persistence.js';
|
|
7
8
|
export function getUpgradeLockPath() {
|
|
8
9
|
return join(CONFIG_DIR, 'upgrades', 'active.lock');
|
|
@@ -72,11 +73,15 @@ function releaseClaimedLock(jobId, nonce, role) {
|
|
|
72
73
|
throw new Error('Upgrade lock ownership changed unexpectedly');
|
|
73
74
|
}
|
|
74
75
|
const lockPath = getUpgradeLockPath();
|
|
75
|
-
const
|
|
76
|
+
const generation = createHash('sha256')
|
|
77
|
+
.update(`${owner.jobId}\0${owner.nonce}\0${owner.controller.pid}\0${owner.controller.processStartIdentity}`)
|
|
78
|
+
.digest('hex')
|
|
79
|
+
.slice(0, 16);
|
|
80
|
+
const tombstone = `${lockPath}.released-${nonce}-${generation}`;
|
|
76
81
|
renameSync(lockPath, tombstone);
|
|
77
82
|
rmSync(tombstone, { recursive: true, force: true });
|
|
78
83
|
}
|
|
79
|
-
export function acquireUpgradeLock(jobId) {
|
|
84
|
+
export function acquireUpgradeLock(jobId, nonce = randomUUID()) {
|
|
80
85
|
const lockPath = getUpgradeLockPath();
|
|
81
86
|
mkdirSync(join(CONFIG_DIR, 'upgrades'), { recursive: true, mode: 0o700 });
|
|
82
87
|
try {
|
|
@@ -96,7 +101,7 @@ export function acquireUpgradeLock(jobId) {
|
|
|
96
101
|
const owner = {
|
|
97
102
|
schemaVersion: 1,
|
|
98
103
|
jobId,
|
|
99
|
-
nonce
|
|
104
|
+
nonce,
|
|
100
105
|
dataRoot: resolve(CONFIG_DIR),
|
|
101
106
|
controller: { pid: process.pid, processStartIdentity },
|
|
102
107
|
createdAt: new Date().toISOString(),
|
|
@@ -127,7 +132,10 @@ export function acquireUpgradeLock(jobId) {
|
|
|
127
132
|
return false;
|
|
128
133
|
throw error;
|
|
129
134
|
}
|
|
130
|
-
if (current.jobId !== owner.jobId
|
|
135
|
+
if (current.jobId !== owner.jobId
|
|
136
|
+
|| current.nonce !== owner.nonce
|
|
137
|
+
|| current.controller.pid !== owner.controller.pid
|
|
138
|
+
|| current.controller.processStartIdentity !== owner.controller.processStartIdentity)
|
|
131
139
|
return false;
|
|
132
140
|
controllerClaimed = tryCreateHandoffClaim({
|
|
133
141
|
schemaVersion: 1,
|
|
@@ -147,7 +155,10 @@ export function acquireUpgradeLock(jobId) {
|
|
|
147
155
|
}
|
|
148
156
|
throw error;
|
|
149
157
|
}
|
|
150
|
-
if (current.jobId !== owner.jobId
|
|
158
|
+
if (current.jobId !== owner.jobId
|
|
159
|
+
|| current.nonce !== owner.nonce
|
|
160
|
+
|| current.controller.pid !== owner.controller.pid
|
|
161
|
+
|| current.controller.processStartIdentity !== owner.controller.processStartIdentity) {
|
|
151
162
|
controllerClaimed = false;
|
|
152
163
|
return false;
|
|
153
164
|
}
|
|
@@ -232,4 +243,38 @@ export function loadUpgradeLockWorkerClaim() {
|
|
|
232
243
|
const claim = loadHandoffClaim(owner.nonce);
|
|
233
244
|
return claim?.role === 'worker' ? claim.worker ?? null : null;
|
|
234
245
|
}
|
|
246
|
+
export function reclaimStaleUpgradeLock(jobId, nonce) {
|
|
247
|
+
if (!existsSync(getUpgradeLockPath()))
|
|
248
|
+
return false;
|
|
249
|
+
const owner = loadUpgradeLockOwner();
|
|
250
|
+
if (owner.jobId !== jobId || owner.nonce !== nonce) {
|
|
251
|
+
throw new Error('Stale upgrade lock does not match the requested recovery job');
|
|
252
|
+
}
|
|
253
|
+
for (const identity of [owner.controller, owner.worker].filter(Boolean)) {
|
|
254
|
+
const match = matchProcessStartIdentity(identity.pid, identity.processStartIdentity);
|
|
255
|
+
if (match.status === 'match') {
|
|
256
|
+
throw new Error('Upgrade lock still has a live exact process owner');
|
|
257
|
+
}
|
|
258
|
+
if (match.status === 'error') {
|
|
259
|
+
throw new Error(`Cannot safely reclaim upgrade lock: ${match.error}`);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
const lockPath = getUpgradeLockPath();
|
|
263
|
+
const generation = createHash('sha256')
|
|
264
|
+
.update(`${owner.jobId}\0${owner.nonce}\0${owner.controller.pid}\0${owner.controller.processStartIdentity}`)
|
|
265
|
+
.digest('hex')
|
|
266
|
+
.slice(0, 16);
|
|
267
|
+
const tombstone = `${lockPath}.stale-${nonce}-${generation}`;
|
|
268
|
+
try {
|
|
269
|
+
renameSync(lockPath, tombstone);
|
|
270
|
+
}
|
|
271
|
+
catch (error) {
|
|
272
|
+
if (['EEXIST', 'ENOTEMPTY', 'ENOENT', 'EPERM'].includes(error.code ?? '')
|
|
273
|
+
&& existsSync(tombstone)) {
|
|
274
|
+
return false;
|
|
275
|
+
}
|
|
276
|
+
throw error;
|
|
277
|
+
}
|
|
278
|
+
return true;
|
|
279
|
+
}
|
|
235
280
|
//# sourceMappingURL=upgrade-lock.js.map
|
package/dist/upgrade-lock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-lock.js","sourceRoot":"","sources":["../src/upgrade-lock.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,MAAM,EACN,aAAa,GACd,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"upgrade-lock.js","sourceRoot":"","sources":["../src/upgrade-lock.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,MAAM,EACN,aAAa,GACd,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AA6BlE,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAqB,CAAC;IAC7G,IACE,KAAK,CAAC,aAAa,KAAK,CAAC;WACtB,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;WAC/B,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;WAC/B,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC;WAC/C,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC;WAC5C,OAAO,KAAK,CAAC,UAAU,EAAE,oBAAoB,KAAK,QAAQ,EAC7D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,IAAI,CAAC,kBAAkB,EAAE,EAAE,WAAW,KAAK,QAAQ,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAwB,CAAC;QAClG,IACE,KAAK,CAAC,aAAa,KAAK,CAAC;eACtB,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;eACxD,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;eAC/B,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;eAC/B,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;mBACtB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC;uBACvC,OAAO,KAAK,CAAC,MAAM,EAAE,oBAAoB,KAAK,QAAQ,CAAC,CAAC,EAC/D,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACpE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAA0B;IACvD,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACrE,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;QACrE,SAAS,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa,EAAE,KAAa,EAAE,IAAiC;IACzF,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,IACE,KAAK,CAAC,KAAK,KAAK,KAAK;WAClB,KAAK,CAAC,KAAK,KAAK,KAAK;WACrB,KAAK,EAAE,KAAK,KAAK,KAAK;WACtB,KAAK,CAAC,KAAK,KAAK,KAAK;WACrB,KAAK,CAAC,IAAI,KAAK,IAAI,EACtB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC;SACpC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,UAAU,CAAC,GAAG,KAAK,KAAK,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;SAC3G,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,MAAM,SAAS,GAAG,GAAG,QAAQ,aAAa,KAAK,IAAI,UAAU,EAAE,CAAC;IAChE,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAChC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,QAAgB,UAAU,EAAE;IAC5E,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC;QACH,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClE,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,KAAK,GAAqB;QAC9B,aAAa,EAAE,CAAC;QAChB,KAAK;QACL,KAAK;QACL,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC;QAC7B,UAAU,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,oBAAoB,EAAE;QACtD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IACF,IAAI,CAAC;QACH,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK;QACL,yBAAyB;YACvB,IAAI,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC3B,IAAI,iBAAiB;gBAAE,OAAO,IAAI,CAAC;YACnC,IAAI,OAAyB,CAAC;YAC9B,IAAI,CAAC;gBACH,OAAO,GAAG,oBAAoB,EAAE,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;oBAAE,OAAO,KAAK,CAAC;gBACrE,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IACE,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;mBAC1B,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;mBAC7B,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,KAAK,CAAC,UAAU,CAAC,GAAG;mBAC/C,OAAO,CAAC,UAAU,CAAC,oBAAoB,KAAK,KAAK,CAAC,UAAU,CAAC,oBAAoB;gBACpF,OAAO,KAAK,CAAC;YACf,iBAAiB,GAAG,qBAAqB,CAAC;gBACxC,aAAa,EAAE,CAAC;gBAChB,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB;gBAAE,OAAO,KAAK,CAAC;YACrC,IAAI,CAAC;gBACH,OAAO,GAAG,oBAAoB,EAAE,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACvD,iBAAiB,GAAG,KAAK,CAAC;oBAC1B,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IACE,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;mBAC1B,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;mBAC7B,OAAO,CAAC,UAAU,CAAC,GAAG,KAAK,KAAK,CAAC,UAAU,CAAC,GAAG;mBAC/C,OAAO,CAAC,UAAU,CAAC,oBAAoB,KAAK,KAAK,CAAC,UAAU,CAAC,oBAAoB,EACpF,CAAC;gBACD,iBAAiB,GAAG,KAAK,CAAC;gBAC1B,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QACD,2BAA2B,CAAC,MAAuB;YACjD,IAAI,QAAQ,IAAI,iBAAiB;gBAAE,OAAO,KAAK,CAAC;YAChD,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5C,IACE,KAAK,EAAE,IAAI,KAAK,QAAQ;mBACrB,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;mBAC3B,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;mBAC3B,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG;mBAChC,KAAK,CAAC,MAAM,CAAC,oBAAoB,KAAK,MAAM,CAAC,oBAAoB,EACpE,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC1C,CAAC;QACD,wBAAwB;YACtB,IAAI,CAAC,iBAAiB,IAAI,QAAQ;gBAAE,OAAO;YAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5C,IACE,KAAK,EAAE,IAAI,KAAK,YAAY;mBACzB,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;mBAC3B,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAC9B,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;YAC3E,CAAC;YACD,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,iBAAiB,GAAG,KAAK,CAAC;QAC5B,CAAC;QACD,OAAO;YACL,IAAI,QAAQ;gBAAE,OAAO;YACrB,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,CAAC;YACD,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC3D,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAa,EACb,KAAa,EACb,MAAuB;IAEvB,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,qBAAqB,CAAC;QACzB,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,QAAQ;QACd,KAAK;QACL,KAAK;QACL,MAAM;KACP,CAAC,EAAE,CAAC;QACH,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC;IACrC,sBAAsB,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAa,EACb,KAAa,EACb,MAAuB;IAEvB,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,IACE,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG;WAC7B,KAAK,CAAC,MAAM,EAAE,oBAAoB,KAAK,MAAM,CAAC,oBAAoB;WAClE,KAAK,EAAE,IAAI,KAAK,QAAQ;WACxB,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG;WAChC,KAAK,CAAC,MAAM,CAAC,oBAAoB,KAAK,MAAM,CAAC,oBAAoB,EACpE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa,EAAE,KAAa;IAClE,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAsB,EAAE,CAAC;QAC7F,MAAM,KAAK,GAAG,yBAAyB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACrF,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC;SACpC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,UAAU,CAAC,GAAG,KAAK,KAAK,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;SAC3G,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,MAAM,SAAS,GAAG,GAAG,QAAQ,UAAU,KAAK,IAAI,UAAU,EAAE,CAAC;IAC7D,IAAI,CAAC;QACH,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAChD,KAA+B,CAAC,IAAI,IAAI,EAAE,CAC5C;eACE,UAAU,CAAC,SAAS,CAAC,EACxB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ExternalUpgradeJob, type ProcessIdentity } from './upgrade-job.js';
|
|
2
|
+
import { spawnStableLauncher } from './launcher-manager.js';
|
|
3
|
+
export declare function loadUpgradeStatus(jobId?: string): ExternalUpgradeJob;
|
|
4
|
+
export declare function readUpgradeLog(jobId?: string): string;
|
|
5
|
+
export declare function repairExternalUpgrade(deps?: {
|
|
6
|
+
spawnLauncher?: (launchSpecPath: string, onSpawn?: (pid: number) => void) => number;
|
|
7
|
+
waitForHealth?: (job: ExternalUpgradeJob) => Promise<ExternalUpgradeJob['repairRuntime']>;
|
|
8
|
+
terminateProcessTree?: (identity: ProcessIdentity) => Promise<void>;
|
|
9
|
+
}): Promise<{
|
|
10
|
+
job: ExternalUpgradeJob;
|
|
11
|
+
launcherPid: number;
|
|
12
|
+
}>;
|
|
13
|
+
export declare function resumeInterruptedUpgrade(jobId: string, deps?: {
|
|
14
|
+
spawnLauncher?: typeof spawnStableLauncher;
|
|
15
|
+
}): 'terminal' | 'worker-running' | 'started';
|
|
16
|
+
export declare function runUpgradeRetention(now?: Date): {
|
|
17
|
+
removedVersions: string[];
|
|
18
|
+
removedJobs: string[];
|
|
19
|
+
removedStaging: string[];
|
|
20
|
+
};
|