@peterhauge/apiops-cli 0.1.6-alpha.0 → 0.2.0-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.
- package/LICENSE.md +22 -22
- package/README.md +169 -169
- package/dist/cli/extract-command.d.ts +0 -0
- package/dist/cli/extract-command.d.ts.map +0 -0
- package/dist/cli/extract-command.js +3 -3
- package/dist/cli/extract-command.js.map +1 -1
- package/dist/cli/index.d.ts +0 -0
- package/dist/cli/index.d.ts.map +0 -0
- package/dist/cli/index.js +0 -0
- package/dist/cli/index.js.map +0 -0
- package/dist/cli/init-command.d.ts +0 -0
- package/dist/cli/init-command.d.ts.map +1 -1
- package/dist/cli/init-command.js +2 -1
- package/dist/cli/init-command.js.map +1 -1
- package/dist/cli/publish-command.d.ts +0 -0
- package/dist/cli/publish-command.d.ts.map +0 -0
- package/dist/cli/publish-command.js +3 -3
- package/dist/cli/publish-command.js.map +1 -1
- package/dist/clients/apim-client.d.ts +25 -1
- package/dist/clients/apim-client.d.ts.map +1 -1
- package/dist/clients/apim-client.js +173 -9
- package/dist/clients/apim-client.js.map +1 -1
- package/dist/clients/artifact-store.d.ts +0 -0
- package/dist/clients/artifact-store.d.ts.map +0 -0
- package/dist/clients/artifact-store.js +0 -0
- package/dist/clients/artifact-store.js.map +0 -0
- package/dist/clients/iapim-client.d.ts +6 -0
- package/dist/clients/iapim-client.d.ts.map +1 -1
- package/dist/clients/iapim-client.js +0 -0
- package/dist/clients/iapim-client.js.map +0 -0
- package/dist/clients/iartifact-store.d.ts +0 -0
- package/dist/clients/iartifact-store.d.ts.map +0 -0
- package/dist/clients/iartifact-store.js +0 -0
- package/dist/clients/iartifact-store.js.map +0 -0
- package/dist/lib/auto-generated.d.ts +0 -0
- package/dist/lib/auto-generated.d.ts.map +0 -0
- package/dist/lib/auto-generated.js +0 -0
- package/dist/lib/auto-generated.js.map +0 -0
- package/dist/lib/cloud-config.d.ts +0 -0
- package/dist/lib/cloud-config.d.ts.map +0 -0
- package/dist/lib/cloud-config.js +0 -0
- package/dist/lib/cloud-config.js.map +0 -0
- package/dist/lib/config-loader.d.ts +0 -4
- package/dist/lib/config-loader.d.ts.map +1 -1
- package/dist/lib/config-loader.js +290 -51
- package/dist/lib/config-loader.js.map +1 -1
- package/dist/lib/dependency-graph.d.ts +0 -0
- package/dist/lib/dependency-graph.d.ts.map +1 -1
- package/dist/lib/dependency-graph.js +4 -1
- package/dist/lib/dependency-graph.js.map +1 -1
- package/dist/lib/exit-codes.d.ts +0 -0
- package/dist/lib/exit-codes.d.ts.map +0 -0
- package/dist/lib/exit-codes.js +0 -0
- package/dist/lib/exit-codes.js.map +0 -0
- package/dist/lib/logger.d.ts +0 -0
- package/dist/lib/logger.d.ts.map +0 -0
- package/dist/lib/logger.js +0 -0
- package/dist/lib/logger.js.map +0 -0
- package/dist/lib/parallel-runner.d.ts +0 -0
- package/dist/lib/parallel-runner.d.ts.map +0 -0
- package/dist/lib/parallel-runner.js +0 -0
- package/dist/lib/parallel-runner.js.map +0 -0
- package/dist/lib/resource-path.d.ts +0 -0
- package/dist/lib/resource-path.d.ts.map +1 -1
- package/dist/lib/resource-path.js +49 -10
- package/dist/lib/resource-path.js.map +1 -1
- package/dist/lib/resource-uri.d.ts +0 -0
- package/dist/lib/resource-uri.d.ts.map +1 -1
- package/dist/lib/resource-uri.js +24 -4
- package/dist/lib/resource-uri.js.map +1 -1
- package/dist/lib/user-agent.d.ts +0 -0
- package/dist/lib/user-agent.d.ts.map +0 -0
- package/dist/lib/user-agent.js +0 -0
- package/dist/lib/user-agent.js.map +0 -0
- package/dist/lib/workspace-link.d.ts +46 -0
- package/dist/lib/workspace-link.d.ts.map +1 -0
- package/dist/lib/workspace-link.js +93 -0
- package/dist/lib/workspace-link.js.map +1 -0
- package/dist/models/config.d.ts +80 -44
- package/dist/models/config.d.ts.map +1 -1
- package/dist/models/config.js +0 -0
- package/dist/models/config.js.map +0 -0
- package/dist/models/resource-types.d.ts +22 -1
- package/dist/models/resource-types.d.ts.map +1 -1
- package/dist/models/resource-types.js +29 -1
- package/dist/models/resource-types.js.map +1 -1
- package/dist/models/types.d.ts +0 -0
- package/dist/models/types.d.ts.map +0 -0
- package/dist/models/types.js +0 -0
- package/dist/models/types.js.map +0 -0
- package/dist/services/api-extractor.d.ts +19 -0
- package/dist/services/api-extractor.d.ts.map +1 -1
- package/dist/services/api-extractor.js +87 -6
- package/dist/services/api-extractor.js.map +1 -1
- package/dist/services/api-publisher.d.ts +0 -0
- package/dist/services/api-publisher.d.ts.map +1 -1
- package/dist/services/api-publisher.js +270 -65
- package/dist/services/api-publisher.js.map +1 -1
- package/dist/services/delete-unmatched-service.d.ts +0 -0
- package/dist/services/delete-unmatched-service.d.ts.map +0 -0
- package/dist/services/delete-unmatched-service.js +0 -0
- package/dist/services/delete-unmatched-service.js.map +0 -0
- package/dist/services/dry-run-reporter.d.ts +0 -0
- package/dist/services/dry-run-reporter.d.ts.map +0 -0
- package/dist/services/dry-run-reporter.js +0 -0
- package/dist/services/dry-run-reporter.js.map +0 -0
- package/dist/services/extract-service.d.ts +0 -0
- package/dist/services/extract-service.d.ts.map +0 -0
- package/dist/services/extract-service.js +5 -10
- package/dist/services/extract-service.js.map +1 -1
- package/dist/services/filter-service.d.ts +1 -0
- package/dist/services/filter-service.d.ts.map +1 -1
- package/dist/services/filter-service.js +101 -40
- package/dist/services/filter-service.js.map +1 -1
- package/dist/services/git-diff-service.d.ts +0 -0
- package/dist/services/git-diff-service.d.ts.map +0 -0
- package/dist/services/git-diff-service.js +0 -0
- package/dist/services/git-diff-service.js.map +0 -0
- package/dist/services/identity-guide-service.d.ts +1 -1
- package/dist/services/identity-guide-service.d.ts.map +1 -1
- package/dist/services/identity-guide-service.js +37 -518
- package/dist/services/identity-guide-service.js.map +1 -1
- package/dist/services/init-service.d.ts +0 -0
- package/dist/services/init-service.d.ts.map +1 -1
- package/dist/services/init-service.js +51 -19
- package/dist/services/init-service.js.map +1 -1
- package/dist/services/keyvault-checker.d.ts +0 -0
- package/dist/services/keyvault-checker.d.ts.map +0 -0
- package/dist/services/keyvault-checker.js +0 -0
- package/dist/services/keyvault-checker.js.map +0 -0
- package/dist/services/override-merger.d.ts +3 -7
- package/dist/services/override-merger.d.ts.map +1 -1
- package/dist/services/override-merger.js +198 -47
- package/dist/services/override-merger.js.map +1 -1
- package/dist/services/product-extractor.d.ts +20 -0
- package/dist/services/product-extractor.d.ts.map +1 -1
- package/dist/services/product-extractor.js +101 -5
- package/dist/services/product-extractor.js.map +1 -1
- package/dist/services/product-publisher.d.ts +0 -0
- package/dist/services/product-publisher.d.ts.map +1 -1
- package/dist/services/product-publisher.js +62 -6
- package/dist/services/product-publisher.js.map +1 -1
- package/dist/services/prompt-service.d.ts +0 -0
- package/dist/services/prompt-service.d.ts.map +0 -0
- package/dist/services/prompt-service.js +0 -0
- package/dist/services/prompt-service.js.map +0 -0
- package/dist/services/publish-service.d.ts +0 -0
- package/dist/services/publish-service.d.ts.map +0 -0
- package/dist/services/publish-service.js +81 -2
- package/dist/services/publish-service.js.map +1 -1
- package/dist/services/resource-extractor.d.ts +0 -0
- package/dist/services/resource-extractor.d.ts.map +1 -1
- package/dist/services/resource-extractor.js +52 -1
- package/dist/services/resource-extractor.js.map +1 -1
- package/dist/services/resource-publisher.d.ts +0 -0
- package/dist/services/resource-publisher.d.ts.map +1 -1
- package/dist/services/resource-publisher.js +127 -2
- package/dist/services/resource-publisher.js.map +1 -1
- package/dist/services/secret-redactor.d.ts +0 -0
- package/dist/services/secret-redactor.d.ts.map +0 -0
- package/dist/services/secret-redactor.js +0 -0
- package/dist/services/secret-redactor.js.map +0 -0
- package/dist/services/transitive-resolver.d.ts +0 -0
- package/dist/services/transitive-resolver.d.ts.map +1 -1
- package/dist/services/transitive-resolver.js +4 -4
- package/dist/services/transitive-resolver.js.map +1 -1
- package/dist/services/workspace-extractor.d.ts +1 -9
- package/dist/services/workspace-extractor.d.ts.map +1 -1
- package/dist/services/workspace-extractor.js +80 -44
- package/dist/services/workspace-extractor.js.map +1 -1
- package/dist/templates/azure-devops/extract-pipeline.d.ts +2 -1
- package/dist/templates/azure-devops/extract-pipeline.d.ts.map +1 -1
- package/dist/templates/azure-devops/extract-pipeline.js +147 -88
- package/dist/templates/azure-devops/extract-pipeline.js.map +1 -1
- package/dist/templates/azure-devops/publish-pipeline.d.ts +0 -0
- package/dist/templates/azure-devops/publish-pipeline.d.ts.map +1 -1
- package/dist/templates/azure-devops/publish-pipeline.js +116 -89
- package/dist/templates/azure-devops/publish-pipeline.js.map +1 -1
- package/dist/templates/configs/filter-config.d.ts +1 -1
- package/dist/templates/configs/filter-config.d.ts.map +1 -1
- package/dist/templates/configs/filter-config.js +109 -44
- package/dist/templates/configs/filter-config.js.map +1 -1
- package/dist/templates/configs/override-config.d.ts +0 -0
- package/dist/templates/configs/override-config.d.ts.map +1 -1
- package/dist/templates/configs/override-config.js +88 -37
- package/dist/templates/configs/override-config.js.map +1 -1
- package/dist/templates/configs/package-json.d.ts +0 -0
- package/dist/templates/configs/package-json.d.ts.map +0 -0
- package/dist/templates/configs/package-json.js +0 -0
- package/dist/templates/configs/package-json.js.map +0 -0
- package/dist/templates/copilot/identity-setup-prompt.d.ts +4 -3
- package/dist/templates/copilot/identity-setup-prompt.d.ts.map +1 -1
- package/dist/templates/copilot/identity-setup-prompt.js +59 -269
- package/dist/templates/copilot/identity-setup-prompt.js.map +1 -1
- package/dist/templates/generated/embedded-markdown.d.ts +12 -0
- package/dist/templates/generated/embedded-markdown.d.ts.map +1 -0
- package/dist/templates/generated/embedded-markdown.js +14 -0
- package/dist/templates/generated/embedded-markdown.js.map +1 -0
- package/dist/templates/github-actions/extract-workflow.d.ts +0 -0
- package/dist/templates/github-actions/extract-workflow.d.ts.map +0 -0
- package/dist/templates/github-actions/extract-workflow.js +118 -118
- package/dist/templates/github-actions/extract-workflow.js.map +0 -0
- package/dist/templates/github-actions/publish-workflow.d.ts +0 -0
- package/dist/templates/github-actions/publish-workflow.d.ts.map +1 -1
- package/dist/templates/github-actions/publish-workflow.js +104 -90
- package/dist/templates/github-actions/publish-workflow.js.map +1 -1
- package/package.json +69 -66
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Generic extract logic: list resources via IApimClient, write each to IArtifactStore.
|
|
6
6
|
* Handles all 33 types using ResourceType metadata. Preserves opaque JSON per FR-009.
|
|
7
7
|
*/
|
|
8
|
-
import { RESOURCE_TYPE_METADATA } from '../models/resource-types.js';
|
|
8
|
+
import { ResourceType, RESOURCE_TYPE_METADATA } from '../models/resource-types.js';
|
|
9
9
|
import { redactSecrets } from './secret-redactor.js';
|
|
10
10
|
import { shouldIncludeResource } from './filter-service.js';
|
|
11
11
|
import { logger } from '../lib/logger.js';
|
|
@@ -50,6 +50,9 @@ export async function extractResourceType(client, store, context, type, outputDi
|
|
|
50
50
|
errorCount: 0,
|
|
51
51
|
};
|
|
52
52
|
try {
|
|
53
|
+
const loggerTokenMap = type === ResourceType.Logger
|
|
54
|
+
? await loadNamedValueDisplayNameMap(client, context)
|
|
55
|
+
: undefined;
|
|
53
56
|
const resources = client.listResources(context, type, parent);
|
|
54
57
|
for await (const listJson of resources) {
|
|
55
58
|
result.totalCount++;
|
|
@@ -76,6 +79,9 @@ export async function extractResourceType(client, store, context, type, outputDi
|
|
|
76
79
|
json = full;
|
|
77
80
|
}
|
|
78
81
|
}
|
|
82
|
+
if (type === ResourceType.Logger && loggerTokenMap && loggerTokenMap.size > 0) {
|
|
83
|
+
json = normalizeLoggerCredentialPlaceholders(json, loggerTokenMap);
|
|
84
|
+
}
|
|
79
85
|
// Apply secret redaction
|
|
80
86
|
const safeJson = redactSecrets(descriptor, json);
|
|
81
87
|
// Write to artifact store (preserves opaque JSON per FR-009)
|
|
@@ -112,6 +118,51 @@ export async function extractResourceType(client, store, context, type, outputDi
|
|
|
112
118
|
}
|
|
113
119
|
return result;
|
|
114
120
|
}
|
|
121
|
+
async function loadNamedValueDisplayNameMap(client, context) {
|
|
122
|
+
const map = new Map();
|
|
123
|
+
for await (const namedValue of client.listResources(context, ResourceType.NamedValue)) {
|
|
124
|
+
const name = namedValue.name;
|
|
125
|
+
const properties = namedValue.properties;
|
|
126
|
+
const displayName = properties?.displayName;
|
|
127
|
+
if (typeof name === 'string' && typeof displayName === 'string' && displayName.length > 0) {
|
|
128
|
+
map.set(displayName, name);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return map;
|
|
132
|
+
}
|
|
133
|
+
function normalizeLoggerCredentialPlaceholders(json, displayNameToName) {
|
|
134
|
+
const properties = json.properties;
|
|
135
|
+
const credentials = properties?.credentials;
|
|
136
|
+
if (!properties || credentials === undefined) {
|
|
137
|
+
return json;
|
|
138
|
+
}
|
|
139
|
+
const normalizeValue = (value) => {
|
|
140
|
+
if (typeof value === 'string') {
|
|
141
|
+
return value.replace(/\{\{([^}]+)\}\}/g, (match, tokenName) => {
|
|
142
|
+
const mappedName = displayNameToName.get(tokenName);
|
|
143
|
+
return mappedName ? `{{${mappedName}}}` : match;
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
if (Array.isArray(value)) {
|
|
147
|
+
return value.map(normalizeValue);
|
|
148
|
+
}
|
|
149
|
+
if (value && typeof value === 'object') {
|
|
150
|
+
const out = {};
|
|
151
|
+
for (const [key, child] of Object.entries(value)) {
|
|
152
|
+
out[key] = normalizeValue(child);
|
|
153
|
+
}
|
|
154
|
+
return out;
|
|
155
|
+
}
|
|
156
|
+
return value;
|
|
157
|
+
};
|
|
158
|
+
return {
|
|
159
|
+
...json,
|
|
160
|
+
properties: {
|
|
161
|
+
...properties,
|
|
162
|
+
credentials: normalizeValue(credentials),
|
|
163
|
+
},
|
|
164
|
+
};
|
|
165
|
+
}
|
|
115
166
|
/**
|
|
116
167
|
* Extract a single resource by descriptor and write to artifact store.
|
|
117
168
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-extractor.js","sourceRoot":"","sources":["../../src/services/resource-extractor.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC;;;;GAIG;AAKH,OAAO,
|
|
1
|
+
{"version":3,"file":"resource-extractor.js","sourceRoot":"","sources":["../../src/services/resource-extractor.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-publisher.d.ts","sourceRoot":"","sources":["../../src/services/resource-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;
|
|
1
|
+
{"version":3,"file":"resource-publisher.d.ts","sourceRoot":"","sources":["../../src/services/resource-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;AAQzD,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACzC,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAyCD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,kBAAkB,EAC3B,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,qBAAqB,CAAC,CAkKhC"}
|
|
@@ -6,10 +6,12 @@
|
|
|
6
6
|
* Handles all 33 resource types using ResourceType metadata.
|
|
7
7
|
* MUST preserve opaque JSON per FR-009.
|
|
8
8
|
*/
|
|
9
|
-
import { ResourceType } from '../models/resource-types.js';
|
|
9
|
+
import { ResourceType, RESOURCE_TYPE_METADATA } from '../models/resource-types.js';
|
|
10
10
|
import { applyOverrides } from './override-merger.js';
|
|
11
11
|
import { checkKeyVaultSecretAccess } from './keyvault-checker.js';
|
|
12
12
|
import { getNamePart } from '../lib/resource-path.js';
|
|
13
|
+
import { isAutoGeneratedId } from '../lib/auto-generated.js';
|
|
14
|
+
import { isWorkspaceScope, buildLinkPayload } from '../lib/workspace-link.js';
|
|
13
15
|
/**
|
|
14
16
|
* Policy resource types that have external XML content
|
|
15
17
|
*/
|
|
@@ -57,6 +59,12 @@ export async function publishResource(client, store, context, descriptor, config
|
|
|
57
59
|
if (associationType) {
|
|
58
60
|
return await publishAssociation(client, store, context, descriptor, config, associationType);
|
|
59
61
|
}
|
|
62
|
+
// Handle workspace ApiTag — uses link endpoint with link payload.
|
|
63
|
+
// In service scope, ApiTag is a regular PUT with the tag JSON; in workspace
|
|
64
|
+
// scope it becomes a link resource at `tags/{tag}/apiLinks/{api}`.
|
|
65
|
+
if (descriptor.type === ResourceType.ApiTag && (descriptor.workspace || isWorkspaceScope(context))) {
|
|
66
|
+
return await publishWorkspaceApiTagLink(client, context, descriptor);
|
|
67
|
+
}
|
|
60
68
|
// Handle wiki types
|
|
61
69
|
if (WIKI_TYPES.has(descriptor.type)) {
|
|
62
70
|
return await publishWiki(client, store, context, descriptor, config);
|
|
@@ -76,6 +84,12 @@ export async function publishResource(client, store, context, descriptor, config
|
|
|
76
84
|
}
|
|
77
85
|
// Apply overrides (deep merge, preserves opaque structure)
|
|
78
86
|
json = applyOverrides(descriptor, json, config.overrides);
|
|
87
|
+
// API operations: enforce explicit empty strings for text fields when omitted.
|
|
88
|
+
// APIM may synthesize description from displayName when description is absent,
|
|
89
|
+
// causing extract/publish round-trip drift.
|
|
90
|
+
if (descriptor.type === ResourceType.ApiOperation) {
|
|
91
|
+
json = normalizeApiOperationTextFields(json);
|
|
92
|
+
}
|
|
79
93
|
// For KeyVault-backed NamedValues:
|
|
80
94
|
// 1. Strip properties.value — APIM must not receive both keyVault and value
|
|
81
95
|
// in the same PUT body, as it causes indefinite provisioning or rejection.
|
|
@@ -111,6 +125,7 @@ export async function publishResource(client, store, context, descriptor, config
|
|
|
111
125
|
if (descriptor.type === ResourceType.Subscription) {
|
|
112
126
|
const props = json.properties;
|
|
113
127
|
const scope = props?.scope;
|
|
128
|
+
const subscriptionName = getNamePart(descriptor.nameParts, 0);
|
|
114
129
|
// Built-in master subscription has scope ending with the service path (no /apis or /products suffix)
|
|
115
130
|
// Skip it since APIM doesn't allow updates to built-in subscriptions
|
|
116
131
|
if (scope && (scope.endsWith('/') || (!scope.includes('/apis') && !scope.includes('/products')))) {
|
|
@@ -120,6 +135,13 @@ export async function publishResource(client, store, context, descriptor, config
|
|
|
120
135
|
action: 'noop',
|
|
121
136
|
};
|
|
122
137
|
}
|
|
138
|
+
if (isAutoGeneratedProductSubscription(subscriptionName, scope)) {
|
|
139
|
+
return {
|
|
140
|
+
descriptor,
|
|
141
|
+
status: 'skipped',
|
|
142
|
+
action: 'noop',
|
|
143
|
+
};
|
|
144
|
+
}
|
|
123
145
|
json = normalizeSubscriptionScope(json, context);
|
|
124
146
|
}
|
|
125
147
|
// ApiRelease: normalize properties.apiId from source ARM path to target ARM path.
|
|
@@ -136,6 +158,7 @@ export async function publishResource(client, store, context, descriptor, config
|
|
|
136
158
|
// validation errors in APIM's revision creation.
|
|
137
159
|
if (descriptor.type === ResourceType.Api) {
|
|
138
160
|
const apiName = getNamePart(descriptor.nameParts, 0);
|
|
161
|
+
json = normalizeMcpToolOperationIds(json, context);
|
|
139
162
|
if (apiName.includes(';rev=')) {
|
|
140
163
|
const baseApiName = apiName.split(';rev=')[0];
|
|
141
164
|
const props = json.properties;
|
|
@@ -145,6 +168,12 @@ export async function publishResource(client, store, context, descriptor, config
|
|
|
145
168
|
cleanProps[key] = val;
|
|
146
169
|
}
|
|
147
170
|
cleanProps.sourceApiId = `/subscriptions/${context.subscriptionId}/resourceGroups/${context.resourceGroup}/providers/Microsoft.ApiManagement/service/${context.serviceName}/apis/${baseApiName}`;
|
|
171
|
+
// Preserve source current-revision intent. APIM can implicitly promote a
|
|
172
|
+
// created revision to current if isCurrent is omitted; default to false
|
|
173
|
+
// unless the extracted artifact explicitly set it.
|
|
174
|
+
if (!Object.hasOwn(cleanProps, 'isCurrent')) {
|
|
175
|
+
cleanProps.isCurrent = false;
|
|
176
|
+
}
|
|
148
177
|
json = { ...json, properties: cleanProps };
|
|
149
178
|
}
|
|
150
179
|
}
|
|
@@ -265,7 +294,9 @@ async function publishPolicy(client, store, context, descriptor, config) {
|
|
|
265
294
|
format: 'rawxml',
|
|
266
295
|
},
|
|
267
296
|
};
|
|
268
|
-
|
|
297
|
+
// Apply overrides (e.g., format: xml) before PUT — matches Toolkit behavior
|
|
298
|
+
const mergedPayload = applyOverrides(descriptor, payload, config.overrides);
|
|
299
|
+
await client.putResource(context, descriptor, mergedPayload);
|
|
269
300
|
return {
|
|
270
301
|
descriptor,
|
|
271
302
|
status: 'success',
|
|
@@ -348,4 +379,98 @@ function normalizeApiReleaseApiId(json, context) {
|
|
|
348
379
|
}
|
|
349
380
|
return json;
|
|
350
381
|
}
|
|
382
|
+
/**
|
|
383
|
+
* Normalise MCP tool operationIds for MCP APIs.
|
|
384
|
+
*
|
|
385
|
+
* Extracted artifacts store operationId as full source ARM IDs. Rebuild each
|
|
386
|
+
* operationId to target service ARM prefix so APIM validates MCP tools against
|
|
387
|
+
* existing operations in the target instance.
|
|
388
|
+
*/
|
|
389
|
+
function normalizeMcpToolOperationIds(json, context) {
|
|
390
|
+
const props = json.properties;
|
|
391
|
+
if (!props)
|
|
392
|
+
return json;
|
|
393
|
+
const mcpTools = props.mcpTools;
|
|
394
|
+
if (!Array.isArray(mcpTools) || mcpTools.length === 0)
|
|
395
|
+
return json;
|
|
396
|
+
const targetArmPrefix = context.baseUrl.replace(/^https?:\/\/[^/]+/, '');
|
|
397
|
+
const normalizedTools = mcpTools.map((tool) => {
|
|
398
|
+
if (!tool || typeof tool !== 'object') {
|
|
399
|
+
return tool;
|
|
400
|
+
}
|
|
401
|
+
const typedTool = tool;
|
|
402
|
+
const operationId = typedTool.operationId;
|
|
403
|
+
if (typeof operationId !== 'string') {
|
|
404
|
+
return typedTool;
|
|
405
|
+
}
|
|
406
|
+
const operationsIndex = operationId.indexOf('/apis/');
|
|
407
|
+
if (operationsIndex === -1) {
|
|
408
|
+
return typedTool;
|
|
409
|
+
}
|
|
410
|
+
return {
|
|
411
|
+
...typedTool,
|
|
412
|
+
operationId: `${targetArmPrefix}${operationId.slice(operationsIndex)}`,
|
|
413
|
+
};
|
|
414
|
+
});
|
|
415
|
+
return {
|
|
416
|
+
...json,
|
|
417
|
+
properties: {
|
|
418
|
+
...props,
|
|
419
|
+
mcpTools: normalizedTools,
|
|
420
|
+
},
|
|
421
|
+
};
|
|
422
|
+
}
|
|
423
|
+
function normalizeApiOperationTextFields(json) {
|
|
424
|
+
const props = json.properties;
|
|
425
|
+
if (!props) {
|
|
426
|
+
return json;
|
|
427
|
+
}
|
|
428
|
+
const normalizedProps = {
|
|
429
|
+
...props,
|
|
430
|
+
};
|
|
431
|
+
if (normalizedProps.displayName == null) {
|
|
432
|
+
normalizedProps.displayName = '';
|
|
433
|
+
}
|
|
434
|
+
if (normalizedProps.description == null) {
|
|
435
|
+
normalizedProps.description = '';
|
|
436
|
+
}
|
|
437
|
+
return {
|
|
438
|
+
...json,
|
|
439
|
+
properties: normalizedProps,
|
|
440
|
+
};
|
|
441
|
+
}
|
|
442
|
+
function isAutoGeneratedProductSubscription(subscriptionName, scope) {
|
|
443
|
+
if (!scope || !isAutoGeneratedId(subscriptionName)) {
|
|
444
|
+
return false;
|
|
445
|
+
}
|
|
446
|
+
return scope.includes('/products/');
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* Publish an ApiTag as a workspace link resource.
|
|
450
|
+
* Workspace scope uses `tags/{tag}/apiLinks/{api}` with a link payload body.
|
|
451
|
+
*/
|
|
452
|
+
async function publishWorkspaceApiTagLink(client, context, descriptor) {
|
|
453
|
+
try {
|
|
454
|
+
const apiName = getNamePart(descriptor.nameParts, 0);
|
|
455
|
+
const meta = RESOURCE_TYPE_METADATA[ResourceType.ApiTag];
|
|
456
|
+
if (!meta.workspaceLinkIdProperty) {
|
|
457
|
+
throw new Error(`Missing workspaceLinkIdProperty in metadata for ${ResourceType.ApiTag}`);
|
|
458
|
+
}
|
|
459
|
+
const payload = buildLinkPayload(context, meta.workspaceLinkIdProperty, 'apis', apiName, descriptor.workspace);
|
|
460
|
+
await client.putResource(context, descriptor, payload);
|
|
461
|
+
return {
|
|
462
|
+
descriptor,
|
|
463
|
+
status: 'success',
|
|
464
|
+
action: 'put',
|
|
465
|
+
};
|
|
466
|
+
}
|
|
467
|
+
catch (error) {
|
|
468
|
+
return {
|
|
469
|
+
descriptor,
|
|
470
|
+
status: 'failed',
|
|
471
|
+
action: 'noop',
|
|
472
|
+
error: error instanceof Error ? error : new Error(String(error)),
|
|
473
|
+
};
|
|
474
|
+
}
|
|
475
|
+
}
|
|
351
476
|
//# sourceMappingURL=resource-publisher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-publisher.js","sourceRoot":"","sources":["../../src/services/resource-publisher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resource-publisher.js","sourceRoot":"","sources":["../../src/services/resource-publisher.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitive-resolver.d.ts","sourceRoot":"","sources":["../../src/services/transitive-resolver.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAUxD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAkC9E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,oBAAoB,GAAG,SAAS,CAuBlC;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACnD,aAAa,EAAE,YAAY,GAC1B,YAAY,CAmCd;
|
|
1
|
+
{"version":3,"file":"transitive-resolver.d.ts","sourceRoot":"","sources":["../../src/services/transitive-resolver.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAUxD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAkC9E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,oBAAoB,GAAG,SAAS,CAuBlC;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACnD,aAAa,EAAE,YAAY,GAC1B,YAAY,CAmCd;AAyCD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACzC,kBAAkB,EAAE,CA4BtB"}
|
|
@@ -122,10 +122,10 @@ export function resolveTransitiveDependencies(extractedPolicies, extractedApis,
|
|
|
122
122
|
*/
|
|
123
123
|
function addToFilter(filter, dep) {
|
|
124
124
|
const fieldMap = {
|
|
125
|
-
[ResourceType.NamedValue]: '
|
|
126
|
-
[ResourceType.Backend]: '
|
|
127
|
-
[ResourceType.PolicyFragment]: '
|
|
128
|
-
[ResourceType.VersionSet]: '
|
|
125
|
+
[ResourceType.NamedValue]: 'namedValues',
|
|
126
|
+
[ResourceType.Backend]: 'backends',
|
|
127
|
+
[ResourceType.PolicyFragment]: 'policyFragments',
|
|
128
|
+
[ResourceType.VersionSet]: 'versionSets',
|
|
129
129
|
};
|
|
130
130
|
const field = fieldMap[dep.type];
|
|
131
131
|
if (!field) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transitive-resolver.js","sourceRoot":"","sources":["../../src/services/transitive-resolver.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC;;;;;GAKG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;GAEG;AACH,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AAC/C,MAAM,eAAe,GAAG,8CAA8C,CAAC;AACvE,MAAM,gBAAgB,GAAG,4CAA4C,CAAC;AAUtE;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,MAAM,YAAY,GAA2B,EAAE,CAAC;IAEhD,yBAAyB;IACzB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC5D,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACb,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,YAAY,CAAC,UAAU;gBAC7B,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACxD,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACb,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,YAAY,CAAC,OAAO;gBAC1B,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzD,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACb,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,YAAY,CAAC,cAAc;gBACjC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAgC;IAEhC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAiD,CAAC;IAC7E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,eAAqC,CAAC;IACtE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,gDAAgD;IAChD,mDAAmD;IACnD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,UAAU;QAC7B,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,6BAA6B,CAC3C,iBAAsC,EACtC,aAAmD,EACnD,aAA2B;IAE3B,MAAM,QAAQ,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;IACtC,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC,eAAe;IAEzC,OAAO,OAAO,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;QAC7C,OAAO,GAAG,KAAK,CAAC;QAChB,UAAU,EAAE,CAAC;QAEb,6CAA6C;QAC7C,KAAK,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAE7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;oBAC/B,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,aAAa,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;YAC1D,IAAI,aAAa,IAAI,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;gBAC1D,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,sCAAsC,UAAU,aAAa,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAClB,MAAoB,EACpB,GAAyB;
|
|
1
|
+
{"version":3,"file":"transitive-resolver.js","sourceRoot":"","sources":["../../src/services/transitive-resolver.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC;;;;;GAKG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;GAEG;AACH,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;AAC/C,MAAM,eAAe,GAAG,8CAA8C,CAAC;AACvE,MAAM,gBAAgB,GAAG,4CAA4C,CAAC;AAUtE;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,MAAM,YAAY,GAA2B,EAAE,CAAC;IAEhD,yBAAyB;IACzB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC5D,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACb,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,YAAY,CAAC,UAAU;gBAC7B,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACxD,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACb,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,YAAY,CAAC,OAAO;gBAC1B,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzD,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACb,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,YAAY,CAAC,cAAc;gBACjC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAgC;IAEhC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAiD,CAAC;IAC7E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,eAAqC,CAAC;IACtE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,gDAAgD;IAChD,mDAAmD;IACnD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,UAAU;QAC7B,IAAI;KACL,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,6BAA6B,CAC3C,iBAAsC,EACtC,aAAmD,EACnD,aAA2B;IAE3B,MAAM,QAAQ,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;IACtC,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC,eAAe;IAEzC,OAAO,OAAO,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;QAC7C,OAAO,GAAG,KAAK,CAAC;QAChB,UAAU,EAAE,CAAC;QAEb,6CAA6C;QAC7C,KAAK,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAE7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;oBAC/B,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,aAAa,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;YAC1D,IAAI,aAAa,IAAI,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;gBAC1D,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,sCAAsC,UAAU,aAAa,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAClB,MAAoB,EACpB,GAAyB;IAGzB,MAAM,QAAQ,GAAoD;QAChE,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,aAAa;QACxC,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,UAAU;QAClC,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,iBAAiB;QAChD,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,aAAa;KACzC,CAAC;IAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8EAA8E;IAC9E,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+CAA+C;IAC/C,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;QAC/D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB;IACf,MAAM,CAAC,KAAK,CAAc,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,aAAa,CAAC,CAAC;IACtE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,QAA6B,EAC7B,IAA0C;IAE1C,MAAM,YAAY,GAAyB,EAAE,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,oBAAoB;IACpB,KAAK,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,QAAQ,EAAE,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
|
@@ -7,9 +7,6 @@ import { IApimClient } from '../clients/iapim-client.js';
|
|
|
7
7
|
import { IArtifactStore } from '../clients/iartifact-store.js';
|
|
8
8
|
import { ApimServiceContext } from '../models/types.js';
|
|
9
9
|
import { FilterConfig } from '../models/config.js';
|
|
10
|
-
/**
|
|
11
|
-
* Result of extracting a single workspace.
|
|
12
|
-
*/
|
|
13
10
|
export interface WorkspaceExtractionResult {
|
|
14
11
|
workspaceName: string;
|
|
15
12
|
resourceCount: number;
|
|
@@ -17,12 +14,7 @@ export interface WorkspaceExtractionResult {
|
|
|
17
14
|
}
|
|
18
15
|
/**
|
|
19
16
|
* Extract resources from all workspaces.
|
|
20
|
-
|
|
21
|
-
* Note: Workspace listing is not supported through the current IApimClient
|
|
22
|
-
* interface (ResourceType doesn't include Workspace). This function accepts
|
|
23
|
-
* workspace names from the filter config. If workspaceNames is not specified
|
|
24
|
-
* in the filter, workspace extraction is skipped.
|
|
25
|
-
*
|
|
17
|
+
|
|
26
18
|
* @param client - APIM REST client
|
|
27
19
|
* @param store - Artifact file store
|
|
28
20
|
* @param context - APIM service context
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-extractor.d.ts","sourceRoot":"","sources":["../../src/services/workspace-extractor.ts"],"names":[],"mappings":"AAEA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"workspace-extractor.d.ts","sourceRoot":"","sources":["../../src/services/workspace-extractor.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAgBnD,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAmDtC"}
|
|
@@ -1,41 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
// Licensed under the MIT license.
|
|
3
|
-
/**
|
|
4
|
-
* T027: Workspace-scoped extraction
|
|
5
|
-
* List workspaces, extract workspace-scoped resources under workspaces/{name}/
|
|
6
|
-
* using same resource-extractor with workspace context prefix.
|
|
7
|
-
*/
|
|
8
|
-
import { ResourceType } from '../models/resource-types.js';
|
|
1
|
+
import { ResourceType, RESOURCE_TYPE_METADATA } from '../models/resource-types.js';
|
|
9
2
|
import { extractResourceType } from './resource-extractor.js';
|
|
10
|
-
import { extractApiResources } from './api-extractor.js';
|
|
11
|
-
import { extractProductResources } from './product-extractor.js';
|
|
3
|
+
import { extractApiResources, extractWorkspaceApiTags } from './api-extractor.js';
|
|
4
|
+
import { extractProductResources, extractWorkspaceProductTags } from './product-extractor.js';
|
|
12
5
|
import { logger } from '../lib/logger.js';
|
|
6
|
+
import { getNamePart } from '../lib/resource-path.js';
|
|
13
7
|
/**
|
|
14
|
-
* Types that can exist at the workspace level.
|
|
15
|
-
*
|
|
8
|
+
* Types that can exist at the workspace level, derived from RESOURCE_TYPE_METADATA.
|
|
9
|
+
* Enumerated in declaration order for deterministic iteration.
|
|
10
|
+
* A type is workspace-capable when its metadata has `workspaceSupported: true`.
|
|
16
11
|
*/
|
|
17
|
-
const WORKSPACE_SUPPORTED_TYPES = [
|
|
18
|
-
ResourceType.NamedValue,
|
|
19
|
-
ResourceType.Tag,
|
|
20
|
-
ResourceType.Backend,
|
|
21
|
-
ResourceType.Logger,
|
|
22
|
-
ResourceType.Diagnostic,
|
|
23
|
-
ResourceType.PolicyFragment,
|
|
24
|
-
ResourceType.Product,
|
|
25
|
-
ResourceType.Api,
|
|
26
|
-
ResourceType.Subscription,
|
|
27
|
-
ResourceType.GlobalSchema,
|
|
28
|
-
ResourceType.Documentation,
|
|
29
|
-
ResourceType.Group,
|
|
30
|
-
];
|
|
12
|
+
const WORKSPACE_SUPPORTED_TYPES = Object.values(ResourceType).filter((type) => RESOURCE_TYPE_METADATA[type].workspaceSupported === true);
|
|
31
13
|
/**
|
|
32
14
|
* Extract resources from all workspaces.
|
|
33
|
-
|
|
34
|
-
* Note: Workspace listing is not supported through the current IApimClient
|
|
35
|
-
* interface (ResourceType doesn't include Workspace). This function accepts
|
|
36
|
-
* workspace names from the filter config. If workspaceNames is not specified
|
|
37
|
-
* in the filter, workspace extraction is skipped.
|
|
38
|
-
*
|
|
15
|
+
|
|
39
16
|
* @param client - APIM REST client
|
|
40
17
|
* @param store - Artifact file store
|
|
41
18
|
* @param context - APIM service context
|
|
@@ -45,23 +22,48 @@ const WORKSPACE_SUPPORTED_TYPES = [
|
|
|
45
22
|
*/
|
|
46
23
|
export async function extractWorkspaces(client, store, context, outputDir, filter) {
|
|
47
24
|
const results = [];
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
25
|
+
let workspaceNames;
|
|
26
|
+
if (filter?.workspaces !== undefined) {
|
|
27
|
+
// Defined workspace filter: use exactly the specified list.
|
|
28
|
+
// Empty array = exclude all workspaces (extract none).
|
|
29
|
+
if (filter.workspaces.length === 0) {
|
|
30
|
+
logger.debug('Workspace filter is empty array — excluding all workspaces');
|
|
31
|
+
return results;
|
|
32
|
+
}
|
|
33
|
+
workspaceNames = filter.workspaces;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
// No workspace filter defined — discover all workspaces
|
|
37
|
+
const discovered = [];
|
|
38
|
+
for await (const item of client.listResources(context, ResourceType.Workspace)) {
|
|
39
|
+
const name = item['name'];
|
|
40
|
+
if (typeof name === 'string') {
|
|
41
|
+
discovered.push(name);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
workspaceNames = discovered;
|
|
45
|
+
}
|
|
46
|
+
if (workspaceNames.length === 0) {
|
|
47
|
+
logger.debug('No workspaces found — skipping workspace extraction');
|
|
53
48
|
return results;
|
|
54
49
|
}
|
|
55
50
|
logger.info(`Extracting ${workspaceNames.length} workspace(s)...`);
|
|
56
51
|
for (const wsName of workspaceNames) {
|
|
52
|
+
// Persist the workspace container itself so publish can recreate it
|
|
53
|
+
// before workspace-scoped children (named values, APIs, products, etc.).
|
|
54
|
+
const wsDescriptor = { type: ResourceType.Workspace, nameParts: [wsName] };
|
|
55
|
+
const wsJson = await client.getResource(context, wsDescriptor);
|
|
56
|
+
if (!wsJson) {
|
|
57
|
+
logger.error(`Workspace container "${wsName}" was discovered but could not be read. Continuing with workspace child extraction.`);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
await store.writeResource(outputDir, wsDescriptor, wsJson);
|
|
61
|
+
}
|
|
57
62
|
const wsResult = await extractWorkspace(client, store, context, wsName, outputDir, filter);
|
|
58
63
|
results.push(wsResult);
|
|
59
64
|
}
|
|
60
65
|
return results;
|
|
61
66
|
}
|
|
62
|
-
/**
|
|
63
|
-
* Extract all resources from a single workspace.
|
|
64
|
-
*/
|
|
65
67
|
async function extractWorkspace(client, store, context, workspaceName, outputDir, filter) {
|
|
66
68
|
logger.info(`Extracting workspace "${workspaceName}"...`);
|
|
67
69
|
let resourceCount = 0;
|
|
@@ -72,17 +74,27 @@ async function extractWorkspace(client, store, context, workspaceName, outputDir
|
|
|
72
74
|
...context,
|
|
73
75
|
baseUrl: `${context.baseUrl}/workspaces/${encodeURIComponent(workspaceName)}`,
|
|
74
76
|
};
|
|
75
|
-
//
|
|
77
|
+
// Track extracted tags and APIs for workspace-specific ApiTag extraction
|
|
78
|
+
let extractedTagNames = [];
|
|
79
|
+
const extractedApiNames = new Set();
|
|
80
|
+
let extractedProducts = [];
|
|
76
81
|
for (const type of WORKSPACE_SUPPORTED_TYPES) {
|
|
77
82
|
try {
|
|
78
83
|
const result = await extractResourceType(client, store, wsContext, type, outputDir, filter, undefined, workspaceName);
|
|
79
84
|
resourceCount += result.extracted.filter((r) => r.status === 'success').length;
|
|
80
85
|
errorCount += result.errorCount;
|
|
86
|
+
// Track extracted tags for later ApiTag/ProductTag extraction
|
|
87
|
+
if (type === ResourceType.Tag) {
|
|
88
|
+
extractedTagNames = result.extracted
|
|
89
|
+
.filter((r) => r.status === 'success')
|
|
90
|
+
.map((r) => getNamePart(r.descriptor.nameParts, 0));
|
|
91
|
+
}
|
|
81
92
|
// Handle API-specific extraction for APIs in the workspace
|
|
82
93
|
if (type === ResourceType.Api) {
|
|
83
94
|
for (const api of result.extracted) {
|
|
84
95
|
if (api.status !== 'success')
|
|
85
96
|
continue;
|
|
97
|
+
extractedApiNames.add(getNamePart(api.descriptor.nameParts, 0));
|
|
86
98
|
try {
|
|
87
99
|
const apiResult = await extractApiResources(client, store, wsContext, api.descriptor, api.json, outputDir, filter, workspaceName);
|
|
88
100
|
resourceCount += apiResult.operations.length +
|
|
@@ -97,9 +109,8 @@ async function extractWorkspace(client, store, context, workspaceName, outputDir
|
|
|
97
109
|
}
|
|
98
110
|
// Handle product-specific extraction for products in the workspace
|
|
99
111
|
if (type === ResourceType.Product) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
continue;
|
|
112
|
+
extractedProducts = result.extracted.filter((r) => r.status === 'success');
|
|
113
|
+
for (const product of extractedProducts) {
|
|
103
114
|
try {
|
|
104
115
|
await extractProductResources(client, store, wsContext, product.descriptor, outputDir, filter, workspaceName);
|
|
105
116
|
resourceCount++;
|
|
@@ -116,6 +127,31 @@ async function extractWorkspace(client, store, context, workspaceName, outputDir
|
|
|
116
127
|
errorCount++;
|
|
117
128
|
}
|
|
118
129
|
}
|
|
130
|
+
// Extract workspace API tags using the tag-centric apiLinks endpoint.
|
|
131
|
+
// This must happen after both Tags and APIs are extracted since the
|
|
132
|
+
// workspace scope uses `tags/{tag}/apiLinks` (inverted parent-child).
|
|
133
|
+
if (extractedTagNames.length > 0 && extractedApiNames.size > 0) {
|
|
134
|
+
try {
|
|
135
|
+
const apiTagCount = await extractWorkspaceApiTags(client, store, wsContext, extractedTagNames, extractedApiNames, outputDir, workspaceName);
|
|
136
|
+
resourceCount += apiTagCount;
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
logger.warn(`Failed to extract API tags for workspace "${workspaceName}": ${error.message}`);
|
|
140
|
+
errorCount++;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// Extract workspace product tags using the tag-centric productLinks endpoint.
|
|
144
|
+
// Similar to ApiTag, workspace ProductTag uses `tags/{tag}/productLinks`.
|
|
145
|
+
if (extractedTagNames.length > 0 && extractedProducts.length > 0) {
|
|
146
|
+
try {
|
|
147
|
+
const productTagCount = await extractWorkspaceProductTags(client, store, wsContext, extractedTagNames, extractedProducts, outputDir, workspaceName);
|
|
148
|
+
resourceCount += productTagCount;
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
logger.warn(`Failed to extract product tags for workspace "${workspaceName}": ${error.message}`);
|
|
152
|
+
errorCount++;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
119
155
|
logger.info(`Workspace "${workspaceName}": extracted ${resourceCount} resources, ${errorCount} errors`);
|
|
120
156
|
return { workspaceName, resourceCount, errorCount };
|
|
121
157
|
}
|