swagger-parser-mcp-server 1.0.5 → 1.1.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 (36) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +127 -206
  3. package/dist/index.js.map +1 -1
  4. package/dist/schemas.d.ts +58 -0
  5. package/dist/schemas.d.ts.map +1 -0
  6. package/dist/schemas.js +32 -0
  7. package/dist/schemas.js.map +1 -0
  8. package/dist/tests/edgeCases.test.d.ts +2 -0
  9. package/dist/tests/edgeCases.test.d.ts.map +1 -0
  10. package/dist/tests/edgeCases.test.js +364 -0
  11. package/dist/tests/edgeCases.test.js.map +1 -0
  12. package/dist/tests/integration.test.d.ts +2 -0
  13. package/dist/tests/integration.test.d.ts.map +1 -0
  14. package/dist/tests/integration.test.js +382 -0
  15. package/dist/tests/integration.test.js.map +1 -0
  16. package/dist/tests/realWorldValidation.test.d.ts +2 -0
  17. package/dist/tests/realWorldValidation.test.d.ts.map +1 -0
  18. package/dist/tests/realWorldValidation.test.js +398 -0
  19. package/dist/tests/realWorldValidation.test.js.map +1 -0
  20. package/dist/tests/schemaResolver.test.d.ts +2 -0
  21. package/dist/tests/schemaResolver.test.d.ts.map +1 -0
  22. package/dist/tests/schemaResolver.test.js +322 -0
  23. package/dist/tests/schemaResolver.test.js.map +1 -0
  24. package/dist/utils/schemaResolver.d.ts +34 -0
  25. package/dist/utils/schemaResolver.d.ts.map +1 -0
  26. package/dist/utils/schemaResolver.js +255 -0
  27. package/dist/utils/schemaResolver.js.map +1 -0
  28. package/dist/utils/swaggerCache.d.ts +53 -0
  29. package/dist/utils/swaggerCache.d.ts.map +1 -0
  30. package/dist/utils/swaggerCache.js +146 -0
  31. package/dist/utils/swaggerCache.js.map +1 -0
  32. package/dist/utils/types.d.ts +73 -0
  33. package/dist/utils/types.d.ts.map +1 -0
  34. package/dist/utils/types.js +20 -0
  35. package/dist/utils/types.js.map +1 -0
  36. package/package.json +31 -9
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
+ #!/usr/bin/env node
1
2
  export {};
2
3
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,15 +1,25 @@
1
+ #!/usr/bin/env node
1
2
  // swagger-parser-server.ts
