@agentteams/runner 0.0.97 → 0.0.99

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 (71) hide show
  1. package/dist/api-client.d.ts +1 -0
  2. package/dist/api-client.js +20 -1
  3. package/dist/api-client.js.map +1 -1
  4. package/dist/api-client.test.js +48 -1
  5. package/dist/api-client.test.js.map +1 -1
  6. package/dist/autostart.d.ts +37 -8
  7. package/dist/autostart.js +158 -68
  8. package/dist/autostart.js.map +1 -1
  9. package/dist/autostart.test.js +130 -76
  10. package/dist/autostart.test.js.map +1 -1
  11. package/dist/commands/start.js +2 -2
  12. package/dist/commands/stop.d.ts +10 -1
  13. package/dist/commands/stop.js +11 -7
  14. package/dist/commands/stop.js.map +1 -1
  15. package/dist/commands/stop.test.d.ts +1 -0
  16. package/dist/commands/stop.test.js +34 -0
  17. package/dist/commands/stop.test.js.map +1 -0
  18. package/dist/commands/uninstall.d.ts +13 -1
  19. package/dist/commands/uninstall.js +21 -10
  20. package/dist/commands/uninstall.js.map +1 -1
  21. package/dist/commands/uninstall.test.d.ts +1 -0
  22. package/dist/commands/uninstall.test.js +42 -0
  23. package/dist/commands/uninstall.test.js.map +1 -0
  24. package/dist/daemon-control.d.ts +2 -1
  25. package/dist/daemon-control.js +16 -6
  26. package/dist/daemon-control.js.map +1 -1
  27. package/dist/daemon-control.test.js +27 -3
  28. package/dist/daemon-control.test.js.map +1 -1
  29. package/dist/executable.test.js +13 -0
  30. package/dist/executable.test.js.map +1 -1
  31. package/dist/handlers/trigger-handler.d.ts +2 -0
  32. package/dist/handlers/trigger-handler.js +36 -5
  33. package/dist/handlers/trigger-handler.js.map +1 -1
  34. package/dist/handlers/trigger-handler.test.js +298 -0
  35. package/dist/handlers/trigger-handler.test.js.map +1 -1
  36. package/dist/poller.test.js +23 -0
  37. package/dist/poller.test.js.map +1 -1
  38. package/dist/runners/capabilities.js +1 -0
  39. package/dist/runners/capabilities.js.map +1 -1
  40. package/dist/runners/capabilities.test.js +13 -1
  41. package/dist/runners/capabilities.test.js.map +1 -1
  42. package/dist/runners/codex.test.js +1 -1
  43. package/dist/runners/codex.test.js.map +1 -1
  44. package/dist/runners/cursor-cli.d.ts +27 -0
  45. package/dist/runners/cursor-cli.js +276 -0
  46. package/dist/runners/cursor-cli.js.map +1 -0
  47. package/dist/runners/cursor-cli.test.d.ts +1 -0
  48. package/dist/runners/cursor-cli.test.js +189 -0
  49. package/dist/runners/cursor-cli.test.js.map +1 -0
  50. package/dist/runners/index.js +3 -0
  51. package/dist/runners/index.js.map +1 -1
  52. package/dist/runners/index.test.js +2 -0
  53. package/dist/runners/index.test.js.map +1 -1
  54. package/dist/runners/stream-json-parser.d.ts +9 -0
  55. package/dist/runners/stream-json-parser.js +143 -0
  56. package/dist/runners/stream-json-parser.js.map +1 -1
  57. package/dist/runners/stream-json-parser.test.js +117 -1
  58. package/dist/runners/stream-json-parser.test.js.map +1 -1
  59. package/dist/types.d.ts +2 -0
  60. package/dist/utils/git-worktree.js +2 -1
  61. package/dist/utils/git-worktree.js.map +1 -1
  62. package/dist/utils/git-worktree.test.js +2 -2
  63. package/dist/utils/git-worktree.test.js.map +1 -1
  64. package/dist/utils/resolve-member-repo.d.ts +39 -0
  65. package/dist/utils/resolve-member-repo.js +180 -0
  66. package/dist/utils/resolve-member-repo.js.map +1 -0
  67. package/dist/utils/resolve-member-repo.test.d.ts +1 -0
  68. package/dist/utils/resolve-member-repo.test.js +201 -0
  69. package/dist/utils/resolve-member-repo.test.js.map +1 -0
  70. package/package.json +2 -2
  71. package/readme.md +24 -6
@@ -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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"}
@@ -1,28 +1,122 @@
1
1
  import assert from 'node:assert/strict';
2
2
  import test, { mock } from 'node:test';
