mcp-probe-kit 1.15.1 → 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.
- package/README.md +113 -1642
- package/build/index.js +75 -42
- package/build/lib/elicitation-helper.d.ts +73 -0
- package/build/lib/elicitation-helper.js +130 -0
- package/build/lib/response.d.ts +32 -0
- package/build/lib/response.js +28 -0
- package/build/lib/tasks-manager.d.ts +116 -0
- package/build/lib/tasks-manager.js +217 -0
- package/build/lib/toolset-manager.d.ts +48 -0
- package/build/lib/toolset-manager.js +112 -0
- package/build/schemas/basic-tools.d.ts +0 -32
- package/build/schemas/basic-tools.js +0 -34
- package/build/schemas/code-analysis-tools.d.ts +0 -36
- package/build/schemas/code-analysis-tools.js +0 -38
- package/build/schemas/code-gen-tools.d.ts +0 -44
- package/build/schemas/code-gen-tools.js +0 -46
- package/build/schemas/doc-util-tools.d.ts +0 -54
- package/build/schemas/doc-util-tools.js +0 -58
- package/build/schemas/index.d.ts +0 -188
- package/build/schemas/orchestration-tools.d.ts +0 -22
- package/build/schemas/orchestration-tools.js +0 -23
- package/build/schemas/output/core-tools.d.ts +817 -0
- package/build/schemas/output/core-tools.js +421 -0
- package/build/schemas/output/generation-tools.d.ts +936 -0
- package/build/schemas/output/generation-tools.js +446 -0
- package/build/schemas/output/helper-tools.d.ts +243 -0
- package/build/schemas/output/helper-tools.js +138 -0
- package/build/schemas/output/index.d.ts +76 -0
- package/build/schemas/output/index.js +96 -0
- package/build/schemas/output/project-tools.d.ts +702 -0
- package/build/schemas/output/project-tools.js +339 -0
- package/build/schemas/output/ui-ux-tools.d.ts +469 -0
- package/build/schemas/output/ui-ux-tools.js +218 -0
- package/build/schemas/output/workflow-tools.d.ts +267 -0
- package/build/schemas/output/workflow-tools.js +179 -0
- package/build/schemas/structured-output.d.ts +1317 -0
- package/build/schemas/structured-output.js +1017 -0
- package/build/tools/__tests__/start_ui.integration.test.js +5 -5
- package/build/tools/__tests__/start_ui.property.test.js +11 -11
- package/build/tools/add_feature.d.ts +1 -13
- package/build/tools/add_feature.js +48 -13
- package/build/tools/analyze_project.js +57 -18
- package/build/tools/check_deps.d.ts +1 -13
- package/build/tools/check_deps.js +24 -15
- package/build/tools/code_review.d.ts +1 -13
- package/build/tools/code_review.js +19 -16
- package/build/tools/debug.d.ts +1 -13
- package/build/tools/debug.js +18 -16
- package/build/tools/estimate.d.ts +1 -19
- package/build/tools/estimate.js +36 -6
- package/build/tools/fix_bug.d.ts +1 -13
- package/build/tools/fix_bug.js +24 -6
- package/build/tools/gen_mock.d.ts +1 -19
- package/build/tools/gen_mock.js +42 -227
- package/build/tools/genapi.d.ts +1 -13
- package/build/tools/genapi.js +18 -15
- package/build/tools/genchangelog.d.ts +1 -13
- package/build/tools/genchangelog.js +36 -212
- package/build/tools/gencommit.d.ts +1 -7
- package/build/tools/gencommit.js +21 -13
- package/build/tools/gendoc.d.ts +1 -13
- package/build/tools/gendoc.js +18 -15
- package/build/tools/genpr.d.ts +1 -13
- package/build/tools/genpr.js +28 -157
- package/build/tools/genreadme.d.ts +1 -13
- package/build/tools/genreadme.js +22 -587
- package/build/tools/gensql.d.ts +1 -13
- package/build/tools/gensql.js +24 -283
- package/build/tools/gentest.d.ts +1 -13
- package/build/tools/gentest.js +49 -16
- package/build/tools/index.d.ts +0 -10
- package/build/tools/index.js +0 -10
- package/build/tools/init_component_catalog.d.ts +3 -20
- package/build/tools/init_component_catalog.js +141 -786
- package/build/tools/init_project.d.ts +7 -13
- package/build/tools/init_project.js +54 -16
- package/build/tools/init_project_context.d.ts +1 -13
- package/build/tools/init_project_context.js +41 -14
- package/build/tools/perf.d.ts +1 -13
- package/build/tools/perf.js +18 -15
- package/build/tools/refactor.d.ts +1 -13
- package/build/tools/refactor.js +54 -15
- package/build/tools/render_ui.d.ts +2 -19
- package/build/tools/render_ui.js +201 -347
- package/build/tools/resolve_conflict.d.ts +1 -13
- package/build/tools/resolve_conflict.js +18 -15
- package/build/tools/security_scan.d.ts +1 -13
- package/build/tools/security_scan.js +16 -5
- package/build/tools/start_api.d.ts +7 -13
- package/build/tools/start_api.js +69 -157
- package/build/tools/start_bugfix.d.ts +1 -7
- package/build/tools/start_bugfix.js +38 -2
- package/build/tools/start_doc.d.ts +7 -13
- package/build/tools/start_doc.js +76 -169
- package/build/tools/start_feature.d.ts +1 -7
- package/build/tools/start_feature.js +54 -2
- package/build/tools/start_onboard.d.ts +1 -7
- package/build/tools/start_onboard.js +40 -2
- package/build/tools/start_ralph.d.ts +1 -7
- package/build/tools/start_ralph.js +88 -2
- package/build/tools/start_refactor.d.ts +7 -13
- package/build/tools/start_refactor.js +75 -148
- package/build/tools/start_release.d.ts +7 -13
- package/build/tools/start_release.js +56 -131
- package/build/tools/start_review.d.ts +7 -13
- package/build/tools/start_review.js +70 -142
- package/build/tools/start_ui.d.ts +1 -7
- package/build/tools/start_ui.js +98 -8
- package/build/tools/ui-ux-tools.d.ts +3 -39
- package/build/tools/ui-ux-tools.js +201 -125
- package/docs/data/tools.js +864 -0
- package/docs/index.html +594 -0
- package/docs/pages/all-tools.html +649 -0
- package/docs/pages/examples.html +564 -0
- package/docs/pages/getting-started.html +529 -0
- package/docs/pages/migration.html +308 -0
- package/docs/specs/algorithm-enhancement/roadmap.md +619 -0
- package/docs/specs/vnext-upgrade/00-OVERVIEW.md +258 -0
- package/docs/specs/vnext-upgrade/BETA_RELEASE_GUIDE.md +328 -0
- package/docs/specs/vnext-upgrade/GITHUB_DISCUSSION_TEMPLATE.md +236 -0
- package/docs/specs/vnext-upgrade/M8.9-PROGRESS-UPDATE.md +248 -0
- package/docs/specs/vnext-upgrade/PROGRESS-SUMMARY.md +195 -0
- package/docs/specs/vnext-upgrade/QUICK_REFERENCE.md +338 -0
- package/docs/specs/vnext-upgrade/README.md +125 -0
- package/docs/specs/vnext-upgrade/STATUS-UPDATE-2026-01-26.md +230 -0
- package/docs/specs/vnext-upgrade/TOOL_CLEANUP.md +343 -0
- package/docs/specs/vnext-upgrade/completed/M1-M2-SUMMARY.md +27 -0
- package/docs/specs/vnext-upgrade/completed/M3_COMPLETION_SUMMARY.md +273 -0
- package/docs/specs/vnext-upgrade/completed/M4-SUMMARY.md +19 -0
- package/docs/specs/vnext-upgrade/completed/M5_COMPLETION_SUMMARY.md +0 -0
- package/docs/specs/vnext-upgrade/completed/M8.1-SUMMARY.md +247 -0
- package/docs/specs/vnext-upgrade/completed/M8.2-SUMMARY.md +296 -0
- package/docs/specs/vnext-upgrade/completed/M8.3-SUMMARY.md +241 -0
- package/docs/specs/vnext-upgrade/completed/M8.3-TEST-SUMMARY.md +216 -0
- package/docs/specs/vnext-upgrade/completed/M8.4-SUMMARY.md +217 -0
- package/docs/specs/vnext-upgrade/completed/M8.4-TEST-SUMMARY.md +198 -0
- package/docs/specs/vnext-upgrade/completed/M8.5-SUMMARY.md +202 -0
- package/docs/specs/vnext-upgrade/completed/M8.5-TEST-SUMMARY.md +223 -0
- package/docs/specs/vnext-upgrade/completed/M8.6-SUMMARY.md +299 -0
- package/docs/specs/vnext-upgrade/completed/M8.8-TEST-SUMMARY.md +216 -0
- package/docs/specs/vnext-upgrade/completed/TOOL-CLEANUP-SUMMARY.md +210 -0
- package/docs/specs/vnext-upgrade/design.md +848 -0
- package/docs/specs/vnext-upgrade/requirements.md +221 -0
- package/docs/specs/vnext-upgrade/tasks/00-INDEX.md +335 -0
- package/docs/specs/vnext-upgrade/tasks/M8.1-SCHEMA-DEFINITION.md +300 -0
- package/docs/specs/vnext-upgrade/tasks/M8.2-P1-TOOLS.md +249 -0
- package/docs/specs/vnext-upgrade/tasks/M8.3-GENERATION-TOOLS.md +49 -0
- package/docs/specs/vnext-upgrade/tasks/M8.4-ORCHESTRATION-TOOLS.md +28 -0
- package/docs/specs/vnext-upgrade/tasks/M8.5-PROJECT-TOOLS.md +29 -0
- package/docs/specs/vnext-upgrade/tasks/M8.6-UI-TOOLS.md +66 -0
- package/docs/specs/vnext-upgrade/tasks/M8.7-HELPER-TOOLS.md +24 -0
- package/docs/specs/vnext-upgrade/tasks/M8.8-INTEGRATION-TESTS.md +90 -0
- package/docs/specs/vnext-upgrade/tasks/M8.9-DOCUMENTATION.md +103 -0
- package/docs/styles/docs.css +556 -0
- package/docs/styles/page.css +815 -0
- package/docs/vnext/MCP_2025-11-25_GUIDE.md +276 -0
- package/docs/vnext/vNext-PRD.md +488 -0
- package/package.json +6 -6
- package/docs/BEST_PRACTICES.md +0 -1185
- package/docs/HOW_TO_TRIGGER.md +0 -1141
- package/docs/MCP-Probe-Kit-/344/275/277/347/224/250/346/211/213/345/206/214.html +0 -544
- 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
|
-
|
|
313
|
-
|
|
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
|
-
|
|
319
|
-
|
|
320
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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>;
|
package/build/tools/start_api.js
CHANGED
|
@@ -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
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
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
|
-
|
|
189
|
-
|
|
190
|
-
|
|
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
|
-
|
|
130
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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>;
|
package/build/tools/start_doc.js
CHANGED
|
@@ -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
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
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
|
-
|
|
203
|
-
|
|
204
|
-
|
|
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;
|