2
- import { Server } from "@modelcontextprotocol/sdk/server/index.js";
3
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
4
- import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
5
- import axios from "axios";
3
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
4
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
5
+ import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
6
+ import { SwaggerCache } from './utils/swaggerCache.js';
7
+ import { SchemaResolver } from './utils/schemaResolver.js';
8
+ import { loadSwaggerSchema, getControllersSchema, getPathsByControllerSchema, getPathDetailsSchema, resolveSchemaSchema, } from './schemas.js';
6
9
  class SwaggerParserServer {
7
10
  server;
8
- swaggerCache = new Map();
11
+ swaggerCache;
12
+ schemaResolver;
9
13
  constructor() {
14
+ this.swaggerCache = new SwaggerCache();
15
+ this.schemaResolver = new SchemaResolver({
16
+ maxDepth: 10,
17
+ includeCircularRefs: false, // Prevent stack overflow by default
18
+ circularRefPlaceholder: '[Circular Reference]',
19
+ });
10
20
  this.server = new Server({
11
- name: "swagger-parser-server",
12
- version: "1.0.0",
21
+ name: 'swagger-parser-server',
22
+ version: '1.0.0',
13
23
  }, {
14
24
  capabilities: {
15
25
  tools: {},
@@ -19,93 +29,32 @@ class SwaggerParserServer {
19
29
  }
20
30
  setupHandlers() {
21
31
  // 도구 목록 제공
22
- this.server.setRequestHandler(ListToolsRequestSchema, async () => ({
32
+ this.server.setRequestHandler(ListToolsRequestSchema, () => ({
23
33
  tools: [
24
34
  {
25
- name: "load_swagger",
26
- description: "Swagger/OpenAPI JSON URL을 로드합니다",
27
- inputSchema: {
28
- type: "object",
29
- properties: {
30
- url: {
31
- type: "string",
32
- description: "Swagger JSON URL",
33
- },
34
- },
35
- required: ["url"],
36
- },
35
+ name: 'load_swagger',
36
+ description: 'Swagger/OpenAPI JSON URL을 로드합니다',
37
+ inputSchema: loadSwaggerSchema,
37
38
  },
38
39
  {
39
- name: "get_controllers",
40
- description: "모든 컨트롤러(태그) 목록을 가져옵니다",
41
- inputSchema: {
42
- type: "object",
43
- properties: {
44
- url: {
45
- type: "string",
46
- description: "Swagger JSON URL",
47
- },
48
- },
49
- required: ["url"],
50
- },
40
+ name: 'get_controllers',
41
+ description: '모든 컨트롤러(태그) 목록을 가져옵니다',
42
+ inputSchema: getControllersSchema,
51
43
  },
52
44
  {
53
- name: "get_paths_by_controller",
54
- description: "특정 컨트롤러의 모든 path를 가져옵니다",
55
- inputSchema: {
56
- type: "object",
57
- properties: {
58
- url: {
59
- type: "string",
60
- description: "Swagger JSON URL",
61
- },
62
- controller: {
63
- type: "string",
64
- description: "컨트롤러 이름 (태그)",
65
- },
66
- },
67
- required: ["url", "controller"],
68
- },
45
+ name: 'get_paths_by_controller',
46
+ description: '특정 컨트롤러의 모든 path를 가져옵니다',
47
+ inputSchema: getPathsByControllerSchema,
69
48
  },
70
49
  {
71
- name: "get_path_details",
72
- description: "특정 path의 상세 정보를 가져옵니다",
73
- inputSchema: {
74
- type: "object",
75
- properties: {
76
- url: {
77
- type: "string",
78
- description: "Swagger JSON URL",
79
- },
80
- path: {
81
- type: "string",
82
- description: "API path (예: /users/{id})",
83
- },
84
- method: {
85
- type: "string",
86
- description: "HTTP method (get, post, put, delete 등)",
87
- },
88
- },
89
- required: ["url", "path", "method"],
90
- },
50
+ name: 'get_path_details',
51
+ description: '특정 path의 상세 정보를 가져옵니다',
52
+ inputSchema: getPathDetailsSchema,
91
53
  },
92
54
  {
93
- name: "resolve_schema",
94
- description: "$ref를 해결하여 실제 스키마를 가져옵니다",
95
- inputSchema: {
96
- type: "object",
97
- properties: {
98
- url: {
99
- type: "string",
100
- description: "Swagger JSON URL",
101
- },
102
- ref: {
103
- type: "string",
104
- description: "$ref 경로 (예: #/components/schemas/User)",
105
- },
106
- },
107
- required: ["url", "ref"],
108
- },
55
+ name: 'resolve_schema',
56
+ description: '$ref를 해결하여 실제 스키마를 가져옵니다',
57
+ inputSchema: resolveSchemaSchema,
109
58
  },
110
59
  ],
111
60
  }));
@@ -114,26 +63,37 @@ class SwaggerParserServer {
114
63
  const { name, arguments: args } = request.params;
115
64
  try {
116
65
  switch (name) {
117
- case "load_swagger":
118
- return await this.loadSwagger(args?.url);
119
- case "get_controllers":
120
- return await this.getControllers(args?.url);
121
- case "get_paths_by_controller":
122
- return await this.getPathsByController(args?.url, args?.controller);
123
- case "get_path_details":
124
- return await this.getPathDetails(args?.url, args?.path, args?.method);
125
- case "resolve_schema":
126
- return await this.resolveSchema(args?.url, args?.ref);
66
+ case 'load_swagger': {
67
+ const validatedArgs = loadSwaggerSchema.parse(args);
68
+ return await this.loadSwagger(validatedArgs.url);
69
+ }
70
+ case 'get_controllers': {
71
+ const validatedArgs = getControllersSchema.parse(args);
72
+ return await this.getControllers(validatedArgs.url);
73
+ }
74
+ case 'get_paths_by_controller': {
75
+ const validatedArgs = getPathsByControllerSchema.parse(args);
76
+ return await this.getPathsByController(validatedArgs.url, validatedArgs.controller);
77
+ }
78
+ case 'get_path_details': {
79
+ const validatedArgs = getPathDetailsSchema.parse(args);
80
+ return await this.getPathDetails(validatedArgs.url, validatedArgs.path, validatedArgs.method);
81
+ }
82
+ case 'resolve_schema': {
83
+ const validatedArgs = resolveSchemaSchema.parse(args);
84
+ return await this.resolveSchema(validatedArgs.url, validatedArgs.ref);
85
+ }
127
86
  default:
128
87
  throw new Error(`Unknown tool: ${name}`);
129
88
  }
130
89
  }
131
90
  catch (error) {
91
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
132
92
  return {
133
93
  content: [
134
94
  {
135
- type: "text",
136
- text: `Error: ${error.message}`,
95
+ type: 'text',
96
+ text: `Error: ${errorMessage}`,
137
97
  },
138
98
  ],
139
99
  };
@@ -142,13 +102,11 @@ class SwaggerParserServer {
142
102
  }
143
103
  async loadSwagger(url) {
144
104
  try {
145
- const response = await axios.get(url);
146
- const swagger = response.data;
147
- this.swaggerCache.set(url, swagger);
105
+ const swagger = await this.swaggerCache.load(url);
148
106
  return {
149
107
  content: [
150
108
  {
151
- type: "text",
109
+ type: 'text',
152
110
  text: JSON.stringify({
153
111
  success: true,
154
112
  info: swagger.info,
@@ -160,21 +118,24 @@ class SwaggerParserServer {
160
118
  };
161
119
  }
162
120
  catch (error) {
163
- throw new Error(`Failed to load Swagger: ${error.message}`);
121
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
122
+ throw new Error(`Failed to load Swagger: ${errorMessage}`);
164
123
  }
165
124
  }
166
125
  async getSwagger(url) {
167
- if (!this.swaggerCache.has(url)) {
168
- await this.loadSwagger(url);
169
- }
170
- return this.swaggerCache.get(url);
126
+ return await this.swaggerCache.getOrLoad(url);
171
127
  }
172
128
  async getControllers(url) {
173
129
  const swagger = await this.getSwagger(url);
174
130
  const controllers = new Set();
175
- Object.values(swagger.paths).forEach(pathItem => {
176
- Object.values(pathItem).forEach((operation) => {
177
- if (operation.tags) {
131
+ Object.values(swagger.paths || {}).forEach(pathItem => {
132
+ if (!pathItem)
133
+ return;
134
+ // Check each HTTP method
135
+ const methods = ['get', 'post', 'put', 'delete', 'patch', 'head', 'options'];
136
+ methods.forEach(method => {
137
+ const operation = pathItem[method];
138
+ if (operation?.tags) {
178
139
  operation.tags.forEach((tag) => controllers.add(tag));
179
140
  }
180
141
  });
@@ -182,7 +143,7 @@ class SwaggerParserServer {
182
143
  return {
183
144
  content: [
184
145
  {
185
- type: "text",
146
+ type: 'text',
186
147
  text: JSON.stringify({
187
148
  controllers: Array.from(controllers),
188
149
  count: controllers.size,
@@ -194,9 +155,14 @@ class SwaggerParserServer {
194
155
  async getPathsByController(url, controller) {
195
156
  const swagger = await this.getSwagger(url);
196
157
  const paths = [];
197
- Object.entries(swagger.paths).forEach(([path, pathItem]) => {
198
- Object.entries(pathItem).forEach(([method, operation]) => {
199
- if (operation.tags?.includes(controller)) {
158
+ Object.entries(swagger.paths || {}).forEach(([path, pathItem]) => {
159
+ if (!pathItem)
160
+ return;
161
+ // Check each HTTP method
162
+ const methods = ['get', 'post', 'put', 'delete', 'patch', 'head', 'options'];
163
+ methods.forEach(method => {
164
+ const operation = pathItem[method];
165
+ if (operation?.tags?.includes(controller)) {
200
166
  paths.push({
201
167
  path,
202
168
  method,
@@ -210,7 +176,7 @@ class SwaggerParserServer {
210
176
  return {
211
177
  content: [
212
178
  {
213
- type: "text",
179
+ type: 'text',
214
180
  text: JSON.stringify({
215
181
  controller,
216
182
  paths,
@@ -222,28 +188,43 @@ class SwaggerParserServer {
222
188
  }
223
189
  async getPathDetails(url, path, method) {
224
190
  const swagger = await this.getSwagger(url);
225
- const operation = swagger.paths[path]?.[method.toLowerCase()];
226
- if (!operation) {
191
+ const pathItem = swagger.paths?.[path];
192
+ const operation = pathItem?.[method.toLowerCase()];
193
+ if (!operation || typeof operation !== 'object') {
227
194
  throw new Error(`Path ${method.toUpperCase()} ${path} not found`);
228
195
  }
229
196
  // 파라미터 정보 추출
230
- const parameters = operation.parameters?.map(param => ({
231
- name: param.name,
232
- in: param.in,
233
- required: param.required,
234
- description: param.description,
235
- schema: this.resolveSchemaReference(param.schema, swagger),
236
- })) || [];
197
+ const parameters = operation.parameters?.map(param => {
198
+ // Handle $ref parameters by resolving them first
199
+ if ('$ref' in param) {
200
+ const resolvedParam = this.schemaResolver.resolveRef(param.$ref, swagger);
201
+ return {
202
+ name: resolvedParam.name,
203
+ in: resolvedParam.in,
204
+ required: resolvedParam.required,
205
+ description: resolvedParam.description,
206
+ schema: this.schemaResolver.resolveSchemaReference(resolvedParam.schema, swagger),
207
+ };
208
+ }
209
+ return {
210
+ name: param.name,
211
+ in: param.in,
212
+ required: param.required,
213
+ description: param.description,
214
+ schema: this.schemaResolver.resolveSchemaReference(param.schema, swagger),
215
+ };
216
+ }) || [];
237
217
  // Request Body 정보 추출
238
218
  let requestBody = null;
239
- if (operation.requestBody?.content) {
219
+ if (operation.requestBody && 'content' in operation.requestBody && operation.requestBody.content) {
240
220
  const content = operation.requestBody.content;
241
221
  const mediaType = Object.keys(content)[0];
242
- if (content[mediaType]?.schema) {
222
+ const mediaTypeObj = content[mediaType];
223
+ if (mediaTypeObj?.schema) {
243
224
  requestBody = {
244
225
  required: operation.requestBody.required,
245
226
  mediaType,
246
- schema: this.resolveSchemaReference(content[mediaType].schema, swagger),
227
+ schema: this.schemaResolver.resolveSchemaReference(mediaTypeObj.schema, swagger),
247
228
  };
248
229
  }
249
230
  }
@@ -251,112 +232,52 @@ class SwaggerParserServer {
251
232
  const responses = {};
252
233
  if (operation.responses) {
253
234
  Object.entries(operation.responses).forEach(([statusCode, response]) => {
254
- if (response.content) {
235
+ if (response && typeof response === 'object' && 'content' in response && response.content) {
255
236
  const content = response.content;
256
237
  const mediaType = Object.keys(content)[0];
257
- if (content[mediaType]?.schema) {
238
+ const mediaTypeObj = content[mediaType];
239
+ if (mediaTypeObj?.schema) {
258
240
  responses[statusCode] = {
259
241
  description: response.description,
260
242
  mediaType,
261
- schema: this.resolveSchemaReference(content[mediaType].schema, swagger),
243
+ schema: this.schemaResolver.resolveSchemaReference(mediaTypeObj.schema, swagger),
262
244
  };
263
245
  }
264
246
  }
265
- else {
247
+ else if (response && typeof response === 'object' && 'description' in response) {
266
248
  responses[statusCode] = {
267
249
  description: response.description,
268
250
  };
269
251
  }
270
252
  });
271
253
  }
254
+ const pathDetails = {
255
+ path,
256
+ method: method.toUpperCase(),
257
+ operationId: operation.operationId,
258
+ summary: operation.summary,
259
+ description: operation.description,
260
+ tags: operation.tags,
261
+ parameters,
262
+ requestBody: requestBody || undefined,
263
+ responses,
264
+ };
272
265
  return {
273
266
  content: [
274
267
  {
275
- type: "text",
276
- text: JSON.stringify({
277
- path,
278
- method: method.toUpperCase(),
279
- operationId: operation.operationId,
280
- summary: operation.summary,
281
- description: operation.description,
282
- tags: operation.tags,
283
- parameters,
284
- requestBody,
285
- responses,
286
- }, null, 2),
268
+ type: 'text',
269
+ text: JSON.stringify(pathDetails, null, 2),
287
270
  },
288
271
  ],
289
272
  };
290
273
  }
291
- resolveSchemaReference(schema, swagger) {
292
- if (!schema)
293
- return null;
294
- if (schema.$ref) {
295
- const resolved = this.resolveRef(schema.$ref, swagger);
296
- return {
297
- $ref: schema.$ref,
298
- resolved,
299
- };
300
- }
301
- if (schema.type === "array" && schema.items) {
302
- return {
303
- type: "array",
304
- items: this.resolveSchemaReference(schema.items, swagger),
305
- };
306
- }
307
- if (schema.type === "object" && schema.properties) {
308
- const properties = {};
309
- Object.entries(schema.properties).forEach(([key, value]) => {
310
- properties[key] = this.resolveSchemaReference(value, swagger);
311
- });
312
- return {
313
- type: "object",
314
- properties,
315
- required: schema.required,
316
- };
317
- }
318
- return schema;
319
- }
320
- resolveRef(ref, swagger) {
321
- const parts = ref.split("/");
322
- let current = swagger;
323
- for (let i = 1; i < parts.length; i++) {
324
- current = current[parts[i]];
325
- if (!current) {
326
- throw new Error(`Cannot resolve reference: ${ref}`);
327
- }
328
- }
329
- // 재귀적으로 중첩된 $ref도 해결
330
- if (current.$ref) {
331
- return this.resolveRef(current.$ref, swagger);
332
- }
333
- // 객체 속성에 있는 $ref도 해결
334
- if (current.type === "object" && current.properties) {
335
- const resolvedProperties = {};
336
- Object.entries(current.properties).forEach(([key, value]) => {
337
- resolvedProperties[key] = this.resolveSchemaReference(value, swagger);
338
- });
339
- return {
340
- ...current,
341
- properties: resolvedProperties,
342
- };
343
- }
344
- // 배열 아이템의 $ref도 해결
345
- if (current.type === "array" && current.items) {
346
- return {
347
- ...current,
348
- items: this.resolveSchemaReference(current.items, swagger),
349
- };
350
- }
351
- return current;
352
- }
353
274
  async resolveSchema(url, ref) {
354
275
  const swagger = await this.getSwagger(url);
355
- const resolved = this.resolveRef(ref, swagger);
276
+ const resolved = this.schemaResolver.resolveRef(ref, swagger);
356
277
  return {
357
278
  content: [
358
279
  {
359
- type: "text",
280
+ type: 'text',
360
281
  text: JSON.stringify({
361
282
  ref,
362
283
  resolved,
@@ -368,7 +289,7 @@ class SwaggerParserServer {
368
289
  async run() {
369
290
  const transport = new StdioServerTransport();
370
291
  await this.server.connect(transport);
371
- console.error("Swagger Parser MCP Server running on stdio");
292
+ console.error('Swagger Parser MCP Server running on stdio');
372
293
  }
373
294
  }
374
295
  // 서버 실행
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schemas for MCP tool input validation
4
+ * These schemas provide runtime validation and type safety for all MCP tools
5
+ */
6
+ export declare const loadSwaggerSchema: z.ZodObject<{
7
+ url: z.ZodString;
8
+ }, "strip", z.ZodTypeAny, {
9
+ url: string;
10
+ }, {
11
+ url: string;
12
+ }>;
13
+ export declare const getControllersSchema: z.ZodObject<{
14
+ url: z.ZodString;
15
+ }, "strip", z.ZodTypeAny, {
16
+ url: string;
17
+ }, {
18
+ url: string;
19
+ }>;
20
+ export declare const getPathsByControllerSchema: z.ZodObject<{
21
+ url: z.ZodString;
22
+ controller: z.ZodString;
23
+ }, "strip", z.ZodTypeAny, {
24
+ url: string;
25
+ controller: string;
26
+ }, {
27
+ url: string;
28
+ controller: string;
29
+ }>;
30
+ export declare const getPathDetailsSchema: z.ZodObject<{
31
+ url: z.ZodString;
32
+ path: z.ZodString;
33
+ method: z.ZodEnum<["get", "post", "put", "delete", "patch", "head", "options"]>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ path: string;
36
+ url: string;
37
+ method: "get" | "post" | "put" | "delete" | "patch" | "head" | "options";
38
+ }, {
39
+ path: string;
40
+ url: string;
41
+ method: "get" | "post" | "put" | "delete" | "patch" | "head" | "options";
42
+ }>;
43
+ export declare const resolveSchemaSchema: z.ZodObject<{
44
+ url: z.ZodString;
45
+ ref: z.ZodString;
46
+ }, "strip", z.ZodTypeAny, {
47
+ url: string;
48
+ ref: string;
49
+ }, {
50
+ url: string;
51
+ ref: string;
52
+ }>;
53
+ export type LoadSwaggerInput = z.infer<typeof loadSwaggerSchema>;
54
+ export type GetControllersInput = z.infer<typeof getControllersSchema>;
55
+ export type GetPathsByControllerInput = z.infer<typeof getPathsByControllerSchema>;
56
+ export type GetPathDetailsInput = z.infer<typeof getPathDetailsSchema>;
57
+ export type ResolveSchemaInput = z.infer<typeof resolveSchemaSchema>;
58
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AAGH,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;EAE/B,CAAC;AAGH,eAAO,MAAM,0BAA0B;;;;;;;;;EAGrC,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAM/B,CAAC;AAGH,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AAGH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACjE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACvE,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACnF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACvE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schemas for MCP tool input validation
4
+ * These schemas provide runtime validation and type safety for all MCP tools
5
+ */
6
+ // Schema for load_swagger tool
7
+ export const loadSwaggerSchema = z.object({
8
+ url: z.string().url('Must be a valid URL'),
9
+ });
10
+ // Schema for get_controllers tool
11
+ export const getControllersSchema = z.object({
12
+ url: z.string().url('Must be a valid URL'),
13
+ });
14
+ // Schema for get_paths_by_controller tool
15
+ export const getPathsByControllerSchema = z.object({
16
+ url: z.string().url('Must be a valid URL'),
17
+ controller: z.string().min(1, 'Controller name is required'),
18
+ });
19
+ // Schema for get_path_details tool
20
+ export const getPathDetailsSchema = z.object({
21
+ url: z.string().url('Must be a valid URL'),
22
+ path: z.string().min(1, 'Path is required'),
23
+ method: z.enum(['get', 'post', 'put', 'delete', 'patch', 'head', 'options'], {
24
+ errorMap: () => ({ message: 'Method must be a valid HTTP method' }),
25
+ }),
26
+ });
27
+ // Schema for resolve_schema tool
28
+ export const resolveSchemaSchema = z.object({
29
+ url: z.string().url('Must be a valid URL'),
30
+ ref: z.string().regex(/^#\//, 'Reference must start with #/ (e.g., #/components/schemas/User)'),
31
+ });
32
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AAEH,+BAA+B;AAC/B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC;CAC3C,CAAC,CAAC;AAEH,kCAAkC;AAClC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC;CAC3C,CAAC,CAAC;AAEH,0CAA0C;AAC1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,6BAA6B,CAAC;CAC7D,CAAC,CAAC;AAEH,mCAAmC;AACnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE;QAC3E,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;KACpE,CAAC;CACH,CAAC,CAAC;AAEH,iCAAiC;AACjC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC1C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,gEAAgE,CAAC;CAChG,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=edgeCases.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edgeCases.test.d.ts","sourceRoot":"","sources":["../../src/tests/edgeCases.test.ts"],"names":[],"mappings":""}