@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.
Files changed (207) hide show
  1. package/LICENSE.md +22 -22
  2. package/README.md +169 -169
  3. package/dist/cli/extract-command.d.ts +0 -0
  4. package/dist/cli/extract-command.d.ts.map +0 -0
  5. package/dist/cli/extract-command.js +3 -3
  6. package/dist/cli/extract-command.js.map +1 -1
  7. package/dist/cli/index.d.ts +0 -0
  8. package/dist/cli/index.d.ts.map +0 -0
  9. package/dist/cli/index.js +0 -0
  10. package/dist/cli/index.js.map +0 -0
  11. package/dist/cli/init-command.d.ts +0 -0
  12. package/dist/cli/init-command.d.ts.map +1 -1
  13. package/dist/cli/init-command.js +2 -1
  14. package/dist/cli/init-command.js.map +1 -1
  15. package/dist/cli/publish-command.d.ts +0 -0
  16. package/dist/cli/publish-command.d.ts.map +0 -0
  17. package/dist/cli/publish-command.js +3 -3
  18. package/dist/cli/publish-command.js.map +1 -1
  19. package/dist/clients/apim-client.d.ts +25 -1
  20. package/dist/clients/apim-client.d.ts.map +1 -1
  21. package/dist/clients/apim-client.js +173 -9
  22. package/dist/clients/apim-client.js.map +1 -1
  23. package/dist/clients/artifact-store.d.ts +0 -0
  24. package/dist/clients/artifact-store.d.ts.map +0 -0
  25. package/dist/clients/artifact-store.js +0 -0
  26. package/dist/clients/artifact-store.js.map +0 -0
  27. package/dist/clients/iapim-client.d.ts +6 -0
  28. package/dist/clients/iapim-client.d.ts.map +1 -1
  29. package/dist/clients/iapim-client.js +0 -0
  30. package/dist/clients/iapim-client.js.map +0 -0
  31. package/dist/clients/iartifact-store.d.ts +0 -0
  32. package/dist/clients/iartifact-store.d.ts.map +0 -0
  33. package/dist/clients/iartifact-store.js +0 -0
  34. package/dist/clients/iartifact-store.js.map +0 -0
  35. package/dist/lib/auto-generated.d.ts +0 -0
  36. package/dist/lib/auto-generated.d.ts.map +0 -0
  37. package/dist/lib/auto-generated.js +0 -0
  38. package/dist/lib/auto-generated.js.map +0 -0
  39. package/dist/lib/cloud-config.d.ts +0 -0
  40. package/dist/lib/cloud-config.d.ts.map +0 -0
  41. package/dist/lib/cloud-config.js +0 -0
  42. package/dist/lib/cloud-config.js.map +0 -0
  43. package/dist/lib/config-loader.d.ts +0 -4
  44. package/dist/lib/config-loader.d.ts.map +1 -1
  45. package/dist/lib/config-loader.js +290 -51
  46. package/dist/lib/config-loader.js.map +1 -1
  47. package/dist/lib/dependency-graph.d.ts +0 -0
  48. package/dist/lib/dependency-graph.d.ts.map +1 -1
  49. package/dist/lib/dependency-graph.js +4 -1
  50. package/dist/lib/dependency-graph.js.map +1 -1
  51. package/dist/lib/exit-codes.d.ts +0 -0
  52. package/dist/lib/exit-codes.d.ts.map +0 -0
  53. package/dist/lib/exit-codes.js +0 -0
  54. package/dist/lib/exit-codes.js.map +0 -0
  55. package/dist/lib/logger.d.ts +0 -0
  56. package/dist/lib/logger.d.ts.map +0 -0
  57. package/dist/lib/logger.js +0 -0
  58. package/dist/lib/logger.js.map +0 -0
  59. package/dist/lib/parallel-runner.d.ts +0 -0
  60. package/dist/lib/parallel-runner.d.ts.map +0 -0
  61. package/dist/lib/parallel-runner.js +0 -0
  62. package/dist/lib/parallel-runner.js.map +0 -0
  63. package/dist/lib/resource-path.d.ts +0 -0
  64. package/dist/lib/resource-path.d.ts.map +1 -1
  65. package/dist/lib/resource-path.js +49 -10
  66. package/dist/lib/resource-path.js.map +1 -1
  67. package/dist/lib/resource-uri.d.ts +0 -0
  68. package/dist/lib/resource-uri.d.ts.map +1 -1
  69. package/dist/lib/resource-uri.js +24 -4
  70. package/dist/lib/resource-uri.js.map +1 -1
  71. package/dist/lib/user-agent.d.ts +0 -0
  72. package/dist/lib/user-agent.d.ts.map +0 -0
  73. package/dist/lib/user-agent.js +0 -0
  74. package/dist/lib/user-agent.js.map +0 -0
  75. package/dist/lib/workspace-link.d.ts +46 -0
  76. package/dist/lib/workspace-link.d.ts.map +1 -0
  77. package/dist/lib/workspace-link.js +93 -0
  78. package/dist/lib/workspace-link.js.map +1 -0
  79. package/dist/models/config.d.ts +80 -44
  80. package/dist/models/config.d.ts.map +1 -1
  81. package/dist/models/config.js +0 -0
  82. package/dist/models/config.js.map +0 -0
  83. package/dist/models/resource-types.d.ts +22 -1
  84. package/dist/models/resource-types.d.ts.map +1 -1
  85. package/dist/models/resource-types.js +29 -1
  86. package/dist/models/resource-types.js.map +1 -1
  87. package/dist/models/types.d.ts +0 -0
  88. package/dist/models/types.d.ts.map +0 -0
  89. package/dist/models/types.js +0 -0
  90. package/dist/models/types.js.map +0 -0
  91. package/dist/services/api-extractor.d.ts +19 -0
  92. package/dist/services/api-extractor.d.ts.map +1 -1
  93. package/dist/services/api-extractor.js +87 -6
  94. package/dist/services/api-extractor.js.map +1 -1
  95. package/dist/services/api-publisher.d.ts +0 -0
  96. package/dist/services/api-publisher.d.ts.map +1 -1
  97. package/dist/services/api-publisher.js +270 -65
  98. package/dist/services/api-publisher.js.map +1 -1
  99. package/dist/services/delete-unmatched-service.d.ts +0 -0
  100. package/dist/services/delete-unmatched-service.d.ts.map +0 -0
  101. package/dist/services/delete-unmatched-service.js +0 -0
  102. package/dist/services/delete-unmatched-service.js.map +0 -0
  103. package/dist/services/dry-run-reporter.d.ts +0 -0
  104. package/dist/services/dry-run-reporter.d.ts.map +0 -0
  105. package/dist/services/dry-run-reporter.js +0 -0
  106. package/dist/services/dry-run-reporter.js.map +0 -0
  107. package/dist/services/extract-service.d.ts +0 -0
  108. package/dist/services/extract-service.d.ts.map +0 -0
  109. package/dist/services/extract-service.js +5 -10
  110. package/dist/services/extract-service.js.map +1 -1
  111. package/dist/services/filter-service.d.ts +1 -0
  112. package/dist/services/filter-service.d.ts.map +1 -1
  113. package/dist/services/filter-service.js +101 -40
  114. package/dist/services/filter-service.js.map +1 -1
  115. package/dist/services/git-diff-service.d.ts +0 -0
  116. package/dist/services/git-diff-service.d.ts.map +0 -0
  117. package/dist/services/git-diff-service.js +0 -0
  118. package/dist/services/git-diff-service.js.map +0 -0
  119. package/dist/services/identity-guide-service.d.ts +1 -1
  120. package/dist/services/identity-guide-service.d.ts.map +1 -1
  121. package/dist/services/identity-guide-service.js +37 -518
  122. package/dist/services/identity-guide-service.js.map +1 -1
  123. package/dist/services/init-service.d.ts +0 -0
  124. package/dist/services/init-service.d.ts.map +1 -1
  125. package/dist/services/init-service.js +51 -19
  126. package/dist/services/init-service.js.map +1 -1
  127. package/dist/services/keyvault-checker.d.ts +0 -0
  128. package/dist/services/keyvault-checker.d.ts.map +0 -0
  129. package/dist/services/keyvault-checker.js +0 -0
  130. package/dist/services/keyvault-checker.js.map +0 -0
  131. package/dist/services/override-merger.d.ts +3 -7
  132. package/dist/services/override-merger.d.ts.map +1 -1
  133. package/dist/services/override-merger.js +198 -47
  134. package/dist/services/override-merger.js.map +1 -1
  135. package/dist/services/product-extractor.d.ts +20 -0
  136. package/dist/services/product-extractor.d.ts.map +1 -1
  137. package/dist/services/product-extractor.js +101 -5
  138. package/dist/services/product-extractor.js.map +1 -1
  139. package/dist/services/product-publisher.d.ts +0 -0
  140. package/dist/services/product-publisher.d.ts.map +1 -1
  141. package/dist/services/product-publisher.js +62 -6
  142. package/dist/services/product-publisher.js.map +1 -1
  143. package/dist/services/prompt-service.d.ts +0 -0
  144. package/dist/services/prompt-service.d.ts.map +0 -0
  145. package/dist/services/prompt-service.js +0 -0
  146. package/dist/services/prompt-service.js.map +0 -0
  147. package/dist/services/publish-service.d.ts +0 -0
  148. package/dist/services/publish-service.d.ts.map +0 -0
  149. package/dist/services/publish-service.js +81 -2
  150. package/dist/services/publish-service.js.map +1 -1
  151. package/dist/services/resource-extractor.d.ts +0 -0
  152. package/dist/services/resource-extractor.d.ts.map +1 -1
  153. package/dist/services/resource-extractor.js +52 -1
  154. package/dist/services/resource-extractor.js.map +1 -1
  155. package/dist/services/resource-publisher.d.ts +0 -0
  156. package/dist/services/resource-publisher.d.ts.map +1 -1
  157. package/dist/services/resource-publisher.js +127 -2
  158. package/dist/services/resource-publisher.js.map +1 -1
  159. package/dist/services/secret-redactor.d.ts +0 -0
  160. package/dist/services/secret-redactor.d.ts.map +0 -0
  161. package/dist/services/secret-redactor.js +0 -0
  162. package/dist/services/secret-redactor.js.map +0 -0
  163. package/dist/services/transitive-resolver.d.ts +0 -0
  164. package/dist/services/transitive-resolver.d.ts.map +1 -1
  165. package/dist/services/transitive-resolver.js +4 -4
  166. package/dist/services/transitive-resolver.js.map +1 -1
  167. package/dist/services/workspace-extractor.d.ts +1 -9
  168. package/dist/services/workspace-extractor.d.ts.map +1 -1
  169. package/dist/services/workspace-extractor.js +80 -44
  170. package/dist/services/workspace-extractor.js.map +1 -1
  171. package/dist/templates/azure-devops/extract-pipeline.d.ts +2 -1
  172. package/dist/templates/azure-devops/extract-pipeline.d.ts.map +1 -1
  173. package/dist/templates/azure-devops/extract-pipeline.js +147 -88
  174. package/dist/templates/azure-devops/extract-pipeline.js.map +1 -1
  175. package/dist/templates/azure-devops/publish-pipeline.d.ts +0 -0
  176. package/dist/templates/azure-devops/publish-pipeline.d.ts.map +1 -1
  177. package/dist/templates/azure-devops/publish-pipeline.js +116 -89
  178. package/dist/templates/azure-devops/publish-pipeline.js.map +1 -1
  179. package/dist/templates/configs/filter-config.d.ts +1 -1
  180. package/dist/templates/configs/filter-config.d.ts.map +1 -1
  181. package/dist/templates/configs/filter-config.js +109 -44
  182. package/dist/templates/configs/filter-config.js.map +1 -1
  183. package/dist/templates/configs/override-config.d.ts +0 -0
  184. package/dist/templates/configs/override-config.d.ts.map +1 -1
  185. package/dist/templates/configs/override-config.js +88 -37
  186. package/dist/templates/configs/override-config.js.map +1 -1
  187. package/dist/templates/configs/package-json.d.ts +0 -0
  188. package/dist/templates/configs/package-json.d.ts.map +0 -0
  189. package/dist/templates/configs/package-json.js +0 -0
  190. package/dist/templates/configs/package-json.js.map +0 -0
  191. package/dist/templates/copilot/identity-setup-prompt.d.ts +4 -3
  192. package/dist/templates/copilot/identity-setup-prompt.d.ts.map +1 -1
  193. package/dist/templates/copilot/identity-setup-prompt.js +59 -269
  194. package/dist/templates/copilot/identity-setup-prompt.js.map +1 -1
  195. package/dist/templates/generated/embedded-markdown.d.ts +12 -0
  196. package/dist/templates/generated/embedded-markdown.d.ts.map +1 -0
  197. package/dist/templates/generated/embedded-markdown.js +14 -0
  198. package/dist/templates/generated/embedded-markdown.js.map +1 -0
  199. package/dist/templates/github-actions/extract-workflow.d.ts +0 -0
  200. package/dist/templates/github-actions/extract-workflow.d.ts.map +0 -0
  201. package/dist/templates/github-actions/extract-workflow.js +118 -118
  202. package/dist/templates/github-actions/extract-workflow.js.map +0 -0
  203. package/dist/templates/github-actions/publish-workflow.d.ts +0 -0
  204. package/dist/templates/github-actions/publish-workflow.d.ts.map +1 -1
  205. package/dist/templates/github-actions/publish-workflow.js +104 -90
  206. package/dist/templates/github-actions/publish-workflow.js.map +1 -1
  207. package/package.json +69 -66
