swagger-parser-mcp-server 1.0.6 → 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 (35) hide show
  1. package/dist/index.js +126 -206
  2. package/dist/index.js.map +1 -1
  3. package/dist/schemas.d.ts +58 -0
  4. package/dist/schemas.d.ts.map +1 -0
  5. package/dist/schemas.js +32 -0
  6. package/dist/schemas.js.map +1 -0
  7. package/dist/tests/edgeCases.test.d.ts +2 -0
  8. package/dist/tests/edgeCases.test.d.ts.map +1 -0
  9. package/dist/tests/edgeCases.test.js +364 -0
  10. package/dist/tests/edgeCases.test.js.map +1 -0
  11. package/dist/tests/integration.test.d.ts +2 -0
  12. package/dist/tests/integration.test.d.ts.map +1 -0
  13. package/dist/tests/integration.test.js +382 -0
  14. package/dist/tests/integration.test.js.map +1 -0
  15. package/dist/tests/realWorldValidation.test.d.ts +2 -0
  16. package/dist/tests/realWorldValidation.test.d.ts.map +1 -0
  17. package/dist/tests/realWorldValidation.test.js +398 -0
  18. package/dist/tests/realWorldValidation.test.js.map +1 -0
  19. package/dist/tests/schemaResolver.test.d.ts +2 -0
  20. package/dist/tests/schemaResolver.test.d.ts.map +1 -0
  21. package/dist/tests/schemaResolver.test.js +322 -0
  22. package/dist/tests/schemaResolver.test.js.map +1 -0
  23. package/dist/utils/schemaResolver.d.ts +34 -0
  24. package/dist/utils/schemaResolver.d.ts.map +1 -0
  25. package/dist/utils/schemaResolver.js +255 -0
  26. package/dist/utils/schemaResolver.js.map +1 -0
  27. package/dist/utils/swaggerCache.d.ts +53 -0
  28. package/dist/utils/swaggerCache.d.ts.map +1 -0
  29. package/dist/utils/swaggerCache.js +146 -0
  30. package/dist/utils/swaggerCache.js.map +1 -0
  31. package/dist/utils/types.d.ts +73 -0
  32. package/dist/utils/types.d.ts.map +1 -0
  33. package/dist/utils/types.js +20 -0
  34. package/dist/utils/types.js.map +1 -0
  35. package/package.json +31 -9
