@s_s/harmonia 1.0.0 → 1.1.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/README.md +396 -2
- package/build/cli/setup.d.ts +21 -0
- package/build/cli/setup.js +72 -0
- package/build/cli/setup.js.map +1 -0
- package/build/core/dispatch.d.ts +10 -0
- package/build/core/dispatch.js +21 -0
- package/build/core/dispatch.js.map +1 -1
- package/build/core/docs.d.ts +13 -0
- package/build/core/docs.js +32 -0
- package/build/core/docs.js.map +1 -1
- package/build/core/registry.d.ts +1 -1
- package/build/core/registry.js +5 -16
- package/build/core/registry.js.map +1 -1
- package/build/core/schema.d.ts +38 -0
- package/build/core/schema.js +187 -0
- package/build/core/schema.js.map +1 -0
- package/build/core/state.d.ts +11 -1
- package/build/core/state.js +23 -2
- package/build/core/state.js.map +1 -1
- package/build/core/steps.d.ts +34 -0
- package/build/core/steps.js +113 -0
- package/build/core/steps.js.map +1 -0
- package/build/core/types.d.ts +81 -4
- package/build/core/workflow.d.ts +26 -6
- package/build/core/workflow.js +88 -11
- package/build/core/workflow.js.map +1 -1
- package/build/hooks/claude-code.d.ts +20 -0
- package/build/hooks/claude-code.js +218 -0
- package/build/hooks/claude-code.js.map +1 -0
- package/build/hooks/content.d.ts +43 -0
- package/build/hooks/content.js +109 -0
- package/build/hooks/content.js.map +1 -0
- package/build/hooks/install.d.ts +40 -0
- package/build/hooks/install.js +63 -0
- package/build/hooks/install.js.map +1 -0
- package/build/hooks/openclaw.d.ts +24 -0
- package/build/hooks/openclaw.js +219 -0
- package/build/hooks/openclaw.js.map +1 -0
- package/build/hooks/opencode.d.ts +29 -0
- package/build/hooks/opencode.js +226 -0
- package/build/hooks/opencode.js.map +1 -0
- package/build/index.d.ts +4 -7
- package/build/index.js +80 -42
- package/build/index.js.map +1 -1
- package/build/setup/inject.d.ts +13 -17
- package/build/setup/inject.js +34 -92
- package/build/setup/inject.js.map +1 -1
- package/build/setup/templates.d.ts +12 -16
- package/build/setup/templates.js +52 -69
- package/build/setup/templates.js.map +1 -1
- package/build/tools/approve-doc.d.ts +1 -1
- package/build/tools/approve-doc.js +4 -4
- package/build/tools/approve-doc.js.map +1 -1
- package/build/tools/dispatch-role.d.ts +2 -2
- package/build/tools/dispatch-role.js +41 -11
- package/build/tools/dispatch-role.js.map +1 -1
- package/build/tools/doc-tools.d.ts +11 -3
- package/build/tools/doc-tools.js +257 -13
- package/build/tools/doc-tools.js.map +1 -1
- package/build/tools/get-project-status.d.ts +4 -2
- package/build/tools/get-project-status.js +165 -50
- package/build/tools/get-project-status.js.map +1 -1
- package/build/tools/get-role-prompt.d.ts +2 -2
- package/build/tools/get-role-prompt.js +4 -4
- package/build/tools/get-role-prompt.js.map +1 -1
- package/build/tools/override-tools.d.ts +1 -1
- package/build/tools/override-tools.js +4 -4
- package/build/tools/override-tools.js.map +1 -1
- package/build/tools/project-init.d.ts +5 -1
- package/build/tools/project-init.js +92 -32
- package/build/tools/project-init.js.map +1 -1
- package/build/tools/report-dispatch.d.ts +6 -3
- package/build/tools/report-dispatch.js +45 -8
- package/build/tools/report-dispatch.js.map +1 -1
- package/build/tools/set-scale.d.ts +6 -0
- package/build/tools/set-scale.js +92 -0
- package/build/tools/set-scale.js.map +1 -0
- package/build/tools/setup-project.d.ts +1 -1
- package/build/tools/setup-project.js +33 -5
- package/build/tools/setup-project.js.map +1 -1
- package/build/tools/update-phase.d.ts +8 -3
- package/build/tools/update-phase.js +85 -20
- package/build/tools/update-phase.js.map +1 -1
- package/package.json +2 -1
- package/workflows/dev/roles/architect.md +1 -1
- package/workflows/dev/roles/pm.md +5 -5
- package/workflows/dev/roles/tester.md +1 -1
- package/workflows/dev/schemas/api-design.json +25 -0
- package/workflows/dev/schemas/data-model.json +20 -0
- package/workflows/dev/schemas/deploy.json +20 -0
- package/workflows/dev/schemas/fsd.json +25 -0
- package/workflows/dev/schemas/prd.completeness-check.json +24 -0
- package/workflows/dev/schemas/prd.draft.json +15 -0
- package/workflows/dev/schemas/prd.final.json +30 -0
- package/workflows/dev/schemas/prd.json +30 -0
- package/workflows/dev/schemas/prd.requirements.json +25 -0
- package/workflows/dev/schemas/project-plan.json +20 -0
- package/workflows/dev/schemas/prototype.json +4 -0
- package/workflows/dev/schemas/retrospective.json +20 -0
- package/workflows/dev/schemas/risk-assessment.json +15 -0
- package/workflows/dev/schemas/task-breakdown.coarse.json +15 -0
- package/workflows/dev/schemas/task-breakdown.dependencies.json +20 -0
- package/workflows/dev/schemas/task-breakdown.detailed.json +10 -0
- package/workflows/dev/schemas/task-breakdown.final.json +10 -0
- package/workflows/dev/schemas/task-breakdown.json +10 -0
- package/workflows/dev/schemas/tech-design.analysis.json +25 -0
- package/workflows/dev/schemas/tech-design.api-contract.json +20 -0
- package/workflows/dev/schemas/tech-design.draft.json +15 -0
- package/workflows/dev/schemas/tech-design.final.json +30 -0
- package/workflows/dev/schemas/tech-design.json +30 -0
- package/workflows/dev/schemas/test-plan.json +20 -0
- package/workflows/dev/schemas/test-report.json +25 -0
- package/workflows/dev/schemas/user-stories.json +10 -0
- package/workflows/dev/workflow.json +85 -5
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP Tool:
|
|
2
|
+
* MCP Tool: project_status
|
|
3
3
|
* Read the current project status with rich context for PM decision-making.
|
|
4
4
|
* Includes phase progress, documents, pending reviews, dispatch records,
|
|
5
5
|
* active sessions, and intelligent next-step suggestions.
|
|
6
|
+
*
|
|
7
|
+
* When called without project_name, returns a summary list of all projects.
|
|
6
8
|
*/
|
|
7
9
|
import { z } from 'zod';
|
|
8
10
|
import { readState } from '../core/state.js';
|
|
@@ -11,6 +13,8 @@ import { listDocs } from '../core/docs.js';
|
|
|
11
13
|
import { readReviews } from '../core/reviews.js';
|
|
12
14
|
import { getMergedOverrides } from '../core/overrides.js';
|
|
13
15
|
import { readDispatches, readSessions } from '../core/dispatch.js';
|
|
16
|
+
import { readSteps, getCompletedStepIds } from '../core/steps.js';
|
|
17
|
+
import { listProjects } from '../core/registry.js';
|
|
14
18
|
/**
|
|
15
19
|
* Derive next-step suggestions based on current project state, including dispatch awareness.
|
|
16
20
|
*/
|
|
@@ -19,10 +23,16 @@ function deriveNextSteps(state, wf, existingDocs, pendingReviews, dispatches, se
|
|
|
19
23
|
const currentPhaseDef = wf.definition.phases.find((p) => p.id === state.currentPhase);
|
|
20
24
|
if (!currentPhaseDef)
|
|
21
25
|
return ['Unknown phase — check project state.'];
|
|
26
|
+
// If scale is not set, that's the most important next step
|
|
27
|
+
if (state.scale === null) {
|
|
28
|
+
// Check if PRD exists and is approved
|
|
29
|
+
const hasPrdApproved = pendingReviews.length === 0; // simplified check
|
|
30
|
+
suggestions.push(`项目规模 (scale) 尚未设定。请先完成 PRD 编写和审批,然后调用 project_set_scale 设定规模。`);
|
|
31
|
+
}
|
|
22
32
|
// If there are pending reviews, those block progress
|
|
23
33
|
if (pendingReviews.length > 0) {
|
|
24
34
|
const docNames = pendingReviews.map((r) => r.docId).join(', ');
|
|
25
|
-
suggestions.push(`Review pending documents: ${docNames}. Present them to the user and call
|
|
35
|
+
suggestions.push(`Review pending documents: ${docNames}. Present them to the user and call doc_approve after user feedback.`);
|
|
26
36
|
}
|
|
27
37
|
// Check dispatch states — find dispatches that need attention
|
|
28
38
|
const activeDispatches = dispatches.filter((d) => d.status === 'dispatched' || d.status === 'running');
|
|
@@ -31,48 +41,48 @@ function deriveNextSteps(state, wf, existingDocs, pendingReviews, dispatches, se
|
|
|
31
41
|
const failedDispatches = dispatches.filter((d) => d.status === 'failed');
|
|
32
42
|
if (dispatchedNotRunning.length > 0) {
|
|
33
43
|
for (const d of dispatchedNotRunning) {
|
|
34
|
-
suggestions.push(`Dispatch ${d.id} (${d.role}) is created but not yet launched. Launch the agent and call
|
|
44
|
+
suggestions.push(`Dispatch ${d.id} (${d.role}) is created but not yet launched. Launch the agent and call dispatch_report to register it.`);
|
|
35
45
|
}
|
|
36
46
|
}
|
|
37
47
|
if (runningDispatches.length > 0) {
|
|
38
48
|
for (const d of runningDispatches) {
|
|
39
49
|
const session = sessions.find((s) => s.id === d.sessionId);
|
|
40
50
|
const agentInfo = session?.agentSessionId ? ` (agent session: ${session.agentSessionId})` : '';
|
|
41
|
-
suggestions.push(`Dispatch ${d.id} (${d.role}) is running${agentInfo}. Check if the agent has finished, then call
|
|
51
|
+
suggestions.push(`Dispatch ${d.id} (${d.role}) is running${agentInfo}. Check if the agent has finished, then call dispatch_report with status="completed" or "failed".`);
|
|
42
52
|
}
|
|
43
53
|
}
|
|
44
54
|
if (failedDispatches.length > 0) {
|
|
45
55
|
for (const d of failedDispatches) {
|
|
46
56
|
const reason = d.note ? ` Reason: ${d.note}` : '';
|
|
47
|
-
suggestions.push(`Dispatch ${d.id} (${d.role}) failed.${reason} Consider re-dispatching with
|
|
57
|
+
suggestions.push(`Dispatch ${d.id} (${d.role}) failed.${reason} Consider re-dispatching with role_dispatch.`);
|
|
48
58
|
}
|
|
49
59
|
}
|
|
50
|
-
// Check which phase outputs are still missing
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
60
|
+
// Check which phase outputs are still missing (only when scale is set)
|
|
61
|
+
if (state.scale !== null) {
|
|
62
|
+
const scale = state.scale;
|
|
63
|
+
const missingOutputs = currentPhaseDef.outputs.filter((o) => {
|
|
64
|
+
const docDef = wf.definition.docs[o];
|
|
65
|
+
if (docDef?.external)
|
|
66
|
+
return false;
|
|
67
|
+
const scaleVal = docDef?.scale[scale];
|
|
68
|
+
if (scaleVal === 'skip' || scaleVal === 'optional')
|
|
69
|
+
return false;
|
|
70
|
+
return !existingDocs.includes(o);
|
|
71
|
+
});
|
|
72
|
+
if (missingOutputs.length > 0) {
|
|
73
|
+
const alreadyDispatched = activeDispatches.length > 0;
|
|
74
|
+
const nonPmRoles = currentPhaseDef.roles.filter((r) => r !== 'pm');
|
|
75
|
+
if (nonPmRoles.length > 0 && !alreadyDispatched) {
|
|
76
|
+
suggestions.push(`Dispatch ${nonPmRoles.join(', ')} to produce: ${missingOutputs.join(', ')}. Use role_dispatch to prepare task data.`);
|
|
77
|
+
}
|
|
78
|
+
else if (nonPmRoles.length === 0) {
|
|
79
|
+
suggestions.push(`Produce remaining documents: ${missingOutputs.join(', ')}. Use doc_write for each.`);
|
|
80
|
+
}
|
|
67
81
|
}
|
|
68
|
-
else if (
|
|
69
|
-
suggestions.push(`
|
|
82
|
+
else if (pendingReviews.length === 0 && activeDispatches.length === 0) {
|
|
83
|
+
suggestions.push(`All outputs for "${currentPhaseDef.name}" are complete. Advance with: phase_update(project_name, "${state.currentPhase}", "completed")`);
|
|
70
84
|
}
|
|
71
85
|
}
|
|
72
|
-
else if (pendingReviews.length === 0 && activeDispatches.length === 0) {
|
|
73
|
-
// All outputs exist, no pending reviews, no active dispatches — can advance
|
|
74
|
-
suggestions.push(`All outputs for "${currentPhaseDef.name}" are complete. Advance with: update_phase(project_name, "${state.currentPhase}", "completed")`);
|
|
75
|
-
}
|
|
76
86
|
// Check for lost sessions
|
|
77
87
|
const lostSessions = sessions.filter((s) => s.status === 'lost');
|
|
78
88
|
if (lostSessions.length > 0) {
|
|
@@ -80,7 +90,6 @@ function deriveNextSteps(state, wf, existingDocs, pendingReviews, dispatches, se
|
|
|
80
90
|
suggestions.push(`Session ${s.id} (${s.role}) is marked as lost. The agent may have crashed. Consider re-dispatching this role.`);
|
|
81
91
|
}
|
|
82
92
|
}
|
|
83
|
-
// If no suggestions yet, provide a generic one
|
|
84
93
|
if (suggestions.length === 0) {
|
|
85
94
|
suggestions.push(`Continue working on the "${currentPhaseDef.name}" phase.`);
|
|
86
95
|
}
|
|
@@ -114,18 +123,94 @@ function formatSession(s) {
|
|
|
114
123
|
const agentType = s.agentType ? ` via ${s.agentType}` : '';
|
|
115
124
|
return ` ${s.id} ${s.role.padEnd(12)} [${s.status}] ${agentInfo}${agentType}${label}`;
|
|
116
125
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
126
|
+
/** Scales that activate sequential mode */
|
|
127
|
+
const SEQUENTIAL_SCALES = new Set(['medium', 'large']);
|
|
128
|
+
/**
|
|
129
|
+
* Format step progress for a sequential document.
|
|
130
|
+
* Returns lines like:
|
|
131
|
+
* Steps: [✓] 需求结构化 → [✓] 完整性校验 → [→] PRD 文档草稿 → [ ] PRD 最终版
|
|
132
|
+
*/
|
|
133
|
+
function formatStepProgress(docDef, stepState) {
|
|
134
|
+
const steps = docDef.steps;
|
|
135
|
+
const completedIds = stepState ? getCompletedStepIds(stepState) : new Set();
|
|
136
|
+
const finalized = stepState?.finalized ?? false;
|
|
137
|
+
if (finalized) {
|
|
138
|
+
return ` Steps: all completed ✓ (finalized)`;
|
|
139
|
+
}
|
|
140
|
+
let firstIncomplete = steps.length;
|
|
141
|
+
for (let i = 0; i < steps.length; i++) {
|
|
142
|
+
if (!completedIds.has(steps[i].id)) {
|
|
143
|
+
firstIncomplete = i;
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
const parts = steps.map((s, i) => {
|
|
148
|
+
if (completedIds.has(s.id))
|
|
149
|
+
return `[✓] ${s.name}`;
|
|
150
|
+
if (i === firstIncomplete)
|
|
151
|
+
return `[→] ${s.name}`;
|
|
152
|
+
return `[ ] ${s.name}`;
|
|
153
|
+
});
|
|
154
|
+
return ` Steps: ${parts.join(' → ')}`;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Build the project list summary (when project_name is not provided).
|
|
158
|
+
*/
|
|
159
|
+
async function buildProjectList() {
|
|
160
|
+
const projectNames = await listProjects();
|
|
161
|
+
if (projectNames.length === 0) {
|
|
162
|
+
return [
|
|
163
|
+
'# Harmonia Projects',
|
|
164
|
+
'',
|
|
165
|
+
'(无已注册项目)',
|
|
166
|
+
'',
|
|
167
|
+
'使用 project_init(project_name, project_dir) 创建新项目。',
|
|
168
|
+
].join('\n');
|
|
169
|
+
}
|
|
170
|
+
const rows = [];
|
|
171
|
+
for (const name of projectNames) {
|
|
172
|
+
try {
|
|
173
|
+
const state = await readState(name);
|
|
174
|
+
const scaleDisplay = state.scale ?? '(未设定)';
|
|
175
|
+
const updated = state.updatedAt.split('T')[0];
|
|
176
|
+
rows.push(`| ${name} | ${state.projectDir} | ${state.currentPhase} | ${scaleDisplay} | ${updated} |`);
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
rows.push(`| ${name} | (无法读取状态) | - | - | - |`);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return [
|
|
183
|
+
'# Harmonia Projects',
|
|
184
|
+
'',
|
|
185
|
+
`共 ${projectNames.length} 个项目:`,
|
|
186
|
+
'',
|
|
187
|
+
'| 项目 | 目录 | 阶段 | 规模 | 更新时间 |',
|
|
188
|
+
'|------|------|------|------|----------|',
|
|
189
|
+
...rows,
|
|
190
|
+
'',
|
|
191
|
+
'使用 project_status(project_name) 查看项目详情。',
|
|
192
|
+
].join('\n');
|
|
193
|
+
}
|
|
194
|
+
export function registerGetProjectStatus(server, builtinDir, customDir) {
|
|
195
|
+
server.tool('project_status', '查看项目状态。不传 project_name 则返回所有项目的摘要列表;传入 project_name 则返回该项目的详细状态(阶段、文档、dispatch、session、下一步建议)。', {
|
|
196
|
+
project_name: z.string().optional().describe('项目名称。不传则返回所有项目的摘要列表。'),
|
|
120
197
|
}, async ({ project_name }) => {
|
|
198
|
+
// List mode — no project_name
|
|
199
|
+
if (!project_name) {
|
|
200
|
+
const text = await buildProjectList();
|
|
201
|
+
return { content: [{ type: 'text', text }] };
|
|
202
|
+
}
|
|
203
|
+
// Detail mode — specific project
|
|
121
204
|
try {
|
|
122
205
|
const state = await readState(project_name);
|
|
123
|
-
const wf = await loadWorkflow(
|
|
206
|
+
const wf = await loadWorkflow(builtinDir, customDir, state.workflow);
|
|
124
207
|
const docs = await listDocs(project_name);
|
|
125
208
|
const reviews = await readReviews(project_name);
|
|
126
209
|
const overrides = await getMergedOverrides(project_name);
|
|
127
210
|
const dispatches = await readDispatches(project_name);
|
|
128
211
|
const sessions = await readSessions(project_name);
|
|
212
|
+
const stepsData = await readSteps(project_name);
|
|
213
|
+
const scaleDisplay = state.scale ?? '(未设定)';
|
|
129
214
|
// Phase summary
|
|
130
215
|
const phasesSummary = state.phases
|
|
131
216
|
.map((p) => {
|
|
@@ -144,22 +229,61 @@ export function registerGetProjectStatus(server, workflowsDir) {
|
|
|
144
229
|
.map((r) => `- ${r.docId} (submitted: ${r.submittedAt.split('T')[0]})`)
|
|
145
230
|
.join('\n')
|
|
146
231
|
: '(none)';
|
|
147
|
-
// Build documents section with status
|
|
232
|
+
// Build documents section with status and step progress
|
|
148
233
|
const docsSection = docs.length > 0
|
|
149
234
|
? docs
|
|
150
235
|
.map((d) => {
|
|
151
236
|
const review = reviews[d];
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
237
|
+
const reviewTag = review ? ` [${review.status}]` : '';
|
|
238
|
+
const docDef = wf.definition.docs[d];
|
|
239
|
+
const hasSteps = docDef?.steps?.length &&
|
|
240
|
+
state.scale !== null &&
|
|
241
|
+
SEQUENTIAL_SCALES.has(state.scale);
|
|
242
|
+
let line = `- ${d}${reviewTag}`;
|
|
243
|
+
if (hasSteps) {
|
|
244
|
+
line += '\n' + formatStepProgress(docDef, stepsData[d]);
|
|
245
|
+
}
|
|
246
|
+
return line;
|
|
155
247
|
})
|
|
156
248
|
.join('\n')
|
|
157
249
|
: '(none yet)';
|
|
250
|
+
// Show step progress for docs not yet written but with active steps
|
|
251
|
+
const inProgressStepDocs = Object.keys(stepsData).filter((docId) => !docs.includes(docId));
|
|
252
|
+
const inProgressSection = inProgressStepDocs
|
|
253
|
+
.map((docId) => {
|
|
254
|
+
const docDef = wf.definition.docs[docId];
|
|
255
|
+
if (!docDef?.steps?.length)
|
|
256
|
+
return null;
|
|
257
|
+
const stepState = stepsData[docId];
|
|
258
|
+
const completedCount = stepState?.completedSteps.length ?? 0;
|
|
259
|
+
if (completedCount === 0)
|
|
260
|
+
return null;
|
|
261
|
+
return (`- ${docId} (in progress, ${completedCount}/${docDef.steps.length} steps)\n` +
|
|
262
|
+
formatStepProgress(docDef, stepState));
|
|
263
|
+
})
|
|
264
|
+
.filter(Boolean)
|
|
265
|
+
.join('\n');
|
|
158
266
|
// Build sessions section
|
|
159
267
|
const activeSessions = sessions.filter((s) => s.status !== 'closed');
|
|
160
268
|
const sessionsSection = activeSessions.length > 0 ? activeSessions.map((s) => formatSession(s)).join('\n') : '(none)';
|
|
161
269
|
// Build dispatches section
|
|
162
270
|
const dispatchesSection = dispatches.length > 0 ? dispatches.map((d) => formatDispatch(d, sessions)).join('\n') : '(none)';
|
|
271
|
+
// Expected outputs — only when scale is set
|
|
272
|
+
let expectedOutputsLine = '';
|
|
273
|
+
if (currentPhaseDef?.outputs && state.scale !== null) {
|
|
274
|
+
const scale = state.scale;
|
|
275
|
+
const filtered = currentPhaseDef.outputs.filter((o) => {
|
|
276
|
+
const d = wf.definition.docs[o];
|
|
277
|
+
if (!d)
|
|
278
|
+
return true;
|
|
279
|
+
const sv = d.scale[scale];
|
|
280
|
+
return sv !== 'skip' && sv !== 'optional';
|
|
281
|
+
});
|
|
282
|
+
expectedOutputsLine = `Expected outputs: ${filtered.join(', ')}`;
|
|
283
|
+
}
|
|
284
|
+
else if (currentPhaseDef?.outputs) {
|
|
285
|
+
expectedOutputsLine = `Expected outputs: (需先设定 scale 才能确定)`;
|
|
286
|
+
}
|
|
163
287
|
// Derive next steps (now dispatch-aware)
|
|
164
288
|
const nextSteps = deriveNextSteps(state, wf, docs, pendingReviews, dispatches, sessions);
|
|
165
289
|
return {
|
|
@@ -171,7 +295,7 @@ export function registerGetProjectStatus(server, workflowsDir) {
|
|
|
171
295
|
``,
|
|
172
296
|
`Source directory: ${state.projectDir}`,
|
|
173
297
|
`Workflow: ${state.workflow}`,
|
|
174
|
-
`Scale: ${
|
|
298
|
+
`Scale: ${scaleDisplay}`,
|
|
175
299
|
`Created: ${state.createdAt}`,
|
|
176
300
|
`Updated: ${state.updatedAt}`,
|
|
177
301
|
``,
|
|
@@ -183,17 +307,7 @@ export function registerGetProjectStatus(server, workflowsDir) {
|
|
|
183
307
|
? `${currentPhaseDef.name} (${currentPhaseDef.id}): ${currentPhaseDef.description}`
|
|
184
308
|
: 'Unknown',
|
|
185
309
|
currentPhaseDef?.roles ? `Roles: ${currentPhaseDef.roles.join(', ')}` : '',
|
|
186
|
-
|
|
187
|
-
? `Expected outputs: ${currentPhaseDef.outputs
|
|
188
|
-
.filter((o) => {
|
|
189
|
-
const d = wf.definition.docs[o];
|
|
190
|
-
if (!d)
|
|
191
|
-
return true;
|
|
192
|
-
const sv = d.scale[state.scale];
|
|
193
|
-
return sv !== 'skip' && sv !== 'optional';
|
|
194
|
-
})
|
|
195
|
-
.join(', ')}`
|
|
196
|
-
: '',
|
|
310
|
+
expectedOutputsLine,
|
|
197
311
|
``,
|
|
198
312
|
`## Sessions`,
|
|
199
313
|
sessionsSection,
|
|
@@ -206,6 +320,7 @@ export function registerGetProjectStatus(server, workflowsDir) {
|
|
|
206
320
|
``,
|
|
207
321
|
`## Documents`,
|
|
208
322
|
docsSection,
|
|
323
|
+
...(inProgressSection ? [``, `## In-Progress Steps`, inProgressSection] : []),
|
|
209
324
|
``,
|
|
210
325
|
`## Next Steps`,
|
|
211
326
|
nextSteps.map((s, i) => `${i + 1}. ${s}`).join('\n'),
|
|
@@ -219,7 +334,7 @@ export function registerGetProjectStatus(server, workflowsDir) {
|
|
|
219
334
|
content: [
|
|
220
335
|
{
|
|
221
336
|
type: 'text',
|
|
222
|
-
text:
|
|
337
|
+
text: `项目 "${project_name}" 未找到。使用 project_status() 查看所有项目,或 project_init 创建新项目。`,
|
|
223
338
|
},
|
|
224
339
|
],
|
|
225
340
|
isError: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-project-status.js","sourceRoot":"","sources":["../../src/tools/get-project-status.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"get-project-status.js","sourceRoot":"","sources":["../../src/tools/get-project-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP Tool:
|
|
2
|
+
* MCP Tool: role_prompt
|
|
3
3
|
* Retrieve the prompt and configuration for a specific role,
|
|
4
4
|
* with capability overrides injected into the prompt.
|
|
5
5
|
*/
|
|
6
6
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
7
|
-
export declare function registerGetRolePrompt(server: McpServer,
|
|
7
|
+
export declare function registerGetRolePrompt(server: McpServer, builtinDir: string, customDir: string): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP Tool:
|
|
2
|
+
* MCP Tool: role_prompt
|
|
3
3
|
* Retrieve the prompt and configuration for a specific role,
|
|
4
4
|
* with capability overrides injected into the prompt.
|
|
5
5
|
*/
|
|
@@ -41,8 +41,8 @@ function buildOverridePromptSection(roleId, overrides) {
|
|
|
41
41
|
}
|
|
42
42
|
return lines.join('\n');
|
|
43
43
|
}
|
|
44
|
-
export function registerGetRolePrompt(server,
|
|
45
|
-
server.tool('
|
|
44
|
+
export function registerGetRolePrompt(server, builtinDir, customDir) {
|
|
45
|
+
server.tool('role_prompt', "Get the system prompt and configuration for a specific role in the workflow. Includes any capability overrides configured at global or project level. Use this to understand what a role does or to set up an agent with the role's prompt.", {
|
|
46
46
|
workflow: z.string().default('dev').describe('Workflow name (default: dev)'),
|
|
47
47
|
role: z.string().describe('Role ID (e.g. pm, architect, developer, tester)'),
|
|
48
48
|
project_name: z
|
|
@@ -50,7 +50,7 @@ export function registerGetRolePrompt(server, workflowsDir) {
|
|
|
50
50
|
.optional()
|
|
51
51
|
.describe('Project name — if provided, includes project-specific capability overrides in the prompt'),
|
|
52
52
|
}, async ({ workflow: workflowName, role, project_name }) => {
|
|
53
|
-
const wf = await loadWorkflow(
|
|
53
|
+
const wf = await loadWorkflow(builtinDir, customDir, workflowName);
|
|
54
54
|
const roleDef = wf.roles[role];
|
|
55
55
|
if (!roleDef) {
|
|
56
56
|
const available = Object.keys(wf.roles).join(', ');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-role-prompt.js","sourceRoot":"","sources":["../../src/tools/get-role-prompt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAA6B,MAAM,sBAAsB,CAAC;AAGrF;;GAEG;AACH,SAAS,0BAA0B,CAAC,MAAc,EAAE,SAAyB;IACzE,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC9D,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAa;QACpB,EAAE;QACF,0BAA0B;QAC1B,EAAE;QACF,wEAAwE;QACxE,qFAAqF;QACrF,EAAE;KACL,CAAC;IAEF,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5D,MAAM,CAAC,GAAG,QAA8B,CAAC;QACzC,MAAM,OAAO,GACT,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM;YACxB,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,qBAAqB,CAAC,CAAC,IAAI,SAAS;YACnD,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC;QAErC,IAAI,WAAW,GAAG,OAAO,KAAK,WAAW,OAAO,EAAE,CAAC;QAEnD,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;iBACpC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7C,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,WAAW,IAAI,2BAA2B,QAAQ,EAAE,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACV,WAAW,IAAI,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;QACxC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"get-role-prompt.js","sourceRoot":"","sources":["../../src/tools/get-role-prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP Tools:
|
|
2
|
+
* MCP Tools: guard_set / review_set_rule / guard_get
|
|
3
3
|
* Manage capability overrides and review settings.
|
|
4
4
|
*/
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import { setCapabilityOverride, setReviewOverride, getMergedOverrides, readGlobalOverrides, readProjectOverrides, } from '../core/overrides.js';
|
|
7
7
|
export function registerOverrideTools(server) {
|
|
8
|
-
server.tool('
|
|
8
|
+
server.tool('guard_set', 'Configure a role capability to use an external skill or MCP tool instead of the built-in behavior. Settings are saved to the override config file.', {
|
|
9
9
|
scope: z.enum(['global', 'project']).describe('Override scope: global (all projects) or project-specific'),
|
|
10
10
|
project_name: z.string().optional().describe("Project name (required when scope is 'project')"),
|
|
11
11
|
role_id: z.string().describe('Role ID (e.g. pm, architect, developer, tester)'),
|
|
@@ -47,7 +47,7 @@ export function registerOverrideTools(server) {
|
|
|
47
47
|
],
|
|
48
48
|
};
|
|
49
49
|
});
|
|
50
|
-
server.tool('
|
|
50
|
+
server.tool('review_set_rule', 'Enable or disable review requirement for a specific document type.', {
|
|
51
51
|
scope: z.enum(['global', 'project']).describe('Override scope: global or project-specific'),
|
|
52
52
|
project_name: z.string().optional().describe("Project name (required when scope is 'project')"),
|
|
53
53
|
doc_id: z.string().describe('Document ID (e.g. prd, prototype)'),
|
|
@@ -74,7 +74,7 @@ export function registerOverrideTools(server) {
|
|
|
74
74
|
],
|
|
75
75
|
};
|
|
76
76
|
});
|
|
77
|
-
server.tool('
|
|
77
|
+
server.tool('guard_get', 'Get the current override configuration. Shows the merged result (project + global) or a specific scope.', {
|
|
78
78
|
project_name: z
|
|
79
79
|
.string()
|
|
80
80
|
.optional()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"override-tools.js","sourceRoot":"","sources":["../../src/tools/override-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACH,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACvB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACnD,MAAM,CAAC,IAAI,CACP,
|
|
1
|
+
{"version":3,"file":"override-tools.js","sourceRoot":"","sources":["../../src/tools/override-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP Tool: project_init
|
|
3
3
|
* Initialize a new Harmonia project with global registry and data directory.
|
|
4
|
+
*
|
|
5
|
+
* Supports an optional `workflow` parameter. When multiple workflows are
|
|
6
|
+
* available and none is specified, returns an error with the available list
|
|
7
|
+
* so the agent can re-call with a specific choice.
|
|
4
8
|
*/
|
|
5
9
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
|
-
export declare function registerProjectInit(server: McpServer,
|
|
10
|
+
export declare function registerProjectInit(server: McpServer, builtinDir: string, customDir: string): void;
|