@getpaseo/cli 0.1.15 → 0.1.17

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 (74) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +12 -12
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/agent/archive.d.ts.map +1 -1
  5. package/dist/commands/agent/archive.js +4 -3
  6. package/dist/commands/agent/archive.js.map +1 -1
  7. package/dist/commands/agent/attach.js +3 -3
  8. package/dist/commands/agent/attach.js.map +1 -1
  9. package/dist/commands/agent/index.d.ts.map +1 -1
  10. package/dist/commands/agent/index.js +4 -3
  11. package/dist/commands/agent/index.js.map +1 -1
  12. package/dist/commands/agent/inspect.d.ts.map +1 -1
  13. package/dist/commands/agent/inspect.js +17 -4
  14. package/dist/commands/agent/inspect.js.map +1 -1
  15. package/dist/commands/agent/logs.d.ts +4 -0
  16. package/dist/commands/agent/logs.d.ts.map +1 -1
  17. package/dist/commands/agent/logs.js +20 -16
  18. package/dist/commands/agent/logs.js.map +1 -1
  19. package/dist/commands/agent/ls.d.ts +3 -0
  20. package/dist/commands/agent/ls.d.ts.map +1 -1
  21. package/dist/commands/agent/ls.js +43 -14
  22. package/dist/commands/agent/ls.js.map +1 -1
  23. package/dist/commands/agent/mode.d.ts.map +1 -1
  24. package/dist/commands/agent/mode.js +3 -2
  25. package/dist/commands/agent/mode.js.map +1 -1
  26. package/dist/commands/agent/run.d.ts +1 -1
  27. package/dist/commands/agent/run.d.ts.map +1 -1
  28. package/dist/commands/agent/run.js +12 -7
  29. package/dist/commands/agent/run.js.map +1 -1
  30. package/dist/commands/agent/stop.js +3 -3
  31. package/dist/commands/agent/stop.js.map +1 -1
  32. package/dist/commands/agent/update.js +7 -7
  33. package/dist/commands/agent/update.js.map +1 -1
  34. package/dist/commands/agent/wait.d.ts.map +1 -1
  35. package/dist/commands/agent/wait.js +35 -12
  36. package/dist/commands/agent/wait.js.map +1 -1
  37. package/dist/commands/daemon/index.d.ts.map +1 -1
  38. package/dist/commands/daemon/index.js +2 -0
  39. package/dist/commands/daemon/index.js.map +1 -1
  40. package/dist/commands/daemon/local-daemon.d.ts.map +1 -1
  41. package/dist/commands/daemon/local-daemon.js +132 -65
  42. package/dist/commands/daemon/local-daemon.js.map +1 -1
  43. package/dist/commands/daemon/runtime-toolchain.d.ts +24 -0
  44. package/dist/commands/daemon/runtime-toolchain.d.ts.map +1 -0
  45. package/dist/commands/daemon/runtime-toolchain.js +93 -0
  46. package/dist/commands/daemon/runtime-toolchain.js.map +1 -0
  47. package/dist/commands/daemon/status.d.ts.map +1 -1
  48. package/dist/commands/daemon/status.js +169 -3
  49. package/dist/commands/daemon/status.js.map +1 -1
  50. package/dist/commands/daemon/update.d.ts +9 -0
  51. package/dist/commands/daemon/update.d.ts.map +1 -0
  52. package/dist/commands/daemon/update.js +82 -0
  53. package/dist/commands/daemon/update.js.map +1 -0
  54. package/dist/commands/permit/allow.d.ts.map +1 -1
  55. package/dist/commands/permit/allow.js +3 -2
  56. package/dist/commands/permit/allow.js.map +1 -1
  57. package/dist/commands/permit/deny.d.ts.map +1 -1
  58. package/dist/commands/permit/deny.js +3 -2
  59. package/dist/commands/permit/deny.js.map +1 -1
  60. package/dist/commands/provider/index.d.ts.map +1 -1
  61. package/dist/commands/provider/index.js +1 -0
  62. package/dist/commands/provider/index.js.map +1 -1
  63. package/dist/commands/provider/models.d.ts +4 -0
  64. package/dist/commands/provider/models.d.ts.map +1 -1
  65. package/dist/commands/provider/models.js +17 -9
  66. package/dist/commands/provider/models.js.map +1 -1
  67. package/dist/utils/client-id.d.ts +2 -0
  68. package/dist/utils/client-id.d.ts.map +1 -0
  69. package/dist/utils/client-id.js +37 -0
  70. package/dist/utils/client-id.js.map +1 -0
  71. package/dist/utils/client.d.ts.map +1 -1
  72. package/dist/utils/client.js +4 -0
  73. package/dist/utils/client.js.map +1 -1
  74. package/package.json +6 -4
