@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.
Files changed (114) hide show
  1. package/README.md +396 -2
  2. package/build/cli/setup.d.ts +21 -0
  3. package/build/cli/setup.js +72 -0
  4. package/build/cli/setup.js.map +1 -0
  5. package/build/core/dispatch.d.ts +10 -0
  6. package/build/core/dispatch.js +21 -0
  7. package/build/core/dispatch.js.map +1 -1
  8. package/build/core/docs.d.ts +13 -0
  9. package/build/core/docs.js +32 -0
  10. package/build/core/docs.js.map +1 -1
  11. package/build/core/registry.d.ts +1 -1
  12. package/build/core/registry.js +5 -16
  13. package/build/core/registry.js.map +1 -1
  14. package/build/core/schema.d.ts +38 -0
  15. package/build/core/schema.js +187 -0
  16. package/build/core/schema.js.map +1 -0
  17. package/build/core/state.d.ts +11 -1
  18. package/build/core/state.js +23 -2
  19. package/build/core/state.js.map +1 -1
  20. package/build/core/steps.d.ts +34 -0
  21. package/build/core/steps.js +113 -0
  22. package/build/core/steps.js.map +1 -0
  23. package/build/core/types.d.ts +81 -4
  24. package/build/core/workflow.d.ts +26 -6
  25. package/build/core/workflow.js +88 -11
  26. package/build/core/workflow.js.map +1 -1
  27. package/build/hooks/claude-code.d.ts +20 -0
  28. package/build/hooks/claude-code.js +218 -0
  29. package/build/hooks/claude-code.js.map +1 -0
  30. package/build/hooks/content.d.ts +43 -0
  31. package/build/hooks/content.js +109 -0
  32. package/build/hooks/content.js.map +1 -0
  33. package/build/hooks/install.d.ts +40 -0
  34. package/build/hooks/install.js +63 -0
  35. package/build/hooks/install.js.map +1 -0
  36. package/build/hooks/openclaw.d.ts +24 -0
  37. package/build/hooks/openclaw.js +219 -0
  38. package/build/hooks/openclaw.js.map +1 -0
  39. package/build/hooks/opencode.d.ts +29 -0
  40. package/build/hooks/opencode.js +226 -0
  41. package/build/hooks/opencode.js.map +1 -0
  42. package/build/index.d.ts +4 -7
  43. package/build/index.js +80 -42
  44. package/build/index.js.map +1 -1
  45. package/build/setup/inject.d.ts +13 -17
  46. package/build/setup/inject.js +34 -92
  47. package/build/setup/inject.js.map +1 -1
  48. package/build/setup/templates.d.ts +12 -16
  49. package/build/setup/templates.js +52 -69
  50. package/build/setup/templates.js.map +1 -1
  51. package/build/tools/approve-doc.d.ts +1 -1
  52. package/build/tools/approve-doc.js +4 -4
  53. package/build/tools/approve-doc.js.map +1 -1
  54. package/build/tools/dispatch-role.d.ts +2 -2
  55. package/build/tools/dispatch-role.js +41 -11
  56. package/build/tools/dispatch-role.js.map +1 -1
  57. package/build/tools/doc-tools.d.ts +11 -3
  58. package/build/tools/doc-tools.js +257 -13
  59. package/build/tools/doc-tools.js.map +1 -1
  60. package/build/tools/get-project-status.d.ts +4 -2
  61. package/build/tools/get-project-status.js +165 -50
  62. package/build/tools/get-project-status.js.map +1 -1
  63. package/build/tools/get-role-prompt.d.ts +2 -2
  64. package/build/tools/get-role-prompt.js +4 -4
  65. package/build/tools/get-role-prompt.js.map +1 -1
  66. package/build/tools/override-tools.d.ts +1 -1
  67. package/build/tools/override-tools.js +4 -4
  68. package/build/tools/override-tools.js.map +1 -1
  69. package/build/tools/project-init.d.ts +5 -1
  70. package/build/tools/project-init.js +92 -32
  71. package/build/tools/project-init.js.map +1 -1
  72. package/build/tools/report-dispatch.d.ts +6 -3
  73. package/build/tools/report-dispatch.js +45 -8
  74. package/build/tools/report-dispatch.js.map +1 -1
  75. package/build/tools/set-scale.d.ts +6 -0
  76. package/build/tools/set-scale.js +92 -0
  77. package/build/tools/set-scale.js.map +1 -0
  78. package/build/tools/setup-project.d.ts +1 -1
  79. package/build/tools/setup-project.js +33 -5
  80. package/build/tools/setup-project.js.map +1 -1
  81. package/build/tools/update-phase.d.ts +8 -3
  82. package/build/tools/update-phase.js +85 -20
  83. package/build/tools/update-phase.js.map +1 -1
  84. package/package.json +2 -1
  85. package/workflows/dev/roles/architect.md +1 -1
  86. package/workflows/dev/roles/pm.md +5 -5
  87. package/workflows/dev/roles/tester.md +1 -1
  88. package/workflows/dev/schemas/api-design.json +25 -0
  89. package/workflows/dev/schemas/data-model.json +20 -0
  90. package/workflows/dev/schemas/deploy.json +20 -0
  91. package/workflows/dev/schemas/fsd.json +25 -0
  92. package/workflows/dev/schemas/prd.completeness-check.json +24 -0
  93. package/workflows/dev/schemas/prd.draft.json +15 -0
  94. package/workflows/dev/schemas/prd.final.json +30 -0
  95. package/workflows/dev/schemas/prd.json +30 -0
  96. package/workflows/dev/schemas/prd.requirements.json +25 -0
  97. package/workflows/dev/schemas/project-plan.json +20 -0
  98. package/workflows/dev/schemas/prototype.json +4 -0
  99. package/workflows/dev/schemas/retrospective.json +20 -0
  100. package/workflows/dev/schemas/risk-assessment.json +15 -0
  101. package/workflows/dev/schemas/task-breakdown.coarse.json +15 -0
  102. package/workflows/dev/schemas/task-breakdown.dependencies.json +20 -0
  103. package/workflows/dev/schemas/task-breakdown.detailed.json +10 -0
  104. package/workflows/dev/schemas/task-breakdown.final.json +10 -0
  105. package/workflows/dev/schemas/task-breakdown.json +10 -0
  106. package/workflows/dev/schemas/tech-design.analysis.json +25 -0
  107. package/workflows/dev/schemas/tech-design.api-contract.json +20 -0
  108. package/workflows/dev/schemas/tech-design.draft.json +15 -0
  109. package/workflows/dev/schemas/tech-design.final.json +30 -0
  110. package/workflows/dev/schemas/tech-design.json +30 -0
  111. package/workflows/dev/schemas/test-plan.json +20 -0
  112. package/workflows/dev/schemas/test-report.json +25 -0
  113. package/workflows/dev/schemas/user-stories.json +10 -0
  114. package/workflows/dev/workflow.json +85 -5
