@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.
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +12 -12
- package/dist/cli.js.map +1 -1
- package/dist/commands/agent/archive.d.ts.map +1 -1
- package/dist/commands/agent/archive.js +4 -3
- package/dist/commands/agent/archive.js.map +1 -1
- package/dist/commands/agent/attach.js +3 -3
- package/dist/commands/agent/attach.js.map +1 -1
- package/dist/commands/agent/index.d.ts.map +1 -1
- package/dist/commands/agent/index.js +4 -3
- package/dist/commands/agent/index.js.map +1 -1
- package/dist/commands/agent/inspect.d.ts.map +1 -1
- package/dist/commands/agent/inspect.js +17 -4
- package/dist/commands/agent/inspect.js.map +1 -1
- package/dist/commands/agent/logs.d.ts +4 -0
- package/dist/commands/agent/logs.d.ts.map +1 -1
- package/dist/commands/agent/logs.js +20 -16
- package/dist/commands/agent/logs.js.map +1 -1
- package/dist/commands/agent/ls.d.ts +3 -0
- package/dist/commands/agent/ls.d.ts.map +1 -1
- package/dist/commands/agent/ls.js +43 -14
- package/dist/commands/agent/ls.js.map +1 -1
- package/dist/commands/agent/mode.d.ts.map +1 -1
- package/dist/commands/agent/mode.js +3 -2
- package/dist/commands/agent/mode.js.map +1 -1
- package/dist/commands/agent/run.d.ts +1 -1
- package/dist/commands/agent/run.d.ts.map +1 -1
- package/dist/commands/agent/run.js +12 -7
- package/dist/commands/agent/run.js.map +1 -1
- package/dist/commands/agent/stop.js +3 -3
- package/dist/commands/agent/stop.js.map +1 -1
- package/dist/commands/agent/update.js +7 -7
- package/dist/commands/agent/update.js.map +1 -1
- package/dist/commands/agent/wait.d.ts.map +1 -1
- package/dist/commands/agent/wait.js +35 -12
- package/dist/commands/agent/wait.js.map +1 -1
- package/dist/commands/daemon/index.d.ts.map +1 -1
- package/dist/commands/daemon/index.js +2 -0
- package/dist/commands/daemon/index.js.map +1 -1
- package/dist/commands/daemon/local-daemon.d.ts.map +1 -1
- package/dist/commands/daemon/local-daemon.js +132 -65
- package/dist/commands/daemon/local-daemon.js.map +1 -1
- package/dist/commands/daemon/runtime-toolchain.d.ts +24 -0
- package/dist/commands/daemon/runtime-toolchain.d.ts.map +1 -0
- package/dist/commands/daemon/runtime-toolchain.js +93 -0
- package/dist/commands/daemon/runtime-toolchain.js.map +1 -0
- package/dist/commands/daemon/status.d.ts.map +1 -1
- package/dist/commands/daemon/status.js +169 -3
- package/dist/commands/daemon/status.js.map +1 -1
- package/dist/commands/daemon/update.d.ts +9 -0
- package/dist/commands/daemon/update.d.ts.map +1 -0
- package/dist/commands/daemon/update.js +82 -0
- package/dist/commands/daemon/update.js.map +1 -0
- package/dist/commands/permit/allow.d.ts.map +1 -1
- package/dist/commands/permit/allow.js +3 -2
- package/dist/commands/permit/allow.js.map +1 -1
- package/dist/commands/permit/deny.d.ts.map +1 -1
- package/dist/commands/permit/deny.js +3 -2
- package/dist/commands/permit/deny.js.map +1 -1
- package/dist/commands/provider/index.d.ts.map +1 -1
- package/dist/commands/provider/index.js +1 -0
- package/dist/commands/provider/index.js.map +1 -1
- package/dist/commands/provider/models.d.ts +4 -0
- package/dist/commands/provider/models.d.ts.map +1 -1
- package/dist/commands/provider/models.js +17 -9
- package/dist/commands/provider/models.js.map +1 -1
- package/dist/utils/client-id.d.ts +2 -0
- package/dist/utils/client-id.d.ts.map +1 -0
- package/dist/utils/client-id.js +37 -0
- package/dist/utils/client-id.js.map +1 -0
- package/dist/utils/client.d.ts.map +1 -1
- package/dist/utils/client.js +4 -0
- package/dist/utils/client.js.map +1 -1
- package/package.json +6 -4
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { spawn, spawnSync } from 'node:child_process';
|
|
2
|
-
import {
|
|
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
|
-
|
|
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
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
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.
|
|
219
|
-
|
|
220
|
-
|
|
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
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
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
|
|
290
|
-
|
|
291
|
-
|
|
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
|
-
|
|
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
|
-
|
|
304
|
-
|
|
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
|
|
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":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AA2D/D,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,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,SAAiB;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;IAEvC,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;IAED,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;AAC/B,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,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAEpC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,CAAC,QAAQ,EAChB,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,EACrE;YACE,QAAQ,EAAE,IAAI;YACd,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC;SAChC,CACF,CAAA;QAED,KAAK,CAAC,KAAK,EAAE,CAAA;QAEb,MAAM,OAAO,GAAG,MAAM,IAAI,OAAO,CAAwB,CAAC,OAAO,EAAE,EAAE;YACnE,IAAI,OAAO,GAAG,KAAK,CAAA;YAEnB,MAAM,MAAM,GAAG,CAAC,KAA4B,EAAE,EAAE;gBAC9C,IAAI,OAAO;oBAAE,OAAM;gBACnB,OAAO,GAAG,IAAI,CAAA;gBACd,OAAO,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC,CAAA;YAED,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,yBAAyB,CAAC,CAAA;YAEjF,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC5B,YAAY,CAAC,KAAK,CAAC,CAAA;gBACnB,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;YAC5D,CAAC,CAAC,CAAA;YAEF,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;gBAClC,YAAY,CAAC,KAAK,CAAC,CAAA;gBACnB,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;YACzC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK;gBAC1B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;gBACvB,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;YAC3F,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;YACpC,MAAM,IAAI,KAAK,CACb;gBACE,yCAAyC,MAAM,IAAI;gBACnD,UAAU,CAAC,CAAC,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI;aACzD;iBACE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,MAAM,CAAC,CAChB,CAAA;QACH,CAAC;QAED,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI;YACtB,OAAO;SACR,CAAA;IACH,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,KAAK,CAAC,CAAA;IAClB,CAAC;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,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,QAAQ,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG;YACH,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,oCAAoC;SAC9C,CAAA;IACH,CAAC;IAED,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,OAAO,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IAE/C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,GAAG,IAAI,CAAA;QACb,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;QACnD,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,CAAA;QAChB,CAAC;IACH,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,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtC,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG;QACH,MAAM;QACN,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,2BAA2B;KAC3E,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"local-daemon.js","sourceRoot":"","sources":["../../../src/commands/daemon/local-daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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 {
|