@agentteams/runner 0.0.102 → 0.0.105
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/autostart.d.ts +21 -6
- package/dist/autostart.js +262 -43
- package/dist/autostart.js.map +1 -1
- package/dist/autostart.test.js +155 -22
- package/dist/autostart.test.js.map +1 -1
- package/dist/commands/restart.d.ts +9 -1
- package/dist/commands/restart.js +16 -4
- package/dist/commands/restart.js.map +1 -1
- package/dist/commands/restart.test.d.ts +1 -0
- package/dist/commands/restart.test.js +31 -0
- package/dist/commands/restart.test.js.map +1 -0
- package/dist/commands/start.js +5 -0
- package/dist/commands/start.js.map +1 -1
- package/dist/daemon-control.d.ts +32 -6
- package/dist/daemon-control.js +198 -13
- package/dist/daemon-control.js.map +1 -1
- package/dist/daemon-control.test.js +260 -26
- package/dist/daemon-control.test.js.map +1 -1
- package/dist/executable.js +10 -0
- package/dist/executable.js.map +1 -1
- package/dist/executable.test.js +31 -9
- package/dist/executable.test.js.map +1 -1
- package/dist/poller.js +12 -11
- package/dist/poller.js.map +1 -1
- package/dist/poller.test.js +51 -7
- package/dist/poller.test.js.map +1 -1
- package/dist/restart-handoff.d.ts +71 -0
- package/dist/restart-handoff.js +169 -0
- package/dist/restart-handoff.js.map +1 -0
- package/dist/restart-handoff.test.d.ts +1 -0
- package/dist/restart-handoff.test.js +228 -0
- package/dist/restart-handoff.test.js.map +1 -0
- package/dist/runners/cursor-cli.test.js +3 -1
- package/dist/runners/cursor-cli.test.js.map +1 -1
- package/dist/utils/resolve-member-repo.test.js +1 -1
- package/dist/utils/resolve-member-repo.test.js.map +1 -1
- package/package.json +2 -2
package/dist/autostart.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { execSync, spawn } from 'node:child_process';
|
|
1
|
+
import { execFileSync, execSync, spawn } from 'node:child_process';
|
|
2
2
|
import { platform } from 'node:os';
|
|
3
3
|
import { resolveExecutablePath } from './executable.js';
|
|
4
|
+
import { type RestartHandoffPreparation } from './restart-handoff.js';
|
|
4
5
|
export declare const buildPlistContent: (config: AutostartConfig) => string;
|
|
5
6
|
export declare const buildSystemdContent: (config: AutostartConfig) => string;
|
|
6
7
|
export declare const buildWindowsPowerShellWrapper: (config: AutostartConfig, daemonPath?: string, logPath?: string, currentPath?: string) => string;
|
|
@@ -37,25 +38,39 @@ type WindowsAutostartDeps = {
|
|
|
37
38
|
chmodSync?: (path: string, mode: number) => void;
|
|
38
39
|
daemonPath?: string;
|
|
39
40
|
userId?: string;
|
|
41
|
+
startImmediately?: boolean;
|
|
40
42
|
};
|
|
41
43
|
export declare const registerWindowsTask: (config: AutostartConfig, deps?: WindowsAutostartDeps) => Promise<AutostartResult>;
|
|
42
44
|
export declare const unregisterWindowsTask: (deps?: WindowsAutostartDeps) => Promise<void>;
|
|
45
|
+
type WindowsTaskExecSync = (command: string, options: {
|
|
46
|
+
windowsHide: boolean;
|
|
47
|
+
}) => unknown;
|
|
48
|
+
export declare const buildWindowsTaskStateQueryCommand: () => string;
|
|
43
49
|
type RestartWindowsTaskDeps = {
|
|
44
|
-
execSync?:
|
|
45
|
-
windowsHide: boolean;
|
|
46
|
-
}) => unknown;
|
|
50
|
+
execSync?: WindowsTaskExecSync;
|
|
47
51
|
writeFile?: (path: string, data: string, encoding: BufferEncoding) => Promise<void>;
|
|
48
52
|
chmodSync?: (path: string, mode: number) => void;
|
|
49
53
|
daemonPath?: string;
|
|
54
|
+
sleep?: (milliseconds: number) => Promise<void>;
|
|
55
|
+
now?: () => number;
|
|
50
56
|
};
|
|
51
57
|
export declare const restartWindowsTask: (config: AutostartConfig | null, deps?: RestartWindowsTaskDeps) => Promise<void>;
|
|
52
58
|
type ScheduleWindowsTaskRestartDeps = {
|
|
53
|
-
|
|
59
|
+
execFileSync?: typeof execFileSync;
|
|
60
|
+
readFile?: (path: string, encoding: BufferEncoding) => Promise<string>;
|
|
61
|
+
unlink?: (path: string) => Promise<void>;
|
|
62
|
+
sleep?: (milliseconds: number) => Promise<void>;
|
|
63
|
+
now?: () => number;
|
|
64
|
+
isProcessRunning?: (pid: number) => boolean;
|
|
65
|
+
handoffId?: string;
|
|
66
|
+
parentPid?: number;
|
|
67
|
+
daemonPath?: string;
|
|
54
68
|
};
|
|
55
|
-
export declare const scheduleWindowsTaskRestart: (deps?: ScheduleWindowsTaskRestartDeps) =>
|
|
69
|
+
export declare const scheduleWindowsTaskRestart: (deps?: ScheduleWindowsTaskRestartDeps) => Promise<RestartHandoffPreparation>;
|
|
56
70
|
type LaunchWindowsHiddenDeps = {
|
|
57
71
|
spawn?: typeof spawn;
|
|
58
72
|
resolveExecutablePath?: typeof resolveExecutablePath;
|
|
73
|
+
env?: NodeJS.ProcessEnv;
|
|
59
74
|
};
|
|
60
75
|
export declare const launchWindowsHiddenDaemon: (deps?: LaunchWindowsHiddenDeps) => void;
|
|
61
76
|
export {};
|
package/dist/autostart.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import { execSync, spawn } from 'node:child_process';
|
|
1
|
+
import { execFileSync, execSync, spawn } from 'node:child_process';
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
2
3
|
import { chmodSync, existsSync, promises as fs } from 'node:fs';
|
|
3
4
|
import { homedir, platform } from 'node:os';
|
|
4
5
|
import { dirname, join } from 'node:path';
|
|
6
|
+
import { setTimeout as delay } from 'node:timers/promises';
|
|
5
7
|
import { resolveExecutablePath } from './executable.js';
|
|
6
8
|
import { logger } from './logger.js';
|
|
9
|
+
import { isProcessRunning } from './pid.js';
|
|
10
|
+
import { getRestartHandoffPath, restartHandoffAcknowledgementTimeoutMs, waitForPreparedRestartHandoff, } from './restart-handoff.js';
|
|
7
11
|
const SERVICE_LABEL = 'run.agentteams.runner';
|
|
8
12
|
const TASK_NAME = 'AgentRunner';
|
|
9
13
|
const WINDOWS_LOG_MAX_BYTES = 10 * 1024 * 1024;
|
|
@@ -235,7 +239,10 @@ export const getAutostartStatus = (deps = {}) => {
|
|
|
235
239
|
}
|
|
236
240
|
if (os === 'win32') {
|
|
237
241
|
try {
|
|
238
|
-
|
|
242
|
+
// Suppress schtasks' stderr: an unregistered task makes it print
|
|
243
|
+
// "ERROR: The system cannot find the file specified." which would
|
|
244
|
+
// otherwise leak to the console during `agentrunner restart`.
|
|
245
|
+
resolvedExecSync(`schtasks /Query /TN "${TASK_NAME}" 2>nul`, { windowsHide: true });
|
|
239
246
|
return { registered: true, platform: 'task-scheduler' };
|
|
240
247
|
}
|
|
241
248
|
catch {
|
|
@@ -370,7 +377,9 @@ export const registerWindowsTask = async (config, deps = {}) => {
|
|
|
370
377
|
throw new Error('Cannot register Windows Task Scheduler autostart: current user is unknown.');
|
|
371
378
|
}
|
|
372
379
|
await resolvedWriteFile(wrapperPath, buildWindowsPowerShellWrapper(config, deps.daemonPath ?? resolveExecutablePath('agentrunner')), 'utf8');
|
|
373
|
-
|
|
380
|
+
// schtasks requires a BOM to recognize the UTF-16LE XML encoding. Node's
|
|
381
|
+
// writeFile('utf16le') does not add one automatically.
|
|
382
|
+
await resolvedWriteFile(taskXmlPath, `\uFEFF${buildWindowsTaskXmlContent(userId, wrapperPath)}`, 'utf16le');
|
|
374
383
|
resolvedChmodSync(wrapperPath, 0o600);
|
|
375
384
|
resolvedChmodSync(taskXmlPath, 0o600);
|
|
376
385
|
// Clean up legacy files.
|
|
@@ -383,12 +392,16 @@ export const registerWindowsTask = async (config, deps = {}) => {
|
|
|
383
392
|
}
|
|
384
393
|
}
|
|
385
394
|
resolvedExecSync(`schtasks /Create /TN "${TASK_NAME}" /XML "${taskXmlPath}" /F`, { windowsHide: true });
|
|
386
|
-
//
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
395
|
+
// Normal init starts the task immediately. A live daemon repairing a missing
|
|
396
|
+
// registration suppresses this step so it does not create a second poller
|
|
397
|
+
// before the restart handoff is prepared.
|
|
398
|
+
if (deps.startImmediately ?? true) {
|
|
399
|
+
try {
|
|
400
|
+
resolvedExecSync(`schtasks /Run /TN "${TASK_NAME}"`, { windowsHide: true });
|
|
401
|
+
}
|
|
402
|
+
catch {
|
|
403
|
+
logger.warn('Autostart registered but immediate start failed. It will start at next logon.');
|
|
404
|
+
}
|
|
392
405
|
}
|
|
393
406
|
logger.info('Registered Windows Task Scheduler autostart', { taskXmlPath });
|
|
394
407
|
return { registered: true, servicePath: taskXmlPath, platform: 'task-scheduler' };
|
|
@@ -420,8 +433,46 @@ export const unregisterWindowsTask = async (deps = {}) => {
|
|
|
420
433
|
}
|
|
421
434
|
}
|
|
422
435
|
};
|
|
436
|
+
// Schedule.Service task states — 4 means the task is currently running.
|
|
437
|
+
const TASK_STATE_RUNNING = 4;
|
|
438
|
+
const taskStopPollIntervalMs = 250;
|
|
439
|
+
const taskStopDeadlineMs = 30_000;
|
|
440
|
+
// Build a locale-independent task-state probe. Parsing `schtasks /Query` output
|
|
441
|
+
// is unreliable because the Status column is localized (e.g. "실행 중" on Korean
|
|
442
|
+
// Windows), so read the numeric State via the Schedule.Service COM object and
|
|
443
|
+
// pass it as an EncodedCommand to sidestep all shell-quoting concerns.
|
|
444
|
+
export const buildWindowsTaskStateQueryCommand = () => {
|
|
445
|
+
const script = [
|
|
446
|
+
"$ErrorActionPreference = 'SilentlyContinue'",
|
|
447
|
+
"$service = New-Object -ComObject 'Schedule.Service'",
|
|
448
|
+
'$service.Connect()',
|
|
449
|
+
`try { ($service.GetFolder('\\').GetTask('${TASK_NAME}')).State } catch { -1 }`,
|
|
450
|
+
].join('\n');
|
|
451
|
+
const encoded = Buffer.from(script, 'utf16le').toString('base64');
|
|
452
|
+
return `powershell.exe -NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -EncodedCommand ${encoded}`;
|
|
453
|
+
};
|
|
454
|
+
// Probe the task state as a tri-state. Crucially, a failed COM/PowerShell query
|
|
455
|
+
// is 'unknown' — NOT 'stopped'. Treating a query error as stopped would let the
|
|
456
|
+
// caller fire `/Run` while the old instance is possibly still alive, and
|
|
457
|
+
// MultipleInstancesPolicy=IgnoreNew would silently discard it.
|
|
458
|
+
const getWindowsTaskState = (execSyncFn) => {
|
|
459
|
+
let output;
|
|
460
|
+
try {
|
|
461
|
+
output = String(execSyncFn(buildWindowsTaskStateQueryCommand(), { windowsHide: true })).trim();
|
|
462
|
+
}
|
|
463
|
+
catch {
|
|
464
|
+
return 'unknown';
|
|
465
|
+
}
|
|
466
|
+
const state = Number.parseInt(output, 10);
|
|
467
|
+
if (!Number.isFinite(state) || state < 0) {
|
|
468
|
+
return 'unknown';
|
|
469
|
+
}
|
|
470
|
+
return state === TASK_STATE_RUNNING ? 'running' : 'stopped';
|
|
471
|
+
};
|
|
423
472
|
export const restartWindowsTask = async (config, deps = {}) => {
|
|
424
473
|
const resolvedExecSync = deps.execSync ?? execSync;
|
|
474
|
+
const resolvedSleep = deps.sleep ?? ((milliseconds) => delay(milliseconds));
|
|
475
|
+
const resolvedNow = deps.now ?? (() => Date.now());
|
|
425
476
|
if (config) {
|
|
426
477
|
const wrapperPath = getWindowsWrapperPath();
|
|
427
478
|
await (deps.writeFile ?? fs.writeFile)(wrapperPath, buildWindowsPowerShellWrapper(config, deps.daemonPath ?? resolveExecutablePath('agentrunner')), 'utf8');
|
|
@@ -429,49 +480,178 @@ export const restartWindowsTask = async (config, deps = {}) => {
|
|
|
429
480
|
logger.info('Regenerated Windows task wrapper before restart', { wrapperPath });
|
|
430
481
|
}
|
|
431
482
|
try {
|
|
432
|
-
|
|
483
|
+
// A task that isn't currently running makes schtasks /End emit an error to
|
|
484
|
+
// stderr; suppress it since we ignore the failure and continue anyway.
|
|
485
|
+
resolvedExecSync(`schtasks /End /TN "${TASK_NAME}" 2>nul`, { windowsHide: true });
|
|
433
486
|
}
|
|
434
487
|
catch {
|
|
435
488
|
// The task may already be stopped — continue with an explicit run.
|
|
436
489
|
}
|
|
490
|
+
// `schtasks /End` only *signals* termination; the instance keeps running for a
|
|
491
|
+
// moment. The task uses MultipleInstancesPolicy=IgnoreNew, so a `/Run` fired
|
|
492
|
+
// while the old instance is still alive is silently discarded — leaving the
|
|
493
|
+
// runner stopped. Wait until the task is confirmed stopped before starting it.
|
|
494
|
+
const stopDeadline = resolvedNow() + taskStopDeadlineMs;
|
|
495
|
+
let taskState = getWindowsTaskState(resolvedExecSync);
|
|
496
|
+
while (taskState !== 'stopped' && resolvedNow() < stopDeadline) {
|
|
497
|
+
await resolvedSleep(taskStopPollIntervalMs);
|
|
498
|
+
taskState = getWindowsTaskState(resolvedExecSync);
|
|
499
|
+
}
|
|
500
|
+
if (taskState !== 'stopped') {
|
|
501
|
+
// Still running or the state is unverifiable. Firing `/Run` now would be
|
|
502
|
+
// discarded by IgnoreNew and falsely report success, so fail loudly instead
|
|
503
|
+
// so the caller (CLI/restart) surfaces a non-zero result.
|
|
504
|
+
throw new Error(`AgentRunner task did not reach a stopped state before restart (last state: ${taskState}); ` +
|
|
505
|
+
'aborting /Run to avoid a silent IgnoreNew discard.');
|
|
506
|
+
}
|
|
437
507
|
resolvedExecSync(`schtasks /Run /TN "${TASK_NAME}"`, { windowsHide: true });
|
|
438
508
|
};
|
|
439
509
|
// Task Scheduler keeps every process spawned by an action in the same Job Object.
|
|
440
510
|
// Ask WMI to create the restart helper outside that Job so IgnoreNew cannot discard
|
|
441
511
|
// the explicit start while this daemon is exiting.
|
|
442
|
-
|
|
443
|
-
|
|
512
|
+
//
|
|
513
|
+
// The helper writes a correlation-scoped ready marker before the caller may ACK
|
|
514
|
+
// and exit. After acknowledgement and a bounded parent-exit grace period, it
|
|
515
|
+
// retries Task Scheduler and falls back to a direct runner launch, so every
|
|
516
|
+
// acknowledged request already has a live recovery subject outside the current
|
|
517
|
+
// task's Job Object.
|
|
518
|
+
export const scheduleWindowsTaskRestart = async (deps = {}) => {
|
|
519
|
+
const runSync = deps.execFileSync ?? execFileSync;
|
|
520
|
+
const readFile = deps.readFile ?? fs.readFile;
|
|
521
|
+
const unlink = deps.unlink ?? fs.unlink;
|
|
522
|
+
const sleep = deps.sleep ?? ((milliseconds) => delay(milliseconds));
|
|
523
|
+
const now = deps.now ?? (() => Date.now());
|
|
524
|
+
const processIsRunning = deps.isProcessRunning ?? isProcessRunning;
|
|
525
|
+
const handoffId = deps.handoffId ?? randomUUID();
|
|
526
|
+
const parentPid = deps.parentPid ?? process.pid;
|
|
527
|
+
const daemonPath = deps.daemonPath ?? resolveExecutablePath('agentrunner');
|
|
444
528
|
const logPath = getWindowsLogPath();
|
|
529
|
+
const handoffPath = getRestartHandoffPath(handoffId);
|
|
530
|
+
try {
|
|
531
|
+
await unlink(handoffPath);
|
|
532
|
+
}
|
|
533
|
+
catch {
|
|
534
|
+
// Missing or stale marker is fine.
|
|
535
|
+
}
|
|
445
536
|
// Every failure path appends a diagnostic line to the daemon log so a restart
|
|
446
537
|
// that never brings the runner back up leaves a trace instead of dying silently.
|
|
447
538
|
const restartScript = `
|
|
448
539
|
$taskName = '${TASK_NAME}'
|
|
449
540
|
$logPath = '${escapeForPowerShellString(logPath)}'
|
|
541
|
+
$handoffPath = '${escapeForPowerShellString(handoffPath)}'
|
|
542
|
+
$handoffId = '${escapeForPowerShellString(handoffId)}'
|
|
543
|
+
$parentPid = ${parentPid}
|
|
544
|
+
$daemonPath = '${escapeForPowerShellString(daemonPath)}'
|
|
450
545
|
function Write-RestartLog($message) {
|
|
451
546
|
try { "[web-restart] $((Get-Date).ToString('s')) $message" *>> $logPath } catch { }
|
|
452
547
|
}
|
|
453
|
-
|
|
454
|
-
|
|
548
|
+
function Get-HandoffMarker {
|
|
549
|
+
try {
|
|
550
|
+
if (-not (Test-Path -LiteralPath $handoffPath)) { return $null }
|
|
551
|
+
return Get-Content -LiteralPath $handoffPath -Raw | ConvertFrom-Json
|
|
552
|
+
} catch {
|
|
553
|
+
return $null
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
function Test-HandoffOwned([string]$requiredState = '') {
|
|
557
|
+
$marker = Get-HandoffMarker
|
|
558
|
+
if ($null -eq $marker) { return $false }
|
|
559
|
+
if ($marker.handoffId -ne $handoffId -or [int]$marker.replacementPid -ne $PID) { return $false }
|
|
560
|
+
return ((-not $requiredState) -or ($marker.state -eq $requiredState))
|
|
561
|
+
}
|
|
562
|
+
function Test-HandoffAcknowledged {
|
|
563
|
+
return Test-HandoffOwned 'acknowledged'
|
|
564
|
+
}
|
|
565
|
+
function Remove-HandoffIfOwned {
|
|
566
|
+
if (Test-HandoffOwned) {
|
|
567
|
+
Remove-Item -LiteralPath $handoffPath -Force -ErrorAction SilentlyContinue
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
function Start-DirectFallback {
|
|
571
|
+
if (-not (Test-HandoffAcknowledged)) {
|
|
572
|
+
Write-RestartLog "handoff $handoffId is no longer acknowledged; skipping direct fallback"
|
|
573
|
+
exit 2
|
|
574
|
+
}
|
|
575
|
+
try {
|
|
576
|
+
Write-RestartLog "Task Scheduler restart failed; starting direct fallback"
|
|
577
|
+
Remove-HandoffIfOwned
|
|
578
|
+
& $daemonPath start *>> $logPath
|
|
579
|
+
exit $LASTEXITCODE
|
|
580
|
+
} catch {
|
|
581
|
+
Write-RestartLog "direct fallback failed: $($_.Exception.Message)"
|
|
582
|
+
exit 1
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
$isAcknowledged = $false
|
|
586
|
+
trap {
|
|
587
|
+
Write-RestartLog "unhandled error during restart: $($_.Exception.Message)"
|
|
588
|
+
if ($isAcknowledged) { Start-DirectFallback }
|
|
589
|
+
Remove-HandoffIfOwned
|
|
590
|
+
exit 1
|
|
591
|
+
}
|
|
592
|
+
New-Item -ItemType Directory -Path (Split-Path -Parent $handoffPath) -Force *> $null
|
|
593
|
+
@{ handoffId = $handoffId; replacementPid = $PID; state = 'prepared' } |
|
|
594
|
+
ConvertTo-Json -Compress |
|
|
595
|
+
Set-Content -LiteralPath $handoffPath -Encoding UTF8
|
|
596
|
+
Write-RestartLog "restart handoff $handoffId prepared by helper $PID"
|
|
597
|
+
$handoffDeadline = (Get-Date).AddSeconds(${Math.floor(restartHandoffAcknowledgementTimeoutMs / 1_000)})
|
|
598
|
+
while ((Get-Date) -lt $handoffDeadline) {
|
|
599
|
+
$marker = Get-HandoffMarker
|
|
600
|
+
if ($null -ne $marker -and ($marker.handoffId -ne $handoffId -or [int]$marker.replacementPid -ne $PID)) {
|
|
601
|
+
Write-RestartLog "restart handoff $handoffId was superseded"
|
|
602
|
+
exit 2
|
|
603
|
+
}
|
|
604
|
+
if ($null -ne $marker -and $marker.state -eq 'acknowledged') {
|
|
605
|
+
$isAcknowledged = $true
|
|
606
|
+
break
|
|
607
|
+
}
|
|
608
|
+
Start-Sleep -Milliseconds 100
|
|
609
|
+
}
|
|
610
|
+
if (-not $isAcknowledged) {
|
|
611
|
+
Write-RestartLog "restart handoff $handoffId was not acknowledged before its deadline"
|
|
612
|
+
Remove-HandoffIfOwned
|
|
613
|
+
exit 2
|
|
614
|
+
}
|
|
615
|
+
$parentDeadline = (Get-Date).AddSeconds(5)
|
|
616
|
+
while ((Get-Process -Id $parentPid -ErrorAction SilentlyContinue) -and ((Get-Date) -lt $parentDeadline)) {
|
|
617
|
+
Start-Sleep -Milliseconds 100
|
|
618
|
+
}
|
|
455
619
|
$service = New-Object -ComObject 'Schedule.Service'
|
|
456
620
|
$service.Connect()
|
|
457
621
|
$folder = $service.GetFolder('\\')
|
|
458
|
-
|
|
622
|
+
for ($attempt = 1; $attempt -le 20; $attempt++) {
|
|
623
|
+
if (-not (Test-HandoffAcknowledged)) {
|
|
624
|
+
Write-RestartLog "restart handoff $handoffId was superseded before Task Scheduler activation"
|
|
625
|
+
exit 2
|
|
626
|
+
}
|
|
459
627
|
schtasks /Query /TN $taskName *> $null
|
|
460
|
-
if ($LASTEXITCODE -ne 0) {
|
|
628
|
+
if ($LASTEXITCODE -ne 0) {
|
|
629
|
+
Write-RestartLog "schtasks /Query failed with exit $LASTEXITCODE on attempt $attempt"
|
|
630
|
+
Start-Sleep -Milliseconds 250
|
|
631
|
+
continue
|
|
632
|
+
}
|
|
461
633
|
try {
|
|
462
634
|
$task = $folder.GetTask($taskName)
|
|
463
635
|
} catch {
|
|
464
|
-
Write-RestartLog "GetTask threw
|
|
465
|
-
|
|
636
|
+
Write-RestartLog "GetTask threw on attempt \${attempt}: $($_.Exception.Message)"
|
|
637
|
+
Start-Sleep -Milliseconds 250
|
|
638
|
+
continue
|
|
466
639
|
}
|
|
467
|
-
if ($task.State -
|
|
640
|
+
if ($task.State -eq 4) {
|
|
641
|
+
Write-RestartLog "task still running on attempt $attempt"
|
|
642
|
+
Start-Sleep -Milliseconds 250
|
|
643
|
+
continue
|
|
644
|
+
}
|
|
645
|
+
schtasks /Run /TN $taskName *>> $logPath
|
|
646
|
+
if ($LASTEXITCODE -eq 0) {
|
|
647
|
+
Write-RestartLog "restart triggered successfully on attempt $attempt"
|
|
648
|
+
Remove-HandoffIfOwned
|
|
649
|
+
exit 0
|
|
650
|
+
}
|
|
651
|
+
Write-RestartLog "schtasks /Run failed with exit $LASTEXITCODE on attempt $attempt"
|
|
468
652
|
Start-Sleep -Milliseconds 250
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
schtasks /End /TN $taskName *>> $logPath
|
|
472
|
-
schtasks /Run /TN $taskName *>> $logPath
|
|
473
|
-
if ($LASTEXITCODE -ne 0) { Write-RestartLog "schtasks /Run failed with exit $LASTEXITCODE"; exit $LASTEXITCODE }
|
|
474
|
-
Write-RestartLog "restart triggered successfully"
|
|
653
|
+
}
|
|
654
|
+
Start-DirectFallback
|
|
475
655
|
`.trim();
|
|
476
656
|
const encodedRestartScript = Buffer.from(restartScript, 'utf16le').toString('base64');
|
|
477
657
|
const restartCommandLine = `powershell.exe -NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass ` +
|
|
@@ -482,32 +662,71 @@ Write-RestartLog "restart triggered successfully"
|
|
|
482
662
|
`if ($result.ReturnValue -ne 0) { ` +
|
|
483
663
|
`try { "[web-restart] $((Get-Date).ToString('s')) Win32_Process.Create failed with ReturnValue $($result.ReturnValue)" *>> $logPath } catch { }; ` +
|
|
484
664
|
`exit $result.ReturnValue }`;
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
'
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
665
|
+
// Run the WMI create SYNCHRONOUSLY. A detached `spawn(..., { detached: true })`
|
|
666
|
+
// never executes its -Command on Windows (DETACHED_PROCESS leaves powershell
|
|
667
|
+
// created but idle), and a non-detached async spawn would race this daemon's
|
|
668
|
+
// own exit / Task Scheduler job teardown. Blocking here guarantees the helper
|
|
669
|
+
// — created by WMI, so it lives outside this task's Job Object — exists before
|
|
670
|
+
// the daemon exits. The helper itself keeps running independently afterwards.
|
|
671
|
+
try {
|
|
672
|
+
runSync('powershell.exe', [
|
|
673
|
+
'-NoProfile',
|
|
674
|
+
'-NonInteractive',
|
|
675
|
+
'-WindowStyle',
|
|
676
|
+
'Hidden',
|
|
677
|
+
'-ExecutionPolicy',
|
|
678
|
+
'Bypass',
|
|
679
|
+
'-Command',
|
|
680
|
+
createCommand,
|
|
681
|
+
], {
|
|
682
|
+
stdio: 'ignore',
|
|
683
|
+
windowsHide: true,
|
|
684
|
+
env: process.env,
|
|
685
|
+
});
|
|
686
|
+
const preparation = await waitForPreparedRestartHandoff({ handoffId, parentPid, markerPath: handoffPath }, {
|
|
687
|
+
readFile,
|
|
688
|
+
sleep,
|
|
689
|
+
now,
|
|
690
|
+
isProcessRunning: processIsRunning,
|
|
691
|
+
timeoutMs: 20_000,
|
|
692
|
+
});
|
|
693
|
+
return preparation.status === 'prepared'
|
|
694
|
+
? preparation
|
|
695
|
+
: {
|
|
696
|
+
...preparation,
|
|
697
|
+
reason: 'helper-preparation-failed',
|
|
698
|
+
error: 'Timed out waiting for the Windows restart helper readiness marker.',
|
|
699
|
+
};
|
|
700
|
+
}
|
|
701
|
+
catch (error) {
|
|
702
|
+
logger.warn('Failed to schedule Windows task restart helper', {
|
|
703
|
+
error: error instanceof Error ? error.message : String(error),
|
|
704
|
+
});
|
|
705
|
+
return {
|
|
706
|
+
status: 'retryable-failure',
|
|
707
|
+
handoffId,
|
|
708
|
+
replacementReady: false,
|
|
709
|
+
acknowledged: false,
|
|
710
|
+
retryableFailure: true,
|
|
711
|
+
reason: 'helper-preparation-failed',
|
|
712
|
+
error: error instanceof Error ? error.message : String(error),
|
|
713
|
+
};
|
|
714
|
+
}
|
|
501
715
|
};
|
|
502
716
|
export const launchWindowsHiddenDaemon = (deps = {}) => {
|
|
503
717
|
const resolvedSpawn = deps.spawn ?? spawn;
|
|
504
718
|
const daemonPath = (deps.resolveExecutablePath ?? resolveExecutablePath)('agentrunner');
|
|
505
719
|
const command = `& '${escapeForPowerShellString(daemonPath)}' start`;
|
|
720
|
+
// NOTE: do NOT pass `detached: true` here. On Windows that sets the
|
|
721
|
+
// DETACHED_PROCESS creation flag, and spawning powershell.exe that way (with
|
|
722
|
+
// stdio ignored) leaves it created but never running its `-Command` — the
|
|
723
|
+
// runner silently never starts. Windows does not terminate child processes
|
|
724
|
+
// when the parent exits, so `windowsHide` + `unref()` already lets the hidden
|
|
725
|
+
// runner keep running in the background after this CLI process is gone.
|
|
506
726
|
const child = resolvedSpawn('powershell.exe', ['-NoProfile', '-NonInteractive', '-WindowStyle', 'Hidden', '-ExecutionPolicy', 'Bypass', '-Command', command], {
|
|
507
|
-
detached: true,
|
|
508
727
|
stdio: 'ignore',
|
|
509
728
|
windowsHide: true,
|
|
510
|
-
env: process.env,
|
|
729
|
+
env: deps.env ?? process.env,
|
|
511
730
|
});
|
|
512
731
|
child.unref();
|
|
513
732
|
};
|
package/dist/autostart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autostart.js","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autostart.js","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"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"}
|