bemadralphy 0.3.8 → 2.0.1

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 (82) hide show
  1. package/README.md +312 -381
  2. package/dist/ai/anthropic.d.ts +7 -0
  3. package/dist/ai/anthropic.js +38 -0
  4. package/dist/ai/anthropic.js.map +1 -0
  5. package/dist/ai/index.d.ts +3 -0
  6. package/dist/ai/index.js +52 -0
  7. package/dist/ai/index.js.map +1 -0
  8. package/dist/ai/ollama.d.ts +7 -0
  9. package/dist/ai/ollama.js +39 -0
  10. package/dist/ai/ollama.js.map +1 -0
  11. package/dist/ai/openai.d.ts +7 -0
  12. package/dist/ai/openai.js +37 -0
  13. package/dist/ai/openai.js.map +1 -0
  14. package/dist/ai/provider.d.ts +10 -0
  15. package/dist/ai/provider.js +14 -0
  16. package/dist/ai/provider.js.map +1 -0
  17. package/dist/beads/adapter.d.ts +3 -1
  18. package/dist/beads/adapter.js +22 -1
  19. package/dist/beads/adapter.js.map +1 -1
  20. package/dist/cli.js +82 -1
  21. package/dist/cli.js.map +1 -1
  22. package/dist/config.d.ts +9 -0
  23. package/dist/config.js.map +1 -1
  24. package/dist/engines/cli-adapter.js +42 -3
  25. package/dist/engines/cli-adapter.js.map +1 -1
  26. package/dist/engines/index.js +0 -2
  27. package/dist/engines/index.js.map +1 -1
  28. package/dist/engines/ralphy.d.ts +7 -1
  29. package/dist/engines/ralphy.js +5 -8
  30. package/dist/engines/ralphy.js.map +1 -1
  31. package/dist/execution/retry.d.ts +7 -0
  32. package/dist/execution/retry.js +56 -0
  33. package/dist/execution/retry.js.map +1 -0
  34. package/dist/index.d.ts +1 -1
  35. package/dist/index.js +1 -1
  36. package/dist/index.js.map +1 -1
  37. package/dist/orchestrator.d.ts +12 -0
  38. package/dist/orchestrator.js +94 -203
  39. package/dist/orchestrator.js.map +1 -1
  40. package/dist/phases/execute.js +53 -29
  41. package/dist/phases/execute.js.map +1 -1
  42. package/dist/phases/sync.js +24 -9
  43. package/dist/phases/sync.js.map +1 -1
  44. package/dist/phases/types.d.ts +8 -0
  45. package/dist/planning/index.js +61 -53
  46. package/dist/planning/index.js.map +1 -1
  47. package/dist/specs/archive.js +15 -7
  48. package/dist/specs/archive.js.map +1 -1
  49. package/dist/specs/delta.js +3 -4
  50. package/dist/specs/delta.js.map +1 -1
  51. package/dist/specs/generate.js +7 -4
  52. package/dist/specs/generate.js.map +1 -1
  53. package/dist/specs/index.d.ts +1 -0
  54. package/dist/specs/index.js +1 -0
  55. package/dist/specs/index.js.map +1 -1
  56. package/dist/specs/validate.d.ts +1 -0
  57. package/dist/specs/validate.js +92 -0
  58. package/dist/specs/validate.js.map +1 -0
  59. package/dist/state.d.ts +10 -0
  60. package/dist/state.js.map +1 -1
  61. package/dist/steering/index.js +16 -3
  62. package/dist/steering/index.js.map +1 -1
  63. package/dist/tasks/db.d.ts +3 -0
  64. package/dist/tasks/db.js +42 -0
  65. package/dist/tasks/db.js.map +1 -0
  66. package/dist/tasks/index.d.ts +2 -0
  67. package/dist/tasks/index.js +2 -0
  68. package/dist/tasks/index.js.map +1 -0
  69. package/dist/tasks/manager.d.ts +36 -0
  70. package/dist/tasks/manager.js +171 -0
  71. package/dist/tasks/manager.js.map +1 -0
  72. package/dist/templates/architecture.prompt.md +26 -0
  73. package/dist/templates/execution/implementer.prompt.md +16 -0
  74. package/dist/templates/execution/quality-reviewer.prompt.md +15 -0
  75. package/dist/templates/execution/spec-reviewer.prompt.md +15 -0
  76. package/dist/templates/index.d.ts +4 -0
  77. package/dist/templates/index.js +37 -0
  78. package/dist/templates/index.js.map +1 -0
  79. package/dist/templates/prd.prompt.md +26 -0
  80. package/dist/templates/product-brief.prompt.md +28 -0
  81. package/dist/templates/stories.prompt.md +33 -0
  82. package/package.json +8 -3
