@give-tech/lingxi-mcp-server 1.2.0 → 1.4.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.
@@ -17,6 +17,11 @@ export declare function registerApiTools(client: ApiClient): ({
17
17
  description?: undefined;
18
18
  tags?: undefined;
19
19
  status?: undefined;
20
+ pathParams?: undefined;
21
+ queryParams?: undefined;
22
+ headerParams?: undefined;
23
+ requestBody?: undefined;
24
+ responseBody?: undefined;
20
25
  };
21
26
  required: string[];
22
27
  };
@@ -38,6 +43,11 @@ export declare function registerApiTools(client: ApiClient): ({
38
43
  description?: undefined;
39
44
  tags?: undefined;
40
45
  status?: undefined;
46
+ pathParams?: undefined;
47
+ queryParams?: undefined;
48
+ headerParams?: undefined;
49
+ requestBody?: undefined;
50
+ responseBody?: undefined;
41
51
  };
42
52
  required: string[];
43
53
  };
@@ -70,14 +80,189 @@ export declare function registerApiTools(client: ApiClient): ({
70
80
  description: string;
71
81
  };
72
82
  tags: {
83
+ type: "string";
84
+ description: string;
85
+ };
86
+ status: {
87
+ type: "number";
88
+ description: string;
89
+ enum: number[];
90
+ };
91
+ pathParams: {
92
+ type: "array";
93
+ description: string;
94
+ items: {
95
+ type: "object";
96
+ properties: {
97
+ name: {
98
+ type: "string";
99
+ description: string;
100
+ };
101
+ type: {
102
+ type: "string";
103
+ description: string;
104
+ };
105
+ required: {
106
+ type: "boolean";
107
+ description: string;
108
+ };
109
+ description: {
110
+ type: "string";
111
+ description: string;
112
+ };
113
+ example: {
114
+ type: "string";
115
+ description: string;
116
+ };
117
+ };
118
+ };
119
+ };
120
+ queryParams: {
73
121
  type: "array";
122
+ description: string;
74
123
  items: {
75
- type: "string";
124
+ type: "object";
125
+ properties: {
126
+ name: {
127
+ type: "string";
128
+ description: string;
129
+ };
130
+ type: {
131
+ type: "string";
132
+ description: string;
133
+ };
134
+ required: {
135
+ type: "boolean";
136
+ description: string;
137
+ };
138
+ description: {
139
+ type: "string";
140
+ description: string;
141
+ };
142
+ default_value: {
143
+ type: "string";
144
+ description: string;
145
+ };
146
+ example: {
147
+ type: "string";
148
+ description: string;
149
+ };
150
+ enum_values: {
151
+ type: "array";
152
+ items: {
153
+ type: "string";
154
+ };
155
+ description: string;
156
+ };
157
+ items: {
158
+ type: "string";
159
+ description: string;
160
+ };
161
+ };
76
162
  };
163
+ };
164
+ headerParams: {
165
+ type: "array";
77
166
  description: string;
167
+ items: {
168
+ type: "object";
169
+ properties: {
170
+ name: {
171
+ type: "string";
172
+ description: string;
173
+ };
174
+ type: {
175
+ type: "string";
176
+ description: string;
177
+ };
178
+ required: {
179
+ type: "boolean";
180
+ description: string;
181
+ };
182
+ description: {
183
+ type: "string";
184
+ description: string;
185
+ };
186
+ default_value: {
187
+ type: "string";
188
+ description: string;
189
+ };
190
+ example: {
191
+ type: "string";
192
+ description: string;
193
+ };
194
+ };
195
+ };
196
+ };
197
+ requestBody: {
198
+ type: "object";
199
+ description: string;
200
+ properties: {
201
+ type: {
202
+ type: "string";
203
+ description: string;
204
+ };
205
+ format: {
206
+ type: "string";
207
+ description: string;
208
+ };
209
+ primitive_type: {
210
+ type: "string";
211
+ description: string;
212
+ };
213
+ model_id: {
214
+ type: "string";
215
+ description: string;
216
+ };
217
+ generic_model_id: {
218
+ type: "string";
219
+ description: string;
220
+ };
221
+ items: {
222
+ type: "object";
223
+ description: string;
224
+ };
225
+ fields: {
226
+ type: "array";
227
+ description: string;
228
+ };
229
+ };
230
+ };
231
+ responseBody: {
232
+ type: "object";
233
+ description: string;
234
+ properties: {
235
+ type: {
236
+ type: "string";
237
+ description: string;
238
+ };
239
+ format: {
240
+ type: "string";
241
+ description: string;
242
+ };
243
+ primitive_type: {
244
+ type: "string";
245
+ description: string;
246
+ };
247
+ model_id: {
248
+ type: "string";
249
+ description: string;
250
+ };
251
+ generic_model_id: {
252
+ type: "string";
253
+ description: string;
254
+ };
255
+ items: {
256
+ type: "object";
257
+ description: string;
258
+ };
259
+ fields: {
260
+ type: "array";
261
+ description: string;
262
+ };
263
+ };
78
264
  };
79
265
  id?: undefined;
80
- status?: undefined;
81
266
  };
