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.
Files changed (77) hide show
  1. package/dist/adapters/claude.d.ts +13 -0
  2. package/dist/adapters/claude.d.ts.map +1 -0
  3. package/dist/adapters/claude.js +32 -0
  4. package/dist/adapters/claude.js.map +1 -0
  5. package/dist/adapters/cursor-agent.d.ts +10 -0
  6. package/dist/adapters/cursor-agent.d.ts.map +1 -0
  7. package/dist/adapters/cursor-agent.js +29 -0
  8. package/dist/adapters/cursor-agent.js.map +1 -0
  9. package/dist/adapters/echo.d.ts +17 -0
  10. package/dist/adapters/echo.d.ts.map +1 -0
  11. package/dist/adapters/echo.js +39 -0
  12. package/dist/adapters/echo.js.map +1 -0
  13. package/dist/adapters/hermes.d.ts +10 -0
  14. package/dist/adapters/hermes.d.ts.map +1 -0
  15. package/dist/adapters/hermes.js +33 -0
  16. package/dist/adapters/hermes.js.map +1 -0
  17. package/dist/adapters/index.d.ts +69 -0
  18. package/dist/adapters/index.d.ts.map +1 -0
  19. package/dist/adapters/index.js +106 -0
  20. package/dist/adapters/index.js.map +1 -0
  21. package/dist/adapters/openclaw.d.ts +10 -0
  22. package/dist/adapters/openclaw.d.ts.map +1 -0
  23. package/dist/adapters/openclaw.js +32 -0
  24. package/dist/adapters/openclaw.js.map +1 -0
  25. package/dist/adapters/shell-helper.d.ts +32 -0
  26. package/dist/adapters/shell-helper.d.ts.map +1 -0
  27. package/dist/adapters/shell-helper.js +99 -0
  28. package/dist/adapters/shell-helper.js.map +1 -0
  29. package/dist/adapters/stdin.d.ts +13 -0
  30. package/dist/adapters/stdin.d.ts.map +1 -0
  31. package/dist/adapters/stdin.js +72 -0
  32. package/dist/adapters/stdin.js.map +1 -0
  33. package/dist/api.d.ts +1 -0
  34. package/dist/api.d.ts.map +1 -1
  35. package/dist/api.js.map +1 -1
  36. package/dist/auto-shim.d.ts +38 -0
  37. package/dist/auto-shim.d.ts.map +1 -0
  38. package/dist/auto-shim.js +136 -0
  39. package/dist/auto-shim.js.map +1 -0
  40. package/dist/commands/handle-turn.d.ts +23 -8
  41. package/dist/commands/handle-turn.d.ts.map +1 -1
  42. package/dist/commands/handle-turn.js +119 -24
  43. package/dist/commands/handle-turn.js.map +1 -1
  44. package/dist/commands/identity.d.ts +28 -0
  45. package/dist/commands/identity.d.ts.map +1 -0
  46. package/dist/commands/identity.js +104 -0
  47. package/dist/commands/identity.js.map +1 -0
  48. package/dist/commands/inbox.d.ts +20 -0
  49. package/dist/commands/inbox.d.ts.map +1 -0
  50. package/dist/commands/inbox.js +41 -0
  51. package/dist/commands/inbox.js.map +1 -0
  52. package/dist/commands/init.d.ts +7 -0
  53. package/dist/commands/init.d.ts.map +1 -1
  54. package/dist/commands/init.js +35 -1
  55. package/dist/commands/init.js.map +1 -1
  56. package/dist/commands/mcp.d.ts +30 -0
  57. package/dist/commands/mcp.d.ts.map +1 -0
  58. package/dist/commands/mcp.js +195 -0
  59. package/dist/commands/mcp.js.map +1 -0
  60. package/dist/commands/register.d.ts.map +1 -1
  61. package/dist/commands/register.js +14 -1
  62. package/dist/commands/register.js.map +1 -1
  63. package/dist/commands/run.d.ts +7 -0
  64. package/dist/commands/run.d.ts.map +1 -1
  65. package/dist/commands/run.js +104 -47
  66. package/dist/commands/run.js.map +1 -1
  67. package/dist/exec.d.ts +26 -0
  68. package/dist/exec.d.ts.map +1 -1
  69. package/dist/exec.js +36 -2
  70. package/dist/exec.js.map +1 -1
  71. package/dist/index.js +97 -61
  72. package/dist/index.js.map +1 -1
  73. package/dist/state.d.ts +36 -0
  74. package/dist/state.d.ts.map +1 -1
  75. package/dist/state.js +64 -0
  76. package/dist/state.js.map +1 -1
  77. package/package.json +4 -1
