@hyperdrive.bot/bmad-workflow 1.0.26 → 1.0.28

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 (72) hide show
  1. package/dist/commands/epics/create.d.ts +1 -0
  2. package/dist/commands/lock/acquire.d.ts +54 -0
  3. package/dist/commands/lock/acquire.js +193 -0
  4. package/dist/commands/lock/cleanup.d.ts +38 -0
  5. package/dist/commands/lock/cleanup.js +148 -0
  6. package/dist/commands/lock/list.d.ts +31 -0
  7. package/dist/commands/lock/list.js +123 -0
  8. package/dist/commands/lock/release.d.ts +42 -0
  9. package/dist/commands/lock/release.js +134 -0
  10. package/dist/commands/lock/status.d.ts +34 -0
  11. package/dist/commands/lock/status.js +109 -0
  12. package/dist/commands/stories/create.d.ts +1 -0
  13. package/dist/commands/stories/develop.d.ts +4 -0
  14. package/dist/commands/stories/develop.js +55 -5
  15. package/dist/commands/stories/qa.d.ts +1 -0
  16. package/dist/commands/stories/qa.js +31 -0
  17. package/dist/commands/stories/review.d.ts +1 -0
  18. package/dist/commands/workflow.d.ts +11 -0
  19. package/dist/commands/workflow.js +120 -4
  20. package/dist/models/agent-options.d.ts +33 -0
  21. package/dist/models/agent-result.d.ts +10 -1
  22. package/dist/models/dispatch.d.ts +16 -0
  23. package/dist/models/dispatch.js +8 -0
  24. package/dist/models/index.d.ts +3 -0
  25. package/dist/models/index.js +2 -0
  26. package/dist/models/lock.d.ts +80 -0
  27. package/dist/models/lock.js +69 -0
  28. package/dist/models/phase-result.d.ts +8 -0
  29. package/dist/models/provider.js +1 -1
  30. package/dist/models/workflow-callbacks.d.ts +37 -0
  31. package/dist/models/workflow-config.d.ts +50 -0
  32. package/dist/services/agents/agent-runner-factory.d.ts +14 -15
  33. package/dist/services/agents/agent-runner-factory.js +56 -15
  34. package/dist/services/agents/channel-agent-runner.d.ts +76 -0
  35. package/dist/services/agents/channel-agent-runner.js +246 -0
  36. package/dist/services/agents/channel-session-manager.d.ts +119 -0
  37. package/dist/services/agents/channel-session-manager.js +250 -0
  38. package/dist/services/agents/claude-agent-runner.d.ts +9 -50
  39. package/dist/services/agents/claude-agent-runner.js +221 -199
  40. package/dist/services/agents/gemini-agent-runner.js +3 -0
  41. package/dist/services/agents/index.d.ts +1 -0
  42. package/dist/services/agents/index.js +1 -0
  43. package/dist/services/agents/opencode-agent-runner.js +3 -0
  44. package/dist/services/file-system/file-manager.d.ts +11 -0
  45. package/dist/services/file-system/file-manager.js +26 -0
  46. package/dist/services/git/git-ops.d.ts +58 -0
  47. package/dist/services/git/git-ops.js +73 -0
  48. package/dist/services/git/index.d.ts +3 -0
  49. package/dist/services/git/index.js +2 -0
  50. package/dist/services/git/push-conflict-handler.d.ts +32 -0
  51. package/dist/services/git/push-conflict-handler.js +84 -0
  52. package/dist/services/lock/git-backed-lock-service.d.ts +76 -0
  53. package/dist/services/lock/git-backed-lock-service.js +173 -0
  54. package/dist/services/lock/lock-cleanup.d.ts +49 -0
  55. package/dist/services/lock/lock-cleanup.js +85 -0
  56. package/dist/services/lock/lock-service.d.ts +143 -0
  57. package/dist/services/lock/lock-service.js +290 -0
  58. package/dist/services/orchestration/locked-story-dispatcher.d.ts +40 -0
  59. package/dist/services/orchestration/locked-story-dispatcher.js +84 -0
  60. package/dist/services/orchestration/workflow-orchestrator.d.ts +31 -0
  61. package/dist/services/orchestration/workflow-orchestrator.js +181 -31
  62. package/dist/services/review/ai-review-scanner.js +1 -0
  63. package/dist/services/review/review-phase-executor.js +3 -0
  64. package/dist/services/review/self-heal-loop.js +1 -0
  65. package/dist/services/review/types.d.ts +2 -0
  66. package/dist/utils/errors.d.ts +17 -1
  67. package/dist/utils/errors.js +18 -0
  68. package/dist/utils/session-naming.d.ts +23 -0
  69. package/dist/utils/session-naming.js +30 -0
  70. package/dist/utils/shared-flags.d.ts +1 -0
  71. package/dist/utils/shared-flags.js +5 -0
  72. package/package.json +3 -2
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Session Naming Utilities
3
+ *
4
+ * Shared helpers for deriving compact, human-readable session name prefixes
5
+ * from PRD/workflow input file paths. Used by both WorkflowOrchestrator and
6
+ * DefaultReviewPhaseExecutor so the same canonical logic applies everywhere.
7
+ */
8
+ /**
9
+ * Derive a compact session name prefix from the input file path.
10
+ *
11
+ * Strips PRD- prefix, leading numeric identifiers, and truncates to
12
+ * first 3 meaningful segments to keep session names under 40 chars.
13
+ *
14
+ * @param inputPath - Path to the PRD/workflow input file
15
+ * @returns Uppercased compact prefix (max 30 chars)
16
+ *
17
+ * @example
18
+ * derivePrefixForSessionName('docs/033-PRD-REVFINOPS-INVOICE-AUTO-GENERATION.md')
19
+ * // → 'REVFINOPS-INVOICE-AUTO'
20
+ * derivePrefixForSessionName('docs/PRD-CHECKOUT-MODULE.md')
21
+ * // → 'CHECKOUT-MODULE'
22
+ */
23
+ export declare function derivePrefixForSessionName(inputPath: string): string;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Session Naming Utilities
3
+ *
4
+ * Shared helpers for deriving compact, human-readable session name prefixes
5
+ * from PRD/workflow input file paths. Used by both WorkflowOrchestrator and
6
+ * DefaultReviewPhaseExecutor so the same canonical logic applies everywhere.
7
+ */
8
+ import { basename } from 'node:path';
9
+ /**
10
+ * Derive a compact session name prefix from the input file path.
11
+ *
12
+ * Strips PRD- prefix, leading numeric identifiers, and truncates to
13
+ * first 3 meaningful segments to keep session names under 40 chars.
14
+ *
15
+ * @param inputPath - Path to the PRD/workflow input file
16
+ * @returns Uppercased compact prefix (max 30 chars)
17
+ *
18
+ * @example
19
+ * derivePrefixForSessionName('docs/033-PRD-REVFINOPS-INVOICE-AUTO-GENERATION.md')
20
+ * // → 'REVFINOPS-INVOICE-AUTO'
21
+ * derivePrefixForSessionName('docs/PRD-CHECKOUT-MODULE.md')
22
+ * // → 'CHECKOUT-MODULE'
23
+ */
24
+ export function derivePrefixForSessionName(inputPath) {
25
+ let name = basename(inputPath, '.md');
26
+ name = name.replace(/^\d+-/, ''); // strip numeric prefix (e.g., "033-")
27
+ name = name.replace(/^PRD-/i, ''); // strip PRD- prefix
28
+ const segments = name.split('-').slice(0, 3);
29
+ return segments.join('-').slice(0, 30).toUpperCase();
30
+ }
@@ -21,6 +21,7 @@
21
21
  * task command, and AI provider to use when building prompts.
