@peterhauge/apiops-cli 0.1.7-alpha.0 → 0.2.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/LICENSE.md +22 -22
  2. package/README.md +169 -169
  3. package/dist/cli/init-command.d.ts.map +1 -1
  4. package/dist/cli/init-command.js +2 -1
  5. package/dist/cli/init-command.js.map +1 -1
  6. package/dist/clients/apim-client.d.ts +25 -1
  7. package/dist/clients/apim-client.d.ts.map +1 -1
  8. package/dist/clients/apim-client.js +173 -9
  9. package/dist/clients/apim-client.js.map +1 -1
  10. package/dist/clients/iapim-client.d.ts +6 -0
  11. package/dist/clients/iapim-client.d.ts.map +1 -1
  12. package/dist/lib/config-loader.d.ts +0 -4
  13. package/dist/lib/config-loader.d.ts.map +1 -1
  14. package/dist/lib/config-loader.js +290 -51
  15. package/dist/lib/config-loader.js.map +1 -1
  16. package/dist/lib/resource-path.d.ts.map +1 -1
  17. package/dist/lib/resource-path.js +20 -2
  18. package/dist/lib/resource-path.js.map +1 -1
  19. package/dist/lib/resource-uri.d.ts.map +1 -1
  20. package/dist/lib/resource-uri.js +24 -4
  21. package/dist/lib/resource-uri.js.map +1 -1
  22. package/dist/lib/workspace-link.d.ts +46 -0
  23. package/dist/lib/workspace-link.d.ts.map +1 -0
  24. package/dist/lib/workspace-link.js +93 -0
  25. package/dist/lib/workspace-link.js.map +1 -0
  26. package/dist/models/config.d.ts +80 -44
  27. package/dist/models/config.d.ts.map +1 -1
  28. package/dist/models/resource-types.d.ts +14 -1
  29. package/dist/models/resource-types.d.ts.map +1 -1
  30. package/dist/models/resource-types.js +11 -3
  31. package/dist/models/resource-types.js.map +1 -1
  32. package/dist/services/api-extractor.d.ts +19 -0
  33. package/dist/services/api-extractor.d.ts.map +1 -1
  34. package/dist/services/api-extractor.js +87 -6
  35. package/dist/services/api-extractor.js.map +1 -1
  36. package/dist/services/api-publisher.d.ts.map +1 -1
  37. package/dist/services/api-publisher.js +251 -60
  38. package/dist/services/api-publisher.js.map +1 -1
  39. package/dist/services/filter-service.d.ts +1 -0
  40. package/dist/services/filter-service.d.ts.map +1 -1
  41. package/dist/services/filter-service.js +101 -40
  42. package/dist/services/filter-service.js.map +1 -1
  43. package/dist/services/identity-guide-service.d.ts +1 -1
  44. package/dist/services/identity-guide-service.d.ts.map +1 -1
  45. package/dist/services/identity-guide-service.js +37 -518
  46. package/dist/services/identity-guide-service.js.map +1 -1
  47. package/dist/services/init-service.d.ts.map +1 -1
  48. package/dist/services/init-service.js +51 -19
  49. package/dist/services/init-service.js.map +1 -1
  50. package/dist/services/override-merger.d.ts +3 -7
  51. package/dist/services/override-merger.d.ts.map +1 -1
  52. package/dist/services/override-merger.js +198 -47
  53. package/dist/services/override-merger.js.map +1 -1
  54. package/dist/services/product-extractor.d.ts +20 -0
  55. package/dist/services/product-extractor.d.ts.map +1 -1
  56. package/dist/services/product-extractor.js +101 -5
  57. package/dist/services/product-extractor.js.map +1 -1
  58. package/dist/services/product-publisher.d.ts.map +1 -1
  59. package/dist/services/product-publisher.js +23 -6
  60. package/dist/services/product-publisher.js.map +1 -1
  61. package/dist/services/publish-service.d.ts.map +1 -1
  62. package/dist/services/publish-service.js +55 -7
  63. package/dist/services/publish-service.js.map +1 -1
  64. package/dist/services/resource-extractor.d.ts.map +1 -1
  65. package/dist/services/resource-extractor.js +1 -52
  66. package/dist/services/resource-extractor.js.map +1 -1
  67. package/dist/services/resource-publisher.d.ts.map +1 -1
  68. package/dist/services/resource-publisher.js +179 -2
  69. package/dist/services/resource-publisher.js.map +1 -1
  70. package/dist/services/transitive-resolver.d.ts.map +1 -1
  71. package/dist/services/transitive-resolver.js +4 -4
  72. package/dist/services/transitive-resolver.js.map +1 -1
  73. package/dist/services/workspace-extractor.d.ts.map +1 -1
  74. package/dist/services/workspace-extractor.js +50 -7
  75. package/dist/services/workspace-extractor.js.map +1 -1
  76. package/dist/templates/azure-devops/extract-pipeline.d.ts +2 -1
  77. package/dist/templates/azure-devops/extract-pipeline.d.ts.map +1 -1
  78. package/dist/templates/azure-devops/extract-pipeline.js +147 -88
  79. package/dist/templates/azure-devops/extract-pipeline.js.map +1 -1
  80. package/dist/templates/azure-devops/publish-pipeline.d.ts.map +1 -1
  81. package/dist/templates/azure-devops/publish-pipeline.js +116 -89
  82. package/dist/templates/azure-devops/publish-pipeline.js.map +1 -1
  83. package/dist/templates/configs/filter-config.d.ts +1 -1
  84. package/dist/templates/configs/filter-config.d.ts.map +1 -1
  85. package/dist/templates/configs/filter-config.js +109 -44
  86. package/dist/templates/configs/filter-config.js.map +1 -1
  87. package/dist/templates/configs/override-config.d.ts.map +1 -1
  88. package/dist/templates/configs/override-config.js +90 -37
  89. package/dist/templates/configs/override-config.js.map +1 -1
  90. package/dist/templates/copilot/identity-setup-prompt.d.ts +4 -3
  91. package/dist/templates/copilot/identity-setup-prompt.d.ts.map +1 -1
  92. package/dist/templates/copilot/identity-setup-prompt.js +59 -269
  93. package/dist/templates/copilot/identity-setup-prompt.js.map +1 -1
  94. package/dist/templates/generated/embedded-markdown.d.ts +12 -0
  95. package/dist/templates/generated/embedded-markdown.d.ts.map +1 -0
  96. package/dist/templates/generated/embedded-markdown.js +14 -0
  97. package/dist/templates/generated/embedded-markdown.js.map +1 -0
  98. package/dist/templates/github-actions/extract-workflow.js +118 -118
  99. package/dist/templates/github-actions/publish-workflow.d.ts.map +1 -1
  100. package/dist/templates/github-actions/publish-workflow.js +104 -90
  101. package/dist/templates/github-actions/publish-workflow.js.map +1 -1
  102. package/package.json +69 -66
