@codemcp/workflows 4.6.1 → 4.8.0

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 (52) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/components/beads/beads-instruction-generator.d.ts +48 -0
  3. package/dist/components/beads/beads-instruction-generator.d.ts.map +1 -0
  4. package/dist/components/beads/beads-instruction-generator.js +182 -0
  5. package/dist/components/beads/beads-instruction-generator.js.map +1 -0
  6. package/dist/components/beads/beads-plan-manager.d.ts +66 -0
  7. package/dist/components/beads/beads-plan-manager.d.ts.map +1 -0
  8. package/dist/components/beads/beads-plan-manager.js +288 -0
  9. package/dist/components/beads/beads-plan-manager.js.map +1 -0
  10. package/dist/components/beads/beads-task-backend-client.d.ts +43 -0
  11. package/dist/components/beads/beads-task-backend-client.d.ts.map +1 -0
  12. package/dist/components/beads/beads-task-backend-client.js +178 -0
  13. package/dist/components/beads/beads-task-backend-client.js.map +1 -0
  14. package/dist/components/server-components-factory.d.ts +39 -0
  15. package/dist/components/server-components-factory.d.ts.map +1 -0
  16. package/dist/components/server-components-factory.js +62 -0
  17. package/dist/components/server-components-factory.js.map +1 -0
  18. package/dist/server-config.d.ts.map +1 -1
  19. package/dist/server-config.js +8 -4
  20. package/dist/server-config.js.map +1 -1
  21. package/dist/server-implementation.d.ts +1 -1
  22. package/dist/tool-handlers/proceed-to-phase.d.ts +5 -0
  23. package/dist/tool-handlers/proceed-to-phase.d.ts.map +1 -1
  24. package/dist/tool-handlers/proceed-to-phase.js +95 -0
  25. package/dist/tool-handlers/proceed-to-phase.js.map +1 -1
  26. package/dist/tool-handlers/start-development.d.ts.map +1 -1
  27. package/dist/tool-handlers/start-development.js +9 -3
  28. package/dist/tool-handlers/start-development.js.map +1 -1
  29. package/dist/tool-handlers/whats-next.d.ts +0 -12
  30. package/dist/tool-handlers/whats-next.d.ts.map +1 -1
  31. package/dist/tool-handlers/whats-next.js +1 -88
  32. package/dist/tool-handlers/whats-next.js.map +1 -1
  33. package/dist/types.d.ts +7 -4
  34. package/dist/types.d.ts.map +1 -1
  35. package/package.json +2 -2
  36. package/src/components/beads/beads-instruction-generator.ts +261 -0
  37. package/src/components/beads/beads-plan-manager.ts +358 -0
  38. package/src/components/beads/beads-task-backend-client.ts +232 -0
  39. package/src/components/server-components-factory.ts +86 -0
  40. package/src/server-config.ts +9 -4
  41. package/src/tool-handlers/proceed-to-phase.ts +140 -0
  42. package/src/tool-handlers/start-development.ts +17 -3
  43. package/src/tool-handlers/whats-next.ts +4 -117
  44. package/src/types.ts +7 -4
  45. package/test/e2e/component-substitution.test.ts +208 -0
  46. package/test/unit/beads-instruction-generator.test.ts +847 -0
  47. package/test/unit/beads-phase-task-id-integration.test.ts +557 -0
  48. package/test/unit/server-components-factory.test.ts +279 -0
  49. package/test/unit/setup-project-docs-handler.test.ts +3 -2
  50. package/test/utils/e2e-test-setup.ts +0 -1
  51. package/test/utils/temp-files.ts +12 -0
  52. package/tsconfig.build.tsbuildinfo +1 -1
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Beads Task Backend Client
3
+ *
4
+ * Implementation of ITaskBackendClient for beads task management system.
5
+ * Handles CLI operations and task validation for beads backend.
6
+ */
7
+ import { execSync } from 'node:child_process';
8
+ import { createLogger } from '@codemcp/workflows-core';
9
+ const logger = createLogger('BeadsTaskBackendClient');
10
+ /**
11
+ * Beads-specific implementation of task backend client
12
+ */
13
+ export class BeadsTaskBackendClient {
14
+ projectPath;
15
+ constructor(projectPath) {
16
+ this.projectPath = projectPath;
17
+ }
18
+ /**
19
+ * Execute a beads command safely
20
+ */
21
+ async executeBeadsCommand(args) {
22
+ try {
23
+ const command = `bd ${args.join(' ')}`;
24
+ logger.debug('Executing beads command', {
25
+ command,
26
+ projectPath: this.projectPath,
27
+ });
28
+ const stdout = execSync(`bd ${args.join(' ')}`, {
29
+ cwd: this.projectPath,
30
+ encoding: 'utf-8',
31
+ stdio: ['ignore', 'pipe', 'pipe'],
32
+ });
33
+ return { success: true, stdout };
34
+ }
35
+ catch (error) {
36
+ const execError = error;
37
+ logger.warn('Beads command failed', {
38
+ args,
39
+ error: error instanceof Error ? error.message : String(error),
40
+ stderr: execError.stderr,
41
+ stdout: execError.stdout,
42
+ });
43
+ return {
44
+ success: false,
45
+ stderr: execError.stderr ||
46
+ (error instanceof Error ? error.message : String(error)),
47
+ stdout: execError.stdout,
48
+ };
49
+ }
50
+ }
51
+ /**
52
+ * Check if beads backend is available
53
+ */
54
+ async isAvailable() {
55
+ try {
56
+ const result = await this.executeBeadsCommand(['--version']);
57
+ return result.success;
58
+ }
59
+ catch (_error) {
60
+ return false;
61
+ }
62
+ }
63
+ /**
64
+ * Get all open tasks for a given parent task
65
+ */
66
+ async getOpenTasks(parentTaskId) {
67
+ try {
68
+ const result = await this.executeBeadsCommand([
69
+ 'list',
70
+ '--parent',
71
+ parentTaskId,
72
+ '--status',
73
+ 'open',
74
+ ]);
75
+ if (!result.success || !result.stdout) {
76
+ return [];
77
+ }
78
+ // Parse text output from beads CLI (since JSON format may not be available)
79
+ // This is a simplified parser - would need to be adjusted based on actual beads output format
80
+ const lines = result.stdout.trim().split('\n');
81
+ const tasks = [];
82
+ for (const line of lines) {
83
+ if (line.trim() &&
84
+ !line.startsWith('○') &&
85
+ !line.startsWith('●') &&
86
+ !line.includes('Tip:')) {
87
+ // Extract task ID and title from beads output format
88
+ // This is based on observed beads CLI output format
89
+ const match = line.match(/^○?\s*([^\s]+)\s+.*?\s+-\s+(.+)$/);
90
+ if (match) {
91
+ tasks.push({
92
+ id: match[1] || '',
93
+ title: match[2] || '',
94
+ status: 'open',
95
+ priority: 2,
96
+ parent: parentTaskId,
97
+ });
98
+ }
99
+ }
100
+ }
101
+ return tasks;
102
+ }
103
+ catch (_error) {
104
+ return [];
105
+ }
106
+ }
107
+ /**
108
+ * Validate that all tasks under a parent are completed
109
+ */
110
+ async validateTasksCompleted(parentTaskId) {
111
+ const openTasks = await this.getOpenTasks(parentTaskId);
112
+ return {
113
+ valid: openTasks.length === 0,
114
+ openTasks,
115
+ message: openTasks.length > 0
116
+ ? `Found ${openTasks.length} incomplete task(s). All tasks must be completed before proceeding to the next phase.`
117
+ : 'All tasks completed.',
118
+ };
119
+ }
120
+ /**
121
+ * Create a new task under a parent
122
+ */
123
+ async createTask(title, parentTaskId, priority = 2) {
124
+ const result = await this.executeBeadsCommand([
125
+ 'create',
126
+ `"${title}"`,
127
+ '--parent',
128
+ parentTaskId,
129
+ '-p',
130
+ priority.toString(),
131
+ ]);
132
+ if (!result.success) {
133
+ throw new Error(`Failed to create task: ${result.stderr || 'Unknown error'}`);
134
+ }
135
+ // Extract task ID from beads output
136
+ // Based on beads CLI output format: "✓ Created issue: task-id"
137
+ const match = result.stdout?.match(/✓ Created issue: ([\w\d.-]+)/) ||
138
+ result.stdout?.match(/Created issue: ([\w\d.-]+)/) ||
139
+ result.stdout?.match(/Created (bd-[\w\d.]+)/);
140
+ if (!match) {
141
+ throw new Error(`Failed to extract task ID from beads output: ${result.stdout || 'No output'}`);
142
+ }
143
+ return match[1] || '';
144
+ }
145
+ /**
146
+ * Update task status
147
+ */
148
+ async updateTaskStatus(taskId, status) {
149
+ const beadsStatus = this.mapStatusToBeads(status);
150
+ const result = await this.executeBeadsCommand([
151
+ 'update',
152
+ taskId,
153
+ '--status',
154
+ beadsStatus,
155
+ ]);
156
+ if (!result.success) {
157
+ throw new Error(`Failed to update task status: ${result.stderr || 'Unknown error'}`);
158
+ }
159
+ }
160
+ /**
161
+ * Map our status enum to beads CLI status values
162
+ */
163
+ mapStatusToBeads(status) {
164
+ switch (status) {
165
+ case 'open':
166
+ return 'open';
167
+ case 'in_progress':
168
+ return 'in_progress';
169
+ case 'completed':
170
+ return 'completed';
171
+ case 'cancelled':
172
+ return 'cancelled';
173
+ default:
174
+ return 'open';
175
+ }
176
+ }
177
+ }
178
+ //# sourceMappingURL=beads-task-backend-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beads-task-backend-client.js","sourceRoot":"","sources":["../../../src/components/beads/beads-task-backend-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,MAAM,GAAG,YAAY,CAAC,wBAAwB,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACzB,WAAW,CAAS;IAE5B,YAAY,WAAmB;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAC/B,IAAc;QAEd,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;gBACtC,OAAO;gBACP,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;gBAC9C,GAAG,EAAE,IAAI,CAAC,WAAW;gBACrB,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aAClC,CAAC,CAAC;YAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,KAIjB,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;gBAClC,IAAI;gBACJ,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,MAAM,EAAE,SAAS,CAAC,MAAM;aACzB,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EACJ,SAAS,CAAC,MAAM;oBAChB,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1D,MAAM,EAAE,SAAS,CAAC,MAAM;aACzB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAC7D,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,YAAoB;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBAC5C,MAAM;gBACN,UAAU;gBACV,YAAY;gBACZ,UAAU;gBACV,MAAM;aACP,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtC,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,4EAA4E;YAC5E,8FAA8F;YAC9F,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAkB,EAAE,CAAC;YAEhC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IACE,IAAI,CAAC,IAAI,EAAE;oBACX,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oBACrB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oBACrB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EACtB,CAAC;oBACD,qDAAqD;oBACrD,oDAAoD;oBACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;oBAC7D,IAAI,KAAK,EAAE,CAAC;wBACV,KAAK,CAAC,IAAI,CAAC;4BACT,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;4BAClB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;4BACrB,MAAM,EAAE,MAAM;4BACd,QAAQ,EAAE,CAAC;4BACX,MAAM,EAAE,YAAY;yBACrB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAC1B,YAAoB;QAEpB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAExD,OAAO;YACL,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC;YAC7B,SAAS;YACT,OAAO,EACL,SAAS,CAAC,MAAM,GAAG,CAAC;gBAClB,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,uFAAuF;gBAClH,CAAC,CAAC,sBAAsB;SAC7B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,KAAa,EACb,YAAoB,EACpB,QAAQ,GAAG,CAAC;QAEZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC;YAC5C,QAAQ;YACR,IAAI,KAAK,GAAG;YACZ,UAAU;YACV,YAAY;YACZ,IAAI;YACJ,QAAQ,CAAC,QAAQ,EAAE;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,0BAA0B,MAAM,CAAC,MAAM,IAAI,eAAe,EAAE,CAC7D,CAAC;QACJ,CAAC;QAED,oCAAoC;QACpC,+DAA+D;QAC/D,MAAM,KAAK,GACT,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,8BAA8B,CAAC;YACpD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,4BAA4B,CAAC;YAClD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAEhD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,gDAAgD,MAAM,CAAC,MAAM,IAAI,WAAW,EAAE,CAC/E,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,MAAc,EACd,MAA0D;QAE1D,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC;YAC5C,QAAQ;YACR,MAAM;YACN,UAAU;YACV,WAAW;SACZ,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,iCAAiC,MAAM,CAAC,MAAM,IAAI,eAAe,EAAE,CACpE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CACtB,MAA0D;QAE1D,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,aAAa;gBAChB,OAAO,aAAa,CAAC;YACvB,KAAK,WAAW;gBACd,OAAO,WAAW,CAAC;YACrB,KAAK,WAAW;gBACd,OAAO,WAAW,CAAC;YACrB;gBACE,OAAO,MAAM,CAAC;QAClB,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Server Components Factory
3
+ *
4
+ * Factory for creating server components based on configuration.
5
+ * Implements strategy pattern to enable component substitution based on task backend.
6
+ */
7
+ import { PlanManager, InstructionGenerator, type TaskBackendConfig } from '@codemcp/workflows-core';
8
+ import { BeadsPlanManager } from './beads/beads-plan-manager.js';
9
+ import { BeadsInstructionGenerator } from './beads/beads-instruction-generator.js';
10
+ import { BeadsTaskBackendClient } from './beads/beads-task-backend-client.js';
11
+ export interface ComponentFactoryOptions {
12
+ taskBackend?: TaskBackendConfig;
13
+ projectPath?: string;
14
+ }
15
+ /**
16
+ * Factory class for creating server components with appropriate strategy implementations
17
+ */
18
+ export declare class ServerComponentsFactory {
19
+ private taskBackend;
20
+ private projectPath?;
21
+ constructor(options?: ComponentFactoryOptions);
22
+ /**
23
+ * Create the appropriate plan manager implementation
24
+ */
25
+ createPlanManager(): PlanManager | BeadsPlanManager;
26
+ /**
27
+ * Create the appropriate instruction generator implementation
28
+ */
29
+ createInstructionGenerator(): InstructionGenerator | BeadsInstructionGenerator;
30
+ /**
31
+ * Create the appropriate task backend client implementation
32
+ */
33
+ createTaskBackendClient(): BeadsTaskBackendClient | null;
34
+ /**
35
+ * Get the current task backend configuration
36
+ */
37
+ getTaskBackend(): TaskBackendConfig;
38
+ }
39
+ //# sourceMappingURL=server-components-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-components-factory.d.ts","sourceRoot":"","sources":["../../src/components/server-components-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,WAAW,EACX,oBAAoB,EACpB,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,WAAW,CAAC,CAAS;gBAEjB,OAAO,GAAE,uBAA4B;IAMjD;;OAEG;IACH,iBAAiB,IAAI,WAAW,GAAG,gBAAgB;IASnD;;OAEG;IACH,0BAA0B,IACtB,oBAAoB,GACpB,yBAAyB;IAS7B;;OAEG;IACH,uBAAuB,IAAI,sBAAsB,GAAG,IAAI;IAaxD;;OAEG;IACH,cAAc,IAAI,iBAAiB;CAGpC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Server Components Factory
3
+ *
4
+ * Factory for creating server components based on configuration.
5
+ * Implements strategy pattern to enable component substitution based on task backend.
6
+ */
7
+ import { TaskBackendManager, PlanManager, InstructionGenerator, } from '@codemcp/workflows-core';
8
+ // Beads implementations
9
+ import { BeadsPlanManager } from './beads/beads-plan-manager.js';
10
+ import { BeadsInstructionGenerator } from './beads/beads-instruction-generator.js';
11
+ import { BeadsTaskBackendClient } from './beads/beads-task-backend-client.js';
12
+ /**
13
+ * Factory class for creating server components with appropriate strategy implementations
14
+ */
15
+ export class ServerComponentsFactory {
16
+ taskBackend;
17
+ projectPath;
18
+ constructor(options = {}) {
19
+ this.taskBackend =
20
+ options.taskBackend || TaskBackendManager.detectTaskBackend();
21
+ this.projectPath = options.projectPath;
22
+ }
23
+ /**
24
+ * Create the appropriate plan manager implementation
25
+ */
26
+ createPlanManager() {
27
+ if (this.taskBackend.backend === 'beads' && this.taskBackend.isAvailable) {
28
+ return new BeadsPlanManager();
29
+ }
30
+ // Default markdown-based plan manager
31
+ return new PlanManager();
32
+ }
33
+ /**
34
+ * Create the appropriate instruction generator implementation
35
+ */
36
+ createInstructionGenerator() {
37
+ if (this.taskBackend.backend === 'beads' && this.taskBackend.isAvailable) {
38
+ return new BeadsInstructionGenerator();
39
+ }
40
+ // Default markdown-based instruction generator
41
+ return new InstructionGenerator(new PlanManager());
42
+ }
43
+ /**
44
+ * Create the appropriate task backend client implementation
45
+ */
46
+ createTaskBackendClient() {
47
+ if (this.taskBackend.backend === 'beads' &&
48
+ this.taskBackend.isAvailable &&
49
+ this.projectPath) {
50
+ return new BeadsTaskBackendClient(this.projectPath);
51
+ }
52
+ // No task backend client for markdown mode
53
+ return null;
54
+ }
55
+ /**
56
+ * Get the current task backend configuration
57
+ */
58
+ getTaskBackend() {
59
+ return this.taskBackend;
60
+ }
61
+ }
62
+ //# sourceMappingURL=server-components-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-components-factory.js","sourceRoot":"","sources":["../../src/components/server-components-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,oBAAoB,GAErB,MAAM,yBAAyB,CAAC;AAEjC,wBAAwB;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAO9E;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAC1B,WAAW,CAAoB;IAC/B,WAAW,CAAU;IAE7B,YAAY,UAAmC,EAAE;QAC/C,IAAI,CAAC,WAAW;YACd,OAAO,CAAC,WAAW,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,CAAC;QAChE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YACzE,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAChC,CAAC;QAED,sCAAsC;QACtC,OAAO,IAAI,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,0BAA0B;QAGxB,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YACzE,OAAO,IAAI,yBAAyB,EAAE,CAAC;QACzC,CAAC;QAED,+CAA+C;QAC/C,OAAO,IAAI,oBAAoB,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,uBAAuB;QACrB,IACE,IAAI,CAAC,WAAW,CAAC,OAAO,KAAK,OAAO;YACpC,IAAI,CAAC,WAAW,CAAC,WAAW;YAC5B,IAAI,CAAC,WAAW,EAChB,CAAC;YACD,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC;QAED,2CAA2C;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"server-config.d.ts","sourceRoot":"","sources":["../src/server-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAW5D,OAAO,EACL,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAUpB;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,GAAE,YAAiB,GACxB,OAAO,CAAC,gBAAgB,CAAC,CA0F3B;AAwBD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAqWf;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,aAAa,GACrB,IAAI,CAuKN"}
1
+ {"version":3,"file":"server-config.d.ts","sourceRoot":"","sources":["../src/server-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAS5D,OAAO,EACL,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAWpB;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,GAAE,YAAiB,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAgG3B;AAwBD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAqWf;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,aAAa,GACrB,IAAI,CAuKN"}
@@ -12,8 +12,6 @@ import * as path from 'node:path';
12
12
  import { FileStorage } from '@codemcp/workflows-core';
13
13
  import { ConversationManager } from '@codemcp/workflows-core';
14
14
  import { TransitionEngine } from '@codemcp/workflows-core';
15
- import { InstructionGenerator } from '@codemcp/workflows-core';
16
- import { PlanManager } from '@codemcp/workflows-core';
17
15
  import { InteractionLogger } from '@codemcp/workflows-core';
18
16
  import { WorkflowManager } from '@codemcp/workflows-core';
19
17
  import { GitManager } from '@codemcp/workflows-core';
@@ -21,6 +19,7 @@ import { TemplateManager } from '@codemcp/workflows-core';
21
19
  import { createLogger, setMcpLoggingLevel } from '@codemcp/workflows-core';
22
20
  import { normalizeProjectPath, buildWorkflowEnum, generateWorkflowDescription, } from './server-helpers.js';
23
21
  import { notificationService } from './notification-service.js';
22
+ import { ServerComponentsFactory } from './components/server-components-factory.js';
24
23
  const logger = createLogger('ServerConfig');
25
24
  /**
26
25
  * Initialize all server components
@@ -63,8 +62,13 @@ export async function initializeServerComponents(config = {}) {
63
62
  const conversationManager = new ConversationManager(database, workflowManager, projectPath);
64
63
  const transitionEngine = new TransitionEngine(projectPath);
65
64
  transitionEngine.setConversationManager(conversationManager);
66
- const planManager = new PlanManager();
67
- const instructionGenerator = new InstructionGenerator(planManager);
65
+ // Use factory pattern for strategy-based component creation
66
+ const componentsFactory = new ServerComponentsFactory({
67
+ projectPath,
68
+ taskBackend: config.taskBackend, // Pass through task backend config if provided
69
+ });
70
+ const planManager = componentsFactory.createPlanManager();
71
+ const instructionGenerator = componentsFactory.createInstructionGenerator();
68
72
  // Always create interaction logger as it's critical for transition engine logic
69
73
  // (determining first call from initial state)
70
74
  const interactionLogger = new InteractionLogger(database);
@@ -1 +1 @@
1
- {"version":3,"file":"server-config.js","sourceRoot":"","sources":["../src/server-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-config.js","sourceRoot":"","sources":["../src/server-config.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ export declare class ResponsibleVibeMCPServer {
40
40
  /**
41
41
  * Get plan manager (for testing)
42
42
  */
43
- getPlanManager(): import("@codemcp/workflows-core").PlanManager;
43
+ getPlanManager(): import("@codemcp/workflows-core").IPlanManager;
44
44
  /**
45
45
  * Direct access to tool handlers for testing
46
46
  */
@@ -39,5 +39,10 @@ export declare class ProceedToPhaseHandler extends ConversationRequiredToolHandl
39
39
  * Validate that the agent's role allows this phase transition (for crowd workflows)
40
40
  */
41
41
  private validateAgentRole;
42
+ /**
43
+ * Validate that all beads tasks in the current phase are completed
44
+ * before proceeding to the next phase. Only applies when beads mode is active.
45
+ */
46
+ private validateBeadsTaskCompletion;
42
47
  }