@@ -0,0 +1,56 @@
1
+ const DEFAULT_RETRYABLE_PATTERNS = [
2
+ 'rate limit',
3
+ 'timeout',
4
+ 'timed out',
5
+ 'econnreset',
6
+ 'network',
7
+ 'temporarily unavailable',
8
+ 'quota',
9
+ ];
10
+ const DEFAULT_FATAL_PATTERNS = ['unauthorized', 'authentication', 'invalid api key', 'not found'];
11
+ export async function withRetry(fn, options = {}) {
12
+ const maxRetries = options.maxRetries ?? 3;
13
+ const baseDelayMs = options.baseDelayMs ?? 500;
14
+ const maxDelayMs = options.maxDelayMs ?? 60_000;
15
+ let attempt = 0;
16
+ while (true) {
17
+ try {
18
+ return await fn();
19
+ }
20
+ catch (error) {
21
+ const err = error;
22
+ const classification = options.classifyError?.(err) ?? classifyError(err);
23
+ if (classification === 'fatal') {
24
+ throw err;
25
+ }
26
+ attempt += 1;
27
+ if (attempt > maxRetries) {
28
+ throw err;
29
+ }
30
+ const delay = computeDelay(baseDelayMs, maxDelayMs, attempt);
31
+ await sleep(delay);
32
+ }
33
+ }
34
+ }
35
+ function classifyError(error) {
36
+ const message = error.message.toLowerCase();
37
+ if (DEFAULT_FATAL_PATTERNS.some((pattern) => message.includes(pattern))) {
38
+ return 'fatal';
39
+ }
40
+ if (DEFAULT_RETRYABLE_PATTERNS.some((pattern) => message.includes(pattern))) {
41
+ return 'retryable';
42
+ }
43
+ return 'fatal';
44
+ }
45
+ function computeDelay(baseDelayMs, maxDelayMs, attempt) {
46
+ const raw = baseDelayMs * Math.pow(2, attempt - 1);
47
+ const capped = Math.min(raw, maxDelayMs);
48
+ const jitter = capped * (Math.random() * 0.25);
49
+ return Math.floor(capped + jitter);
50
+ }
51
+ function sleep(ms) {
52
+ return new Promise((resolve) => {
53
+ setTimeout(resolve, ms);
54
+ });
55
+ }
56
+ //# sourceMappingURL=retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/execution/retry.ts"],"names":[],"mappings":"AAOA,MAAM,0BAA0B,GAAG;IACjC,YAAY;IACZ,SAAS;IACT,WAAW;IACX,YAAY;IACZ,SAAS;IACT,yBAAyB;IACzB,OAAO;CACR,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;AAElG,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,EAAoB,EAAE,UAAwB,EAAE;IACjF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC;IAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC;IAChD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAc,CAAC;YAC3B,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;YAC1E,IAAI,cAAc,KAAK,OAAO,EAAE,CAAC;gBAC/B,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,OAAO,IAAI,CAAC,CAAC;YACb,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;gBACzB,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAC7D,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAY;IACjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACxE,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC5E,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CAAC,WAAmB,EAAE,UAAkB,EAAE,OAAe;IAC5E,MAAM,GAAG,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { runExplore, runHistory, runInit, runPipeline, runReplay, runStatus } from './orchestrator.js';
1
+ export { runExecuteOnly, runExplore, runHistory, runInit, runPipeline, runPlanOnly, runReplay, runResume, runStatus, } from './orchestrator.js';
2
2
  export type { RunOptions } from './orchestrator.js';
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { runExplore, runHistory, runInit, runPipeline, runReplay, runStatus } from './orchestrator.js';
1
+ export { runExecuteOnly, runExplore, runHistory, runInit, runPipeline, runPlanOnly, runReplay, runResume, runStatus, } from './orchestrator.js';
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,SAAS,GACV,MAAM,mBAAmB,CAAC"}
@@ -14,8 +14,17 @@ export type RunOptions = {
14
14
  dryRun?: boolean;
15
15
  resume?: boolean;
16
16
  fromPhase?: PipelinePhaseName;
17
+ toPhase?: PipelinePhaseName;
17
18
  output?: OutputFormat;
18
19
  plugins?: string[];
20
+ model?: string;
21
+ timeout?: number;
22
+ templates?: {
23
+ productBrief?: string;
24
+ prd?: string;
25
+ architecture?: string;
26
+ stories?: string;
27
+ };
19
28
  projectRoot?: string;
20
29
  };