82
267
  required: string[];
83
268
  };
@@ -110,13 +295,103 @@ export declare function registerApiTools(client: ApiClient): ({
110
295
  description: string;
111
296
  };
112
297
  tags: {
298
+ type: "string";
299
+ description: string;
300
+ };
301
+ status: {
302
+ type: "number";
303
+ description: string;
304
+ enum: number[];
305
+ };
306
+ pathParams: {
307
+ type: "array";
308
+ description: string;
309
+ items: {
310
+ type: "object";
311
+ properties?: undefined;
312
+ };
313
+ };
314
+ queryParams: {
315
+ type: "array";
316
+ description: string;
317
+ items: {
318
+ type: "object";
319
+ properties?: undefined;
320
+ };
321
+ };
322
+ headerParams: {
113
323
  type: "array";
324
+ description: string;
114
325
  items: {
115
- type: "string";
326
+ type: "object";
327
+ properties?: undefined;
116
328
  };
329
+ };
330
+ requestBody: {
331
+ type: "object";
332
+ description: string;
333
+ properties?: undefined;
334
+ };
335
+ responseBody: {
336
+ type: "object";
117
337
  description: string;
338
+ properties?: undefined;
118
339
  };
119
340
  moduleId?: undefined;
341
+ };
342
+ required: string[];
343
+ };
344
+ handler: (input: unknown) => Promise<Api>;
345
+ } | {
346
+ name: string;
347
+ description: string;
348
+ inputSchema: {
349
+ type: "object";
350
+ properties: {
351
+ id: {
352
+ type: "string";
353
+ description: string;
354
+ };
355
+ pathParams: {
356
+ type: "array";
357
+ description: string;
358
+ items: {
359
+ type: "object";
360
+ properties?: undefined;
361
+ };
362
+ };
363
+ queryParams: {
364
+ type: "array";
365
+ description: string;
366
+ items: {
367
+ type: "object";
368
+ properties?: undefined;
369
+ };
370
+ };
371
+ headerParams: {
372
+ type: "array";
373
+ description: string;
374
+ items: {
375
+ type: "object";
376
+ properties?: undefined;
377
+ };
378
+ };
379
+ requestBody: {
380
+ type: "object";
381
+ description: string;
382
+ properties?: undefined;
383
+ };
384
+ responseBody: {
385
+ type: "object";
386
+ description: string;
387
+ properties?: undefined;
388
+ };
389
+ moduleId?: undefined;
390
+ name?: undefined;
391
+ method?: undefined;
392
+ path?: undefined;
393
+ description?: undefined;
394
+ tags?: undefined;
120
395
  status?: undefined;
121
396
  };
122
397
  required: string[];
@@ -139,6 +414,11 @@ export declare function registerApiTools(client: ApiClient): ({
139
414
  description?: undefined;
140
415
  tags?: undefined;
141
416
  status?: undefined;
417
+ pathParams?: undefined;
418
+ queryParams?: undefined;
419
+ headerParams?: undefined;
420
+ requestBody?: undefined;
421
+ responseBody?: undefined;
142
422
  };
143
423
  required: string[];
144
424
  };
@@ -166,6 +446,11 @@ export declare function registerApiTools(client: ApiClient): ({
166
446
  path?: undefined;
167
447
  description?: undefined;
168
448
  tags?: undefined;
449
+ pathParams?: undefined;
450
+ queryParams?: undefined;
451
+ headerParams?: undefined;
452
+ requestBody?: undefined;
453
+ responseBody?: undefined;
169
454
  };
170
455
  required: string[];
171
456
  };
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/tools/api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,GAAG,EAAsC,MAAM,aAAa,CAAC;AAE3E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;qBAerB,OAAO;;;;;;;;;;;;;;;;;;;;;qBAkBP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAwCP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAsDP,OAAO;;;;;;;;;;;;;;;;;;;;;qBAyBP,OAAO;iBAEU,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;qBAqBvB,OAAO;iBAKO,MAAM;;KAOhD"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/tools/api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAqEvC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;qBAerB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;qBAkBP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAoHP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA8FP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAmEP,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;qBA+BP,OAAO;iBAEU,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAqBvB,OAAO;iBAKO,MAAM;;KAOhD"}
package/dist/tools/api.js CHANGED
@@ -1,5 +1,65 @@
1
1
  // API MCP Tools
2
2
  import { z } from 'zod';
3
+ // 参数类型定义
4
+ const PathParamSchema = z.object({
5
+ name: z.string().describe('参数名称'),
6
+ type: z.string().describe('参数类型: string, integer, decimal, boolean'),
7
+ required: z.boolean().optional().default(true).describe('是否必填'),
8
+ description: z.string().optional().describe('描述'),
9
+ example: z.string().optional().describe('示例值'),
10
+ });
11
+ const QueryParamSchema = z.object({
12
+ name: z.string().describe('参数名称'),
13
+ type: z.string().describe('参数类型: string, integer, decimal, boolean, array, enum'),
14
+ required: z.boolean().optional().default(false).describe('是否必填'),
15
+ nullable: z.boolean().optional().describe('是否可为 null'),
16
+ description: z.string().optional().describe('描述'),
17
+ default_value: z.string().optional().describe('默认值'),
18
+ example: z.string().optional().describe('示例值'),
19
+ enum_values: z.array(z.string()).optional().describe('枚举值列表 (type=enum 时)'),
20
+ items: z.string().optional().describe('数组元素类型 (type=array 时)'),
21
+ });
22
+ const HeaderParamSchema = z.object({
23
+ name: z.string().describe('Header 名称'),
24
+ type: z.string().describe('参数类型: string, integer, decimal, boolean'),
25
+ required: z.boolean().optional().default(false).describe('是否必填'),
26
+ description: z.string().optional().describe('描述'),
27
+ default_value: z.string().optional().describe('默认值'),
28
+ example: z.string().optional().describe('示例值'),
29
+ });
30
+ const GenericParamSchema = z.object({
31
+ type: z.string().describe('参数类型: primitive, model, anonymous'),
32
+ model_id: z.string().optional().describe('Model ID (type=model 时)'),
33
+ fields: z.array(z.any()).optional().describe('字段列表 (type=anonymous 时)'),
34
+ });
35
+ const BodyItemsTypeSchema = z.object({
36
+ type: z.string().describe('元素类型: primitive, model, generic_model, anonymous'),
37
+ primitive_type: z.string().optional().describe('基础类型 (type=primitive 时)'),
38
+ model_id: z.string().optional().describe('Model ID (type=model 时)'),
39
+ generic_model_id: z.string().optional().describe('泛型 Model ID (type=generic_model 时)'),
40
+ generic_params: z.array(GenericParamSchema).optional().describe('泛型参数'),
41
+ fields: z.array(z.any()).optional().describe('字段列表 (type=anonymous 时)'),
42
+ });
43
+ const RequestBodySchema = z.object({
44
+ type: z.string().describe('类型: primitive, model, generic_model, array, anonymous'),
45
+ format: z.string().optional().describe('传输格式: json, xml, form-data'),
46
+ primitive_type: z.string().optional().describe('基础类型 (type=primitive 时)'),
47
+ model_id: z.string().optional().describe('Model ID (type=model 时)'),
48
+ generic_model_id: z.string().optional().describe('泛型 Model ID (type=generic_model 时)'),
49
+ generic_params: z.array(GenericParamSchema).optional().describe('泛型参数'),
50
+ items: BodyItemsTypeSchema.optional().describe('数组元素类型 (type=array 时)'),
51
+ fields: z.array(z.any()).optional().describe('字段列表 (type=anonymous 时)'),
52
+ });
53
+ const ResponseBodySchema = z.object({
54
+ type: z.string().describe('类型: primitive, model, generic_model, array, anonymous'),
55
+ format: z.string().optional().describe('传输格式: json, xml'),
56
+ primitive_type: z.string().optional().describe('基础类型 (type=primitive 时)'),
57
+ model_id: z.string().optional().describe('Model ID (type=model 时)'),
58
+ generic_model_id: z.string().optional().describe('泛型 Model ID (type=generic_model 时)'),
59
+ generic_params: z.array(GenericParamSchema).optional().describe('泛型参数'),
60
+ items: BodyItemsTypeSchema.optional().describe('数组元素类型 (type=array 时)'),
61
+ fields: z.array(z.any()).optional().describe('字段列表 (type=anonymous 时)'),
62
+ });
3
63
  export function registerApiTools(client) {
4
64
  return [
5
65
  {
@@ -40,7 +100,7 @@ export function registerApiTools(client) {
40
100
  },
41
101
  {
42
102
  name: 'lingxi_create_api',
43
- description: '创建新 API',
103
+ description: '创建新 API(支持完整的入参出参定义)',
44
104
  inputSchema: {
45
105
  type: 'object',
46
106
  properties: {
@@ -59,16 +119,92 @@ export function registerApiTools(client) {
59
119
  },
60
120
  path: {
61
121
  type: 'string',
62
- description: '请求路径',
122
+ description: '请求路径,如 /api/v1/users/{id}',
63
123
  },
64
124
  description: {
65
125
  type: 'string',
66
126
  description: 'API 描述',
67
127
  },
68
128
  tags: {
129
+ type: 'string',
130
+ description: '标签(逗号分隔)',
131
+ },
132
+ status: {
133
+ type: 'number',
134
+ description: '状态: 1-开发中, 2-已发布, 3-已弃用, 4-已归档',
135
+ enum: [1, 2, 3, 4],
136
+ },
137
+ pathParams: {
69
138
  type: 'array',
70
- items: { type: 'string' },
71
- description: '标签列表',
139
+ description: '路径参数列表',
140
+ items: {
141
+ type: 'object',
142
+ properties: {
143
+ name: { type: 'string', description: '参数名称' },
144
+ type: { type: 'string', description: '参数类型' },
145
+ required: { type: 'boolean', description: '是否必填' },
146
+ description: { type: 'string', description: '描述' },
147
+ example: { type: 'string', description: '示例值' },
148
+ },
149
+ },
150
+ },
151
+ queryParams: {
152
+ type: 'array',
153
+ description: '查询参数列表',
154
+ items: {
155
+ type: 'object',
156
+ properties: {
157
+ name: { type: 'string', description: '参数名称' },
158
+ type: { type: 'string', description: '参数类型' },
159
+ required: { type: 'boolean', description: '是否必填' },
160
+ description: { type: 'string', description: '描述' },
161
+ default_value: { type: 'string', description: '默认值' },
162
+ example: { type: 'string', description: '示例值' },
163
+ enum_values: { type: 'array', items: { type: 'string' }, description: '枚举值' },
164
+ items: { type: 'string', description: '数组元素类型' },
165
+ },
166
+ },
167
+ },
168
+ headerParams: {
169
+ type: 'array',
170
+ description: '请求头参数列表',
171
+ items: {
172
+ type: 'object',
173
+ properties: {
174
+ name: { type: 'string', description: 'Header 名称' },
175
+ type: { type: 'string', description: '参数类型' },
176
+ required: { type: 'boolean', description: '是否必填' },
177
+ description: { type: 'string', description: '描述' },
178
+ default_value: { type: 'string', description: '默认值' },
179
+ example: { type: 'string', description: '示例值' },
180
+ },
181
+ },
182
+ },
183
+ requestBody: {
184
+ type: 'object',
185
+ description: '请求体定义',
186
+ properties: {
187
+ type: { type: 'string', description: '类型: primitive/model/generic_model/array/anonymous' },
188
+ format: { type: 'string', description: '格式: json/xml/form-data' },
189
+ primitive_type: { type: 'string', description: '基础类型' },
190
+ model_id: { type: 'string', description: '引用的 Model ID' },
191
+ generic_model_id: { type: 'string', description: '泛型 Model ID' },
192
+ items: { type: 'object', description: '数组元素定义' },
193
+ fields: { type: 'array', description: '匿名字段列表' },
194
+ },
195
+ },
196
+ responseBody: {
197
+ type: 'object',
198
+ description: '响应体定义',
199
+ properties: {
200
+ type: { type: 'string', description: '类型: primitive/model/generic_model/array/anonymous' },
201
+ format: { type: 'string', description: '格式: json/xml' },
202
+ primitive_type: { type: 'string', description: '基础类型' },
203
+ model_id: { type: 'string', description: '引用的 Model ID' },
204
+ generic_model_id: { type: 'string', description: '泛型 Model ID' },
205
+ items: { type: 'object', description: '数组元素定义' },
206
+ fields: { type: 'array', description: '匿名字段列表' },
207
+ },
72
208
  },
73
209
  },
74
210
  required: ['moduleId', 'name', 'method', 'path'],
@@ -80,7 +216,13 @@ export function registerApiTools(client) {
80
216
  method: z.enum(['GET', 'POST', 'PUT', 'DELETE', 'PATCH']),
81
217
  path: z.string(),
82
218
  description: z.string().optional(),
83
- tags: z.array(z.string()).optional(),
219
+ tags: z.string().optional(),
220
+ status: z.number().optional(),
221
+ pathParams: z.array(PathParamSchema).optional(),
222
+ queryParams: z.array(QueryParamSchema).optional(),
223
+ headerParams: z.array(HeaderParamSchema).optional(),
224
+ requestBody: RequestBodySchema.optional(),
225
+ responseBody: ResponseBodySchema.optional(),
84
226
  }).parse(input);
85
227
  return await client.post('/api/v1/apis', {
86
228
  module_id: data.moduleId,
@@ -89,12 +231,18 @@ export function registerApiTools(client) {
89
231
  path: data.path,
90
232
  description: data.description,
91
233
  tags: data.tags,
234
+ status: data.status,
235
+ path_params: data.pathParams,
236
+ query_params: data.queryParams,
237
+ header_params: data.headerParams,
238
+ request_body: data.requestBody,
239
+ response_body: data.responseBody,
92
240
  });
93
241
  },
94
242
  },
95
243
  {
96
244
  name: 'lingxi_update_api',
97
- description: '更新 API 信息',
245
+ description: '更新 API 信息(支持更新入参出参)',
98
246
  inputSchema: {
99
247
  type: 'object',
100
248
  properties: {
@@ -120,9 +268,36 @@ export function registerApiTools(client) {
120
268
  description: 'API 描述',
121
269
  },
122
270
  tags: {
271
+ type: 'string',
272
+ description: '标签',
273
+ },
274
+ status: {
275
+ type: 'number',
276
+ description: '状态',
277
+ enum: [1, 2, 3, 4],
278
+ },
279
+ pathParams: {
280
+ type: 'array',
281
+ description: '路径参数列表',
282
+ items: { type: 'object' },
283
+ },
284
+ queryParams: {
123
285
  type: 'array',
124
- items: { type: 'string' },
125
- description: '标签列表',
286
+ description: '查询参数列表',
287
+ items: { type: 'object' },
288
+ },
289
+ headerParams: {
290
+ type: 'array',
291
+ description: '请求头参数列表',
292
+ items: { type: 'object' },
293
+ },
294
+ requestBody: {
295
+ type: 'object',
296
+ description: '请求体定义',
297
+ },
298
+ responseBody: {
299
+ type: 'object',
300
+ description: '响应体定义',
126
301
  },
127
302
  },
128
303
  required: ['id'],
@@ -134,9 +309,81 @@ export function registerApiTools(client) {
134
309
  method: z.enum(['GET', 'POST', 'PUT', 'DELETE', 'PATCH']).optional(),
135
310
  path: z.string().optional(),
136
311
  description: z.string().optional(),
137
- tags: z.array(z.string()).optional(),
312
+ tags: z.string().optional(),
313
+ status: z.number().optional(),
314
+ pathParams: z.array(z.any()).optional(),
315
+ queryParams: z.array(z.any()).optional(),
316
+ headerParams: z.array(z.any()).optional(),
317
+ requestBody: z.any().optional(),
318
+ responseBody: z.any().optional(),
138
319
  }).parse(input);
139
- return await client.put(`/api/v1/apis/${id}`, data);
320
+ return await client.put(`/api/v1/apis/${id}`, {
321
+ name: data.name,
322
+ method: data.method,
323
+ path: data.path,
324
+ description: data.description,
325
+ tags: data.tags,
326
+ status: data.status,
327
+ path_params: data.pathParams,
328
+ query_params: data.queryParams,
329
+ header_params: data.headerParams,
330
+ request_body: data.requestBody,
331
+ response_body: data.responseBody,
332
+ });
333
+ },
334
+ },
335
+ {
336
+ name: 'lingxi_update_api_params',
337
+ description: '单独更新 API 的参数配置(路径参数、查询参数、请求头、请求体、响应体)',
338
+ inputSchema: {
339
+ type: 'object',
340
+ properties: {
341
+ id: {
342
+ type: 'string',
343
+ description: 'API ID',
344
+ },
345
+ pathParams: {
346
+ type: 'array',
347
+ description: '路径参数列表',
348
+ items: { type: 'object' },
349
+ },
350
+ queryParams: {
351
+ type: 'array',
352
+ description: '查询参数列表',
353
+ items: { type: 'object' },
354
+ },
355
+ headerParams: {
356
+ type: 'array',
357
+ description: '请求头参数列表',
358
+ items: { type: 'object' },
359
+ },
360
+ requestBody: {
361
+ type: 'object',
362
+ description: '请求体定义',
363
+ },
364
+ responseBody: {
365
+ type: 'object',
366
+ description: '响应体定义',
367
+ },
368
+ },
369
+ required: ['id'],
370
+ },
371
+ handler: async (input) => {
372
+ const { id, pathParams, queryParams, headerParams, requestBody, responseBody } = z.object({
373
+ id: z.string(),
374
+ pathParams: z.array(z.any()).optional(),
375
+ queryParams: z.array(z.any()).optional(),
376
+ headerParams: z.array(z.any()).optional(),
377
+ requestBody: z.any().optional(),
378
+ responseBody: z.any().optional(),
379
+ }).parse(input);
380
+ return await client.put(`/api/v1/apis/${id}/params`, {
381
+ path_params: pathParams,
382
+ query_params: queryParams,
383
+ header_params: headerParams,
384
+ request_body: requestBody,
385
+ response_body: responseBody,
386
+ });
140
387
  },
141
388
  },
142
389
  {