@agent-link/agent 0.1.317 → 0.1.319
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/process-identity.js +2 -2
- package/dist/process-identity.js.map +1 -1
- package/dist/worker-shutdown-authorization.d.ts +0 -1
- package/dist/worker-shutdown-authorization.js +2 -8
- package/dist/worker-shutdown-authorization.js.map +1 -1
- package/launcher/launcher.cjs +1 -1
- package/package.json +1 -1
- package/worker/worker.cjs +3 -3
package/dist/process-identity.js
CHANGED
|
@@ -18,7 +18,7 @@ export function lookupProcessStartIdentity(pid, deps = {}) {
|
|
|
18
18
|
const execFile = deps.execFile ?? ((file, args) => execFileSync(file, args, {
|
|
19
19
|
encoding: 'utf8',
|
|
20
20
|
windowsHide: true,
|
|
21
|
-
timeout:
|
|
21
|
+
timeout: 3000,
|
|
22
22
|
}));
|
|
23
23
|
if (platform === 'linux') {
|
|
24
24
|
let stat;
|
|
@@ -61,7 +61,7 @@ export function lookupProcessStartIdentity(pid, deps = {}) {
|
|
|
61
61
|
}
|
|
62
62
|
if (platform === 'win32') {
|
|
63
63
|
try {
|
|
64
|
-
const script = '& { param([int]$ProcessId) $p=Get-
|
|
64
|
+
const script = '& { param([int]$ProcessId) $p=Get-Process -Id $ProcessId -ErrorAction SilentlyContinue;if($p){$p.StartTime.ToUniversalTime().ToString("O",[Globalization.CultureInfo]::InvariantCulture)} }';
|
|
65
65
|
const started = execFile('powershell.exe', [
|
|
66
66
|
'-NoLogo',
|
|
67
67
|
'-NoProfile',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-identity.js","sourceRoot":"","sources":["../src/process-identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAmBlC,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;AACxG,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,MAAM,KAAK,GAAG,KAAoD,CAAC;IACnE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,GAAW,EACX,OAA4B,EAAE;IAE9B,UAAU,CAAC,GAAG,CAAC,CAAC;IAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAY,EAAE,IAAc,EAAE,EAAE,CAClE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE;QACvB,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"process-identity.js","sourceRoot":"","sources":["../src/process-identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,5 @@ import type { ShutdownRequest } from './local-control.js';
|
|
|
2
2
|
import { type ExternalUpgradeJob } from './upgrade-job.js';
|
|
3
3
|
export interface WorkerShutdownAuthorizationDeps {
|
|
4
4
|
now?: () => number;
|
|
5
|
-
processIdentity?: (pid: number) => string | null;
|
|
6
5
|
}
|
|
7
6
|
export declare function authorizeWorkerUpgradeShutdown(request: ShutdownRequest, deps?: WorkerShutdownAuthorizationDeps): ExternalUpgradeJob;
|
|
@@ -2,7 +2,6 @@ import { realpathSync } from 'fs';
|
|
|
2
2
|
import { resolve } from 'path';
|
|
3
3
|
import { CONFIG_DIR } from './config.js';
|
|
4
4
|
import { computeLaunchSpecDigest, loadLaunchSpec } from './launch-spec.js';
|
|
5
|
-
import { getProcessStartIdentity } from './process-identity.js';
|
|
6
5
|
import { loadExternalUpgradeJob, } from './upgrade-job.js';
|
|
7
6
|
import { loadUpgradeLockOwner } from './upgrade-lock.js';
|
|
8
7
|
import { loadCurrentVersion, validateVersionInstallation, } from './version-store.js';
|
|
@@ -34,14 +33,9 @@ export function authorizeWorkerUpgradeShutdown(request, deps = {}) {
|
|
|
34
33
|
|| job.oldRuntime.processInstanceId !== request.expectedProcessInstanceId) {
|
|
35
34
|
throw new Error('External upgrade job does not identify this Agent process');
|
|
36
35
|
}
|
|
37
|
-
const processIdentity = deps.processIdentity ?? getProcessStartIdentity;
|
|
38
|
-
if (processIdentity(process.pid) !== job.oldRuntime.processStartIdentity) {
|
|
39
|
-
throw new Error('External upgrade old process identity does not match');
|
|
40
|
-
}
|
|
41
36
|
if (job.worker.pid !== request.workerPid
|
|
42
|
-
|| job.worker.processStartIdentity !== request.workerProcessStartIdentity
|
|
43
|
-
|
|
44
|
-
throw new Error('External upgrade worker identity does not match a live process');
|
|
37
|
+
|| job.worker.processStartIdentity !== request.workerProcessStartIdentity) {
|
|
38
|
+
throw new Error('External upgrade worker identity does not match');
|
|
45
39
|
}
|
|
46
40
|
if (job.targetVersion !== request.targetVersion || job.lockNonce !== request.lockNonce) {
|
|
47
41
|
throw new Error('External upgrade target or lock nonce does not match');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-shutdown-authorization.js","sourceRoot":"","sources":["../src/worker-shutdown-authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"worker-shutdown-authorization.js","sourceRoot":"","sources":["../src/worker-shutdown-authorization.ts"],"names":[],"mappings":"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"}
|
package/launcher/launcher.cjs
CHANGED
|
@@ -213,7 +213,7 @@ function processIdentity(pid) {
|
|
|
213
213
|
}
|
|
214
214
|
if (process.platform === 'win32') {
|
|
215
215
|
try {
|
|
216
|
-
const script = '& { param([int]$ProcessId) $p=Get-
|
|
216
|
+
const script = '& { param([int]$ProcessId) $p=Get-Process -Id $ProcessId -ErrorAction SilentlyContinue;if($p){$p.StartTime.ToUniversalTime().ToString("O",[Globalization.CultureInfo]::InvariantCulture)} }';
|
|
217
217
|
const started = childProcess.execFileSync('powershell.exe', [
|
|
218
218
|
'-NoLogo', '-NoProfile', '-NonInteractive', '-Command', script, '-ProcessId', String(pid),
|
|
219
219
|
], { encoding: 'utf8', windowsHide: true, timeout: 3000 }).trim();
|
package/package.json
CHANGED
package/worker/worker.cjs
CHANGED
|
@@ -158,7 +158,7 @@ function processIdentity(pid) {
|
|
|
158
158
|
}
|
|
159
159
|
if (process.platform === 'win32') {
|
|
160
160
|
try {
|
|
161
|
-
const script = '& { param([int]$ProcessId) $p=Get-
|
|
161
|
+
const script = '& { param([int]$ProcessId) $p=Get-Process -Id $ProcessId -ErrorAction SilentlyContinue;if($p){$p.StartTime.ToUniversalTime().ToString("O",[Globalization.CultureInfo]::InvariantCulture)} }';
|
|
162
162
|
const started = childProcess.execFileSync('powershell.exe', [
|
|
163
163
|
'-NoLogo',
|
|
164
164
|
'-NoProfile',
|
|
@@ -170,7 +170,7 @@ function processIdentity(pid) {
|
|
|
170
170
|
], {
|
|
171
171
|
encoding: 'utf8',
|
|
172
172
|
windowsHide: true,
|
|
173
|
-
timeout:
|
|
173
|
+
timeout: 3000,
|
|
174
174
|
}).trim();
|
|
175
175
|
return started
|
|
176
176
|
? { status: 'found', identity: `win32:${started}` }
|
|
@@ -372,7 +372,7 @@ function requestShutdown(runtime, job) {
|
|
|
372
372
|
resolve();
|
|
373
373
|
});
|
|
374
374
|
});
|
|
375
|
-
request.setTimeout(
|
|
375
|
+
request.setTimeout(15000, () => request.destroy(new Error('worker shutdown request timed out')));
|
|
376
376
|
request.on('error', reject);
|
|
377
377
|
request.end(payload);
|
|
378
378
|
});
|