@codemcp/workflows 4.10.1 → 4.10.3

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 (93) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/components/beads/beads-instruction-generator.d.ts +4 -8
  3. package/dist/components/beads/beads-instruction-generator.d.ts.map +1 -1
  4. package/dist/components/beads/beads-instruction-generator.js +28 -51
  5. package/dist/components/beads/beads-instruction-generator.js.map +1 -1
  6. package/dist/components/beads/beads-task-backend-client.d.ts.map +1 -1
  7. package/dist/components/beads/beads-task-backend-client.js +1 -4
  8. package/dist/components/beads/beads-task-backend-client.js.map +1 -1
  9. package/dist/plugin-system/beads-plugin.d.ts +70 -0
  10. package/dist/plugin-system/beads-plugin.d.ts.map +1 -0
  11. package/dist/plugin-system/beads-plugin.js +459 -0
  12. package/dist/plugin-system/beads-plugin.js.map +1 -0
  13. package/dist/plugin-system/index.d.ts +9 -0
  14. package/dist/plugin-system/index.d.ts.map +1 -0
  15. package/dist/plugin-system/index.js +9 -0
  16. package/dist/plugin-system/index.js.map +1 -0
  17. package/dist/plugin-system/plugin-interfaces.d.ts +99 -0
  18. package/dist/plugin-system/plugin-interfaces.d.ts.map +1 -0
  19. package/dist/plugin-system/plugin-interfaces.js +9 -0
  20. package/dist/plugin-system/plugin-interfaces.js.map +1 -0
  21. package/dist/plugin-system/plugin-registry.d.ts +44 -0
  22. package/dist/plugin-system/plugin-registry.d.ts.map +1 -0
  23. package/dist/plugin-system/plugin-registry.js +132 -0
  24. package/dist/plugin-system/plugin-registry.js.map +1 -0
  25. package/dist/server-config.d.ts.map +1 -1
  26. package/dist/server-config.js +28 -8
  27. package/dist/server-config.js.map +1 -1
  28. package/dist/tool-handlers/conduct-review.d.ts.map +1 -1
  29. package/dist/tool-handlers/conduct-review.js +1 -2
  30. package/dist/tool-handlers/conduct-review.js.map +1 -1
  31. package/dist/tool-handlers/get-tool-info.d.ts +0 -1
  32. package/dist/tool-handlers/get-tool-info.d.ts.map +1 -1
  33. package/dist/tool-handlers/get-tool-info.js +0 -1
  34. package/dist/tool-handlers/get-tool-info.js.map +1 -1
  35. package/dist/tool-handlers/proceed-to-phase.d.ts +0 -7
  36. package/dist/tool-handlers/proceed-to-phase.d.ts.map +1 -1
  37. package/dist/tool-handlers/proceed-to-phase.js +15 -95
  38. package/dist/tool-handlers/proceed-to-phase.js.map +1 -1
  39. package/dist/tool-handlers/resume-workflow.d.ts +0 -1
  40. package/dist/tool-handlers/resume-workflow.d.ts.map +1 -1
  41. package/dist/tool-handlers/resume-workflow.js +0 -1
  42. package/dist/tool-handlers/resume-workflow.js.map +1 -1
  43. package/dist/tool-handlers/start-development.d.ts +0 -16
  44. package/dist/tool-handlers/start-development.d.ts.map +1 -1
  45. package/dist/tool-handlers/start-development.js +29 -130
  46. package/dist/tool-handlers/start-development.js.map +1 -1
  47. package/dist/tool-handlers/whats-next.d.ts +0 -2
  48. package/dist/tool-handlers/whats-next.d.ts.map +1 -1
  49. package/dist/tool-handlers/whats-next.js +1 -2
  50. package/dist/tool-handlers/whats-next.js.map +1 -1
  51. package/dist/types.d.ts +2 -0
  52. package/dist/types.d.ts.map +1 -1
  53. package/package.json +2 -2
  54. package/src/components/beads/beads-instruction-generator.ts +32 -64
  55. package/src/components/beads/beads-task-backend-client.ts +1 -4
  56. package/src/plugin-system/beads-plugin.ts +641 -0
  57. package/src/plugin-system/index.ts +20 -0
  58. package/src/plugin-system/plugin-interfaces.ts +154 -0
  59. package/src/plugin-system/plugin-registry.ts +190 -0
  60. package/src/server-config.ts +30 -8
  61. package/src/tool-handlers/conduct-review.ts +1 -2
  62. package/src/tool-handlers/get-tool-info.ts +0 -2
  63. package/src/tool-handlers/proceed-to-phase.ts +19 -139
  64. package/src/tool-handlers/resume-workflow.ts +0 -2
  65. package/src/tool-handlers/start-development.ts +35 -213
  66. package/src/tool-handlers/whats-next.ts +1 -4
  67. package/src/types.ts +2 -0
  68. package/test/e2e/beads-plugin-integration.test.ts +1594 -0
  69. package/test/e2e/core-functionality.test.ts +3 -12
  70. package/test/e2e/mcp-contract.test.ts +0 -31
  71. package/test/e2e/plugin-system-integration.test.ts +1421 -0
  72. package/test/e2e/state-management.test.ts +1 -5
  73. package/test/e2e/workflow-integration.test.ts +2 -11
  74. package/test/unit/beads-instruction-generator.test.ts +235 -103
  75. package/test/unit/beads-phase-task-id-integration.test.ts +7 -29
  76. package/test/unit/beads-plugin-behavioral.test.ts +512 -0
  77. package/test/unit/beads-plugin.test.ts +94 -0
  78. package/test/unit/plugin-error-handling.test.ts +240 -0
  79. package/test/unit/proceed-to-phase-plugin-integration.test.ts +150 -0
  80. package/test/unit/resume-workflow.test.ts +0 -1
  81. package/test/unit/server-config-plugin-registry.test.ts +81 -0
  82. package/test/unit/server-tools.test.ts +0 -1
  83. package/test/unit/start-development-goal-extraction.test.ts +22 -16
  84. package/test/utils/test-helpers.ts +3 -1
  85. package/tsconfig.build.tsbuildinfo +1 -1
  86. package/dist/components/server-components-factory.d.ts +0 -39
  87. package/dist/components/server-components-factory.d.ts.map +0 -1
  88. package/dist/components/server-components-factory.js +0 -62
  89. package/dist/components/server-components-factory.js.map +0 -1
  90. package/src/components/server-components-factory.ts +0 -86
  91. package/test/e2e/component-substitution.test.ts +0 -208
  92. package/test/unit/beads-integration-filename.test.ts +0 -93
  93. package/test/unit/server-components-factory.test.ts +0 -279
@@ -69,7 +69,6 @@ describe('Core Functionality', () => {
69
69
 
70
70
  expect(response.phase).toBeTruthy();
71
71
  expect(response.instructions).toBeTruthy();
72
- expect(response.conversation_id).toBeTruthy();
73
72
  expect(response.plan_file_path).toBeTruthy();
74
73
  });
75
74
 
@@ -148,29 +147,21 @@ describe('Core Functionality', () => {
148
147
 
149
148
  describe('Basic Conversation Management', () => {
150
149
  it('should create new conversations', async () => {
151
- const result = await client.callTool('whats_next', {
150
+ await client.callTool('whats_next', {
152
151
  user_input: 'new feature request',
153
152
  });
154
- const response = assertToolSuccess(result);
155
-
156
- expect(response.conversation_id).toBeTruthy();
157
- expect(response.conversation_id).toMatch(/^default-sm-/);
158
153
  });
159
154
 
160
155
  it('should maintain conversation state across calls', async () => {
161
156
  const first = await client.callTool('whats_next', {
162
157
  user_input: 'start project',
163
158
  });
164
- const firstResponse = assertToolSuccess(first);
159
+ assertToolSuccess(first);
165
160
 
166
161
  const second = await client.callTool('whats_next', {
167
162
  user_input: 'continue project',
168
163
  });
169
- const secondResponse = assertToolSuccess(second);
170
-
171
- expect(firstResponse.conversation_id).toBe(
172
- secondResponse.conversation_id
173
- );
164
+ assertToolSuccess(second);
174
165
  });
175
166
  });
176
167
  });
@@ -206,7 +206,6 @@ describe('MCP Contract Validation', () => {
206
206
  const responseText = textContent!.text;
207
207
  expect(responseText).toContain('phase');
208
208
  expect(responseText).toContain('instructions');
209
- expect(responseText).toContain('conversation_id');
210
209
  });
211
210
 
212
211
  it('should execute proceed_to_phase tool successfully', async () => {
@@ -334,7 +333,6 @@ describe('MCP Contract Validation', () => {
334
333
 
335
334
  // Should contain valid JSON with state information
336
335
  const stateData = JSON.parse(content.text);
337
- expect(stateData.conversationId).toBeTruthy();
338
336
  expect(stateData.currentPhase).toBeTruthy();
339
337
  expect(stateData.projectPath).toBeTruthy();
340
338
  });
@@ -386,34 +384,6 @@ describe('MCP Contract Validation', () => {
386
384
  expect(Array.isArray(results[3].resources)).toBe(true);
387
385
  });
388
386
 
389
- it('should maintain conversation state across multiple interactions', async () => {
390
- // First interaction
391
- const result1 = await client.callTool({
392
- name: 'whats_next',
393
- arguments: {
394
- user_input: 'start new project',
395
- },
396
- });
397
-
398
- const response1 = JSON.parse(result1.content[0].text);
399
- const conversationId1 = response1.conversation_id;
400
-
401
- // Second interaction in the same session
402
- const result2 = await client.callTool({
403
- name: 'whats_next',
404
- arguments: {
405
- user_input: 'continue project',
406
- },
407
- });
408
-
409
- const response2 = JSON.parse(result2.content[0].text);
410
- const conversationId2 = response2.conversation_id;
411
-
412
- // Should maintain same conversation ID within the same MCP session
413
- // Note: Each MCP client connection maintains its own conversation context
414
- expect(conversationId1).toBe(conversationId2);
415
- });
416
-
417
387
  it('should handle malformed requests appropriately', async () => {
418
388
  // Test with missing required parameters
419
389
  try {
@@ -534,7 +504,6 @@ describe('MCP Contract Validation', () => {
534
504
  const response = JSON.parse(result.content[0].text);
535
505
  expect(response.phase).toBeTruthy();
536
506
  expect(response.instructions).toBeTruthy();
537
- expect(response.conversation_id).toBeTruthy();
538
507
  });
539
508
  });
540
509
  });