@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.
- package/dist/commands/epics/create.d.ts +1 -0
- package/dist/commands/lock/acquire.d.ts +54 -0
- package/dist/commands/lock/acquire.js +193 -0
- package/dist/commands/lock/cleanup.d.ts +38 -0
- package/dist/commands/lock/cleanup.js +148 -0
- package/dist/commands/lock/list.d.ts +31 -0
- package/dist/commands/lock/list.js +123 -0
- package/dist/commands/lock/release.d.ts +42 -0
- package/dist/commands/lock/release.js +134 -0
- package/dist/commands/lock/status.d.ts +34 -0
- package/dist/commands/lock/status.js +109 -0
- package/dist/commands/stories/create.d.ts +1 -0
- package/dist/commands/stories/develop.d.ts +4 -0
- package/dist/commands/stories/develop.js +55 -5
- package/dist/commands/stories/qa.d.ts +1 -0
- package/dist/commands/stories/qa.js +31 -0
- package/dist/commands/stories/review.d.ts +1 -0
- package/dist/commands/workflow.d.ts +11 -0
- package/dist/commands/workflow.js +120 -4
- package/dist/models/agent-options.d.ts +33 -0
- package/dist/models/agent-result.d.ts +10 -1
- package/dist/models/dispatch.d.ts +16 -0
- package/dist/models/dispatch.js +8 -0
- package/dist/models/index.d.ts +3 -0
- package/dist/models/index.js +2 -0
- package/dist/models/lock.d.ts +80 -0
- package/dist/models/lock.js +69 -0
- package/dist/models/phase-result.d.ts +8 -0
- package/dist/models/provider.js +1 -1
- package/dist/models/workflow-callbacks.d.ts +37 -0
- package/dist/models/workflow-config.d.ts +50 -0
- package/dist/services/agents/agent-runner-factory.d.ts +14 -15
- package/dist/services/agents/agent-runner-factory.js +56 -15
- package/dist/services/agents/channel-agent-runner.d.ts +76 -0
- package/dist/services/agents/channel-agent-runner.js +246 -0
- package/dist/services/agents/channel-session-manager.d.ts +119 -0
- package/dist/services/agents/channel-session-manager.js +250 -0
- package/dist/services/agents/claude-agent-runner.d.ts +9 -50
- package/dist/services/agents/claude-agent-runner.js +221 -199
- package/dist/services/agents/gemini-agent-runner.js +3 -0
- package/dist/services/agents/index.d.ts +1 -0
- package/dist/services/agents/index.js +1 -0
- package/dist/services/agents/opencode-agent-runner.js +3 -0
- package/dist/services/file-system/file-manager.d.ts +11 -0
- package/dist/services/file-system/file-manager.js +26 -0
- package/dist/services/git/git-ops.d.ts +58 -0
- package/dist/services/git/git-ops.js +73 -0
- package/dist/services/git/index.d.ts +3 -0
- package/dist/services/git/index.js +2 -0
- package/dist/services/git/push-conflict-handler.d.ts +32 -0
- package/dist/services/git/push-conflict-handler.js +84 -0
- package/dist/services/lock/git-backed-lock-service.d.ts +76 -0
- package/dist/services/lock/git-backed-lock-service.js +173 -0
- package/dist/services/lock/lock-cleanup.d.ts +49 -0
- package/dist/services/lock/lock-cleanup.js +85 -0
- package/dist/services/lock/lock-service.d.ts +143 -0
- package/dist/services/lock/lock-service.js +290 -0
- package/dist/services/orchestration/locked-story-dispatcher.d.ts +40 -0
- package/dist/services/orchestration/locked-story-dispatcher.js +84 -0
- package/dist/services/orchestration/workflow-orchestrator.d.ts +31 -0
- package/dist/services/orchestration/workflow-orchestrator.js +181 -31
- package/dist/services/review/ai-review-scanner.js +1 -0
- package/dist/services/review/review-phase-executor.js +3 -0
- package/dist/services/review/self-heal-loop.js +1 -0
- package/dist/services/review/types.d.ts +2 -0
- package/dist/utils/errors.d.ts +17 -1
- package/dist/utils/errors.js +18 -0
- package/dist/utils/session-naming.d.ts +23 -0
- package/dist/utils/session-naming.js +30 -0
- package/dist/utils/shared-flags.d.ts +1 -0
- package/dist/utils/shared-flags.js +5 -0
- 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.
|
|
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",
|