@@ -5,51 +5,63 @@
5
5
  * Load FilterConfig, apply inclusive allowlist per resource type,
6
6
  * case-insensitive matching, API root-name matching for revisions.
7
7
  */
8
- import { ResourceType } from '../models/resource-types.js';
8
+ import { ResourceType, RESOURCE_TYPE_METADATA } from '../models/resource-types.js';
9
9
  import { logger } from '../lib/logger.js';
10
10
  import { getNamePart } from '../lib/resource-path.js';
11
11
  /**
12
12
  * Map resource types to their corresponding FilterConfig field names.
13
13
  */
14
14
  const FILTER_FIELD_MAP = {
15
- [ResourceType.Api]: 'apiNames',
16
- [ResourceType.Backend]: 'backendNames',
17
- [ResourceType.Product]: 'productNames',
18
- [ResourceType.NamedValue]: 'namedValueNames',
19
- [ResourceType.Logger]: 'loggerNames',
20
- [ResourceType.Diagnostic]: 'diagnosticNames',
21
- [ResourceType.Tag]: 'tagNames',
22
- [ResourceType.PolicyFragment]: 'policyFragmentNames',
23
- [ResourceType.Gateway]: 'gatewayNames',
24
- [ResourceType.VersionSet]: 'versionSetNames',
25
- [ResourceType.Group]: 'groupNames',
26
- [ResourceType.Subscription]: 'subscriptionNames',
27
- [ResourceType.GlobalSchema]: 'schemaNames',
28
- [ResourceType.PolicyRestriction]: 'policyRestrictionNames',
29
- [ResourceType.Documentation]: 'documentationNames',
15
+ [ResourceType.Api]: 'apis',
16
+ [ResourceType.Backend]: 'backends',
17
+ [ResourceType.Product]: 'products',
18
+ [ResourceType.NamedValue]: 'namedValues',
19
+ [ResourceType.Logger]: 'loggers',
20
+ [ResourceType.Diagnostic]: 'diagnostics',
21
+ [ResourceType.Tag]: 'tags',
22
+ [ResourceType.PolicyFragment]: 'policyFragments',
23
+ [ResourceType.Gateway]: 'gateways',
24
+ [ResourceType.VersionSet]: 'versionSets',
25
+ [ResourceType.Group]: 'groups',
26
+ [ResourceType.Subscription]: 'subscriptions',
27
+ [ResourceType.GlobalSchema]: 'schemas',
28
+ [ResourceType.ServicePolicy]: 'policies',
29
+ [ResourceType.PolicyRestriction]: 'policyRestrictions',
30
+ [ResourceType.Documentation]: 'documentations',
31
+ [ResourceType.Workspace]: 'workspaces',
30
32
  };
