@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.
Files changed (37) hide show
  1. package/dist/autostart.d.ts +21 -6
  2. package/dist/autostart.js +262 -43
  3. package/dist/autostart.js.map +1 -1
  4. package/dist/autostart.test.js +155 -22
  5. package/dist/autostart.test.js.map +1 -1
  6. package/dist/commands/restart.d.ts +9 -1
  7. package/dist/commands/restart.js +16 -4
  8. package/dist/commands/restart.js.map +1 -1
  9. package/dist/commands/restart.test.d.ts +1 -0
  10. package/dist/commands/restart.test.js +31 -0
  11. package/dist/commands/restart.test.js.map +1 -0
  12. package/dist/commands/start.js +5 -0
  13. package/dist/commands/start.js.map +1 -1
  14. package/dist/daemon-control.d.ts +32 -6
  15. package/dist/daemon-control.js +198 -13
  16. package/dist/daemon-control.js.map +1 -1
  17. package/dist/daemon-control.test.js +260 -26
  18. package/dist/daemon-control.test.js.map +1 -1
  19. package/dist/executable.js +10 -0
  20. package/dist/executable.js.map +1 -1
  21. package/dist/executable.test.js +31 -9
  22. package/dist/executable.test.js.map +1 -1
  23. package/dist/poller.js +12 -11
  24. package/dist/poller.js.map +1 -1
  25. package/dist/poller.test.js +51 -7
  26. package/dist/poller.test.js.map +1 -1
  27. package/dist/restart-handoff.d.ts +71 -0
  28. package/dist/restart-handoff.js +169 -0
  29. package/dist/restart-handoff.js.map +1 -0
  30. package/dist/restart-handoff.test.d.ts +1 -0
  31. package/dist/restart-handoff.test.js +228 -0
  32. package/dist/restart-handoff.test.js.map +1 -0
  33. package/dist/runners/cursor-cli.test.js +3 -1
  34. package/dist/runners/cursor-cli.test.js.map +1 -1
  35. package/dist/utils/resolve-member-repo.test.js +1 -1
  36. package/dist/utils/resolve-member-repo.test.js.map +1 -1
  37. package/package.json +2 -2
@@ -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?: (command: string, options: {
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
- spawn?: typeof spawn;
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) => void;
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
- resolvedExecSync(`schtasks /Query /TN "${TASK_NAME}"`, { windowsHide: true });
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
- await resolvedWriteFile(taskXmlPath, buildWindowsTaskXmlContent(userId, wrapperPath), 'utf16le');
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
- // Start the registered task immediately.
387
- try {
388
- resolvedExecSync(`schtasks /Run /TN "${TASK_NAME}"`, { windowsHide: true });
389
- }
390
- catch {
391
- logger.warn('Autostart registered but immediate start failed. It will start at next logon.');
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
- resolvedExecSync(`schtasks /End /TN "${TASK_NAME}"`, { windowsHide: true });
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
- export const scheduleWindowsTaskRestart = (deps = {}) => {
443
- const resolvedSpawn = deps.spawn ?? spawn;
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
- trap { Write-RestartLog "unhandled error during restart: $($_.Exception.Message)"; exit 1 }
454
- $deadline = (Get-Date).AddSeconds(30)
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
- do {
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) { Write-RestartLog "schtasks /Query failed with exit $LASTEXITCODE; aborting restart"; exit 1 }
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 before restart: $($_.Exception.Message); aborting restart"
465
- exit 1
636
+ Write-RestartLog "GetTask threw on attempt \${attempt}: $($_.Exception.Message)"
637
+ Start-Sleep -Milliseconds 250
638
+ continue
466
639
  }
467
- if ($task.State -ne 4) { break }
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
- } while ((Get-Date) -lt $deadline)
470
- if ($task.State -eq 4) { Write-RestartLog "task still running after 30s deadline; aborting restart"; exit 1 }
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
- const child = resolvedSpawn('powershell.exe', [
486
- '-NoProfile',
487
- '-NonInteractive',
488
- '-WindowStyle',
489
- 'Hidden',
490
- '-ExecutionPolicy',
491
- 'Bypass',
492
- '-Command',
493
- createCommand,
494
- ], {
495
- detached: true,
496
- stdio: 'ignore',
497
- windowsHide: true,
498
- env: process.env,
499
- });
500
- child.unref();
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
  };
