@agentteams/runner 0.0.106 → 0.0.108

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 (37) hide show
  1. package/dist/autostart.d.ts +28 -1
  2. package/dist/autostart.js +206 -22
  3. package/dist/autostart.js.map +1 -1
  4. package/dist/autostart.test.js +262 -6
  5. package/dist/autostart.test.js.map +1 -1
  6. package/dist/commands/start.d.ts +19 -1
  7. package/dist/commands/start.js +16 -12
  8. package/dist/commands/start.js.map +1 -1
  9. package/dist/commands/start.test.d.ts +1 -0
  10. package/dist/commands/start.test.js +43 -0
  11. package/dist/commands/start.test.js.map +1 -0
  12. package/dist/commands/status.d.ts +13 -1
  13. package/dist/commands/status.js +15 -8
  14. package/dist/commands/status.js.map +1 -1
  15. package/dist/commands/status.test.d.ts +1 -0
  16. package/dist/commands/status.test.js +64 -0
  17. package/dist/commands/status.test.js.map +1 -0
  18. package/dist/daemon-control.d.ts +2 -1
  19. package/dist/daemon-control.js +33 -5
  20. package/dist/daemon-control.js.map +1 -1
  21. package/dist/daemon-control.test.js +88 -0
  22. package/dist/daemon-control.test.js.map +1 -1
  23. package/dist/utils/convention-evaluator.d.ts +7 -0
  24. package/dist/utils/convention-evaluator.js +6 -3
  25. package/dist/utils/convention-evaluator.js.map +1 -1
  26. package/dist/utils/convention-evaluator.test.js +13 -0
  27. package/dist/utils/convention-evaluator.test.js.map +1 -1
  28. package/dist/windows-launcher.d.ts +27 -0
  29. package/dist/windows-launcher.js +114 -0
  30. package/dist/windows-launcher.js.map +1 -0
  31. package/dist/windows-launcher.test.d.ts +1 -0
  32. package/dist/windows-launcher.test.js +150 -0
  33. package/dist/windows-launcher.test.js.map +1 -0
  34. package/native/bin/win32-x64/agentrunner-launcher.exe +0 -0
  35. package/native/bin/win32-x64/manifest.json +8 -0
  36. package/package.json +6 -2
  37. package/readme.md +21 -1
@@ -1,11 +1,14 @@
1
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 { readDaemonConfigFile } from './config.js';
5
+ import { logger } from './logger.js';
4
6
  import { type RestartHandoffPreparation } from './restart-handoff.js';
5
7
  export declare const buildPlistContent: (config: AutostartConfig) => string;
6
8
  export declare const buildSystemdContent: (config: AutostartConfig) => string;
7
9
  export declare const buildWindowsPowerShellWrapper: (config: AutostartConfig, daemonPath?: string, logPath?: string, currentPath?: string) => string;