22
22
  */
23
23
  export declare const agentFlags: {
24
+ stream: import("@oclif/core/interfaces").BooleanFlag<boolean>;
24
25
  agent: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
26
  cwd: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
27
  model: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
@@ -23,6 +23,11 @@ import { parseDuration } from './duration.js';
23
23
  * task command, and AI provider to use when building prompts.
24
24
  */
25
25
  export const agentFlags = {
26
+ stream: Flags.boolean({
27
+ default: false,
28
+ description: 'Stream full Claude output to stdout in real-time (verbose passthrough)',
29
+ helpGroup: 'Output',
30
+ }),
26
31
  agent: Flags.string({
27
32
  description: 'Override which BMAD agent to use (e.g., dev, sm, architect, qa). Defaults to command-appropriate agent.',
28
33
  helpGroup: 'Agent Customization',
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hyperdrive.bot/bmad-workflow",
3
3
  "description": "AI-driven development workflow orchestration CLI for BMAD projects",
4
- "version": "1.0.26",
4
+ "version": "1.0.28",
5
5
  "author": {
6
6
  "name": "DevSquad",
7
7
  "email": "marcelo@devsquad.email",
@@ -14,6 +14,7 @@
14
14
  "url": "https://gitlab.com/dev_squad/repo/cli/bmad-orchestrator/issues"
15
15
  },
16
16
  "dependencies": {
17
+ "@hyperdrive.bot/claude-channels": "^0.1.1",
17
18
  "@hyperdrive.bot/plugin-telemetry": "file:../telemetry-plugin",
18
19
  "@inquirer/prompts": "^8.3.2",
19
20
  "@oclif/core": "^4",
@@ -114,7 +115,7 @@
114
115
  "postpack": "rm -f oclif.manifest.json",
115
116
  "prepack": "npm run build && npx oclif manifest || true",
116
117
  "test": "mocha --forbid-only \"test/**/*.test.ts\"",
117
- "test:integration": "mocha --forbid-only \"test/e2e/pipelined-workflow.test.ts\"",
118
+ "test:integration": "mocha --forbid-only \"test/integration/**/*.test.ts\" \"test/e2e/pipelined-workflow.test.ts\"",
118
119
  "test:coverage": "c8 npm run test",
119
120
  "test:watch": "mocha --watch \"test/**/*.test.ts\"",
120
121
  "version": "npx oclif readme && git add README.md || true",