@@ -1 +1 @@
1
- {"version":3,"file":"autostart.js","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAC9C,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C,uBAAuB;AAEvB,MAAM,mBAAmB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,aAAa,QAAQ,CAAC,CAAC;AAE/G,MAAM,qBAAqB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAEjH,MAAM,iBAAiB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,uBAAuB,CAAC,CAAC;AAEhG,MAAM,iBAAiB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,uBAAuB,CAAC,CAAC;AAEhG,MAAM,wBAAwB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,yBAAyB,CAAC,CAAC;AAEzG,MAAM,qBAAqB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,sBAAsB,CAAC,CAAC;AAEnG,MAAM,qBAAqB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,uBAAuB,CAAC,CAAC;AAEpG,MAAM,iBAAiB,GAAG,GAAW,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;AAE1F,MAAM,wBAAwB,GAAG,GAAW,EAAE,CAC5C,IAAI,CACF,OAAO,EAAE,EACT,SAAS,EACT,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAS,EACT,uBAAuB,CACxB,CAAC;AAEJ,wBAAwB;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAuB,EAAU,EAAE;IACnE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,8BAA8B,CAAC;IACvE,MAAM,UAAU,GAAG;QACjB,oCAAoC,WAAW,WAAW;QAC1D,uDAAuD,MAAM,CAAC,KAAK,WAAW;QAC9E,kDAAkD,MAAM,CAAC,MAAM,WAAW;QAC1E,8DAA8D;KAC/D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;;;;;;YAMG,aAAa;;;;cAIX,QAAQ;cACR,UAAU;;;;;;EAMtB,UAAU;;;;;;;;;;;;;;;;;;;;;SAqBH,CAAC;AACV,CAAC,CAAC;AAEF,0BAA0B;AAE1B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAuB,EAAU,EAAE;IACrE,MAAM,UAAU,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAExD,OAAO;;;;;;;YAOG,UAAU;oBACF,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,8BAA8B;uCAC/B,MAAM,CAAC,KAAK;kCACjB,MAAM,CAAC,MAAM;;;;;;;;;wBASvB,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAEzF,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE,CAC7C,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAE3G,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,MAAuB,EACvB,aAAqB,qBAAqB,CAAC,aAAa,CAAC,EACzD,UAAkB,iBAAiB,EAAE,EACrC,cAAsB,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EACpC,EAAE;IACV,OAAO;QACL,iCAAiC;QACjC,gBAAgB,yBAAyB,CAAC,WAAW,CAAC,GAAG;QACzD,mCAAmC,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;QAC7E,8BAA8B,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG;QACzE,kCAAkC;QAClC,eAAe,yBAAyB,CAAC,OAAO,CAAC,GAAG;QACpD,kBAAkB,qBAAqB,EAAE;QACzC,OAAO;QACP,2HAA2H;QAC3H,sEAAsE;QACtE,KAAK;QACL,WAAW;QACX,qEAAqE;QACrE,GAAG;QACH,MAAM,yBAAyB,CAAC,UAAU,CAAC,gBAAgB,yBAAyB,CAAC,OAAO,CAAC,GAAG;QAChG,oBAAoB;KACrB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAc,EAAE,WAAmB,EAAU,EAAE;IACxF,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,YAAY,CACjC,iFAAiF,WAAW,GAAG,CAChG,CAAC;IAEF,OAAO;;;;;;gBAMO,aAAa;;;;;gBAKb,aAAa;;;;;;;;;;;;;;;;;;;;mBAoBV,cAAc;;;QAGzB,CAAC;AACT,CAAC,CAAC;AAeF,MAAM,yBAAyB,GAAG,GAA2B,EAAE;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC9C,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,MAAuB,EAA4B,EAAE;IAC3F,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IAEtB,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,mCAAmC,CAAC,CAAC;IACrF,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,IAAmB,EAAE;IAC3D,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IAEtB,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,iBAAiB,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,MAAM,iBAAiB,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,MAAM,qBAAqB,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,2BAA2B,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,IAAmB,EAAE;IAC/D,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,MAAM,MAAM,GAAG,yBAAyB,EAAE,CAAC;IAE3C,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0CAA0C,EAAE,IAAI,CAAC,CAAC;AACpE,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAA4B,EAAE,EAA6C,EAAE;IAC9G,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,CAAC;IACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAEnD,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,kBAAkB,aAAa,cAAc,EAAE;gBAC7E,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC;YACH,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAC7E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,qDAAqD,EAAE;gBACrF,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC;YACH,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAC1E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,gBAAgB,CAAC,wBAAwB,SAAS,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9E,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC7C,CAAC,CAAC;AAEF,wBAAwB;AAExB,MAAM,eAAe,GAAG,KAAK,EAAE,MAAuB,EAA4B,EAAE;IAClF,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IAExC,gDAAgD;IAChD,IAAI,CAAC;QACH,QAAQ,CAAC,qBAAqB,SAAS,eAAe,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;IAC9B,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE5B,QAAQ,CAAC,mBAAmB,SAAS,GAAG,CAAC,CAAC;IAE1C,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;IAClD,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IAExC,IAAI,CAAC;QACH,QAAQ,CAAC,qBAAqB,SAAS,eAAe,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;IAC9B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,KAAK,EAAE,MAA8B,EAAiB,EAAE;IAC7E,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IAExC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,CAAC,qBAAqB,SAAS,eAAe,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/C,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,QAAQ,CAAC,mBAAmB,SAAS,GAAG,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,wBAAwB;AAExB,MAAM,eAAe,GAAG,KAAK,EAAE,MAAuB,EAA4B,EAAE;IAClF,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;IAE5C,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACjD,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAE9B,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAC3C,QAAQ,CAAC,qCAAqC,CAAC,CAAC;IAChD,QAAQ,CAAC,oCAAoC,CAAC,CAAC;IAE/C,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAChE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;IAClD,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;IAE5C,IAAI,CAAC;QACH,QAAQ,CAAC,+CAA+C,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,CAAC,kDAAkD,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IAED,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,KAAK,EAAE,MAA8B,EAAiB,EAAE;IAC7E,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC9B,QAAQ,CAAC,gCAAgC,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,QAAQ,CAAC,sCAAsC,CAAC,CAAC;AACnD,CAAC,CAAC;AAcF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,MAAuB,EACvB,OAA6B,EAAE,EACL,EAAE;IAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC;IACnD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC;IAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,CAAC;IACzD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC;IAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;IACtD,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;IAC5C,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;IAClD,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;IAElD,MAAM,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/D,6CAA6C;IAC7C,IAAI,CAAC;QACH,gBAAgB,CAAC,yBAAyB,SAAS,YAAY,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7G,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,iBAAiB,CACrB,WAAW,EACX,6BAA6B,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC,EAC9F,MAAM,CACP,CAAC;IACF,MAAM,iBAAiB,CAAC,WAAW,EAAE,0BAA0B,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;IACjG,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACtC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAEtC,yBAAyB;IACzB,KAAK,MAAM,UAAU,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;QACxF,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,yBAAyB,SAAS,WAAW,WAAW,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAExG,yCAAyC;IACzC,IAAI,CAAC;QACH,gBAAgB,CAAC,sBAAsB,SAAS,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;IAC/F,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5E,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AACpF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,OAA6B,EAAE,EAAiB,EAAE;IAC5F,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC;IACnD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC;IAChD,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;IAClD,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;IAClD,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;IAE5C,6CAA6C;IAC7C,IAAI,CAAC;QACH,gBAAgB,CAAC,yBAAyB,SAAS,YAAY,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IAED,8CAA8C;IAC9C,KAAK,MAAM,QAAQ,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;QAChH,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,MAA8B,EAC9B,OAA+B,EAAE,EAClB,EAAE;IACjB,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC;IACnD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,CAAC,CACpC,WAAW,EACX,6BAA6B,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC,EAC9F,MAAM,CACP,CAAC;QACF,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,iDAAiD,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,CAAC;QACH,gBAAgB,CAAC,sBAAsB,SAAS,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;IACD,gBAAgB,CAAC,sBAAsB,SAAS,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC,CAAC;AAMF,kFAAkF;AAClF,oFAAoF;AACpF,mDAAmD;AACnD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,OAAuC,EAAE,EAAQ,EAAE;IAC5F,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IAC1C,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,8EAA8E;IAC9E,iFAAiF;IACjF,MAAM,aAAa,GAAG;eACT,SAAS;cACV,yBAAyB,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B/C,CAAC,IAAI,EAAE,CAAC;IACP,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtF,MAAM,kBAAkB,GACtB,wFAAwF;QACxF,mBAAmB,oBAAoB,EAAE,CAAC;IAC5C,MAAM,aAAa,GACjB,eAAe,yBAAyB,CAAC,OAAO,CAAC,KAAK;QACtD,yEAAyE;QACzE,gCAAgC,yBAAyB,CAAC,kBAAkB,CAAC,OAAO;QACpF,mCAAmC;QACnC,kJAAkJ;QAClJ,4BAA4B,CAAC;IAC/B,MAAM,KAAK,GAAG,aAAa,CACzB,gBAAgB,EAChB;QACE,YAAY;QACZ,iBAAiB;QACjB,cAAc;QACd,QAAQ;QACR,kBAAkB;QAClB,QAAQ;QACR,UAAU;QACV,aAAa;KACd,EACD;QACE,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CACF,CAAC;IACF,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAgC,EAAE,EAAQ,EAAE;IACpF,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IAC1C,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,qBAAqB,IAAI,qBAAqB,CAAC,CAAC,aAAa,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC,UAAU,CAAC,SAAS,CAAC;IACrE,MAAM,KAAK,GAAG,aAAa,CACzB,gBAAgB,EAChB,CAAC,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,EAC9G;QACE,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,IAAI;QACjB,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CACF,CAAC;IACF,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"autostart.js","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"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"}