@peterhauge/apiops-cli 0.1.7-alpha.0 → 0.2.1-alpha.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 (102) hide show
  1. package/LICENSE.md +22 -22
  2. package/README.md +169 -169
  3. package/dist/cli/init-command.d.ts.map +1 -1
  4. package/dist/cli/init-command.js +2 -1
  5. package/dist/cli/init-command.js.map +1 -1
  6. package/dist/clients/apim-client.d.ts +25 -1
  7. package/dist/clients/apim-client.d.ts.map +1 -1
  8. package/dist/clients/apim-client.js +173 -9
  9. package/dist/clients/apim-client.js.map +1 -1
  10. package/dist/clients/iapim-client.d.ts +6 -0
  11. package/dist/clients/iapim-client.d.ts.map +1 -1
  12. package/dist/lib/config-loader.d.ts +0 -4
  13. package/dist/lib/config-loader.d.ts.map +1 -1
  14. package/dist/lib/config-loader.js +290 -51
  15. package/dist/lib/config-loader.js.map +1 -1
  16. package/dist/lib/resource-path.d.ts.map +1 -1
  17. package/dist/lib/resource-path.js +20 -2
  18. package/dist/lib/resource-path.js.map +1 -1
  19. package/dist/lib/resource-uri.d.ts.map +1 -1
  20. package/dist/lib/resource-uri.js +24 -4
  21. package/dist/lib/resource-uri.js.map +1 -1
  22. package/dist/lib/workspace-link.d.ts +46 -0
  23. package/dist/lib/workspace-link.d.ts.map +1 -0
  24. package/dist/lib/workspace-link.js +93 -0
  25. package/dist/lib/workspace-link.js.map +1 -0
  26. package/dist/models/config.d.ts +80 -44
  27. package/dist/models/config.d.ts.map +1 -1
  28. package/dist/models/resource-types.d.ts +14 -1
  29. package/dist/models/resource-types.d.ts.map +1 -1
  30. package/dist/models/resource-types.js +11 -3
  31. package/dist/models/resource-types.js.map +1 -1
  32. package/dist/services/api-extractor.d.ts +19 -0
  33. package/dist/services/api-extractor.d.ts.map +1 -1
  34. package/dist/services/api-extractor.js +87 -6
  35. package/dist/services/api-extractor.js.map +1 -1
  36. package/dist/services/api-publisher.d.ts.map +1 -1
  37. package/dist/services/api-publisher.js +251 -60
  38. package/dist/services/api-publisher.js.map +1 -1
  39. package/dist/services/filter-service.d.ts +1 -0
  40. package/dist/services/filter-service.d.ts.map +1 -1
  41. package/dist/services/filter-service.js +101 -40
  42. package/dist/services/filter-service.js.map +1 -1
  43. package/dist/services/identity-guide-service.d.ts +1 -1
  44. package/dist/services/identity-guide-service.d.ts.map +1 -1
  45. package/dist/services/identity-guide-service.js +37 -518
  46. package/dist/services/identity-guide-service.js.map +1 -1
  47. package/dist/services/init-service.d.ts.map +1 -1
  48. package/dist/services/init-service.js +51 -19
  49. package/dist/services/init-service.js.map +1 -1
  50. package/dist/services/override-merger.d.ts +3 -7
  51. package/dist/services/override-merger.d.ts.map +1 -1
  52. package/dist/services/override-merger.js +198 -47
  53. package/dist/services/override-merger.js.map +1 -1
  54. package/dist/services/product-extractor.d.ts +20 -0
  55. package/dist/services/product-extractor.d.ts.map +1 -1
  56. package/dist/services/product-extractor.js +101 -5
  57. package/dist/services/product-extractor.js.map +1 -1
  58. package/dist/services/product-publisher.d.ts.map +1 -1
  59. package/dist/services/product-publisher.js +23 -6
  60. package/dist/services/product-publisher.js.map +1 -1
  61. package/dist/services/publish-service.d.ts.map +1 -1
  62. package/dist/services/publish-service.js +55 -7
  63. package/dist/services/publish-service.js.map +1 -1
  64. package/dist/services/resource-extractor.d.ts.map +1 -1
  65. package/dist/services/resource-extractor.js +1 -52
  66. package/dist/services/resource-extractor.js.map +1 -1
  67. package/dist/services/resource-publisher.d.ts.map +1 -1
  68. package/dist/services/resource-publisher.js +179 -2
  69. package/dist/services/resource-publisher.js.map +1 -1
  70. package/dist/services/transitive-resolver.d.ts.map +1 -1
  71. package/dist/services/transitive-resolver.js +4 -4
  72. package/dist/services/transitive-resolver.js.map +1 -1
  73. package/dist/services/workspace-extractor.d.ts.map +1 -1
  74. package/dist/services/workspace-extractor.js +50 -7
  75. package/dist/services/workspace-extractor.js.map +1 -1
  76. package/dist/templates/azure-devops/extract-pipeline.d.ts +2 -1
  77. package/dist/templates/azure-devops/extract-pipeline.d.ts.map +1 -1
  78. package/dist/templates/azure-devops/extract-pipeline.js +147 -88
  79. package/dist/templates/azure-devops/extract-pipeline.js.map +1 -1
  80. package/dist/templates/azure-devops/publish-pipeline.d.ts.map +1 -1
  81. package/dist/templates/azure-devops/publish-pipeline.js +116 -89
  82. package/dist/templates/azure-devops/publish-pipeline.js.map +1 -1
  83. package/dist/templates/configs/filter-config.d.ts +1 -1
  84. package/dist/templates/configs/filter-config.d.ts.map +1 -1
  85. package/dist/templates/configs/filter-config.js +109 -44
  86. package/dist/templates/configs/filter-config.js.map +1 -1
  87. package/dist/templates/configs/override-config.d.ts.map +1 -1
  88. package/dist/templates/configs/override-config.js +90 -37
  89. package/dist/templates/configs/override-config.js.map +1 -1
  90. package/dist/templates/copilot/identity-setup-prompt.d.ts +4 -3
  91. package/dist/templates/copilot/identity-setup-prompt.d.ts.map +1 -1
  92. package/dist/templates/copilot/identity-setup-prompt.js +59 -269
  93. package/dist/templates/copilot/identity-setup-prompt.js.map +1 -1
  94. package/dist/templates/generated/embedded-markdown.d.ts +12 -0
  95. package/dist/templates/generated/embedded-markdown.d.ts.map +1 -0
  96. package/dist/templates/generated/embedded-markdown.js +14 -0
  97. package/dist/templates/generated/embedded-markdown.js.map +1 -0
  98. package/dist/templates/github-actions/extract-workflow.js +118 -118
  99. package/dist/templates/github-actions/publish-workflow.d.ts.map +1 -1
  100. package/dist/templates/github-actions/publish-workflow.js +104 -90
  101. package/dist/templates/github-actions/publish-workflow.js.map +1 -1
  102. package/package.json +69 -66
