agentspeak-cli 0.8.1 → 0.9.0
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/adapters/claude.d.ts +13 -0
- package/dist/adapters/claude.d.ts.map +1 -0
- package/dist/adapters/claude.js +32 -0
- package/dist/adapters/claude.js.map +1 -0
- package/dist/adapters/cursor-agent.d.ts +10 -0
- package/dist/adapters/cursor-agent.d.ts.map +1 -0
- package/dist/adapters/cursor-agent.js +29 -0
- package/dist/adapters/cursor-agent.js.map +1 -0
- package/dist/adapters/echo.d.ts +17 -0
- package/dist/adapters/echo.d.ts.map +1 -0
- package/dist/adapters/echo.js +39 -0
- package/dist/adapters/echo.js.map +1 -0
- package/dist/adapters/hermes.d.ts +10 -0
- package/dist/adapters/hermes.d.ts.map +1 -0
- package/dist/adapters/hermes.js +33 -0
- package/dist/adapters/hermes.js.map +1 -0
- package/dist/adapters/index.d.ts +69 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +106 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/openclaw.d.ts +10 -0
- package/dist/adapters/openclaw.d.ts.map +1 -0
- package/dist/adapters/openclaw.js +32 -0
- package/dist/adapters/openclaw.js.map +1 -0
- package/dist/adapters/shell-helper.d.ts +32 -0
- package/dist/adapters/shell-helper.d.ts.map +1 -0
- package/dist/adapters/shell-helper.js +99 -0
- package/dist/adapters/shell-helper.js.map +1 -0
- package/dist/adapters/stdin.d.ts +13 -0
- package/dist/adapters/stdin.d.ts.map +1 -0
- package/dist/adapters/stdin.js +72 -0
- package/dist/adapters/stdin.js.map +1 -0
- package/dist/api.d.ts +1 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js.map +1 -1
- package/dist/auto-shim.d.ts +38 -0
- package/dist/auto-shim.d.ts.map +1 -0
- package/dist/auto-shim.js +136 -0
- package/dist/auto-shim.js.map +1 -0
- package/dist/commands/handle-turn.d.ts +23 -8
- package/dist/commands/handle-turn.d.ts.map +1 -1
- package/dist/commands/handle-turn.js +119 -24
- package/dist/commands/handle-turn.js.map +1 -1
- package/dist/commands/identity.d.ts +28 -0
- package/dist/commands/identity.d.ts.map +1 -0
- package/dist/commands/identity.js +104 -0
- package/dist/commands/identity.js.map +1 -0
- package/dist/commands/inbox.d.ts +20 -0
- package/dist/commands/inbox.d.ts.map +1 -0
- package/dist/commands/inbox.js +41 -0
- package/dist/commands/inbox.js.map +1 -0
- package/dist/commands/init.d.ts +7 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +35 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mcp.d.ts +30 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +195 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/register.d.ts.map +1 -1
- package/dist/commands/register.js +14 -1
- package/dist/commands/register.js.map +1 -1
- package/dist/commands/run.d.ts +7 -0
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +104 -47
- package/dist/commands/run.js.map +1 -1
- package/dist/exec.d.ts +26 -0
- package/dist/exec.d.ts.map +1 -1
- package/dist/exec.js +36 -2
- package/dist/exec.js.map +1 -1
- package/dist/index.js +97 -61
- package/dist/index.js.map +1 -1
- package/dist/state.d.ts +36 -0
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +64 -0
- package/dist/state.js.map +1 -1
- package/package.json +4 -1
package/dist/commands/run.js
CHANGED
|
@@ -2,6 +2,9 @@ import { api, ApiError, getMeetingStatus, pollMyTurn } from '../api.js';
|
|
|
2
2
|
import { runShim } from '../exec.js';
|
|
3
3
|
import { startHeartbeat } from '../heartbeat.js';
|
|
4
4
|
import { loadCurrentMeetingId, loadMeeting } from '../state.js';
|
|
5
|
+
import { resolveAdapter, } from '../adapters/index.js';
|
|
6
|
+
import { autoShimPaths } from '../auto-shim.js';
|
|
7
|
+
import { existsSync } from 'node:fs';
|
|
5
8
|
const TERMINAL_STATUSES = new Set(['completed', 'expired', 'cancelled', 'closed']);
|
|
6
9
|
const SIGNAL_DONE_MARKER = /<!--\s*agentspeak:signal=done\s*-->/i;
|
|
7
10
|
function ts() {
|
|
@@ -51,14 +54,53 @@ function buildSmokeEnvelope(meetingId, agentId) {
|
|
|
51
54
|
instructions: 'AgentSpeak shim smoke test. Reply with the literal text [ok] (or any non-empty markdown). ' +
|
|
52
55
|
'Do not call out to an LLM if you can short-circuit on agentspeak.smokeTest === true.',
|
|
53
56
|
previousTurns: [],
|
|
54
|
-
agentspeak: { smokeTest: true, version: '0.
|
|
57
|
+
agentspeak: { smokeTest: true, version: '0.9.0' },
|
|
55
58
|
};
|
|
56
59
|
}
|
|
60
|
+
function resolveBridge(opts) {
|
|
61
|
+
if (opts.via && opts.exec) {
|
|
62
|
+
throw new Error('--via and --exec are mutually exclusive; pick a built-in adapter (--via) ' +
|
|
63
|
+
'or your own shim (--exec ./reply.sh), not both.');
|
|
64
|
+
}
|
|
65
|
+
if (opts.via) {
|
|
66
|
+
const descriptor = resolveAdapter(opts.via);
|
|
67
|
+
return { kind: 'via', label: `--via ${descriptor.name}`, descriptor };
|
|
68
|
+
}
|
|
69
|
+
if (opts.exec) {
|
|
70
|
+
return { kind: 'exec', label: `--exec ${opts.exec}`, exec: opts.exec };
|
|
71
|
+
}
|
|
72
|
+
// Zero-config path: fall back to the hardened auto-shim that
|
|
73
|
+
// `agentspeak-cli init` writes into ~/.agentspeak/reply.sh. This is
|
|
74
|
+
// what makes `npx agentspeak-cli join <invite>` work for an agent
|
|
75
|
+
// that did `init` and then never authored anything else.
|
|
76
|
+
if (!opts.defaultReply) {
|
|
77
|
+
const { posixPath } = autoShimPaths();
|
|
78
|
+
if (existsSync(posixPath)) {
|
|
79
|
+
return { kind: 'exec', label: `--exec ${posixPath} (auto-shim)`, exec: posixPath };
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
async function runBridge(bridge, envelope, opts) {
|
|
85
|
+
if (bridge.kind === 'via') {
|
|
86
|
+
return bridge.descriptor.adapter({
|
|
87
|
+
envelope,
|
|
88
|
+
smokeTest: opts.smokeTest,
|
|
89
|
+
timeoutMs: opts.timeoutMs,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
const r = await runShim(bridge.exec, envelope, {
|
|
93
|
+
timeoutMs: opts.timeoutMs,
|
|
94
|
+
teeStderr: !opts.smokeTest,
|
|
95
|
+
env: opts.smokeTest ? { AGENTSPEAK_SMOKE_TEST: '1' } : undefined,
|
|
96
|
+
});
|
|
97
|
+
return r;
|
|
98
|
+
}
|
|
57
99
|
/**
|
|
58
|
-
* Pre-attach
|
|
59
|
-
* synthetic envelope before entering the polling loop. If
|
|
60
|
-
*
|
|
61
|
-
*
|
|
100
|
+
* Pre-attach bridge smoke test. Run the resolved bridge ONCE with a
|
|
101
|
+
* synthetic envelope before entering the polling loop. If it exits
|
|
102
|
+
* non-zero or produces empty output, we refuse to attach so we don't
|
|
103
|
+
* pollute the real meeting with "shim exited N" turns.
|
|
62
104
|
*
|
|
63
105
|
* This catches the entire failure mode that stalled
|
|
64
106
|
* meet_xmT7T3CapHPTCSUCaropuw: both Hermes' and OpenClaw's reply.sh
|
|
@@ -66,13 +108,9 @@ function buildSmokeEnvelope(meetingId, agentId) {
|
|
|
66
108
|
* three turns, and submitted three useless artifacts before the
|
|
67
109
|
* coordinator triggered a similarity-loop recap.
|
|
68
110
|
*/
|
|
69
|
-
async function
|
|
111
|
+
async function runBridgeSmokeTest(bridge, meetingId, agentId, timeoutMs) {
|
|
70
112
|
const envelope = buildSmokeEnvelope(meetingId, agentId);
|
|
71
|
-
const result = await
|
|
72
|
-
timeoutMs,
|
|
73
|
-
teeStderr: false,
|
|
74
|
-
env: { AGENTSPEAK_SMOKE_TEST: '1' },
|
|
75
|
-
});
|
|
113
|
+
const result = await runBridge(bridge, envelope, { timeoutMs, smokeTest: true });
|
|
76
114
|
const stdoutBytes = result.stdout.trim().length;
|
|
77
115
|
const ok = result.exitCode === 0 && stdoutBytes > 0 && !result.timedOut;
|
|
78
116
|
return {
|
|
@@ -158,9 +196,17 @@ export async function cmdRun(opts) {
|
|
|
158
196
|
process.off('SIGTERM', onSig);
|
|
159
197
|
};
|
|
160
198
|
logLine(process.stdout, `run: attached to ${meetingId} as ${state.agentId}; will reply automatically until the meeting closes`);
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
199
|
+
let bridge;
|
|
200
|
+
try {
|
|
201
|
+
bridge = resolveBridge(opts);
|
|
202
|
+
}
|
|
203
|
+
catch (err) {
|
|
204
|
+
logLine(process.stderr, err instanceof Error ? err.message : String(err));
|
|
205
|
+
return 2;
|
|
206
|
+
}
|
|
207
|
+
if (!bridge && !opts.defaultReply) {
|
|
208
|
+
logLine(process.stderr, 'WARNING: no --via preset, no --exec shim, and no --default-reply; using a safe-default acknowledgement reply. ' +
|
|
209
|
+
'Production bots should pass --via <preset> or --exec ./reply.sh that authors the turn body.');
|
|
164
210
|
}
|
|
165
211
|
// Presence handshake: prove the loop is real, not a ghost-join.
|
|
166
212
|
// This must happen before we enter the polling loop so the dashboard
|
|
@@ -177,42 +223,51 @@ export async function cmdRun(opts) {
|
|
|
177
223
|
'the loop will still attempt to handle turns, but the dashboard may flag this agent as "ghost-joined". ' +
|
|
178
224
|
'If turns never come through, re-run `agentspeak-cli join <invite>` from THIS shell.');
|
|
179
225
|
}
|
|
180
|
-
// Pre-attach
|
|
181
|
-
// the
|
|
182
|
-
// why. Skipped
|
|
183
|
-
// running with a static --default-reply
|
|
184
|
-
if (
|
|
226
|
+
// Pre-attach bridge smoke test. Refuse to enter the polling loop if
|
|
227
|
+
// the resolved bridge (--via adapter or --exec shim) is broken — see
|
|
228
|
+
// runBridgeSmokeTest doc for why. Skipped if --skip-shim-smoke is
|
|
229
|
+
// passed or the loop is running with a static --default-reply.
|
|
230
|
+
if (bridge && !opts.skipShimSmoke) {
|
|
185
231
|
const smokeTimeoutMs = opts.smokeTimeoutMs ?? 30_000;
|
|
186
|
-
process.stdout.write(`[agentspeak ${ts()}] running pre-attach
|
|
187
|
-
const smoke = await
|
|
232
|
+
process.stdout.write(`[agentspeak ${ts()}] running pre-attach smoke test (${bridge.label}, timeout ${Math.round(smokeTimeoutMs / 1000)}s)\n`);
|
|
233
|
+
const smoke = await runBridgeSmokeTest(bridge, meetingId, state.agentId, smokeTimeoutMs);
|
|
188
234
|
if (smoke.ok) {
|
|
189
235
|
marker(process.stdout, 'SHIM-OK', {
|
|
190
|
-
|
|
236
|
+
bridge: bridge.label,
|
|
191
237
|
ms: smoke.durationMs,
|
|
192
238
|
bytes: smoke.bytes,
|
|
193
239
|
});
|
|
194
240
|
}
|
|
195
241
|
else {
|
|
196
242
|
marker(process.stdout, 'SHIM-FAIL', {
|
|
197
|
-
|
|
243
|
+
bridge: bridge.label,
|
|
198
244
|
exitCode: smoke.exitCode,
|
|
199
245
|
ms: smoke.durationMs,
|
|
200
246
|
bytes: smoke.bytes,
|
|
201
247
|
timedOut: smoke.timedOut,
|
|
202
248
|
});
|
|
203
249
|
const stderrTail = smoke.stderr.trim().slice(-1500);
|
|
204
|
-
logLine(process.stderr, `pre-attach
|
|
205
|
-
`because your reply
|
|
206
|
-
`"shim exited N" garbage every turn and stall the meeting. Fix
|
|
250
|
+
logLine(process.stderr, `pre-attach smoke test FAILED. The CLI is refusing to attach to ${meetingId} ` +
|
|
251
|
+
`because your reply bridge (${bridge.label}) is broken — attaching anyway would submit ` +
|
|
252
|
+
`"shim exited N" garbage every turn and stall the meeting. Fix it and re-run.`);
|
|
207
253
|
if (stderrTail) {
|
|
208
|
-
process.stderr.write(`[
|
|
254
|
+
process.stderr.write(`[bridge stderr tail]\n${stderrTail}\n`);
|
|
209
255
|
}
|
|
210
|
-
else {
|
|
211
|
-
|
|
256
|
+
else if (bridge.kind === 'exec') {
|
|
257
|
+
const winHint = process.platform === 'win32'
|
|
258
|
+
? ' On Windows: confirm `bash` is on PATH (git-bash or WSL). The CLI prefers bash for `.sh` scripts but falls back to cmd.exe, which cannot interpret `#!/bin/bash` shebangs.'
|
|
259
|
+
: '';
|
|
260
|
+
logLine(process.stderr, 'bridge wrote nothing to stderr; common causes: command not found (exit 127), ' +
|
|
212
261
|
'wrong shebang, missing CLI dependency, sandbox blocking the spawn, or the shim ' +
|
|
213
|
-
'silenced its own stderr (`2>/dev/null`).
|
|
214
|
-
|
|
215
|
-
'`
|
|
262
|
+
'silenced its own stderr (`2>/dev/null`).' +
|
|
263
|
+
winHint +
|
|
264
|
+
' Try: `echo \'{"taskId":"x","turnNumber":0}\' | ' +
|
|
265
|
+
bridge.exec +
|
|
266
|
+
'` in your terminal first; or switch to a built-in adapter with `--via echo` (always works).');
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
logLine(process.stderr, `--via ${bridge.descriptor.name} adapter failed; if its required binary (${bridge.descriptor.requiresBinary ?? 'n/a'}) ` +
|
|
270
|
+
'is not installed, fall back to `--via echo` (always works) or `--via stdin` (interactive).');
|
|
216
271
|
}
|
|
217
272
|
marker(process.stdout, 'DONE', {
|
|
218
273
|
meeting: meetingId,
|
|
@@ -294,35 +349,36 @@ export async function cmdRun(opts) {
|
|
|
294
349
|
let isDone = false;
|
|
295
350
|
let durationMs = 0;
|
|
296
351
|
let failed = false;
|
|
297
|
-
if (
|
|
298
|
-
// Only start the heartbeat when a real
|
|
299
|
-
//
|
|
300
|
-
//
|
|
352
|
+
if (bridge) {
|
|
353
|
+
// Only start the heartbeat when a real bridge is going to run —
|
|
354
|
+
// an LLM-backed reply can take minutes and the lease would
|
|
355
|
+
// otherwise expire mid-call. The default-reply path is
|
|
301
356
|
// synchronous and never needs a lease extension.
|
|
302
357
|
const hb = startHeartbeat(ctx, meetingId, state.agentId, turnNumber);
|
|
303
358
|
try {
|
|
304
|
-
const
|
|
359
|
+
const result = await runBridge(bridge, envelope, {
|
|
305
360
|
timeoutMs: opts.shimTimeoutMs ?? 600_000,
|
|
361
|
+
smokeTest: false,
|
|
306
362
|
});
|
|
307
|
-
durationMs =
|
|
308
|
-
if (
|
|
363
|
+
durationMs = result.durationMs;
|
|
364
|
+
if (result.exitCode !== 0 || result.stdout.trim().length === 0) {
|
|
309
365
|
failed = true;
|
|
310
366
|
consecutiveShimFailures++;
|
|
311
367
|
// Embed enough context for the OTHER agents (and the human
|
|
312
368
|
// dashboard) to understand WHY this turn failed. Plain "shim
|
|
313
369
|
// exited 1" with no stderr is exactly what stalled
|
|
314
370
|
// meet_xmT7T3CapHPTCSUCaropuw.
|
|
315
|
-
const stderrTail =
|
|
316
|
-
const emptyNote =
|
|
371
|
+
const stderrTail = result.stderr.trim().slice(-2_000);
|
|
372
|
+
const emptyNote = result.exitCode === 0 ? ' (exit 0 but empty stdout)' : '';
|
|
317
373
|
content =
|
|
318
|
-
`
|
|
374
|
+
`bridge ${bridge.label} exited ${result.exitCode}${result.timedOut ? ' (timed out)' : ''}${emptyNote}\n\n` +
|
|
319
375
|
(stderrTail
|
|
320
376
|
? `stderr (last 2 KiB):\n\`\`\`\n${stderrTail}\n\`\`\``
|
|
321
|
-
: '(no stderr captured;
|
|
377
|
+
: '(no stderr captured; bridge may have silenced stderr or been killed before writing)');
|
|
322
378
|
}
|
|
323
379
|
else {
|
|
324
380
|
consecutiveShimFailures = 0;
|
|
325
|
-
const raw =
|
|
381
|
+
const raw = result.stdout.trim() || '(empty response)';
|
|
326
382
|
isDone = SIGNAL_DONE_MARKER.test(raw);
|
|
327
383
|
content = raw.replace(SIGNAL_DONE_MARKER, '').trim() || raw;
|
|
328
384
|
}
|
|
@@ -379,9 +435,10 @@ export async function cmdRun(opts) {
|
|
|
379
435
|
// Don't keep cycling identical garbage. The other participants
|
|
380
436
|
// (and the coordinator's similarity-loop guard) would otherwise
|
|
381
437
|
// see N copies of "shim exited 1" before a recap fires.
|
|
382
|
-
logLine(process.stderr, `
|
|
383
|
-
'exiting so the meeting can stop being polluted with broken-
|
|
384
|
-
'Fix your reply
|
|
438
|
+
logLine(process.stderr, `bridge has failed ${consecutiveShimFailures} consecutive times (--max-shim-failures=${maxShimFailures}); ` +
|
|
439
|
+
'exiting so the meeting can stop being polluted with broken-bridge turns. ' +
|
|
440
|
+
'Fix your reply bridge and re-run `agentspeak-cli join <invite>`. ' +
|
|
441
|
+
'Falling back to `--via echo` will always succeed if you just need to keep the meeting moving.');
|
|
385
442
|
exitReason = 'shim_broken';
|
|
386
443
|
return 2;
|
|
387
444
|
}
|
package/dist/commands/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
package/dist/exec.d.ts
CHANGED
|
@@ -35,4 +35,30 @@ export interface RunShimOpts {
|
|
|
35
35
|
teeStderr?: boolean;
|
|
36
36
|
}
|
|
37
37
|
export declare function runShim(command: string, envelope: unknown, opts?: RunShimOpts): Promise<ExecResult>;
|
|
38
|
+
interface SpawnPlan {
|
|
39
|
+
cmd: string;
|
|
40
|
+
args: readonly string[];
|
|
41
|
+
useShell: boolean | string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Pick the right spawn arguments for a user-supplied shim command,
|
|
45
|
+
* branching on platform.
|
|
46
|
+
*
|
|
47
|
+
* Why this matters: on POSIX, `spawn(cmd, { shell: true })` invokes
|
|
48
|
+
* /bin/sh which knows how to run `./reply.sh` and respect a
|
|
49
|
+
* `#!/usr/bin/env bash` shebang. On Windows, `shell: true` invokes
|
|
50
|
+
* cmd.exe — which CANNOT run a bash script and CANNOT honour the
|
|
51
|
+
* shebang line. Yaow's failures came down to exactly this: his
|
|
52
|
+
* reply.sh started with `#!/bin/bash`, and the CLI ran it under
|
|
53
|
+
* cmd.exe, producing a silent "command not recognised" / exit 1.
|
|
54
|
+
*
|
|
55
|
+
* Branching:
|
|
56
|
+
* - Non-Windows: use shell:true (current behaviour, well-tested).
|
|
57
|
+
* - Windows + bash-shaped command (`./foo.sh`, `bash foo`, `sh foo`,
|
|
58
|
+
* `*.sh`): try to find bash on PATH (git-bash, WSL, MSYS); if
|
|
59
|
+
* found, spawn `bash -c "<command>"` directly.
|
|
60
|
+
* - Windows everything-else: fall back to cmd.exe via shell:true.
|
|
61
|
+
*/
|
|
62
|
+
export declare function pickSpawn(command: string): SpawnPlan;
|
|
63
|
+
export {};
|
|
38
64
|
//# sourceMappingURL=exec.d.ts.map
|
package/dist/exec.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,wDAAwD;IACxD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,OAAO,EACjB,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,UAAU,CAAC,CAgErB;AAED,UAAU,SAAS;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAYpD"}
|
package/dist/exec.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
|
+
import { which } from './adapters/shell-helper.js';
|
|
2
3
|
export async function runShim(command, envelope, opts = {}) {
|
|
3
4
|
const start = Date.now();
|
|
4
5
|
const captureCap = opts.stderrCaptureBytes ?? 16 * 1024;
|
|
5
6
|
const tee = opts.teeStderr ?? true;
|
|
6
|
-
const
|
|
7
|
-
|
|
7
|
+
const spawnOpts = pickSpawn(command);
|
|
8
|
+
const proc = spawn(spawnOpts.cmd, spawnOpts.args, {
|
|
9
|
+
shell: spawnOpts.useShell,
|
|
8
10
|
env: { ...process.env, ...opts.env },
|
|
9
11
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
10
12
|
});
|
|
@@ -60,4 +62,36 @@ export async function runShim(command, envelope, opts = {}) {
|
|
|
60
62
|
timedOut,
|
|
61
63
|
};
|
|
62
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Pick the right spawn arguments for a user-supplied shim command,
|
|
67
|
+
* branching on platform.
|
|
68
|
+
*
|
|
69
|
+
* Why this matters: on POSIX, `spawn(cmd, { shell: true })` invokes
|
|
70
|
+
* /bin/sh which knows how to run `./reply.sh` and respect a
|
|
71
|
+
* `#!/usr/bin/env bash` shebang. On Windows, `shell: true` invokes
|
|
72
|
+
* cmd.exe — which CANNOT run a bash script and CANNOT honour the
|
|
73
|
+
* shebang line. Yaow's failures came down to exactly this: his
|
|
74
|
+
* reply.sh started with `#!/bin/bash`, and the CLI ran it under
|
|
75
|
+
* cmd.exe, producing a silent "command not recognised" / exit 1.
|
|
76
|
+
*
|
|
77
|
+
* Branching:
|
|
78
|
+
* - Non-Windows: use shell:true (current behaviour, well-tested).
|
|
79
|
+
* - Windows + bash-shaped command (`./foo.sh`, `bash foo`, `sh foo`,
|
|
80
|
+
* `*.sh`): try to find bash on PATH (git-bash, WSL, MSYS); if
|
|
81
|
+
* found, spawn `bash -c "<command>"` directly.
|
|
82
|
+
* - Windows everything-else: fall back to cmd.exe via shell:true.
|
|
83
|
+
*/
|
|
84
|
+
export function pickSpawn(command) {
|
|
85
|
+
if (process.platform !== 'win32') {
|
|
86
|
+
return { cmd: command, args: [], useShell: true };
|
|
87
|
+
}
|
|
88
|
+
const looksBash = /(?:^|\s)(?:bash|sh)\s|\.sh(\b|\s|$)|^\.\//i.test(command);
|
|
89
|
+
if (looksBash) {
|
|
90
|
+
const bash = which('bash') ?? which('git-bash') ?? null;
|
|
91
|
+
if (bash) {
|
|
92
|
+
return { cmd: bash, args: ['-c', command], useShell: false };
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return { cmd: command, args: [], useShell: true };
|
|
96
|
+
}
|
|
63
97
|
//# sourceMappingURL=exec.js.map
|
package/dist/exec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":"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"}
|