21
30
  type PipelinePhaseName = 'intake' | 'planning' | 'steering' | 'scaffold' | 'sync' | 'execute' | 'verify' | 'post';
@@ -25,5 +34,8 @@ export declare function runExplore(query: string): Promise<void>;
25
34
  export declare function runStatus(output?: OutputFormat): Promise<void>;
26
35
  export declare function runHistory(output?: OutputFormat): Promise<void>;
27
36
  export declare function runReplay(runId: string, options?: Partial<RunOptions>): Promise<void>;
37
+ export declare function runPlanOnly(options?: Partial<RunOptions>): Promise<void>;
38
+ export declare function runExecuteOnly(options?: Partial<RunOptions>): Promise<void>;
39
+ export declare function runResume(options?: Partial<RunOptions>): Promise<void>;
28
40
  export declare function runDoctor(output?: OutputFormat): Promise<void>;
29
41
  export {};
@@ -1,5 +1,4 @@
1
- import { access, chmod, mkdir, readFile, writeFile } from 'node:fs/promises';
2
- import os from 'node:os';
1
+ import { access, mkdir, writeFile } from 'node:fs/promises';
3
2
  import path from 'node:path';
4
3
  import { CostTracker } from './cost.js';
5
4
  import { estimateRunCost } from './cost.js';
@@ -9,7 +8,8 @@ import { loadPlugins, runPhaseHooks } from './plugins/index.js';
9
8
  import { executePhase, explorePhase, intakePhase, planningPhase, postPhase, scaffoldPhase, steeringPhase, syncPhase, verifyPhase, } from './phases/index.js';
10
9
  import { loadState, saveState } from './state.js';
11
10
  import { generateSpecs } from './specs/index.js';
12
- import { commandExists, runCommand } from './utils/exec.js';
11
+ import { TaskManager } from './tasks/index.js';
12
+ import { commandExists } from './utils/exec.js';
13
13
  import { configureLogger, logError, logInfo, logProgress, logSummary, } from './utils/logging.js';
14
14
  const PHASES = [
15
15
  { name: 'intake', run: intakePhase },
@@ -47,72 +47,10 @@ export async function runInit(projectRoot = process.cwd()) {
47
47
  ].join('\n'), 'utf-8');
48
48
  logInfo('init: created starter idea.md');
49
49
  }
50
- const hasNpm = await commandExists('npm');
51
- const hasBd = await ensureDependency({
52
- command: 'bd',
53
- packageName: '@beads/bd',
54
- hasNpm,
55
- cwd: projectRoot,
56
- installHint: 'Install from https://github.com/steveyegge/beads.',
57
- });
58
- const hasBmad = await ensureDependency({
59
- command: 'bmad',
60
- packageName: 'bmad-method',
61
- hasNpm,
62
- cwd: projectRoot,
63
- installHint: 'Install with: npm install -g bmad-method',
64
- });
65
- const hasOpenSpec = await ensureDependency({
66
- command: 'openspec',
67
- packageName: '@fission-ai/openspec',
68
- hasNpm,
69
- cwd: projectRoot,
70
- installHint: 'Install with: npm install -g @fission-ai/openspec',
71
- });
72
- const hasRalphy = await ensureDependency({
73
- command: 'ralphy',
74
- packageName: 'ralphy-cli',
75
- hasNpm,
76
- cwd: projectRoot,
77
- installHint: 'Install with: npm install -g ralphy-cli',
78
- });
79
- if (hasBd) {
80
- await runCommand('bd', ['init'], projectRoot);
81
- logInfo('init: Beads initialized');
82
- }
83
- else {
84
- logInfo('init: bd not found; skipped Beads init. Install from https://github.com/steveyegge/beads.');
85
- }
86
- if (hasOpenSpec) {
87
- await generateSpecs(projectRoot);
88
- }
89
- else {
90
- logInfo('init: openspec not found; skipped OpenSpec init. Install with: npm install -g @fission-ai/openspec');
91
- }
92
- if (!hasBmad) {
93
- logInfo('init: bmad not found; planning phase will fail until installed (npm install -g bmad-method).');
94
- }
95
- if (!hasRalphy) {
96
- logInfo('init: ralphy not found; default execution engine may fail until installed (npm install -g ralphy-cli).');
97
- }
98
- const missingRequired = ['bd', 'bmad', 'openspec', 'ralphy'].filter((cli) => {
99
- if (cli === 'bd') {
100
- return !hasBd;
101
- }
102
- if (cli === 'bmad') {
103
- return !hasBmad;
104
- }
105
- if (cli === 'openspec') {
106
- return !hasOpenSpec;
107
- }
108
- return !hasRalphy;
109
- });
110
- if (missingRequired.length > 0) {
111
- logInfo(`init: partial setup complete. Missing CLIs: ${missingRequired.join(', ')}`);
112
- }
113
- else {
114
- logInfo('init: completed scaffold of .bemadralphy, openspec/, and _bmad-output/');
115
- }
50
+ await TaskManager.create(projectRoot);
51
+ await generateSpecs(projectRoot);
52
+ logInfo('init: initialized internal TaskManager + OpenSpec scaffold');
53
+ logInfo('init: completed scaffold of .bemadralphy, openspec/, and _bmad-output/');
116
54
  }