@@ -1 +1 @@
1
- {"version":3,"file":"api-publisher.d.ts","sourceRoot":"","sources":["../../src/services/api-publisher.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAmB,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAyBtF;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,kBAAkB,EAC3B,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,qBAAqB,CAAC,CA2ChC"}
1
+ {"version":3,"file":"api-publisher.d.ts","sourceRoot":"","sources":["../../src/services/api-publisher.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAmB,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAyBtF;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,kBAAkB,EAC3B,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,qBAAqB,CAAC,CAoDhC"}
@@ -6,6 +6,7 @@
6
6
  * Publish operations, policies, schemas, releases, resolvers, tag descriptions, wikis per FR-024.
7
7
  * Handle SOAP/WSDL import via ?import=true&format=wsdl-link query parameter.
8
8
  */
9
+ import * as yaml from 'js-yaml';
9
10
  import { ResourceType } from '../models/resource-types.js';
10
11
  import { publishResource } from './resource-publisher.js';
11
12
  import { runParallel } from '../lib/parallel-runner.js';
@@ -42,6 +43,9 @@ export async function publishApi(client, store, context, descriptor, config) {
42
43
  if (rootResult.status !== 'success') {
43
44
  return rootResult;
44
45
  }
46
+ if (rootResult.specImported && rootResult.operationIdsWithNullDescription?.length) {
47
+ await alignImportedOperationDescriptions(client, context, descriptor, rootResult.operationIdsWithNullDescription);
48
+ }
45
49
  // Step 2: Find and publish revisions in numeric order
46
50
  const publishedRevisionCount = await publishApiRevisions(client, store, context, descriptor, config);
47
51
  // Step 2b: Align root API only when source marks it as current.
@@ -74,6 +78,10 @@ export async function publishApi(client, store, context, descriptor, config) {
74
78
  * Maps spec file format to APIM ContentFormat for inline import.
75
79
  */
76
80
  function getImportFormat(specFormat, _apiType) {
81
+ const apiType = _apiType?.toLowerCase();
82
+ if (apiType === 'a2a') {
83
+ return undefined;
84
+ }
77
85
  switch (specFormat) {
78
86
  case 'yaml':
79
87
  return 'openapi';
@@ -114,6 +122,7 @@ async function publishRootApi(client, store, context, descriptor, config, option
114
122
  const isCurrent = getApiIsCurrent(json);
115
123
  // Try to read the specification file for this API
116
124
  let specImported = false;
125
+ let operationIdsWithNullDescription = [];
117
126
  const includeSpecification = options?.includeSpecification ?? true;
118
127
  const specResult = includeSpecification
119
128
  ? await store.readContent(config.sourceDir, descriptor, 'specification')
@@ -133,19 +142,24 @@ async function publishRootApi(client, store, context, descriptor, config, option
133
142
  }
134
143
  // The `type` property from GET is read-only and ignored on PUT.
135
144
  // APIM uses `apiType` to determine the API kind during spec import.
136
- // Always set it explicitly (valid values: http, soap, websocket, graphql, odata, grpc, mcp).
145
+ // Always set it explicitly (valid values include http, soap, websocket, graphql, odata, grpc, mcp, a2a).
137
146
  if (apiType) {
138
147
  cleanProps.apiType = apiType;
139
148
  }
149
+ // Sanitize the spec before import (e.g. inject missing path parameters)
150
+ const sanitizedContent = sanitizeOpenApiSpec(specResult.content, specResult.format, descriptor);
140
151
  // Inject the spec into the PUT body for APIM to import
141
152
  json = {
142
153
  ...json,
143
154
  properties: {
144
155
  ...cleanProps,
145
156
  format: importFormat,
146
- value: specResult.content,
157
+ value: sanitizedContent,
147
158
  },
148
159
  };
160
+ if (importFormat === 'openapi' || importFormat === 'openapi+json') {
161
+ operationIdsWithNullDescription = getOpenApiOperationIdsWithNullDescription(specResult.content, specResult.format);
162
+ }
149
163
  specImported = true;
150
164
  logger.info(`Including ${specResult.format} specification in API import for "${getNamePart(descriptor.nameParts, 0)}"`);
151
165
  }
@@ -157,6 +171,7 @@ async function publishRootApi(client, store, context, descriptor, config, option
157
171
  status: 'success',
158
172
  action: 'put',
159
173
  specImported,
174
+ operationIdsWithNullDescription,
160
175
  isCurrent,
161
176
  };
162
177
  }
@@ -187,11 +202,26 @@ async function publishApiRevisions(client, store, context, apiDescriptor, config
187
202
  }
188
203
  return sortedRevisions.length;
189
204
  }
205
+ /**
206
+ * Properties allowed in operation PATCH bodies.
207
+ * Restricted to fields that are valid for all API types (HTTP, SOAP, GraphQL, WebSocket, A2A).
208
+ * Avoids sending fields APIM rejects on non-HTTP API types.
209
+ */
210
+ const OPERATION_PATCH_ALLOWLIST = new Set([
211
+ 'displayName',
212
+ 'description',
213
+ 'method',
214
+ 'urlTemplate',
215
+ 'templateParameters',
216
+ 'request',
217
+ 'responses',
218
+ 'policies',
219
+ ]);
190
220
  /**
191
221
  * Resource types that are auto-created by APIM when importing a spec.
192
222
  * Both ApiOperation and ApiSchema are initially excluded, but we selectively
193
- * re-add: operations with schema references, and explicitly named schemas
194
- * (non-auto-generated 24-char hex IDs).
223
+ * re-add: explicitly named schemas (non-auto-generated 24-char hex IDs).
224
+ * Operations are always reconciled via PATCH after spec import.
195
225
  */
196
226
  const SPEC_MANAGED_CHILD_TYPES = new Set([
197
227
  ResourceType.ApiOperation,
@@ -201,7 +231,8 @@ const SPEC_MANAGED_CHILD_TYPES = new Set([
201
231
  * Publish all child resources of an API in parallel.
202
232
  * When specImported is true, skips ApiSchema and ApiOperation since APIM
203
233
  * auto-creates those from the imported specification. However:
204
- * - Operations with schema references are re-PUT explicitly so APIM preserves those links
234
+ * - All operations are reconciled via PATCH after spec import to restore
235
+ * persisted metadata (description, schema references, etc.)
205
236
  * - Explicitly named schemas (non-24-char-hex IDs) are also re-published
206
237
  */
207
238
  async function publishApiChildren(client, store, context, apiDescriptor, config, specImported = false) {
@@ -211,26 +242,7 @@ async function publishApiChildren(client, store, context, apiDescriptor, config,
211
242
  let childDescriptors = allDescriptors.filter((d) => API_CHILD_TYPES.includes(d.type) &&
212
243
  getNamePart(d.nameParts, 0) === getNamePart(apiDescriptor.nameParts, 0) &&
213
244
  !(specImported && SPEC_MANAGED_CHILD_TYPES.has(d.type)));
214
- // When a spec was imported, APIM auto-creates operations and schemas but loses
215
- // schemaId/typeName references in representations. Re-include operations that
216
- // carry such references so those links are explicitly restored via PUT.
217
245
  if (specImported) {
218
- // In incremental mode, avoid re-publishing operation artifacts after spec
219
- // import. This prevents stale operation JSON from overwriting newly
220
- // imported OpenAPI operation metadata (for example descriptions).
221
- const shouldRepublishSchemaRefOps = !config.commitId;
222
- const operationDescriptors = allDescriptors.filter((d) => d.type === ResourceType.ApiOperation &&
223
- getNamePart(d.nameParts, 0) === getNamePart(apiDescriptor.nameParts, 0));
224
- if (shouldRepublishSchemaRefOps) {
225
- const schemaRefOps = await filterOperationsWithSchemaRefs(store, config.sourceDir, operationDescriptors);
226
- if (schemaRefOps.length > 0) {
227
- logger.debug(`Re-publishing ${schemaRefOps.length} operation(s) with schema references after spec import for "${getNamePart(apiDescriptor.nameParts, 0)}"`);
228
- childDescriptors = [...childDescriptors, ...schemaRefOps];
229
- }
230
- }
231
- else {
232
- logger.debug(`Skipping schema-reference operation re-publish for "${getNamePart(apiDescriptor.nameParts, 0)}" in incremental mode`);
233
- }
234
246
  // Re-include explicitly named schemas (non-auto-generated IDs).
235
247
  // Auto-generated schemas have 24-char hex names and are recreated by spec import.
236
248
  // Explicitly named schemas (like "src-rest-schema-item") must be published.
@@ -261,56 +273,102 @@ async function publishApiChildren(client, store, context, apiDescriptor, config,
261
273
  await runParallel(tasks, 5);
262
274
  }
263
275
  }
276
+ // After spec import, reconcile all operations by PATCHing with persisted metadata.
277
+ // This ensures APIM retains the original operation state (description, schema refs, etc.)
278
+ // regardless of what the importer defaulted. PATCH is idempotent and only updates
279
+ // the fields present in the persisted JSON.
280
+ if (specImported) {
281
+ await reconcileOperationsAfterSpecImport(client, store, context, apiDescriptor, config, allDescriptors);
282
+ }
264
283
  }
265
284
  /**
266
- * Returns the subset of operation descriptors whose stored artifact contains
267
- * at least one representation with a schemaId or typeName property.
268
- * These operations must be re-PUT after a spec import so APIM retains the
269
- * schema linkage that the import path discards.
285
+ * Reconcile all API operations after a spec import by PATCHing each operation
286
+ * with its persisted metadata. Only allow-listed properties are sent in the
287
+ * PATCH body so APIM does not reject the request for non-HTTP API types.
288
+ *
289
+ * Skips operations with auto-generated IDs (24-char hex) — these are SOAP
290
+ * operations recreated by the WSDL importer; their persisted JSON, if any,
291
+ * should not override the importer's result.
270
292
  */
271
- async function filterOperationsWithSchemaRefs(store, sourceDir, operationDescriptors) {
272
- const result = [];
273
- for (const descriptor of operationDescriptors) {
274
- const json = await store.readResource(sourceDir, descriptor);
275
- if (json && operationHasSchemaRefs(json)) {
276
- result.push(descriptor);
293
+ async function reconcileOperationsAfterSpecImport(client, store, context, apiDescriptor, config, allDescriptors) {
294
+ const operationDescriptors = allDescriptors.filter((d) => d.type === ResourceType.ApiOperation &&
295
+ getNamePart(d.nameParts, 0) === getNamePart(apiDescriptor.nameParts, 0) &&
296
+ !isAutoGeneratedId(getNamePart(d.nameParts, 1)));
297
+ if (operationDescriptors.length === 0)
298
+ return;
299
+ const tasks = operationDescriptors.map((descriptor) => async () => {
300
+ const json = await store.readResource(config.sourceDir, descriptor);
301
+ if (!json)
302
+ return;
303
+ const mergedJson = applyOverrides(descriptor, json, config.overrides);
304
+ const props = mergedJson.properties;
305
+ if (!props)
306
+ return;
307
+ // Build a PATCH body with only allow-listed properties present in the persisted JSON.
308
+ const patchProps = {};
309
+ for (const key of OPERATION_PATCH_ALLOWLIST) {
310
+ if (Object.hasOwn(props, key)) {
311
+ patchProps[key] = props[key];
312
+ }
313
+ }
314
+ // Strip source schema refs; APIM rebinds on import and drops stale IDs.
315
+ stripRepresentationSchemaRefs(patchProps);
316
+ if (Object.keys(patchProps).length === 0)
317
+ return;
318
+ const patchBody = { properties: patchProps };
319
+ try {
320
+ await client.patchResource(context, descriptor, patchBody);
321
+ logger.debug(`Reconciled operation "${getNamePart(descriptor.nameParts, 1)}" after spec import`);
277
322
  }
323
+ catch (error) {
324
+ logger.warn(`Failed to reconcile operation "${getNamePart(descriptor.nameParts, 1)}" after spec import: ${error.message}`);
325
+ }
326
+ });
327
+ if (tasks.length > 0) {
328
+ logger.debug(`Reconciling ${tasks.length} operation(s) after spec import for "${getNamePart(apiDescriptor.nameParts, 0)}"`);
329
+ await runParallel(tasks, 5);
278
330
  }
279
- return result;
280
331
  }
281
332
  /**
282
- * Returns true if the operation JSON contains at least one representation
283
- * (in request or any response) that has a schemaId or typeName property.
333
+ * Strip source schema refs from operation parameters and representations
334
+ * before PATCH. APIM assigns new schema IDs on spec import, so stale IDs
335
+ * from the source instance would cause "Operation references schema that
336
+ * does not exist" validation errors.
284
337
  */
285
- function operationHasSchemaRefs(json) {
286
- const props = json.properties;
287
- if (!props)
288
- return false;
289
- const representationGroups = [];
290
- const request = props.request;
291
- if (request?.representations) {
292
- representationGroups.push(request.representations);
293
- }
294
- const responses = props.responses;
295
- if (Array.isArray(responses)) {
296
- for (const response of responses) {
297
- const r = response;
298
- if (r.representations) {
299
- representationGroups.push(r.representations);
338
+ function stripRepresentationSchemaRefs(patchProps) {
339
+ const SCHEMA_REF_FIELDS = ['schemaId', 'typeName'];
340
+ function stripFromItems(items) {
341
+ if (!Array.isArray(items))
342
+ return;
343
+ for (const item of items) {
344
+ if (item && typeof item === 'object') {
345
+ for (const field of SCHEMA_REF_FIELDS) {
346
+ delete item[field];
347
+ }
300
348
  }
301
349
  }
302
350
  }
303
- for (const group of representationGroups) {
304
- if (!Array.isArray(group))
305
- continue;
306
- for (const rep of group) {
307
- const r = rep;
308
- if (r.schemaId != null || r.typeName != null) {
309
- return true;
351
+ // Strip schema refs from top-level templateParameters.
352
+ stripFromItems(patchProps.templateParameters);
353
+ // Strip schema refs from request parameters and representations.
354
+ const request = patchProps.request;
355
+ if (request && typeof request === 'object') {
356
+ const req = request;
357
+ stripFromItems(req.representations);
358
+ stripFromItems(req.queryParameters);
359
+ stripFromItems(req.headers);
360
+ }
361
+ // Strip schema refs from responses[].representations and headers.
362
+ const responses = patchProps.responses;
363
+ if (Array.isArray(responses)) {
364
+ for (const response of responses) {
365
+ if (response && typeof response === 'object') {
366
+ const resp = response;
367
+ stripFromItems(resp.representations);
368
+ stripFromItems(resp.headers);
310
369
  }
311
370
  }
312
371
  }
313
- return false;
314
372
  }
315
373
  /**
316
374
  * Extract revision number from API name (e.g., "my-api;rev=2" -> 2)
@@ -324,4 +382,137 @@ function getApiIsCurrent(json) {
324
382
  const isCurrent = properties?.isCurrent;
325
383
  return typeof isCurrent === 'boolean' ? isCurrent : undefined;
326
384
  }
385
+ async function alignImportedOperationDescriptions(client, context, apiDescriptor, operationIdsWithNullDescription) {
386
+ const apiName = getNamePart(apiDescriptor.nameParts, 0);
387
+ for (const operationName of operationIdsWithNullDescription) {
388
+ const operationDescriptor = {
389
+ type: ResourceType.ApiOperation,
390
+ nameParts: [apiName, operationName],
391
+ workspace: apiDescriptor.workspace,
392
+ };
393
+ const operation = await client.getResource(context, operationDescriptor);
394
+ if (!operation) {
395
+ continue;
396
+ }
397
+ const props = operation.properties;
398
+ if (!props || props.description === null) {
399
+ continue;
400
+ }
401
+ await client.putResource(context, operationDescriptor, {
402
+ ...operation,
403
+ properties: {
404
+ ...props,
405
+ description: null,
406
+ },
407
+ });
408
+ }
409
+ }
410
+ function getOpenApiOperationIdsWithNullDescription(specContent, specFormat) {
411
+ try {
412
+ const parsed = specFormat === 'json'
413
+ ? JSON.parse(specContent)
414
+ : yaml.load(specContent);
415
+ if (!parsed || typeof parsed !== 'object') {
416
+ return [];
417
+ }
418
+ const parsedRecord = parsed;
419
+ const pathsValue = parsedRecord.paths;
420
+ if (!pathsValue || typeof pathsValue !== 'object') {
421
+ return [];
422
+ }
423
+ const paths = pathsValue;
424
+ const methods = new Set(['get', 'put', 'post', 'delete', 'options', 'head', 'patch', 'trace']);
425
+ const operationIds = new Set();
426
+ for (const pathItem of Object.values(paths)) {
427
+ if (!pathItem || typeof pathItem !== 'object') {
428
+ continue;
429
+ }
430
+ for (const [methodName, operation] of Object.entries(pathItem)) {
431
+ if (!methods.has(methodName.toLowerCase()) || !operation || typeof operation !== 'object') {
432
+ continue;
433
+ }
434
+ const operationRecord = operation;
435
+ const operationId = operationRecord.operationId;
436
+ if (typeof operationId !== 'string' || operationId.length === 0) {
437
+ continue;
438
+ }
439
+ if (!Object.hasOwn(operationRecord, 'description') || operationRecord.description == null) {
440
+ operationIds.add(operationId);
441
+ }
442
+ }
443
+ }
444
+ return [...operationIds];
445
+ }
446
+ catch {
447
+ return [];
448
+ }
449
+ }
450
+ /**
451
+ * Sanitize an OpenAPI spec before importing into APIM.
452
+ * Currently handles:
453
+ * - Missing path parameter declarations: APIM rejects specs where a URL
454
+ * template contains `{param}` placeholders that are not declared in the
455
+ * operation's `parameters` array. We auto-inject the missing declarations
456
+ * as `{ name, in: "path", required: true, schema: { type: "string" } }`
457
+ * and log a warning for each one.
458
+ */
459
+ function sanitizeOpenApiSpec(content, format, descriptor) {
460
+ // Only process JSON-based OpenAPI specs (openapi+json, json)
461
+ const isJson = !format ||
462
+ format.toLowerCase().includes('json') ||
463
+ content.trimStart().startsWith('{');
464
+ if (!isJson)
465
+ return content;
466
+ let spec;
467
+ try {
468
+ spec = JSON.parse(content);
469
+ }
470
+ catch {
471
+ return content; // Not valid JSON — return as-is
472
+ }
473
+ const paths = spec.paths;
474
+ if (!paths)
475
+ return content;
476
+ const apiLabel = getNamePart(descriptor.nameParts, 0);
477
+ let modified = false;
478
+ for (const [pathTemplate, pathItem] of Object.entries(paths)) {
479
+ // Extract placeholders from the path template
480
+ const placeholders = pathTemplate.match(/\{([^}]+)\}/g);
481
+ if (!placeholders)
482
+ continue;
483
+ const placeholderNames = placeholders.map((p) => p.slice(1, -1));
484
+ for (const [method, operation] of Object.entries(pathItem)) {
485
+ // Skip non-operation keys (e.g. "summary", "parameters", "servers")
486
+ if (typeof operation !== 'object' || operation === null)
487
+ continue;
488
+ if (!['get', 'put', 'post', 'delete', 'patch', 'head', 'options', 'trace'].includes(method))
489
+ continue;
490
+ const op = operation;
491
+ const params = (op.parameters ?? []);
492
+ const declaredPathParams = new Set(params
493
+ .filter((p) => p.in === 'path')
494
+ .map((p) => p.name));
495
+ for (const name of placeholderNames) {
496
+ if (!declaredPathParams.has(name)) {
497
+ // Inject the missing parameter declaration
498
+ const newParam = {
499
+ name,
500
+ in: 'path',
501
+ required: true,
502
+ schema: { type: 'string' },
503
+ };
504
+ const updatedParams = [...params, newParam];
505
+ op.parameters = updatedParams;
506
+ // Update params reference for subsequent placeholder checks on this operation
507
+ params.push(newParam);
508
+ declaredPathParams.add(name);
509
+ modified = true;
510
+ const opSummary = (op.summary ?? op.operationId ?? `${method.toUpperCase()} ${pathTemplate}`);
511
+ logger.warn(`API "${apiLabel}": auto-injected missing path parameter "{${name}}" for operation "${opSummary}"`);
512
+ }
513
+ }
514
+ }
515
+ }
516
+ return modified ? JSON.stringify(spec) : content;
517
+ }
327
518
  //# sourceMappingURL=api-publisher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-publisher.js","sourceRoot":"","sources":["../../src/services/api-publisher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-publisher.js","sourceRoot":"","sources":["../../src/services/api-publisher.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ import { ResourceDescriptor } from '../models/types.js';
15
15
  * - Matching is case-insensitive.
16
16
  * - API filter matches root name; all revisions of matching root are included.
17
17
  * - Child resources inherit filter from their parent type.
18
+ * - API sub-resource filters (operations, diagnostics, schemas, releases) are applied when specified.
18
19
  */
19
20
  export declare function shouldIncludeResource(descriptor: ResourceDescriptor, filter?: FilterConfig): boolean;
20
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"filter-service.d.ts","sourceRoot":"","sources":["../../src/services/filter-service.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAiDxD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,kBAAkB,EAC9B,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CA2BT;AAeD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGvD;AA4BD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,kBAAkB,EAAE,EACjC,MAAM,CAAC,EAAE,YAAY,GACpB,kBAAkB,EAAE,CAatB"}
1
+ {"version":3,"file":"filter-service.d.ts","sourceRoot":"","sources":["../../src/services/filter-service.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAgB,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AA8DxD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,kBAAkB,EAC9B,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAoCT;AAqED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGvD;AA4BD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,kBAAkB,EAAE,EACjC,MAAM,CAAC,EAAE,YAAY,GACpB,kBAAkB,EAAE,CAatB"}