mcp-probe-kit 1.15.0 → 2.0.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 (165) hide show
  1. package/README.md +113 -1642
  2. package/build/index.js +75 -42
  3. package/build/lib/elicitation-helper.d.ts +73 -0
  4. package/build/lib/elicitation-helper.js +130 -0
  5. package/build/lib/response.d.ts +32 -0
  6. package/build/lib/response.js +28 -0
  7. package/build/lib/tasks-manager.d.ts +116 -0
  8. package/build/lib/tasks-manager.js +217 -0
  9. package/build/lib/toolset-manager.d.ts +48 -0
  10. package/build/lib/toolset-manager.js +112 -0
  11. package/build/schemas/basic-tools.d.ts +0 -32
  12. package/build/schemas/basic-tools.js +0 -34
  13. package/build/schemas/code-analysis-tools.d.ts +0 -36
  14. package/build/schemas/code-analysis-tools.js +0 -38
  15. package/build/schemas/code-gen-tools.d.ts +0 -44
  16. package/build/schemas/code-gen-tools.js +0 -46
  17. package/build/schemas/doc-util-tools.d.ts +0 -54
  18. package/build/schemas/doc-util-tools.js +0 -58
  19. package/build/schemas/index.d.ts +0 -188
  20. package/build/schemas/orchestration-tools.d.ts +0 -22
  21. package/build/schemas/orchestration-tools.js +0 -23
  22. package/build/schemas/output/core-tools.d.ts +817 -0
  23. package/build/schemas/output/core-tools.js +421 -0
  24. package/build/schemas/output/generation-tools.d.ts +936 -0
  25. package/build/schemas/output/generation-tools.js +446 -0
  26. package/build/schemas/output/helper-tools.d.ts +243 -0
  27. package/build/schemas/output/helper-tools.js +138 -0
  28. package/build/schemas/output/index.d.ts +76 -0
  29. package/build/schemas/output/index.js +96 -0
  30. package/build/schemas/output/project-tools.d.ts +702 -0
  31. package/build/schemas/output/project-tools.js +339 -0
  32. package/build/schemas/output/ui-ux-tools.d.ts +469 -0
  33. package/build/schemas/output/ui-ux-tools.js +218 -0
  34. package/build/schemas/output/workflow-tools.d.ts +267 -0
  35. package/build/schemas/output/workflow-tools.js +179 -0
  36. package/build/schemas/structured-output.d.ts +1317 -0
  37. package/build/schemas/structured-output.js +1017 -0
  38. package/build/tools/__tests__/start_ui.integration.test.js +5 -5
  39. package/build/tools/__tests__/start_ui.property.test.js +11 -11
  40. package/build/tools/add_feature.d.ts +1 -13
  41. package/build/tools/add_feature.js +48 -13
  42. package/build/tools/analyze_project.js +57 -18
  43. package/build/tools/check_deps.d.ts +1 -13
  44. package/build/tools/check_deps.js +24 -15
  45. package/build/tools/code_review.d.ts +1 -13
  46. package/build/tools/code_review.js +19 -16
  47. package/build/tools/css_order.js +55 -55
  48. package/build/tools/debug.d.ts +1 -13
  49. package/build/tools/debug.js +18 -16
  50. package/build/tools/estimate.d.ts +1 -19
  51. package/build/tools/estimate.js +36 -6
  52. package/build/tools/fix_bug.d.ts +1 -13
  53. package/build/tools/fix_bug.js +24 -6
  54. package/build/tools/gen_mock.d.ts +1 -19
  55. package/build/tools/gen_mock.js +42 -227
  56. package/build/tools/genapi.d.ts +1 -13
  57. package/build/tools/genapi.js +18 -15
  58. package/build/tools/genchangelog.d.ts +1 -13
  59. package/build/tools/genchangelog.js +36 -212
  60. package/build/tools/gencommit.d.ts +1 -7
  61. package/build/tools/gencommit.js +21 -13
  62. package/build/tools/gendoc.d.ts +1 -13
  63. package/build/tools/gendoc.js +18 -15
  64. package/build/tools/genpr.d.ts +1 -13
  65. package/build/tools/genpr.js +28 -157
  66. package/build/tools/genreadme.d.ts +1 -13
  67. package/build/tools/genreadme.js +22 -587
  68. package/build/tools/gensql.d.ts +1 -13
  69. package/build/tools/gensql.js +24 -283
  70. package/build/tools/gentest.d.ts +1 -13
  71. package/build/tools/gentest.js +49 -16
  72. package/build/tools/index.d.ts +0 -10
  73. package/build/tools/index.js +0 -10
  74. package/build/tools/init_component_catalog.d.ts +3 -20
  75. package/build/tools/init_component_catalog.js +141 -786
  76. package/build/tools/init_project.d.ts +7 -13
  77. package/build/tools/init_project.js +54 -16
  78. package/build/tools/init_project_context.d.ts +1 -13
  79. package/build/tools/init_project_context.js +41 -14
  80. package/build/tools/perf.d.ts +1 -13
  81. package/build/tools/perf.js +18 -15
  82. package/build/tools/refactor.d.ts +1 -13
  83. package/build/tools/refactor.js +54 -15
  84. package/build/tools/render_ui.d.ts +2 -19
  85. package/build/tools/render_ui.js +201 -347
  86. package/build/tools/resolve_conflict.d.ts +1 -13
  87. package/build/tools/resolve_conflict.js +18 -15
  88. package/build/tools/security_scan.d.ts +1 -13
  89. package/build/tools/security_scan.js +16 -5
  90. package/build/tools/start_api.d.ts +7 -13
  91. package/build/tools/start_api.js +69 -157
  92. package/build/tools/start_bugfix.d.ts +1 -7
  93. package/build/tools/start_bugfix.js +38 -2
  94. package/build/tools/start_doc.d.ts +7 -13
  95. package/build/tools/start_doc.js +76 -169
  96. package/build/tools/start_feature.d.ts +1 -7
  97. package/build/tools/start_feature.js +54 -2
  98. package/build/tools/start_onboard.d.ts +1 -7
  99. package/build/tools/start_onboard.js +40 -2
  100. package/build/tools/start_ralph.d.ts +1 -7
  101. package/build/tools/start_ralph.js +88 -2
  102. package/build/tools/start_refactor.d.ts +7 -13
  103. package/build/tools/start_refactor.js +75 -148
  104. package/build/tools/start_release.d.ts +7 -13
  105. package/build/tools/start_release.js +56 -131
  106. package/build/tools/start_review.d.ts +7 -13
  107. package/build/tools/start_review.js +70 -142
  108. package/build/tools/start_ui.d.ts +1 -7
  109. package/build/tools/start_ui.js +98 -8
  110. package/build/tools/ui-ux-tools.d.ts +3 -39
  111. package/build/tools/ui-ux-tools.js +201 -125
  112. package/docs/data/tools.js +864 -0
  113. package/docs/index.html +594 -0
  114. package/docs/pages/all-tools.html +649 -0
  115. package/docs/pages/examples.html +564 -0
  116. package/docs/pages/getting-started.html +529 -0
  117. package/docs/pages/migration.html +308 -0
  118. package/docs/specs/algorithm-enhancement/roadmap.md +619 -0
  119. package/docs/specs/vnext-upgrade/00-OVERVIEW.md +258 -0
  120. package/docs/specs/vnext-upgrade/BETA_RELEASE_GUIDE.md +328 -0
  121. package/docs/specs/vnext-upgrade/GITHUB_DISCUSSION_TEMPLATE.md +236 -0
  122. package/docs/specs/vnext-upgrade/M8.9-PROGRESS-UPDATE.md +248 -0
  123. package/docs/specs/vnext-upgrade/PROGRESS-SUMMARY.md +195 -0
  124. package/docs/specs/vnext-upgrade/QUICK_REFERENCE.md +338 -0
  125. package/docs/specs/vnext-upgrade/README.md +125 -0
  126. package/docs/specs/vnext-upgrade/STATUS-UPDATE-2026-01-26.md +230 -0
  127. package/docs/specs/vnext-upgrade/TOOL_CLEANUP.md +343 -0
  128. package/docs/specs/vnext-upgrade/completed/M1-M2-SUMMARY.md +27 -0
  129. package/docs/specs/vnext-upgrade/completed/M3_COMPLETION_SUMMARY.md +273 -0
  130. package/docs/specs/vnext-upgrade/completed/M4-SUMMARY.md +19 -0
  131. package/docs/specs/vnext-upgrade/completed/M5_COMPLETION_SUMMARY.md +0 -0
  132. package/docs/specs/vnext-upgrade/completed/M8.1-SUMMARY.md +247 -0
  133. package/docs/specs/vnext-upgrade/completed/M8.2-SUMMARY.md +296 -0
  134. package/docs/specs/vnext-upgrade/completed/M8.3-SUMMARY.md +241 -0
  135. package/docs/specs/vnext-upgrade/completed/M8.3-TEST-SUMMARY.md +216 -0
  136. package/docs/specs/vnext-upgrade/completed/M8.4-SUMMARY.md +217 -0
  137. package/docs/specs/vnext-upgrade/completed/M8.4-TEST-SUMMARY.md +198 -0
  138. package/docs/specs/vnext-upgrade/completed/M8.5-SUMMARY.md +202 -0
  139. package/docs/specs/vnext-upgrade/completed/M8.5-TEST-SUMMARY.md +223 -0
  140. package/docs/specs/vnext-upgrade/completed/M8.6-SUMMARY.md +299 -0
  141. package/docs/specs/vnext-upgrade/completed/M8.8-TEST-SUMMARY.md +216 -0
  142. package/docs/specs/vnext-upgrade/completed/TOOL-CLEANUP-SUMMARY.md +210 -0
  143. package/docs/specs/vnext-upgrade/design.md +848 -0
  144. package/docs/specs/vnext-upgrade/requirements.md +221 -0
  145. package/docs/specs/vnext-upgrade/tasks/00-INDEX.md +335 -0
  146. package/docs/specs/vnext-upgrade/tasks/M8.1-SCHEMA-DEFINITION.md +300 -0
  147. package/docs/specs/vnext-upgrade/tasks/M8.2-P1-TOOLS.md +249 -0
  148. package/docs/specs/vnext-upgrade/tasks/M8.3-GENERATION-TOOLS.md +49 -0
  149. package/docs/specs/vnext-upgrade/tasks/M8.4-ORCHESTRATION-TOOLS.md +28 -0
  150. package/docs/specs/vnext-upgrade/tasks/M8.5-PROJECT-TOOLS.md +29 -0
  151. package/docs/specs/vnext-upgrade/tasks/M8.6-UI-TOOLS.md +66 -0
  152. package/docs/specs/vnext-upgrade/tasks/M8.7-HELPER-TOOLS.md +24 -0
  153. package/docs/specs/vnext-upgrade/tasks/M8.8-INTEGRATION-TESTS.md +90 -0
  154. package/docs/specs/vnext-upgrade/tasks/M8.9-DOCUMENTATION.md +103 -0
  155. package/docs/styles/docs.css +556 -0
  156. package/docs/styles/page.css +815 -0
  157. package/docs/vnext/MCP_2025-11-25_GUIDE.md +276 -0
  158. package/docs/vnext/vNext-PRD.md +488 -0
  159. package/package.json +4 -4
  160. package/build/utils/design-docs-generator.d.ts +0 -1
  161. package/build/utils/design-docs-generator.js +0 -1
  162. package/docs/BEST_PRACTICES.md +0 -1185
  163. package/docs/HOW_TO_TRIGGER.md +0 -1141
  164. package/docs/MCP-Probe-Kit-/344/275/277/347/224/250/346/211/213/345/206/214.html +0 -544
  165. package/docs/MCP-Probe-Kit-/344/275/277/347/224/250/346/211/213/345/206/214.md +0 -1447