@@ -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.8.1' },
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 shim smoke test. Run the user's --exec ONCE with a
59
- * synthetic envelope before entering the polling loop. If the shim
60
- * exits non-zero or produces empty output, we refuse to attach so we
61
- * don't pollute the real meeting with "shim exited N" turns.
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 runShimSmokeTest(exec, meetingId, agentId, timeoutMs) {
111
+ async function runBridgeSmokeTest(bridge, meetingId, agentId, timeoutMs) {
70
112
  const envelope = buildSmokeEnvelope(meetingId, agentId);
71
- const result = await runShim(exec, envelope, {
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
- if (!opts.exec && !opts.defaultReply) {
162
- logLine(process.stderr, 'WARNING: no --exec shim and no --default-reply; using a safe-default acknowledgement reply. ' +
163
- 'Production bots should pass --exec ./reply.sh that authors the turn body.');
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 shim smoke test. Refuse to enter the polling loop if
181
- // the operator's reply shim is broken — see runShimSmokeTest doc for
182
- // why. Skipped only if --skip-shim-smoke is passed or the loop is
183
- // running with a static --default-reply (no shim to test).
184
- if (opts.exec && !opts.skipShimSmoke) {
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 shim smoke test (--exec ${opts.exec}, timeout ${Math.round(smokeTimeoutMs / 1000)}s)\n`);
187
- const smoke = await runShimSmokeTest(opts.exec, meetingId, state.agentId, smokeTimeoutMs);
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
- exec: opts.exec,
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
- exec: opts.exec,
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 shim smoke test FAILED. The CLI is refusing to attach to ${meetingId} ` +
205
- `because your reply shim (${opts.exec}) is broken — attaching anyway would submit ` +
206
- `"shim exited N" garbage every turn and stall the meeting. Fix the shim and re-run.`);
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(`[shim stderr tail]\n${stderrTail}\n`);
254
+ process.stderr.write(`[bridge stderr tail]\n${stderrTail}\n`);
209
255
  }
210
- else {
211
- logLine(process.stderr, 'shim wrote nothing to stderr; common causes: command not found (exit 127), ' +
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`). Try: `echo \'{"taskId":"x","turnNumber":0}\' | ' +
214
- opts.exec +
215
- '` in your terminal first.');
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 (opts.exec) {
298
- // Only start the heartbeat when a real shim is going to run —
299
- // it can take minutes for an LLM-backed reply, and the lease
300
- // would otherwise expire mid-shim. The default-reply path is
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 shim = await runShim(opts.exec, envelope, {
359
+ const result = await runBridge(bridge, envelope, {
305
360
  timeoutMs: opts.shimTimeoutMs ?? 600_000,
361
+ smokeTest: false,
306
362
  });
307
- durationMs = shim.durationMs;
308
- if (shim.exitCode !== 0 || shim.stdout.trim().length === 0) {
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 = shim.stderr.trim().slice(-2_000);
316
- const emptyNote = shim.exitCode === 0 ? ' (exit 0 but empty stdout)' : '';
371
+ const stderrTail = result.stderr.trim().slice(-2_000);
372
+ const emptyNote = result.exitCode === 0 ? ' (exit 0 but empty stdout)' : '';
317
373
  content =
318
- `shim exited ${shim.exitCode}${shim.timedOut ? ' (timed out)' : ''}${emptyNote}\n\n` +
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; shim may have silenced stderr or been killed before writing)');
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 = shim.stdout.trim() || '(empty response)';
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, `shim has failed ${consecutiveShimFailures} consecutive times (--max-shim-failures=${maxShimFailures}); ` +
383
- 'exiting so the meeting can stop being polluted with broken-shim turns. ' +
384
- 'Fix your reply shim and re-run `agentspeak-cli join <invite>`.');
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
  }
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;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,CA+DrB"}
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 proc = spawn(command, {
7
- shell: true,
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":"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"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":"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"}