mcp4openapi 0.3.0 → 0.3.1

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 (188) hide show
  1. package/dist/src/argument-normalizer.d.ts +5 -0
  2. package/dist/src/argument-normalizer.d.ts.map +1 -0
  3. package/dist/src/argument-normalizer.js +61 -0
  4. package/dist/src/argument-normalizer.js.map +1 -0
  5. package/dist/src/auth/oauth-provider.d.ts.map +1 -1
  6. package/dist/src/auth/oauth-provider.js +5 -2
  7. package/dist/src/auth/oauth-provider.js.map +1 -1
  8. package/dist/src/cli-config.d.ts +9 -0
  9. package/dist/src/cli-config.d.ts.map +1 -0
  10. package/dist/src/cli-config.js +111 -0
  11. package/dist/src/cli-config.js.map +1 -0
  12. package/dist/src/composite-executor.d.ts +77 -0
  13. package/dist/src/composite-executor.d.ts.map +1 -0
  14. package/dist/src/composite-executor.js +193 -0
  15. package/dist/src/composite-executor.js.map +1 -0
  16. package/dist/src/constants.d.ts +85 -0
  17. package/dist/src/constants.d.ts.map +1 -0
  18. package/dist/src/constants.js +85 -0
  19. package/dist/src/constants.js.map +1 -0
  20. package/dist/src/core/cli-config.d.ts.map +1 -1
  21. package/dist/src/core/cli-config.js +1 -0
  22. package/dist/src/core/cli-config.js.map +1 -1
  23. package/dist/src/core/index.d.ts.map +1 -1
  24. package/dist/src/core/index.js +1 -0
  25. package/dist/src/core/index.js.map +1 -1
  26. package/dist/src/dag-executor.d.ts +49 -0
  27. package/dist/src/dag-executor.d.ts.map +1 -0
  28. package/dist/src/dag-executor.js +138 -0
  29. package/dist/src/dag-executor.js.map +1 -0
  30. package/dist/src/errors.d.ts +59 -0
  31. package/dist/src/errors.d.ts.map +1 -0
  32. package/dist/src/errors.js +119 -0
  33. package/dist/src/errors.js.map +1 -0
  34. package/dist/src/filtering.d.ts +19 -0
  35. package/dist/src/filtering.d.ts.map +1 -0
  36. package/dist/src/filtering.js +292 -0
  37. package/dist/src/filtering.js.map +1 -0
  38. package/dist/src/generated-schemas.d.ts +45 -0
  39. package/dist/src/generated-schemas.d.ts.map +1 -1
  40. package/dist/src/generated-schemas.js +3 -0
  41. package/dist/src/generated-schemas.js.map +1 -1
  42. package/dist/src/http-client-factory.d.ts +62 -0
  43. package/dist/src/http-client-factory.d.ts.map +1 -0
  44. package/dist/src/http-client-factory.js +133 -0
  45. package/dist/src/http-client-factory.js.map +1 -0
  46. package/dist/src/http-transport-config.d.ts +6 -0
  47. package/dist/src/http-transport-config.d.ts.map +1 -0
  48. package/dist/src/http-transport-config.js +47 -0
  49. package/dist/src/http-transport-config.js.map +1 -0
  50. package/dist/src/http-transport.d.ts +316 -0
  51. package/dist/src/http-transport.d.ts.map +1 -0
  52. package/dist/src/http-transport.js +2412 -0
  53. package/dist/src/http-transport.js.map +1 -0
  54. package/dist/src/index.js +0 -0
  55. package/dist/src/interceptors.d.ts +116 -0
  56. package/dist/src/interceptors.d.ts.map +1 -0
  57. package/dist/src/interceptors.js +392 -0
  58. package/dist/src/interceptors.js.map +1 -0
  59. package/dist/src/jsonrpc-validator.d.ts +27 -0
  60. package/dist/src/jsonrpc-validator.d.ts.map +1 -0
  61. package/dist/src/jsonrpc-validator.js +58 -0
  62. package/dist/src/jsonrpc-validator.js.map +1 -0
  63. package/dist/src/logger.d.ts +59 -0
  64. package/dist/src/logger.d.ts.map +1 -0
  65. package/dist/src/logger.js +177 -0
  66. package/dist/src/logger.js.map +1 -0
  67. package/dist/src/mcp-server-manager.d.ts +20 -0
  68. package/dist/src/mcp-server-manager.d.ts.map +1 -0
  69. package/dist/src/mcp-server-manager.js +38 -0
  70. package/dist/src/mcp-server-manager.js.map +1 -0
  71. package/dist/src/mcp-server.d.ts +203 -0
  72. package/dist/src/mcp-server.d.ts.map +1 -0
  73. package/dist/src/mcp-server.js +1369 -0
  74. package/dist/src/mcp-server.js.map +1 -0
  75. package/dist/src/metrics.d.ts +97 -0
  76. package/dist/src/metrics.d.ts.map +1 -0
  77. package/dist/src/metrics.js +273 -0
  78. package/dist/src/metrics.js.map +1 -0
  79. package/dist/src/naming-warnings.d.ts +23 -0
  80. package/dist/src/naming-warnings.d.ts.map +1 -0
  81. package/dist/src/naming-warnings.js +83 -0
  82. package/dist/src/naming-warnings.js.map +1 -0
  83. package/dist/src/naming.d.ts +58 -0
  84. package/dist/src/naming.d.ts.map +1 -0
  85. package/dist/src/naming.js +510 -0
  86. package/dist/src/naming.js.map +1 -0
  87. package/dist/src/oauth-provider.d.ts +131 -0
  88. package/dist/src/oauth-provider.d.ts.map +1 -0
  89. package/dist/src/oauth-provider.js +836 -0
  90. package/dist/src/oauth-provider.js.map +1 -0
  91. package/dist/src/openapi/openapi-parser.d.ts.map +1 -1
  92. package/dist/src/openapi/openapi-parser.js +22 -0
  93. package/dist/src/openapi/openapi-parser.js.map +1 -1
  94. package/dist/src/openapi-parser.d.ts +70 -0
  95. package/dist/src/openapi-parser.d.ts.map +1 -0
  96. package/dist/src/openapi-parser.js +436 -0
  97. package/dist/src/openapi-parser.js.map +1 -0
  98. package/dist/src/profile/profile-loader.d.ts.map +1 -1
  99. package/dist/src/profile/profile-loader.js +8 -1
  100. package/dist/src/profile/profile-loader.js.map +1 -1
  101. package/dist/src/profile/profile-registry.d.ts +2 -1
  102. package/dist/src/profile/profile-registry.d.ts.map +1 -1
  103. package/dist/src/profile/profile-registry.js +18 -1
  104. package/dist/src/profile/profile-registry.js.map +1 -1
  105. package/dist/src/profile/profile-resolver.d.ts +16 -0
  106. package/dist/src/profile/profile-resolver.d.ts.map +1 -1
  107. package/dist/src/profile/profile-resolver.js +120 -0
  108. package/dist/src/profile/profile-resolver.js.map +1 -1
  109. package/dist/src/profile-loader.d.ts +78 -0
  110. package/dist/src/profile-loader.d.ts.map +1 -0
  111. package/dist/src/profile-loader.js +483 -0
  112. package/dist/src/profile-loader.js.map +1 -0
  113. package/dist/src/profile-registry.d.ts +18 -0
  114. package/dist/src/profile-registry.d.ts.map +1 -0
  115. package/dist/src/profile-registry.js +26 -0
  116. package/dist/src/profile-registry.js.map +1 -0
  117. package/dist/src/profile-resolver.d.ts +19 -0
  118. package/dist/src/profile-resolver.d.ts.map +1 -0
  119. package/dist/src/profile-resolver.js +167 -0
  120. package/dist/src/profile-resolver.js.map +1 -0
  121. package/dist/src/proxy-executor.d.ts +86 -0
  122. package/dist/src/proxy-executor.d.ts.map +1 -0
  123. package/dist/src/proxy-executor.js +497 -0
  124. package/dist/src/proxy-executor.js.map +1 -0
  125. package/dist/src/schema-validator.d.ts +30 -0
  126. package/dist/src/schema-validator.d.ts.map +1 -0
  127. package/dist/src/schema-validator.js +128 -0
  128. package/dist/src/schema-validator.js.map +1 -0
  129. package/dist/src/startup-profile.d.ts +17 -0
  130. package/dist/src/startup-profile.d.ts.map +1 -0
  131. package/dist/src/startup-profile.js +30 -0
  132. package/dist/src/startup-profile.js.map +1 -0
  133. package/dist/src/startup-validation.d.ts +11 -0
  134. package/dist/src/startup-validation.d.ts.map +1 -0
  135. package/dist/src/startup-validation.js +21 -0
  136. package/dist/src/startup-validation.js.map +1 -0
  137. package/dist/src/tool-filter.d.ts +65 -0
  138. package/dist/src/tool-filter.d.ts.map +1 -0
  139. package/dist/src/tool-filter.js +471 -0
  140. package/dist/src/tool-filter.js.map +1 -0
  141. package/dist/src/tool-generator.d.ts +67 -0
  142. package/dist/src/tool-generator.d.ts.map +1 -0
  143. package/dist/src/tool-generator.js +182 -0
  144. package/dist/src/tool-generator.js.map +1 -0
  145. package/dist/src/tooling/composite-executor.d.ts.map +1 -1
  146. package/dist/src/tooling/composite-executor.js +7 -2
  147. package/dist/src/tooling/composite-executor.js.map +1 -1
  148. package/dist/src/tooling/proxy-executor.d.ts.map +1 -1
  149. package/dist/src/tooling/proxy-executor.js +4 -0
  150. package/dist/src/tooling/proxy-executor.js.map +1 -1
  151. package/dist/src/tooling/tool-generator.d.ts.map +1 -1
  152. package/dist/src/tooling/tool-generator.js +36 -3
  153. package/dist/src/tooling/tool-generator.js.map +1 -1
  154. package/dist/src/transport/http-transport-config.d.ts.map +1 -1
  155. package/dist/src/transport/http-transport-config.js +1 -0
  156. package/dist/src/transport/http-transport-config.js.map +1 -1
  157. package/dist/src/transport/http-transport.d.ts +5 -0
  158. package/dist/src/transport/http-transport.d.ts.map +1 -1
  159. package/dist/src/transport/http-transport.js +63 -1
  160. package/dist/src/transport/http-transport.js.map +1 -1
  161. package/dist/src/transport/profile-index.d.ts +84 -0
  162. package/dist/src/transport/profile-index.d.ts.map +1 -0
  163. package/dist/src/transport/profile-index.js +405 -0
  164. package/dist/src/transport/profile-index.js.map +1 -0
  165. package/dist/src/types/http-transport.d.ts +1 -0
  166. package/dist/src/types/http-transport.d.ts.map +1 -1
  167. package/dist/src/types/openapi.d.ts +3 -0
  168. package/dist/src/types/openapi.d.ts.map +1 -1
  169. package/dist/src/types/profile.d.ts +3 -0
  170. package/dist/src/types/profile.d.ts.map +1 -1
  171. package/dist/src/validation/validation-utils.d.ts.map +1 -1
  172. package/dist/src/validation/validation-utils.js +1 -0
  173. package/dist/src/validation/validation-utils.js.map +1 -1
  174. package/dist/src/validation-utils.d.ts +49 -0
  175. package/dist/src/validation-utils.d.ts.map +1 -0
  176. package/dist/src/validation-utils.js +138 -0
  177. package/dist/src/validation-utils.js.map +1 -0
  178. package/html/profile-index.html +386 -0
  179. package/package.json +2 -1
  180. package/profile-schema.json +14 -0
  181. package/profiles/gitlab/developer-profile-oauth.json +1 -1
  182. package/profiles/gitlab/developer-profile.json +1508 -0
  183. package/profiles/gitlab/developer-profile.test.json +3432 -0
  184. package/profiles/n8n/profile-optimized.json +1 -1
  185. package/profiles/n8n/profile.json +1 -1
  186. package/profiles/n8n-nodes/profile-nodes.json +1 -1
  187. package/profiles/semgrep/profile.json +1 -1
  188. package/profiles/youtrack/profile.json +1 -1