@@ -0,0 +1,398 @@
1
+ import { SchemaResolver } from '../utils/schemaResolver.js';
2
+ import { SwaggerCache } from '../utils/swaggerCache.js';
3
+ describe('Real-World Validation Tests', () => {
4
+ let resolver;
5
+ beforeEach(() => {
6
+ resolver = new SchemaResolver({
7
+ maxDepth: 10,
8
+ includeCircularRefs: false, // Prevent stack overflow
9
+ circularRefPlaceholder: '[Circular Reference]',
10
+ });
11
+ });
12
+ describe('Stack Overflow Prevention', () => {
13
+ it('should handle complex recursive schemas without stack overflow', () => {
14
+ // This represents a real-world scenario that would previously cause stack overflow
15
+ const complexRecursiveSchema = {
16
+ openapi: '3.0.0',
17
+ info: { title: 'Complex Recursive API', version: '1.0.0' },
18
+ paths: {
19
+ '/organizations/{id}': {
20
+ get: {
21
+ parameters: [
22
+ {
23
+ name: 'id',
24
+ in: 'path',
25
+ required: true,
26
+ schema: { type: 'string' },
27
+ },
28
+ ],
29
+ responses: {
30
+ '200': {
31
+ description: 'Organization details',
32
+ content: {
33
+ 'application/json': {
34
+ schema: { $ref: '#/components/schemas/Organization' },
35
+ },
36
+ },
37
+ },
38
+ },
39
+ },
40
+ },
41
+ },
42
+ components: {
43
+ schemas: {
44
+ Organization: {
45
+ type: 'object',
46
+ properties: {
47
+ id: { type: 'string' },
48
+ name: { type: 'string' },
49
+ parent: { $ref: '#/components/schemas/Organization' },
50
+ children: {
51
+ type: 'array',
52
+ items: { $ref: '#/components/schemas/Organization' },
53
+ },
54
+ departments: {
55
+ type: 'array',
56
+ items: { $ref: '#/components/schemas/Department' },
57
+ },
58
+ employees: {
59
+ type: 'array',
60
+ items: { $ref: '#/components/schemas/Employee' },
61
+ },
62
+ },
63
+ },
64
+ Department: {
65
+ type: 'object',
66
+ properties: {
67
+ id: { type: 'string' },
68
+ name: { type: 'string' },
69
+ organization: { $ref: '#/components/schemas/Organization' },
70
+ manager: { $ref: '#/components/schemas/Employee' },
71
+ employees: {
72
+ type: 'array',
73
+ items: { $ref: '#/components/schemas/Employee' },
74
+ },
75
+ subDepartments: {
76
+ type: 'array',
77
+ items: { $ref: '#/components/schemas/Department' },
78
+ },
79
+ },
80
+ },
81
+ Employee: {
82
+ type: 'object',
83
+ properties: {
84
+ id: { type: 'string' },
85
+ name: { type: 'string' },
86
+ email: { type: 'string' },
87
+ organization: { $ref: '#/components/schemas/Organization' },
88
+ department: { $ref: '#/components/schemas/Department' },
89
+ manager: { $ref: '#/components/schemas/Employee' },
90
+ reports: {
91
+ type: 'array',
92
+ items: { $ref: '#/components/schemas/Employee' },
93
+ },
94
+ projects: {
95
+ type: 'array',
96
+ items: { $ref: '#/components/schemas/Project' },
97
+ },
98
+ },
99
+ },
100
+ Project: {
101
+ type: 'object',
102
+ properties: {
103
+ id: { type: 'string' },
104
+ name: { type: 'string' },
105
+ description: { type: 'string' },
106
+ organization: { $ref: '#/components/schemas/Organization' },
107
+ owner: { $ref: '#/components/schemas/Employee' },
108
+ team: {
109
+ type: 'array',
110
+ items: { $ref: '#/components/schemas/Employee' },
111
+ },
112
+ dependencies: {
113
+ type: 'array',
114
+ items: { $ref: '#/components/schemas/Project' },
115
+ },
116
+ },
117
+ },
118
+ },
119
+ },
120
+ };
121
+ // This test ensures that the previously problematic recursive resolution doesn't cause stack overflow
122
+ const startTime = Date.now();
123
+ expect(() => {
124
+ const result = resolver.resolveRef('#/components/schemas/Organization', complexRecursiveSchema);
125
+ expect(result).toBeDefined();
126
+ expect(result.type).toBe('object');
127
+ // Verify that circular references are handled gracefully
128
+ const resultStr = JSON.stringify(result);
129
+ expect(resultStr).toContain('[Circular Reference]');
130
+ }).not.toThrow();
131
+ const endTime = Date.now();
132
+ expect(endTime - startTime).toBeLessThan(5000); // Should complete within 5 seconds
133
+ });
134
+ it('should handle deeply nested allOf compositions without stack overflow', () => {
135
+ const deepCompositionSchema = {
136
+ openapi: '3.0.0',
137
+ info: { title: 'Deep Composition API', version: '1.0.0' },
138
+ paths: {},
139
+ components: {
140
+ schemas: {
141
+ BaseEntity: {
142
+ type: 'object',
143
+ properties: {
144
+ id: { type: 'string' },
145
+ createdAt: { type: 'string', format: 'date-time' },
146
+ },
147
+ },
148
+ NamedEntity: {
149
+ allOf: [
150
+ { $ref: '#/components/schemas/BaseEntity' },
151
+ {
152
+ type: 'object',
153
+ properties: {
154
+ name: { type: 'string' },
155
+ },
156
+ },
157
+ ],
158
+ },
159
+ UserProfile: {
160
+ allOf: [
161
+ { $ref: '#/components/schemas/NamedEntity' },
162
+ {
163
+ type: 'object',
164
+ properties: {
165
+ email: { type: 'string' },
166
+ preferences: { $ref: '#/components/schemas/UserPreferences' },
167
+ },
168
+ },
169
+ ],
170
+ },
171
+ UserPreferences: {
172
+ type: 'object',
173
+ properties: {
174
+ theme: { type: 'string' },
175
+ notifications: { $ref: '#/components/schemas/NotificationSettings' },
176
+ profile: { $ref: '#/components/schemas/UserProfile' }, // Circular reference
177
+ },
178
+ },
179
+ NotificationSettings: {
180
+ allOf: [
181
+ { $ref: '#/components/schemas/BaseEntity' },
182
+ {
183
+ type: 'object',
184
+ properties: {
185
+ email: { type: 'boolean' },
186
+ push: { type: 'boolean' },
187
+ user: { $ref: '#/components/schemas/UserProfile' }, // Another circular reference
188
+ },
189
+ },
190
+ ],
191
+ },
192
+ },
193
+ },
194
+ };
195
+ expect(() => {
196
+ const result = resolver.resolveRef('#/components/schemas/UserProfile', deepCompositionSchema);
197
+ expect(result).toBeDefined();
198
+ expect(result.allOf).toBeDefined();
199
+ expect(result.allOf).toHaveLength(2);
200
+ // Verify circular references are handled
201
+ const resultStr = JSON.stringify(result);
202
+ expect(resultStr).toContain('[Circular Reference]');
203
+ }).not.toThrow();
204
+ });
205
+ it('should handle performance test with many interconnected schemas', () => {
206
+ // Create a schema with many interconnected references (simulating a complex API)
207
+ const schemas = {};
208
+ // Create 20 interconnected entity schemas
209
+ for (let i = 0; i < 20; i++) {
210
+ schemas[`Entity${i}`] = {
211
+ type: 'object',
212
+ properties: {
213
+ id: { type: 'string' },
214
+ name: { type: 'string' },
215
+ related: {
216
+ type: 'array',
217
+ items: { $ref: `#/components/schemas/Entity${(i + 1) % 20}` }, // Circular reference chain
218
+ },
219
+ dependencies: {
220
+ type: 'array',
221
+ items: { $ref: `#/components/schemas/Entity${(i + 5) % 20}` }, // More complex circular references
222
+ },
223
+ },
224
+ };
225
+ }
226
+ const performanceSchema = {
227
+ openapi: '3.0.0',
228
+ info: { title: 'Performance Test API', version: '1.0.0' },
229
+ paths: {},
230
+ components: { schemas },
231
+ };
232
+ const startTime = Date.now();
233
+ expect(() => {
234
+ // Try to resolve multiple schemas to test performance
235
+ for (let i = 0; i < 5; i++) {
236
+ const result = resolver.resolveRef(`#/components/schemas/Entity${i}`, performanceSchema);
237
+ expect(result).toBeDefined();
238
+ expect(result.type).toBe('object');
239
+ }
240
+ }).not.toThrow();
241
+ const endTime = Date.now();
242
+ expect(endTime - startTime).toBeLessThan(3000); // Should complete within 3 seconds
243
+ });
244
+ });
245
+ describe('Integration with Utilities', () => {
246
+ it('should work correctly with SwaggerCache and SchemaResolver integration', () => {
247
+ // Test the integration between SwaggerCache and SchemaResolver
248
+ const cache = new SwaggerCache();
249
+ const circularResolver = new SchemaResolver({ includeCircularRefs: false });
250
+ const testSchema = {
251
+ openapi: '3.0.0',
252
+ info: { title: 'Integration Test API', version: '1.0.0' },
253
+ paths: {
254
+ '/users/{id}': {
255
+ get: {
256
+ parameters: [
257
+ {
258
+ name: 'id',
259
+ in: 'path',
260
+ required: true,
261
+ schema: { type: 'string' },
262
+ },
263
+ ],
264
+ responses: {
265
+ '200': {
266
+ description: 'User details',
267
+ content: {
268
+ 'application/json': {
269
+ schema: { $ref: '#/components/schemas/User' },
270
+ },
271
+ },
272
+ },
273
+ },
274
+ },
275
+ },
276
+ },
277
+ components: {
278
+ schemas: {
279
+ User: {
280
+ type: 'object',
281
+ properties: {
282
+ id: { type: 'string' },
283
+ name: { type: 'string' },
284
+ profile: { $ref: '#/components/schemas/Profile' },
285
+ },
286
+ },
287
+ Profile: {
288
+ type: 'object',
289
+ properties: {
290
+ bio: { type: 'string' },
291
+ user: { $ref: '#/components/schemas/User' }, // Circular reference
292
+ },
293
+ },
294
+ },
295
+ },
296
+ };
297
+ // Test that we can resolve schemas with circular references without stack overflow
298
+ expect(() => {
299
+ const resolvedUser = circularResolver.resolveRef('#/components/schemas/User', testSchema);
300
+ expect(resolvedUser).toBeDefined();
301
+ expect(resolvedUser.type).toBe('object');
302
+ // Verify circular references are handled
303
+ const resultStr = JSON.stringify(resolvedUser);
304
+ expect(resultStr).toContain('[Circular Reference]');
305
+ }).not.toThrow();
306
+ // Test cache statistics
307
+ const stats = cache.getStats();
308
+ expect(stats).toHaveProperty('cacheSize', 0); // No items cached yet
309
+ expect(stats).toHaveProperty('loadingPromises', 0);
310
+ expect(stats).toHaveProperty('cachedUrls');
311
+ expect(stats.cachedUrls).toEqual([]);
312
+ });
313
+ });
314
+ describe('Edge Case Validation', () => {
315
+ it('should handle real-world OpenAPI spec patterns', () => {
316
+ // Based on common patterns found in real OpenAPI specifications
317
+ const realWorldSchema = {
318
+ openapi: '3.0.0',
319
+ info: { title: 'Real World API', version: '1.0.0' },
320
+ paths: {},
321
+ components: {
322
+ schemas: {
323
+ PaginatedResponse: {
324
+ type: 'object',
325
+ properties: {
326
+ data: {
327
+ type: 'array',
328
+ items: { $ref: '#/components/schemas/ResourceItem' },
329
+ },
330
+ pagination: { $ref: '#/components/schemas/PaginationMeta' },
331
+ links: { $ref: '#/components/schemas/PaginationLinks' },
332
+ },
333
+ },
334
+ ResourceItem: {
335
+ oneOf: [
336
+ { $ref: '#/components/schemas/User' },
337
+ { $ref: '#/components/schemas/Organization' },
338
+ { $ref: '#/components/schemas/Project' },
339
+ ],
340
+ },
341
+ PaginationMeta: {
342
+ type: 'object',
343
+ properties: {
344
+ total: { type: 'number' },
345
+ page: { type: 'number' },
346
+ pageSize: { type: 'number' },
347
+ hasNext: { type: 'boolean' },
348
+ nextPage: { $ref: '#/components/schemas/PaginatedResponse' }, // Potential circular reference
349
+ },
350
+ },
351
+ PaginationLinks: {
352
+ type: 'object',
353
+ properties: {
354
+ self: { type: 'string' },
355
+ next: { type: 'string' },
356
+ prev: { type: 'string' },
357
+ },
358
+ },
359
+ User: {
360
+ type: 'object',
361
+ properties: {
362
+ id: { type: 'string' },
363
+ name: { type: 'string' },
364
+ organization: { $ref: '#/components/schemas/Organization' },
365
+ },
366
+ },
367
+ Organization: {
368
+ type: 'object',
369
+ properties: {
370
+ id: { type: 'string' },
371
+ name: { type: 'string' },
372
+ members: { $ref: '#/components/schemas/PaginatedResponse' }, // Circular through pagination
373
+ },
374
+ },
375
+ Project: {
376
+ type: 'object',
377
+ properties: {
378
+ id: { type: 'string' },
379
+ name: { type: 'string' },
380
+ owner: { $ref: '#/components/schemas/User' },
381
+ organization: { $ref: '#/components/schemas/Organization' },
382
+ },
383
+ },
384
+ },
385
+ },
386
+ };
387
+ expect(() => {
388
+ const result = resolver.resolveRef('#/components/schemas/PaginatedResponse', realWorldSchema);
389
+ expect(result).toBeDefined();
390
+ expect(result.type).toBe('object');
391
+ // Should handle the complex circular reference pattern
392
+ const resultStr = JSON.stringify(result);
393
+ expect(resultStr).toContain('[Circular Reference]');
394
+ }).not.toThrow();
395
+ });
396
+ });
397
+ });
398
+ //# sourceMappingURL=realWorldValidation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realWorldValidation.test.js","sourceRoot":"","sources":["../../src/tests/realWorldValidation.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schemaResolver.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaResolver.test.d.ts","sourceRoot":"","sources":["../../src/tests/schemaResolver.test.ts"],"names":[],"mappings":""}