31
33
  /**
32
34
  * Child resource types that inherit filter status from their parent.
33
35
  * If the parent (e.g., Api or Product) passes the filter, all children are included.
34
36
  */
35
37
  const PARENT_FILTER_MAP = {
36
- [ResourceType.ApiPolicy]: 'apiNames',
37
- [ResourceType.ApiTag]: 'apiNames',
38
- [ResourceType.ApiDiagnostic]: 'apiNames',
39
- [ResourceType.ApiOperation]: 'apiNames',
40
- [ResourceType.ApiOperationPolicy]: 'apiNames',
41
- [ResourceType.ApiSchema]: 'apiNames',
42
- [ResourceType.ApiRelease]: 'apiNames',
43
- [ResourceType.ApiTagDescription]: 'apiNames',
44
- [ResourceType.ApiWiki]: 'apiNames',
45
- [ResourceType.GraphQLResolver]: 'apiNames',
46
- [ResourceType.GraphQLResolverPolicy]: 'apiNames',
47
- [ResourceType.ProductPolicy]: 'productNames',
48
- [ResourceType.ProductApi]: 'productNames',
49
- [ResourceType.ProductGroup]: 'productNames',
50
- [ResourceType.ProductTag]: 'productNames',
51
- [ResourceType.ProductWiki]: 'productNames',
52
- [ResourceType.GatewayApi]: 'gatewayNames',
38
+ [ResourceType.ApiPolicy]: 'apis',
39
+ [ResourceType.ApiTag]: 'apis',
40
+ [ResourceType.ApiDiagnostic]: 'apis',
41
+ [ResourceType.ApiOperation]: 'apis',
42
+ [ResourceType.ApiOperationPolicy]: 'apis',
43
+ [ResourceType.ApiSchema]: 'apis',
44
+ [ResourceType.ApiRelease]: 'apis',
45
+ [ResourceType.ApiTagDescription]: 'apis',
46
+ [ResourceType.ApiWiki]: 'apis',
47
+ [ResourceType.GraphQLResolver]: 'apis',
48
+ [ResourceType.GraphQLResolverPolicy]: 'apis',
49
+ [ResourceType.ProductPolicy]: 'products',
50
+ [ResourceType.ProductApi]: 'products',
51
+ [ResourceType.ProductGroup]: 'products',
52
+ [ResourceType.ProductTag]: 'products',
53
+ [ResourceType.ProductWiki]: 'products',
54
+ [ResourceType.GatewayApi]: 'gateways',
55
+ };
56
+ /**
57
+ * Map API child resource types to their sub-filter key in ApiSubFilter.
58
+ */
59
+ const API_SUB_FILTER_KEY_MAP = {
60
+ [ResourceType.ApiOperation]: 'operations',
61
+ [ResourceType.ApiOperationPolicy]: 'operations',
62
+ [ResourceType.ApiDiagnostic]: 'diagnostics',
63
+ [ResourceType.ApiSchema]: 'schemas',
64
+ [ResourceType.ApiRelease]: 'releases',
53
65
  };
54
66
  /**
55
67
  * Determines if a resource should be included based on the filter config.
@@ -61,6 +73,7 @@ const PARENT_FILTER_MAP = {
61
73
  * - Matching is case-insensitive.
62
74
  * - API filter matches root name; all revisions of matching root are included.
63
75
  * - Child resources inherit filter from their parent type.
76
+ * - API sub-resource filters (operations, diagnostics, schemas, releases) are applied when specified.
64
77
  */
