@specforge/mcp 2.3.0 → 2.5.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.
- package/dist/cli/commands/blueprints.d.ts +6 -0
- package/dist/cli/commands/blueprints.d.ts.map +1 -0
- package/dist/cli/commands/blueprints.js +257 -0
- package/dist/cli/commands/blueprints.js.map +1 -0
- package/dist/cli/commands/blueprints.types.d.ts +55 -0
- package/dist/cli/commands/blueprints.types.d.ts.map +1 -0
- package/dist/cli/commands/blueprints.types.js +3 -0
- package/dist/cli/commands/blueprints.types.js.map +1 -0
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +3 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +60 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/core/blueprint.d.ts +7 -0
- package/dist/tools/core/blueprint.d.ts.map +1 -0
- package/dist/tools/core/blueprint.js +210 -0
- package/dist/tools/core/blueprint.js.map +1 -0
- package/dist/tools/core/specification.js +1 -1
- package/dist/tools/core/specification.js.map +1 -1
- package/dist/tools/core/workflow-guide.d.ts.map +1 -1
- package/dist/tools/core/workflow-guide.js +256 -7
- package/dist/tools/core/workflow-guide.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +15 -0
- package/dist/tools/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
// mcp/src/tools/core/blueprint.ts
|
|
2
|
+
import { createOperationRouter } from './router.js';
|
|
3
|
+
export const blueprintTool = {
|
|
4
|
+
name: 'blueprint',
|
|
5
|
+
description: `Manage specification blueprints (flowcharts, diagrams, mockups, ADRs). Operations:
|
|
6
|
+
- create: Create a new blueprint for a specification
|
|
7
|
+
- get: Get blueprint by ID with full content
|
|
8
|
+
- update: Update blueprint fields
|
|
9
|
+
- list: List blueprints for a specification (with optional category/status filters)
|
|
10
|
+
- delete: Delete a blueprint and all its ticket references
|
|
11
|
+
- link: Link a ticket to a blueprint for implementation context
|
|
12
|
+
- unlink: Remove a ticket-blueprint link
|
|
13
|
+
- get_for_ticket: Get all blueprints linked to a ticket`,
|
|
14
|
+
inputSchema: {
|
|
15
|
+
type: 'object',
|
|
16
|
+
properties: {
|
|
17
|
+
operation: {
|
|
18
|
+
type: 'string',
|
|
19
|
+
enum: ['create', 'get', 'update', 'list', 'delete', 'link', 'unlink', 'get_for_ticket'],
|
|
20
|
+
description: 'The operation to perform',
|
|
21
|
+
},
|
|
22
|
+
// IDs
|
|
23
|
+
blueprintId: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
description: 'Blueprint ID (for get, update, delete, link, unlink)',
|
|
26
|
+
},
|
|
27
|
+
specificationId: {
|
|
28
|
+
type: 'string',
|
|
29
|
+
description: 'Specification ID (for create, list)',
|
|
30
|
+
},
|
|
31
|
+
ticketId: {
|
|
32
|
+
type: 'string',
|
|
33
|
+
description: 'Ticket ID (for link, unlink, get_for_ticket)',
|
|
34
|
+
},
|
|
35
|
+
referenceId: {
|
|
36
|
+
type: 'string',
|
|
37
|
+
description: 'Reference ID (for unlink - alternative to ticketId+blueprintId)',
|
|
38
|
+
},
|
|
39
|
+
// Blueprint fields
|
|
40
|
+
title: {
|
|
41
|
+
type: 'string',
|
|
42
|
+
description: 'Blueprint title',
|
|
43
|
+
},
|
|
44
|
+
description: {
|
|
45
|
+
type: 'string',
|
|
46
|
+
description: 'Blueprint description',
|
|
47
|
+
},
|
|
48
|
+
slug: {
|
|
49
|
+
type: 'string',
|
|
50
|
+
description: 'URL-friendly identifier',
|
|
51
|
+
},
|
|
52
|
+
category: {
|
|
53
|
+
type: 'string',
|
|
54
|
+
enum: ['flowchart', 'architecture', 'state', 'sequence', 'erd', 'mockup', 'adr', 'component', 'deployment', 'api'],
|
|
55
|
+
description: 'Blueprint category type',
|
|
56
|
+
},
|
|
57
|
+
content: {
|
|
58
|
+
type: 'string',
|
|
59
|
+
description: 'The blueprint content (Mermaid syntax, markdown, or ASCII art)',
|
|
60
|
+
},
|
|
61
|
+
format: {
|
|
62
|
+
type: 'string',
|
|
63
|
+
enum: ['markdown', 'mermaid', 'ascii', 'mixed'],
|
|
64
|
+
description: 'Content format (default: mermaid)',
|
|
65
|
+
},
|
|
66
|
+
tags: {
|
|
67
|
+
type: 'array',
|
|
68
|
+
items: { type: 'string' },
|
|
69
|
+
description: 'Categorization tags',
|
|
70
|
+
},
|
|
71
|
+
status: {
|
|
72
|
+
type: 'string',
|
|
73
|
+
enum: ['draft', 'review', 'approved', 'deprecated'],
|
|
74
|
+
description: 'Blueprint status',
|
|
75
|
+
},
|
|
76
|
+
order: {
|
|
77
|
+
type: 'number',
|
|
78
|
+
description: 'Display order within specification',
|
|
79
|
+
},
|
|
80
|
+
version: {
|
|
81
|
+
type: 'string',
|
|
82
|
+
description: 'Semantic version (e.g., "1.0.0")',
|
|
83
|
+
},
|
|
84
|
+
// Reference fields
|
|
85
|
+
context: {
|
|
86
|
+
type: 'string',
|
|
87
|
+
description: 'Why this blueprint is relevant to the ticket (for link)',
|
|
88
|
+
},
|
|
89
|
+
section: {
|
|
90
|
+
type: 'string',
|
|
91
|
+
description: 'Specific section in blueprint relevant to ticket (for link)',
|
|
92
|
+
},
|
|
93
|
+
// Response options
|
|
94
|
+
outputFormat: {
|
|
95
|
+
type: 'string',
|
|
96
|
+
enum: ['json', 'toon'],
|
|
97
|
+
description: 'Output format (default: json)',
|
|
98
|
+
},
|
|
99
|
+
includeContent: {
|
|
100
|
+
type: 'boolean',
|
|
101
|
+
description: 'Include full content in list results (default: false)',
|
|
102
|
+
},
|
|
103
|
+
// Pagination
|
|
104
|
+
limit: {
|
|
105
|
+
type: 'number',
|
|
106
|
+
description: 'Max items to return',
|
|
107
|
+
},
|
|
108
|
+
offset: {
|
|
109
|
+
type: 'number',
|
|
110
|
+
description: 'Number of items to skip',
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
required: ['operation'],
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
function validateRequired(args, ...fields) {
|
|
117
|
+
for (const field of fields) {
|
|
118
|
+
if (args[field] === undefined || args[field] === null || args[field] === '') {
|
|
119
|
+
throw new Error(`${field} is required`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
export function createBlueprintOperations(apiClient) {
|
|
124
|
+
return {
|
|
125
|
+
create: async (args, _userId) => {
|
|
126
|
+
validateRequired(args, 'specificationId', 'title');
|
|
127
|
+
return await apiClient.call('create_blueprint', {
|
|
128
|
+
specificationId: args.specificationId,
|
|
129
|
+
title: args.title,
|
|
130
|
+
description: args.description,
|
|
131
|
+
slug: args.slug,
|
|
132
|
+
category: args.category,
|
|
133
|
+
content: args.content,
|
|
134
|
+
format: args.format,
|
|
135
|
+
tags: args.tags,
|
|
136
|
+
status: args.status,
|
|
137
|
+
version: args.version,
|
|
138
|
+
});
|
|
139
|
+
},
|
|
140
|
+
get: async (args, _userId) => {
|
|
141
|
+
validateRequired(args, 'blueprintId');
|
|
142
|
+
return await apiClient.call('get_blueprint', {
|
|
143
|
+
blueprintId: args.blueprintId,
|
|
144
|
+
});
|
|
145
|
+
},
|
|
146
|
+
update: async (args, _userId) => {
|
|
147
|
+
validateRequired(args, 'blueprintId');
|
|
148
|
+
return await apiClient.call('update_blueprint', {
|
|
149
|
+
blueprintId: args.blueprintId,
|
|
150
|
+
title: args.title,
|
|
151
|
+
description: args.description,
|
|
152
|
+
slug: args.slug,
|
|
153
|
+
category: args.category,
|
|
154
|
+
content: args.content,
|
|
155
|
+
format: args.format,
|
|
156
|
+
tags: args.tags,
|
|
157
|
+
status: args.status,
|
|
158
|
+
order: args.order,
|
|
159
|
+
version: args.version,
|
|
160
|
+
});
|
|
161
|
+
},
|
|
162
|
+
list: async (args, _userId) => {
|
|
163
|
+
validateRequired(args, 'specificationId');
|
|
164
|
+
return await apiClient.call('list_blueprints', {
|
|
165
|
+
specificationId: args.specificationId,
|
|
166
|
+
category: args.category,
|
|
167
|
+
status: args.status,
|
|
168
|
+
limit: args.limit,
|
|
169
|
+
offset: args.offset,
|
|
170
|
+
});
|
|
171
|
+
},
|
|
172
|
+
delete: async (args, _userId) => {
|
|
173
|
+
validateRequired(args, 'blueprintId');
|
|
174
|
+
return await apiClient.call('delete_blueprint', {
|
|
175
|
+
blueprintId: args.blueprintId,
|
|
176
|
+
});
|
|
177
|
+
},
|
|
178
|
+
link: async (args, _userId) => {
|
|
179
|
+
validateRequired(args, 'ticketId', 'blueprintId');
|
|
180
|
+
return await apiClient.call('link_ticket_blueprint', {
|
|
181
|
+
ticketId: args.ticketId,
|
|
182
|
+
blueprintId: args.blueprintId,
|
|
183
|
+
context: args.context,
|
|
184
|
+
section: args.section,
|
|
185
|
+
});
|
|
186
|
+
},
|
|
187
|
+
unlink: async (args, _userId) => {
|
|
188
|
+
// Either referenceId or both ticketId and blueprintId required
|
|
189
|
+
if (!args.referenceId && (!args.ticketId || !args.blueprintId)) {
|
|
190
|
+
throw new Error('Either referenceId or both ticketId and blueprintId are required');
|
|
191
|
+
}
|
|
192
|
+
return await apiClient.call('unlink_ticket_blueprint', {
|
|
193
|
+
referenceId: args.referenceId,
|
|
194
|
+
ticketId: args.ticketId,
|
|
195
|
+
blueprintId: args.blueprintId,
|
|
196
|
+
});
|
|
197
|
+
},
|
|
198
|
+
get_for_ticket: async (args, _userId) => {
|
|
199
|
+
validateRequired(args, 'ticketId');
|
|
200
|
+
return await apiClient.call('get_ticket_blueprints', {
|
|
201
|
+
ticketId: args.ticketId,
|
|
202
|
+
});
|
|
203
|
+
},
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
export function createBlueprintHandler(apiClient) {
|
|
207
|
+
const operations = createBlueprintOperations(apiClient);
|
|
208
|
+
return createOperationRouter('blueprint', operations);
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=blueprint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blueprint.js","sourceRoot":"","sources":["../../../src/tools/core/blueprint.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ export const specificationTool = {
|
|
|
27
27
|
content: { type: 'string', description: 'Full markdown content' },
|
|
28
28
|
background: { type: 'string', description: 'Problem context and why this exists' },
|
|
29
29
|
scope: { type: 'string', description: "What's in/out of scope" },
|
|
30
|
-
status: { type: 'string', enum: ['draft', 'planning', 'ready', 'in_progress', 'completed'] },
|
|
30
|
+
status: { type: 'string', enum: ['draft', 'planning', 'ready', 'in_progress', 'ready_for_review', 'reviewed', 'completed'] },
|
|
31
31
|
priority: { type: 'string', enum: ['high', 'medium', 'low'] },
|
|
32
32
|
tags: { type: 'array', items: { type: 'string' }, description: 'Categorization tags' },
|
|
33
33
|
estimatedHours: { type: 'number', description: 'Total estimated effort' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specification.js","sourceRoot":"","sources":["../../../src/tools/core/specification.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAGtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAIpD,MAAM,CAAC,MAAM,iBAAiB,GAAS;IACrC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE;;;;;4BAKa;IAC1B,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;gBACnD,WAAW,EAAE,0BAA0B;aACxC;YACD,iBAAiB;YACjB,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;YACpE,yBAAyB;YACzB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;YACxD,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;YAC7E,kCAAkC;YAClC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;YAC7D,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;YAC7E,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;YACjE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;YAClF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;YAChE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"specification.js","sourceRoot":"","sources":["../../../src/tools/core/specification.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-guide.d.ts","sourceRoot":"","sources":["../../../src/tools/core/workflow-guide.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAQvD,eAAO,MAAM,iBAAiB,EAAE,IA0B/B,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow-guide.d.ts","sourceRoot":"","sources":["../../../src/tools/core/workflow-guide.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAQvD,eAAO,MAAM,iBAAiB,EAAE,IA0B/B,CAAC;AAonBF,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,GACnB,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAwHlC;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,SAAS,oEAG9D"}
|
|
@@ -41,11 +41,34 @@ function validateRequired(args, ...fields) {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Transform API response to normalized working context
|
|
46
|
+
*/
|
|
47
|
+
function normalizeWorkingContext(response) {
|
|
48
|
+
const context = {
|
|
49
|
+
projectId: response.project?.id,
|
|
50
|
+
specificationId: response.specification?.id,
|
|
51
|
+
epicId: response.epic?.id,
|
|
52
|
+
ticketId: response.ticket?.id,
|
|
53
|
+
};
|
|
54
|
+
// Map implementationSession to activeSession if it's active
|
|
55
|
+
if (response.implementationSession &&
|
|
56
|
+
(response.implementationSession.status === 'active' || response.implementationSession.status === 'paused')) {
|
|
57
|
+
context.activeSession = {
|
|
58
|
+
sessionId: response.implementationSession.id,
|
|
59
|
+
ticketId: response.ticket?.id || '',
|
|
60
|
+
ticketTitle: response.ticket?.title || '',
|
|
61
|
+
startedAt: response.implementationSession.startedAt,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return context;
|
|
65
|
+
}
|
|
44
66
|
/**
|
|
45
67
|
* Determine the current and next step based on context and progress
|
|
46
68
|
*/
|
|
47
69
|
function determineStep(context, progress) {
|
|
48
70
|
const hasActiveSession = context.activeSession != null;
|
|
71
|
+
const hasProject = context.projectId != null;
|
|
49
72
|
const hasSpec = context.specificationId != null;
|
|
50
73
|
const hasEpic = context.epicId != null;
|
|
51
74
|
const hasTicket = context.ticketId != null;
|
|
@@ -63,11 +86,18 @@ function determineStep(context, progress) {
|
|
|
63
86
|
nextStep: 'Continue with session - implement the ticket and complete when done',
|
|
64
87
|
};
|
|
65
88
|
}
|
|
66
|
-
//
|
|
89
|
+
// No project set - need to initialize first
|
|
90
|
+
if (!hasProject) {
|
|
91
|
+
return {
|
|
92
|
+
currentStep: 'no_project',
|
|
93
|
+
nextStep: 'Run `specforge-mcp init` or use context.set to select a project',
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
// Project set but no specification - guide to create one (creation workflow)
|
|
67
97
|
if (!hasSpec) {
|
|
68
98
|
return {
|
|
69
|
-
currentStep: '
|
|
70
|
-
nextStep: 'Create
|
|
99
|
+
currentStep: 'create_specification',
|
|
100
|
+
nextStep: 'Create a new specification using spec.create with title and description',
|
|
71
101
|
};
|
|
72
102
|
}
|
|
73
103
|
if (!progress) {
|
|
@@ -114,13 +144,205 @@ function determineStep(context, progress) {
|
|
|
114
144
|
nextStep: 'Check workflow status and context',
|
|
115
145
|
};
|
|
116
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Valid status transitions for specification workflow
|
|
149
|
+
*/
|
|
150
|
+
const VALID_TRANSITIONS = {
|
|
151
|
+
draft: ['planning'],
|
|
152
|
+
planning: ['ready'],
|
|
153
|
+
ready: ['in_progress'],
|
|
154
|
+
in_progress: ['ready_for_review'],
|
|
155
|
+
ready_for_review: ['reviewed', 'in_progress'], // Can go back to in_progress
|
|
156
|
+
reviewed: ['completed', 'ready_for_review'], // Can go back to ready_for_review
|
|
157
|
+
completed: [],
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Validate status transition (warn only, don't block)
|
|
161
|
+
*/
|
|
162
|
+
function validateStatusTransition(currentStatus, newStatus) {
|
|
163
|
+
const allowedNext = VALID_TRANSITIONS[currentStatus] || [];
|
|
164
|
+
if (allowedNext.includes(newStatus)) {
|
|
165
|
+
return { valid: true };
|
|
166
|
+
}
|
|
167
|
+
return {
|
|
168
|
+
valid: true, // Still allow it
|
|
169
|
+
warning: `Non-standard transition from '${currentStatus}' to '${newStatus}'. Expected: ${allowedNext.join(' or ')}`,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Get content completeness check for a specification
|
|
174
|
+
* Checks blueprints, code references, and type references
|
|
175
|
+
*/
|
|
176
|
+
async function getContentCompleteness(apiClient, specificationId, ticketCount) {
|
|
177
|
+
const missingItems = [];
|
|
178
|
+
// Get blueprint count
|
|
179
|
+
let blueprintCount = 0;
|
|
180
|
+
try {
|
|
181
|
+
const blueprints = (await apiClient.call('list_blueprints', { specificationId }));
|
|
182
|
+
blueprintCount = blueprints?.items?.length || 0;
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
// Blueprints API might not be available
|
|
186
|
+
}
|
|
187
|
+
// Get ticket stats (code/type references)
|
|
188
|
+
let withCodeRefs = 0;
|
|
189
|
+
let withTypeRefs = 0;
|
|
190
|
+
try {
|
|
191
|
+
const tickets = (await apiClient.call('list_tickets', {
|
|
192
|
+
specificationId,
|
|
193
|
+
responseMode: 'minimal',
|
|
194
|
+
}));
|
|
195
|
+
for (const ticket of tickets?.items || []) {
|
|
196
|
+
if (ticket.codeReferences) {
|
|
197
|
+
try {
|
|
198
|
+
const refs = JSON.parse(ticket.codeReferences);
|
|
199
|
+
if (Array.isArray(refs) && refs.length > 0)
|
|
200
|
+
withCodeRefs++;
|
|
201
|
+
}
|
|
202
|
+
catch {
|
|
203
|
+
// Invalid JSON, skip
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
if (ticket.typeReferences) {
|
|
207
|
+
try {
|
|
208
|
+
const refs = JSON.parse(ticket.typeReferences);
|
|
209
|
+
if (Array.isArray(refs) && refs.length > 0)
|
|
210
|
+
withTypeRefs++;
|
|
211
|
+
}
|
|
212
|
+
catch {
|
|
213
|
+
// Invalid JSON, skip
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
// Tickets API might fail
|
|
220
|
+
}
|
|
221
|
+
// Check blueprints
|
|
222
|
+
if (blueprintCount === 0) {
|
|
223
|
+
missingItems.push('No blueprints defined - add architecture/flow diagrams');
|
|
224
|
+
}
|
|
225
|
+
// Check code references (at least 50% of tickets should have them)
|
|
226
|
+
const codeRefRatio = ticketCount > 0 ? withCodeRefs / ticketCount : 0;
|
|
227
|
+
if (codeRefRatio < 0.5) {
|
|
228
|
+
missingItems.push(`Only ${withCodeRefs}/${ticketCount} tickets have code snippets`);
|
|
229
|
+
}
|
|
230
|
+
// Check type references (at least 30% of tickets)
|
|
231
|
+
const typeRefRatio = ticketCount > 0 ? withTypeRefs / ticketCount : 0;
|
|
232
|
+
if (typeRefRatio < 0.3) {
|
|
233
|
+
missingItems.push(`Only ${withTypeRefs}/${ticketCount} tickets have type references`);
|
|
234
|
+
}
|
|
235
|
+
return {
|
|
236
|
+
blueprints: { has: blueprintCount > 0, count: blueprintCount },
|
|
237
|
+
codeReferences: {
|
|
238
|
+
has: codeRefRatio >= 0.5,
|
|
239
|
+
ticketsWithRefs: withCodeRefs,
|
|
240
|
+
totalTickets: ticketCount,
|
|
241
|
+
},
|
|
242
|
+
typeReferences: {
|
|
243
|
+
has: typeRefRatio >= 0.3,
|
|
244
|
+
ticketsWithRefs: withTypeRefs,
|
|
245
|
+
totalTickets: ticketCount,
|
|
246
|
+
},
|
|
247
|
+
isComplete: missingItems.length === 0,
|
|
248
|
+
missingItems,
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Determine recommended workflow flow based on specification status and progress
|
|
253
|
+
*/
|
|
254
|
+
function determineRecommendedFlow(context, progress, specStatus, completeness) {
|
|
255
|
+
const hasProject = context.projectId != null;
|
|
256
|
+
const hasSpec = context.specificationId != null;
|
|
257
|
+
// No project - need to init
|
|
258
|
+
if (!hasProject) {
|
|
259
|
+
return null; // No recommendation, need init first
|
|
260
|
+
}
|
|
261
|
+
// No spec or draft - creation flow
|
|
262
|
+
if (!hasSpec || specStatus === 'draft') {
|
|
263
|
+
return {
|
|
264
|
+
flow: 'creation',
|
|
265
|
+
reason: 'Create a specification to define your work.',
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
// Planning phase - creation flow with completeness check
|
|
269
|
+
if (specStatus === 'planning') {
|
|
270
|
+
const hasTickets = progress && progress.tickets.total > 0;
|
|
271
|
+
if (!hasTickets) {
|
|
272
|
+
return {
|
|
273
|
+
flow: 'creation',
|
|
274
|
+
reason: 'Plan and create epics/tickets for the specification.',
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
// Check content completeness before recommending ready
|
|
278
|
+
if (completeness && !completeness.isComplete) {
|
|
279
|
+
return {
|
|
280
|
+
flow: 'creation',
|
|
281
|
+
reason: 'Specification needs more detail before implementation.',
|
|
282
|
+
prerequisites: completeness.missingItems,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
return {
|
|
286
|
+
flow: 'creation',
|
|
287
|
+
reason: 'Planning complete. Content looks good - set status to ready.',
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
// Ready - ready for implementation
|
|
291
|
+
if (specStatus === 'ready') {
|
|
292
|
+
return {
|
|
293
|
+
flow: 'implementation',
|
|
294
|
+
reason: 'Specification ready. Start implementing tickets.',
|
|
295
|
+
prerequisites: ['Set spec status to in_progress when starting'],
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
// In progress - implementation flow
|
|
299
|
+
if (specStatus === 'in_progress') {
|
|
300
|
+
const allDone = progress && progress.tickets.done === progress.tickets.total && progress.tickets.total > 0;
|
|
301
|
+
if (allDone) {
|
|
302
|
+
return {
|
|
303
|
+
flow: 'review',
|
|
304
|
+
reason: 'All tickets done. Move to ready_for_review status.',
|
|
305
|
+
prerequisites: ['Set spec status to ready_for_review'],
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
return {
|
|
309
|
+
flow: 'implementation',
|
|
310
|
+
reason: `${progress ? progress.tickets.total - progress.tickets.done : 'Unknown'} tickets remaining.`,
|
|
311
|
+
prerequisites: progress && progress.tickets.ready === 0 ? ['Resolve blocked tickets'] : undefined,
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
// Ready for review - review flow
|
|
315
|
+
if (specStatus === 'ready_for_review') {
|
|
316
|
+
return {
|
|
317
|
+
flow: 'review',
|
|
318
|
+
reason: 'Review implementation: verify code integration and ticket completion.',
|
|
319
|
+
prerequisites: [
|
|
320
|
+
'Run full test suite',
|
|
321
|
+
'Check all acceptance criteria',
|
|
322
|
+
'Verify documentation',
|
|
323
|
+
],
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
// Reviewed - finalize flow
|
|
327
|
+
if (specStatus === 'reviewed') {
|
|
328
|
+
return {
|
|
329
|
+
flow: 'finalize',
|
|
330
|
+
reason: 'Implementation reviewed. Create PR and complete the specification.',
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
// Completed - done
|
|
334
|
+
if (specStatus === 'completed') {
|
|
335
|
+
return null; // No recommendation, already done
|
|
336
|
+
}
|
|
337
|
+
return null;
|
|
338
|
+
}
|
|
117
339
|
/**
|
|
118
340
|
* Generate actionable next step recommendation
|
|
119
341
|
*/
|
|
120
342
|
function generateNextAction(status) {
|
|
121
343
|
const { currentStep, currentState } = status;
|
|
122
344
|
switch (currentStep) {
|
|
123
|
-
case '
|
|
345
|
+
case 'create_specification':
|
|
124
346
|
return {
|
|
125
347
|
step: 'create_specification',
|
|
126
348
|
reason: 'No specification is selected in the working context',
|
|
@@ -266,13 +488,16 @@ export function createWorkflowGuideOperations(apiClient) {
|
|
|
266
488
|
return workflow;
|
|
267
489
|
},
|
|
268
490
|
status: async (args, _userId) => {
|
|
269
|
-
// Get working context
|
|
270
|
-
const
|
|
491
|
+
// Get working context and normalize the response
|
|
492
|
+
const rawContext = (await apiClient.call('get_working_context', {}));
|
|
493
|
+
const context = normalizeWorkingContext(rawContext);
|
|
271
494
|
// Determine workflow type from context
|
|
272
495
|
const hasActiveSession = context.activeSession != null;
|
|
273
496
|
const workflowType = hasActiveSession ? 'implementation' : 'creation';
|
|
274
|
-
// Get progress if we have a specification
|
|
497
|
+
// Get progress and spec status if we have a specification
|
|
275
498
|
let progress = null;
|
|
499
|
+
let specStatus;
|
|
500
|
+
let completeness = null;
|
|
276
501
|
const specId = args.specificationId || context.specificationId;
|
|
277
502
|
if (specId) {
|
|
278
503
|
try {
|
|
@@ -280,6 +505,7 @@ export function createWorkflowGuideOperations(apiClient) {
|
|
|
280
505
|
specificationId: specId,
|
|
281
506
|
summary: true,
|
|
282
507
|
}));
|
|
508
|
+
specStatus = spec.status;
|
|
283
509
|
progress = {
|
|
284
510
|
epics: {
|
|
285
511
|
total: spec.epicCount ?? 0,
|
|
@@ -292,6 +518,24 @@ export function createWorkflowGuideOperations(apiClient) {
|
|
|
292
518
|
active: spec.activeTicketCount ?? 0,
|
|
293
519
|
},
|
|
294
520
|
};
|
|
521
|
+
// Auto-status update: if all tickets done and status is in_progress, update to ready_for_review
|
|
522
|
+
const allTicketsDone = progress.tickets.done === progress.tickets.total && progress.tickets.total > 0;
|
|
523
|
+
if (specStatus === 'in_progress' && allTicketsDone) {
|
|
524
|
+
try {
|
|
525
|
+
await apiClient.call('update_specification', {
|
|
526
|
+
specificationId: specId,
|
|
527
|
+
status: 'ready_for_review',
|
|
528
|
+
});
|
|
529
|
+
specStatus = 'ready_for_review';
|
|
530
|
+
}
|
|
531
|
+
catch {
|
|
532
|
+
// Failed to auto-update, continue with current status
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
// Fetch completeness data when in planning phase with tickets
|
|
536
|
+
if (specStatus === 'planning' && progress.tickets.total > 0) {
|
|
537
|
+
completeness = await getContentCompleteness(apiClient, specId, progress.tickets.total);
|
|
538
|
+
}
|
|
295
539
|
}
|
|
296
540
|
catch {
|
|
297
541
|
// Specification might not exist yet
|
|
@@ -300,9 +544,14 @@ export function createWorkflowGuideOperations(apiClient) {
|
|
|
300
544
|
}
|
|
301
545
|
// Determine current and next step
|
|
302
546
|
const { currentStep, nextStep } = determineStep(context, progress);
|
|
547
|
+
// Determine recommended flow based on spec status
|
|
548
|
+
const recommendedFlow = determineRecommendedFlow(context, progress, specStatus, completeness);
|
|
303
549
|
return {
|
|
304
550
|
workflow: workflowType,
|
|
551
|
+
recommendedFlow,
|
|
305
552
|
currentState: {
|
|
553
|
+
specificationStatus: specStatus,
|
|
554
|
+
contentCompleteness: completeness,
|
|
306
555
|
activeSession: context.activeSession,
|
|
307
556
|
workingContext: {
|
|
308
557
|
projectId: context.projectId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-guide.js","sourceRoot":"","sources":["../../../src/tools/core/workflow-guide.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-guide.js","sourceRoot":"","sources":["../../../src/tools/core/workflow-guide.ts"],"names":[],"mappings":"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"}
|