@@ -0,0 +1,436 @@
1
+ /**
2
+ * OpenAPI specification parser and indexer
3
+ *
4
+ * Why indexing: Large OpenAPI specs (GitLab has ~200 operations) need fast lookup.
5
+ * Pre-indexing by operationId and path avoids linear search on every tool call.
6
+ */
7
+ import fs from 'fs/promises';
8
+ import { parse as parseYaml } from 'yaml';
9
+ import { ConfigurationError } from './errors.js';
10
+ import { isSafePropertyName } from './validation-utils.js';
11
+ export class OpenAPIParser {
12
+ constructor() {
13
+ this.schemaCache = new Map();
14
+ }
15
+ async load(specPath) {
16
+ let content;
17
+ let contentType = null;
18
+ // Detect if specPath is a URL using URL parser
19
+ let isUrl = false;
20
+ try {
21
+ const url = new URL(specPath);
22
+ isUrl = url.protocol === 'http:' || url.protocol === 'https:';
23
+ }
24
+ catch {
25
+ // Not a valid URL, treat as file path
26
+ isUrl = false;
27
+ }
28
+ if (isUrl) {
29
+ // Load from HTTP/HTTPS URL
30
+ try {
31
+ const response = await fetch(specPath, {
32
+ signal: AbortSignal.timeout(30000), // 30 second timeout
33
+ headers: {
34
+ 'Accept': 'application/json, application/yaml, text/yaml, application/x-yaml, */*',
35
+ },
36
+ });
37
+ if (!response.ok) {
38
+ throw new ConfigurationError(`Failed to load OpenAPI spec from URL: ${specPath}. HTTP ${response.status}: ${response.statusText}`);
39
+ }
40
+ content = await response.text();
41
+ contentType = response.headers.get('content-type');
42
+ }
43
+ catch (error) {
44
+ if (error instanceof Error) {
45
+ if (error.name === 'AbortError' || error.name === 'TimeoutError') {
46
+ throw new ConfigurationError(`Timeout while loading OpenAPI spec from URL: ${specPath}. Request exceeded 30 seconds.`);
47
+ }
48
+ if (error instanceof ConfigurationError) {
49
+ throw error;
50
+ }
51
+ throw new ConfigurationError(`Failed to load OpenAPI spec from URL: ${specPath}. ${error.message}`);
52
+ }
53
+ throw error;
54
+ }
55
+ }
56
+ else {
57
+ // Load from local file
58
+ content = await fs.readFile(specPath, 'utf-8');
59
+ }
60
+ // Determine format: Content-Type > URL extension > JSON/YAML fallback
61
+ const isYaml = this.detectYamlFormat(specPath, contentType, content);
62
+ if (isYaml) {
63
+ this.spec = parseYaml(content);
64
+ }
65
+ else {
66
+ this.spec = JSON.parse(content);
67
+ }
68
+ this.schemaCache.clear();
69
+ this.buildIndex();
70
+ }
71
+ /**
72
+ * Detect if content is YAML format
73
+ * Priority: Content-Type header > URL extension > JSON/YAML fallback
74
+ */
75
+ detectYamlFormat(specPath, contentType, content) {
76
+ // 1. Check Content-Type header (for HTTP requests)
77
+ if (contentType) {
78
+ const normalizedContentType = contentType.toLowerCase().split(';')[0].trim();
79
+ if (normalizedContentType === 'application/yaml' ||
80
+ normalizedContentType === 'text/yaml' ||
81
+ normalizedContentType === 'application/x-yaml' ||
82
+ normalizedContentType === 'text/x-yaml') {
83
+ return true;
84
+ }
85
+ if (normalizedContentType === 'application/json') {
86
+ return false;
87
+ }
88
+ }
89
+ // 2. Check URL extension
90
+ if (specPath.endsWith('.yaml') || specPath.endsWith('.yml')) {
91
+ return true;
92
+ }
93
+ if (specPath.endsWith('.json')) {
94
+ return false;
95
+ }
96
+ // 3. Fallback: Try to parse as JSON, if it fails, assume YAML
97
+ try {
98
+ JSON.parse(content);
99
+ return false; // Valid JSON
100
+ }
101
+ catch {
102
+ return true; // Not valid JSON, assume YAML
103
+ }
104
+ }
105
+ /**
106
+ * Build search index from OpenAPI spec
107
+ *
108
+ * Why upfront: Trading startup time for runtime performance. Index creation
109
+ * happens once; lookups happen on every tool call.
110
+ */
111
+ buildIndex() {
112
+ if (!this.spec)
113
+ throw new ConfigurationError('OpenAPI spec not loaded. Call loadSpec() first.');
114
+ this.schemaCache.clear();
115
+ const operations = new Map();
116
+ const paths = new Map();
117
+ for (const [path, pathItem] of Object.entries(this.spec.paths || {})) {
118
+ if (!pathItem)
119
+ continue;
120
+ const pathOperations = {};
121
+ for (const method of ['get', 'post', 'put', 'patch', 'delete', 'head', 'options']) {
122
+ const operation = pathItem[method];
123
+ if (!operation)
124
+ continue;
125
+ const operationInfo = this.extractOperationInfo(path, method, operation);
126
+ if (operationInfo.operationId) {
127
+ operations.set(operationInfo.operationId, operationInfo);
128
+ }
129
+ pathOperations[method] = operationInfo;
130
+ }
131
+ paths.set(path, { path, operations: pathOperations });
132
+ }
133
+ this.index = {
134
+ spec: this.spec,
135
+ operations,
136
+ paths,
137
+ };
138
+ }
139
+ extractOperationInfo(path, method, operation) {
140
+ return {
141
+ operationId: operation.operationId || `${method}_${path}`,
142
+ method: method.toUpperCase(),
143
+ path,
144
+ summary: operation.summary,
145
+ description: operation.description,
146
+ parameters: this.extractParameters(operation),
147
+ requestBody: this.extractRequestBody(operation),
148
+ tags: operation.tags,
149
+ };
150
+ }
151
+ extractParameters(operation) {
152
+ if (!operation.parameters)
153
+ return [];
154
+ return operation.parameters
155
+ .map(p => {
156
+ // Resolve $ref to parameter definition
157
+ if ('$ref' in p) {
158
+ return this.resolveParameter(p.$ref);
159
+ }
160
+ return p;
161
+ })
162
+ .filter((p) => p !== null)
163
+ .map(param => ({
164
+ name: param.name,
165
+ in: param.in,
166
+ required: param.required ?? false,
167
+ schema: this.extractSchema(param.schema),
168
+ description: param.description,
169
+ }));
170
+ }
171
+ /**
172
+ * Resolve $ref to parameter definition
173
+ *
174
+ * Why: GitLab spec uses shared parameter definitions (e.g., ProjectIdOrPath).
175
+ * Need to resolve these refs to get actual parameter details.
176
+ */
177
+ resolveParameter(ref) {
178
+ if (!this.spec)
179
+ return null;
180
+ // Extract ref path: #/components/parameters/ProjectIdOrPath => ProjectIdOrPath
181
+ const refName = ref.split('/').pop();
182
+ if (!refName)
183
+ return null;
184
+ const param = this.spec.components?.parameters?.[refName];
185
+ if (!param || '$ref' in param)
186
+ return null;
187
+ return param;
188
+ }
189
+ extractRequestBody(operation) {
190
+ if (!operation.requestBody || '$ref' in operation.requestBody)
191
+ return undefined;
192
+ const body = operation.requestBody;
193
+ const content = {};
194
+ for (const [mediaType, mediaTypeObj] of Object.entries(body.content || {})) {
195
+ if (mediaTypeObj.schema) {
196
+ content[mediaType] = {
197
+ schema: this.extractSchema(mediaTypeObj.schema),
198
+ };
199
+ }
200
+ }
201
+ return {
202
+ required: body.required ?? false,
203
+ content,
204
+ };
205
+ }
206
+ extractSchema(schema, visited = new Set()) {
207
+ if (!schema)
208
+ return {};
209
+ if ('$ref' in schema) {
210
+ const resolved = this.resolveSchema(schema.$ref, visited);
211
+ return resolved ?? { ref: schema.$ref };
212
+ }
213
+ const result = {
214
+ type: schema.type,
215
+ format: schema.format,
216
+ enum: schema.enum,
217
+ default: schema.default,
218
+ };
219
+ if (schema.allOf && schema.allOf.length > 0) {
220
+ result.allOf = schema.allOf.map(subSchema => this.extractSchema(subSchema, new Set(visited)));
221
+ for (const sub of result.allOf) {
222
+ this.mergeSchemaInfo(result, sub);
223
+ }
224
+ }
225
+ if (schema.anyOf && schema.anyOf.length > 0) {
226
+ result.anyOf = schema.anyOf.map(subSchema => this.extractSchema(subSchema, new Set(visited)));
227
+ for (const sub of result.anyOf) {
228
+ this.mergeSchemaInfo(result, sub);
229
+ }
230
+ }
231
+ if (schema.oneOf && schema.oneOf.length > 0) {
232
+ result.oneOf = schema.oneOf.map(subSchema => this.extractSchema(subSchema, new Set(visited)));
233
+ for (const sub of result.oneOf) {
234
+ this.mergeSchemaInfo(result, sub);
235
+ }
236
+ }
237
+ if (schema.type === 'array' && schema.items) {
238
+ result.items = this.extractSchema(schema.items, new Set(visited));
239
+ }
240
+ if (schema.type === 'object' && schema.properties) {
241
+ result.properties = {};
242
+ for (const [key, propSchema] of Object.entries(schema.properties)) {
243
+ result.properties[key] = this.extractSchema(propSchema, new Set(visited));
244
+ }
245
+ result.required = schema.required;
246
+ }
247
+ return result;
248
+ }
249
+ resolveSchema(ref, visited = new Set()) {
250
+ if (!this.spec)
251
+ return undefined;
252
+ const refPath = ref.replace(/^#\//, '');
253
+ if (visited.has(refPath)) {
254
+ return { ref, circular: true };
255
+ }
256
+ const cached = this.schemaCache.get(refPath);
257
+ if (cached) {
258
+ return this.cloneSchemaInfo(cached);
259
+ }
260
+ const segments = refPath.split('/');
261
+ let current = this.spec;
262
+ for (const segment of segments) {
263
+ if (typeof current !== 'object' || current === null) {
264
+ current = undefined;
265
+ break;
266
+ }
267
+ // Prevent prototype pollution via malicious $ref paths
268
+ if (!isSafePropertyName(segment)) {
269
+ current = undefined;
270
+ break;
271
+ }
272
+ // nosemgrep: javascript.lang.security.audit.prototype-pollution.prototype-pollution-loop.prototype-pollution-loop
273
+ current = current[segment];
274
+ }
275
+ if (!current)
276
+ return undefined;
277
+ visited.add(refPath);
278
+ let resolved;
279
+ if (typeof current === 'object' && current !== null && '$ref' in current) {
280
+ resolved = this.resolveSchema(current.$ref, new Set(visited));
281
+ }
282
+ else {
283
+ resolved = this.extractSchema(current, new Set(visited));
284
+ }
285
+ visited.delete(refPath);
286
+ if (!resolved)
287
+ return undefined;
288
+ const canonical = this.cloneSchemaInfo({ ...resolved, ref });
289
+ this.schemaCache.set(refPath, canonical);
290
+ return this.cloneSchemaInfo(canonical);
291
+ }
292
+ mergeSchemaInfo(target, source) {
293
+ if (!target.type && source.type)
294
+ target.type = source.type;
295
+ if (!target.format && source.format)
296
+ target.format = source.format;
297
+ if (!target.enum && source.enum)
298
+ target.enum = source.enum;
299
+ if (target.default === undefined && source.default !== undefined)
300
+ target.default = source.default;
301
+ if (source.required) {
302
+ target.required = Array.from(new Set([...(target.required ?? []), ...source.required]));
303
+ }
304
+ if (source.properties) {
305
+ target.properties = target.properties ?? {};
306
+ for (const [key, value] of Object.entries(source.properties)) {
307
+ if (target.properties[key]) {
308
+ if (target.properties[key] !== value) {
309
+ this.mergeSchemaInfo(target.properties[key], value);
310
+ }
311
+ }
312
+ else {
313
+ target.properties[key] = value;
314
+ }
315
+ }
316
+ }
317
+ if (source.items) {
318
+ target.items = target.items ?? source.items;
319
+ }
320
+ }
321
+ cloneSchemaInfo(schema) {
322
+ const cloned = {
323
+ type: schema.type,
324
+ format: schema.format,
325
+ enum: schema.enum ? [...schema.enum] : undefined,
326
+ default: schema.default,
327
+ ref: schema.ref,
328
+ circular: schema.circular,
329
+ };
330
+ if (schema.required) {
331
+ cloned.required = [...schema.required];
332
+ }
333
+ if (schema.items) {
334
+ cloned.items = this.cloneSchemaInfo(schema.items);
335
+ }
336
+ if (schema.properties) {
337
+ cloned.properties = {};
338
+ for (const [key, value] of Object.entries(schema.properties)) {
339
+ cloned.properties[key] = this.cloneSchemaInfo(value);
340
+ }
341
+ }
342
+ if (schema.allOf) {
343
+ cloned.allOf = schema.allOf.map(member => this.cloneSchemaInfo(member));
344
+ }
345
+ if (schema.anyOf) {
346
+ cloned.anyOf = schema.anyOf.map(member => this.cloneSchemaInfo(member));
347
+ }
348
+ if (schema.oneOf) {
349
+ cloned.oneOf = schema.oneOf.map(member => this.cloneSchemaInfo(member));
350
+ }
351
+ return cloned;
352
+ }
353
+ getOperation(operationId) {
354
+ return this.index?.operations.get(operationId);
355
+ }
356
+ getPath(path) {
357
+ return this.index?.paths.get(path);
358
+ }
359
+ getBaseUrl() {
360
+ const servers = this.spec?.servers;
361
+ return servers?.[0]?.url || '';
362
+ }
363
+ /**
364
+ * Get resource metadata from OpenAPI spec
365
+ *
366
+ * Why: Used for OAuth 2.0 Protected Resource Metadata (RFC 8707)
367
+ * to provide human-readable name and documentation URL for the API.
368
+ *
369
+ * Returns undefined for fields not present in spec.
370
+ */
371
+ getResourceMetadata() {
372
+ return {
373
+ name: this.spec?.info?.title,
374
+ documentation: this.spec?.externalDocs?.url
375
+ };
376
+ }
377
+ getAllOperations() {
378
+ return Array.from(this.index?.operations.values() || []);
379
+ }
380
+ /**
381
+ * Get first security scheme from OpenAPI spec
382
+ *
383
+ * Why: When no profile is provided, we need to infer auth configuration from OpenAPI spec.
384
+ * Returns the first security scheme defined in spec.security or components.securitySchemes.
385
+ *
386
+ * Returns undefined if no security is defined (public API).
387
+ */
388
+ getSecurityScheme() {
389
+ if (!this.spec)
390
+ return undefined;
391
+ // Check if security is required at spec level
392
+ const globalSecurity = this.spec.security;
393
+ if (!globalSecurity || globalSecurity.length === 0) {
394
+ return undefined; // No security required
395
+ }
396
+ // Get first security requirement
397
+ const firstSecurityReq = globalSecurity[0];
398
+ const securitySchemeName = Object.keys(firstSecurityReq)[0];
399
+ if (!securitySchemeName)
400
+ return undefined;
401
+ // Resolve security scheme definition
402
+ const securitySchemes = this.spec.components?.securitySchemes;
403
+ if (!securitySchemes)
404
+ return undefined;
405
+ const scheme = securitySchemes[securitySchemeName];
406
+ if (!scheme || '$ref' in scheme)
407
+ return undefined;
408
+ // Map OpenAPI security scheme to our auth config format
409
+ const schemeObj = scheme;
410
+ switch (schemeObj.type) {
411
+ case 'http':
412
+ // http: bearer, basic, etc.
413
+ return {
414
+ type: schemeObj.scheme || 'bearer',
415
+ scheme: schemeObj.scheme,
416
+ };
417
+ case 'apiKey':
418
+ // apiKey: in header, query, or cookie
419
+ return {
420
+ type: 'apiKey',
421
+ name: schemeObj.name,
422
+ in: schemeObj.in,
423
+ };
424
+ case 'oauth2':
425
+ case 'openIdConnect':
426
+ // OAuth2/OIDC typically use bearer tokens
427
+ return {
428
+ type: 'bearer',
429
+ scheme: 'bearer',
430
+ };
431
+ default:
432
+ return undefined;
433
+ }
434
+ }
435
+ }
436
+ //# sourceMappingURL=openapi-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi-parser.js","sourceRoot":"","sources":["../../src/openapi-parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"profile-loader.d.ts","sourceRoot":"","sources":["../../../src/profile/profile-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,qBAAqB,CAAC;AAIlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AA2BlE,qBAAa,aAAa;IAClB,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAajD;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAqJrB;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAsCvC;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAsEjC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO;IAiDhF;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAqHtC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IA8DxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAmB9C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAiBxC,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAKlC"}
1
+ {"version":3,"file":"profile-loader.d.ts","sourceRoot":"","sources":["../../../src/profile/profile-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,qBAAqB,CAAC;AAIlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AA2BlE,qBAAa,aAAa;IAClB,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAajD;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAqJrB;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAsCvC;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAsEjC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO;IAiDhF;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAqHtC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAiExC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAmB9C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAqBxC,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAKlC"}
@@ -405,6 +405,9 @@ export class ProfileLoader {
405
405
  type: this.mapOpenAPISchemaToParameterType(param.schema),
406
406
  description: param.description || `Parameter ${param.name}`,
407
407
  required: param.required,
408
+ minLength: param.schema.minLength,
409
+ maxLength: param.schema.maxLength,
410
+ pattern: param.schema.pattern,
408
411
  };
409
412
  }
410
413
  // Add request body parameters if present
@@ -466,10 +469,14 @@ export class ProfileLoader {
466
469
  if (schema.type === 'object' && schema.properties) {
467
470
  for (const [propName, propSchema] of Object.entries(schema.properties)) {
468
471
  const isRequired = schema.required?.includes(propName) || required;
472
+ const info = propSchema;
469
473
  parameters[propName] = {
470
- type: this.mapOpenAPISchemaToParameterType(propSchema),
474
+ type: this.mapOpenAPISchemaToParameterType(info),
471
475
  description: `Property ${propName}`,
472
476
  required: isRequired,
477
+ minLength: info.minLength,
478
+ maxLength: info.maxLength,
479
+ pattern: info.pattern,
473
480
  };
474
481
  }
475
482
  }
@@ -1 +1 @@
1
- {"version":3,"file":"profile-loader.js","sourceRoot":"","sources":["../../../src/profile/profile-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile-loader.js","sourceRoot":"","sources":["../../../src/profile/profile-loader.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Profile registry for resolving profiles by ID or alias.
3
3
  */
4
- import { type ResolvedProfile } from './profile-resolver.js';
4
+ import { type ResolvedProfile, type ListedProfileDetails } from './profile-resolver.js';
5
5
  export interface ProfileRegistryOptions {
6
6
  profilesDir?: string;
7
7
  defaultProfile?: ResolvedProfile;
@@ -14,5 +14,6 @@ export declare class ProfileRegistry {
14
14
  constructor(options: ProfileRegistryOptions);
15
15
  getDefaultProfile(): ResolvedProfile | undefined;
16
16
  resolveProfile(profileId: string): Promise<ResolvedProfile>;
17
+ listProfilesForIndex(): Promise<ListedProfileDetails[]>;
17
18
  }
18
19
  //# sourceMappingURL=profile-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile-registry.d.ts","sourceRoot":"","sources":["../../../src/profile/profile-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEjF,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAkB;IACzC,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,OAAO,EAAE,sBAAsB;IAM3C,iBAAiB,IAAI,eAAe,GAAG,SAAS;IAI1C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;CAYlE"}
1
+ {"version":3,"file":"profile-registry.d.ts","sourceRoot":"","sources":["../../../src/profile/profile-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAkB;IACzC,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,OAAO,EAAE,sBAAsB;IAM3C,iBAAiB,IAAI,eAAe,GAAG,SAAS;IAI1C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAa3D,oBAAoB,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;CAuB9D"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Profile registry for resolving profiles by ID or alias.
3
3
  */
4
- import { resolveProfileById } from './profile-resolver.js';
4
+ import { resolveProfileById, listProfilesDetailed, resolveProfileDetailsFromPath, } from './profile-resolver.js';
5
5
  export class ProfileRegistry {
6
6
  constructor(options) {
7
7
  this.profilesDir = options.profilesDir;
@@ -22,5 +22,22 @@ export class ProfileRegistry {
22
22
  }
23
23
  return resolveProfileById(profileId, this.profilesDir, { specPathOverride: this.specPathOverride });
24
24
  }
25
+ async listProfilesForIndex() {
26
+ const profiles = await listProfilesDetailed(this.profilesDir);
27
+ if (!this.defaultProfile) {
28
+ return profiles;
29
+ }
30
+ const existing = profiles.find(profile => profile.profileId === this.defaultProfile.profileId ||
31
+ profile.profileName === this.defaultProfile.profileName ||
32
+ profile.profileAliases.includes(this.defaultProfile.profileId));
33
+ if (existing) {
34
+ return profiles;
35
+ }
36
+ const defaultDetails = await resolveProfileDetailsFromPath(this.defaultProfile.profilePath);
37
+ if (defaultDetails) {
38
+ return [defaultDetails, ...profiles];
39
+ }
40
+ return profiles;
41
+ }
25
42
  }
26
43
  //# sourceMappingURL=profile-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile-registry.js","sourceRoot":"","sources":["../../../src/profile/profile-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAwB,MAAM,uBAAuB,CAAC;AAQjF,MAAM,OAAO,eAAe;IAK1B,YAAY,OAA+B;QACzC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IACnD,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,SAAS,KAAK,IAAI,CAAC,cAAc,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;gBACjG,OAAO,IAAI,CAAC,cAAc,CAAC;YAC7B,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5D,OAAO,IAAI,CAAC,cAAc,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACtG,CAAC;CACF"}
1
+ {"version":3,"file":"profile-registry.js","sourceRoot":"","sources":["../../../src/profile/profile-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,6BAA6B,GAG9B,MAAM,uBAAuB,CAAC;AAQ/B,MAAM,OAAO,eAAe;IAK1B,YAAY,OAA+B;QACzC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IACnD,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,SAAS,KAAK,IAAI,CAAC,cAAc,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;gBACjG,OAAO,IAAI,CAAC,cAAc,CAAC;YAC7B,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5D,OAAO,IAAI,CAAC,cAAc,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CACvC,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,cAAe,CAAC,SAAS;YACpD,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC,cAAe,CAAC,WAAW;YACxD,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAe,CAAC,SAAS,CAAC,CAChE,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,6BAA6B,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5F,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,cAAc,EAAE,GAAG,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}