3
- import { buildPlistContent, buildSystemdContent, buildWindowsVbsContent, launchWindowsHiddenDaemon, } from './autostart.js';
3
+ import { buildPlistContent, buildSystemdContent, buildWindowsPowerShellWrapper, buildWindowsTaskXmlContent, getAutostartStatus, launchWindowsHiddenDaemon, registerWindowsTask, restartWindowsTask, scheduleWindowsTaskRestart, unregisterWindowsTask, } from './autostart.js';
4
4
  const originalPath = process.env.PATH;
5
5
  test.afterEach(() => {
6
6
  mock.restoreAll();
7
7
  process.env.PATH = originalPath;
8
8
  });
9
- test('buildWindowsVbsContent launches agentrunner hidden with inherited env', () => {
10
- process.env.PATH = 'C:\\Windows\\System32;C:\\Users\\rlaru\\AppData\\Roaming\\npm';
11
- const content = buildWindowsVbsContent({
12
- token: 'daemon-token',
13
- apiUrl: 'https://api.agentteams.run',
14
- }, 'C:\\Users\\rlaru\\AppData\\Roaming\\npm\\agentrunner.cmd');
15
- assert.match(content, /Set shell = CreateObject\("WScript\.Shell"\)/u);
16
- assert.match(content, /env\("AGENTTEAMS_DAEMON_TOKEN"\) = "daemon-token"/u);
17
- assert.match(content, /env\("AGENTTEAMS_API_URL"\) = "https:\/\/api\.agentteams\.run"/u);
18
- assert.match(content, /shell\.Run """.*agentrunner\.cmd"" start", 0, False/u);
9
+ test('buildWindowsTaskXmlContent configures supervised hidden logon startup', () => {
10
+ const content = buildWindowsTaskXmlContent('DOMAIN\\runner', 'C:\\Users\\runner\\.agentteams\\agentrunner-start.ps1');
11
+ assert.match(content, /<LogonTrigger>/u);
12
+ assert.match(content, /<UserId>DOMAIN\\runner<\/UserId>/u);
13
+ assert.match(content, /<Hidden>true<\/Hidden>/u);
14
+ assert.match(content, /<MultipleInstancesPolicy>IgnoreNew<\/MultipleInstancesPolicy>/u);
15
+ assert.match(content, /<RestartOnFailure>\s*<Interval>PT1M<\/Interval>\s*<Count>3<\/Count>/u);
16
+ assert.match(content, /<Command>powershell\.exe<\/Command>/u);
17
+ assert.match(content, /-WindowStyle Hidden/u);
19
18
  });
20
- test('buildWindowsVbsContent injects CODEX_SANDBOX_LEVEL=off', () => {
21
- const content = buildWindowsVbsContent({
22
- token: 't',
23
- apiUrl: 'http://localhost:3001',
24
- }, 'agentrunner.cmd');
25
- assert.match(content, /env\("CODEX_SANDBOX_LEVEL"\) = "off"/u);
19
+ test('buildWindowsPowerShellWrapper passes environment and rotates the bounded daemon log', () => {
20
+ const content = buildWindowsPowerShellWrapper({ token: "tok'en", apiUrl: 'https://api.example' }, 'C:\\Program Files\\AgentTeams\\agentrunner.cmd', 'C:\\Users\\runner\\.agentteams\\agentrunner.log', 'C:\\Windows\\System32;C:\\Tools');
21
+ assert.match(content, /\$env:PATH = 'C:\\Windows\\System32;C:\\Tools'/u);
22
+ assert.match(content, /\$env:AGENTTEAMS_DAEMON_TOKEN = 'tok''en'/u);
23
+ assert.match(content, /\$env:AGENTTEAMS_API_URL = 'https:\/\/api\.example'/u);
24
+ assert.match(content, /\$env:CODEX_SANDBOX_LEVEL = 'off'/u);
25
+ assert.match(content, /\$maxLogBytes = 10485760/u);
26
+ assert.match(content, /Move-Item -LiteralPath \$logPath -Destination "\$logPath\.1" -Force/u);
27
+ assert.match(content, /Clear-Content -LiteralPath \$logPath -ErrorAction SilentlyContinue/u);
28
+ assert.match(content, /& 'C:\\Program Files\\AgentTeams\\agentrunner\.cmd' start \*>> '.*agentrunner\.log'/u);
29
+ });
30
+ test('getAutostartStatus queries Task Scheduler with hidden execution on Windows', () => {
31
+ const calls = [];
32
+ const status = getAutostartStatus({
33
+ platform: () => 'win32',
34
+ execSync: ((command, options) => {
35
+ calls.push({ command, windowsHide: options?.windowsHide });
36
+ return Buffer.from('TaskName: AgentRunner');
37
+ }),
38
+ });
39
+ assert.deepEqual(status, { registered: true, platform: 'task-scheduler' });
40
+ assert.equal(calls.length, 1);
41
+ assert.match(calls[0].command, /schtasks \/Query \/TN "AgentRunner"/u);
42
+ assert.equal(calls[0].windowsHide, true);
43
+ });
44
+ test('registerWindowsTask writes scheduler assets, removes legacy files, and creates and runs the task', async () => {
45
+ const commands = [];
46
+ const writes = [];
47
+ const removed = [];
48
+ const result = await registerWindowsTask({ token: 'token', apiUrl: 'https://api.example' }, {
49
+ userId: 'DOMAIN\\runner',
50
+ daemonPath: 'C:\\Tools\\agentrunner.cmd',
51
+ mkdir: async () => undefined,
52
+ writeFile: async (path, data, encoding) => {
53
+ writes.push({ path, data, encoding });
54
+ },
55
+ unlink: async (path) => {
56
+ removed.push(path);
57
+ },
58
+ chmodSync: () => undefined,
59
+ execSync: (command, options) => {
60
+ commands.push(command);
61
+ assert.equal(options.windowsHide, true);
62
+ return Buffer.from('');
63
+ },
64
+ });
65
+ assert.equal(result.platform, 'task-scheduler');
66
+ assert.equal(writes.length, 2);
67
+ assert.ok(writes.some((write) => write.path.endsWith('agentrunner-start.ps1') && write.encoding === 'utf8'));
68
+ assert.ok(writes.some((write) => write.path.endsWith('agentrunner-task.xml') && write.encoding === 'utf16le'));
69
+ assert.ok(removed.some((path) => path.endsWith('agentrunner-start.vbs')));
70
+ assert.ok(removed.some((path) => path.endsWith('agentrunner-restart.vbs')));
71
+ assert.match(commands[0], /schtasks \/Delete/u);
72
+ assert.match(commands[1], /schtasks \/Create .* \/XML .* \/F/u);
73
+ assert.match(commands[2], /schtasks \/Run/u);
74
+ });
75
+ test('unregisterWindowsTask deletes the task and all generated or legacy artifacts idempotently', async () => {
76
+ const commands = [];
77
+ const removed = [];
78
+ await unregisterWindowsTask({
79
+ execSync: (command, options) => {
80
+ commands.push(command);
81
+ assert.equal(options.windowsHide, true);
82
+ return Buffer.from('');
83
+ },
84
+ unlink: async (path) => {
85
+ removed.push(path);
86
+ },
87
+ });
88
+ assert.equal(commands.length, 1);
89
+ assert.match(commands[0], /schtasks \/Delete \/TN "AgentRunner" \/F/u);
90
+ assert.ok(removed.some((path) => path.endsWith('agentrunner-task.xml')));
91
+ assert.ok(removed.some((path) => path.endsWith('agentrunner-start.ps1')));
92
+ assert.ok(removed.some((path) => path.endsWith('agentrunner-start.vbs')));
93
+ });
94
+ test('restartWindowsTask ends the running task before starting it again', async () => {
95
+ const commands = [];
96
+ await restartWindowsTask(null, {
97
+ execSync: (command, options) => {
98
+ commands.push(command);
99
+ assert.equal(options.windowsHide, true);
100
+ return Buffer.from('');
101
+ },
102
+ });
103
+ assert.deepEqual(commands, ['schtasks /End /TN "AgentRunner"', 'schtasks /Run /TN "AgentRunner"']);
104
+ });
105
+ test('scheduleWindowsTaskRestart queues a hidden task start after the current action exits', () => {
106
+ const calls = [];
107
+ let unrefCalled = false;
108
+ scheduleWindowsTaskRestart({
109
+ spawn: ((command, args, options) => {
110
+ calls.push({ command, args, options });
111
+ return { unref: () => (unrefCalled = true) };
112
+ }),
113
+ });
114
+ assert.equal(calls.length, 1);
115
+ assert.equal(calls[0].command, 'powershell.exe');
116
+ assert.match(calls[0].args.at(-1) ?? '', /Start-Sleep -Milliseconds 500; schtasks \/Run \/TN 'AgentRunner'/u);
117
+ assert.equal(calls[0].options.windowsHide, true);
118
+ assert.equal(calls[0].options.detached, true);
119
+ assert.equal(unrefCalled, true);
26
120
  });
27
121
  test('buildPlistContent injects CODEX_SANDBOX_LEVEL=off', () => {
28
122
  const content = buildPlistContent({
@@ -39,67 +133,27 @@ test('buildSystemdContent injects CODEX_SANDBOX_LEVEL=off', () => {
39
133
  });
40
134
  assert.match(content, /Environment="CODEX_SANDBOX_LEVEL=off"/u);
41
135
  });
42
- test('buildWindowsVbsContent always launches with shell.Run style=0 (hidden)', () => {
43
- const content = buildWindowsVbsContent({
44
- token: 't',
45
- apiUrl: 'http://localhost:3001',
46
- }, 'C:\\Users\\rlaru\\AppData\\Roaming\\npm\\agentrunner.cmd');
47
- // Style 0 = hidden window; False = don't wait. Both are required for hidden launch.
48
- assert.match(content, /, 0, False$/mu);
49
- });
50
- test('launchWindowsHiddenDaemon reuses the registered startup VBS when present', () => {
51
- const execCalls = [];
136
+ test('launchWindowsHiddenDaemon starts a detached hidden PowerShell process without VBS', () => {
137
+ const calls = [];
138
+ let unrefCalled = false;
52
139
  launchWindowsHiddenDaemon({
53
- existsSync: () => true,
54
- writeFileSync: () => {
55
- throw new Error('should not write a new VBS when startup VBS exists');
56
- },
57
- mkdirSync: () => undefined,
58
- execSync: ((command, options) => {
59
- execCalls.push(command);
60
- assert.equal(options.windowsHide, true, 'wscript spawn must be hidden');
61
- return Buffer.from('');
140
+ resolveExecutablePath: () => 'C:\\Tools\\agentrunner.cmd',
141
+ spawn: ((command, args, options) => {
142
+ calls.push({ command, args, options });
143
+ return {
144
+ unref: () => {
145
+ unrefCalled = true;
146
+ },
147
+ };
62
148
  }),
63
- getAutostartConfig: () => null,
64
149
  });
65
- assert.equal(execCalls.length, 1);
66
- assert.match(execCalls[0], /^wscript\.exe ".*agentrunner-start\.vbs"$/u);
67
- assert.doesNotMatch(execCalls[0], /powershell/iu, 'must not fall through to PowerShell');
68
- });
69
- test('launchWindowsHiddenDaemon writes a fresh VBS and runs wscript when no startup VBS exists', () => {
70
- const writes = [];
71
- const execCalls = [];
72
- launchWindowsHiddenDaemon({
73
- existsSync: () => false,
74
- writeFileSync: (path, content) => {
75
- writes.push({ path, content });
76
- },
77
- mkdirSync: () => undefined,
78
- execSync: ((command, options) => {
79
- execCalls.push(command);
80
- assert.equal(options.windowsHide, true);
81
- return Buffer.from('');
82
- }),
83
- getAutostartConfig: () => ({ token: 'tok', apiUrl: 'https://api.example' }),
84
- });
85
- assert.equal(writes.length, 1);
86
- assert.match(writes[0].path, /agentrunner-restart\.vbs$/u);
87
- assert.match(writes[0].content, /env\("AGENTTEAMS_DAEMON_TOKEN"\) = "tok"/u);
88
- assert.match(writes[0].content, /, 0, False$/mu);
89
- assert.equal(execCalls.length, 1);
90
- assert.match(execCalls[0], /^wscript\.exe ".*agentrunner-restart\.vbs"$/u);
91
- });
92
- test('launchWindowsHiddenDaemon throws when no startup VBS and no config is available', () => {
93
- assert.throws(() => launchWindowsHiddenDaemon({
94
- existsSync: () => false,
95
- writeFileSync: () => {
96
- throw new Error('should not write');
97
- },
98
- mkdirSync: () => undefined,
99
- execSync: (() => {
100
- throw new Error('should not exec');
101
- }),
102
- getAutostartConfig: () => null,
103
- }), /AGENTTEAMS_DAEMON_TOKEN/u);
150
+ assert.equal(calls.length, 1);
151
+ assert.equal(calls[0].command, 'powershell.exe');
152
+ assert.ok(calls[0].args.includes('-WindowStyle'));
153
+ assert.ok(calls[0].args.includes('Hidden'));
154
+ assert.match(calls[0].args.at(-1) ?? '', /agentrunner\.cmd.* start/u);
155
+ assert.equal(calls[0].options.windowsHide, true);
156
+ assert.equal(calls[0].options.detached, true);
157
+ assert.equal(unrefCalled, true);
104
158
  });
105
159
  //# sourceMappingURL=autostart.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autostart.test.js","sourceRoot":"","sources":["../src/autostart.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAExB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AAEtC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;IAClB,IAAI,CAAC,UAAU,EAAE,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uEAAuE,EAAE,GAAG,EAAE;IACjF,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,+DAA+D,CAAC;IAEnF,MAAM,OAAO,GAAG,sBAAsB,CACpC;QACE,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,4BAA4B;KACrC,EACD,0DAA0D,CAC3D,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;IACvE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,oDAAoD,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,iEAAiE,CAAC,CAAC;IACzF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,sDAAsD,CAAC,CAAC;AAChF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wDAAwD,EAAE,GAAG,EAAE;IAClE,MAAM,OAAO,GAAG,sBAAsB,CACpC;QACE,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,uBAAuB;KAChC,EACD,iBAAiB,CAClB,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAC7D,MAAM,OAAO,GAAG,iBAAiB,CAAC;QAChC,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,uBAAuB;KAChC,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;AACzF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;IAC/D,MAAM,OAAO,GAAG,mBAAmB,CAAC;QAClC,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,uBAAuB;KAChC,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wEAAwE,EAAE,GAAG,EAAE;IAClF,MAAM,OAAO,GAAG,sBAAsB,CACpC;QACE,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,uBAAuB;KAChC,EACD,0DAA0D,CAC3D,CAAC;IAEF,oFAAoF;IACpF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0EAA0E,EAAE,GAAG,EAAE;IACpF,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,yBAAyB,CAAC;QACxB,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI;QACtB,aAAa,EAAE,GAAG,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS;QAC1B,QAAQ,EAAE,CAAC,CAAC,OAAe,EAAE,OAAiC,EAAE,EAAE;YAChE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,8BAA8B,CAAC,CAAC;YACxE,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC,CAA+E;QAChF,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI;KAC/B,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,EAAE,4CAA4C,CAAC,CAAC;IAC1E,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAE,EAAE,cAAc,EAAE,qCAAqC,CAAC,CAAC;AAC5F,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0FAA0F,EAAE,GAAG,EAAE;IACpG,MAAM,MAAM,GAA6C,EAAE,CAAC;IAC5D,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,yBAAyB,CAAC;QACxB,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK;QACvB,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS;QAC1B,QAAQ,EAAE,CAAC,CAAC,OAAe,EAAE,OAAiC,EAAE,EAAE;YAChE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC,CAA+E;QAChF,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;KAC5E,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,OAAO,EAAE,2CAA2C,CAAC,CAAC;IAC9E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,EAAE,8CAA8C,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iFAAiF,EAAE,GAAG,EAAE;IAC3F,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CACH,yBAAyB,CAAC;QACxB,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK;QACvB,aAAa,EAAE,GAAG,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QACD,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS;QAC1B,QAAQ,EAAE,CAAC,GAAG,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC,CAA+E;QAChF,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI;KAC/B,CAAC,EACJ,0BAA0B,CAC3B,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"autostart.test.js","sourceRoot":"","sources":["../src/autostart.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,6BAA6B,EAC7B,0BAA0B,EAC1B,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAExB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AAEtC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;IAClB,IAAI,CAAC,UAAU,EAAE,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uEAAuE,EAAE,GAAG,EAAE;IACjF,MAAM,OAAO,GAAG,0BAA0B,CAAC,gBAAgB,EAAE,uDAAuD,CAAC,CAAC;IAEtH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACzC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;IAC3D,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,gEAAgE,CAAC,CAAC;IACxF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,sEAAsE,CAAC,CAAC;IAC9F,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qFAAqF,EAAE,GAAG,EAAE;IAC/F,MAAM,OAAO,GAAG,6BAA6B,CAC3C,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,qBAAqB,EAAE,EAClD,gDAAgD,EAChD,iDAAiD,EACjD,iCAAiC,CAClC,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,iDAAiD,CAAC,CAAC;IACzE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,4CAA4C,CAAC,CAAC;IACpE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,sDAAsD,CAAC,CAAC;IAC9E,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;IACnD,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,sEAAsE,CAAC,CAAC;IAC9F,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,qEAAqE,CAAC,CAAC;IAC7F,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,sFAAsF,CAAC,CAAC;AAChH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4EAA4E,EAAE,GAAG,EAAE;IACtF,MAAM,KAAK,GAAsD,EAAE,CAAC;IACpE,MAAM,MAAM,GAAG,kBAAkB,CAAC;QAChC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO;QACvB,QAAQ,EAAE,CAAC,CAAC,OAAe,EAAE,OAAmC,EAAE,EAAE;YAClE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YAC3D,OAAO,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC9C,CAAC,CAAiD;KACnD,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3E,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;IACxE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kGAAkG,EAAE,KAAK,IAAI,EAAE;IAClH,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAoE,EAAE,CAAC;IACnF,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,EACjD;QACE,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE,4BAA4B;QACxC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;QAC5B,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACrB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QACD,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS;QAC1B,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;YAC7B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;KACF,CACF,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC;IAC7G,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;IAC/G,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,oBAAoB,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,oCAAoC,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,iBAAiB,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;IAC3G,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,qBAAqB,CAAC;QAC1B,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;YAC7B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACrB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,2CAA2C,CAAC,CAAC;IACxE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;IACnF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,kBAAkB,CAAC,IAAI,EAAE;QAC7B,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;YAC7B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,iCAAiC,EAAE,iCAAiC,CAAC,CAAC,CAAC;AACrG,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sFAAsF,EAAE,GAAG,EAAE;IAChG,MAAM,KAAK,GAA0F,EAAE,CAAC;IACxG,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,0BAA0B,CAAC;QACzB,KAAK,EAAE,CAAC,CAAC,OAAe,EAAE,IAAuB,EAAE,OAAgC,EAAE,EAAE;YACrF,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC;QAC/C,CAAC,CAAyD;KAC3D,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,mEAAmE,CAAC,CAAC;IAC/G,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAC7D,MAAM,OAAO,GAAG,iBAAiB,CAAC;QAChC,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,uBAAuB;KAChC,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC;AACzF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;IAC/D,MAAM,OAAO,GAAG,mBAAmB,CAAC;QAClC,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,uBAAuB;KAChC,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mFAAmF,EAAE,GAAG,EAAE;IAC7F,MAAM,KAAK,GAA0F,EAAE,CAAC;IACxG,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,yBAAyB,CAAC;QACxB,qBAAqB,EAAE,GAAG,EAAE,CAAC,4BAA4B;QACzD,KAAK,EAAE,CAAC,CAAC,OAAe,EAAE,IAAuB,EAAE,OAAgC,EAAE,EAAE;YACrF,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACvC,OAAO;gBACL,KAAK,EAAE,GAAG,EAAE;oBACV,WAAW,GAAG,IAAI,CAAC;gBACrB,CAAC;aACF,CAAC;QACJ,CAAC,CAA8C;KAChD,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IACnD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,2BAA2B,CAAC,CAAC;IACvE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC"}
@@ -6,7 +6,7 @@ import { writePidFile, removePidFile } from '../pid.js';
6
6
  import { logger } from '../logger.js';
7
7
  import { refreshWindowsPathFromRegistry } from '../windows-path.js';
8
8
  /**
9
- * The Windows autostart launcher (Startup-folder VBS) injects a PATH snapshot
9
+ * The Windows Task Scheduler wrapper injects a PATH snapshot
10
10
  * frozen at registration time, so runner CLIs installed afterwards become
11
11
  * unresolvable. Re-read the live registry PATH at startup to stay agnostic to
12
12
  * how each CLI was installed (npm, scoop, choco, native installers, ...).
@@ -21,7 +21,7 @@ const refreshExecutablePath = () => {
21
21
  };
22
22
  /**
23
23
  * Default CODEX_SANDBOX_LEVEL to "off" when not explicitly set.
24
- * Auto-start services (launchd/systemd/Startup) inject CODEX_SANDBOX_LEVEL=off
24
+ * Auto-start services (launchd/systemd/Task Scheduler) inject CODEX_SANDBOX_LEVEL=off
25
25
  * in their service files. For manual `agentrunner start`, we apply the same
26
26
  * default so both paths behave identically.
27
27
  */
@@ -1 +1,10 @@
1
- export declare const runStopCommand: () => Promise<void>;
1
+ import { logger } from '../logger.js';
2
+ import { getDaemonStatus, removePidFile } from '../pid.js';
3
+ type StopCommandDeps = {
4
+ getDaemonStatus?: typeof getDaemonStatus;
5
+ removePidFile?: typeof removePidFile;
6
+ kill?: typeof process.kill;
7
+ logger?: Pick<typeof logger, 'info' | 'error'>;
8
+ };
9
+ export declare const runStopCommand: (deps?: StopCommandDeps) => Promise<void>;
10
+ export {};
@@ -1,21 +1,25 @@
1
1
  import { logger } from '../logger.js';
2
2
  import { getDaemonStatus, removePidFile } from '../pid.js';
3
- export const runStopCommand = async () => {
4
- const { running, pid } = await getDaemonStatus();
3
+ export const runStopCommand = async (deps = {}) => {
4
+ const resolvedGetDaemonStatus = deps.getDaemonStatus ?? getDaemonStatus;
5
+ const resolvedRemovePidFile = deps.removePidFile ?? removePidFile;
6
+ const resolvedKill = deps.kill ?? process.kill.bind(process);
7
+ const resolvedLogger = deps.logger ?? logger;
8
+ const { running, pid } = await resolvedGetDaemonStatus();
5
9
  if (!running || pid === null) {
6
- logger.info('Daemon is not running');
10
+ resolvedLogger.info('Daemon is not running');
7
11
  return;
8
12
  }
9
13
  try {
10
- process.kill(pid, 'SIGTERM');
11
- logger.info('Sent SIGTERM to daemon', { pid });
14
+ resolvedKill(pid, 'SIGTERM');
15
+ resolvedLogger.info('Sent SIGTERM to daemon', { pid });
12
16
  }
13
17
  catch (error) {
14
- logger.error('Failed to stop daemon', {
18
+ resolvedLogger.error('Failed to stop daemon', {
15
19
  pid,
16
20
  error: error instanceof Error ? error.message : String(error),
17
21
  });
18
22
  }
19
- await removePidFile();
23
+ await resolvedRemovePidFile();
20
24
  };
21
25
  //# sourceMappingURL=stop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE3D,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAAmB,EAAE;IACtD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;IAEjD,IAAI,CAAC,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;YACpC,GAAG;YACH,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,EAAE,CAAC;AACxB,CAAC,CAAC"}
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAS3D,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,OAAwB,EAAE,EAAiB,EAAE;IAChF,MAAM,uBAAuB,GAAG,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC;IACxE,MAAM,qBAAqB,GAAG,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC;IAClE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IAE7C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAEzD,IAAI,CAAC,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC7B,cAAc,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7B,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,cAAc,CAAC,KAAK,CAAC,uBAAuB,EAAE;YAC5C,GAAG;YACH,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,qBAAqB,EAAE,CAAC;AAChC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,34 @@
1
+ import assert from 'node:assert/strict';
2
+ import test from 'node:test';
3
+ import { runStopCommand } from './stop.js';
4
+ test('runStopCommand stops a registered Windows task daemon gracefully without ending the task action', async () => {
5
+ const events = [];
6
+ await runStopCommand({
7
+ getDaemonStatus: async () => ({ running: true, pid: 4321 }),
8
+ kill: (pid, signal) => {
9
+ events.push(`kill:${pid}:${String(signal)}`);
10
+ return true;
11
+ },
12
+ removePidFile: async () => {
13
+ events.push('pid-remove');
14
+ },
15
+ logger: { info: () => undefined, error: () => undefined },
16
+ });
17
+ assert.deepEqual(events, ['kill:4321:SIGTERM', 'pid-remove']);
18
+ });
19
+ test('runStopCommand preserves the manual stop path', async () => {
20
+ const events = [];
21
+ await runStopCommand({
22
+ getDaemonStatus: async () => ({ running: true, pid: 99 }),
23
+ kill: () => {
24
+ events.push('kill');
25
+ return true;
26
+ },
27
+ removePidFile: async () => {
28
+ events.push('pid-remove');
29
+ },
30
+ logger: { info: () => undefined, error: () => undefined },
31
+ });
32
+ assert.deepEqual(events, ['kill', 'pid-remove']);
33
+ });
34
+ //# sourceMappingURL=stop.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop.test.js","sourceRoot":"","sources":["../../src/commands/stop.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,IAAI,CAAC,iGAAiG,EAAE,KAAK,IAAI,EAAE;IACjH,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,cAAc,CAAC;QACnB,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACpB,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,aAAa,EAAE,KAAK,IAAI,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;KAC1D,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;IAC/D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,cAAc,CAAC;QACnB,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QACzD,IAAI,EAAE,GAAG,EAAE;YACT,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,aAAa,EAAE,KAAK,IAAI,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;KAC1D,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC"}
@@ -1 +1,13 @@
1
- export declare const runUninstallCommand: () => Promise<void>;
1
+ import { logger } from '../logger.js';
2
+ import { getDaemonStatus, removePidFile } from '../pid.js';
3
+ import { getAutostartStatus, unregisterAutostart } from '../autostart.js';
4
+ type UninstallCommandDeps = {
5
+ getAutostartStatus?: typeof getAutostartStatus;
6
+ unregisterAutostart?: typeof unregisterAutostart;
7
+ getDaemonStatus?: typeof getDaemonStatus;
8
+ removePidFile?: typeof removePidFile;
9
+ kill?: typeof process.kill;
10
+ logger?: Pick<typeof logger, 'info'>;
11
+ };
12
+ export declare const runUninstallCommand: (deps?: UninstallCommandDeps) => Promise<void>;
13
+ export {};
@@ -1,21 +1,32 @@
1
1
  import { logger } from '../logger.js';
2
2
  import { getDaemonStatus, removePidFile } from '../pid.js';
3
- import { unregisterAutostart } from '../autostart.js';
4
- export const runUninstallCommand = async () => {
5
- // 1. Stop running daemon if any.
6
- const { running, pid } = await getDaemonStatus();
3
+ import { getAutostartStatus, unregisterAutostart } from '../autostart.js';
4
+ export const runUninstallCommand = async (deps = {}) => {
5
+ const resolvedGetAutostartStatus = deps.getAutostartStatus ?? getAutostartStatus;
6
+ const resolvedUnregisterAutostart = deps.unregisterAutostart ?? unregisterAutostart;
7
+ const resolvedGetDaemonStatus = deps.getDaemonStatus ?? getDaemonStatus;
8
+ const resolvedRemovePidFile = deps.removePidFile ?? removePidFile;
9
+ const resolvedKill = deps.kill ?? process.kill.bind(process);
10
+ const resolvedLogger = deps.logger ?? logger;
11
+ const autostartStatus = resolvedGetAutostartStatus();
12
+ const isWindowsTask = autostartStatus.platform === 'task-scheduler';
13
+ if (isWindowsTask) {
14
+ await resolvedUnregisterAutostart();
15
+ }
16
+ const { running, pid } = await resolvedGetDaemonStatus();
7
17
  if (running && pid !== null) {
8
18
  try {
9
- process.kill(pid, 'SIGTERM');
10
- logger.info('Stopped running daemon', { pid });
19
+ resolvedKill(pid, 'SIGTERM');
20
+ resolvedLogger.info('Stopped running daemon', { pid });
11
21
  }
12
22
  catch {
13
23
  // Process may have exited between check and kill.
14
24
  }
15
- await removePidFile();
25
+ await resolvedRemovePidFile();
26
+ }
27
+ if (!isWindowsTask) {
28
+ await resolvedUnregisterAutostart();
16
29
  }
17
- // 2. Unregister autostart service.
18
- await unregisterAutostart();
19
- logger.info('Uninstall completed. Daemon service removed and autostart unregistered.');
30
+ resolvedLogger.info('Uninstall completed. Daemon service removed and autostart unregistered.');
20
31
  };
21
32
  //# sourceMappingURL=uninstall.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,IAAmB,EAAE;IAC3D,iCAAiC;IACjC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;IAEjD,IAAI,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;QACpD,CAAC;QACD,MAAM,aAAa,EAAE,CAAC;IACxB,CAAC;IAED,mCAAmC;IACnC,MAAM,mBAAmB,EAAE,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;AACzF,CAAC,CAAC"}
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAW1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,OAA6B,EAAE,EAAiB,EAAE;IAC1F,MAAM,0BAA0B,GAAG,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC;IACjF,MAAM,2BAA2B,GAAG,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,CAAC;IACpF,MAAM,uBAAuB,GAAG,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC;IACxE,MAAM,qBAAqB,GAAG,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC;IAClE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IAE7C,MAAM,eAAe,GAAG,0BAA0B,EAAE,CAAC;IACrD,MAAM,aAAa,GAAG,eAAe,CAAC,QAAQ,KAAK,gBAAgB,CAAC;IACpE,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,2BAA2B,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAEzD,IAAI,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC7B,cAAc,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;QACpD,CAAC;QACD,MAAM,qBAAqB,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,2BAA2B,EAAE,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;AACjG,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,42 @@
1
+ import assert from 'node:assert/strict';
2
+ import test from 'node:test';
3
+ import { runUninstallCommand } from './uninstall.js';
4
+ test('runUninstallCommand deletes the Windows task before stopping the daemon process', async () => {
5
+ const events = [];
6
+ await runUninstallCommand({
7
+ getAutostartStatus: () => ({ registered: true, platform: 'task-scheduler' }),
8
+ unregisterAutostart: async () => {
9
+ events.push('task-delete');
10
+ },
11
+ getDaemonStatus: async () => ({ running: true, pid: 4321 }),
12
+ kill: () => {
13
+ events.push('kill');
14
+ return true;
15
+ },
16
+ removePidFile: async () => {
17
+ events.push('pid-remove');
18
+ },
19
+ logger: { info: () => undefined },
20
+ });
21
+ assert.deepEqual(events, ['task-delete', 'kill', 'pid-remove']);
22
+ });
23
+ test('runUninstallCommand preserves non-Windows stop-before-unregister order', async () => {
24
+ const events = [];
25
+ await runUninstallCommand({
26
+ getAutostartStatus: () => ({ registered: true, platform: 'systemd' }),
27
+ unregisterAutostart: async () => {
28
+ events.push('unregister');
29
+ },
30
+ getDaemonStatus: async () => ({ running: true, pid: 99 }),
31
+ kill: () => {
32
+ events.push('kill');
33
+ return true;
34
+ },
35
+ removePidFile: async () => {
36
+ events.push('pid-remove');
37
+ },
38
+ logger: { info: () => undefined },
39
+ });
40
+ assert.deepEqual(events, ['kill', 'pid-remove', 'unregister']);
41
+ });
42
+ //# sourceMappingURL=uninstall.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.test.js","sourceRoot":"","sources":["../../src/commands/uninstall.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,IAAI,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;IACjG,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,mBAAmB,CAAC;QACxB,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC5E,mBAAmB,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7B,CAAC;QACD,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,EAAE,GAAG,EAAE;YACT,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,aAAa,EAAE,KAAK,IAAI,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;KAClC,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;IACxF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,mBAAmB,CAAC;QACxB,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QACrE,mBAAmB,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QACD,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QACzD,IAAI,EAAE,GAAG,EAAE;YACT,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,aAAa,EAAE,KAAK,IAAI,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;KAClC,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { platform as getPlatform } from 'node:os';
2
- import { getAutostartStatus, restartAutostartService } from './autostart.js';
2
+ import { getAutostartStatus, restartAutostartService, scheduleWindowsTaskRestart } from './autostart.js';
3
3
  import { logger } from './logger.js';
4
4
  type RunningDaemonStatus = {
5
5
  running: boolean;
@@ -19,6 +19,7 @@ type RestartDeps = {
19
19
  };
20
20
  type ExecuteRestartDeps = {
21
21
  getAutostartStatus?: typeof getAutostartStatus;
22
+ scheduleWindowsTaskRestart?: typeof scheduleWindowsTaskRestart;
22
23
  spawnDetachedDaemon?: () => DetachedChildProcess | void;
23
24
  platform?: typeof getPlatform;
24
25
  processExit?: (code: number) => never;