@@ -1,8 +1,10 @@
1
1
  /**
2
- * MCP Tool: get_project_status
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 approve_doc after user feedback.`);
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 report_dispatch to register it.`);
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 report_dispatch with status="completed" or "failed".`);
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 dispatch_role.`);
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
- // Skip external outputs (e.g. "code"), docs that are "skip", and "optional" docs at the current scale
52
- const missingOutputs = currentPhaseDef.outputs.filter((o) => {
53
- const docDef = wf.definition.docs[o];
54
- if (docDef?.external)
55
- return false;
56
- const scaleVal = docDef?.scale[state.scale];
57
- if (scaleVal === 'skip' || scaleVal === 'optional')
58
- return false;
59
- return !existingDocs.includes(o);
60
- });
61
- if (missingOutputs.length > 0) {
62
- // Only suggest dispatching if there are no active dispatches already covering this
63
- const alreadyDispatched = activeDispatches.length > 0;
64
- const nonPmRoles = currentPhaseDef.roles.filter((r) => r !== 'pm');
65
- if (nonPmRoles.length > 0 && !alreadyDispatched) {
66
- suggestions.push(`Dispatch ${nonPmRoles.join(', ')} to produce: ${missingOutputs.join(', ')}. Use dispatch_role to prepare task data.`);
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 (nonPmRoles.length === 0) {
69
- suggestions.push(`Produce remaining documents: ${missingOutputs.join(', ')}. Use write_doc for each.`);
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
- export function registerGetProjectStatus(server, workflowsDir) {
118
- server.tool('get_project_status', 'Get the current project status including phase progress, documents, pending reviews, dispatch records, active sessions, and next-step suggestions.', {
119
- project_name: z.string().describe('Project name'),
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(workflowsDir, state.workflow);
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
- if (!review)
153
- return `- ${d}`;
154
- return `- ${d} [${review.status}]`;
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: ${state.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
- currentPhaseDef?.outputs
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: 'Project not initialized. Use project_init to get started.',
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":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAUnE;;GAEG;AACH,SAAS,eAAe,CACpB,KAAmB,EACnB,EAAkB,EAClB,YAAsB,EACtB,cAAgC,EAChC,UAA4B,EAC5B,QAAyB;IAEzB,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,eAAe,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC;IAEtF,IAAI,CAAC,eAAe;QAAE,OAAO,CAAC,sCAAsC,CAAC,CAAC;IAEtE,qDAAqD;IACrD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,WAAW,CAAC,IAAI,CACZ,6BAA6B,QAAQ,sEAAsE,CAC9G,CAAC;IACN,CAAC;IAED,8DAA8D;IAC9D,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IACvG,MAAM,oBAAoB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;IACjF,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IAC3E,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IAEzE,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,oBAAoB,EAAE,CAAC;YACnC,WAAW,CAAC,IAAI,CACZ,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,8FAA8F,CAC5H,CAAC;QACN,CAAC;IACL,CAAC;IAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,oBAAoB,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/F,WAAW,CAAC,IAAI,CACZ,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,eAAe,SAAS,mGAAmG,CACzJ,CAAC;QACN,CAAC;IACL,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,WAAW,CAAC,IAAI,CACZ,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,YAAY,MAAM,8CAA8C,CAC9F,CAAC;QACN,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,sGAAsG;IACtG,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACxD,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,MAAM,EAAE,QAAQ;YAAE,OAAO,KAAK,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC;QACjE,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,mFAAmF;QACnF,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAEnE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC9C,WAAW,CAAC,IAAI,CACZ,YAAY,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,2CAA2C,CACxH,CAAC;QACN,CAAC;aAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,WAAW,CAAC,IAAI,CAAC,gCAAgC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC3G,CAAC;IACL,CAAC;SAAM,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtE,4EAA4E;QAC5E,WAAW,CAAC,IAAI,CACZ,oBAAoB,eAAe,CAAC,IAAI,6DAA6D,KAAK,CAAC,YAAY,iBAAiB,CAC3I,CAAC;IACN,CAAC;IAED,0BAA0B;IAC1B,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACjE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC3B,WAAW,CAAC,IAAI,CACZ,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,qFAAqF,CAClH,CAAC;QACN,CAAC;IACL,CAAC;IAED,+CAA+C;IAC/C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,WAAW,CAAC,IAAI,CAAC,4BAA4B,eAAe,CAAC,IAAI,UAAU,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,CAAiB,EAAE,QAAyB;IAChE,MAAM,UAAU,GACZ,CAAC,CAAC,MAAM,KAAK,WAAW;QACpB,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS;YACtB,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ;gBACrB,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW;oBACxB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,GAAG,CAAC;IACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvF,OAAO,KAAK,UAAU,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,MAAM,KAAK,GAAG,WAAW,GAAG,IAAI,EAAE,CAAC;AACxG,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,CAAgB;IACnC,MAAM,SAAS,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;IACjF,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,OAAO,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,KAAK,EAAE,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAiB,EAAE,YAAoB;IAC5E,MAAM,CAAC,IAAI,CACP,oBAAoB,EACpB,oJAAoJ,EACpJ;QACI,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;KACpD,EACD,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;QACvB,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC;YAC5C,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;YAElD,gBAAgB;YAChB,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM;iBAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACP,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC9D,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,OAAO,KAAK,CAAC,CAAC,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;YAC9G,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YAEhB,MAAM,eAAe,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,YAAY,CAAC,CAAC;YAEtF,uBAAuB;YACvB,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YAEpF,gCAAgC;YAChC,MAAM,cAAc,GAChB,cAAc,CAAC,MAAM,GAAG,CAAC;gBACrB,CAAC,CAAC,cAAc;qBACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;qBACtE,IAAI,CAAC,IAAI,CAAC;gBACjB,CAAC,CAAC,QAAQ,CAAC;YAEnB,sCAAsC;YACtC,MAAM,WAAW,GACb,IAAI,CAAC,MAAM,GAAG,CAAC;gBACX,CAAC,CAAC,IAAI;qBACC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACP,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC1B,IAAI,CAAC,MAAM;wBAAE,OAAO,KAAK,CAAC,EAAE,CAAC;oBAC7B,OAAO,KAAK,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC;gBACvC,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC;gBACjB,CAAC,CAAC,YAAY,CAAC;YAEvB,yBAAyB;YACzB,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YACrE,MAAM,eAAe,GACjB,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAElG,2BAA2B;YAC3B,MAAM,iBAAiB,GACnB,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAErG,yCAAyC;YACzC,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YAEzF,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE;4BACF,qBAAqB,KAAK,CAAC,WAAW,EAAE;4BACxC,EAAE;4BACF,qBAAqB,KAAK,CAAC,UAAU,EAAE;4BACvC,aAAa,KAAK,CAAC,QAAQ,EAAE;4BAC7B,UAAU,KAAK,CAAC,KAAK,EAAE;4BACvB,YAAY,KAAK,CAAC,SAAS,EAAE;4BAC7B,YAAY,KAAK,CAAC,SAAS,EAAE;4BAC7B,EAAE;4BACF,WAAW;4BACX,aAAa;4BACb,EAAE;4BACF,kBAAkB;4BAClB,eAAe;gCACX,CAAC,CAAC,GAAG,eAAe,CAAC,IAAI,KAAK,eAAe,CAAC,EAAE,MAAM,eAAe,CAAC,WAAW,EAAE;gCACnF,CAAC,CAAC,SAAS;4BACf,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;4BAC1E,eAAe,EAAE,OAAO;gCACpB,CAAC,CAAC,qBAAqB,eAAe,CAAC,OAAO;qCACvC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;oCACV,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oCAChC,IAAI,CAAC,CAAC;wCAAE,OAAO,IAAI,CAAC;oCACpB,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oCAChC,OAAO,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,UAAU,CAAC;gCAC9C,CAAC,CAAC;qCACD,IAAI,CAAC,IAAI,CAAC,EAAE;gCACnB,CAAC,CAAC,EAAE;4BACR,EAAE;4BACF,aAAa;4BACb,eAAe;4BACf,EAAE;4BACF,eAAe;4BACf,iBAAiB;4BACjB,EAAE;4BACF,oBAAoB;4BACpB,cAAc;4BACd,EAAE;4BACF,cAAc;4BACd,WAAW;4BACX,EAAE;4BACF,eAAe;4BACf,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;yBACvD,CAAC,IAAI,CAAC,IAAI,CAAC;qBACf;iBACJ;aACJ,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACL,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,2DAA2D;qBACpE;iBACJ;gBACD,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;IACL,CAAC,CACJ,CAAC;AACN,CAAC"}
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: get_role_prompt
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, workflowsDir: string): void;
7
+ export declare function registerGetRolePrompt(server: McpServer, builtinDir: string, customDir: string): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * MCP Tool: get_role_prompt
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, workflowsDir) {
45
- server.tool('get_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.", {
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(workflowsDir, workflowName);
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":"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"}
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,UAAkB,EAAE,SAAiB;IAC1F,MAAM,CAAC,IAAI,CACP,aAAa,EACb,6OAA6O,EAC7O;QACI,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC5E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;QAC5E,YAAY,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0FAA0F,CAAC;KAC5G,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE;QACrD,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnD,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,SAAS,IAAI,4BAA4B,YAAY,uBAAuB,SAAS,EAAE;qBAChG;iBACJ;gBACD,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;QAED,qDAAqD;QACrD,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACzD,eAAe,GAAG,0BAA0B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAClE,CAAC;QAED,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;wBACF,WAAW,OAAO,CAAC,EAAE,EAAE;wBACvB,EAAE;wBACF,kBAAkB;wBAClB,kBAAkB,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE;wBAC7C,cAAc,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE;wBAC3C,eAAe,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;wBAC7C,EAAE;wBACF,WAAW;wBACX,EAAE;wBACF,OAAO,CAAC,MAAM;wBACd,eAAe;qBAClB,CAAC,IAAI,CAAC,IAAI,CAAC;iBACf;aACJ;SACJ,CAAC;IACN,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * MCP Tools: set_override / get_overrides
2
+ * MCP Tools: guard_set / review_set_rule / guard_get
3
3
  * Manage capability overrides and review settings.
4
4
  */
5
5
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
@@ -1,11 +1,11 @@
1
1
  /**
2
- * MCP Tools: set_override / get_overrides
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('set_capability_override', '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.', {
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('set_review_override', 'Enable or disable review requirement for a specific document type.', {
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('get_overrides', 'Get the current override configuration. Shows the merged result (project + global) or a specific scope.', {
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":"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"}
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, workflowsDir: string): void;
10
+ export declare function registerProjectInit(server: McpServer, builtinDir: string, customDir: string): void;