43
48
  //# sourceMappingURL=proceed-to-phase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proceed-to-phase.d.ts","sourceRoot":"","sources":["../../src/tool-handlers/proceed-to-phase.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,cAAc,GAAG,SAAS,GAAG,WAAW,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,+BAA+B,CACxE,kBAAkB,EAClB,oBAAoB,CACrB;cACiB,uBAAuB,CACrC,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,aAAa,EACtB,mBAAmB,EAAE,mBAAmB,GACvC,OAAO,CAAC,oBAAoB,CAAC;IAwHhC;;OAEG;YACW,mBAAmB;IA+CjC;;OAEG;YACW,iBAAiB;CAgEhC"}
1
+ {"version":3,"file":"proceed-to-phase.d.ts","sourceRoot":"","sources":["../../src/tool-handlers/proceed-to-phase.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,cAAc,GAAG,SAAS,GAAG,WAAW,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,+BAA+B,CACxE,kBAAkB,EAClB,oBAAoB,CACrB;cACiB,uBAAuB,CACrC,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,aAAa,EACtB,mBAAmB,EAAE,mBAAmB,GACvC,OAAO,CAAC,oBAAoB,CAAC;IAgIhC;;OAEG;YACW,mBAAmB;IA+CjC;;OAEG;YACW,iBAAiB;IAiE/B;;;OAGG;YACW,2BAA2B;CA6H1C"}
@@ -6,6 +6,8 @@
6
6
  */
7
7
  import { ConversationRequiredToolHandler } from './base-tool-handler.js';
8
8
  import { validateRequiredArgs } from '../server-helpers.js';
9
+ import { BeadsStateManager } from '@codemcp/workflows-core';
10
+ import { ServerComponentsFactory } from '../components/server-components-factory.js';
9
11
  /**
10
12
  * ProceedToPhase tool handler implementation
11
13
  */
@@ -29,6 +31,8 @@ export class ProceedToPhaseHandler extends ConversationRequiredToolHandler {
29
31
  }
30
32
  // Validate agent role for crowd workflows
31
33
  await this.validateAgentRole(currentPhase, target_phase, conversationContext.workflowName, conversationContext.projectPath, context);
34
+ // Validate beads task completion if in beads mode
35
+ await this.validateBeadsTaskCompletion(conversationId, currentPhase, target_phase, conversationContext.projectPath);
32
36
  // Ensure state machine is loaded for this project
33
37
  this.ensureStateMachineForProject(context, conversationContext.projectPath);
34
38
  // Perform explicit transition
@@ -150,5 +154,96 @@ export class ProceedToPhaseHandler extends ConversationRequiredToolHandler {
150
154
  }
151
155
  }