65
78
  export function shouldIncludeResource(descriptor, filter) {
66
79
  if (!filter) {
@@ -69,23 +82,71 @@ export function shouldIncludeResource(descriptor, filter) {
69
82
  // Check direct filter field for this resource type
70
83
  const directField = FILTER_FIELD_MAP[descriptor.type];
71
84
  if (directField) {
72
- return matchesFilter(getNamePart(descriptor.nameParts, 0), filter[directField]);
85
+ // Singleton resources (e.g., ServicePolicy) have nameParts: [] — use fixed name from ARM path
86
+ const resourceName = descriptor.nameParts.length > 0
87
+ ? getNamePart(descriptor.nameParts, 0)
88
+ : getSingletonFilterName(descriptor.type);
89
+ return matchesFilter(resourceName, filter[directField]);
73
90
  }
74
91
  // Check parent-based filter for child resource types
75
92
  const parentField = PARENT_FILTER_MAP[descriptor.type];
76
93
  if (parentField) {
77
94
  const parentName = getParentNameForFilter(descriptor);
78
95
  if (parentName) {
79
- return matchesFilter(parentName, filter[parentField]);
96
+ // First check: is the parent included?
97
+ if (!matchesFilter(parentName, filter[parentField])) {
98
+ return false;
99
+ }
100
+ // Second check: does the parent have sub-resource filters?
101
+ if (parentField === 'apis' && filter.apiSubFilters) {
102
+ return matchesApiSubFilter(descriptor, parentName, filter.apiSubFilters);
103
+ }
104
+ return true;
80
105
  }
81
106
  }
82
- // ServicePolicy has no filter — always included
83
- if (descriptor.type === ResourceType.ServicePolicy) {
84
- return true;
85
- }
86
107
  // Unknown types are included by default
87
108
  return true;
88
109
  }
110
+ /**
111
+ * Get the fixed singleton name for a resource type from its ARM path.
112
+ * E.g., ServicePolicy → "policy"
113
+ */
114
+ function getSingletonFilterName(type) {
115
+ const meta = RESOURCE_TYPE_METADATA[type];
116
+ return meta.armPathSuffix.split('/').pop() ?? '';
117
+ }
118
+ /**
119
+ * Check if an API child resource passes the API sub-resource filter.
120
+ * If the parent API has no sub-filter entry, all children are included.
121
+ * If the parent API has a sub-filter, only specified children pass.
122
+ */
123
+ function matchesApiSubFilter(descriptor, parentApiName, apiSubFilters) {
124
+ // Find matching sub-filter using case-insensitive API name
125
+ const lowerParent = parentApiName.toLowerCase();
126
+ const matchingKey = Object.keys(apiSubFilters).find((k) => k.toLowerCase() === lowerParent);
127
+ if (!matchingKey) {
128
+ // No sub-filter for this API — include all children
129
+ return true;
130
+ }
131
+ const subFilter = apiSubFilters[matchingKey];
132
+ const subFilterKey = API_SUB_FILTER_KEY_MAP[descriptor.type];
133
+ if (!subFilterKey) {
134
+ // This child type has no sub-filter support (e.g., ApiTag, ApiWiki) — include by default
135
+ return true;
136
+ }
137
+ const allowlist = subFilter[subFilterKey];
138
+ if (allowlist === undefined) {
139
+ // Sub-filter for this API doesn't specify this child type — include all
140
+ return true;
141
+ }
142
+ if (allowlist.length === 0) {
143
+ // Explicitly empty = exclude all of this child type
144
+ return false;
145
+ }
146
+ // Match the child's own name (second name part for ApiOperation, ApiDiagnostic, etc.)
147
+ const childName = getNamePart(descriptor.nameParts, 1);
148
+ return matchesFilter(childName, allowlist);
149
+ }
89
150
  /**
90
151
  * Get the parent name to use for filter matching.
91
152
  * Uses PARENT_FILTER_MAP to determine which name-part is the parent, and
@@ -94,7 +155,7 @@ export function shouldIncludeResource(descriptor, filter) {
94
155
  function getParentNameForFilter(descriptor) {
95
156
  const parentName = getNamePart(descriptor.nameParts, 0);
96
157
  // API children need revision suffix stripped (e.g. "my-api;rev=2" → "my-api")
97
- return PARENT_FILTER_MAP[descriptor.type] === 'apiNames'
158
+ return PARENT_FILTER_MAP[descriptor.type] === 'apis'
98
159
  ? extractRootApiName(parentName)
99
160
  : parentName;
100
161
  }
@@ -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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"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  export interface IdentityGuideService {
7
7
  generateGitHubActionsGuide(subscriptionId: string, resourceGroup: string, environments: string[]): string;
8
- generateAzureDevOpsGuide(subscriptionId: string, resourceGroup: string, environments: string[]): string;
8
+ generateAzureDevOpsGuide(environments: string[]): string;
9
9
  }
10
10
  export declare const identityGuideService: IdentityGuideService;
11
11
  //# sourceMappingURL=identity-guide-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-guide-service.d.ts","sourceRoot":"","sources":["../../src/services/identity-guide-service.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,MAAM,WAAW,oBAAoB;IACnC,0BAA0B,CACxB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EAAE,GACrB,MAAM,CAAC;IAEV,wBAAwB,CACtB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EAAE,GACrB,MAAM,CAAC;CACX;AAwhBD,eAAO,MAAM,oBAAoB,EAAE,oBAAqD,CAAC"}
1
+ {"version":3,"file":"identity-guide-service.d.ts","sourceRoot":"","sources":["../../src/services/identity-guide-service.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAQH,MAAM,WAAW,oBAAoB;IACnC,0BAA0B,CACxB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EAAE,GACrB,MAAM,CAAC;IAEV,wBAAwB,CACtB,YAAY,EAAE,MAAM,EAAE,GACrB,MAAM,CAAC;CACX;AA2DD,eAAO,MAAM,oBAAoB,EAAE,oBAAqD,CAAC"}