bemadralphy 0.3.7 → 0.3.8

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/README.md CHANGED
@@ -511,7 +511,7 @@ node dist/cli.js --help
511
511
 
512
512
  Planning fallback behavior:
513
513
 
514
- - If BMAD install/update enters an interactive prompt and cannot run unattended, BeMadRalphy generates minimal fallback planning artifacts so the pipeline can continue.
514
+ - If BMAD install/update enters an interactive prompt or times out in unattended mode, BeMadRalphy generates minimal fallback planning artifacts so the pipeline can continue.
515
515
  - If BMAD exits successfully but still leaves missing/empty planning artifacts, the same fallback is generated.
516
516
  - Fallback files include explicit markers indicating BMAD automation needs to be rerun when non-interactive BMAD workflows are available.
517
517
 
@@ -1,8 +1,9 @@
1
1
  import { mkdir, readFile, writeFile } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
- import { assertCommandExists, runCommand } from '../utils/exec.js';
3
+ import { assertCommandExists, runCommandWithTimeout } from '../utils/exec.js';
4
4
  import { logInfo } from '../utils/logging.js';
5
5
  import { validateBmadOutputs } from './validate.js';
6
+ const BMAD_INSTALL_TIMEOUT_MS = 30_000;
6
7
  export async function runPlanning(ctx) {
7
8
  const outputDir = path.join(ctx.projectRoot, '_bmad-output');
8
9
  const storiesDir = path.join(outputDir, 'stories');
@@ -20,7 +21,7 @@ export async function runPlanning(ctx) {
20
21
  await assertCommandExists('bmad', 'Install with: npm install -g bmad-method');
21
22
  let usedFallback = false;
22
23
  try {
23
- await runCommand('bmad', [
24
+ await runCommandWithTimeout('bmad', [
24
25
  'install',
25
26
  '--action',
26
27
  'quick-update',
@@ -31,14 +32,14 @@ export async function runPlanning(ctx) {
31
32
  '--tools',
32
33
  'none',
33
34
  '--yes',
34
- ], ctx.projectRoot);
35
+ ], ctx.projectRoot, BMAD_INSTALL_TIMEOUT_MS);
35
36
  logInfo('planning: BMAD install/update completed');
36
37
  }
37
38
  catch (error) {
38
39
  const message = error.message;
39
- if (isLikelyInteractiveInstallError(message)) {
40
- logInfo('planning: BMAD install appears interactive; generating fallback planning artifacts');
41
- await writeFallbackPlanningOutputs(ctx.projectRoot, outputs, 'BMAD install required interactive input.');
40
+ if (isLikelyAutomationBlockedError(message)) {
41
+ logInfo('planning: BMAD install was blocked (interactive/timeout); generating fallback planning artifacts');
42
+ await writeFallbackPlanningOutputs(ctx.projectRoot, outputs, 'BMAD install was blocked in unattended mode (interactive prompt or timeout).');
42
43
  usedFallback = true;
43
44
  }
44
45
  else {
@@ -61,13 +62,15 @@ export async function runPlanning(ctx) {
61
62
  }
62
63
  logInfo('planning: BMAD outputs validated');
63
64
  }
64
- function isLikelyInteractiveInstallError(message) {
65
+ function isLikelyAutomationBlockedError(message) {
65
66
  const lowered = message.toLowerCase();
66
67
  return (lowered.includes('install to this directory') ||
67
68
  lowered.includes('yes / no') ||
68
69
  lowered.includes('prompt') ||
69
70
  lowered.includes('tty') ||
70
- lowered.includes('interactive'));
71
+ lowered.includes('interactive') ||
72
+ lowered.includes('timed out') ||
73
+ lowered.includes('code=124'));
71
74
  }
72
75
  async function writeFallbackPlanningOutputs(projectRoot, outputs, reason) {
73
76
  const idea = await readIdea(projectRoot);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planning/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planning/index.ts"],"names":[],"mappings":"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"}
@@ -2,15 +2,24 @@ export type CommandRunner = (command: string, args?: string[], cwd?: string) =>
2
2
  stdout: string;
3
3
  stderr: string;
4
4
  }>;
5
+ export type CommandRunnerWithTimeout = (command: string, args: string[] | undefined, cwd: string | undefined, timeoutMs: number) => Promise<{
6
+ stdout: string;
7
+ stderr: string;
8
+ }>;
5
9
  export type CommandExistsRunner = (command: string) => Promise<boolean>;
6
10
  type CommandRunners = {
7
11
  runCommand: CommandRunner;
12
+ runCommandWithTimeout: CommandRunnerWithTimeout;
8
13
  commandExists: CommandExistsRunner;
9
14
  };
10
15
  export declare function runCommand(command: string, args?: string[], cwd?: string): Promise<{
11
16
  stdout: string;
12
17
  stderr: string;
13
18
  }>;
19
+ export declare function runCommandWithTimeout(command: string, args?: string[], cwd?: string, timeoutMs?: number): Promise<{
20
+ stdout: string;
21
+ stderr: string;
22
+ }>;
14
23
  export declare function commandExists(command: string): Promise<boolean>;
15
24
  export declare function setCommandRunners(overrides: Partial<CommandRunners>): void;
16
25
  export declare function resetCommandRunners(): void;
@@ -15,6 +15,20 @@ const defaultRunners = {
15
15
  `${err.code ? ` [code=${err.code}]` : ''}: ${details || 'no details'}`);
16
16
  }
17
17
  },
18
+ runCommandWithTimeout: async (command, args = [], cwd, timeoutMs) => {
19
+ try {
20
+ const result = await execFileAsync(command, args, { cwd, timeout: timeoutMs });
21
+ return { stdout: result.stdout ?? '', stderr: result.stderr ?? '' };
22
+ }
23
+ catch (error) {
24
+ const err = error;
25
+ const rendered = `${command} ${args.join(' ')}`.trim();
26
+ const details = [err.stderr, err.stdout, err.message].filter(Boolean).join(' | ');
27
+ throw new Error(`Command timed/failed (${rendered})${cwd ? ` in ${cwd}` : ''}` +
28
+ `${err.code ? ` [code=${err.code}]` : ''}` +
29
+ `${err.signal ? ` [signal=${err.signal}]` : ''}: ${details || 'no details'}`);
30
+ }
31
+ },
18
32
  commandExists: async (command) => {
19
33
  try {
20
34
  await execFileAsync('which', [command]);
@@ -29,14 +43,21 @@ let runners = { ...defaultRunners };
29
43
  export async function runCommand(command, args = [], cwd) {
30
44
  return runners.runCommand(command, args, cwd);
31
45
  }
46
+ export async function runCommandWithTimeout(command, args = [], cwd, timeoutMs = 30_000) {
47
+ return runners.runCommandWithTimeout(command, args, cwd, timeoutMs);
48
+ }
32
49
  export async function commandExists(command) {
33
50
  return runners.commandExists(command);
34
51
  }
35
52
  export function setCommandRunners(overrides) {
36
- runners = {
53
+ const merged = {
37
54
  ...runners,
38
55
  ...overrides,
39
56
  };
57
+ if (overrides.runCommand && !overrides.runCommandWithTimeout) {
58
+ merged.runCommandWithTimeout = async (command, args = [], cwd) => overrides.runCommand(command, args, cwd);
59
+ }
60
+ runners = merged;
40
61
  }
41
62
  export function resetCommandRunners() {
42
63
  runners = { ...defaultRunners };
@@ -1 +1 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAe1C,MAAM,cAAc,GAAmB;IACrC,UAAU,EAAE,KAAK,EACf,OAAe,EACf,OAAiB,EAAE,EACnB,GAAY,EACiC,EAAE;QAC/C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACtE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAKX,CAAC;YACF,MAAM,QAAQ,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClF,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;gBACtD,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,IAAI,YAAY,EAAE,CACzE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,aAAa,EAAE,KAAK,EAAE,OAAe,EAAoB,EAAE;QACzD,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAC;AAEF,IAAI,OAAO,GAAmB,EAAE,GAAG,cAAc,EAAE,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAe,EACf,OAAiB,EAAE,EACnB,GAAY;IAEZ,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe;IACjD,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAkC;IAClE,OAAO,GAAG;QACR,GAAG,OAAO;QACV,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAe,EAAE,IAAa;IACtE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,IAAI;YACF,CAAC,CAAC,yBAAyB,OAAO,MAAM,IAAI,EAAE;YAC9C,CAAC,CAAC,yBAAyB,OAAO,yCAAyC,CAC9E,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bemadralphy",
3
- "version": "0.3.7",
3
+ "version": "0.3.8",
4
4
  "description": "CLI-only orchestrator merging BMAD, Beads, Ralphy, and OpenSpec into an end-to-end automated coding pipeline.",
5
5
  "license": "MIT",
6
6
  "type": "module",