@peterhauge/apiops-cli 0.2.0-alpha.0 → 0.3.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.
Files changed (206) hide show
  1. package/README.md +167 -169
  2. package/dist/cli/extract-command.d.ts +2 -2
  3. package/dist/cli/extract-command.d.ts.map +1 -1
  4. package/dist/cli/extract-command.js +3 -5
  5. package/dist/cli/extract-command.js.map +1 -1
  6. package/dist/cli/index.d.ts +0 -0
  7. package/dist/cli/index.d.ts.map +0 -0
  8. package/dist/cli/index.js +2 -3
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/cli/init-command.d.ts +1 -1
  11. package/dist/cli/init-command.d.ts.map +0 -0
  12. package/dist/cli/init-command.js +1 -1
  13. package/dist/cli/init-command.js.map +0 -0
  14. package/dist/cli/publish-command.d.ts +2 -2
  15. package/dist/cli/publish-command.d.ts.map +0 -0
  16. package/dist/cli/publish-command.js +3 -3
  17. package/dist/cli/publish-command.js.map +0 -0
  18. package/dist/clients/apim-client.d.ts +16 -5
  19. package/dist/clients/apim-client.d.ts.map +1 -1
  20. package/dist/clients/apim-client.js +22 -7
  21. package/dist/clients/apim-client.js.map +1 -1
  22. package/dist/clients/artifact-store.d.ts +4 -4
  23. package/dist/clients/artifact-store.d.ts.map +1 -1
  24. package/dist/clients/artifact-store.js +10 -4
  25. package/dist/clients/artifact-store.js.map +1 -1
  26. package/dist/clients/iapim-client.d.ts +14 -2
  27. package/dist/clients/iapim-client.d.ts.map +1 -1
  28. package/dist/clients/iapim-client.js +1 -1
  29. package/dist/clients/iapim-client.js.map +0 -0
  30. package/dist/clients/iartifact-store.d.ts +10 -5
  31. package/dist/clients/iartifact-store.d.ts.map +1 -1
  32. package/dist/clients/iartifact-store.js +1 -1
  33. package/dist/clients/iartifact-store.js.map +0 -0
  34. package/dist/lib/auto-generated.d.ts +0 -0
  35. package/dist/lib/auto-generated.d.ts.map +0 -0
  36. package/dist/lib/auto-generated.js +0 -0
  37. package/dist/lib/auto-generated.js.map +0 -0
  38. package/dist/lib/cloud-config.d.ts +1 -1
  39. package/dist/lib/cloud-config.d.ts.map +0 -0
  40. package/dist/lib/cloud-config.js +1 -1
  41. package/dist/lib/cloud-config.js.map +0 -0
  42. package/dist/lib/config-loader.d.ts +2 -7
  43. package/dist/lib/config-loader.d.ts.map +1 -1
  44. package/dist/lib/config-loader.js +3 -22
  45. package/dist/lib/config-loader.js.map +1 -1
  46. package/dist/lib/dependency-graph.d.ts +1 -1
  47. package/dist/lib/dependency-graph.d.ts.map +0 -0
  48. package/dist/lib/dependency-graph.js +1 -1
  49. package/dist/lib/dependency-graph.js.map +0 -0
  50. package/dist/lib/exit-codes.d.ts +1 -1
  51. package/dist/lib/exit-codes.d.ts.map +0 -0
  52. package/dist/lib/exit-codes.js +1 -1
  53. package/dist/lib/exit-codes.js.map +0 -0
  54. package/dist/lib/logger.d.ts +0 -0
  55. package/dist/lib/logger.d.ts.map +0 -0
  56. package/dist/lib/logger.js +1 -1
  57. package/dist/lib/logger.js.map +0 -0
  58. package/dist/lib/parallel-runner.d.ts +2 -2
  59. package/dist/lib/parallel-runner.d.ts.map +0 -0
  60. package/dist/lib/parallel-runner.js +2 -2
  61. package/dist/lib/parallel-runner.js.map +0 -0
  62. package/dist/lib/resource-path.d.ts +1 -1
  63. package/dist/lib/resource-path.d.ts.map +0 -0
  64. package/dist/lib/resource-path.js +1 -1
  65. package/dist/lib/resource-path.js.map +0 -0
  66. package/dist/lib/resource-uri.d.ts +1 -1
  67. package/dist/lib/resource-uri.d.ts.map +0 -0
  68. package/dist/lib/resource-uri.js +1 -1
  69. package/dist/lib/resource-uri.js.map +0 -0
  70. package/dist/lib/user-agent.d.ts +0 -0
  71. package/dist/lib/user-agent.d.ts.map +0 -0
  72. package/dist/lib/user-agent.js +0 -0
  73. package/dist/lib/user-agent.js.map +0 -0
  74. package/dist/lib/workspace-link.d.ts +31 -3
  75. package/dist/lib/workspace-link.d.ts.map +1 -1
  76. package/dist/lib/workspace-link.js +49 -3
  77. package/dist/lib/workspace-link.js.map +1 -1
  78. package/dist/models/config.d.ts +2 -4
  79. package/dist/models/config.d.ts.map +1 -1
  80. package/dist/models/config.js +1 -1
  81. package/dist/models/config.js.map +0 -0
  82. package/dist/models/resource-types.d.ts +1 -1
  83. package/dist/models/resource-types.d.ts.map +1 -1
  84. package/dist/models/resource-types.js +5 -3
  85. package/dist/models/resource-types.js.map +1 -1
  86. package/dist/models/types.d.ts +22 -1
  87. package/dist/models/types.d.ts.map +1 -1
  88. package/dist/models/types.js +1 -1
  89. package/dist/models/types.js.map +0 -0
  90. package/dist/services/api-extractor.d.ts +1 -1
  91. package/dist/services/api-extractor.d.ts.map +1 -1
  92. package/dist/services/api-extractor.js +29 -127
  93. package/dist/services/api-extractor.js.map +1 -1
  94. package/dist/services/api-publisher.d.ts +1 -1
  95. package/dist/services/api-publisher.d.ts.map +1 -1
  96. package/dist/services/api-publisher.js +71 -28
  97. package/dist/services/api-publisher.js.map +1 -1
  98. package/dist/services/delete-unmatched-service.d.ts +1 -1
  99. package/dist/services/delete-unmatched-service.d.ts.map +0 -0
  100. package/dist/services/delete-unmatched-service.js +1 -1
  101. package/dist/services/delete-unmatched-service.js.map +0 -0
  102. package/dist/services/dry-run-reporter.d.ts +1 -1
  103. package/dist/services/dry-run-reporter.d.ts.map +0 -0
  104. package/dist/services/dry-run-reporter.js +1 -1
  105. package/dist/services/dry-run-reporter.js.map +0 -0
  106. package/dist/services/extract-service.d.ts +1 -1
  107. package/dist/services/extract-service.d.ts.map +0 -0
  108. package/dist/services/extract-service.js +1 -1
  109. package/dist/services/extract-service.js.map +0 -0
  110. package/dist/services/filter-service.d.ts +19 -1
  111. package/dist/services/filter-service.d.ts.map +1 -1
  112. package/dist/services/filter-service.js +40 -2
  113. package/dist/services/filter-service.js.map +1 -1
  114. package/dist/services/git-diff-service.d.ts +1 -1
  115. package/dist/services/git-diff-service.d.ts.map +0 -0
  116. package/dist/services/git-diff-service.js +1 -1
  117. package/dist/services/git-diff-service.js.map +0 -0
  118. package/dist/services/identity-guide-service.d.ts +1 -1
  119. package/dist/services/identity-guide-service.d.ts.map +0 -0
  120. package/dist/services/identity-guide-service.js +12 -12
  121. package/dist/services/identity-guide-service.js.map +0 -0
  122. package/dist/services/init-service.d.ts +1 -1
  123. package/dist/services/init-service.d.ts.map +0 -0
  124. package/dist/services/init-service.js +1 -1
  125. package/dist/services/init-service.js.map +0 -0
  126. package/dist/services/keyvault-checker.d.ts +0 -0
  127. package/dist/services/keyvault-checker.d.ts.map +0 -0
  128. package/dist/services/keyvault-checker.js +0 -0
  129. package/dist/services/keyvault-checker.js.map +0 -0
  130. package/dist/services/override-merger.d.ts +1 -1
  131. package/dist/services/override-merger.d.ts.map +0 -0
  132. package/dist/services/override-merger.js +1 -1
  133. package/dist/services/override-merger.js.map +0 -0
  134. package/dist/services/product-extractor.d.ts +1 -1
  135. package/dist/services/product-extractor.d.ts.map +1 -1
  136. package/dist/services/product-extractor.js +27 -26
  137. package/dist/services/product-extractor.js.map +1 -1
  138. package/dist/services/product-publisher.d.ts +0 -0
  139. package/dist/services/product-publisher.d.ts.map +1 -1
  140. package/dist/services/product-publisher.js +25 -9
  141. package/dist/services/product-publisher.js.map +1 -1
  142. package/dist/services/prompt-service.d.ts +1 -1
  143. package/dist/services/prompt-service.d.ts.map +0 -0
  144. package/dist/services/prompt-service.js +1 -1
  145. package/dist/services/prompt-service.js.map +0 -0
  146. package/dist/services/publish-service.d.ts +1 -1
  147. package/dist/services/publish-service.d.ts.map +1 -1
  148. package/dist/services/publish-service.js +18 -6
  149. package/dist/services/publish-service.js.map +1 -1
  150. package/dist/services/resource-extractor.d.ts +1 -1
  151. package/dist/services/resource-extractor.d.ts.map +1 -1
  152. package/dist/services/resource-extractor.js +2 -53
  153. package/dist/services/resource-extractor.js.map +1 -1
  154. package/dist/services/resource-publisher.d.ts +9 -1
  155. package/dist/services/resource-publisher.d.ts.map +1 -1
  156. package/dist/services/resource-publisher.js +145 -9
  157. package/dist/services/resource-publisher.js.map +1 -1
  158. package/dist/services/secret-redactor.d.ts +1 -1
  159. package/dist/services/secret-redactor.d.ts.map +0 -0
  160. package/dist/services/secret-redactor.js +1 -1
  161. package/dist/services/secret-redactor.js.map +0 -0
  162. package/dist/services/transitive-resolver.d.ts +1 -1
  163. package/dist/services/transitive-resolver.d.ts.map +0 -0
  164. package/dist/services/transitive-resolver.js +1 -1
  165. package/dist/services/transitive-resolver.js.map +0 -0
  166. package/dist/services/workspace-extractor.d.ts +7 -1
  167. package/dist/services/workspace-extractor.d.ts.map +1 -1
  168. package/dist/services/workspace-extractor.js +75 -10
  169. package/dist/services/workspace-extractor.js.map +1 -1
  170. package/dist/templates/azure-devops/extract-pipeline.d.ts +1 -1
  171. package/dist/templates/azure-devops/extract-pipeline.d.ts.map +0 -0
  172. package/dist/templates/azure-devops/extract-pipeline.js +142 -142
  173. package/dist/templates/azure-devops/extract-pipeline.js.map +0 -0
  174. package/dist/templates/azure-devops/publish-pipeline.d.ts +1 -1
  175. package/dist/templates/azure-devops/publish-pipeline.d.ts.map +0 -0
  176. package/dist/templates/azure-devops/publish-pipeline.js +114 -114
  177. package/dist/templates/azure-devops/publish-pipeline.js.map +0 -0
  178. package/dist/templates/configs/filter-config.d.ts +1 -1
  179. package/dist/templates/configs/filter-config.d.ts.map +1 -1
  180. package/dist/templates/configs/filter-config.js +118 -109
  181. package/dist/templates/configs/filter-config.js.map +1 -1
  182. package/dist/templates/configs/override-config.d.ts +1 -1
  183. package/dist/templates/configs/override-config.d.ts.map +1 -1
  184. package/dist/templates/configs/override-config.js +92 -89
  185. package/dist/templates/configs/override-config.js.map +1 -1
  186. package/dist/templates/configs/package-json.d.ts +0 -0
  187. package/dist/templates/configs/package-json.d.ts.map +0 -0
  188. package/dist/templates/configs/package-json.js +0 -0
  189. package/dist/templates/configs/package-json.js.map +0 -0
  190. package/dist/templates/copilot/identity-setup-prompt.d.ts +0 -0
  191. package/dist/templates/copilot/identity-setup-prompt.d.ts.map +0 -0
  192. package/dist/templates/copilot/identity-setup-prompt.js +0 -0
  193. package/dist/templates/copilot/identity-setup-prompt.js.map +0 -0
  194. package/dist/templates/generated/embedded-markdown.d.ts +0 -0
  195. package/dist/templates/generated/embedded-markdown.d.ts.map +0 -0
  196. package/dist/templates/generated/embedded-markdown.js +0 -0
  197. package/dist/templates/generated/embedded-markdown.js.map +0 -0
  198. package/dist/templates/github-actions/extract-workflow.d.ts +1 -1
  199. package/dist/templates/github-actions/extract-workflow.d.ts.map +0 -0
  200. package/dist/templates/github-actions/extract-workflow.js +119 -119
  201. package/dist/templates/github-actions/extract-workflow.js.map +0 -0
  202. package/dist/templates/github-actions/publish-workflow.d.ts +1 -1
  203. package/dist/templates/github-actions/publish-workflow.d.ts.map +1 -1
  204. package/dist/templates/github-actions/publish-workflow.js +147 -104
  205. package/dist/templates/github-actions/publish-workflow.js.map +1 -1
  206. package/package.json +69 -69
