@give-tech/lingxi-mcp-server 1.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 (42) hide show
  1. package/README.md +193 -0
  2. package/dist/client.d.ts +11 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +46 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/index.d.ts +8 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +88 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/lingxi-client.d.ts +59 -0
  11. package/dist/lingxi-client.d.ts.map +1 -0
  12. package/dist/lingxi-client.js +380 -0
  13. package/dist/lingxi-client.js.map +1 -0
  14. package/dist/tools/api.d.ts +176 -0
  15. package/dist/tools/api.d.ts.map +1 -0
  16. package/dist/tools/api.js +188 -0
  17. package/dist/tools/api.js.map +1 -0
  18. package/dist/tools/document.d.ts +103 -0
  19. package/dist/tools/document.d.ts.map +1 -0
  20. package/dist/tools/document.js +125 -0
  21. package/dist/tools/document.js.map +1 -0
  22. package/dist/tools/model.d.ts +176 -0
  23. package/dist/tools/model.d.ts.map +1 -0
  24. package/dist/tools/model.js +178 -0
  25. package/dist/tools/model.js.map +1 -0
  26. package/dist/tools/module.d.ts +111 -0
  27. package/dist/tools/module.d.ts.map +1 -0
  28. package/dist/tools/module.js +126 -0
  29. package/dist/tools/module.js.map +1 -0
  30. package/dist/tools/project.d.ts +17 -0
  31. package/dist/tools/project.d.ts.map +1 -0
  32. package/dist/tools/project.js +25 -0
  33. package/dist/tools/project.js.map +1 -0
  34. package/dist/tools/team.d.ts +92 -0
  35. package/dist/tools/team.d.ts.map +1 -0
  36. package/dist/tools/team.js +109 -0
  37. package/dist/tools/team.js.map +1 -0
  38. package/dist/types.d.ts +238 -0
  39. package/dist/types.d.ts.map +1 -0
  40. package/dist/types.js +3 -0
  41. package/dist/types.js.map +1 -0
  42. package/package.json +38 -0