8
- export declare const buildWindowsTaskXmlContent: (userId: string, wrapperPath: string) => string;
10
+ export declare const buildWindowsChildPowerShellCommand: (trailingArguments: string, powerShellPath?: string) => string;
11
+ export declare const buildWindowsTaskXmlContent: (userId: string, launcherPath: string, wrapperPath: string, powerShellPath?: string) => string;
9
12
  export type AutostartConfig = {
10
13
  token: string;
11
14
  apiUrl: string;
@@ -26,6 +29,24 @@ export declare const getAutostartStatus: (deps?: AutostartStatusDeps) => {
26
29
  registered: boolean;
27
30
  platform: string;
28
31
  };
32
+ export declare const buildWindowsTaskBackupCommand: (backupPath: string) => string;
33
+ export declare const buildWindowsWrapperAclCommand: (wrapperPath: string, userId: string) => string;
34
+ type WindowsTaskMigrationDeps = {
35
+ execSync?: (command: string, options: {
36
+ windowsHide: boolean;
37
+ }) => unknown;
38
+ };
39
+ export declare const windowsTaskNeedsNativeLauncherMigration: (deps?: WindowsTaskMigrationDeps) => boolean;
40
+ type WindowsAutostartBootMigrationDeps = {
41
+ platform?: typeof platform;
42
+ getAutostartStatus?: typeof getAutostartStatus;
43
+ windowsTaskNeedsNativeLauncherMigration?: typeof windowsTaskNeedsNativeLauncherMigration;
44
+ getAutostartConfigFromEnv?: () => AutostartConfig | null;
45
+ readDaemonConfigFile?: typeof readDaemonConfigFile;
46
+ registerWindowsTask?: typeof registerWindowsTask;
47
+ logger?: Pick<typeof logger, 'info' | 'warn'>;
48
+ };
49
+ export declare const migrateWindowsAutostartOnBoot: (deps?: WindowsAutostartBootMigrationDeps) => Promise<void>;
29
50
  type WindowsAutostartDeps = {
30
51
  execSync?: (command: string, options: {
31
52
  windowsHide: boolean;
@@ -39,6 +60,8 @@ type WindowsAutostartDeps = {
39
60
  daemonPath?: string;
40
61
  userId?: string;
41
62
  startImmediately?: boolean;
63
+ launcherPath?: string;
64
+ cleanupLaunchers?: () => Promise<void>;
42
65
  };
43
66
  export declare const registerWindowsTask: (config: AutostartConfig, deps?: WindowsAutostartDeps) => Promise<AutostartResult>;
44
67
  export declare const unregisterWindowsTask: (deps?: WindowsAutostartDeps) => Promise<void>;
@@ -53,6 +76,8 @@ type RestartWindowsTaskDeps = {
53
76
  daemonPath?: string;
54
77
  sleep?: (milliseconds: number) => Promise<void>;
55
78
  now?: () => number;
79
+ registerWindowsTask?: typeof registerWindowsTask;
80
+ launcherPath?: string;
56
81
  };
57
82
  export declare const restartWindowsTask: (config: AutostartConfig | null, deps?: RestartWindowsTaskDeps) => Promise<void>;
58
83
  type ScheduleWindowsTaskRestartDeps = {
@@ -65,6 +90,8 @@ type ScheduleWindowsTaskRestartDeps = {
65
90
  handoffId?: string;
66
91
  parentPid?: number;
67
92
  daemonPath?: string;
93
+ launcherPath?: string;
94
+ installLauncher?: () => Promise<string>;
68
95
  };
69
96
  export declare const scheduleWindowsTaskRestart: (deps?: ScheduleWindowsTaskRestartDeps) => Promise<RestartHandoffPreparation>;
70
97
  type LaunchWindowsHiddenDeps = {
package/dist/autostart.js CHANGED
@@ -2,15 +2,24 @@ import { execFileSync, execSync, spawn } from 'node:child_process';
2
2
  import { randomUUID } from 'node:crypto';
3
3
  import { chmodSync, existsSync, promises as fs } from 'node:fs';
4
4
  import { homedir, platform } from 'node:os';
5
- import { dirname, join } from 'node:path';
5
+ // Windows-shaped paths are parsed with the win32 helpers explicitly: these values
6
+ // are Windows paths even when the unit tests run on Linux or macOS.
7
+ import { dirname, join, win32 as winPath } from 'node:path';
6
8
  import { setTimeout as delay } from 'node:timers/promises';
7
9
  import { resolveExecutablePath } from './executable.js';
10
+ import { readDaemonConfigFile } from './config.js';
8
11
  import { logger } from './logger.js';
9
12
  import { isProcessRunning } from './pid.js';
13
+ import { cleanupInstalledWindowsLaunchers, installWindowsLauncher } from './windows-launcher.js';
10
14
  import { getRestartHandoffPath, restartHandoffAcknowledgementTimeoutMs, waitForPreparedRestartHandoff, } from './restart-handoff.js';
11
15
  const SERVICE_LABEL = 'run.agentteams.runner';
12
16
  const TASK_NAME = 'AgentRunner';
13
17
  const WINDOWS_LOG_MAX_BYTES = 10 * 1024 * 1024;
18
+ // Explicit separator between the launcher's own argv[0] and the child command
19
+ // line. Task Scheduler does not quote `<Command>`, so a profile path containing
20
+ // a space (C:\Users\John Doe\...) would otherwise make the launcher's own tail
21
+ // parsing cut the child command in the middle of the path.
22
+ const LAUNCHER_EXEC_DELIMITER = '--exec';
14
23
  // --- Path helpers ---
15
24
  const getLaunchdPlistPath = () => join(homedir(), 'Library', 'LaunchAgents', `${SERVICE_LABEL}.plist`);
16
25
  const getSystemdServicePath = () => join(homedir(), '.config', 'systemd', 'user', 'agentrunner.service');
@@ -18,6 +27,12 @@ const getWindowsBatPath = () => join(homedir(), '.agentteams', 'agentrunner-star
18
27
  const getWindowsVbsPath = () => join(homedir(), '.agentteams', 'agentrunner-start.vbs');
19
28
  const getWindowsRestartVbsPath = () => join(homedir(), '.agentteams', 'agentrunner-restart.vbs');
20
29
  const getWindowsTaskXmlPath = () => join(homedir(), '.agentteams', 'agentrunner-task.xml');
30
+ const getWindowsTaskBackupXmlPath = () => join(homedir(), '.agentteams', 'agentrunner-task-backup.xml');
31
+ // Resolve powershell.exe absolutely. The launcher hands its command-line tail to
32
+ // CreateProcessW with lpApplicationName=NULL, so an unqualified `powershell.exe`
33
+ // would be resolved through the application/current directory search order —
34
+ // that would break the SHA-256-verified launch chain right at its first child.
35
+ const getWindowsPowerShellPath = () => winPath.join(process.env.SystemRoot ?? 'C:\\Windows', 'System32', 'WindowsPowerShell', 'v1.0', 'powershell.exe');
21
36
  const getWindowsWrapperPath = () => join(homedir(), '.agentteams', 'agentrunner-start.ps1');
22
37
  const getWindowsLogPath = () => join(homedir(), '.agentteams', 'agentrunner.log');
23
38
  const getWindowsStartupVbsPath = () => join(homedir(), 'AppData', 'Roaming', 'Microsoft', 'Windows', 'Start Menu', 'Programs', 'Startup', 'agentrunner-start.vbs');
@@ -118,9 +133,13 @@ export const buildWindowsPowerShellWrapper = (config, daemonPath = resolveExecut
118
133
  'exit $LASTEXITCODE',
119
134
  ].join('\r\n');
120
135
  };
121
- export const buildWindowsTaskXmlContent = (userId, wrapperPath) => {
136
+ export const buildWindowsChildPowerShellCommand = (trailingArguments, powerShellPath = getWindowsPowerShellPath()) => `${LAUNCHER_EXEC_DELIMITER} "${powerShellPath}" -NoProfile -NonInteractive -WindowStyle Hidden ` +
137
+ `-ExecutionPolicy Bypass ${trailingArguments}`;
138
+ export const buildWindowsTaskXmlContent = (userId, launcherPath, wrapperPath, powerShellPath = getWindowsPowerShellPath()) => {
122
139
  const escapedUserId = escapeForXml(userId);
123
- const argumentsValue = escapeForXml(`-NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -File "${wrapperPath}"`);
140
+ const escapedLauncherPath = escapeForXml(launcherPath);
141
+ const argumentsValue = escapeForXml(buildWindowsChildPowerShellCommand(`-File "${wrapperPath}"`, powerShellPath));
142
+ const workingDirectory = escapeForXml(winPath.dirname(powerShellPath));
124
143
  return `<?xml version="1.0" encoding="UTF-16"?>
125
144
  <Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
126
145
  <RegistrationInfo><Description>AgentTeams Runner</Description></RegistrationInfo>
@@ -151,8 +170,9 @@ export const buildWindowsTaskXmlContent = (userId, wrapperPath) => {
151
170
  </Settings>
152
171
  <Actions Context="Author">
153
172
  <Exec>
154
- <Command>powershell.exe</Command>
173
+ <Command>${escapedLauncherPath}</Command>
155
174
  <Arguments>${argumentsValue}</Arguments>
175
+ <WorkingDirectory>${workingDirectory}</WorkingDirectory>
156
176
  </Exec>
157
177
  </Actions>
158
178
  </Task>`;
@@ -197,7 +217,11 @@ export const unregisterAutostart = async () => {
197
217
  };
198
218
  export const restartAutostartService = async () => {
199
219
  const os = platform();
200
- const config = getAutostartConfigFromEnv();
220
+ let config = getAutostartConfigFromEnv();
221
+ if (!config) {
222
+ const fileConfig = await readDaemonConfigFile();
223
+ config = fileConfig ? { token: fileConfig.daemonToken, apiUrl: fileConfig.apiUrl } : null;
224
+ }
201
225
  if (os === 'darwin') {
202
226
  await restartLaunchd(config);
203
227
  return;
@@ -351,6 +375,88 @@ const restartSystemd = async (config) => {
351
375
  }
352
376
  execSync('systemctl --user restart agentrunner');
353
377
  };
378
+ // --- Windows Task Scheduler ---
379
+ // `schtasks /Query /XML` writes its XML through the console output code page, so
380
+ // on a non-English Windows the bytes Node receives are CP949/CP932/... — not
381
+ // UTF-8 and not UTF-16. Round-tripping that text through JS would mangle every
382
+ // non-ASCII character (a `C:\Users\홍길동\...` launcher path becomes U+FFFD
383
+ // noise), which used to break both the post-create verification and the rollback
384
+ // XML. Export through the ScheduledTasks module instead and write UTF-16LE with
385
+ // a BOM straight to disk, so the rollback never passes through a JS string.
386
+ export const buildWindowsTaskBackupCommand = (backupPath) => {
387
+ const script = [
388
+ // A fresh install has no prior task, so Export-ScheduledTask failing is the
389
+ // normal case. Swallow it (and the module-loading progress stream) instead of
390
+ // dumping a CLIXML error blob into the user's `agentrunner init` output.
391
+ "$ErrorActionPreference = 'Stop'",
392
+ "$ProgressPreference = 'SilentlyContinue'",
393
+ `try { $xml = Export-ScheduledTask -TaskName '${escapeForPowerShellString(TASK_NAME)}' } catch { exit 1 }`,
394
+ 'if (-not $xml) { exit 1 }',
395
+ `[IO.File]::WriteAllText('${escapeForPowerShellString(backupPath)}', $xml, [Text.UnicodeEncoding]::new($false, $true))`,
396
+ ].join('\n');
397
+ const encoded = Buffer.from(script, 'utf16le').toString('base64');
398
+ return (`powershell.exe -NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass ` +
399
+ `-EncodedCommand ${encoded} 2>nul`);
400
+ };
401
+ // `chmodSync` only toggles the read-only attribute on Windows — it does not
402
+ // restrict the ACL, so the wrapper's plaintext daemon token stayed readable by
403
+ // every other account on the machine. Break inheritance and grant only the
404
+ // owning user (plus SYSTEM, by SID so it is locale-independent).
405
+ export const buildWindowsWrapperAclCommand = (wrapperPath, userId) => `icacls "${wrapperPath}" /inheritance:r /grant:r "${userId}:(F)" /grant:r "*S-1-5-18:(F)"`;
406
+ // ASCII-only probe: the launcher file name is `agentrunner-launcher-<version>-<sha12>.exe`,
407
+ // so it survives any console code page that `schtasks /Query /XML` may have used.
408
+ const NATIVE_LAUNCHER_COMMAND_PATTERN = /<Command>[^<]*agentrunner-launcher-[^<]*\.exe<\/Command>/u;
409
+ // True only when the live task definition is readable AND demonstrably still
410
+ // points at a non-native action. An unreadable task returns false so a transient
411
+ // query failure never triggers a needless re-registration.
412
+ export const windowsTaskNeedsNativeLauncherMigration = (deps = {}) => {
413
+ const resolvedExecSync = deps.execSync ?? execSync;
414
+ let liveTaskXml;
415
+ try {
416
+ liveTaskXml = String(resolvedExecSync(`schtasks /Query /TN "${TASK_NAME}" /XML`, { windowsHide: true }));
417
+ }
418
+ catch {
419
+ return false;
420
+ }
421
+ if (!liveTaskXml.includes('<Command>')) {
422
+ return false;
423
+ }
424
+ return !NATIVE_LAUNCHER_COMMAND_PATTERN.test(liveTaskXml);
425
+ };
426
+ export const migrateWindowsAutostartOnBoot = async (deps = {}) => {
427
+ const resolvedPlatform = deps.platform ?? platform;
428
+ const resolvedGetAutostartStatus = deps.getAutostartStatus ?? getAutostartStatus;
429
+ const resolvedNeedsMigration = deps.windowsTaskNeedsNativeLauncherMigration ?? windowsTaskNeedsNativeLauncherMigration;
430
+ const resolvedGetConfigFromEnv = deps.getAutostartConfigFromEnv ?? getAutostartConfigFromEnv;
431
+ const resolvedReadConfigFile = deps.readDaemonConfigFile ?? readDaemonConfigFile;
432
+ const resolvedRegisterWindowsTask = deps.registerWindowsTask ?? registerWindowsTask;
433
+ const resolvedLogger = deps.logger ?? logger;
434
+ try {
435
+ if (resolvedPlatform() !== 'win32') {
436
+ return;
437
+ }
438
+ const status = resolvedGetAutostartStatus();
439
+ if (!status.registered || !resolvedNeedsMigration()) {
440
+ return;
441
+ }
442
+ let config = resolvedGetConfigFromEnv();
443
+ if (!config) {
444
+ const fileConfig = await resolvedReadConfigFile();
445
+ config = fileConfig ? { token: fileConfig.daemonToken, apiUrl: fileConfig.apiUrl } : null;
446
+ }
447
+ if (!config) {
448
+ resolvedLogger.warn('Windows Task Scheduler autostart still uses a console-bound action, but runtime configuration is unavailable');
449
+ return;
450
+ }
451
+ await resolvedRegisterWindowsTask(config, { startImmediately: false });
452
+ resolvedLogger.info('Migrated Windows Task Scheduler autostart to the native launcher; the hidden action applies on the next start');
453
+ }
454
+ catch (error) {
455
+ resolvedLogger.warn('Failed to migrate Windows Task Scheduler autostart during boot; continuing startup', {
456
+ error: error instanceof Error ? error.message : String(error),
457
+ });
458
+ }
459
+ };
354
460
  export const registerWindowsTask = async (config, deps = {}) => {
355
461
  const resolvedExecSync = deps.execSync ?? execSync;
356
462
  const resolvedMkdir = deps.mkdir ?? fs.mkdir;
@@ -358,19 +464,14 @@ export const registerWindowsTask = async (config, deps = {}) => {
358
464
  const resolvedUnlink = deps.unlink ?? fs.unlink;
359
465
  const resolvedChmodSync = deps.chmodSync ?? chmodSync;
360
466
  const taskXmlPath = getWindowsTaskXmlPath();
467
+ const backupXmlPath = getWindowsTaskBackupXmlPath();
361
468
  const wrapperPath = getWindowsWrapperPath();
362
469
  const startupVbsPath = getWindowsStartupVbsPath();
363
470
  const legacyVbsPath = getWindowsVbsPath();
364
471
  const legacyBatPath = getWindowsBatPath();
365
472
  const restartVbsPath = getWindowsRestartVbsPath();
473
+ const launcherPath = deps.launcherPath ?? (await installWindowsLauncher());
366
474
  await resolvedMkdir(dirname(taskXmlPath), { recursive: true });
367
- // Remove legacy Task Scheduler entry if any.
368
- try {
369
- resolvedExecSync(`schtasks /Delete /TN "${TASK_NAME}" /F 2>nul`, { windowsHide: true });
370
- }
371
- catch {
372
- // Not registered — that's fine.
373
- }
374
475
  const userName = process.env.USERNAME ?? process.env.USER ?? '';
375
476
  const userId = deps.userId ?? (process.env.USERDOMAIN ? `${process.env.USERDOMAIN}\\${userName}` : userName);
376
477
  if (!userId) {
@@ -379,10 +480,52 @@ export const registerWindowsTask = async (config, deps = {}) => {
379
480
  await resolvedWriteFile(wrapperPath, buildWindowsPowerShellWrapper(config, deps.daemonPath ?? resolveExecutablePath('agentrunner')), 'utf8');
380
481
  // schtasks requires a BOM to recognize the UTF-16LE XML encoding. Node's
381
482
  // writeFile('utf16le') does not add one automatically.
382
- await resolvedWriteFile(taskXmlPath, `\uFEFF${buildWindowsTaskXmlContent(userId, wrapperPath)}`, 'utf16le');
483
+ await resolvedWriteFile(taskXmlPath, `\uFEFF${buildWindowsTaskXmlContent(userId, launcherPath, wrapperPath)}`, 'utf16le');
383
484
  resolvedChmodSync(wrapperPath, 0o600);
384
485
  resolvedChmodSync(taskXmlPath, 0o600);
385
- // Clean up legacy files.
486
+ try {
487
+ resolvedExecSync(buildWindowsWrapperAclCommand(wrapperPath, userId), { windowsHide: true });
488
+ }
489
+ catch (error) {
490
+ // Registration must not fail because ACL hardening is unavailable, but the
491
+ // token file then stays broadly readable, so say so instead of failing silently.
492
+ logger.warn('Failed to restrict the AgentRunner wrapper ACL; the daemon token file stays broadly readable', {
493
+ wrapperPath,
494
+ error: error instanceof Error ? error.message : String(error),
495
+ });
496
+ }
497
+ let backedUp = false;
498
+ try {
499
+ resolvedExecSync(buildWindowsTaskBackupCommand(backupXmlPath), { windowsHide: true });
500
+ backedUp = true;
501
+ }
502
+ catch {
503
+ // Fresh registration has no prior task to preserve.
504
+ }
505
+ try {
506
+ resolvedExecSync(`schtasks /Create /TN "${TASK_NAME}" /XML "${taskXmlPath}" /F`, { windowsHide: true });
507
+ const liveTaskXml = String(resolvedExecSync(`schtasks /Query /TN "${TASK_NAME}" /XML`, { windowsHide: true }));
508
+ // Compare the ASCII-only launcher file name, never the full path: the query
509
+ // output arrives in the console code page, so a non-ASCII profile directory
510
+ // would otherwise never match.
511
+ if (liveTaskXml && !liveTaskXml.includes(winPath.basename(launcherPath))) {
512
+ throw new Error('The live AgentRunner task does not reference the verified native launcher.');
513
+ }
514
+ }
515
+ catch (primaryError) {
516
+ if (backedUp) {
517
+ try {
518
+ resolvedExecSync(`schtasks /Create /TN "${TASK_NAME}" /XML "${backupXmlPath}" /F`, { windowsHide: true });
519
+ }
520
+ catch (rollbackError) {
521
+ throw new Error(`Failed to register the native AgentRunner task and rollback also failed: ` +
522
+ `${String(primaryError)}; rollback: ${String(rollbackError)}`);
523
+ }
524
+ }
525
+ throw primaryError;
526
+ }
527
+ // A rollback can restore a task that still points at one of these executables,
528
+ // so legacy assets stay intact until the native action is live and verified.
386
529
  for (const legacyPath of [startupVbsPath, legacyVbsPath, legacyBatPath, restartVbsPath]) {
387
530
  try {
388
531
  await resolvedUnlink(legacyPath);
@@ -391,7 +534,12 @@ export const registerWindowsTask = async (config, deps = {}) => {
391
534
  // Legacy file may not exist.
392
535
  }
393
536
  }
394
- resolvedExecSync(`schtasks /Create /TN "${TASK_NAME}" /XML "${taskXmlPath}" /F`, { windowsHide: true });
537
+ try {
538
+ await resolvedUnlink(backupXmlPath);
539
+ }
540
+ catch {
541
+ // The backup is absent on a fresh registration.
542
+ }
395
543
  // Normal init starts the task immediately. A live daemon repairing a missing
396
544
  // registration suppresses this step so it does not create a second poller
397
545
  // before the restart handoff is prepared.
@@ -414,6 +562,7 @@ export const unregisterWindowsTask = async (deps = {}) => {
414
562
  const legacyBatPath = getWindowsBatPath();
415
563
  const restartVbsPath = getWindowsRestartVbsPath();
416
564
  const taskXmlPath = getWindowsTaskXmlPath();
565
+ const backupXmlPath = getWindowsTaskBackupXmlPath();
417
566
  const wrapperPath = getWindowsWrapperPath();
418
567
  // Remove legacy Task Scheduler entry if any.
419
568
  try {
@@ -423,7 +572,15 @@ export const unregisterWindowsTask = async (deps = {}) => {
423
572
  // Not registered — that's fine.
424
573
  }
425
574
  // Remove Startup folder VBS and legacy files.
426
- for (const filePath of [startupVbsPath, legacyVbsPath, legacyBatPath, restartVbsPath, taskXmlPath, wrapperPath]) {
575
+ for (const filePath of [
576
+ startupVbsPath,
577
+ legacyVbsPath,
578
+ legacyBatPath,
579
+ restartVbsPath,
580
+ taskXmlPath,
581
+ backupXmlPath,
582
+ wrapperPath,
583
+ ]) {
427
584
  try {
428
585
  await resolvedUnlink(filePath);
429
586
  logger.info('Removed autostart file', { filePath });
@@ -432,6 +589,7 @@ export const unregisterWindowsTask = async (deps = {}) => {
432
589
  // File may not exist.
433
590
  }
434
591
  }
592
+ await (deps.cleanupLaunchers ?? cleanupInstalledWindowsLaunchers)();
435
593
  };
436
594
  // Schedule.Service task states — 4 means the task is currently running.
437
595
  const TASK_STATE_RUNNING = 4;
@@ -474,10 +632,15 @@ export const restartWindowsTask = async (config, deps = {}) => {
474
632
  const resolvedSleep = deps.sleep ?? ((milliseconds) => delay(milliseconds));
475
633
  const resolvedNow = deps.now ?? (() => Date.now());
476
634
  if (config) {
477
- const wrapperPath = getWindowsWrapperPath();
478
- await (deps.writeFile ?? fs.writeFile)(wrapperPath, buildWindowsPowerShellWrapper(config, deps.daemonPath ?? resolveExecutablePath('agentrunner')), 'utf8');
479
- (deps.chmodSync ?? chmodSync)(wrapperPath, 0o600);
480
- logger.info('Regenerated Windows task wrapper before restart', { wrapperPath });
635
+ await (deps.registerWindowsTask ?? registerWindowsTask)(config, {
636
+ execSync: resolvedExecSync,
637
+ writeFile: deps.writeFile,
638
+ chmodSync: deps.chmodSync,
639
+ daemonPath: deps.daemonPath,
640
+ launcherPath: deps.launcherPath,
641
+ startImmediately: false,
642
+ });
643
+ logger.info('Migrated and verified the Windows task before restart');
481
644
  }
482
645
  try {
483
646
  // A task that isn't currently running makes schtasks /End emit an error to
@@ -527,6 +690,28 @@ export const scheduleWindowsTaskRestart = async (deps = {}) => {
527
690
  const daemonPath = deps.daemonPath ?? resolveExecutablePath('agentrunner');
528
691
  const logPath = getWindowsLogPath();
529
692
  const handoffPath = getRestartHandoffPath(handoffId);
693
+ // Installing the launcher can throw (missing manifest, SHA-256 mismatch,
694
+ // unsupported architecture, file lock). Keep it inside the structured contract
695
+ // so the caller sees a retryable failure instead of an exception escaping into
696
+ // the poller's generic catch.
697
+ let launcherPath;
698
+ try {
699
+ launcherPath = deps.launcherPath ?? (await (deps.installLauncher ?? installWindowsLauncher)());
700
+ }
701
+ catch (error) {
702
+ logger.warn('Failed to prepare the native Windows launcher for the restart handoff', {
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
+ }
530
715
  try {
531
716
  await unlink(handoffPath);
532
717
  }
@@ -654,8 +839,7 @@ for ($attempt = 1; $attempt -le 20; $attempt++) {
654
839
  Start-DirectFallback
655
840
  `.trim();
656
841
  const encodedRestartScript = Buffer.from(restartScript, 'utf16le').toString('base64');
657
- const restartCommandLine = `powershell.exe -NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass ` +
658
- `-EncodedCommand ${encodedRestartScript}`;
842
+ const restartCommandLine = `"${launcherPath}" ${buildWindowsChildPowerShellCommand(`-EncodedCommand ${encodedRestartScript}`)}`;
659
843
  const createCommand = `$logPath = '${escapeForPowerShellString(logPath)}'; ` +
660
844
  `$result = Invoke-CimMethod -ClassName Win32_Process -MethodName Create ` +
661
845
  `-Arguments @{ CommandLine = '${escapeForPowerShellString(restartCommandLine)}' }; ` +
@@ -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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"}