152
156
  }
157
+ /**
158
+ * Validate that all beads tasks in the current phase are completed
159
+ * before proceeding to the next phase. Only applies when beads mode is active.
160
+ */
161
+ async validateBeadsTaskCompletion(conversationId, currentPhase, targetPhase, projectPath) {
162
+ try {
163
+ // Use factory to create task backend client (strategy pattern)
164
+ const factory = new ServerComponentsFactory({ projectPath });
165
+ const taskBackendClient = factory.createTaskBackendClient();
166
+ if (!taskBackendClient) {
167
+ // Not in beads mode or beads not available, skip validation
168
+ this.logger.debug('Skipping beads task validation - no task backend client available', {
169
+ conversationId,
170
+ currentPhase,
171
+ targetPhase,
172
+ });
173
+ return;
174
+ }
175
+ // Get beads state for this conversation
176
+ const beadsStateManager = new BeadsStateManager(projectPath);
177
+ const currentPhaseTaskId = await beadsStateManager.getPhaseTaskId(conversationId, currentPhase);
178
+ if (!currentPhaseTaskId) {
179
+ // No beads state found for this conversation - fallback to graceful handling
180
+ this.logger.debug('No beads phase task ID found for current phase', {
181
+ conversationId,
182
+ currentPhase,
183
+ targetPhase,
184
+ projectPath,
185
+ });
186
+ return;
187
+ }
188
+ this.logger.debug('Checking for incomplete beads tasks using task backend client', {
189
+ conversationId,
190
+ currentPhase,
191
+ currentPhaseTaskId,
192
+ });
193
+ // Use task backend client to validate task completion (strategy pattern)
194
+ const validationResult = await taskBackendClient.validateTasksCompleted(currentPhaseTaskId);
195
+ if (!validationResult.valid) {
196
+ // Get the incomplete tasks from the validation result
197
+ const incompleteTasks = validationResult.openTasks;
198
+ // Create detailed error message with incomplete tasks
199
+ const taskDetails = incompleteTasks
200
+ .map(task => ` • ${task.id} - ${task.title || 'Untitled task'}`)
201
+ .join('\n');
202
+ const errorMessage = `Cannot proceed to ${targetPhase} - ${incompleteTasks.length} incomplete task(s) in current phase "${currentPhase}":
203
+
204
+ ${taskDetails}
205
+
206
+ To proceed, please complete these tasks using:
207
+ bd close <task-id>
208
+
209
+ Or check remaining work with:
210
+ bd list --parent ${currentPhaseTaskId} --status open
211
+
212
+ You can also defer tasks if they're no longer needed:
213
+ bd defer <task-id> --until tomorrow`;
214
+ this.logger.info('Blocking phase transition due to incomplete beads tasks', {
215
+ conversationId,
216
+ currentPhase,
217
+ targetPhase,
218
+ currentPhaseTaskId,
219
+ incompleteTaskCount: incompleteTasks.length,
220
+ incompleteTaskIds: incompleteTasks.map(t => t.id),
221
+ });
222
+ throw new Error(errorMessage);
223
+ }
224
+ this.logger.info('All beads tasks completed in current phase, allowing transition', {
225
+ conversationId,
226
+ currentPhase,
227
+ targetPhase,
228
+ currentPhaseTaskId,
229
+ });
230
+ }
231
+ catch (error) {
232
+ // Re-throw validation errors (incomplete tasks)
233
+ if (error instanceof Error &&
234
+ error.message.includes('Cannot proceed to')) {
235
+ throw error;
236
+ }
237
+ // Log other errors but allow transition (graceful degradation)
238
+ const errorMessage = error instanceof Error ? error.message : String(error);
239
+ this.logger.warn('Beads task validation failed, allowing transition to proceed', {
240
+ error: errorMessage,
241
+ conversationId,
242
+ currentPhase,
243
+ targetPhase,
244
+ projectPath,
245
+ });
246
+ }
247
+ }
153
248
  }