@@ -22,62 +22,157 @@ function assertStringArray(value, fieldName) {
22
22
  return value;
23
23
  }
24
24
  /**
25
- * Load and parse a filter configuration YAML file.
26
- * Returns undefined if file doesn't exist.
25
+ * Parse a filter array that may contain both string entries and nested object entries.
26
+ * - String entries: resource name to include (all sub-resources included)
27
+ * - Object entries: `{ name: { subResource: [...] } }` format (Toolkit nested filtering)
28
+ *
29
+ * Returns extracted names (string[]) and sub-filter map.
27
30
  */
31
+ function parseFilterArrayWithNested(value, fieldName) {
32
+ if (!Array.isArray(value)) {
33
+ throw new Error(`${fieldName} must be an array, got ${typeof value}`);
34
+ }
35
+ const names = [];
36
+ const subFilters = {};
37
+ for (let i = 0; i < value.length; i++) {
38
+ const item = value[i];
39
+ if (typeof item === 'string') {
40
+ names.push(item);
41
+ continue;
42
+ }
43
+ if (isPlainObject(item)) {
44
+ // Object entry: key is the resource name, value is sub-filter config
45
+ const keys = Object.keys(item);
46
+ if (keys.length !== 1) {
47
+ throw new Error(`${fieldName}[${i}] object entry must have exactly one key (the resource name), ` +
48
+ `got ${keys.length} keys: ${keys.join(', ')}`);
49
+ }
50
+ const name = keys[0];
51
+ names.push(name);
52
+ const subConfig = item[name];
53
+ if (isPlainObject(subConfig)) {
54
+ const subFilter = {};
55
+ for (const [subKey, subValue] of Object.entries(subConfig)) {
56
+ if (subValue === undefined || subValue === null)
57
+ continue;
58
+ subFilter[subKey] = assertStringArray(subValue, `${fieldName}[${i}].${name}.${subKey}`);
59
+ }
60
+ if (Object.keys(subFilter).length > 0) {
61
+ subFilters[name] = subFilter;
62
+ }
63
+ }
64
+ else if (subConfig !== undefined && subConfig !== null) {
65
+ logger.warn(`${fieldName}[${i}]: nested value for '${name}' should be an object with sub-resource arrays; ignoring.`);
66
+ }
67
+ continue;
68
+ }
69
+ throw new Error(`${fieldName}[${i}] must be a string or object, got ${typeof item}`);
70
+ }
71
+ return { names, subFilters };
72
+ }
73
+ const FILTER_KEY_ALIASES = {
74
+ apis: 'apiNames',
75
+ backends: 'backendNames',
76
+ products: 'productNames',
77
+ namedValues: 'namedValueNames',
78
+ loggers: 'loggerNames',
79
+ diagnostics: 'diagnosticNames',
80
+ tags: 'tagNames',
81
+ policyFragments: 'policyFragmentNames',
82
+ gateways: 'gatewayNames',
83
+ versionSets: 'versionSetNames',
84
+ groups: 'groupNames',
85
+ subscriptions: 'subscriptionNames',
86
+ schemas: 'schemaNames',
87
+ policies: 'policyNames',
88
+ policyRestrictions: 'policyRestrictionNames',
89
+ documentations: 'documentationNames',
90
+ workspaces: 'workspaceNames',
91
+ };
92
+ /** Fields that support nested sub-resource filtering (object entries) */
93
+ const NESTED_FILTER_FIELDS = new Set(['apis', 'workspaces']);
28
94
  export async function loadFilterConfig(filePath) {
29
95
  try {
30
96
  const content = await fs.readFile(filePath, 'utf-8');
31
97
  const parsed = (yaml.load(content) ?? {});
32
- // Validate structure — each field must be an array of strings
98
+ // Validate structure — each field must be an array of strings (or nested objects for apis/workspaces).
99
+ // Accept both Toolkit-style keys (e.g. "apis") and legacy aliases (e.g. "apiNames").
33
100
  const config = {};
34
- if (parsed.apiNames !== undefined) {
35
- config.apiNames = assertStringArray(parsed.apiNames, 'apiNames');
36
- }
37
- if (parsed.backendNames !== undefined) {
38
- config.backendNames = assertStringArray(parsed.backendNames, 'backendNames');
39
- }
40
- if (parsed.productNames !== undefined) {
41
- config.productNames = assertStringArray(parsed.productNames, 'productNames');
42
- }
43
- if (parsed.namedValueNames !== undefined) {
44
- config.namedValueNames = assertStringArray(parsed.namedValueNames, 'namedValueNames');
45
- }
46
- if (parsed.loggerNames !== undefined) {
47
- config.loggerNames = assertStringArray(parsed.loggerNames, 'loggerNames');
101
+ for (const [field, legacyAlias] of Object.entries(FILTER_KEY_ALIASES)) {
102
+ const key = field;
103
+ const toolkitValue = parsed[field];
104
+ const legacyValue = parsed[legacyAlias];
105
+ if (toolkitValue !== undefined && legacyValue !== undefined) {
106
+ throw new Error(`Filter config contains both '${field}' and '${legacyAlias}'. ` +
107
+ `Use '${field}' (the APIOps Toolkit format).`);
108
+ }
109
+ const rawValue = toolkitValue ?? legacyValue;
110
+ const sourceKey = toolkitValue !== undefined ? field : legacyAlias;
111
+ if (rawValue === undefined)
112
+ continue;
113
+ if (legacyValue !== undefined) {
114
+ logger.warn(`Filter key '${legacyAlias}' is deprecated; use '${field}' instead ` +
115
+ `(APIOps Toolkit format).`);
116
+ }
117
+ if (NESTED_FILTER_FIELDS.has(key) && key === 'apis') {
118
+ const { names, subFilters } = parseFilterArrayWithNested(rawValue, sourceKey);
119
+ config.apis = names;
120
+ if (Object.keys(subFilters).length > 0) {
121
+ config.apiSubFilters = {};
122
+ const validApiSubKeys = ['operations', 'diagnostics', 'schemas', 'releases'];
123
+ for (const [apiName, sf] of Object.entries(subFilters)) {
124
+ const apiSub = {};
125
+ for (const subKey of validApiSubKeys) {
126
+ if (subKey in sf) {
127
+ apiSub[subKey] = sf[subKey];
128
+ }
129
+ }
130
+ // Warn about unsupported sub-filter keys
131
+ for (const k of Object.keys(sf)) {
132
+ if (!validApiSubKeys.includes(k)) {
133
+ logger.warn(`Unknown API sub-filter key '${k}' for API '${apiName}'; ignoring.`);
134
+ }
135
+ }
136
+ config.apiSubFilters[apiName] = apiSub;
137
+ }
138
+ }
139
+ }
140
+ else if (NESTED_FILTER_FIELDS.has(key) && key === 'workspaces') {
141
+ const { names, subFilters } = parseFilterArrayWithNested(rawValue, sourceKey);
142
+ config.workspaces = names;
143
+ if (Object.keys(subFilters).length > 0) {
144
+ config.workspaceSubFilters = {};
145
+ const validWsSubKeys = ['apis', 'backends', 'diagnostics', 'groups', 'loggers',
146
+ 'namedValues', 'policyFragments', 'products', 'subscriptions', 'tags', 'versionSets'];
147
+ for (const [wsName, sf] of Object.entries(subFilters)) {
148
+ const wsSub = {};
149
+ for (const wsField of validWsSubKeys) {
150
+ if (wsField in sf) {
151
+ wsSub[wsField] = sf[wsField];
152
+ }
153
+ }
154
+ for (const k of Object.keys(sf)) {
155
+ if (!validWsSubKeys.includes(k)) {
156
+ logger.warn(`Unknown workspace sub-filter key '${k}' for workspace '${wsName}'; ignoring.`);
157
+ }
158
+ }
159
+ config.workspaceSubFilters[wsName] = wsSub;
160
+ }
161
+ }
162
+ }
163
+ else {
164
+ config[key] = assertStringArray(rawValue, sourceKey);
165
+ }
48
166
  }
49
- if (parsed.diagnosticNames !== undefined) {
50
- config.diagnosticNames = assertStringArray(parsed.diagnosticNames, 'diagnosticNames');
51
- }
52
- if (parsed.tagNames !== undefined) {
53
- config.tagNames = assertStringArray(parsed.tagNames, 'tagNames');
54
- }
55
- if (parsed.policyFragmentNames !== undefined) {
56
- config.policyFragmentNames = assertStringArray(parsed.policyFragmentNames, 'policyFragmentNames');
57
- }
58
- if (parsed.gatewayNames !== undefined) {
59
- config.gatewayNames = assertStringArray(parsed.gatewayNames, 'gatewayNames');
60
- }
61
- if (parsed.versionSetNames !== undefined) {
62
- config.versionSetNames = assertStringArray(parsed.versionSetNames, 'versionSetNames');
63
- }
64
- if (parsed.groupNames !== undefined) {
65
- config.groupNames = assertStringArray(parsed.groupNames, 'groupNames');
66
- }
67
- if (parsed.subscriptionNames !== undefined) {
68
- config.subscriptionNames = assertStringArray(parsed.subscriptionNames, 'subscriptionNames');
69
- }
70
- if (parsed.schemaNames !== undefined) {
71
- config.schemaNames = assertStringArray(parsed.schemaNames, 'schemaNames');
72
- }
73
- if (parsed.policyRestrictionNames !== undefined) {
74
- config.policyRestrictionNames = assertStringArray(parsed.policyRestrictionNames, 'policyRestrictionNames');
75
- }
76
- if (parsed.documentationNames !== undefined) {
77
- config.documentationNames = assertStringArray(parsed.documentationNames, 'documentationNames');
78
- }
79
- if (parsed.workspaceNames !== undefined) {
80
- config.workspaceNames = assertStringArray(parsed.workspaceNames, 'workspaceNames');
167
+ // Warn about unknown top-level keys
168
+ const knownKeys = new Set([
169
+ ...Object.keys(FILTER_KEY_ALIASES),
170
+ ...Object.values(FILTER_KEY_ALIASES),
171
+ ]);
172
+ for (const key of Object.keys(parsed)) {
173
+ if (!knownKeys.has(key)) {
174
+ logger.warn(`Unknown filter config key '${key}'; ignoring. Did you mean one of: ${Object.keys(FILTER_KEY_ALIASES).join(', ')}?`);
175
+ }
81
176
  }
82
177
  logger.debug(`Loaded filter config from ${filePath}`);
83
178
  return config;
@@ -97,9 +192,15 @@ export async function loadFilterConfig(filePath) {
97
192
  export async function loadOverrideConfig(filePath) {
98
193
  try {
99
194
  const content = await fs.readFile(filePath, 'utf-8');
100
- const parsed = (yaml.load(content) ?? {});
195
+ const loaded = yaml.load(content);
196
+ if (loaded !== null && loaded !== undefined && !isPlainObject(loaded)) {
197
+ throw new Error(`Override file at ${filePath} must be a YAML mapping (key: value pairs) at the top level, ` +
198
+ `but got ${Array.isArray(loaded) ? 'an array' : typeof loaded}.`);
199
+ }
200
+ const parsed = isPlainObject(loaded) ? loaded : {};
201
+ const normalized = normalizeOverrideConfig(parsed);
101
202
  logger.debug(`Loaded override config from ${filePath}`);
102
- return parsed;
203
+ return normalized;
103
204
  }
104
205
  catch (error) {
105
206
  if (error.code === 'ENOENT') {
@@ -109,6 +210,144 @@ export async function loadOverrideConfig(filePath) {
109
210
  throw new Error(`Failed to load override config from ${filePath}: ${error.message}`, { cause: error });
110
211
  }
111
212
  }
213
+ /**
214
+ * Normalize toolkit-format override sections into the internal keyed-map shape.
215
+ * Supports all Toolkit override sections with nested sub-resource overrides.
216
+ * Ignores `apimServiceName` (Toolkit uses it for target APIM instance; CLI uses --service-name flag instead).
217
+ */
218
+ function normalizeOverrideConfig(parsed) {
219
+ const normalized = {};
220
+ // Log and ignore apimServiceName — Toolkit uses this for target APIM instance,
221
+ // but CLI uses --service-name flag instead.
222
+ if (parsed.apimServiceName !== undefined) {
223
+ const serviceName = typeof parsed.apimServiceName === 'string'
224
+ ? parsed.apimServiceName
225
+ : JSON.stringify(parsed.apimServiceName);
226
+ logger.info(`Override config contains 'apimServiceName' ("${serviceName}"). ` +
227
+ `The CLI uses --service-name instead; this field will be ignored.`);
228
+ }
229
+ // All supported Toolkit override sections
230
+ const ALL_OVERRIDE_SECTIONS = [
231
+ 'namedValues', 'backends', 'apis', 'diagnostics', 'loggers',
232
+ 'policies', 'gateways', 'versionSets', 'groups', 'subscriptions',
233
+ 'products', 'tags', 'policyFragments', 'workspaces',
234
+ ];
235
+ for (const sectionName of ALL_OVERRIDE_SECTIONS) {
236
+ const rawSection = parsed[sectionName];
237
+ const section = normalizeOverrideSectionRecursive(rawSection, sectionName);
238
+ if (section !== undefined) {
239
+ normalized[sectionName] = section;
240
+ }
241
+ }
242
+ // Warn about unknown top-level keys
243
+ const knownKeys = new Set([...ALL_OVERRIDE_SECTIONS, 'apimServiceName']);
244
+ for (const key of Object.keys(parsed)) {
245
+ if (!knownKeys.has(key)) {
246
+ logger.warn(`Unknown override config key '${key}'; ignoring.`);
247
+ }
248
+ }
249
+ return normalized;
250
+ }
251
+ /**
252
+ * Known child section keys for each parent override type.
253
+ * Used to distinguish nested sub-resource overrides from regular properties.
254
+ */
255
+ const OVERRIDE_CHILD_SECTIONS = {
256
+ apis: new Set(['diagnostics', 'operations', 'policies', 'releases']),
257
+ workspaces: new Set([
258
+ 'apis', 'backends', 'diagnostics', 'groups', 'loggers',
259
+ 'namedValues', 'policyFragments', 'products', 'subscriptions', 'tags', 'versionSets',
260
+ ]),
261
+ products: new Set(['policies']),
262
+ operations: new Set(['policies']),
263
+ };
264
+ /**
265
+ * Normalize one override section into OverrideSection format.
266
+ * Supports Toolkit list format: `[{ name, properties, ...childSections }]`
267
+ * Recursively parses nested child sections.
268
+ *
269
+ * @param section - The raw YAML value for this section
270
+ * @param displayPath - Full dotted path for error messages (e.g., "apis.my-api.operations")
271
+ * @param sectionKind - Bare section key for child lookup (e.g., "operations")
272
+ */
273
+ function normalizeOverrideSectionRecursive(section, displayPath, sectionKind) {
274
+ // Use sectionKind for child lookup; fall back to displayPath for top-level calls
275
+ const lookupKey = sectionKind ?? displayPath;
276
+ if (section === undefined || section === null) {
277
+ return undefined;
278
+ }
279
+ if (!Array.isArray(section)) {
280
+ throw new Error(`Invalid overrides.${displayPath}: expected an array in toolkit format ` +
281
+ `([ { name, properties } ]), got ${typeof section}.`);
282
+ }
283
+ const normalized = {};
284
+ const childKeys = OVERRIDE_CHILD_SECTIONS[lookupKey] ?? new Set();
285
+ for (const item of section) {
286
+ if (!isPlainObject(item)) {
287
+ logger.warn(`Ignoring invalid item in overrides.${displayPath}; expected object.`);
288
+ continue;
289
+ }
290
+ const name = item.name;
291
+ if (typeof name !== 'string' || name.trim().length === 0) {
292
+ logger.warn(`Ignoring item in overrides.${displayPath}; "name" is required.`);
293
+ continue;
294
+ }
295
+ // Extract properties
296
+ let properties;
297
+ if (item.properties !== undefined && item.properties !== null) {
298
+ if (!isPlainObject(item.properties)) {
299
+ logger.warn(`Ignoring item '${name}' in overrides.${displayPath}; ` +
300
+ `"properties" must be an object, got ${typeof item.properties}.`);
301
+ continue;
302
+ }
303
+ properties = item.properties;
304
+ }
305
+ else {
306
+ // Fallback: use fields directly (excluding 'name' and known child sections)
307
+ const fallbackFields = Object.fromEntries(Object.entries(item).filter(([key]) => key !== 'name' && key !== 'properties' && !childKeys.has(key)));
308
+ if (Object.keys(fallbackFields).length > 0) {
309
+ logger.debug(`Item '${name}' in overrides.${displayPath} is missing 'properties'; using fields directly.`);
310
+ properties = fallbackFields;
311
+ }
312
+ else {
313
+ properties = {};
314
+ }
315
+ }
316
+ // Parse nested child sections
317
+ let children;
318
+ for (const childKey of childKeys) {
319
+ const childValue = item[childKey];
320
+ if (childValue !== undefined) {
321
+ const childSection = normalizeOverrideSectionRecursive(childValue, `${displayPath}.${name}.${childKey}`, childKey);
322
+ if (childSection !== undefined) {
323
+ if (!children)
324
+ children = {};
325
+ children[childKey] = childSection;
326
+ }
327
+ }
328
+ }
329
+ const entry = { properties };
330
+ if (children)
331
+ entry.children = children;
332
+ // Only add entry if it has properties or children
333
+ if (Object.keys(properties).length > 0 || children) {
334
+ if (normalized[name] !== undefined) {
335
+ logger.warn(`Duplicate name '${name}' in overrides.${displayPath}; later entry overwrites earlier one.`);
336
+ }
337
+ normalized[name] = entry;
338
+ }
339
+ else {
340
+ logger.warn(`Ignoring item '${name}' in overrides.${displayPath}; no override properties or child sections.`);
341
+ }
342
+ }
343
+ return Object.keys(normalized).length > 0 ? normalized : undefined;
344
+ }
345
+ function isPlainObject(value) {
346
+ return (typeof value === 'object' &&
347
+ value !== null &&
348
+ !Array.isArray(value) &&
349
+ Object.prototype.toString.call(value) === '[object Object]');
350
+ }
112
351
  /**
113
352
  * Load and parse an OpenTelemetry configuration YAML file.
114
353
  * Returns undefined if file doesn't exist.
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/lib/config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/lib/config-loader.ts"],"names":[],"mappings":"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"}
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../../src/lib/dependency-graph.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAyC5C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,YAAY,EAY1C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,YAAY,EAK1C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,YAAY,EAkB1C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,YAAY,EAG1C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,EAAE,CAOpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAM1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,EAAE,CAEpE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,EAAE,CAIhE;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,IAAI,CA8BpC"}
1
+ {"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../../src/lib/dependency-graph.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAAc,EA2C5C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,YAAY,EAY1C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,YAAY,EAK1C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,YAAY,EAmB1C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,YAAY,EAG1C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,EAAE,CAOpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAM1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,EAAE,CAEpE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,EAAE,CAIhE;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,IAAI,CA8BpC"}
@@ -17,9 +17,11 @@ import { ResourceType } from '../models/resource-types.js';
17
17
  export const DEPENDENCY_EDGES = [
18
18
  // Tier 1 -> Tier 2 dependencies
19
19
  { from: ResourceType.Diagnostic, to: ResourceType.Logger, required: false },
20
+ { from: ResourceType.Diagnostic, to: ResourceType.Workspace, required: false },
20
21
  { from: ResourceType.ServicePolicy, to: ResourceType.NamedValue, required: false },
21
22
  { from: ResourceType.ServicePolicy, to: ResourceType.PolicyFragment, required: false },
22
23
  { from: ResourceType.Api, to: ResourceType.VersionSet, required: false },
24
+ { from: ResourceType.PolicyRestriction, to: ResourceType.Product, required: false },
23
25
  // Tier 2 -> Tier 3 dependencies
24
26
  { from: ResourceType.ProductPolicy, to: ResourceType.Product, required: true },
25
27
  { from: ResourceType.ProductGroup, to: ResourceType.Product, required: true },
@@ -51,6 +53,7 @@ export const DEPENDENCY_EDGES = [
51
53
  { from: ResourceType.GraphQLResolverPolicy, to: ResourceType.GraphQLResolver, required: true },
52
54
  ];
53
55
  export const TIER_1_RESOURCES = [
56
+ ResourceType.Workspace,
54
57
  ResourceType.NamedValue,
55
58
  ResourceType.Tag,
56
59
  ResourceType.Gateway,
@@ -60,7 +63,6 @@ export const TIER_1_RESOURCES = [
60
63
  ResourceType.Group,
61
64
  ResourceType.PolicyFragment,
62
65
  ResourceType.GlobalSchema,
63
- ResourceType.PolicyRestriction,
64
66
  ResourceType.Documentation,
65
67
  ];
66
68
  export const TIER_2_RESOURCES = [
@@ -70,6 +72,7 @@ export const TIER_2_RESOURCES = [
70
72
  ResourceType.Api,
71
73
  ];
72
74
  export const TIER_3_RESOURCES = [
75
+ ResourceType.PolicyRestriction,
73
76
  ResourceType.ProductPolicy,
74
77
  ResourceType.ProductGroup,
75
78
  ResourceType.ProductTag,
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-graph.js","sourceRoot":"","sources":["../../src/lib/dependency-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependency-graph.js","sourceRoot":"","sources":["../../src/lib/dependency-graph.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"resource-path.d.ts","sourceRoot":"","sources":["../../src/lib/resource-path.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAA0B,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAwBnF;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAYhF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAMhE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAStE;AAoBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAKtF;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,kBAAkB,GAC7B,MAAM,CAWR;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,kBAAkB,GAC7B,MAAM,GAAG,SAAS,CASpB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,kBAAkB,GAC7B,MAAM,CAGR;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GACpD,MAAM,CAiBR;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,kBAAkB,EAC9B,eAAe,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAC1C,MAAM,CAUR;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAoBA;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,kBAAkB,GAAG,SAAS,CA4ChC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,kBAAkB,GAAG,SAAS,CAsChC;AAqBD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAK3D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CASvD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAE/D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAiBzD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAqB3D"}
1
+ {"version":3,"file":"resource-path.d.ts","sourceRoot":"","sources":["../../src/lib/resource-path.ts"],"names":[],"mappings":"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"}
@@ -7,16 +7,20 @@
7
7
  import * as path from 'node:path';
8
8
  import { RESOURCE_TYPE_METADATA, ResourceType } from '../models/resource-types.js';
9
9
  /**
10
- * Association resource types that represent parent-child relationships
11
- * (not independently publishable resources).
12
- * These are handled specially during publishing via association files
13
- * (apis.json, groups.json) and should not be discovered as individual resources.
10
+ * Association resource types that are published by specialized parent publishers.
11
+ *
12
+ * Product associations are handled by product-publisher using the parent
13
+ * product descriptor, so their association files should not be discovered as
14
+ * independent resources.
15
+ *
16
+ * Gateway associations are intentionally excluded from this set because they
17
+ * are published via the generic association path in resource-publisher and
18
+ * must therefore be discovered from gateways/{gateway}/apis.json.
14
19
  */
15
- const ASSOCIATION_TYPES = new Set([
20
+ const PARENT_PUBLISHED_ASSOCIATION_TYPES = new Set([
16
21
  ResourceType.ProductApi,
17
22
  ResourceType.ProductGroup,
18
23
  ResourceType.ProductTag,
19
- ResourceType.GatewayApi,
20
24
  ]);
21
25
  const SUPPORTED_SPECIFICATION_EXTENSIONS = new Set([
22
26
  'yaml',
@@ -162,8 +166,26 @@ export function parseTemplatePath(template, path) {
162
166
  const match = templateToRegex(template).exec(path);
163
167
  if (!match)
164
168
  return undefined;
165
- // Captures correspond directly to {0}, {1}, … positions in the template
166
- return match.slice(1);
169
+ const captures = match.slice(1);
170
+ // Extract placeholder indices in left-to-right appearance order.
171
+ // For `tags/{1}/apiLinks/{0}` this yields [1, 0].
172
+ const placeholderIndices = [];
173
+ const placeholderPattern = /\{(\d+)\}/g;
174
+ let m;
175
+ while ((m = placeholderPattern.exec(template)) !== null) {
176
+ placeholderIndices.push(Number(m[1]));
177
+ }
178
+ // Re-sort captures so result[i] corresponds to placeholder {i}.
179
+ // When indices are sequential (the common case), this is a no-op.
180
+ const sorted = new Array(captures.length);
181
+ for (let i = 0; i < captures.length; i++) {
182
+ const idx = placeholderIndices[i];
183
+ const val = captures[i];
184
+ if (idx !== undefined && val !== undefined) {
185
+ sorted[idx] = val;
186
+ }
187
+ }
188
+ return sorted;
167
189
  }
168
190
  /**
169
191
  * Builds the artifact directory path for a given descriptor.
@@ -306,6 +328,10 @@ export function parseArtifactPath(baseDir, filePath) {
306
328
  if (!fileName) {
307
329
  return undefined;
308
330
  }
331
+ const workspaceContainer = parseWorkspaceContainerDescriptor(fileName, workspace);
332
+ if (workspaceContainer) {
333
+ return workspaceContainer;
334
+ }
309
335
  // Try to match against each resource type's pattern
310
336
  for (const [typeKey, metadata] of Object.entries(RESOURCE_TYPE_METADATA)) {
311
337
  const type = typeKey;
@@ -314,8 +340,8 @@ export function parseArtifactPath(baseDir, filePath) {
314
340
  }
315
341
  // Skip association resource types — these are handled specially during publishing
316
342
  // via their parent's association files (apis.json, groups.json)
317
- if (ASSOCIATION_TYPES.has(type)) {
318
- return undefined;
343
+ if (PARENT_PUBLISHED_ASSOCIATION_TYPES.has(type)) {
344
+ continue;
319
345
  }
320
346
  const nameParts = parseTemplatePath(metadata.artifactDirectory, parts.slice(startIndex, -1).join('/'));
321
347
  if (nameParts !== undefined) {
@@ -324,6 +350,19 @@ export function parseArtifactPath(baseDir, filePath) {
324
350
  }
325
351
  return undefined;
326
352
  }
353
+ function parseWorkspaceContainerDescriptor(fileName, workspace) {
354
+ // Workspace container descriptors are stored at:
355
+ // workspaces/{workspace}/workspaceInformation.json
356
+ // and are not workspace-scoped children. Return a top-level Workspace
357
+ // descriptor so publish can create the container before workspace children.
358
+ if (fileName === 'workspaceInformation.json' && workspace) {
359
+ return {
360
+ type: ResourceType.Workspace,
361
+ nameParts: [workspace],
362
+ };
363
+ }
364
+ return undefined;
365
+ }
327
366
  /**
328
367
  * Parse a changed artifact file path into a ResourceDescriptor.
329
368
  *