phinix 0.2.0 → 0.2.2
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 +5 -0
- package/dist/plugins/AutoTable/tools/get_auto_table_action.d.ts +2 -3
- package/dist/plugins/AutoTable/tools/get_auto_table_action.d.ts.map +1 -1
- package/dist/plugins/AutoTable/tools/get_auto_table_action.js +41 -27
- package/dist/plugins/AutoTable/tools/get_auto_table_action.js.map +1 -1
- package/dist/plugins/AutoTable/tools/get_auto_table_batchAction.d.ts +4 -0
- package/dist/plugins/AutoTable/tools/get_auto_table_batchAction.d.ts.map +1 -0
- package/dist/plugins/AutoTable/tools/get_auto_table_batchAction.js +63 -0
- package/dist/plugins/AutoTable/tools/get_auto_table_batchAction.js.map +1 -0
- package/dist/plugins/AutoTable/tools/get_auto_table_column.d.ts +2 -3
- package/dist/plugins/AutoTable/tools/get_auto_table_column.d.ts.map +1 -1
- package/dist/plugins/AutoTable/tools/get_auto_table_column.js +44 -20
- package/dist/plugins/AutoTable/tools/get_auto_table_column.js.map +1 -1
- package/dist/plugins/AutoTable/tools/get_auto_table_demo.d.ts +2 -3
- package/dist/plugins/AutoTable/tools/get_auto_table_demo.d.ts.map +1 -1
- package/dist/plugins/AutoTable/tools/get_auto_table_demo.js +1 -0
- package/dist/plugins/AutoTable/tools/get_auto_table_demo.js.map +1 -1
- package/dist/plugins/AutoTable/tools/index.d.ts +1 -2
- package/dist/plugins/AutoTable/tools/index.d.ts.map +1 -1
- package/dist/plugins/AutoTable/tools/index.js +2 -1
- package/dist/plugins/AutoTable/tools/index.js.map +1 -1
- package/dist/plugins/AutoTable/utils/getColInfo.d.ts +1 -1
- package/dist/plugins/AutoTable/utils/getColInfo.d.ts.map +1 -1
- package/dist/plugins/AutoTable/utils/getColInfo.js +2 -2
- package/dist/plugins/AutoTable/utils/getColInfo.js.map +1 -1
- package/dist/server.js +8 -7
- package/dist/server.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/useAPI.d.ts +20 -0
- package/dist/tools/useAPI.d.ts.map +1 -0
- package/dist/tools/useAPI.js +33 -0
- package/dist/tools/useAPI.js.map +1 -0
- package/dist/utils/define.d.ts +6 -0
- package/dist/utils/define.d.ts.map +1 -0
- package/dist/utils/define.js +12 -0
- package/dist/utils/define.js.map +1 -0
- package/dist/utils/utils.d.ts +38 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +474 -0
- package/dist/utils/utils.js.map +1 -0
- package/package.json +1 -1
- package/quick-test.js +44 -13
- package/src/plugins/AutoTable/tools/get_auto_table_action.js +84 -0
- package/src/plugins/AutoTable/tools/get_auto_table_batchAction.js +75 -0
- package/src/plugins/AutoTable/tools/get_auto_table_column.js +83 -0
- package/src/plugins/AutoTable/tools/get_auto_table_demo.js +66 -0
- package/src/plugins/AutoTable/tools/index.js +10 -0
- package/src/resources/components-info.json +0 -8
- package/src/rules/instruction-components.md +14 -19
- package/src/server.js +15 -6
- package/src/tools/index.js +7 -1
- package/src/tools/useAPI.js +33 -0
- package/src/utils/define.js +13 -0
- package/src/utils/utils.js +547 -0
- package/CHANGELOG.md +0 -65
package/README.md
CHANGED
|
@@ -37,6 +37,11 @@ phinix 是一个基于 Model Context Protocol (MCP) 的服务器,为 AI 模型
|
|
|
37
37
|
- 可配置返回的示例数量和内容长度
|
|
38
38
|
- 可选择是否包含示例文件内容
|
|
39
39
|
|
|
40
|
+
### 🔍 对接后端接口 (`get_api_definition`)
|
|
41
|
+
- 对接后端接口。当您需要对接后端接口时,这个工具将很符合你。您必须提供 url 来标识特定的接口,并且url必须以 /api 开头。此工具将直接返回接口的使用React代码供开发者直接使用。此工具还会返回生成代码时必须遵循的规则。
|
|
42
|
+
- 返回接口的使用示例
|
|
43
|
+
- 返回生成代码时必须遵循的规则
|
|
44
|
+
|
|
40
45
|
## 安装和使用
|
|
41
46
|
|
|
42
47
|
### 环境要求
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
-
/** 根据操作列的按钮信息使用ActionGroup组件生成符合 AutoTable 组件规范的操作列 */
|
|
3
|
-
declare const registryTool: (server: McpServer) => void;
|
|
4
1
|
export default registryTool;
|
|
2
|
+
/** 根据操作列的按钮信息使用ActionGroup组件生成符合 AutoTable 组件规范的操作列 */
|
|
3
|
+
declare function registryTool(server: any): void;
|
|
5
4
|
//# sourceMappingURL=get_auto_table_action.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_auto_table_action.d.ts","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/get_auto_table_action.
|
|
1
|
+
{"version":3,"file":"get_auto_table_action.d.ts","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/get_auto_table_action.js"],"names":[],"mappings":";AA2CA,uDAAuD;AACvD,iDAqCC"}
|
|
@@ -1,32 +1,44 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
const componentDescription = `
|
|
3
|
+
### Feature: 生成AutoTable操作列
|
|
4
|
+
|
|
5
|
+
### Description: 根据操作列按钮信息使用ActionGroup组件生成符合 AutoTable 组件规范的操作列
|
|
6
|
+
|
|
7
|
+
### When to Use:
|
|
8
|
+
1. 已拿到操作列按钮(标题/图标/优先级)但不想手写ActionGroup结构。
|
|
9
|
+
2. 需要按照设计稿/截图还原操作列,并确保符合AutoTable规范。
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
1.
|
|
11
|
-
2.
|
|
12
|
-
3.
|
|
11
|
+
### How to use the result:
|
|
12
|
+
1. 将返回的ActionGroup JSX粘贴到AutoTable columns中操作列的render字段中
|
|
13
|
+
2. 仅在onClick中补充业务逻辑,其他结构勿改为Antd Table格式。
|
|
14
|
+
3. 属性需完整保留,若需二次加工请基于原输出扩展。
|
|
13
15
|
|
|
14
|
-
|
|
15
|
-
1.
|
|
16
|
-
2.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
16
|
+
### Limit:
|
|
17
|
+
1. ActionGroup只能从src/components/AutoTable引入。
|
|
18
|
+
2. 只能使用真实存在的按钮属性,禁止虚构。
|
|
19
|
+
|
|
20
|
+
### Trigger Example:
|
|
21
|
+
1. 生成或优化操作列
|
|
22
|
+
2. 统一ActionGroup配置
|
|
23
|
+
3. 根据视觉稿构建操作列
|
|
24
|
+
`;
|
|
25
|
+
const componentDefineSchema = {
|
|
26
|
+
actions: z
|
|
27
|
+
.array(z.object({
|
|
28
|
+
title: z.string().describe("操作按钮名称"),
|
|
29
|
+
icon: z.string().describe("操作按钮图标"),
|
|
30
|
+
isMore: z
|
|
31
|
+
.boolean()
|
|
32
|
+
.describe("是否是更多按钮(竖着排列的三个点即为更多)"),
|
|
33
|
+
}))
|
|
34
|
+
.describe("操作列的按钮信息列表"),
|
|
35
|
+
actionCount: z
|
|
36
|
+
.number()
|
|
37
|
+
.describe("除了Dropdown中及更多按钮外剩余展示的按钮数量"),
|
|
38
|
+
};
|
|
39
|
+
/** 根据操作列的按钮信息使用ActionGroup组件生成符合 AutoTable 组件规范的操作列 */
|
|
40
|
+
const registryTool = (server) => {
|
|
41
|
+
server.tool("get_auto_table_action", componentDescription, componentDefineSchema, async ({ actions, actionCount }) => {
|
|
30
42
|
const generateActionGroup = (actions ?? [])
|
|
31
43
|
.filter((action) => !action.isMore)
|
|
32
44
|
.map((action) => {
|
|
@@ -39,7 +51,9 @@ const registryTool = (server) => {
|
|
|
39
51
|
},
|
|
40
52
|
};
|
|
41
53
|
});
|
|
42
|
-
const titleLimit = (actions ?? []).some(i => i.isMore)
|
|
54
|
+
const titleLimit = (actions ?? []).some((i) => i.isMore)
|
|
55
|
+
? `tileLimit=${actionCount}` // 这里因为ActionGroup历史原因titleLimit拼写错误成tileLimit,所以只能将错就错这里也写tileLimit
|
|
56
|
+
: ``;
|
|
43
57
|
return {
|
|
44
58
|
content: [
|
|
45
59
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_auto_table_action.js","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/get_auto_table_action.
|
|
1
|
+
{"version":3,"file":"get_auto_table_action.js","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/get_auto_table_action.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsB5B,CAAC;AAEF,MAAM,qBAAqB,GAAG;IAC5B,OAAO,EAAE,CAAC;SACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnC,MAAM,EAAE,CAAC;aACN,OAAO,EAAE;aACT,QAAQ,CAAC,uBAAuB,CAAC;KACrC,CAAC,CACH;SACA,QAAQ,CAAC,YAAY,CAAC;IACzB,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,CAAC,4BAA4B,CAAC;CAC1C,CAAC;AAEF,uDAAuD;AACvD,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,EAAE;IAC9B,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE;QACjC,MAAM,mBAAmB,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;aACxC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;aAClC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,GAAG,EAAE;oBACZ,OAAO;gBACT,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,MAAM,UAAU,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YACtD,CAAC,CAAC,aAAa,WAAW,EAAE,CAAC,oEAAoE;YACjG,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,2BAA2B;oBACxC,IAAI,EAAE;sBACI,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;cACpD,UAAU;eACT;iBACJ;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get_auto_table_batchAction.d.ts","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/get_auto_table_batchAction.js"],"names":[],"mappings":";AAiCA,uDAAuD;AACvD,iDAsCC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const componentDescription = `
|
|
3
|
+
### Feature: 生成AutoTable的batchAction属性
|
|
4
|
+
|
|
5
|
+
### Description: 根据底部批量操作按钮信息生成符合AutoTable组件规范的batchAction属性
|
|
6
|
+
|
|
7
|
+
### When to Use:
|
|
8
|
+
1. 根据用户描述的批量操作按钮信息,生成符合AutoTable组件规范的batchAction属性
|
|
9
|
+
2. 需要按照设计稿/截图还原底部批量操作,并确保符合AutoTable规范。
|
|
10
|
+
|
|
11
|
+
### How to use the result:
|
|
12
|
+
1. 将返回的结果作为AutoTable的batchAction属性使用
|
|
13
|
+
2. 仅在onClick中补充业务逻辑,其他结构勿改为Antd Table格式。
|
|
14
|
+
3. 属性需完整保留,若需二次加工请基于原输出扩展。
|
|
15
|
+
|
|
16
|
+
### Trigger Example:
|
|
17
|
+
1. 生成或优化表格的批量操作
|
|
18
|
+
2. 统一batchAction配置
|
|
19
|
+
3. 根据视觉稿构建表格的批量操作
|
|
20
|
+
`;
|
|
21
|
+
const componentDefineSchema = {
|
|
22
|
+
actions: z
|
|
23
|
+
.array(z.object({
|
|
24
|
+
title: z.string().describe("操作按钮名称"),
|
|
25
|
+
icon: z.string().describe("操作按钮图标"),
|
|
26
|
+
}))
|
|
27
|
+
.describe("操作列的按钮信息列表"),
|
|
28
|
+
};
|
|
29
|
+
/** 根据操作列的按钮信息使用ActionGroup组件生成符合 AutoTable 组件规范的操作列 */
|
|
30
|
+
const registryTool = (server) => {
|
|
31
|
+
server.tool("get_auto_table_batchAction", componentDescription, componentDefineSchema, async ({ actions }) => {
|
|
32
|
+
const generateActionGroup = (actions ?? [])
|
|
33
|
+
.map((action) => {
|
|
34
|
+
return {
|
|
35
|
+
title: action.title,
|
|
36
|
+
icon: action.icon,
|
|
37
|
+
rules: [],
|
|
38
|
+
onClick: () => {
|
|
39
|
+
// TODO
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
});
|
|
43
|
+
const batchActions = `{
|
|
44
|
+
showCount: true,
|
|
45
|
+
checkedText: I18N.common.pageSelect.pageAll,
|
|
46
|
+
onSelectAll: (checked: boolean, selectedRowKeys?: React.Key[]) => {
|
|
47
|
+
// setSelectedRowKeys(selectedRows);
|
|
48
|
+
},
|
|
49
|
+
actions: ${JSON.stringify(generateActionGroup, null, 2)},
|
|
50
|
+
}`;
|
|
51
|
+
return {
|
|
52
|
+
content: [
|
|
53
|
+
{
|
|
54
|
+
type: "text",
|
|
55
|
+
description: "AutoTable组件所使用到的batchAction定义",
|
|
56
|
+
text: batchActions.replace(/[\r\n]+/g, ''),
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
export default registryTool;
|
|
63
|
+
//# sourceMappingURL=get_auto_table_batchAction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get_auto_table_batchAction.js","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/get_auto_table_batchAction.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;CAkB5B,CAAC;AAEF,MAAM,qBAAqB,GAAG;IAC5B,OAAO,EAAE,CAAC;SACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACpC,CAAC,CACH;SACA,QAAQ,CAAC,YAAY,CAAC;CAC1B,CAAC;AAEF,uDAAuD;AACvD,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,EAAE;IAC9B,MAAM,CAAC,IAAI,CACT,4BAA4B,EAC5B,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACpB,MAAM,mBAAmB,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;aACxC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,GAAG,EAAE;oBACZ,OAAO;gBACT,CAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,MAAM,YAAY,GAAG;;;;;;mBAMR,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,+BAA+B;oBAC5C,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;iBAC3C;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
-
/** 根据列信息生成符合 AutoTable 组件规范的columns属性 */
|
|
3
|
-
declare const registryTool: (server: McpServer) => void;
|
|
4
1
|
export default registryTool;
|
|
2
|
+
/** 根据列信息生成符合 AutoTable 组件规范的columns属性 */
|
|
3
|
+
declare function registryTool(server: any): void;
|
|
5
4
|
//# sourceMappingURL=get_auto_table_column.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_auto_table_column.d.ts","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/get_auto_table_column.
|
|
1
|
+
{"version":3,"file":"get_auto_table_column.d.ts","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/get_auto_table_column.js"],"names":[],"mappings":";AAgDA,yCAAyC;AACzC,iDA+BC"}
|
|
@@ -1,27 +1,51 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { getFixedColInfo } from
|
|
2
|
+
import { getFixedColInfo } from "../utils/getColInfo.js";
|
|
3
|
+
const componentDescription = `
|
|
4
|
+
### Feature: 构建表格的columns属性
|
|
5
|
+
|
|
6
|
+
### Description: 输入列字段配置,产出完全符合 AutoTable 规范的 columns 属性定义,可直接粘贴到页面或组件中使用
|
|
7
|
+
|
|
8
|
+
### When to Use:
|
|
9
|
+
1. 需要生成表格相关代码
|
|
10
|
+
2. 从产品文档或原型中整理出表头信息,需快速得到 AutoTable 可用的 columns
|
|
11
|
+
3. 需要基于现有列配置做格式校正(宽度、操作列标记等),避免手写出错
|
|
12
|
+
4. 将图片/表格内容结构化后,希望快速转成 AutoTable columns
|
|
13
|
+
|
|
14
|
+
### How to use the result:
|
|
15
|
+
1. 以当前tool返回的结果构建AutoTable组件的columns属性
|
|
16
|
+
2. 不要篡改返回结果, 不要将其转化为标准的Antd Table格式
|
|
17
|
+
3. 属性尽可能的保留, 并以此为参考构建更适合的columns属性
|
|
18
|
+
|
|
19
|
+
### Input Requirements:
|
|
20
|
+
1. 每列需提供 title、dataIndex、width、actionNum 四个字段
|
|
21
|
+
2. 宽度请使用数字(px),操作列请正确设置 actionNum 的值
|
|
22
|
+
3. 若包含固定列、操作列等特殊需求,可在列信息中如实描述
|
|
23
|
+
|
|
24
|
+
### Output Specs:
|
|
25
|
+
1. 结果为 const columns = [...] 形式,字段顺序、名称符合 AutoTable 预期
|
|
26
|
+
2. 不需要再手动转换为 Antd Table 格式
|
|
27
|
+
3. 可直接作为 AutoTable 的 columns 属性引用
|
|
28
|
+
|
|
29
|
+
### Trigger Example:
|
|
30
|
+
1. 生成/更新表格
|
|
31
|
+
2. 优化表格的columns
|
|
32
|
+
3. 根据视觉稿/图片生成表格
|
|
33
|
+
`;
|
|
34
|
+
const componentDefineSchema = {
|
|
35
|
+
columns: z
|
|
36
|
+
.array(z.object({
|
|
37
|
+
title: z.string().describe("列标题"),
|
|
38
|
+
dataIndex: z.string().describe("列对应的字段名"),
|
|
39
|
+
width: z.number().describe("列的宽度"),
|
|
40
|
+
actionNum: z.number().describe("操作列的操作数量"),
|
|
41
|
+
}))
|
|
42
|
+
.describe("表格的列信息列表"),
|
|
43
|
+
};
|
|
3
44
|
/** 根据列信息生成符合 AutoTable 组件规范的columns属性 */
|
|
4
45
|
const registryTool = (server) => {
|
|
5
|
-
server.tool("get_auto_table_column",
|
|
6
|
-
适用场景:
|
|
7
|
-
1. 用户给出表格列的信息, 根据列信息生成符合AutoTable组件规范的columns属性
|
|
8
|
-
2. 用户通过上传图片, 根据图片解析出表格列的信息并生成columns属性
|
|
9
|
-
|
|
10
|
-
如何使用返回结果
|
|
11
|
-
1. 以当前tool返回的结果构建AutoTable组件的columns属性
|
|
12
|
-
2. 不要篡改返回结果, 不要将其转化为标准的Antd Table格式
|
|
13
|
-
3. 属性尽可能的保留, 并以此为参考构建更适合的columns属性`, {
|
|
14
|
-
columns: z
|
|
15
|
-
.array(z.object({
|
|
16
|
-
title: z.string().describe("列标题"),
|
|
17
|
-
dataIndex: z.string().describe("列对应的字段名"),
|
|
18
|
-
width: z.number().describe("列的宽度"),
|
|
19
|
-
isAction: z.boolean().describe("是否为操作列"),
|
|
20
|
-
}))
|
|
21
|
-
.describe("表格的列信息列表"),
|
|
22
|
-
}, async ({ columns }) => {
|
|
46
|
+
server.tool("get_auto_table_column", componentDescription, componentDefineSchema, async ({ columns }) => {
|
|
23
47
|
const generateColumns = (columns ?? []).map((column) => {
|
|
24
|
-
const res = getFixedColInfo(column.title, column.dataIndex, column.width);
|
|
48
|
+
const res = getFixedColInfo(column.title, column.dataIndex, column.width, column.actionNum);
|
|
25
49
|
return res;
|
|
26
50
|
});
|
|
27
51
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_auto_table_column.js","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/get_auto_table_column.
|
|
1
|
+
{"version":3,"file":"get_auto_table_column.js","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/get_auto_table_column.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8B5B,CAAC;AAEF,MAAM,qBAAqB,GAAG;IAC5B,OAAO,EAAE,CAAC;SACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;QAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;KAC3C,CAAC,CACH;SACA,QAAQ,CAAC,UAAU,CAAC;CACxB,CAAC;AAEF,yCAAyC;AACzC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,EAAE;IAC9B,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACpB,MAAM,eAAe,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACrD,MAAM,GAAG,GAAG,eAAe,CACzB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,SAAS,CACjB,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,WAAW,EAAE,2BAA2B;oBACxC,IAAI,EAAE,uCAAuC,IAAI,CAAC,SAAS,CACzD,eAAe,EACf,IAAI,EACJ,CAAC,CACF,EAAE;iBACJ;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
-
/** 根据关键词匹配AutoTable示例 */
|
|
3
|
-
declare const registryTool: (server: McpServer) => void;
|
|
4
1
|
export default registryTool;
|
|
2
|
+
/** 根据关键词匹配AutoTable示例 */
|
|
3
|
+
declare function registryTool(server: any): void;
|
|
5
4
|
//# sourceMappingURL=get_auto_table_demo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_auto_table_demo.d.ts","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/get_auto_table_demo.
|
|
1
|
+
{"version":3,"file":"get_auto_table_demo.d.ts","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/get_auto_table_demo.js"],"names":[],"mappings":";AAIA,yBAAyB;AACzB,iDA0DC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_auto_table_demo.js","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/get_auto_table_demo.
|
|
1
|
+
{"version":3,"file":"get_auto_table_demo.js","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/get_auto_table_demo.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,yBAAyB;AACzB,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,EAAE;IAC9B,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,EAAE;QACrC,MAAM,eAAe,GAAG,EAAE,CAAC;QAE3B,oBAAoB;QACpB,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;YAE5D,wCAAwC;YACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAC3B,CAAC,OAAO,EAAE,EAAE,CACV,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACvB,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC7B,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAChC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC9B,CACJ,CAAC;YAEF,IAAI,OAAO,EAAE,CAAC;gBACZ,eAAe,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YACnC,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;iBACtC;aACF;SACF,CAAC;IACJ,CAAC,CAAC;IAEF,YAAY,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAA;IAE9C,iBAAiB;IACjB,6BAA6B;IAC7B,gFAAgF;IAChF,QAAQ;IACR,mBAAmB;IACnB,8BAA8B;IAC9B,uBAAuB;IACvB,8BAA8B;IAC9B,kCAAkC;IAClC,qDAAqD;IACrD,+BAA+B;IAC/B,kCAAkC;IAClC,sCAAsC;IAEtC,MAAM;IACN,mDAAmD;IACnD,uBAAuB;IACvB,8BAA8B;IAC9B,2DAA2D;IAC3D,gCAAgC;IAChC,2CAA2C;IAC3C,QAAQ;IACR,OAAO;AACP,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/index.
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/index.js"],"names":[],"mappings":"AAKA,yDAIC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import getAutoTableExample from './get_auto_table_demo.js';
|
|
2
2
|
import generateAutoTableColumn from './get_auto_table_column.js';
|
|
3
3
|
import generateAutoTableAction from './get_auto_table_action.js';
|
|
4
|
+
import generateAutoTableBatchAction from './get_auto_table_batchAction.js';
|
|
4
5
|
export default function registryTools(server) {
|
|
5
|
-
[generateAutoTableColumn, generateAutoTableAction, getAutoTableExample].forEach((registryFn) => {
|
|
6
|
+
[generateAutoTableColumn, generateAutoTableAction, getAutoTableExample, generateAutoTableBatchAction].forEach((registryFn) => {
|
|
6
7
|
registryFn(server);
|
|
7
8
|
});
|
|
8
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/index.
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/tools/index.js"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,uBAAuB,MAAM,4BAA4B,CAAC;AACjE,OAAO,uBAAuB,MAAM,4BAA4B,CAAC;AACjE,OAAO,4BAA4B,MAAM,iCAAiC,CAAC;AAE3E,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,MAAM;IAC1C,CAAC,uBAAuB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,4BAA4B,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QAC3H,UAAU,CAAC,MAAM,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @description 根据列标题名称或dataIndex结合业务含义给出列宽相关的属性定义
|
|
3
3
|
* @author 千旌
|
|
4
4
|
*/
|
|
5
|
-
export declare const getFixedColInfo: (title: string, dataIndex: string, width: number) => {
|
|
5
|
+
export declare const getFixedColInfo: (title: string, dataIndex: string, width: number, actionNum: number) => {
|
|
6
6
|
title: string;
|
|
7
7
|
dataIndex: string;
|
|
8
8
|
time: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getColInfo.d.ts","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/utils/getColInfo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,eAAe,GAC1B,OAAO,MAAM,EACb,WAAW,MAAM,EACjB,OAAO,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"getColInfo.d.ts","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/utils/getColInfo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,eAAe,GAC1B,OAAO,MAAM,EACb,WAAW,MAAM,EACjB,OAAO,MAAM,EACb,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiElB,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @description 根据列标题名称或dataIndex结合业务含义给出列宽相关的属性定义
|
|
3
3
|
* @author 千旌
|
|
4
4
|
*/
|
|
5
|
-
export const getFixedColInfo = (title, dataIndex, width) => {
|
|
5
|
+
export const getFixedColInfo = (title, dataIndex, width, actionNum) => {
|
|
6
6
|
// 时间列
|
|
7
7
|
if (title.includes("时间")) {
|
|
8
8
|
return {
|
|
@@ -47,7 +47,7 @@ export const getFixedColInfo = (title, dataIndex, width) => {
|
|
|
47
47
|
return {
|
|
48
48
|
title,
|
|
49
49
|
dataIndex,
|
|
50
|
-
iconNumber:
|
|
50
|
+
iconNumber: actionNum,
|
|
51
51
|
fixed: 'right',
|
|
52
52
|
};
|
|
53
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getColInfo.js","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/utils/getColInfo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAa,EACb,SAAiB,EACjB,KAAa,EACb,EAAE;IACF,MAAM;IACN,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,KAAK;YACL,SAAS;YACT,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IAED,MAAM;IACN,IACE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QACnB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EACpB,CAAC;QACD,OAAO;YACL,KAAK;YACL,SAAS;YACT,MAAM,EAAE,CAAC;SACV,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO;YACL,KAAK;YACL,SAAS;YACT,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IAED,QAAQ;IACR,IACE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EACpB,CAAC;QACD,OAAO;YACL,KAAK;YACL,SAAS;YACT,KAAK,EAAE,GAAG;SACX,CAAC;IACJ,CAAC;IAEF,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;YACN,KAAK;YACL,SAAS;YACT,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"getColInfo.js","sourceRoot":"","sources":["../../../../src/plugins/AutoTable/utils/getColInfo.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAa,EACb,SAAiB,EACjB,KAAa,EACb,SAAiB,EACjB,EAAE;IACF,MAAM;IACN,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,KAAK;YACL,SAAS;YACT,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IAED,MAAM;IACN,IACE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QACnB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EACpB,CAAC;QACD,OAAO;YACL,KAAK;YACL,SAAS;YACT,MAAM,EAAE,CAAC;SACV,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO;YACL,KAAK;YACL,SAAS;YACT,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IAED,QAAQ;IACR,IACE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EACpB,CAAC;QACD,OAAO;YACL,KAAK;YACL,SAAS;YACT,KAAK,EAAE,GAAG;SACX,CAAC;IACJ,CAAC;IAEF,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;YACN,KAAK;YACL,SAAS;YACT,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE,OAAO;SACd,CAAA;IACF,CAAC;IAED,OAAO;QACN,KAAK;QACL,SAAS;QACT,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC;KACP,CAAA;AACF,CAAC,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -4,7 +4,7 @@ import path from "path";
|
|
|
4
4
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
5
5
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
6
6
|
import { PROJECT_ROOT, ANALYTICS_CONFIG } from "./config.js";
|
|
7
|
-
import { componentListSchema, getComponentList, componentDetailsSchema, getComponentDetails, componentDefineSchema, getComponentDefine, componentSourceSchema, getComponentSource, componentReadmeSchema, getComponentReadme, componentDemosSchema, getComponentDemos, projectKnowledgeSchema, getProjectKnowledge, } from "./tools/index.js";
|
|
7
|
+
import { componentListSchema, getComponentList, componentDetailsSchema, getComponentDetails, componentDefineSchema, getComponentDefine, componentSourceSchema, getComponentSource, componentReadmeSchema, getComponentReadme, componentDemosSchema, getComponentDemos, projectKnowledgeSchema, getProjectKnowledge, useAPISchema, getUseAPI, } from "./tools/index.js";
|
|
8
8
|
import { __dirname } from "./config.js";
|
|
9
9
|
import { wrapServerWithAnalytics } from "./analytics/index.js";
|
|
10
10
|
console.error(`📂 使用项目根目录: ${PROJECT_ROOT}`);
|
|
@@ -23,11 +23,12 @@ const server = new McpServer({
|
|
|
23
23
|
wrapServerWithAnalytics(server, ANALYTICS_CONFIG);
|
|
24
24
|
// 注册所有工具
|
|
25
25
|
server.tool("get_project_knowledge", projectKnowledgeSchema, getProjectKnowledge, "【必须首先调用】获取项目背景知识 - 包含技术栈、样式规范、组件使用指南和代码示例。在进行任何代码开发前,必须先调用此工具了解项目规范。");
|
|
26
|
-
server.tool("get_component_list",
|
|
27
|
-
server.tool("get_component_define",
|
|
28
|
-
server.tool("get_component_source",
|
|
29
|
-
server.tool("get_component_readme",
|
|
30
|
-
server.tool("get_component_demos",
|
|
26
|
+
server.tool("get_component_list", "获取所有组件列表 - 返回完整的组件名称和简要描述,一次性获取所有可用组件", componentListSchema, getComponentList);
|
|
27
|
+
server.tool("get_component_define", "获取组件定义 - 返回组件的TypeScript接口定义和属性说明", componentDefineSchema, getComponentDefine);
|
|
28
|
+
server.tool("get_component_source", "获取组件源码 - 返回组件的完整实现代码,用于学习和参考", componentSourceSchema, getComponentSource);
|
|
29
|
+
server.tool("get_component_readme", "获取组件README - 返回组件的使用文档和说明信息", componentReadmeSchema, getComponentReadme);
|
|
30
|
+
server.tool("get_component_demos", "获取组件示例 - 返回组件的使用示例代码和演示效果", componentDemosSchema, getComponentDemos);
|
|
31
|
+
server.tool("get_api_definition", `使用此工具可以从 Dataphin的 项目中对接后端接口。当您需要对接后端接口时,这个工具将很符合你。您必须提供 url 来标识特定的接口,并且url必须以 /api 开头。此工具将直接返回接口的使用React代码供开发者直接使用。此工具还会返回生成代码时必须遵循的规则。`, useAPISchema, getUseAPI);
|
|
31
32
|
const registerPlugins = async () => {
|
|
32
33
|
// 扫描当前项目下的plugins目录,对其中每个文件夹下的plugin进行注册
|
|
33
34
|
const plugins = await fs.readdir(path.join(__dirname, "plugins"));
|
|
@@ -45,7 +46,7 @@ async function main() {
|
|
|
45
46
|
await server.connect(transport);
|
|
46
47
|
console.error("🚀 phinix MCP Server started on stdio");
|
|
47
48
|
console.error("⭐ 重要提示: 请先调用 get_project_knowledge 获取项目开发规范");
|
|
48
|
-
console.error("📋 Available tools: get_project_knowledge, get_component_list, get_component_define, get_component_source, get_component_readme, get_component_demos");
|
|
49
|
+
console.error("📋 Available tools: get_project_knowledge, get_component_list, get_component_define, get_component_source, get_component_readme, get_component_demos, get_api_definition");
|
|
49
50
|
console.error("📁 Components data file: src/resources/components-info.json");
|
|
50
51
|
console.error("📚 Project knowledge file: src/resources/project-knowledge.md");
|
|
51
52
|
console.error(`📂 Project root directory: ${PROJECT_ROOT}`);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.js"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.js"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ export { componentSourceSchema, getComponentSource } from "./componentSource.js"
|
|
|
5
5
|
export { componentReadmeSchema, getComponentReadme } from "./componentReadme.js";
|
|
6
6
|
export { componentDemosSchema, getComponentDemos } from "./componentDemos.js";
|
|
7
7
|
export { projectKnowledgeSchema, getProjectKnowledge } from "./projectKnowledge.js";
|
|
8
|
+
export { useAPISchema, getUseAPI } from "./useAPI.js";
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/tools/index.js
CHANGED
|
@@ -12,4 +12,6 @@ export { componentReadmeSchema, getComponentReadme, } from "./componentReadme.js
|
|
|
12
12
|
export { componentDemosSchema, getComponentDemos, } from "./componentDemos.js";
|
|
13
13
|
// 项目背景知识相关
|
|
14
14
|
export { projectKnowledgeSchema, getProjectKnowledge, } from "./projectKnowledge.js";
|
|
15
|
+
// API接口对接相关
|
|
16
|
+
export { useAPISchema, getUseAPI, } from "./useAPI.js";
|
|
15
17
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.js"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,SAAS;AACT,OAAO,EACL,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,SAAS;AACT,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,SAAS;AACT,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,SAAS;AACT,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,SAAS;AACT,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,WAAW;AACX,OAAO,EACL,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.js"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,SAAS;AACT,OAAO,EACL,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,SAAS;AACT,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,SAAS;AACT,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,SAAS;AACT,OAAO,EACL,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,SAAS;AACT,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,WAAW;AACX,OAAO,EACL,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,YAAY;AACZ,OAAO,EACL,YAAY,EACZ,SAAS,GACV,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export function getUseAPI(params: any): Promise<{
|
|
2
|
+
content: {
|
|
3
|
+
type: string;
|
|
4
|
+
text: string;
|
|
5
|
+
}[];
|
|
6
|
+
data: {
|
|
7
|
+
timestamp: string;
|
|
8
|
+
};
|
|
9
|
+
} | {
|
|
10
|
+
content: {
|
|
11
|
+
type: string;
|
|
12
|
+
text: string;
|
|
13
|
+
}[];
|
|
14
|
+
data?: undefined;
|
|
15
|
+
}>;
|
|
16
|
+
export namespace useAPISchema {
|
|
17
|
+
let url: z.ZodString;
|
|
18
|
+
}
|
|
19
|
+
import { z } from "zod";
|
|
20
|
+
//# sourceMappingURL=useAPI.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAPI.d.ts","sourceRoot":"","sources":["../../src/tools/useAPI.js"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;GAwBC;;;;kBAhCiB,KAAK"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { searchApi } from '../utils/utils.js';
|
|
3
|
+
import { baseUrl } from "../utils/define.js";
|
|
4
|
+
export const useAPISchema = {
|
|
5
|
+
url: z.string().describe("要获取的API URL,必须以 /api 开头"),
|
|
6
|
+
};
|
|
7
|
+
export async function getUseAPI(params) {
|
|
8
|
+
try {
|
|
9
|
+
const apiInfo = await searchApi(baseUrl, params.url);
|
|
10
|
+
return {
|
|
11
|
+
content: [
|
|
12
|
+
{
|
|
13
|
+
type: "text",
|
|
14
|
+
text: apiInfo,
|
|
15
|
+
},
|
|
16
|
+
],
|
|
17
|
+
data: {
|
|
18
|
+
timestamp: new Date().toISOString(),
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
return {
|
|
24
|
+
content: [
|
|
25
|
+
{
|
|
26
|
+
type: "text",
|
|
27
|
+
text: `获取API信息失败: ${error.message}`,
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=useAPI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAPI.js","sourceRoot":"","sources":["../../src/tools/useAPI.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;CACpD,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAM;IACpC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACrD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO;iBACd;aACF;YACD,IAAI,EAAE;gBACJ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,cAAc,KAAK,CAAC,OAAO,EAAE;iBACpC;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/utils/define.js"],"names":[],"mappings":"AAQA;;;GAGG;AACH,6BAAoC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/utils/define.js"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 主函数
|
|
3
|
+
*/
|
|
4
|
+
export function searchApi(dirName: any, searchUrl: any): string;
|
|
5
|
+
/**
|
|
6
|
+
* 查找所有 services 目录下的 api.d.ts 文件
|
|
7
|
+
*/
|
|
8
|
+
export function findApiDtsFiles(servicesDir: any): any[];
|
|
9
|
+
/**
|
|
10
|
+
* 在指定的 api.d.ts 文件中搜索 URL
|
|
11
|
+
*/
|
|
12
|
+
export function searchUrlInFile(filePath: any, searchUrl: any): {
|
|
13
|
+
urlLineIndex: number;
|
|
14
|
+
lines: string[];
|
|
15
|
+
content: string;
|
|
16
|
+
} | null;
|
|
17
|
+
/**
|
|
18
|
+
* 向上查找 namespace 层级
|
|
19
|
+
*/
|
|
20
|
+
export function findNamespaceHierarchy(lines: any, startIndex: any): any[];
|
|
21
|
+
/**
|
|
22
|
+
* 提取 API 定义信息
|
|
23
|
+
*/
|
|
24
|
+
export function extractApiDefinition(lines: any, urlLineIndex: any): {
|
|
25
|
+
description: string;
|
|
26
|
+
url: string;
|
|
27
|
+
namespaceName: string;
|
|
28
|
+
params: null;
|
|
29
|
+
response: null;
|
|
30
|
+
bodyParams: null;
|
|
31
|
+
methods: never[];
|
|
32
|
+
defsTypes: never[];
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* 格式化输出结果
|
|
36
|
+
*/
|
|
37
|
+
export function formatResult(service: any, namespaceHierarchy: any, apiDef: any): string;
|
|
38
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.js"],"names":[],"mappings":"AAweA;;GAEG;AACH,gEA6CC;AA9gBD;;GAEG;AACH,yDAkBC;AAED;;GAEG;AACH;;;;SAgBC;AAED;;GAEG;AACH,2EAsCC;AAsDD;;GAEG;AACH;;;;;;;;;EAmMC;AAED;;GAEG;AACH,yFAsIC"}
|