@@ -1,8 +1,9 @@
1
1
  import { spawn, spawnSync } from 'node:child_process';
2
- import { closeSync, existsSync, openSync, readFileSync, rmSync } from 'node:fs';
2
+ import { existsSync, readFileSync } from 'node:fs';
3
3
  import { createRequire } from 'node:module';
4
4
  import path from 'node:path';
5
5
  import { loadConfig, resolvePaseoHome } from '@getpaseo/server';
6
+ import { tryConnectToDaemon } from '../../utils/client.js';
6
7
  const DETACHED_STARTUP_GRACE_MS = 1200;
7
8
  const PID_POLL_INTERVAL_MS = 100;
8
9
  const KILL_TIMEOUT_MS = 3000;
@@ -143,7 +144,44 @@ function signalProcess(pid, signal) {
143
144
  throw err;
144
145
  }
145
146
  }
146
- async function waitForExit(pid, timeoutMs) {
147
+ function signalProcessSafely(pid, signal) {
148
+ if (!Number.isInteger(pid) || pid <= 1 || pid === process.pid) {
149
+ return false;
150
+ }
151
+ try {
152
+ return signalProcess(pid, signal);
153
+ }
154
+ catch (err) {
155
+ const code = readNodeErrnoCode(err);
156
+ if (code === 'EPERM') {
157
+ return true;
158
+ }
159
+ throw err;
160
+ }
161
+ }
162
+ function signalProcessGroupSafely(pid, signal) {
163
+ if (!Number.isInteger(pid) || pid <= 1 || pid === process.pid) {
164
+ return false;
165
+ }
166
+ if (process.platform === 'win32') {
167
+ return signalProcessSafely(pid, signal);
168
+ }
169
+ try {
170
+ process.kill(-pid, signal);
171
+ return true;
172
+ }
173
+ catch (err) {
174
+ const code = readNodeErrnoCode(err);
175
+ if (code === 'ESRCH') {
176
+ return signalProcessSafely(pid, signal);
177
+ }
178
+ if (code === 'EPERM') {
179
+ return true;
180
+ }
181
+ throw err;
182
+ }
183
+ }
184
+ async function waitForPidExit(pid, timeoutMs) {
147
185
  const deadline = Date.now() + timeoutMs;
148
186
  while (Date.now() < deadline) {
149
187
  if (!isProcessRunning(pid)) {
@@ -153,6 +191,9 @@ async function waitForExit(pid, timeoutMs) {
153
191
  }
154
192
  return !isProcessRunning(pid);
155
193
  }
194
+ function getErrorMessage(error) {
195
+ return error instanceof Error ? error.message : String(error);
196
+ }
156
197
  export function resolveLocalPaseoHome(home) {
157
198
  return resolvePaseoHome(envWithHome(home));
158
199
  }
@@ -208,52 +249,46 @@ export async function startLocalDaemonDetached(options) {
208
249
  const paseoHome = resolvePaseoHome(childEnv);
209
250
  const logPath = path.join(paseoHome, DAEMON_LOG_FILENAME);
210
251
  const daemonRunnerEntry = resolveDaemonRunnerEntry();
211
- const logFd = openSync(logPath, 'a');
212
- try {
213
- const child = spawn(process.execPath, [...process.execArgv, daemonRunnerEntry, ...buildRunnerArgs(options)], {
214
- detached: true,
215
- env: childEnv,
216
- stdio: ['ignore', logFd, logFd],
252
+ const child = spawn(process.execPath, [...process.execArgv, daemonRunnerEntry, ...buildRunnerArgs(options)], {
253
+ detached: true,
254
+ env: childEnv,
255
+ stdio: ['ignore', 'ignore', 'ignore'],
256
+ });
257
+ child.unref();
258
+ const startup = await new Promise((resolve) => {
259
+ let settled = false;
260
+ const finish = (value) => {
261
+ if (settled)
262
+ return;
263
+ settled = true;
264
+ resolve(value);
265
+ };
266
+ const timer = setTimeout(() => finish(startupReady()), DETACHED_STARTUP_GRACE_MS);
267
+ child.once('error', (error) => {
268
+ clearTimeout(timer);
269
+ finish(startupExited({ code: null, signal: null, error }));
217
270
  });
218
- child.unref();
219
- const startup = await new Promise((resolve) => {
220
- let settled = false;
221
- const finish = (value) => {
222
- if (settled)
223
- return;
224
- settled = true;
225
- resolve(value);
226
- };
227
- const timer = setTimeout(() => finish(startupReady()), DETACHED_STARTUP_GRACE_MS);
228
- child.once('error', (error) => {
229
- clearTimeout(timer);
230
- finish(startupExited({ code: null, signal: null, error }));
231
- });
232
- child.once('exit', (code, signal) => {
233
- clearTimeout(timer);
234
- finish(startupExited({ code, signal }));
235
- });
271
+ child.once('exit', (code, signal) => {
272
+ clearTimeout(timer);
273
+ finish(startupExited({ code, signal }));
236
274
  });
237
- if (startup.exitedEarly) {
238
- const reason = startup.error
239
- ? startup.error.message
240
- : `exit code ${startup.code ?? 'unknown'}${startup.signal ? ` (${startup.signal})` : ''}`;
241
- const recentLogs = tailFile(logPath);
242
- throw new Error([
243
- `Daemon failed to start in background (${reason}).`,
244
- recentLogs ? `Recent daemon logs:\n${recentLogs}` : null,
245
- ]
246
- .filter(Boolean)
247
- .join('\n\n'));
248
- }
249
- return {
250
- pid: child.pid ?? null,
251
- logPath,
252
- };
253
- }
254
- finally {
255
- closeSync(logFd);
275
+ });
276
+ if (startup.exitedEarly) {
277
+ const reason = startup.error
278
+ ? startup.error.message
279
+ : `exit code ${startup.code ?? 'unknown'}${startup.signal ? ` (${startup.signal})` : ''}`;
280
+ const recentLogs = tailFile(logPath);
281
+ throw new Error([
282
+ `Daemon failed to start in background (${reason}).`,
283
+ recentLogs ? `Recent daemon logs:\n${recentLogs}` : null,
284
+ ]
285
+ .filter(Boolean)
286
+ .join('\n\n'));
256
287
  }
288
+ return {
289
+ pid: child.pid ?? null,
290
+ logPath,
291
+ };
257
292
  }
258
293
  export function startLocalDaemonForeground(options) {
259
294
  if (options.listen && options.port) {
@@ -270,6 +305,35 @@ export function startLocalDaemonForeground(options) {
270
305
  }
271
306
  return result.status ?? 1;
272
307
  }
308
+ async function requestLifecycleShutdown(state, timeoutMs) {
309
+ const host = resolveTcpHostFromListen(state.listen);
310
+ if (!host) {
311
+ return {
312
+ requested: false,
313
+ reason: 'daemon listen target is not TCP, falling back to owner PID signal',
314
+ };
315
+ }
316
+ const client = await tryConnectToDaemon({ host, timeout: Math.min(timeoutMs, 5000) });
317
+ if (!client) {
318
+ return {
319
+ requested: false,
320
+ reason: `daemon websocket at ${host} is not reachable, falling back to owner PID signal`,
321
+ };
322
+ }
323
+ try {
324
+ await client.shutdownServer();
325
+ return { requested: true };
326
+ }
327
+ catch (error) {
328
+ return {
329
+ requested: false,
330
+ reason: `daemon lifecycle shutdown request failed (${getErrorMessage(error)}), falling back to owner PID signal`,
331
+ };
332
+ }
333
+ finally {
334
+ await client.close().catch(() => undefined);
335
+ }
336
+ }
273
337
  export async function stopLocalDaemon(options = {}) {
274
338
  const timeoutMs = options.timeoutMs ?? DEFAULT_STOP_TIMEOUT_MS;
275
339
  const state = resolveLocalDaemonState({ home: options.home });
@@ -286,38 +350,41 @@ export async function stopLocalDaemon(options = {}) {
286
350
  };
287
351
  }
288
352
  const pid = state.pidInfo.pid;
289
- const signaled = signalProcess(pid, 'SIGTERM');
290
- if (!signaled) {
291
- return {
292
- action: 'not_running',
293
- home: state.home,
294
- pid,
295
- forced: false,
296
- message: 'Daemon process was already stopped',
297
- };
298
- }
353
+ const shutdownAttempt = await requestLifecycleShutdown(state, timeoutMs);
354
+ const lifecycleRequested = shutdownAttempt.requested;
355
+ const fallbackMessage = shutdownAttempt.requested ? null : shutdownAttempt.reason;
299
356
  let forced = false;
300
- let stopped = await waitForExit(pid, timeoutMs);
357
+ if (!lifecycleRequested) {
358
+ const signaled = signalProcessSafely(pid, 'SIGTERM');
359
+ if (!signaled) {
360
+ return {
361
+ action: 'not_running',
362
+ home: state.home,
363
+ pid,
364
+ forced: false,
365
+ message: 'Daemon process was already stopped',
366
+ };
367
+ }
368
+ }
369
+ let stopped = await waitForPidExit(pid, timeoutMs);
301
370
  if (!stopped && options.force) {
302
371
  forced = true;
303
- const killSent = signalProcess(pid, 'SIGKILL');
304
- if (killSent) {
305
- stopped = await waitForExit(pid, KILL_TIMEOUT_MS);
306
- }
307
- else {
308
- stopped = true;
309
- }
372
+ signalProcessGroupSafely(pid, 'SIGKILL');
373
+ stopped = await waitForPidExit(pid, KILL_TIMEOUT_MS);
310
374
  }
311
375
  if (!stopped) {
312
376
  throw new Error(`Timed out waiting for daemon PID ${pid} to stop after ${Math.ceil(timeoutMs / 1000)}s`);
313
377
  }
314
- rmSync(state.pidPath, { force: true });
315
378
  return {
316
379
  action: 'stopped',
317
380
  home: state.home,
318
381
  pid,
319
382
  forced,
320
- message: forced ? 'Daemon was force-stopped' : 'Daemon stopped gracefully',
383
+ message: forced
384
+ ? 'Daemon owner process was force-stopped'
385
+ : lifecycleRequested
386
+ ? 'Daemon stopped gracefully'
387
+ : fallbackMessage ?? 'Daemon stopped via owner PID signal',
321
388
  };
322
389
  }
323
390
  //# sourceMappingURL=local-daemon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-daemon.js","sourceRoot":"","sources":["../../../src/commands/daemon/local-daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-daemon.js","sourceRoot":"","sources":["../../../src/commands/daemon/local-daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AA2D1D,MAAM,yBAAyB,GAAG,IAAI,CAAA;AACtC,MAAM,oBAAoB,GAAG,GAAG,CAAA;AAChC,MAAM,eAAe,GAAG,IAAI,CAAA;AAC5B,MAAM,mBAAmB,GAAG,YAAY,CAAA;AACxC,MAAM,mBAAmB,GAAG,WAAW,CAAA;AAEvC,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAM,CAAA;AAE7C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE9C,MAAM,YAAY,GAAG,GAA0B,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;AAE1E,MAAM,aAAa,GAAG,CAAC,OAA2B,EAAyB,EAAE,CAAC,CAAC;IAC7E,WAAW,EAAE,IAAI;IACjB,GAAG,OAAO;CACX,CAAC,CAAA;AAEF,SAAS,WAAW,CAAC,IAAa;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,OAAO,CAAC,GAAG,CAAA;IACpB,CAAC;IAED,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;AAC7C,CAAC;AAED,SAAS,eAAe,CAAC,OAA2B;IAClD,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACzB,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACvB,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,aAAa,CAAC,OAA2B;IAChD,MAAM,QAAQ,GAAsB,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACtD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAA;IACpC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAA;IACxC,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACxB,QAAQ,CAAC,YAAY,GAAG,aAAa,OAAO,CAAC,IAAI,EAAE,CAAA;IACrD,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,QAAQ,CAAC,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAA;IACrD,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,wBAAwB;IAC/B,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC5D,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAE/C,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;QAC7D,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAsB,CAAA;gBAC3F,IAAI,WAAW,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAA;oBAC/E,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC3B,OAAO,UAAU,CAAA;oBACnB,CAAC;oBACD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAA;gBAC7D,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,+DAA+D;YACjE,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAC1C,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAK;QACP,CAAC;QACD,UAAU,GAAG,SAAS,CAAA;IACxB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;AACtF,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB;IACpC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAA;AAClD,CAAC;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAA4B,CAAA;QACpF,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAA;QAC3B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YACjF,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO;YACL,GAAG,EAAE,QAAQ;YACb,SAAS,EAAE,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC9E,QAAQ,EAAE,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC3E,GAAG,EAAE,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YAC5D,QAAQ,EAAE,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SAC5E,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,QAAgB,EAAE,KAAK,GAAG,EAAE;IAC5C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC/C,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AAChE,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAW,EAAE,MAAsB;IACxD,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW,EAAE,MAAsB;IAC9D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAW,EAAE,MAAsB;IACnE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACzC,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,SAAiB;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;IACvC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACnC,CAAC;IACD,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;AAC/B,CAAC;AAMD,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,OAAO,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAc;IACrD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;IAChC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACnE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,aAAa,UAAU,EAAE,CAAA;IAClC,CAAC;IAED,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,UAA6B,EAAE;IACrE,MAAM,GAAG,GAAsB;QAC7B,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5B,+FAA+F;QAC/F,YAAY,EAAE,SAAS;QACvB,mBAAmB,EAAE,SAAS;KAC/B,CAAA;IACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IACxC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;IACpD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACjE,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC/D,MAAM,MAAM,GAAG,OAAO,EAAE,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAA;IAEjD,OAAO;QACL,IAAI;QACJ,MAAM;QACN,OAAO;QACP,OAAO;QACP,OAAO;QACP,OAAO;QACP,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;KAC3C,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAa,EAAE,KAAK,GAAG,EAAE;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC,CAAA;IAC3E,OAAO,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAA2B;IAE3B,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAEvC,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAA;IACzD,MAAM,iBAAiB,GAAG,wBAAwB,EAAE,CAAA;IACpD,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,CAAC,QAAQ,EAChB,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,EACrE;QACE,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;KACtC,CACF,CAAA;IAED,KAAK,CAAC,KAAK,EAAE,CAAA;IAEb,MAAM,OAAO,GAAG,MAAM,IAAI,OAAO,CAAwB,CAAC,OAAO,EAAE,EAAE;QACnE,IAAI,OAAO,GAAG,KAAK,CAAA;QAEnB,MAAM,MAAM,GAAG,CAAC,KAA4B,EAAE,EAAE;YAC9C,IAAI,OAAO;gBAAE,OAAM;YACnB,OAAO,GAAG,IAAI,CAAA;YACd,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC,CAAA;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,yBAAyB,CAAC,CAAA;QAEjF,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5B,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAClC,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK;YAC1B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;YACvB,CAAC,CAAC,aAAa,OAAO,CAAC,IAAI,IAAI,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QAC3F,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,IAAI,KAAK,CACb;YACE,yCAAyC,MAAM,IAAI;YACnD,UAAU,CAAC,CAAC,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI;SACzD;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,MAAM,CAAC,CAChB,CAAA;IACH,CAAC;IAED,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI;QACtB,OAAO;KACR,CAAA;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAA2B;IACpE,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACvC,MAAM,iBAAiB,GAAG,wBAAwB,EAAE,CAAA;IACpD,MAAM,MAAM,GAAG,SAAS,CACtB,OAAO,CAAC,QAAQ,EAChB,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,EACrE;QACE,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,SAAS;KACjB,CACF,CAAA;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,MAAM,CAAC,KAAK,CAAA;IACpB,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,KAAuB,EACvB,SAAiB;IAEjB,MAAM,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACnD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,mEAAmE;SAC5E,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;IACrF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,uBAAuB,IAAI,qDAAqD;SACzF,CAAA;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,cAAc,EAAE,CAAA;QAC7B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,6CAA6C,eAAe,CAClE,KAAK,CACN,qCAAqC;SACvC,CAAA;IACH,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IAC7C,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAkC,EAAE;IAEpC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,uBAAuB,CAAA;IAC9D,MAAM,KAAK,GAAG,uBAAuB,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAE7D,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,WAAW,GACf,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO;YACjC,CAAC,CAAC,wBAAwB,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG;YAC9C,CAAC,CAAC,EAAE,CAAA;QACR,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI;YAC/B,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,wBAAwB,WAAW,EAAE;SAC/C,CAAA;IACH,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAA;IAC7B,MAAM,eAAe,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IACxE,MAAM,kBAAkB,GAAG,eAAe,CAAC,SAAS,CAAA;IACpD,MAAM,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAA;IACjF,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,MAAM,EAAE,aAAa;gBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,GAAG;gBACH,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,oCAAoC;aAC9C,CAAA;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IAClD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,GAAG,IAAI,CAAA;QACb,wBAAwB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QACxC,OAAO,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,oCAAoC,GAAG,kBAAkB,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CACxF,CAAA;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG;QACH,MAAM;QACN,OAAO,EAAE,MAAM;YACb,CAAC,CAAC,wCAAwC;YAC1C,CAAC,CAAC,kBAAkB;gBAClB,CAAC,CAAC,2BAA2B;gBAC7B,CAAC,CAAC,eAAe,IAAI,qCAAqC;KAC/D,CAAA;AACH,CAAC"}
@@ -0,0 +1,24 @@
1
+ export type NodePathSource = 'daemon_pid' | 'current_process';
2
+ export interface NodePathResolution {
3
+ nodePath: string;
4
+ source: NodePathSource;
5
+ note?: string;
6
+ }
7
+ export interface NodePathFromPidResult {
8
+ nodePath: string | null;
9
+ error?: string;
10
+ }
11
+ export interface NpmInvocation {
12
+ nodePath: string;
13
+ npmPath: string;
14
+ command: string;
15
+ argsPrefix: string[];
16
+ }
17
+ export declare function resolveNodePathFromPid(pid: number): NodePathFromPidResult;
18
+ export declare function resolvePreferredNodePath(args: {
19
+ daemonPid?: number | null;
20
+ fallbackNodePath?: string;
21
+ }): NodePathResolution;
22
+ export declare function resolveNpmInvocationFromNode(nodePath: string): NpmInvocation;
23
+ export declare function formatNpmInvocation(invocation: NpmInvocation): string;
24
+ //# sourceMappingURL=runtime-toolchain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-toolchain.d.ts","sourceRoot":"","sources":["../../../src/commands/daemon/runtime-toolchain.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,iBAAiB,CAAA;AAE7D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,cAAc,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AASD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CA8BzE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,GAAG,kBAAkB,CAwBrB;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CA+B5E;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,aAAa,GAAG,MAAM,CAKrE"}
@@ -0,0 +1,93 @@
1
+ import { spawnSync } from 'node:child_process';
2
+ import { existsSync } from 'node:fs';
3
+ import path from 'node:path';
4
+ function normalizeError(error) {
5
+ if (error instanceof Error) {
6
+ return error.message;
7
+ }
8
+ return String(error);
9
+ }
10
+ export function resolveNodePathFromPid(pid) {
11
+ const result = spawnSync('ps', ['-o', 'comm=', '-p', String(pid)], {
12
+ encoding: 'utf8',
13
+ stdio: ['ignore', 'pipe', 'pipe'],
14
+ });
15
+ if (result.error) {
16
+ return {
17
+ nodePath: null,
18
+ error: `ps failed: ${normalizeError(result.error)}`,
19
+ };
20
+ }
21
+ if ((result.status ?? 1) !== 0) {
22
+ const details = result.stderr?.trim();
23
+ return {
24
+ nodePath: null,
25
+ error: details ? `ps failed: ${details}` : `ps exited with code ${result.status ?? 1}`,
26
+ };
27
+ }
28
+ const resolved = result.stdout.trim();
29
+ if (!resolved) {
30
+ return {
31
+ nodePath: null,
32
+ error: 'ps returned an empty command path',
33
+ };
34
+ }
35
+ return { nodePath: resolved };
36
+ }
37
+ export function resolvePreferredNodePath(args) {
38
+ const fallback = args.fallbackNodePath ?? process.execPath;
39
+ const daemonPid = args.daemonPid;
40
+ if (typeof daemonPid === 'number' && Number.isInteger(daemonPid) && daemonPid > 0) {
41
+ const fromPid = resolveNodePathFromPid(daemonPid);
42
+ if (fromPid.nodePath) {
43
+ return {
44
+ nodePath: fromPid.nodePath,
45
+ source: 'daemon_pid',
46
+ };
47
+ }
48
+ return {
49
+ nodePath: fallback,
50
+ source: 'current_process',
51
+ note: `Could not resolve node from daemon PID ${daemonPid}; using current process node (${fromPid.error ?? 'unknown error'})`,
52
+ };
53
+ }
54
+ return {
55
+ nodePath: fallback,
56
+ source: 'current_process',
57
+ };
58
+ }
59
+ export function resolveNpmInvocationFromNode(nodePath) {
60
+ const binDir = path.dirname(nodePath);
61
+ const prefix = path.dirname(binDir);
62
+ const npmBinary = path.join(binDir, process.platform === 'win32' ? 'npm.cmd' : 'npm');
63
+ if (existsSync(npmBinary)) {
64
+ return {
65
+ nodePath,
66
+ npmPath: npmBinary,
67
+ command: npmBinary,
68
+ argsPrefix: [],
69
+ };
70
+ }
71
+ const npmCliCandidates = [
72
+ path.join(prefix, 'lib', 'node_modules', 'npm', 'bin', 'npm-cli.js'),
73
+ path.join(prefix, 'node_modules', 'npm', 'bin', 'npm-cli.js'),
74
+ ];
75
+ for (const candidate of npmCliCandidates) {
76
+ if (existsSync(candidate)) {
77
+ return {
78
+ nodePath,
79
+ npmPath: candidate,
80
+ command: nodePath,
81
+ argsPrefix: [candidate],
82
+ };
83
+ }
84
+ }
85
+ throw new Error(`Unable to resolve npm for node executable: ${nodePath}`);
86
+ }
87
+ export function formatNpmInvocation(invocation) {
88
+ if (invocation.argsPrefix.length === 0) {
89
+ return invocation.command;
90
+ }
91
+ return `${invocation.command} ${invocation.argsPrefix.join(' ')}`;
92
+ }
93
+ //# sourceMappingURL=runtime-toolchain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-toolchain.js","sourceRoot":"","sources":["../../../src/commands/daemon/runtime-toolchain.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/daemon/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAgB,MAAM,uBAAuB,CAAA;AAgBrF,UAAU,SAAS;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CACd;AAmED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;AAEhD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,CAAC,CAyDvB"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/daemon/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAgB,MAAM,uBAAuB,CAAA;AA2BrF,UAAU,SAAS;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CACd;AA8MD,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;AAEhD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,CAAC,CAuGvB"}
@@ -1,5 +1,116 @@
1
+ import { spawnSync } from 'node:child_process';
2
+ import { createRequire } from 'node:module';
1
3
  import { tryConnectToDaemon } from '../../utils/client.js';
2
4
  import { resolveLocalDaemonState, resolveTcpHostFromListen } from './local-daemon.js';
5
+ import { formatNpmInvocation, resolveNpmInvocationFromNode, resolvePreferredNodePath, } from './runtime-toolchain.js';
6
+ const require = createRequire(import.meta.url);
7
+ const CLI_UPDATE_CHECK_TIMEOUT_MS = 3000;
8
+ function normalizeError(error) {
9
+ if (error instanceof Error) {
10
+ return error.message;
11
+ }
12
+ return String(error);
13
+ }
14
+ function shortenMessage(message, max = 120) {
15
+ const normalized = message.replace(/\s+/g, ' ').trim();
16
+ if (normalized.length <= max) {
17
+ return normalized;
18
+ }
19
+ return `${normalized.slice(0, max - 3)}...`;
20
+ }
21
+ function appendNote(current, next) {
22
+ if (!next)
23
+ return current;
24
+ if (!current)
25
+ return next;
26
+ return `${current}; ${next}`;
27
+ }
28
+ function resolveCliVersion() {
29
+ try {
30
+ const packageJson = require('../../../package.json');
31
+ if (typeof packageJson.version === 'string' && packageJson.version.trim().length > 0) {
32
+ return packageJson.version.trim();
33
+ }
34
+ }
35
+ catch {
36
+ // Fall through.
37
+ }
38
+ return 'unknown';
39
+ }
40
+ function parseVersionFromNpmOutput(raw) {
41
+ const trimmed = raw.trim();
42
+ if (!trimmed) {
43
+ return null;
44
+ }
45
+ try {
46
+ const parsed = JSON.parse(trimmed);
47
+ if (typeof parsed === 'string' && parsed.trim().length > 0) {
48
+ return parsed.trim();
49
+ }
50
+ }
51
+ catch {
52
+ // Fall back to plain output.
53
+ }
54
+ return trimmed.replace(/^"+|"+$/g, '').trim() || null;
55
+ }
56
+ function parseSemver(version) {
57
+ const match = version.trim().match(/^v?(\d+)\.(\d+)\.(\d+)(?:[-+].*)?$/);
58
+ if (!match) {
59
+ return null;
60
+ }
61
+ const major = Number(match[1]);
62
+ const minor = Number(match[2]);
63
+ const patch = Number(match[3]);
64
+ if (![major, minor, patch].every((part) => Number.isInteger(part) && part >= 0)) {
65
+ return null;
66
+ }
67
+ return [major, minor, patch];
68
+ }
69
+ function compareSemver(left, right) {
70
+ const leftParts = parseSemver(left);
71
+ const rightParts = parseSemver(right);
72
+ if (!leftParts || !rightParts) {
73
+ return null;
74
+ }
75
+ for (let index = 0; index < leftParts.length; index += 1) {
76
+ if (leftParts[index] < rightParts[index])
77
+ return -1;
78
+ if (leftParts[index] > rightParts[index])
79
+ return 1;
80
+ }
81
+ return 0;
82
+ }
83
+ function fetchLatestCliVersion(npm) {
84
+ const result = spawnSync(npm.command, [...npm.argsPrefix, 'view', '@getpaseo/cli', 'version', '--json'], {
85
+ encoding: 'utf8',
86
+ stdio: ['ignore', 'pipe', 'pipe'],
87
+ env: process.env,
88
+ timeout: CLI_UPDATE_CHECK_TIMEOUT_MS,
89
+ });
90
+ if (result.error) {
91
+ return {
92
+ version: null,
93
+ note: `update check failed: ${shortenMessage(normalizeError(result.error))}`,
94
+ };
95
+ }
96
+ if ((result.status ?? 1) !== 0) {
97
+ const stderr = result.stderr?.trim();
98
+ return {
99
+ version: null,
100
+ note: stderr
101
+ ? `update check failed: ${shortenMessage(stderr)}`
102
+ : `update check failed: npm exited with code ${result.status ?? 1}`,
103
+ };
104
+ }
105
+ const version = parseVersionFromNpmOutput(result.stdout);
106
+ if (!version) {
107
+ return {
108
+ version: null,
109
+ note: 'update check failed: empty npm response',
110
+ };
111
+ }
112
+ return { version };
113
+ }
3
114
  function createStatusSchema(status) {
4
115
  return {
5
116
  idField: 'key',
@@ -34,6 +145,11 @@ function toStatusRows(status) {
34
145
  { key: 'Started', value: status.startedAt ?? '-' },
35
146
  { key: 'Owner', value: status.owner ?? '-' },
36
147
  { key: 'Logs', value: status.logPath },
148
+ { key: 'Node', value: status.runtimeNode },
149
+ { key: 'npm', value: status.runtimeNpm },
150
+ { key: 'CLI', value: status.cliVersion },
151
+ { key: 'Latest CLI', value: status.latestCliVersion },
152
+ { key: 'Update', value: status.updateStatus },
37
153
  ];
38
154
  if (status.runningAgents !== null && status.idleAgents !== null) {
39
155
  rows.push({
@@ -64,13 +180,21 @@ export async function runStatusCommand(options, _command) {
64
180
  const home = typeof options.home === 'string' ? options.home : undefined;
65
181
  const state = resolveLocalDaemonState({ home });
66
182
  const owner = resolveOwnerLabel(state.pidInfo?.uid, state.pidInfo?.hostname);
183
+ const resolvedNode = resolvePreferredNodePath({
184
+ daemonPid: state.running ? state.pidInfo?.pid : null,
185
+ fallbackNodePath: process.execPath,
186
+ });
67
187
  let status = state.running ? 'running' : 'stopped';
68
188
  let runningAgents = null;
69
189
  let idleAgents = null;
70
190
  let note;
191
+ let runtimeNpm = '-';
192
+ let latestCliVersion = 'unknown';
193
+ let updateStatus = 'unknown';
71
194
  if (!state.running && state.stalePidFile && state.pidInfo) {
72
195
  note = `Stale PID file found for PID ${state.pidInfo.pid}`;
73
196
  }
197
+ note = appendNote(note, resolvedNode.note);
74
198
  if (state.running) {
75
199
  const host = resolveTcpHostFromListen(state.listen);
76
200
  if (host) {
@@ -84,7 +208,7 @@ export async function runStatusCommand(options, _command) {
84
208
  }
85
209
  catch {
86
210
  status = 'unresponsive';
87
- note = `Daemon PID is running but API requests to ${host} failed`;
211
+ note = appendNote(note, `Daemon PID is running but API requests to ${host} failed`);
88
212
  }
89
213
  finally {
90
214
  await client.close().catch(() => { });
@@ -92,13 +216,50 @@ export async function runStatusCommand(options, _command) {
92
216
  }
93
217
  else {
94
218
  status = 'unresponsive';
95
- note = `Daemon PID is running but websocket at ${host} is not reachable`;
219
+ note = appendNote(note, `Daemon PID is running but websocket at ${host} is not reachable`);
96
220
  }
97
221
  }
98
222
  else {
99
- note = 'Daemon is configured for unix socket listen; API probe skipped';
223
+ note = appendNote(note, 'Daemon is configured for unix socket listen; API probe skipped');
100
224
  }
101
225
  }
226
+ let npmInvocation = null;
227
+ try {
228
+ npmInvocation = resolveNpmInvocationFromNode(resolvedNode.nodePath);
229
+ runtimeNpm = formatNpmInvocation(npmInvocation);
230
+ }
231
+ catch (err) {
232
+ runtimeNpm = `unresolved (${shortenMessage(normalizeError(err))})`;
233
+ }
234
+ const cliVersion = resolveCliVersion();
235
+ if (npmInvocation) {
236
+ const latest = fetchLatestCliVersion(npmInvocation);
237
+ if (latest.version) {
238
+ latestCliVersion = latest.version;
239
+ if (cliVersion === 'unknown') {
240
+ updateStatus = 'unknown (local CLI version unavailable)';
241
+ }
242
+ else {
243
+ const comparison = compareSemver(cliVersion, latest.version);
244
+ if (comparison === null) {
245
+ updateStatus = 'unknown (version format not comparable)';
246
+ }
247
+ else if (comparison < 0) {
248
+ updateStatus = `update available (${cliVersion} -> ${latest.version})`;
249
+ }
250
+ else {
251
+ updateStatus = 'up to date';
252
+ }
253
+ }
254
+ }
255
+ else {
256
+ latestCliVersion = 'unknown';
257
+ updateStatus = latest.note ?? 'unknown';
258
+ }
259
+ }
260
+ else {
261
+ updateStatus = 'unknown (npm unresolved)';
262
+ }
102
263
  const daemonStatus = {
103
264
  status,
104
265
  home: state.home,
@@ -109,6 +270,11 @@ export async function runStatusCommand(options, _command) {
109
270
  logPath: state.logPath,
110
271
  runningAgents,
111
272
  idleAgents,
273
+ runtimeNode: `${resolvedNode.nodePath} (${resolvedNode.source})`,
274
+ runtimeNpm,
275
+ cliVersion,
276
+ latestCliVersion,
277
+ updateStatus,
112
278
  note,
113
279
  };
114
280
  return {