@@ -0,0 +1,178 @@
1
+ // Model MCP Tools
2
+ import { z } from 'zod';
3
+ export function registerModelTools(client) {
4
+ return [
5
+ {
6
+ name: 'lingxi_list_models',
7
+ description: '获取模块的 Model 列表',
8
+ inputSchema: {
9
+ type: 'object',
10
+ properties: {
11
+ moduleId: {
12
+ type: 'string',
13
+ description: '模块ID',
14
+ },
15
+ },
16
+ required: ['moduleId'],
17
+ },
18
+ handler: async (input) => {
19
+ const { moduleId } = z.object({ moduleId: z.string() }).parse(input);
20
+ return await client.get(`/api/v1/modules/${moduleId}/models`);
21
+ },
22
+ },
23
+ {
24
+ name: 'lingxi_get_model',
25
+ description: '获取 Model 详情',
26
+ inputSchema: {
27
+ type: 'object',
28
+ properties: {
29
+ id: {
30
+ type: 'string',
31
+ description: 'Model ID',
32
+ },
33
+ },
34
+ required: ['id'],
35
+ },
36
+ handler: async (input) => {
37
+ const { id } = z.object({ id: z.string() }).parse(input);
38
+ return await client.get(`/api/v1/models/${id}`);
39
+ },
40
+ },
41
+ {
42
+ name: 'lingxi_create_model',
43
+ description: '创建新 Model',
44
+ inputSchema: {
45
+ type: 'object',
46
+ properties: {
47
+ moduleId: {
48
+ type: 'string',
49
+ description: '模块ID',
50
+ },
51
+ name: {
52
+ type: 'string',
53
+ description: 'Model 名称',
54
+ },
55
+ description: {
56
+ type: 'string',
57
+ description: 'Model 描述',
58
+ },
59
+ type: {
60
+ type: 'number',
61
+ description: 'Model 类型: 0-通用, 1-请求体, 2-响应体, 3-泛型',
62
+ },
63
+ generics: {
64
+ type: 'string',
65
+ description: '泛型参数',
66
+ },
67
+ fields: {
68
+ type: 'array',
69
+ description: '字段列表',
70
+ items: {
71
+ type: 'object',
72
+ properties: {
73
+ name: { type: 'string' },
74
+ type: { type: 'string' },
75
+ required: { type: 'boolean' },
76
+ description: { type: 'string' },
77
+ example: { type: 'string' },
78
+ },
79
+ },
80
+ },
81
+ },
82
+ required: ['moduleId', 'name'],
83
+ },
84
+ handler: async (input) => {
85
+ const data = z.object({
86
+ moduleId: z.string(),
87
+ name: z.string(),
88
+ description: z.string().optional(),
89
+ type: z.number().optional(),
90
+ generics: z.string().optional(),
91
+ fields: z.array(z.custom()).optional(),
92
+ }).parse(input);
93
+ return await client.post('/api/v1/models', {
94
+ module_id: data.moduleId,
95
+ name: data.name,
96
+ description: data.description,
97
+ type: data.type ?? 0,
98
+ generics: data.generics,
99
+ fields: data.fields,
100
+ });
101
+ },
102
+ },
103
+ {
104
+ name: 'lingxi_update_model',
105
+ description: '更新 Model 信息',
106
+ inputSchema: {
107
+ type: 'object',
108
+ properties: {
109
+ id: {
110
+ type: 'string',
111
+ description: 'Model ID',
112
+ },
113
+ name: {
114
+ type: 'string',
115
+ description: 'Model 名称',
116
+ },
117
+ description: {
118
+ type: 'string',
119
+ description: 'Model 描述',
120
+ },
121
+ type: {
122
+ type: 'number',
123
+ description: 'Model 类型',
124
+ },
125
+ generics: {
126
+ type: 'string',
127
+ description: '泛型参数',
128
+ },
129
+ fields: {
130
+ type: 'array',
131
+ description: '字段列表',
132
+ items: {
133
+ type: 'object',
134
+ properties: {
135
+ name: { type: 'string' },
136
+ type: { type: 'string' },
137
+ required: { type: 'boolean' },
138
+ description: { type: 'string' },
139
+ example: { type: 'string' },
140
+ },
141
+ },
142
+ },
143
+ },
144
+ required: ['id'],
145
+ },
146
+ handler: async (input) => {
147
+ const { id, ...data } = z.object({
148
+ id: z.string(),
149
+ name: z.string().optional(),
150
+ description: z.string().optional(),
151
+ type: z.number().optional(),
152
+ generics: z.string().optional(),
153
+ fields: z.array(z.custom()).optional(),
154
+ }).parse(input);
155
+ return await client.put(`/api/v1/models/${id}`, data);
156
+ },
157
+ },
158
+ {
159
+ name: 'lingxi_delete_model',
160
+ description: '删除 Model',
161
+ inputSchema: {
162
+ type: 'object',
163
+ properties: {
164
+ id: {
165
+ type: 'string',
166
+ description: 'Model ID',
167
+ },
168
+ },
169
+ required: ['id'],
170
+ },
171
+ handler: async (input) => {
172
+ const { id } = z.object({ id: z.string() }).parse(input);
173
+ return await client.delete(`/api/v1/models/${id}`);
174
+ },
175
+ },
176
+ ];
177
+ }
178
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/tools/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ import type { ApiClient } from '../client.js';
2
+ import type { Module } from '../types.js';
3
+ export declare function registerModuleTools(client: ApiClient): ({
4
+ name: string;
5
+ description: string;
6
+ inputSchema: {
7
+ type: "object";
8
+ properties: {
9
+ projectId: {
10
+ type: "string";
11
+ description: string;
12
+ };
13
+ id?: undefined;
14
+ name?: undefined;
15
+ description?: undefined;
16
+ parentId?: undefined;
17
+ };
18
+ required: string[];
19
+ };
20
+ handler: (input: unknown) => Promise<Module[]>;
21
+ } | {
22
+ name: string;
23
+ description: string;
24
+ inputSchema: {
25
+ type: "object";
26
+ properties: {
27
+ id: {
28
+ type: "string";
29
+ description: string;
30
+ };
31
+ projectId?: undefined;
32
+ name?: undefined;
33
+ description?: undefined;
34
+ parentId?: undefined;
35
+ };
36
+ required: string[];
37
+ };
38
+ handler: (input: unknown) => Promise<Module>;
39
+ } | {
40
+ name: string;
41
+ description: string;
42
+ inputSchema: {
43
+ type: "object";
44
+ properties: {
45
+ projectId: {
46
+ type: "string";
47
+ description: string;
48
+ };
49
+ name: {
50
+ type: "string";
51
+ description: string;
52
+ };
53
+ description: {
54
+ type: "string";
55
+ description: string;
56
+ };
57
+ parentId: {
58
+ type: "string";
59
+ description: string;
60
+ };
61
+ id?: undefined;
62
+ };
63
+ required: string[];
64
+ };
65
+ handler: (input: unknown) => Promise<Module>;
66
+ } | {
67
+ name: string;
68
+ description: string;
69
+ inputSchema: {
70
+ type: "object";
71
+ properties: {
72
+ id: {
73
+ type: "string";
74
+ description: string;
75
+ };
76
+ name: {
77
+ type: "string";
78
+ description: string;
79
+ };
80
+ description: {
81
+ type: "string";
82
+ description: string;
83
+ };
84
+ projectId?: undefined;
85
+ parentId?: undefined;
86
+ };
87
+ required: string[];
88
+ };
89
+ handler: (input: unknown) => Promise<Module>;
90
+ } | {
91
+ name: string;
92
+ description: string;
93
+ inputSchema: {
94
+ type: "object";
95
+ properties: {
96
+ id: {
97
+ type: "string";
98
+ description: string;
99
+ };
100
+ projectId?: undefined;
101
+ name?: undefined;
102
+ description?: undefined;
103
+ parentId?: undefined;
104
+ };
105
+ required: string[];
106
+ };
107
+ handler: (input: unknown) => Promise<{
108
+ message: string;
109
+ }>;
110
+ })[];
111
+ //# sourceMappingURL=module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/tools/module.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAA4C,MAAM,aAAa,CAAC;AAEpF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS;;;;;;;;;;;;;;;;;qBAexB,OAAO;;;;;;;;;;;;;;;;;;qBAkBP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA8BP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;qBAkCP,OAAO;;;;;;;;;;;;;;;;;;qBAsBP,OAAO;iBAEU,MAAM;;KAInD"}
@@ -0,0 +1,126 @@
1
+ // Module MCP Tools
2
+ import { z } from 'zod';
3
+ export function registerModuleTools(client) {
4
+ return [
5
+ {
6
+ name: 'lingxi_list_modules',
7
+ description: '获取项目的模块列表(树形结构)',
8
+ inputSchema: {
9
+ type: 'object',
10
+ properties: {
11
+ projectId: {
12
+ type: 'string',
13
+ description: '项目ID',
14
+ },
15
+ },
16
+ required: ['projectId'],
17
+ },
18
+ handler: async (input) => {
19
+ const { projectId } = z.object({ projectId: z.string() }).parse(input);
20
+ return await client.get(`/api/v1/projects/${projectId}/modules`);
21
+ },
22
+ },
23
+ {
24
+ name: 'lingxi_get_module',
25
+ description: '获取模块详情',
26
+ inputSchema: {
27
+ type: 'object',
28
+ properties: {
29
+ id: {
30
+ type: 'string',
31
+ description: '模块ID',
32
+ },
33
+ },
34
+ required: ['id'],
35
+ },
36
+ handler: async (input) => {
37
+ const { id } = z.object({ id: z.string() }).parse(input);
38
+ return await client.get(`/api/v1/modules/${id}`);
39
+ },
40
+ },
41
+ {
42
+ name: 'lingxi_create_module',
43
+ description: '创建新模块',
44
+ inputSchema: {
45
+ type: 'object',
46
+ properties: {
47
+ projectId: {
48
+ type: 'string',
49
+ description: '项目ID',
50
+ },
51
+ name: {
52
+ type: 'string',
53
+ description: '模块名称',
54
+ },
55
+ description: {
56
+ type: 'string',
57
+ description: '模块描述',
58
+ },
59
+ parentId: {
60
+ type: 'string',
61
+ description: '父模块ID(可选,用于创建子模块)',
62
+ },
63
+ },
64
+ required: ['projectId', 'name'],
65
+ },
66
+ handler: async (input) => {
67
+ const { projectId, ...data } = z.object({
68
+ projectId: z.string(),
69
+ name: z.string(),
70
+ description: z.string().optional(),
71
+ parentId: z.string().optional(),
72
+ }).parse(input);
73
+ return await client.post(`/api/v1/projects/${projectId}/modules`, { ...data, project_id: projectId });
74
+ },
75
+ },
76
+ {
77
+ name: 'lingxi_update_module',
78
+ description: '更新模块信息',
79
+ inputSchema: {
80
+ type: 'object',
81
+ properties: {
82
+ id: {
83
+ type: 'string',
84
+ description: '模块ID',
85
+ },
86
+ name: {
87
+ type: 'string',
88
+ description: '模块名称',
89
+ },
90
+ description: {
91
+ type: 'string',
92
+ description: '模块描述',
93
+ },
94
+ },
95
+ required: ['id'],
96
+ },
97
+ handler: async (input) => {
98
+ const { id, ...data } = z.object({
99
+ id: z.string(),
100
+ name: z.string().optional(),
101
+ description: z.string().optional(),
102
+ }).parse(input);
103
+ return await client.put(`/api/v1/modules/${id}`, data);
104
+ },
105
+ },
106
+ {
107
+ name: 'lingxi_delete_module',
108
+ description: '删除模块(级联删除子模块)',
109
+ inputSchema: {
110
+ type: 'object',
111
+ properties: {
112
+ id: {
113
+ type: 'string',
114
+ description: '模块ID',
115
+ },
116
+ },
117
+ required: ['id'],
118
+ },
119
+ handler: async (input) => {
120
+ const { id } = z.object({ id: z.string() }).parse(input);
121
+ return await client.delete(`/api/v1/modules/${id}`);
122
+ },
123
+ },
124
+ ];
125
+ }
126
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/tools/module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { ApiClient } from '../client.js';
2
+ export declare function registerProjectTools(client: ApiClient): {
3
+ name: string;
4
+ description: string;
5
+ inputSchema: {
6
+ type: "object";
7
+ properties: {
8
+ projectId: {
9
+ type: "string";
10
+ description: string;
11
+ };
12
+ };
13
+ required: string[];
14
+ };
15
+ handler: (input: unknown) => Promise<Record<string, Record<string, string>>>;
16
+ }[];
17
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/tools/project.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS;;;;;;;;;;;;;qBAezB,OAAO;IAQnC"}
@@ -0,0 +1,25 @@
1
+ // Project MCP Tools
2
+ import { z } from 'zod';
3
+ export function registerProjectTools(client) {
4
+ return [
5
+ {
6
+ name: 'lingxi_get_project_type_mapping',
7
+ description: '获取项目的类型映射配置',
8
+ inputSchema: {
9
+ type: 'object',
10
+ properties: {
11
+ projectId: {
12
+ type: 'string',
13
+ description: '项目ID',
14
+ },
15
+ },
16
+ required: ['projectId'],
17
+ },
18
+ handler: async (input) => {
19
+ const { projectId } = z.object({ projectId: z.string() }).parse(input);
20
+ return await client.get(`/api/v1/projects/${projectId}/type-mapping`);
21
+ },
22
+ },
23
+ ];
24
+ }
25
+ //# sourceMappingURL=project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/tools/project.ts"],"names":[],"mappings":"AAAA,oBAAoB;AAEpB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,OAAO;QACL;YACE,IAAI,EAAE,iCAAiC;YACvC,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAiB;wBACvB,WAAW,EAAE,MAAM;qBACpB;iBACF;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;aACxB;YACD,OAAO,EAAE,KAAK,EAAE,KAAc,EAAE,EAAE;gBAChC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvE,OAAO,MAAM,MAAM,CAAC,GAAG,CACrB,oBAAoB,SAAS,eAAe,CAC7C,CAAC;YACJ,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,92 @@
1
+ import type { ApiClient } from '../client.js';
2
+ import type { Team } from '../types.js';
3
+ export declare function registerTeamTools(client: ApiClient): ({
4
+ name: string;
5
+ description: string;
6
+ inputSchema: {
7
+ type: "object";
8
+ properties: {
9
+ id?: undefined;
10
+ name?: undefined;
11
+ description?: undefined;
12
+ };
13
+ required?: undefined;
14
+ };
15
+ handler: () => Promise<Team[]>;
16
+ } | {
17
+ name: string;
18
+ description: string;
19
+ inputSchema: {
20
+ type: "object";
21
+ properties: {
22
+ id: {
23
+ type: "string";
24
+ description: string;
25
+ };
26
+ name?: undefined;
27
+ description?: undefined;
28
+ };
29
+ required: string[];
30
+ };
31
+ handler: (input: unknown) => Promise<Team>;
32
+ } | {
33
+ name: string;
34
+ description: string;
35
+ inputSchema: {
36
+ type: "object";
37
+ properties: {
38
+ name: {
39
+ type: "string";
40
+ description: string;
41
+ };
42
+ description: {
43
+ type: "string";
44
+ description: string;
45
+ };
46
+ id?: undefined;
47
+ };
48
+ required: string[];
49
+ };
50
+ handler: (input: unknown) => Promise<Team>;
51
+ } | {
52
+ name: string;
53
+ description: string;
54
+ inputSchema: {
55
+ type: "object";
56
+ properties: {
57
+ id: {
58
+ type: "string";
59
+ description: string;
60
+ };
61
+ name: {
62
+ type: "string";
63
+ description: string;
64
+ };
65
+ description: {
66
+ type: "string";
67
+ description: string;
68
+ };
69
+ };
70
+ required: string[];
71
+ };
72
+ handler: (input: unknown) => Promise<Team>;
73
+ } | {
74
+ name: string;
75
+ description: string;
76
+ inputSchema: {
77
+ type: "object";
78
+ properties: {
79
+ id: {
80
+ type: "string";
81
+ description: string;
82
+ };
83
+ name?: undefined;
84
+ description?: undefined;
85
+ };
86
+ required: string[];
87
+ };
88
+ handler: (input: unknown) => Promise<{
89
+ message: string;
90
+ }>;
91
+ })[];
92
+ //# sourceMappingURL=team.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team.d.ts","sourceRoot":"","sources":["../../src/tools/team.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAwC,MAAM,aAAa,CAAC;AAE9E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA0BtB,OAAO;;;;;;;;;;;;;;;;;;;qBAsBP,OAAO;;;;;;;;;;;;;;;;;;;;;;qBA6BP,OAAO;;;;;;;;;;;;;;;;qBAsBP,OAAO;iBAEU,MAAM;;KAInD"}