@@ -273,6 +273,7 @@ logger.info("API call with token:", maskToken(apiToken))
273
273
  *工具: MCP Probe Kit - security_scan*
274
274
  `;
275
275
  import { parseArgs, getString } from "../utils/parseArgs.js";
276
+ import { okStructured } from "../lib/response.js";
276
277
  /**
277
278
  * security_scan 工具实现
278
279
  */
@@ -309,15 +310,25 @@ export async function securityScan(args) {
309
310
  .replace(/{code}/g, code)
310
311
  .replace(/{language}/g, language)
311
312
  .replace(/{scan_type}/g, scanTypeDesc[scanType] || scanType);
312
- return {
313
- content: [{ type: "text", text: guide }],
313
+ // 创建结构化数据对象
314
+ const securityReport = {
315
+ summary: `安全扫描 - ${scanTypeDesc[scanType] || scanType}`,
316
+ overallRisk: 'medium',
317
+ vulnerabilities: [],
314
318
  };
319
+ return okStructured(guide, securityReport, {
320
+ schema: (await import('../schemas/output/core-tools.js')).SecurityReportSchema,
321
+ });
315
322
  }
316
323
  catch (error) {
317
324
  const errorMsg = error instanceof Error ? error.message : String(error);
318
- return {
319
- content: [{ type: "text", text: `❌ 安全扫描失败: ${errorMsg}` }],
320
- isError: true,
325
+ const errorData = {
326
+ summary: `安全扫描失败: ${errorMsg}`,
327
+ overallRisk: 'none',
328
+ vulnerabilities: [],
321
329
  };
330
+ return okStructured(`❌ 安全扫描失败: ${errorMsg}`, errorData, {
331
+ schema: (await import('../schemas/output/core-tools.js')).SecurityReportSchema,
332
+ });
322
333
  }
323
334
  }
@@ -1,13 +1,7 @@
1
- export declare function startApi(args: any): Promise<{
2
- content: {
3
- type: string;
4
- text: string;
5
- }[];
6
- isError?: undefined;
7
- } | {
8
- content: {
9
- type: string;
10
- text: string;
11
- }[];
12
- isError: boolean;
13
- }>;
1
+ /**
2
+ * start_api 智能编排工具
3
+ *
4
+ * 场景:API 开发
5
+ * 编排:[检查上下文] → genapi → gen_mock → gentest
6
+ */
7
+ export declare function startApi(args: any): Promise<import("../lib/response.js").ToolResponse>;
@@ -1,158 +1,11 @@
1
1
  import { parseArgs, getString } from "../utils/parseArgs.js";
2
+ import { okStructured } from "../lib/response.js";
2
3
  /**
3
4
  * start_api 智能编排工具
4
5
  *
5
6
  * 场景:API 开发
6
7
  * 编排:[检查上下文] → genapi → gen_mock → gentest
7
8
  */
8
- const PROMPT_TEMPLATE = `# 🔌 API 开发编排指南
9
-
10
- ## 🎯 目标
11
-
12
- 为以下 API 代码生成完整的开发资料:
13
-
14
- \`\`\`{language}
15
- {code}
16
- \`\`\`
17
-
18
- ---
19
-
20
- ## 📋 步骤 0: 项目上下文(自动处理)
21
-
22
- **操作**:
23
- 1. 检查 \`docs/project-context.md\` 是否存在
24
- 2. **如果不存在**:
25
- - 调用 \`init_project_context\` 工具
26
- - 等待生成完成
27
- 3. **读取** \`docs/project-context.md\` 内容
28
- 4. 了解项目的 API 规范、测试框架
29
-
30
- ---
31
-
32
- ## 📝 步骤 1: 生成 API 文档
33
-
34
- **调用工具**: \`genapi\`
35
-
36
- **参数**:
37
- \`\`\`json
38
- {
39
- "code": "[API 代码]",
40
- "format": "{format}"
41
- }
42
- \`\`\`
43
-
44
- **生成内容**:
45
- - API 端点列表
46
- - 请求/响应格式
47
- - 参数说明
48
- - 示例
49
-
50
- **产出**: API 文档(Markdown/OpenAPI/JSDoc)
51
-
52
- ---
53
-
54
- ## 🎭 步骤 2: 生成 Mock 数据
55
-
56
- **调用工具**: \`gen_mock\`
57
-
58
- **参数**:
59
- \`\`\`json
60
- {
61
- "schema": "[从 API 代码中提取的数据结构]",
62
- "count": 5,
63
- "format": "json",
64
- "locale": "zh-CN"
65
- }
66
- \`\`\`
67
-
68
- **生成内容**:
69
- - 请求示例数据
70
- - 响应示例数据
71
- - 各种场景的测试数据
72
-
73
- **产出**: Mock 数据文件
74
-
75
- ---
76
-
77
- ## 🧪 步骤 3: 生成 API 测试
78
-
79
- **调用工具**: \`gentest\`
80
-
81
- **参数**:
82
- \`\`\`json
83
- {
84
- "code": "[API 代码]",
85
- "framework": "[根据项目上下文选择]"
86
- }
87
- \`\`\`
88
-
89
- **生成内容**:
90
- - 单元测试
91
- - 集成测试
92
- - 边界情况测试
93
- - 错误处理测试
94
-
95
- **产出**: 测试代码
96
-
97
- ---
98
-
99
- ## ✅ 完成检查
100
-
101
- - [ ] 项目上下文已读取
102
- - [ ] API 文档已生成
103
- - [ ] Mock 数据已生成
104
- - [ ] 测试代码已生成
105
-
106
- ---
107
-
108
- ## 📊 输出汇总
109
-
110
- 完成后,向用户提供:
111
-
112
- ### 1. API 文档
113
-
114
- \`\`\`markdown
115
- ## API 端点
116
-
117
- ### [METHOD] /path
118
-
119
- **描述**: ...
120
-
121
- **请求参数**:
122
- | 参数 | 类型 | 必填 | 说明 |
123
- |------|------|------|------|
124
-
125
- **响应**:
126
- \`\`\`json
127
- {
128
- "code": 0,
129
- "data": {}
130
- }
131
- \`\`\`
132
- \`\`\`
133
-
134
- ### 2. Mock 数据
135
-
136
- \`\`\`json
137
- [Mock 数据示例]
138
- \`\`\`
139
-
140
- ### 3. 测试代码
141
-
142
- \`\`\`typescript
143
- [测试代码]
144
- \`\`\`
145
-
146
- ### 4. 使用建议
147
-
148
- - Mock 数据可用于前端开发联调
149
- - 测试代码可直接运行验证 API
150
- - API 文档可分享给前端/调用方
151
-
152
- ---
153
-
154
- *编排工具: MCP Probe Kit - start_api*
155
- `;
156
9
  export async function startApi(args) {
157
10
  try {
158
11
  // 智能参数解析,支持自然语言输入
@@ -175,19 +28,78 @@ export async function startApi(args) {
175
28
  if (!code) {
176
29
  throw new Error("缺少必填参数: code(API 代码)");
177
30
  }
178
- const guide = PROMPT_TEMPLATE
179
- .replace(/{code}/g, code)
180
- .replace(/{language}/g, language)
181
- .replace(/{format}/g, format);
182
- return {
183
- content: [{ type: "text", text: guide }],
31
+ const message = `# 🔌 API 开发编排
32
+
33
+ 为以下 API 代码生成完整的开发资料:
34
+
35
+ \`\`\`${language}
36
+ ${code}
37
+ \`\`\`
38
+
39
+ ---
40
+
41
+ ## 📋 执行步骤
42
+
43
+ ### 步骤 1: 生成 API 文档
44
+ 调用 \`genapi\` 工具,生成 API 端点列表、请求/响应格式、参数说明和示例。
45
+
46
+ ### 步骤 2: 生成 Mock 数据
47
+ 调用 \`gen_mock\` 工具,生成请求示例数据、响应示例数据和各种场景的测试数据。
48
+
49
+ ### 步骤 3: 生成 API 测试
50
+ 调用 \`gentest\` 工具,生成单元测试、集成测试、边界情况测试和错误处理测试。
51
+
52
+ ---
53
+
54
+ ## 📊 输出内容
55
+
56
+ 完成后,提供:
57
+ 1. API 文档(${format} 格式)
58
+ 2. Mock 数据
59
+ 3. 测试代码
60
+ 4. 使用建议
61
+
62
+ **重要**: 请使用结构化输出格式返回结果。`;
63
+ // 创建结构化数据对象
64
+ const structuredData = {
65
+ summary: "API 开发编排",
66
+ status: "pending",
67
+ steps: [
68
+ {
69
+ name: "genapi",
70
+ description: "生成 API 文档",
71
+ status: "pending",
72
+ },
73
+ {
74
+ name: "gen_mock",
75
+ description: "生成 Mock 数据",
76
+ status: "pending",
77
+ },
78
+ {
79
+ name: "gentest",
80
+ description: "生成 API 测试",
81
+ status: "pending",
82
+ },
83
+ ],
84
+ apiDocumentation: {}, // AI 将填充实际的 API 文档
85
+ endpoints: [], // AI 将填充端点列表
184
86
  };
87
+ return okStructured(message, structuredData, {
88
+ schema: (await import("../schemas/output/workflow-tools.js")).APIWorkflowSchema,
89
+ });
185
90
  }
186
91
  catch (error) {
187
92
  const errorMsg = error instanceof Error ? error.message : String(error);
188
- return {
189
- content: [{ type: "text", text: `❌ 编排执行失败: ${errorMsg}` }],
190
- isError: true,
93
+ const errorData = {
94
+ summary: "API 开发失败",
95
+ status: "failed",
96
+ steps: [],
97
+ apiDocumentation: {},
98
+ endpoints: [],
99
+ warnings: [errorMsg],
191
100
  };
101
+ return okStructured(`❌ 编排执行失败: ${errorMsg}`, errorData, {
102
+ schema: (await import("../schemas/output/workflow-tools.js")).APIWorkflowSchema,
103
+ });
192
104
  }
193
105
  }
@@ -1,10 +1,4 @@
1
- export declare function startBugfix(args: any): Promise<{
2
- content: {
3
- type: string;
4
- text: string;
5
- }[];
6
- isError?: undefined;
7
- } | {
1
+ export declare function startBugfix(args: any): Promise<import("../lib/response.js").ToolResponse | {
8
2
  content: {
9
3
  type: string;
10
4
  text: string;
@@ -1,4 +1,6 @@
1
1
  import { parseArgs, getString } from "../utils/parseArgs.js";
2
+ import { okStructured } from "../lib/response.js";
3
+ import { BugFixReportSchema } from "../schemas/structured-output.js";
2
4
  /**
3
5
  * start_bugfix 智能编排工具
4
6
  *
@@ -126,9 +128,43 @@ export async function startBugfix(args) {
126
128
  .replace(/{error_message}/g, errorMessage)
127
129
  .replace(/{stack_trace}/g, stackTrace)
128
130
  .replace(/{stack_trace_section}/g, stackTraceSection);
129
- return {
130
- content: [{ type: "text", text: guide }],
131
+ // 创建结构化的 Bug 修复报告
132
+ const bugfixReport = {
133
+ summary: `Bug 修复工作流:${errorMessage.substring(0, 50)}${errorMessage.length > 50 ? '...' : ''}`,
134
+ status: 'pending',
135
+ steps: [
136
+ {
137
+ name: '检查项目上下文',
138
+ status: 'pending',
139
+ description: '检查 docs/project-context.md 是否存在,如不存在则调用 init_project_context',
140
+ },
141
+ {
142
+ name: 'Bug 分析与修复',
143
+ status: 'pending',
144
+ description: '调用 fix_bug 工具进行问题定位和修复',
145
+ },
146
+ {
147
+ name: '生成回归测试',
148
+ status: 'pending',
149
+ description: '调用 gentest 工具生成测试用例',
150
+ },
151
+ ],
152
+ artifacts: [],
153
+ nextSteps: [
154
+ '检查并读取项目上下文文档',
155
+ '调用 fix_bug 工具分析和修复问题',
156
+ '调用 gentest 工具生成回归测试',
157
+ '运行测试验证修复',
158
+ ],
159
+ rootCause: '待分析(需要调用 fix_bug 工具)',
160
+ fixPlan: '待制定(需要调用 fix_bug 工具)',
161
+ testPlan: '待生成(需要调用 gentest 工具)',
162
+ affectedFiles: [],
131
163
  };
164
+ return okStructured(guide, bugfixReport, {
165
+ schema: BugFixReportSchema,
166
+ note: 'AI 应该按照指南执行步骤,并在每个步骤完成后更新 structuredContent 中的状态',
167
+ });
132
168
  }
133
169
  catch (error) {
134
170
  const errorMsg = error instanceof Error ? error.message : String(error);
@@ -1,13 +1,7 @@
1
- export declare function startDoc(args: any): Promise<{
2
- content: {
3
- type: string;
4
- text: string;
5
- }[];
6
- isError?: undefined;
7
- } | {
8
- content: {
9
- type: string;
10
- text: string;
11
- }[];
12
- isError: boolean;
13
- }>;
1
+ /**
2
+ * start_doc 智能编排工具
3
+ *
4
+ * 场景:文档生成
5
+ * 编排:[检查上下文] → gendoc → genreadme → genapi
6
+ */
7
+ export declare function startDoc(args: any): Promise<import("../lib/response.js").ToolResponse>;
@@ -1,170 +1,11 @@
1
1
  import { parseArgs, getString } from "../utils/parseArgs.js";
2
+ import { okStructured } from "../lib/response.js";
2
3
  /**
3
4
  * start_doc 智能编排工具
4
5
  *
5
6
  * 场景:文档生成
6
7
  * 编排:[检查上下文] → gendoc → genreadme → genapi
7
8
  */
8
- const PROMPT_TEMPLATE = `# 📖 文档生成编排指南
9
-
10
- ## 🎯 目标
11
-
12
- 为项目/代码生成完整的文档
13
-
14
- **输入内容**:
15
- \`\`\`
16
- {code}
17
- \`\`\`
18
-
19
- ---
20
-
21
- ## 📋 步骤 0: 项目上下文(自动处理)
22
-
23
- **操作**:
24
- 1. 检查 \`docs/project-context.md\` 是否存在
25
- 2. **如果不存在**:
26
- - 调用 \`init_project_context\` 工具
27
- - 等待生成完成
28
- 3. **读取** \`docs/project-context.md\` 内容
29
- 4. 了解项目的文档风格、技术栈
30
-
31
- ---
32
-
33
- ## 📝 步骤 1: 生成代码注释
34
-
35
- **调用工具**: \`gendoc\`
36
-
37
- **参数**:
38
- \`\`\`json
39
- {
40
- "code": "[代码内容]",
41
- "style": "{style}",
42
- "lang": "{lang}"
43
- }
44
- \`\`\`
45
-
46
- **生成内容**:
47
- - 函数/方法注释
48
- - 参数说明
49
- - 返回值说明
50
- - 使用示例
51
-
52
- **产出**: 带注释的代码
53
-
54
- ---
55
-
56
- ## 📄 步骤 2: 生成 README
57
-
58
- **调用工具**: \`genreadme\`
59
-
60
- **参数**:
61
- \`\`\`json
62
- {
63
- "project_info": "[项目信息或代码]",
64
- "style": "standard"
65
- }
66
- \`\`\`
67
-
68
- **生成内容**:
69
- - 项目简介
70
- - 功能特性
71
- - 安装使用
72
- - API 说明
73
- - 贡献指南
74
-
75
- **产出**: README.md
76
-
77
- ---
78
-
79
- ## 🔌 步骤 3: 生成 API 文档(如适用)
80
-
81
- **调用工具**: \`genapi\`
82
-
83
- **参数**:
84
- \`\`\`json
85
- {
86
- "code": "[API 相关代码]",
87
- "format": "markdown"
88
- }
89
- \`\`\`
90
-
91
- **生成内容**:
92
- - API 端点列表
93
- - 请求/响应格式
94
- - 参数说明
95
-
96
- **产出**: API 文档
97
-
98
- ---
99
-
100
- ## ✅ 完成检查
101
-
102
- - [ ] 项目上下文已读取
103
- - [ ] 代码注释已生成
104
- - [ ] README 已生成
105
- - [ ] API 文档已生成(如适用)
106
-
107
- ---
108
-
109
- ## 📊 输出汇总
110
-
111
- 完成后,向用户提供:
112
-
113
- ### 1. 代码注释
114
-
115
- \`\`\`typescript
116
- /**
117
- * [函数描述]
118
- * @param {Type} param - [参数说明]
119
- * @returns {Type} [返回值说明]
120
- * @example
121
- * [使用示例]
122
- */
123
- \`\`\`
124
-
125
- ### 2. README.md
126
-
127
- \`\`\`markdown
128
- # 项目名称
129
-
130
- ## 简介
131
- ...
132
-
133
- ## 功能特性
134
- ...
135
-
136
- ## 快速开始
137
- ...
138
-
139
- ## API 文档
140
- ...
141
-
142
- ## 贡献指南
143
- ...
144
-
145
- ## 许可证
146
- ...
147
- \`\`\`
148
-
149
- ### 3. API 文档(如适用)
150
-
151
- \`\`\`markdown
152
- ## API 参考
153
- ...
154
- \`\`\`
155
-
156
- ### 4. 文档清单
157
-
158
- | 文档 | 状态 | 位置 |
159
- |------|------|------|
160
- | 代码注释 | ✅ | 源代码中 |
161
- | README | ✅ | README.md |
162
- | API 文档 | ✅/- | docs/api.md |
163
-
164
- ---
165
-
166
- *编排工具: MCP Probe Kit - start_doc*
167
- `;
168
9
  export async function startDoc(args) {
169
10
  try {
170
11
  // 智能参数解析,支持自然语言输入
@@ -189,19 +30,85 @@ export async function startDoc(args) {
189
30
  if (!code) {
190
31
  throw new Error("缺少必填参数: code 或 project_info");
191
32
  }
192
- const guide = PROMPT_TEMPLATE
193
- .replace(/{code}/g, code)
194
- .replace(/{style}/g, style)
195
- .replace(/{lang}/g, lang);
196
- return {
197
- content: [{ type: "text", text: guide }],
33
+ const message = `# 📖 文档生成编排
34
+
35
+ 为项目/代码生成完整的文档
36
+
37
+ **输入内容**:
38
+ \`\`\`
39
+ ${code}
40
+ \`\`\`
41
+
42
+ ---
43
+
44
+ ## 📋 执行步骤
45
+
46
+ ### 步骤 1: 生成代码注释
47
+ 调用 \`gendoc\` 工具,生成函数/方法注释、参数说明、返回值说明和使用示例。
48
+
49
+ ### 步骤 2: 生成 README
50
+ 调用 \`genreadme\` 工具,生成项目简介、功能特性、安装使用、API 说明和贡献指南。
51
+
52
+ ### 步骤 3: 生成 API 文档(如适用)
53
+ 调用 \`genapi\` 工具,生成 API 端点列表、请求/响应格式和参数说明。
54
+
55
+ ---
56
+
57
+ ## 📊 输出内容
58
+
59
+ 完成后,提供:
60
+ 1. 代码注释(${style} 风格)
61
+ 2. README.md
62
+ 3. API 文档(如适用)
63
+ 4. 文档清单
64
+
65
+ **重要**: 请使用结构化输出格式返回结果。`;
66
+ // 创建结构化数据对象
67
+ const structuredData = {
68
+ summary: "文档生成编排",
69
+ status: "pending",
70
+ steps: [
71
+ {
72
+ name: "gendoc",
73
+ description: "生成代码注释",
74
+ status: "pending",
75
+ },
76
+ {
77
+ name: "genreadme",
78
+ description: "生成 README",
79
+ status: "pending",
80
+ },
81
+ {
82
+ name: "genapi",
83
+ description: "生成 API 文档",
84
+ status: "pending",
85
+ },
86
+ ],
87
+ coverage: {
88
+ functions: 0,
89
+ classes: 0,
90
+ modules: 0,
91
+ },
198
92
  };
93
+ return okStructured(message, structuredData, {
94
+ schema: (await import("../schemas/output/workflow-tools.js")).DocWorkflowSchema,
95
+ });
199
96
  }
200
97
  catch (error) {
201
98
  const errorMsg = error instanceof Error ? error.message : String(error);
202
- return {
203
- content: [{ type: "text", text: `❌ 编排执行失败: ${errorMsg}` }],
204
- isError: true,
99
+ const errorData = {
100
+ summary: "文档生成失败",
101
+ status: "failed",
102
+ steps: [],
103
+ coverage: {
104
+ functions: 0,
105
+ classes: 0,
106
+ modules: 0,
107
+ },
108
+ warnings: [errorMsg],
205
109
  };
110
+ return okStructured(`❌ 编排执行失败: ${errorMsg}`, errorData, {
111
+ schema: (await import("../schemas/output/workflow-tools.js")).DocWorkflowSchema,
112
+ });
206
113
  }
207
114
  }
@@ -1,10 +1,4 @@
1
- export declare function startFeature(args: any): Promise<{
2
- content: {
3
- type: string;
4
- text: string;
5
- }[];
6
- isError?: undefined;
7
- } | {
1
+ export declare function startFeature(args: any): Promise<import("../lib/response.js").ToolResponse | {
8
2
  content: {
9
3
  type: string;
10
4
  text: string;