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 +1 -1
- package/dist/planning/index.js +11 -8
- package/dist/planning/index.js.map +1 -1
- package/dist/utils/exec.d.ts +9 -0
- package/dist/utils/exec.js +22 -1
- package/dist/utils/exec.js.map +1 -1
- package/package.json +1 -1
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
|
|
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
|
|
package/dist/planning/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
import { assertCommandExists,
|
|
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
|
|
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 (
|
|
40
|
-
logInfo('planning: BMAD install
|
|
41
|
-
await writeFallbackPlanningOutputs(ctx.projectRoot, outputs, 'BMAD install
|
|
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
|
|
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":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planning/index.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/exec.d.ts
CHANGED
|
@@ -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;
|
package/dist/utils/exec.js
CHANGED
|
@@ -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
|
-
|
|
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 };
|
package/dist/utils/exec.js.map
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED