@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.
- package/.turbo/turbo-build.log +1 -1
- package/dist/components/beads/beads-instruction-generator.d.ts +4 -8
- package/dist/components/beads/beads-instruction-generator.d.ts.map +1 -1
- package/dist/components/beads/beads-instruction-generator.js +28 -51
- package/dist/components/beads/beads-instruction-generator.js.map +1 -1
- package/dist/components/beads/beads-task-backend-client.d.ts.map +1 -1
- package/dist/components/beads/beads-task-backend-client.js +1 -4
- package/dist/components/beads/beads-task-backend-client.js.map +1 -1
- package/dist/plugin-system/beads-plugin.d.ts +70 -0
- package/dist/plugin-system/beads-plugin.d.ts.map +1 -0
- package/dist/plugin-system/beads-plugin.js +459 -0
- package/dist/plugin-system/beads-plugin.js.map +1 -0
- package/dist/plugin-system/index.d.ts +9 -0
- package/dist/plugin-system/index.d.ts.map +1 -0
- package/dist/plugin-system/index.js +9 -0
- package/dist/plugin-system/index.js.map +1 -0
- package/dist/plugin-system/plugin-interfaces.d.ts +99 -0
- package/dist/plugin-system/plugin-interfaces.d.ts.map +1 -0
- package/dist/plugin-system/plugin-interfaces.js +9 -0
- package/dist/plugin-system/plugin-interfaces.js.map +1 -0
- package/dist/plugin-system/plugin-registry.d.ts +44 -0
- package/dist/plugin-system/plugin-registry.d.ts.map +1 -0
- package/dist/plugin-system/plugin-registry.js +132 -0
- package/dist/plugin-system/plugin-registry.js.map +1 -0
- package/dist/server-config.d.ts.map +1 -1
- package/dist/server-config.js +28 -8
- package/dist/server-config.js.map +1 -1
- package/dist/tool-handlers/conduct-review.d.ts.map +1 -1
- package/dist/tool-handlers/conduct-review.js +1 -2
- package/dist/tool-handlers/conduct-review.js.map +1 -1
- package/dist/tool-handlers/get-tool-info.d.ts +0 -1
- package/dist/tool-handlers/get-tool-info.d.ts.map +1 -1
- package/dist/tool-handlers/get-tool-info.js +0 -1
- package/dist/tool-handlers/get-tool-info.js.map +1 -1
- package/dist/tool-handlers/proceed-to-phase.d.ts +0 -7
- package/dist/tool-handlers/proceed-to-phase.d.ts.map +1 -1
- package/dist/tool-handlers/proceed-to-phase.js +15 -95
- package/dist/tool-handlers/proceed-to-phase.js.map +1 -1
- package/dist/tool-handlers/resume-workflow.d.ts +0 -1
- package/dist/tool-handlers/resume-workflow.d.ts.map +1 -1
- package/dist/tool-handlers/resume-workflow.js +0 -1
- package/dist/tool-handlers/resume-workflow.js.map +1 -1
- package/dist/tool-handlers/start-development.d.ts +0 -16
- package/dist/tool-handlers/start-development.d.ts.map +1 -1
- package/dist/tool-handlers/start-development.js +29 -130
- package/dist/tool-handlers/start-development.js.map +1 -1
- package/dist/tool-handlers/whats-next.d.ts +0 -2
- package/dist/tool-handlers/whats-next.d.ts.map +1 -1
- package/dist/tool-handlers/whats-next.js +1 -2
- package/dist/tool-handlers/whats-next.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/components/beads/beads-instruction-generator.ts +32 -64
- package/src/components/beads/beads-task-backend-client.ts +1 -4
- package/src/plugin-system/beads-plugin.ts +641 -0
- package/src/plugin-system/index.ts +20 -0
- package/src/plugin-system/plugin-interfaces.ts +154 -0
- package/src/plugin-system/plugin-registry.ts +190 -0
- package/src/server-config.ts +30 -8
- package/src/tool-handlers/conduct-review.ts +1 -2
- package/src/tool-handlers/get-tool-info.ts +0 -2
- package/src/tool-handlers/proceed-to-phase.ts +19 -139
- package/src/tool-handlers/resume-workflow.ts +0 -2
- package/src/tool-handlers/start-development.ts +35 -213
- package/src/tool-handlers/whats-next.ts +1 -4
- package/src/types.ts +2 -0
- package/test/e2e/beads-plugin-integration.test.ts +1594 -0
- package/test/e2e/core-functionality.test.ts +3 -12
- package/test/e2e/mcp-contract.test.ts +0 -31
- package/test/e2e/plugin-system-integration.test.ts +1421 -0
- package/test/e2e/state-management.test.ts +1 -5
- package/test/e2e/workflow-integration.test.ts +2 -11
- package/test/unit/beads-instruction-generator.test.ts +235 -103
- package/test/unit/beads-phase-task-id-integration.test.ts +7 -29
- package/test/unit/beads-plugin-behavioral.test.ts +512 -0
- package/test/unit/beads-plugin.test.ts +94 -0
- package/test/unit/plugin-error-handling.test.ts +240 -0
- package/test/unit/proceed-to-phase-plugin-integration.test.ts +150 -0
- package/test/unit/resume-workflow.test.ts +0 -1
- package/test/unit/server-config-plugin-registry.test.ts +81 -0
- package/test/unit/server-tools.test.ts +0 -1
- package/test/unit/start-development-goal-extraction.test.ts +22 -16
- package/test/utils/test-helpers.ts +3 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/dist/components/server-components-factory.d.ts +0 -39
- package/dist/components/server-components-factory.d.ts.map +0 -1
- package/dist/components/server-components-factory.js +0 -62
- package/dist/components/server-components-factory.js.map +0 -1
- package/src/components/server-components-factory.ts +0 -86
- package/test/e2e/component-substitution.test.ts +0 -208
- package/test/unit/beads-integration-filename.test.ts +0 -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
|
-
|
|
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
|
-
|
|
159
|
+
assertToolSuccess(first);
|
|
165
160
|
|
|
166
161
|
const second = await client.callTool('whats_next', {
|
|
167
162
|
user_input: 'continue project',
|
|
168
163
|
});
|
|
169
|
-
|
|
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
|
});
|