117
55
  export async function runPipeline(options) {
118
56
  const normalized = await resolveRunOptions(options);
@@ -121,7 +59,7 @@ export async function runPipeline(options) {
121
59
  configureLogger({ outputFormat: normalized.output, runId });
122
60
  logProgress('run', 'start', 'run started', {
123
61
  mode: normalized.mode,
124
- engine: normalized.engine ?? 'ralphy',
62
+ engine: normalized.engine ?? 'claude',
125
63
  output: normalized.output,
126
64
  });
127
65
  const pluginRuntime = await loadPlugins(normalized.projectRoot, normalized.plugins);
@@ -132,10 +70,18 @@ export async function runPipeline(options) {
132
70
  if (startIndex < 0) {
133
71
  throw new Error(`run: unknown start phase "${startPhase}"`);
134
72
  }
73
+ const endPhase = normalized.toPhase;
74
+ const endIndex = endPhase ? PHASES.findIndex((phase) => phase.name === endPhase) : PHASES.length - 1;
75
+ if (endIndex < 0) {
76
+ throw new Error(`run: unknown end phase "${endPhase}"`);
77
+ }
78
+ if (endIndex < startIndex) {
79
+ throw new Error(`run: end phase "${endPhase}" is before start phase "${startPhase}"`);
80
+ }
135
81
  if (typeof normalized.budget === 'number' && estimate.minUsd > normalized.budget) {
136
82
  throw new Error(`run: budget too low for estimate (budget=${normalized.budget.toFixed(2)} min_estimate=${estimate.minUsd.toFixed(2)})`);
137
83
  }
138
- const plannedPhases = PHASES.slice(startIndex).map((phase) => phase.name);
84
+ const plannedPhases = PHASES.slice(startIndex, endIndex + 1).map((phase) => phase.name);
139
85
  if (normalized.dryRun) {
140
86
  logSummary({
141
87
  dryRun: true,
@@ -187,12 +133,15 @@ export async function runPipeline(options) {
187
133
  swarm: normalized.swarm,
188
134
  createPr: normalized.createPr,
189
135
  output: normalized.output,
136
+ model: normalized.model,
137
+ timeout: normalized.timeout,
138
+ templates: normalized.templates,
190
139
  resume: normalized.resume,
191
140
  fromPhase: normalized.fromPhase,
192
141
  };
193
142
  const cost = new CostTracker();
194
143
  let ctx = context;
195
- for (const phase of PHASES.slice(startIndex)) {
144
+ for (const phase of PHASES.slice(startIndex, endIndex + 1)) {
196
145
  try {
197
146
  logProgress('phase', 'start', `${phase.name} phase started`, { phase: phase.name });
198
147
  await runPhaseHooks(pluginRuntime.beforeHooks, phase.name, ctx);
@@ -239,7 +188,7 @@ export async function runPipeline(options) {
239
188
  }
240
189
  }
241
190
  await cost.persist(ctx.projectRoot);
242
- await saveState(ctx.projectRoot, stateFrom(ctx, 'post', 'completed'));
191
+ await saveState(ctx.projectRoot, stateFrom(ctx, PHASES[endIndex]?.name ?? 'post', 'completed'));
243
192
  await appendRunHistory(ctx.projectRoot, {
244
193
  runId,
245
194
  startedAt: runId,
@@ -248,7 +197,7 @@ export async function runPipeline(options) {
248
197
  mode: ctx.mode,
249
198
  engine: ctx.engine,
250
199
  output: ctx.output,
251
- phase: 'post',
200
+ phase: PHASES[endIndex]?.name ?? 'post',
252
201
  options: {
253
202
  mode: normalized.mode,
254
203
  engine: normalized.engine,
@@ -266,7 +215,7 @@ export async function runPipeline(options) {
266
215
  logSummary({
267
216
  runId: ctx.runId,
268
217
  status: 'completed',
269
- phase: 'post',
218
+ phase: PHASES[endIndex]?.name ?? 'post',
270
219
  estimatedUsd: estimate.estimatedUsd,
271
220
  taskCount: estimate.taskCount,
272
221
  });
@@ -322,15 +271,65 @@ export async function runReplay(runId, options = {}) {
322
271
  };
323
272
  await runPipeline(replayOptions);
324
273
  }
274
+ export async function runPlanOnly(options = {}) {
275
+ await runPipeline({
276
+ ...options,
277
+ fromPhase: 'intake',
278
+ toPhase: 'steering',
279
+ });
280
+ }
281
+ export async function runExecuteOnly(options = {}) {
282
+ await runPipeline({
283
+ ...options,
284
+ fromPhase: 'sync',
285
+ toPhase: 'execute',
286
+ });
287
+ }
288
+ export async function runResume(options = {}) {
289
+ await runPipeline({
290
+ ...options,
291
+ resume: true,
292
+ fromPhase: options.fromPhase,
293
+ });
294
+ }
325
295
  export async function runDoctor(output = 'text') {
326
296
  configureLogger({ outputFormat: output });
297
+ const hasApiKey = Boolean(process.env.ANTHROPIC_API_KEY || process.env.OPENAI_API_KEY);
298
+ let sqliteOk = true;
299
+ try {
300
+ await TaskManager.create(process.cwd());
301
+ }
302
+ catch {
303
+ sqliteOk = false;
304
+ }
305
+ const hasCodingAgent = (await commandExists('claude')) ||
306
+ (await commandExists('codex')) ||
307
+ (await commandExists('cursor')) ||
308
+ (await commandExists('opencode')) ||
309
+ (await commandExists('qwen'));
327
310
  const checks = await Promise.all([
328
311
  checkDependency('node', true, `found ${process.version}`),
329
312
  checkDependency('npm', true, 'required for npm-based install/update flows'),
330
- checkDependency('bd', true, 'Install from https://github.com/steveyegge/beads.'),
331
- checkDependency('bmad', true, 'Install with: npm install -g bmad-method'),
332
- checkDependency('openspec', true, 'Install with: npm install -g @fission-ai/openspec'),
333
- checkDependency('ralphy', false, 'Install with: npm install -g ralphy-cli'),
313
+ Promise.resolve({
314
+ name: 'ai_api_keys',
315
+ required: true,
316
+ installed: hasApiKey,
317
+ hint: hasApiKey ? undefined : 'Set ANTHROPIC_API_KEY or OPENAI_API_KEY.',
318
+ }),
319
+ Promise.resolve({
320
+ name: 'sqlite',
321
+ required: true,
322
+ installed: sqliteOk,
323
+ hint: sqliteOk ? undefined : 'Could not initialize .bemadralphy/tasks.db.',
324
+ }),
325
+ Promise.resolve({
326
+ name: 'coding_agent_cli',
327
+ required: true,
328
+ installed: hasCodingAgent,
329
+ hint: hasCodingAgent
330
+ ? undefined
331
+ : 'Install at least one coding agent CLI (claude, codex, cursor, opencode, qwen).',
332
+ }),
334
333
  checkDependency('gh', false, 'Install GitHub CLI from https://cli.github.com/'),
335
334
  checkDependency('ollama', false, 'Install from https://ollama.com/download for local models.'),
336
335
  ]);
@@ -348,12 +347,13 @@ export async function runDoctor(output = 'text') {
348
347
  logInfo(`doctor: ${check.name}=${state}${check.hint ? ` (${check.hint})` : ''}`);
349
348
  }
350
349
  if (missingRequired.length > 0) {
351
- logInfo(`doctor: missing required CLIs (${missingRequired.map((entry) => entry.name).join(', ')}). Install them before running full pipeline.`);
350
+ logInfo(`doctor: missing required dependencies (${missingRequired.map((entry) => entry.name).join(', ')}).`);
352
351
  return;
353
352
  }
354
353
  logInfo('doctor: environment looks good for full pipeline runs.');
355
354
  }
356
355
  function stateFrom(ctx, phase, status, lastError) {
356
+ const now = new Date().toISOString();
357
357
  const phaseIndex = PHASES.findIndex((entry) => entry.name === phase);
358
358
  const nextPhase = phaseIndex >= 0 ? PHASES[phaseIndex + 1]?.name : undefined;
359
359
  const resumeFromPhase = status === 'completed' ? undefined : status === 'failed' ? phase : nextPhase;
@@ -369,9 +369,16 @@ function stateFrom(ctx, phase, status, lastError) {
369
369
  executionProfile: ctx.executionProfile,
370
370
  audienceProfile: ctx.audienceProfile,
371
371
  startedAt: ctx.runId,
372
- updatedAt: new Date().toISOString(),
373
- finishedAt: status === 'completed' ? new Date().toISOString() : undefined,
372
+ updatedAt: now,
373
+ finishedAt: status === 'completed' ? now : undefined,
374
374
  runId: ctx.runId,
375
+ checkpoints: [{ phase, timestamp: now }],
376
+ artifactPaths: {
377
+ brief: '_bmad-output/product-brief.md',
378
+ prd: '_bmad-output/prd.md',
379
+ architecture: '_bmad-output/architecture.md',
380
+ stories: '_bmad-output/stories/epics.md',
381
+ },
375
382
  };
376
383
  }
377
384
  async function resolveRunOptions(options) {
@@ -379,7 +386,7 @@ async function resolveRunOptions(options) {
379
386
  const config = await loadRunConfig(projectRoot);
380
387
  return {
381
388
  mode: normalizeMode(options.mode ?? config.mode),
382
- engine: options.engine ?? config.engine,
389
+ engine: options.engine ?? config.engine ?? config.agent,
383
390
  planningEngine: options.planningEngine ?? config.planningEngine,
384
391
  maxParallel: normalizeMaxParallel(options.maxParallel ?? config.maxParallel),
385
392
  executionProfile: normalizeExecutionProfile(options.executionProfile ?? config.executionProfile),
@@ -391,8 +398,12 @@ async function resolveRunOptions(options) {
391
398
  dryRun: options.dryRun ?? false,
392
399
  resume: options.resume ?? false,
393
400
  fromPhase: options.fromPhase,
401
+ toPhase: options.toPhase,
394
402
  output: normalizeOutput(options.output ?? config.output),
395
403
  plugins: normalizePlugins(options.plugins ?? config.plugins),
404
+ model: options.model ?? config.model,
405
+ timeout: options.timeout ?? config.timeout,
406
+ templates: options.templates ?? config.templates,
396
407
  projectRoot,
397
408
  };
398
409
  }
@@ -472,124 +483,4 @@ async function checkDependency(name, required, hint) {
472
483
  const installed = await commandExists(name);
473
484
  return { name, required, installed, hint: installed ? undefined : hint };
474
485
  }
475
- async function ensureDependency(entry) {
476
- let installed = await commandExists(entry.command);
477
- if (!installed) {
478
- if (entry.hasNpm && (await isGlobalNpmPackageInstalled(entry.packageName, entry.cwd))) {
479
- installed = await ensureCommandShimFromGlobalPackage(entry);
480
- if (installed) {
481
- logInfo(`init: recovered ${entry.command} from npm global install via local shim`);
482
- }
483
- }
484
- }
485
- if (!installed) {
486
- if (!entry.hasNpm) {
487
- logInfo(`init: ${entry.command} not found; ${entry.installHint}`);
488
- return false;
489
- }
490
- try {
491
- logInfo(`init: ${entry.command} not found; attempting install (${entry.packageName})`);
492
- await runCommand('npm', ['install', '-g', entry.packageName], entry.cwd);
493
- installed = await ensureCommandShimFromGlobalPackage(entry);
494
- if (!installed) {
495
- logInfo(`init: ${entry.command} install command completed but CLI is still missing on PATH.`);
496
- return false;
497
- }
498
- logInfo(`init: installed ${entry.command} successfully`);
499
- }
500
- catch (error) {
501
- const message = error.message;
502
- logInfo(`init: failed to auto-install ${entry.command}. ${entry.installHint} (${message})`);
503
- return false;
504
- }
505
- }
506
- if (!entry.hasNpm) {
507
- logInfo(`init: npm not found; skipping update check for ${entry.command}`);
508
- return true;
509
- }
510
- try {
511
- const localVersion = await getCliSemver(entry.command);
512
- const latestVersion = await getPackageLatestSemver(entry.packageName);
513
- if (localVersion && latestVersion && localVersion !== latestVersion) {
514
- logInfo(`init: updating ${entry.command} from ${localVersion} to ${latestVersion} (${entry.packageName})`);
515
- await runCommand('npm', ['install', '-g', `${entry.packageName}@latest`], entry.cwd);
516
- return (await commandExists(entry.command)) === true;
517
- }
518
- }
519
- catch (error) {
520
- const message = error.message;
521
- logInfo(`init: unable to check updates for ${entry.command}; continuing (${message})`);
522
- }
523
- return true;
524
- }
525
- async function getCliSemver(command) {
526
- try {
527
- const { stdout } = await runCommand(command, ['--version']);
528
- const match = stdout.trim().match(/(\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?)/);
529
- return match?.[1] ?? null;
530
- }
531
- catch {
532
- return null;
533
- }
534
- }
535
- async function getPackageLatestSemver(packageName) {
536
- const { stdout } = await runCommand('npm', ['view', packageName, 'version', '--json']);
537
- const parsed = JSON.parse(stdout.trim());
538
- return typeof parsed === 'string' && parsed.length > 0 ? parsed : null;
539
- }
540
- async function isGlobalNpmPackageInstalled(packageName, cwd) {
541
- try {
542
- const { stdout } = await runCommand('npm', ['ls', '-g', packageName, '--depth=0', '--json'], cwd);
543
- const parsed = JSON.parse(stdout);
544
- return Boolean(parsed.dependencies?.[packageName]);
545
- }
546
- catch {
547
- return false;
548
- }
549
- }
550
- async function ensureCommandShimFromGlobalPackage(entry) {
551
- if (await commandExists(entry.command)) {
552
- return true;
553
- }
554
- const scriptPath = await resolveGlobalPackageCommandPath(entry.packageName, entry.command, entry.cwd);
555
- if (!scriptPath) {
556
- return false;
557
- }
558
- const shimDir = path.join(os.homedir(), '.local', 'bin');
559
- const shimPath = path.join(shimDir, entry.command);
560
- await mkdir(shimDir, { recursive: true });
561
- await writeFile(shimPath, `#!/bin/bash\nexec node "${scriptPath.replace(/"/g, '\\"')}" "$@"\n`, 'utf-8');
562
- await chmod(shimPath, 0o755);
563
- return (await commandExists(entry.command)) || process.env.PATH?.split(':').includes(shimDir) === true;
564
- }
565
- async function resolveGlobalPackageCommandPath(packageName, command, cwd) {
566
- try {
567
- const { stdout } = await runCommand('npm', ['root', '-g'], cwd);
568
- const root = stdout.trim();
569
- if (!root) {
570
- return null;
571
- }
572
- const packageDir = path.join(root, packageName);
573
- const packageJsonPath = path.join(packageDir, 'package.json');
574
- const packageJsonRaw = await readFile(packageJsonPath, 'utf-8');
575
- const packageJson = JSON.parse(packageJsonRaw);
576
- const bin = packageJson.bin;
577
- let relativeBinPath;
578
- if (typeof bin === 'string') {
579
- relativeBinPath = bin;
580
- }
581
- else if (bin && typeof bin === 'object') {
582
- relativeBinPath = bin[command] ?? Object.values(bin).find((value) => typeof value === 'string');
583
- }
584
- if (!relativeBinPath) {
585
- return null;
586
- }
587
- const fullPath = path.join(packageDir, relativeBinPath);
588
- await access(fullPath);
589
- return fullPath;
590
- }
591
- catch {
592
- return null;
593
- }
594
- }
595
486
  //# sourceMappingURL=orchestrator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}