@@ -1,5 +1,5 @@
1
1
  /**
2
- * T024: Filter service
2
+ * Filter service
3
3
  * Load FilterConfig, apply inclusive allowlist per resource type,
4
4
  * case-insensitive matching, API root-name matching for revisions.
5
5
  */
@@ -23,6 +23,24 @@ export declare function shouldIncludeResource(descriptor: ResourceDescriptor, fi
23
23
  * E.g., "my-api;rev=2" → "my-api"
24
24
  */
25
25
  export declare function extractRootApiName(name: string): string;
26
+ /**
27
+ * Check if a pattern contains wildcard characters (* or ?).
28
+ */
29
+ export declare function isWildcardPattern(pattern: string): boolean;
30
+ /**
31
+ * Convert a glob-style wildcard pattern to a RegExp.
32
+ * Supports:
33
+ * - `*` matches zero or more characters
34
+ * - `?` matches exactly one character
35
+ * All other characters are escaped for literal matching.
36
+ * Matching is case-insensitive.
37
+ */
38
+ export declare function wildcardToRegex(pattern: string): RegExp;
39
+ /**
40
+ * Match a string against a glob-style wildcard pattern (case-insensitive).
41
+ * Logs a warning for patterns with many wildcards that may be slow.
42
+ */
43
+ export declare function wildcardMatch(pattern: string, text: string): boolean;
26
44
  /**
27
45
  * Filter a list of resource descriptors based on filter config.
28
46
  */
@@ -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,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"}
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;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIvD;AAKD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CASpE;AAiCD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,kBAAkB,EAAE,EACjC,MAAM,CAAC,EAAE,YAAY,GACpB,kBAAkB,EAAE,CAatB"}
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
  /**
4
- * T024: Filter service
4
+ * Filter service
5
5
  * Load FilterConfig, apply inclusive allowlist per resource type,
6
6
  * case-insensitive matching, API root-name matching for revisions.
7
7
  */
@@ -167,12 +167,47 @@ export function extractRootApiName(name) {
167
167
  const semiIndex = name.indexOf(';');
168
168
  return semiIndex >= 0 ? name.substring(0, semiIndex) : name;
169
169
  }
170
+ /**
171
+ * Check if a pattern contains wildcard characters (* or ?).
172
+ */
173
+ export function isWildcardPattern(pattern) {
174
+ return pattern.includes('*') || pattern.includes('?');
175
+ }
176
+ /**
177
+ * Convert a glob-style wildcard pattern to a RegExp.
178
+ * Supports:
179
+ * - `*` matches zero or more characters
180
+ * - `?` matches exactly one character
181
+ * All other characters are escaped for literal matching.
182
+ * Matching is case-insensitive.
183
+ */
184
+ export function wildcardToRegex(pattern) {
185
+ const escaped = pattern.replace(/[.+^${}()|[\]\\]/g, '\\$&');
186
+ const regexStr = escaped.replace(/\*/g, '.*').replace(/\?/g, '.');
187
+ return new RegExp(`^${regexStr}$`, 'i');
188
+ }
189
+ /** Warn once per pattern that looks likely to cause slow matching. */
190
+ const warnedPatterns = new Set();
191
+ /**
192
+ * Match a string against a glob-style wildcard pattern (case-insensitive).
193
+ * Logs a warning for patterns with many wildcards that may be slow.
194
+ */
195
+ export function wildcardMatch(pattern, text) {
196
+ const starCount = (pattern.match(/\*/g) ?? []).length;
197
+ if (starCount > 4 && !warnedPatterns.has(pattern)) {
198
+ warnedPatterns.add(pattern);
199
+ logger.warn(`Filter pattern "${pattern}" has ${starCount} wildcards and may be slow to evaluate`);
200
+ }
201
+ return wildcardToRegex(pattern).test(text);
202
+ }
170
203
  /**
171
204
  * Match a resource name against a filter allowlist.
172
205
  *
173
206
  * - undefined allowlist → include all (no filter for this type)
174
207
  * - empty array → include none
175
- * - non-empty array → case-insensitive match
208
+ * - non-empty array → case-insensitive exact match or wildcard pattern match
209
+ *
210
+ * Wildcard patterns use `*` (zero or more characters) and `?` (single character).
176
211
  */
177
212
  function matchesFilter(name, allowlist) {
178
213
  if (allowlist === undefined) {
@@ -185,6 +220,9 @@ function matchesFilter(name, allowlist) {
185
220
  // For APIs, also match by root name (strip revision suffix)
186
221
  const lowerRoot = extractRootApiName(lowerName);
187
222
  return allowlist.some((allowed) => {
223
+ if (isWildcardPattern(allowed)) {
224
+ return wildcardMatch(allowed, lowerName) || wildcardMatch(allowed, lowerRoot);
225
+ }
188
226
  const lowerAllowed = allowed.toLowerCase();
189
227
  return lowerName === lowerAllowed || lowerRoot === lowerAllowed;
190
228
  });
@@ -1 +1 @@
1
- {"version":3,"file":"filter-service.js","sourceRoot":"","sources":["../../src/services/filter-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-service.js","sourceRoot":"","sources":["../../src/services/filter-service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * T036: Git diff service
2
+ * Git diff service
3
3
  * Compute changed resource artifacts between commits using simple-git.
4
4
  * Maps file paths to ResourceDescriptors for incremental publish.
5
5
  */
File without changes
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
  /**
4
- * T036: Git diff service
4
+ * Git diff service
5
5
  * Compute changed resource artifacts between commits using simple-git.
6
6
  * Maps file paths to ResourceDescriptors for incremental publish.
7
7
  */
File without changes
@@ -1,5 +1,5 @@
1
1
  /**
2
- * T048: Identity setup guide generator
2
+ * Identity setup guide generator
3
3
  * Step-by-step instructions for service principal, RBAC, federated credentials,
4
4
  * pipeline secrets/service connections. Optional az CLI automation per FR-021.
5
5
  */
File without changes
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
  /**
4
- * T048: Identity setup guide generator
4
+ * Identity setup guide generator
5
5
  * Step-by-step instructions for service principal, RBAC, federated credentials,
6
6
  * pipeline secrets/service connections. Optional az CLI automation per FR-021.
7
7
  */
@@ -11,18 +11,18 @@ class IdentityGuideServiceImpl {
11
11
  return Object.entries(tokens).reduce((rendered, [key, value]) => rendered.replaceAll(`{{${key}}}`, value), template);
12
12
  }
13
13
  generateGitHubActionsGuide(subscriptionId, resourceGroup, environments) {
14
- const federatedCredentialsPerEnvironment = environments.map((env) => `az ad app federated-credential create \\
15
- --id "$APP_ID" \\
16
- --parameters '{
17
- "name": "github-env-${env}",
18
- "issuer": "https://token.actions.githubusercontent.com",
19
- "subject": "repo:'"$GITHUB_ORG"'/'"$GITHUB_REPO"':environment:${env}",
20
- "audiences": ["api://AzureADTokenExchange"]
14
+ const federatedCredentialsPerEnvironment = environments.map((env) => `az ad app federated-credential create \\
15
+ --id "$APP_ID" \\
16
+ --parameters '{
17
+ "name": "github-env-${env}",
18
+ "issuer": "https://token.actions.githubusercontent.com",
19
+ "subject": "repo:'"$GITHUB_ORG"'/'"$GITHUB_REPO"':environment:${env}",
20
+ "audiences": ["api://AzureADTokenExchange"]
21
21
  }'`).join('\n\n');
22
- const environmentSecrets = environments.map((env) => `
23
- **For ${env} environment:**
24
- - \`APIM_RESOURCE_GROUP_${env.toUpperCase()}\`: Resource group for ${env}
25
- - \`APIM_SERVICE_NAME_${env.toUpperCase()}\`: APIM service name for ${env}
22
+ const environmentSecrets = environments.map((env) => `
23
+ **For ${env} environment:**
24
+ - \`APIM_RESOURCE_GROUP_${env.toUpperCase()}\`: Resource group for ${env}
25
+ - \`APIM_SERVICE_NAME_${env.toUpperCase()}\`: APIM service name for ${env}
26
26
  `).join('\n');
27
27
  return this.renderTemplate(githubActionsIdentityGuideTemplate, {
28
28
  SUBSCRIPTION_ID: subscriptionId,
File without changes
@@ -1,5 +1,5 @@
1
1
  /**
2
- * T042 & T051: Init orchestrator service
2
+ * Init orchestrator service
3
3
  * Coordinates interactive prompts or flag-based config, generates scaffold files,
4
4
  * and detects existing file conflicts
5
5
  */
File without changes
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
  /**
4
- * T042 & T051: Init orchestrator service
4
+ * Init orchestrator service
5
5
  * Coordinates interactive prompts or flag-based config, generates scaffold files,
6
6
  * and detects existing file conflicts
7
7
  */
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,5 +1,5 @@
1
1
  /**
2
- * T033: Override merger service
2
+ * Override merger service
3
3
  * Apply environment-specific overrides from OverrideConfig to resource JSON payloads.
4
4
  * Deep-merges with case-insensitive key matching; supports nested sub-resource overrides.
5
5
  * Handles all Toolkit override sections with generic property passthrough.
File without changes
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
  /**
4
- * T033: Override merger service
4
+ * Override merger service
5
5
  * Apply environment-specific overrides from OverrideConfig to resource JSON payloads.
6
6
  * Deep-merges with case-insensitive key matching; supports nested sub-resource overrides.
7
7
  * Handles all Toolkit override sections with generic property passthrough.
File without changes
@@ -1,5 +1,5 @@
1
1
  /**
2
- * T023: Product-specific extraction logic
2
+ * Product-specific extraction logic
3
3
  * Product associations (apis.json, groups.json, tags.json), product policies, product wikis.
4
4
  */
5
5
  import { IApimClient } from '../clients/iapim-client.js';
@@ -1 +1 @@
1
- {"version":3,"file":"product-extractor.d.ts","sourceRoot":"","sources":["../../src/services/product-extractor.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMnD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,kBAAkB,EAC3B,iBAAiB,EAAE,kBAAkB,EACrC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,YAAY,EACtB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,CAAC,CA8ClC;AAyKD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,kBAAkB,EAC3B,iBAAiB,EAAE,MAAM,EAAE,EAC3B,iBAAiB,EAAE,KAAK,CAAC;IAAE,UAAU,EAAE,kBAAkB,CAAA;CAAE,CAAC,EAC5D,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAgDjB"}
1
+ {"version":3,"file":"product-extractor.d.ts","sourceRoot":"","sources":["../../src/services/product-extractor.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAoB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE9F,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMnD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,kBAAkB,EAC3B,iBAAiB,EAAE,kBAAkB,EACrC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,YAAY,EACtB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,uBAAuB,CAAC,CA8ClC;AAwKD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,kBAAkB,EAC3B,iBAAiB,EAAE,MAAM,EAAE,EAC3B,iBAAiB,EAAE,KAAK,CAAC;IAAE,UAAU,EAAE,kBAAkB,CAAA;CAAE,CAAC,EAC5D,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAkDjB"}
@@ -1,14 +1,14 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
  /**
4
- * T023: Product-specific extraction logic
4
+ * Product-specific extraction logic
5
5
  * Product associations (apis.json, groups.json, tags.json), product policies, product wikis.
6
6
  */
7
7
  import { ResourceType, RESOURCE_TYPE_METADATA } from '../models/resource-types.js';
8
8
  import { extractResourceName } from './resource-extractor.js';
9
9
  import { logger } from '../lib/logger.js';
10
10
  import { getNamePart } from '../lib/resource-path.js';
11
- import { isWorkspaceScope, extractNameFromLink } from '../lib/workspace-link.js';
11
+ import { isWorkspaceScope, extractNameFromLink, extractLinkTarget } from '../lib/workspace-link.js';
12
12
  /**
13
13
  * Extract all product-specific resources for a single product.
14
14
  * This includes API associations, group associations, policies, and wikis.
@@ -48,7 +48,7 @@ export async function extractProductResources(client, store, context, productDes
48
48
  * Extract product association (apis or groups) and write to artifact store.
49
49
  */
50
50
  async function extractProductAssociations(client, store, context, productDescriptor, outputDir, associationType) {
51
- const names = [];
51
+ const entries = [];
52
52
  const resourceType = associationType === 'apis'
53
53
  ? ResourceType.ProductApi
54
54
  : ResourceType.ProductGroup;
@@ -58,77 +58,76 @@ async function extractProductAssociations(client, store, context, productDescrip
58
58
  const linkProperty = RESOURCE_TYPE_METADATA[resourceType].workspaceLinkIdProperty;
59
59
  for await (const json of resources) {
60
60
  try {
61
- let name;
62
61
  if (workspaceScoped && linkProperty) {
63
62
  // Workspace link responses have an opaque link ID as `name` and
64
- // the actual resource ARM ID in `properties.<linkProperty>`
65
- const extracted = extractNameFromLink(json, linkProperty);
66
- if (!extracted) {
63
+ // the actual resource ARM ID in `properties.<linkProperty>`.
64
+ // Capture the linked resource's scope (service vs workspace) so
65
+ // publish can rebuild the link target at the correct scope — e.g.
66
+ // a workspace product linking the service-level `administrators` group.
67
+ const target = extractLinkTarget(json, linkProperty);
68
+ if (!target) {
67
69
  logger.warn(`Failed to extract ${associationType} link target from workspace link response`);
68
70
  continue;
69
71
  }
70
- name = extracted;
72
+ entries.push({ name: target.name, scope: target.scope });
71
73
  }
72
74
  else {
73
- name = extractResourceName(json);
75
+ entries.push({ name: extractResourceName(json) });
74
76
  }
75
- names.push(name);
76
77
  }
77
78
  catch (error) {
78
79
  logger.warn(`Failed to extract ${associationType} association name: ${error.message}`);
79
80
  }
80
81
  }
81
82
  // Write association file
82
- if (names.length > 0) {
83
- await store.writeAssociation(outputDir, productDescriptor, associationType, names);
84
- logger.info(`Extracted ${names.length} ${associationType} for product "${getNamePart(productDescriptor.nameParts, 0)}"`);
83
+ if (entries.length > 0) {
84
+ await store.writeAssociation(outputDir, productDescriptor, associationType, entries);
85
+ logger.info(`Extracted ${entries.length} ${associationType} for product "${getNamePart(productDescriptor.nameParts, 0)}"`);
85
86
  }
86
87
  }
87
88
  catch (error) {
88
89
  logger.warn(`Failed to list ${associationType} for product "${getNamePart(productDescriptor.nameParts, 0)}": ${error.message}`);
89
90
  }
90
- return names;
91
+ return entries.map(entry => entry.name);
91
92
  }
92
93
  /**
93
94
  * Extract product tags and write to artifact store as tags.json.
94
95
  * Only used in service scope; workspace scope is handled by extractWorkspaceProductTags().
95
96
  */
96
97
  async function extractProductTags(client, store, context, productDescriptor, outputDir) {
97
- const names = [];
98
+ const entries = [];
98
99
  const workspaceScoped = isWorkspaceScope(context);
99
100
  const linkProperty = RESOURCE_TYPE_METADATA[ResourceType.ProductTag].workspaceLinkIdProperty;
100
101
  try {
101
102
  const resources = client.listResources(context, ResourceType.ProductTag, productDescriptor);
102
103
  for await (const json of resources) {
103
104
  try {
104
- let name;
105
105
  if (workspaceScoped && linkProperty) {
106
- const extracted = extractNameFromLink(json, linkProperty);
107
- if (!extracted) {
106
+ const target = extractLinkTarget(json, linkProperty);
107
+ if (!target) {
108
108
  logger.warn('Failed to extract tag name from workspace link response');
109
109
  continue;
110
110
  }
111
- name = extracted;
111
+ entries.push({ name: target.name, scope: target.scope });
112
112
  }
113
113
  else {
114
- name = extractResourceName(json);
114
+ entries.push({ name: extractResourceName(json) });
115
115
  }
116
- names.push(name);
117
116
  }
118
117
  catch (error) {
119
118
  logger.warn(`Failed to extract tag name: ${error.message}`);
120
119
  }
121
120
  }
122
121
  // Write tags association file
123
- if (names.length > 0) {
124
- await store.writeAssociation(outputDir, productDescriptor, 'tags', names);
125
- logger.info(`Extracted ${names.length} tags for product "${getNamePart(productDescriptor.nameParts, 0)}"`);
122
+ if (entries.length > 0) {
123
+ await store.writeAssociation(outputDir, productDescriptor, 'tags', entries);
124
+ logger.info(`Extracted ${entries.length} tags for product "${getNamePart(productDescriptor.nameParts, 0)}"`);
126
125
  }
127
126
  }
128
127
  catch (error) {
129
128
  logger.warn(`Failed to list tags for product "${getNamePart(productDescriptor.nameParts, 0)}": ${error.message}`);
130
129
  }
131
- return names;
130
+ return entries.map(entry => entry.name);
132
131
  }
133
132
  /**
134
133
  * Extract product-level policy.
@@ -229,7 +228,9 @@ export async function extractWorkspaceProductTags(client, store, context, extrac
229
228
  const productName = getNamePart(product.descriptor.nameParts, 0);
230
229
  const tags = productTagsMap.get(productName);
231
230
  if (tags && tags.length > 0) {
232
- await store.writeAssociation(outputDir, product.descriptor, 'tags', tags);
231
+ // Tags discovered here are workspace tags (listed within workspace scope).
232
+ const entries = tags.map(name => ({ name, scope: 'workspace' }));
233
+ await store.writeAssociation(outputDir, product.descriptor, 'tags', entries);
233
234
  logger.info(`Extracted ${tags.length} tags for workspace product "${productName}"`);
234
235
  count += tags.length;
235
236
  }
@@ -1 +1 @@
1
- {"version":3,"file":"product-extractor.js","sourceRoot":"","sources":["../../src/services/product-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-extractor.js","sourceRoot":"","sources":["../../src/services/product-extractor.ts"],"names":[],"mappings":"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"}
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"product-publisher.d.ts","sourceRoot":"","sources":["../../src/services/product-publisher.ts"],"names":[],"mappings":"AAEA;;;GAGG;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;AAMtF;;;GAGG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,kBAAkB,EAC3B,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,qBAAqB,CAAC,CAmEhC"}
1
+ {"version":3,"file":"product-publisher.d.ts","sourceRoot":"","sources":["../../src/services/product-publisher.ts"],"names":[],"mappings":"AAEA;;;GAGG;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;AAOtF;;;GAGG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,kBAAkB,EAC3B,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,qBAAqB,CAAC,CAmEhC"}
@@ -10,6 +10,7 @@ import { logger } from '../lib/logger.js';
10
10
  import { getNamePart } from '../lib/resource-path.js';
11
11
  import { parseArmUri } from '../lib/resource-uri.js';
12
12
  import { isWorkspaceScope, buildLinkPayload } from '../lib/workspace-link.js';
13
+ import { isLinkAlreadyExistsError } from '../clients/apim-client.js';
13
14
  /**
14
15
  * Publish a Product with all its associations (APIs, Groups, Tags).
15
16
  * Creates product first, then publishes associations.
@@ -101,8 +102,8 @@ function parseProductGroupDescriptor(productGroup, context) {
101
102
  async function publishProductAssociations(client, store, context, productDescriptor, config, associationType, resourceType) {
102
103
  const productName = getNamePart(productDescriptor.nameParts, 0);
103
104
  // Read association file
104
- const names = await store.readAssociation(config.sourceDir, productDescriptor, associationType);
105
- if (names.length === 0) {
105
+ const entries = await store.readAssociation(config.sourceDir, productDescriptor, associationType);
106
+ if (entries.length === 0) {
106
107
  logger.debug(`No ${associationType} associations for product: ${productName}`);
107
108
  return;
108
109
  }
@@ -112,22 +113,30 @@ async function publishProductAssociations(client, store, context, productDescrip
112
113
  // Map association type to the ARM resource type segment for building ARM IDs
113
114
  const resourceTypeSegment = associationType === 'apis' ? 'apis' : 'groups';
114
115
  // Create association for each name
115
- for (const name of names) {
116
+ for (const entry of entries) {
117
+ const name = entry.name;
116
118
  const assocDescriptor = {
117
119
  type: resourceType,
118
120
  nameParts: [productName, name],
119
121
  workspace: productDescriptor.workspace,
120
122
  };
121
123
  try {
122
- // In workspace scope, PUT with link payload; otherwise empty body
124
+ // In workspace scope, PUT with link payload; otherwise empty body.
125
+ // Honor the stored scope so service-level link targets (e.g. the built-in
126
+ // `administrators` group) are referenced at service scope rather than
127
+ // being rebuilt as a non-existent workspace resource.
123
128
  let payload = {};
124
129
  if (workspaceScoped && linkProperty) {
125
- payload = buildLinkPayload(context, linkProperty, resourceTypeSegment, name, productDescriptor.workspace);
130
+ payload = buildLinkPayload(context, linkProperty, resourceTypeSegment, name, productDescriptor.workspace, entry.scope);
126
131
  }
127
132
  await client.putResource(context, assocDescriptor, payload);
128
133
  logger.debug(`Created ${resourceType} association: ${productName}/${name}`);
129
134
  }
130
135
  catch (error) {
136
+ if (isLinkAlreadyExistsError(error)) {
137
+ logger.debug(`${resourceType} association already exists: ${productName}/${name}`);
138
+ continue;
139
+ }
131
140
  logger.warn(`Failed to create ${resourceType} association ${productName}/${name}: ${String(error)}`);
132
141
  }
133
142
  }
@@ -140,21 +149,24 @@ async function publishProductAssociations(client, store, context, productDescrip
140
149
  async function publishProductTags(client, store, context, productDescriptor, config) {
141
150
  const productName = getNamePart(productDescriptor.nameParts, 0);
142
151
  // Read tags from tags.json association file
143
- const tagNames = await store.readAssociation(config.sourceDir, productDescriptor, 'tags');
144
- if (tagNames.length === 0) {
152
+ const tagEntries = await store.readAssociation(config.sourceDir, productDescriptor, 'tags');
153
+ if (tagEntries.length === 0) {
145
154
  logger.debug(`No tag associations for product: ${productName}`);
146
155
  return;
147
156
  }
148
157
  const workspaceScoped = !!productDescriptor.workspace || isWorkspaceScope(context);
149
158
  const linkProperty = RESOURCE_TYPE_METADATA[ResourceType.ProductTag].workspaceLinkIdProperty;
150
159
  // Create association for each tag
151
- for (const tagName of tagNames) {
160
+ for (const tagEntry of tagEntries) {
161
+ const tagName = tagEntry.name;
152
162
  const tagDescriptor = {
153
163
  type: ResourceType.ProductTag,
154
164
  nameParts: [productName, tagName],
155
165
  workspace: productDescriptor.workspace,
156
166
  };
157
167
  try {
168
+ // The workspace ProductTag link references the product (productId), which
169
+ // always lives in the workspace, so the link payload is workspace-scoped.
158
170
  let payload = {};
159
171
  if (workspaceScoped && linkProperty) {
160
172
  payload = buildLinkPayload(context, linkProperty, 'products', productName, productDescriptor.workspace);
@@ -163,9 +175,13 @@ async function publishProductTags(client, store, context, productDescriptor, con
163
175
  logger.debug(`Created ProductTag association: ${productName}/${tagName}`);
164
176
  }
165
177
  catch (error) {
178
+ if (isLinkAlreadyExistsError(error)) {
179
+ logger.debug(`ProductTag association already exists: ${productName}/${tagName}`);
180
+ continue;
181
+ }
166
182
  logger.warn(`Failed to create ProductTag association ${productName}/${tagName}: ${String(error)}`);
167
183
  }
168
184
  }
169
- logger.info(`Published ${tagNames.length} tags for product: ${productName}`);
185
+ logger.info(`Published ${tagEntries.length} tags for product: ${productName}`);
170
186
  }
171
187
  //# sourceMappingURL=product-publisher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"product-publisher.js","sourceRoot":"","sources":["../../src/services/product-publisher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-publisher.js","sourceRoot":"","sources":["../../src/services/product-publisher.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * T049: Interactive prompt handler
2
+ * Interactive prompt handler
3
3
  * TTY detection, question prompts for CI provider/artifact dir/environments
4
4
  * --non-interactive bypass per FR-022
5
5
  */
File without changes
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
  /**
4
- * T049: Interactive prompt handler
4
+ * Interactive prompt handler
5
5
  * TTY detection, question prompts for CI provider/artifact dir/environments
6
6
  * --non-interactive bypass per FR-022
7
7
  */