154
249
  //# sourceMappingURL=proceed-to-phase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proceed-to-phase.js","sourceRoot":"","sources":["../../src/tool-handlers/proceed-to-phase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proceed-to-phase.js","sourceRoot":"","sources":["../../src/tool-handlers/proceed-to-phase.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"start-development.d.ts","sourceRoot":"","sources":["../../src/tool-handlers/start-development.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAUzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACrD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,eAAe,CAC1D,oBAAoB,EACpB,sBAAsB,CACvB;IACC,OAAO,CAAC,kBAAkB,CAAqB;;cAO/B,cAAc,CAC5B,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,sBAAsB,CAAC;IA0MlC;;;;OAIG;YACW,qBAAqB;IAmGnC;;OAEG;IACH,OAAO,CAAC,iCAAiC;IA6BzC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAiCrC;;OAEG;YACW,6BAA6B;IAyE3C;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAgDnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;OAGG;IACH,OAAO,CAAC,gCAAgC;IAYxC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAkC3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAKhC;;OAEG;YACW,qBAAqB;IAgDnC;;OAEG;YACW,8BAA8B;IA2D5C;;;OAGG;IACH,OAAO,CAAC,oBAAoB;CAsE7B"}
1
+ {"version":3,"file":"start-development.d.ts","sourceRoot":"","sources":["../../src/tool-handlers/start-development.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAUzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAOhE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACrD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,eAAe,CAC1D,oBAAoB,EACpB,sBAAsB,CACvB;IACC,OAAO,CAAC,kBAAkB,CAAqB;;cAO/B,cAAc,CAC5B,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,sBAAsB,CAAC;IA2MlC;;;;OAIG;YACW,qBAAqB;IAmGnC;;OAEG;IACH,OAAO,CAAC,iCAAiC;IA6BzC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAiCrC;;OAEG;YACW,6BAA6B;IAyE3C;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAgDnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;OAGG;IACH,OAAO,CAAC,gCAAgC;IAYxC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAkC3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAKhC;;OAEG;YACW,qBAAqB;IAyDnC;;OAEG;YACW,8BAA8B;IA2D5C;;;OAGG;IACH,OAAO,CAAC,oBAAoB;CAsE7B"}
@@ -11,7 +11,7 @@ import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
11
11
  import { resolve } from 'node:path';
12
12
  import { GitManager } from '@codemcp/workflows-core';
13
13
  import { ProjectDocsManager } from '@codemcp/workflows-core';
14
- import { TaskBackendManager, BeadsIntegration } from '@codemcp/workflows-core';
14
+ import { TaskBackendManager, BeadsIntegration, BeadsStateManager, } from '@codemcp/workflows-core';
15
15
  /**
16
16
  * StartDevelopment tool handler implementation
17
17
  */
@@ -109,7 +109,7 @@ export class StartDevelopmentHandler extends BaseToolHandler {
109
109
  await context.planManager.ensurePlanFile(conversationContext.planFilePath, projectPath, conversationContext.gitBranch);
110
110
  // Handle beads integration if beads backend is configured
111
111
  if (taskBackendConfig.backend === 'beads') {
112
- await this.setupBeadsIntegration(projectPath, stateMachine, selectedWorkflow, conversationContext.planFilePath);
112
+ await this.setupBeadsIntegration(projectPath, stateMachine, selectedWorkflow, conversationContext.planFilePath, conversationContext.conversationId);
113
113
  }
114
114
  // Ensure .vibe/.gitignore exists to exclude SQLite files for git repositories
115
115
  this.ensureGitignoreEntry(projectPath);
@@ -406,7 +406,7 @@ ${templateOptionsText}
406
406
  /**
407
407
  * Setup beads integration - create project epic and phase tasks
408
408
  */
409
- async setupBeadsIntegration(projectPath, stateMachine, workflowName, planFilePath) {
409
+ async setupBeadsIntegration(projectPath, stateMachine, workflowName, planFilePath, conversationId) {
410
410
  try {
411
411
  const beadsIntegration = new BeadsIntegration(projectPath);
412
412
  const projectName = projectPath.split('/').pop() || 'Unknown Project';
@@ -415,13 +415,19 @@ ${templateOptionsText}
415
415
  // Create phase tasks for all workflow phases
416
416
  const phases = Object.keys(stateMachine.states);
417
417
  const phaseTasks = await beadsIntegration.createPhaseTasks(epicId, phases, workflowName);
418
+ // Create sequential dependencies between phases
419
+ await beadsIntegration.createPhaseDependencies(phaseTasks);
418
420
  // Update plan file with phase task IDs
419
421
  await this.updatePlanFileWithPhaseTaskIds(planFilePath, phaseTasks);
422
+ // Create beads state for this conversation
423
+ const beadsStateManager = new BeadsStateManager(projectPath);
424
+ await beadsStateManager.createState(conversationId, epicId, phaseTasks);
420
425
  this.logger.info('Beads integration setup complete', {
421
426
  projectPath,
422
427
  epicId,
423
428
  phaseCount: phaseTasks.length,
424
429
  planFilePath,
430
+ conversationId,
425
431
  });
426
432
  }
427
433
  catch (error) {