@azure-typespec/http-client-csharp-mgmt 1.0.0-alpha.20251224.1 → 1.0.0-alpha.20251228.1

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.
@@ -11,7 +11,7 @@ export async function $onEmit(context) {
11
11
  context.options["model-namespace"] ??= true;
12
12
  await $onAzureEmit(context);
13
13
  function updateCodeModel(codeModel, sdkContext) {
14
- updateClients(codeModel, sdkContext);
14
+ updateClients(codeModel, sdkContext, context.options);
15
15
  setFlattenProperty(codeModel, sdkContext);
16
16
  return codeModel;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../emitter/src/emitter.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,+FAA+F;AAM/F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIxD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAA6C;IACzE,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,2BAA2B,CAAC;IAClE,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,eAAe,CAAC;IACvD,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9D,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,sBAAsB,CAAC;IAClE,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC5C,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAE5B,SAAS,eAAe,CACtB,SAAoB,EACpB,UAAgC;QAEhC,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACrC,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,SAAoB,EACpB,UAAgC;IAEhC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACjD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,gCAAgC,GAAkB;oBACtD,IAAI,EAAE,wBAAwB;oBAC9B,SAAS,EAAE,EAAE;iBACd,CAAC;gBACF,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../emitter/src/emitter.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,+FAA+F;AAM/F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIxD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAA6C;IACzE,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,2BAA2B,CAAC;IAClE,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,eAAe,CAAC;IACvD,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9D,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,sBAAsB,CAAC;IAClE,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC5C,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAE5B,SAAS,eAAe,CACtB,SAAoB,EACpB,UAAgC;QAEhC,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACtD,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,SAAoB,EACpB,UAAgC;IAEhC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACjD,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,gCAAgC,GAAkB;oBACtD,IAAI,EAAE,wBAAwB;oBAC9B,SAAS,EAAE,EAAE;iBACd,CAAC;gBACF,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -2,6 +2,7 @@ import { AzureEmitterOptions } from "@azure-typespec/http-client-csharp";
2
2
  import { JSONSchemaType } from "@typespec/compiler";
3
3
  export interface AzureMgmtEmitterOptions extends AzureEmitterOptions {
4
4
  "enable-wire-path-attribute"?: boolean;
5
+ "use-legacy-resource-detection"?: boolean;
5
6
  }
6
7
  export declare const AzureMgmtEmitterOptionsSchema: JSONSchemaType<AzureMgmtEmitterOptions>;
7
8
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../emitter/src/options.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,mBAAmB,EAEpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC;AAED,eAAO,MAAM,6BAA6B,EAAE,cAAc,CAAC,uBAAuB,CAc/E,CAAC"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../emitter/src/options.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,mBAAmB,EAEpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,+BAA+B,CAAC,EAAE,OAAO,CAAC;CAC3C;AAED,eAAO,MAAM,6BAA6B,EAAE,cAAc,CAAC,uBAAuB,CAqB/E,CAAC"}
@@ -11,6 +11,12 @@ export const AzureMgmtEmitterOptionsSchema = {
11
11
  nullable: true,
12
12
  description: "Whether to enable the WirePathAttribute on model properties. The default value is 'false'.",
13
13
  default: false
14
+ },
15
+ "use-legacy-resource-detection": {
16
+ type: "boolean",
17
+ nullable: true,
18
+ description: "Whether to use the legacy custom resource detection logic instead of the standardized resolveArmResources API from @azure-tools/typespec-azure-resource-manager. When true, uses the legacy logic. When false, uses the resolveArmResources API.",
19
+ default: true
14
20
  }
15
21
  }
16
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../emitter/src/options.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,+FAA+F;AAE/F,OAAO,EAEL,yBAAyB,EAC1B,MAAM,oCAAoC,CAAC;AAO5C,MAAM,CAAC,MAAM,6BAA6B,GACxC;IACE,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,GAAG,yBAAyB,CAAC,UAAU;QACvC,4BAA4B,EAAE;YAC5B,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,4FAA4F;YAC9F,OAAO,EAAE,KAAK;SACf;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../emitter/src/options.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,+FAA+F;AAE/F,OAAO,EAEL,yBAAyB,EAC1B,MAAM,oCAAoC,CAAC;AAQ5C,MAAM,CAAC,MAAM,6BAA6B,GACxC;IACE,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,GAAG,yBAAyB,CAAC,UAAU;QACvC,4BAA4B,EAAE;YAC5B,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,4FAA4F;YAC9F,OAAO,EAAE,KAAK;SACf;QACD,+BAA+B,EAAE;YAC/B,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,kPAAkP;YACpP,OAAO,EAAE,IAAI;SACd;KACF;CACF,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * This module provides conversion functionality between the resolveArmResources API
3
+ * (from @azure-tools/typespec-azure-resource-manager) and our internal ArmProviderSchema format.
4
+ *
5
+ * The resolveArmResources API is a standardized way to extract ARM resource information
6
+ * from TypeSpec definitions. This converter transforms its output to match our existing
7
+ * schema structure used throughout the codebase.
8
+ *
9
+ * Key differences between the two formats:
10
+ * - resolveArmResources returns a Provider object with ResolvedResource entries
11
+ * - ArmProviderSchema uses ArmResourceSchema with ResourceMetadata
12
+ * - Operation categorization may differ between the two approaches
13
+ *
14
+ * Usage:
15
+ * ```typescript
16
+ * const schema = convertProviderToArmProviderSchema(program, sdkContext);
17
+ * ```
18
+ *
19
+ * Note: This is the first step towards migrating to use resolveArmResources.
20
+ * The converter is designed to maintain compatibility with existing code while
21
+ * allowing gradual migration to the standardized API.
22
+ */
23
+ import { Program } from "@typespec/compiler";
24
+ import { ArmProviderSchema } from "./resource-metadata.js";
25
+ import { CSharpEmitterContext } from "@typespec/http-client-csharp";
26
+ /**
27
+ * Resolves ARM resources from TypeSpec definitions using the standard resolveArmResources API
28
+ * and returns them in our ArmProviderSchema format.
29
+ *
30
+ * This function wraps the standard resolveArmResources API from typespec-azure-resource-manager
31
+ * and converts the result to our internal schema format for compatibility with existing code.
32
+ *
33
+ * @param program - The TypeSpec program
34
+ * @param sdkContext - The emitter context to map models
35
+ * @returns The ARM provider schema in our expected format
36
+ */
37
+ export declare function resolveArmResources(program: Program, sdkContext: CSharpEmitterContext): ArmProviderSchema;
38
+ //# sourceMappingURL=resolve-arm-resources-converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-arm-resources-converter.d.ts","sourceRoot":"","sources":["../../emitter/src/resolve-arm-resources-converter.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,OAAO,EAAa,MAAM,oBAAoB,CAAC;AAMxD,OAAO,EACL,iBAAiB,EAOlB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAKpE;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,oBAAoB,GAC/B,iBAAiB,CAwJnB"}
@@ -0,0 +1,373 @@
1
+ // Copyright (c) Microsoft Corporation. All rights reserved.
2
+ // Licensed under the MIT License. See License.txt in the project root for license information.
3
+ import { resolveArmResources as resolveArmResourcesFromLibrary } from "@azure-tools/typespec-azure-resource-manager";
4
+ import { ResourceOperationKind, ResourceScope } from "./resource-metadata.js";
5
+ import { getCrossLanguageDefinitionId } from "@azure-tools/typespec-client-generator-core";
6
+ /**
7
+ * Resolves ARM resources from TypeSpec definitions using the standard resolveArmResources API
8
+ * and returns them in our ArmProviderSchema format.
9
+ *
10
+ * This function wraps the standard resolveArmResources API from typespec-azure-resource-manager
11
+ * and converts the result to our internal schema format for compatibility with existing code.
12
+ *
13
+ * @param program - The TypeSpec program
14
+ * @param sdkContext - The emitter context to map models
15
+ * @returns The ARM provider schema in our expected format
16
+ */
17
+ export function resolveArmResources(program, sdkContext) {
18
+ const provider = resolveArmResourcesFromLibrary(program);
19
+ // Convert resources
20
+ const resources = [];
21
+ const processedResources = new Set();
22
+ const schemaToResolvedResource = new Map();
23
+ if (provider.resources) {
24
+ for (const resolvedResource of provider.resources) {
25
+ // Get the model from SDK context
26
+ const modelId = getCrossLanguageDefinitionId(sdkContext, resolvedResource.type);
27
+ if (!modelId) {
28
+ continue;
29
+ }
30
+ // Create a unique key for this resource to avoid duplicates
31
+ const resourceKey = `${modelId}|${resolvedResource.resourceInstancePath}`;
32
+ if (processedResources.has(resourceKey)) {
33
+ continue;
34
+ }
35
+ processedResources.add(resourceKey);
36
+ // Convert to our resource schema format
37
+ const metadata = convertResolvedResourceToMetadata(sdkContext, resolvedResource);
38
+ const resource = {
39
+ resourceModelId: modelId,
40
+ metadata
41
+ };
42
+ resources.push(resource);
43
+ schemaToResolvedResource.set(resource, resolvedResource);
44
+ }
45
+ }
46
+ // Convert non-resource methods
47
+ const nonResourceMethods = [];
48
+ // after the parentResourceId and resource scopes are populated, we can reorganize the metadata that is missing resourceIdPattern
49
+ const validResources = resources.filter(r => r.metadata.resourceIdPattern !== "");
50
+ const incompleteResources = resources.filter(r => r.metadata.resourceIdPattern === "");
51
+ // now we populate parentResourceId in all resources. Incomplete resources are also handled here because when merging their methods into others, we need correct parentResourceId
52
+ const validResourceMap = new Map();
53
+ for (const resource of validResources) {
54
+ const resolved = schemaToResolvedResource.get(resource);
55
+ if (resolved) {
56
+ validResourceMap.set(resolved.resourceInstancePath, resource);
57
+ }
58
+ }
59
+ for (const resource of resources) {
60
+ const resolved = schemaToResolvedResource.get(resource);
61
+ if (!resolved)
62
+ continue;
63
+ let parent = resolved.parent;
64
+ while (parent) {
65
+ // Check if this parent is a valid resource in our set
66
+ const parentResource = validResourceMap.get(parent.resourceInstancePath);
67
+ if (parentResource) {
68
+ resource.metadata.parentResourceId = parentResource.metadata.resourceIdPattern;
69
+ resource.metadata.parentResourceModelId = parentResource.resourceModelId;
70
+ break;
71
+ }
72
+ parent = parent.parent;
73
+ }
74
+ }
75
+ // then we merge the methods in incomplete resources to their parents or siblings
76
+ for (const resource of incompleteResources) {
77
+ const metadata = resource.metadata;
78
+ let merged = false;
79
+ // First try to merge with parent if it exists
80
+ if (metadata.parentResourceModelId) {
81
+ const parent = validResources.find(r => r.resourceModelId === metadata.parentResourceModelId);
82
+ if (parent) {
83
+ parent.metadata.methods.push(...metadata.methods);
84
+ merged = true;
85
+ }
86
+ }
87
+ if (!merged) {
88
+ // No parent or parent not found - try to find another entry for the same model
89
+ const sibling = validResources.find(r => r.resourceModelId === resource.resourceModelId);
90
+ if (sibling) {
91
+ sibling.metadata.methods.push(...metadata.methods);
92
+ merged = true;
93
+ }
94
+ }
95
+ // If there's no parent and no other entry to merge with, treat all methods as non-resource methods
96
+ if (!merged) {
97
+ for (const method of metadata.methods) {
98
+ nonResourceMethods.push({
99
+ methodId: method.methodId,
100
+ operationPath: method.operationPath,
101
+ operationScope: method.operationScope
102
+ });
103
+ }
104
+ }
105
+ }
106
+ // populate the resourceScope for list operations
107
+ // first we find all the converted list operations
108
+ const listOperations = [];
109
+ for (const resource of validResources) {
110
+ for (const method of resource.metadata.methods) {
111
+ if (method.kind === ResourceOperationKind.List) {
112
+ listOperations.push(method);
113
+ }
114
+ }
115
+ }
116
+ // then we gather all the resourceInstancePath for all resources as candidates
117
+ const resourceInstancePaths = validResources.map(r => r.metadata.resourceIdPattern.split('/').filter(s => s.length > 0));
118
+ // now we assign one of the most matched resourceInstancePath in above candidates to each list operation's resourceScope
119
+ for (const listOp of listOperations) {
120
+ const validCandidates = [];
121
+ const listOperationPathSegments = listOp.operationPath.split('/').filter(s => s.length > 0);
122
+ for (const candidatePath of resourceInstancePaths) {
123
+ if (canBeListResourceScope(listOperationPathSegments, candidatePath)) {
124
+ validCandidates.push(candidatePath);
125
+ }
126
+ }
127
+ // now we have a list of candidates that can be the resourceScope for this list.
128
+ // we take the longest as the resourceScope of this list
129
+ if (validCandidates.length > 0) {
130
+ validCandidates.sort((a, b) => b.length - a.length);
131
+ listOp.resourceScope = '/' + validCandidates[0].join('/');
132
+ }
133
+ }
134
+ if (provider.providerOperations) {
135
+ for (const operation of provider.providerOperations) {
136
+ // Get method ID from the operation
137
+ const methodId = getMethodIdFromOperation(sdkContext, operation.operation);
138
+ if (!methodId) {
139
+ continue;
140
+ }
141
+ nonResourceMethods.push({
142
+ methodId,
143
+ operationPath: operation.path,
144
+ // TODO: this is also temporary because resolveArmResources does not have the scope of a provider operation
145
+ operationScope: getOperationScopeFromPath(operation.path)
146
+ });
147
+ }
148
+ }
149
+ return {
150
+ resources: validResources,
151
+ nonResourceMethods
152
+ };
153
+ }
154
+ /**
155
+ * Converts a ResolvedResource to ResourceMetadata format
156
+ */
157
+ function convertResolvedResourceToMetadata(sdkContext, resolvedResource) {
158
+ const methods = [];
159
+ const resourceScope = convertScopeToResourceScope(resolvedResource.scope);
160
+ let resourceIdPattern = "";
161
+ // Convert lifecycle operations
162
+ if (resolvedResource.operations.lifecycle) {
163
+ const lifecycle = resolvedResource.operations.lifecycle;
164
+ if (lifecycle.read && lifecycle.read.length > 0) {
165
+ for (const readOp of lifecycle.read) {
166
+ const methodId = getMethodIdFromOperation(sdkContext, readOp.operation);
167
+ if (methodId) {
168
+ methods.push({
169
+ methodId,
170
+ kind: ResourceOperationKind.Read,
171
+ operationPath: readOp.path,
172
+ operationScope: resourceScope,
173
+ resourceScope: resolvedResource.resourceInstancePath
174
+ });
175
+ // Use the first read operation's path as the resource ID pattern
176
+ if (!resourceIdPattern) {
177
+ resourceIdPattern = readOp.path;
178
+ }
179
+ }
180
+ }
181
+ }
182
+ if (lifecycle.createOrUpdate && lifecycle.createOrUpdate.length > 0) {
183
+ for (const createOp of lifecycle.createOrUpdate) {
184
+ const methodId = getMethodIdFromOperation(sdkContext, createOp.operation);
185
+ if (methodId) {
186
+ methods.push({
187
+ methodId,
188
+ kind: ResourceOperationKind.Create,
189
+ operationPath: createOp.path,
190
+ operationScope: resourceScope,
191
+ resourceScope: resolvedResource.resourceInstancePath
192
+ });
193
+ }
194
+ }
195
+ }
196
+ if (lifecycle.update && lifecycle.update.length > 0) {
197
+ for (const updateOp of lifecycle.update) {
198
+ const methodId = getMethodIdFromOperation(sdkContext, updateOp.operation);
199
+ if (methodId) {
200
+ methods.push({
201
+ methodId,
202
+ kind: ResourceOperationKind.Update,
203
+ operationPath: updateOp.path,
204
+ operationScope: resourceScope,
205
+ resourceScope: resolvedResource.resourceInstancePath
206
+ });
207
+ }
208
+ }
209
+ }
210
+ if (lifecycle.delete && lifecycle.delete.length > 0) {
211
+ for (const deleteOp of lifecycle.delete) {
212
+ const methodId = getMethodIdFromOperation(sdkContext, deleteOp.operation);
213
+ if (methodId) {
214
+ methods.push({
215
+ methodId,
216
+ kind: ResourceOperationKind.Delete,
217
+ operationPath: deleteOp.path,
218
+ operationScope: resourceScope,
219
+ resourceScope: resolvedResource.resourceInstancePath
220
+ });
221
+ }
222
+ }
223
+ }
224
+ }
225
+ // Convert list operations
226
+ if (resolvedResource.operations.lists) {
227
+ for (const listOp of resolvedResource.operations.lists) {
228
+ const methodId = getMethodIdFromOperation(sdkContext, listOp.operation);
229
+ if (methodId) {
230
+ methods.push({
231
+ methodId,
232
+ kind: ResourceOperationKind.List,
233
+ operationPath: listOp.path,
234
+ // TODO: resolveArmResources is not returning the operation scope for list operations, so we calculate it from the path.
235
+ operationScope: getOperationScopeFromPath(listOp.path),
236
+ // TODO: resolveArmResources is not returning the resource scope for list operations, so this should be populated later.
237
+ resourceScope: undefined
238
+ });
239
+ }
240
+ }
241
+ }
242
+ // Convert action operations
243
+ if (resolvedResource.operations.actions) {
244
+ for (const actionOp of resolvedResource.operations.actions) {
245
+ const methodId = getMethodIdFromOperation(sdkContext, actionOp.operation);
246
+ if (methodId) {
247
+ methods.push({
248
+ methodId,
249
+ kind: ResourceOperationKind.Action,
250
+ operationPath: actionOp.path,
251
+ operationScope: resourceScope,
252
+ resourceScope: resolvedResource.resourceInstancePath
253
+ });
254
+ }
255
+ }
256
+ }
257
+ // Convert resource scope
258
+ const resourceScopeValue = convertScopeToResourceScope(resolvedResource.scope);
259
+ // Build resource type string
260
+ const resourceType = formatResourceType(resolvedResource.resourceType);
261
+ return {
262
+ // we only assign resourceIdPattern when this resource has a read operation, otherwise this is empty
263
+ resourceIdPattern: resourceIdPattern,
264
+ resourceType,
265
+ methods,
266
+ resourceScope: resourceScopeValue,
267
+ parentResourceId: undefined,
268
+ parentResourceModelId: undefined,
269
+ // TODO: Temporary - waiting for resolveArmResources API update to include singleton information
270
+ // Once the API includes this, we can remove this extraction logic
271
+ singletonResourceName: extractSingletonName(resolvedResource.resourceInstancePath),
272
+ resourceName: resolvedResource.resourceName
273
+ };
274
+ }
275
+ /**
276
+ * Get method ID (cross-language definition ID) from an Operation.
277
+ * Uses TCGC's getCrossLanguageDefinitionId utility directly.
278
+ */
279
+ function getMethodIdFromOperation(sdkContext, operation) {
280
+ // Use TCGC's utility to get the cross-language definition ID directly
281
+ // CSharpEmitterContext extends SdkContext which extends TCGCContext
282
+ return getCrossLanguageDefinitionId(sdkContext, operation);
283
+ }
284
+ /**
285
+ * Convert scope string/object to ResourceScope enum
286
+ */
287
+ function convertScopeToResourceScope(scope) {
288
+ if (!scope) {
289
+ // TODO: does it make sense that we have something without scope??
290
+ return ResourceScope.ResourceGroup; // Default
291
+ }
292
+ if (typeof scope === "string") {
293
+ switch (scope) {
294
+ case "Tenant":
295
+ return ResourceScope.Tenant;
296
+ case "Subscription":
297
+ return ResourceScope.Subscription;
298
+ case "ResourceGroup":
299
+ return ResourceScope.ResourceGroup;
300
+ case "ManagementGroup":
301
+ return ResourceScope.ManagementGroup;
302
+ case "Scope":
303
+ case "ExternalResource":
304
+ return ResourceScope.Extension;
305
+ default:
306
+ return ResourceScope.ResourceGroup;
307
+ }
308
+ }
309
+ // TODO: Schema update needed - when scope is a ResolvedResource (extension resource),
310
+ // our schema needs to support representing the specific parent resource, not just "Extension"
311
+ // If scope is a ResolvedResource, it's an extension resource
312
+ return ResourceScope.Extension;
313
+ }
314
+ /**
315
+ * Determine operation scope from path
316
+ */
317
+ function getOperationScopeFromPath(path) {
318
+ if (path.startsWith("/{resourceUri}") || path.startsWith("/{scope}")) {
319
+ return ResourceScope.Extension;
320
+ }
321
+ else if (path.startsWith("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/")) {
322
+ return ResourceScope.ResourceGroup;
323
+ }
324
+ else if (path.startsWith("/subscriptions/{subscriptionId}/")) {
325
+ return ResourceScope.Subscription;
326
+ }
327
+ else if (path.startsWith("/providers/Microsoft.Management/managementGroups/{managementGroupId}/")) {
328
+ return ResourceScope.ManagementGroup;
329
+ }
330
+ return ResourceScope.Tenant;
331
+ }
332
+ /**
333
+ * Format ResourceType to a string
334
+ */
335
+ function formatResourceType(resourceType) {
336
+ return `${resourceType.provider}/${resourceType.types.join("/")}`;
337
+ }
338
+ /**
339
+ * Extract singleton resource name from path if it exists
340
+ */
341
+ function extractSingletonName(path) {
342
+ // Check if the path ends with a fixed string instead of a parameter
343
+ const segments = path.split("/").filter(s => s.length > 0);
344
+ const lastSegment = segments[segments.length - 1];
345
+ // If the last segment is not a parameter (doesn't start with {), it's a singleton
346
+ if (lastSegment && !lastSegment.startsWith("{")) {
347
+ return lastSegment;
348
+ }
349
+ return undefined;
350
+ }
351
+ function canBeListResourceScope(listPathSegments, resourceInstancePathSegments) {
352
+ // Check if resourceInstancePath is a prefix of listPath
353
+ if (listPathSegments.length < resourceInstancePathSegments.length) {
354
+ return false;
355
+ }
356
+ for (let i = 0; i < resourceInstancePathSegments.length; i++) {
357
+ // if both segments are variables, we consider it as a match
358
+ if (listPathSegments[i].startsWith("{") && resourceInstancePathSegments[i].startsWith("{")) {
359
+ continue;
360
+ }
361
+ // if one of them is a variable, the other is not, we consider it as not a match
362
+ if (listPathSegments[i].startsWith("{") || resourceInstancePathSegments[i].startsWith("{")) {
363
+ return false;
364
+ }
365
+ // both are fixed strings, they must match
366
+ if (listPathSegments[i] !== resourceInstancePathSegments[i]) {
367
+ return false;
368
+ }
369
+ }
370
+ // here it means every segment in listPath matches the corresponding segment in resourceInstancePath
371
+ return true;
372
+ }
373
+ //# sourceMappingURL=resolve-arm-resources-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-arm-resources-converter.js","sourceRoot":"","sources":["../../emitter/src/resolve-arm-resources-converter.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,15 @@ import { CodeModel, CSharpEmitterContext, InputClient } from "@typespec/http-cli
2
2
  import { ArmProviderSchema } from "./resource-metadata.js";
3
3
  import { SdkClientType, SdkContext, SdkHttpOperation, SdkServiceOperation } from "@azure-tools/typespec-client-generator-core";
4
4
  import { AzureEmitterOptions } from "@azure-typespec/http-client-csharp";
5
- export declare function updateClients(codeModel: CodeModel, sdkContext: CSharpEmitterContext): Promise<void>;
5
+ import { AzureMgmtEmitterOptions } from "./options.js";
6
+ export declare function updateClients(codeModel: CodeModel, sdkContext: CSharpEmitterContext, options: AzureMgmtEmitterOptions): Promise<void>;
6
7
  /**
7
8
  * Builds the ARM provider schema by detecting all resources and non-resource methods.
8
9
  * This is the main function that gathers all ARM-related information from the code model
9
10
  * and consolidates it into a unified ArmProviderSchema structure.
10
11
  *
11
12
  * This function is exported for testing purposes and can be called directly from tests
12
- * to validate the schema structure.
13
+ * to validate the schema structure using the legacy custom resource detection logic.
13
14
  *
14
15
  * @param sdkContext - The emitter context
15
16
  * @param codeModel - The code model to analyze
@@ -1 +1 @@
1
- {"version":3,"file":"resource-detection.d.ts","sourceRoot":"","sources":["../../emitter/src/resource-detection.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,WAAW,EAEZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAOL,iBAAiB,EAGlB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,aAAa,EACb,UAAU,EACV,gBAAgB,EAGhB,mBAAmB,EACpB,MAAM,6CAA6C,CAAC;AAwBrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,wBAAsB,aAAa,CACjC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,oBAAoB,iBAKjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,oBAAoB,EAChC,SAAS,EAAE,SAAS,GACnB,iBAAiB,CAiVnB;AA0SD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,UAAU,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,GAC5D,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAOtC;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,EAAE,CAOjE"}
1
+ {"version":3,"file":"resource-detection.d.ts","sourceRoot":"","sources":["../../emitter/src/resource-detection.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,WAAW,EAEZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAOL,iBAAiB,EAGlB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,aAAa,EACb,UAAU,EACV,gBAAgB,EAGhB,mBAAmB,EACpB,MAAM,6CAA6C,CAAC;AAwBrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEvD,wBAAsB,aAAa,CACjC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,oBAAoB,EAChC,OAAO,EAAE,uBAAuB,iBAQjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,oBAAoB,EAChC,SAAS,EAAE,SAAS,GACnB,iBAAiB,CA4UnB;AA8SD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,UAAU,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,GAC5D,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAOtC;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,EAAE,CAOjE"}
@@ -5,9 +5,12 @@ import { getClientType } from "@azure-tools/typespec-client-generator-core";
5
5
  import pluralize from "pluralize";
6
6
  import { armProviderSchema, armResourceActionName, armResourceCreateOrUpdateName, armResourceDeleteName, armResourceInternal, armResourceListName, armResourceReadName, armResourceUpdateName, armResourceWithParameter, extensionResourceOperationName, legacyExtensionResourceOperationName, legacyResourceOperationName, builtInResourceOperationName, parentResourceName, readsResourceName, resourceGroupResource, singleton, subscriptionResource, tenantResource } from "./sdk-context-options.js";
7
7
  import { NoTarget } from "@typespec/compiler";
8
- export async function updateClients(codeModel, sdkContext) {
9
- // Build the unified ARM provider schema and apply it to the root client
10
- const armProviderSchema = buildArmProviderSchema(sdkContext, codeModel);
8
+ import { resolveArmResources } from "./resolve-arm-resources-converter.js";
9
+ export async function updateClients(codeModel, sdkContext, options) {
10
+ // Check if the use-legacy-resource-detection flag is disabled (i.e., use new resolveArmResources API)
11
+ const armProviderSchema = options?.["use-legacy-resource-detection"] === false
12
+ ? resolveArmResources(sdkContext.program, sdkContext)
13
+ : buildArmProviderSchema(sdkContext, codeModel);
11
14
  applyArmProviderSchemaDecorator(codeModel, armProviderSchema);
12
15
  }
13
16
  /**
@@ -16,13 +19,14 @@ export async function updateClients(codeModel, sdkContext) {
16
19
  * and consolidates it into a unified ArmProviderSchema structure.
17
20
  *
18
21
  * This function is exported for testing purposes and can be called directly from tests
19
- * to validate the schema structure.
22
+ * to validate the schema structure using the legacy custom resource detection logic.
20
23
  *
21
24
  * @param sdkContext - The emitter context
22
25
  * @param codeModel - The code model to analyze
23
26
  * @returns The unified ARM provider schema containing all resources and non-resource methods
24
27
  */
25
28
  export function buildArmProviderSchema(sdkContext, codeModel) {
29
+ // Use the existing custom resource detection logic
26
30
  const serviceMethods = new Map(getAllSdkClients(sdkContext)
27
31
  .flatMap((c) => c.methods)
28
32
  .map((obj) => [obj.crossLanguageDefinitionId, obj]));
@@ -44,9 +48,10 @@ export function buildArmProviderSchema(sdkContext, codeModel) {
44
48
  // Process methods in two passes to ensure CRUD operations establish resource paths first
45
49
  // This allows non-CRUD operations (like List) to find existing resource paths regardless of operation order
46
50
  // Helper function to process a method and add it to the resource metadata
51
+ // the method type uses any here because its real type `InputServiceMethod` is not exported by MTG's emitter
47
52
  const processMethod = (client, method) => {
48
53
  const serviceMethod = serviceMethods.get(method.crossLanguageDefinitionId);
49
- const [kind, modelId, explicitResourceName] = parseResourceOperation(serviceMethod, sdkContext) ?? [];
54
+ const { kind, modelId, explicitResourceName } = parseResourceOperation(serviceMethod, sdkContext);
50
55
  if (modelId && kind && resourceModelIds.has(modelId)) {
51
56
  // Determine the resource path from the CRUD operation
52
57
  let resourcePath = "";
@@ -128,16 +133,8 @@ export function buildArmProviderSchema(sdkContext, codeModel) {
128
133
  entry.resourceIdPattern = method.operation.path;
129
134
  }
130
135
  }
131
- else if (modelId && kind) {
132
- // no resource model found for this modelId, treat as non-resource method
133
- nonResourceMethods.set(method.crossLanguageDefinitionId, {
134
- methodId: method.crossLanguageDefinitionId,
135
- operationPath: method.operation.path,
136
- operationScope: getOperationScope(method.operation.path)
137
- });
138
- }
139
136
  else {
140
- // we add a methodMetadata decorator to this method
137
+ // we treat this method as a non-resource method when it does not have a kind or an associated resource model
141
138
  nonResourceMethods.set(method.crossLanguageDefinitionId, {
142
139
  methodId: method.crossLanguageDefinitionId,
143
140
  operationPath: method.operation.path,
@@ -149,7 +146,7 @@ export function buildArmProviderSchema(sdkContext, codeModel) {
149
146
  for (const client of clients) {
150
147
  for (const method of client.methods) {
151
148
  const serviceMethod = serviceMethods.get(method.crossLanguageDefinitionId);
152
- const [kind] = parseResourceOperation(serviceMethod, sdkContext) ?? [];
149
+ const { kind } = parseResourceOperation(serviceMethod, sdkContext);
153
150
  // Only process CRUD operations in the first pass
154
151
  if (kind && isCRUDKind(kind)) {
155
152
  processMethod(client, method);
@@ -160,7 +157,7 @@ export function buildArmProviderSchema(sdkContext, codeModel) {
160
157
  for (const client of clients) {
161
158
  for (const method of client.methods) {
162
159
  const serviceMethod = serviceMethods.get(method.crossLanguageDefinitionId);
163
- const [kind] = parseResourceOperation(serviceMethod, sdkContext) ?? [];
160
+ const { kind } = parseResourceOperation(serviceMethod, sdkContext);
164
161
  // Only process non-CRUD operations in the second pass
165
162
  if (kind && !isCRUDKind(kind)) {
166
163
  processMethod(client, method);
@@ -195,7 +192,7 @@ export function buildArmProviderSchema(sdkContext, codeModel) {
195
192
  for (const [otherKey, otherMetadata] of resourcePathToMetadataMap) {
196
193
  if (otherKey !== metadataKey && otherMetadata.resourceIdPattern) {
197
194
  // Check if this resource's path starts with the other resource's path
198
- // e.g., "/providers/MgmtTypeSpec/bestPractices/{name}/versions/{versionName}"
195
+ // e.g., "/providers/MgmtTypeSpec/bestPractices/{name}/versions/{versionName}"
199
196
  // is a child of "/providers/MgmtTypeSpec/bestPractices/{name}"
200
197
  const thisPath = metadata.resourceIdPattern;
201
198
  const potentialParentPath = otherMetadata.resourceIdPattern;
@@ -319,166 +316,166 @@ function parseResourceOperation(serviceMethod, sdkContext) {
319
316
  switch (decorator.definition?.name) {
320
317
  case readsResourceName:
321
318
  case armResourceReadName:
322
- return [
323
- ResourceOperationKind.Read,
324
- getResourceModelId(sdkContext, decorator),
325
- undefined // No explicit resource name for ARM operations
326
- ];
319
+ return {
320
+ kind: ResourceOperationKind.Read,
321
+ modelId: getResourceModelId(sdkContext, decorator),
322
+ explicitResourceName: undefined // No explicit resource name for ARM operations
323
+ };
327
324
  case armResourceCreateOrUpdateName:
328
- return [
329
- ResourceOperationKind.Create,
330
- getResourceModelId(sdkContext, decorator),
331
- undefined
332
- ];
325
+ return {
326
+ kind: ResourceOperationKind.Create,
327
+ modelId: getResourceModelId(sdkContext, decorator),
328
+ explicitResourceName: undefined
329
+ };
333
330
  case armResourceUpdateName:
334
- return [
335
- ResourceOperationKind.Update,
336
- getResourceModelId(sdkContext, decorator),
337
- undefined
338
- ];
331
+ return {
332
+ kind: ResourceOperationKind.Update,
333
+ modelId: getResourceModelId(sdkContext, decorator),
334
+ explicitResourceName: undefined
335
+ };
339
336
  case armResourceDeleteName:
340
- return [
341
- ResourceOperationKind.Delete,
342
- getResourceModelId(sdkContext, decorator),
343
- undefined
344
- ];
337
+ return {
338
+ kind: ResourceOperationKind.Delete,
339
+ modelId: getResourceModelId(sdkContext, decorator),
340
+ explicitResourceName: undefined
341
+ };
345
342
  case armResourceListName:
346
- return [
347
- ResourceOperationKind.List,
348
- getResourceModelId(sdkContext, decorator),
349
- undefined
350
- ];
343
+ return {
344
+ kind: ResourceOperationKind.List,
345
+ modelId: getResourceModelId(sdkContext, decorator),
346
+ explicitResourceName: undefined
347
+ };
351
348
  case armResourceActionName:
352
- return [
353
- ResourceOperationKind.Action,
354
- getResourceModelId(sdkContext, decorator),
355
- undefined
356
- ];
349
+ return {
350
+ kind: ResourceOperationKind.Action,
351
+ modelId: getResourceModelId(sdkContext, decorator),
352
+ explicitResourceName: undefined
353
+ };
357
354
  case extensionResourceOperationName:
358
355
  switch (decorator.args[2].jsValue) {
359
356
  case "read":
360
- return [
361
- ResourceOperationKind.Read,
362
- getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
363
- undefined
364
- ];
357
+ return {
358
+ kind: ResourceOperationKind.Read,
359
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
360
+ explicitResourceName: undefined
361
+ };
365
362
  case "createOrUpdate":
366
- return [
367
- ResourceOperationKind.Create,
368
- getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
369
- undefined
370
- ];
363
+ return {
364
+ kind: ResourceOperationKind.Create,
365
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
366
+ explicitResourceName: undefined
367
+ };
371
368
  case "update":
372
- return [
373
- ResourceOperationKind.Update,
374
- getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
375
- undefined
376
- ];
369
+ return {
370
+ kind: ResourceOperationKind.Update,
371
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
372
+ explicitResourceName: undefined
373
+ };
377
374
  case "delete":
378
- return [
379
- ResourceOperationKind.Delete,
380
- getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
381
- undefined
382
- ];
375
+ return {
376
+ kind: ResourceOperationKind.Delete,
377
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
378
+ explicitResourceName: undefined
379
+ };
383
380
  case "list":
384
- return [
385
- ResourceOperationKind.List,
386
- getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
387
- undefined
388
- ];
381
+ return {
382
+ kind: ResourceOperationKind.List,
383
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
384
+ explicitResourceName: undefined
385
+ };
389
386
  case "action":
390
- return [
391
- ResourceOperationKind.Action,
392
- getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
393
- undefined
394
- ];
387
+ return {
388
+ kind: ResourceOperationKind.Action,
389
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
390
+ explicitResourceName: undefined
391
+ };
395
392
  }
396
393
  break;
397
394
  case legacyExtensionResourceOperationName:
398
395
  case legacyResourceOperationName:
399
396
  switch (decorator.args[1].jsValue) {
400
397
  case "read":
401
- return [
402
- ResourceOperationKind.Read,
403
- getResourceModelIdCore(sdkContext, decorator.args[0].value, decorator.definition?.name),
398
+ return {
399
+ kind: ResourceOperationKind.Read,
400
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[0].value, decorator.definition?.name),
404
401
  // Extract the explicit resource name if available (4th parameter in LegacyOperations)
405
- decorator.args.length > 3 ? decorator.args[3].jsValue : undefined
406
- ];
402
+ explicitResourceName: decorator.args.length > 3 ? decorator.args[3].jsValue : undefined
403
+ };
407
404
  case "createOrUpdate":
408
- return [
409
- ResourceOperationKind.Create,
410
- getResourceModelIdCore(sdkContext, decorator.args[0].value, decorator.definition?.name),
411
- decorator.args.length > 3 ? decorator.args[3].jsValue : undefined
412
- ];
405
+ return {
406
+ kind: ResourceOperationKind.Create,
407
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[0].value, decorator.definition?.name),
408
+ explicitResourceName: decorator.args.length > 3 ? decorator.args[3].jsValue : undefined
409
+ };
413
410
  case "update":
414
- return [
415
- ResourceOperationKind.Update,
416
- getResourceModelIdCore(sdkContext, decorator.args[0].value, decorator.definition?.name),
417
- decorator.args.length > 3 ? decorator.args[3].jsValue : undefined
418
- ];
411
+ return {
412
+ kind: ResourceOperationKind.Update,
413
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[0].value, decorator.definition?.name),
414
+ explicitResourceName: decorator.args.length > 3 ? decorator.args[3].jsValue : undefined
415
+ };
419
416
  case "delete":
420
- return [
421
- ResourceOperationKind.Delete,
422
- getResourceModelIdCore(sdkContext, decorator.args[0].value, decorator.definition?.name),
423
- decorator.args.length > 3 ? decorator.args[3].jsValue : undefined
424
- ];
417
+ return {
418
+ kind: ResourceOperationKind.Delete,
419
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[0].value, decorator.definition?.name),
420
+ explicitResourceName: decorator.args.length > 3 ? decorator.args[3].jsValue : undefined
421
+ };
425
422
  case "list":
426
- return [
427
- ResourceOperationKind.List,
428
- getResourceModelIdCore(sdkContext, decorator.args[0].value, decorator.definition?.name),
429
- decorator.args.length > 3 ? decorator.args[3].jsValue : undefined
430
- ];
423
+ return {
424
+ kind: ResourceOperationKind.List,
425
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[0].value, decorator.definition?.name),
426
+ explicitResourceName: decorator.args.length > 3 ? decorator.args[3].jsValue : undefined
427
+ };
431
428
  case "action":
432
- return [
433
- ResourceOperationKind.Action,
434
- getResourceModelIdCore(sdkContext, decorator.args[0].value, decorator.definition?.name),
435
- decorator.args.length > 3 ? decorator.args[3].jsValue : undefined
436
- ];
429
+ return {
430
+ kind: ResourceOperationKind.Action,
431
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[0].value, decorator.definition?.name),
432
+ explicitResourceName: decorator.args.length > 3 ? decorator.args[3].jsValue : undefined
433
+ };
437
434
  }
438
- return undefined;
435
+ return {};
439
436
  case builtInResourceOperationName:
440
437
  switch (decorator.args[2].jsValue) {
441
438
  case "read":
442
- return [
443
- ResourceOperationKind.Read,
444
- getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
445
- undefined
446
- ];
439
+ return {
440
+ kind: ResourceOperationKind.Read,
441
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
442
+ explicitResourceName: undefined
443
+ };
447
444
  case "createOrUpdate":
448
- return [
449
- ResourceOperationKind.Create,
450
- getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
451
- undefined
452
- ];
445
+ return {
446
+ kind: ResourceOperationKind.Create,
447
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
448
+ explicitResourceName: undefined
449
+ };
453
450
  case "update":
454
- return [
455
- ResourceOperationKind.Update,
456
- getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
457
- undefined
458
- ];
451
+ return {
452
+ kind: ResourceOperationKind.Update,
453
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
454
+ explicitResourceName: undefined
455
+ };
459
456
  case "delete":
460
- return [
461
- ResourceOperationKind.Delete,
462
- getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
463
- undefined
464
- ];
457
+ return {
458
+ kind: ResourceOperationKind.Delete,
459
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
460
+ explicitResourceName: undefined
461
+ };
465
462
  case "list":
466
- return [
467
- ResourceOperationKind.List,
468
- getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
469
- undefined
470
- ];
463
+ return {
464
+ kind: ResourceOperationKind.List,
465
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
466
+ explicitResourceName: undefined
467
+ };
471
468
  case "action":
472
- return [
473
- ResourceOperationKind.Action,
474
- getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
475
- undefined
476
- ];
469
+ return {
470
+ kind: ResourceOperationKind.Action,
471
+ modelId: getResourceModelIdCore(sdkContext, decorator.args[1].value, decorator.definition?.name),
472
+ explicitResourceName: undefined
473
+ };
477
474
  }
478
- return undefined;
475
+ return {};
479
476
  }
480
477
  }
481
- return undefined;
478
+ return {};
482
479
  }
483
480
  function getParentResourceModelId(sdkContext, model) {
484
481
  const decorators = model?.__raw?.decorators;
@@ -1 +1 @@
1
- {"version":3,"file":"resource-detection.js","sourceRoot":"","sources":["../../emitter/src/resource-detection.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,+FAA+F;AAQ/F,OAAO,EACL,6BAA6B,EAI7B,qBAAqB,EACrB,aAAa,EAGb,mCAAmC,EACpC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,aAAa,EAOd,MAAM,6CAA6C,CAAC;AACrD,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,6BAA6B,EAC7B,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,8BAA8B,EAC9B,oCAAoC,EACpC,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,SAAS,EACT,oBAAoB,EACpB,cAAc,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAA+B,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG3E,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAoB,EACpB,UAAgC;IAEhC,wEAAwE;IACxE,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACxE,+BAA+B,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAgC,EAChC,SAAoB;IAEpB,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,gBAAgB,CAAC,UAAU,CAAC;SACzB,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SACzB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC,CACtD,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAC1E,CAAC;IACF,MAAM,cAAc,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAC5D,CAAC;IAEF,wEAAwE;IACxE,kFAAkF;IAClF,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEtE,2EAA2E;IAC3E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAE/F,4EAA4E;IAC5E,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3D,mGAAmG;IACnG,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE7D,MAAM,kBAAkB,GAAmC,IAAI,GAAG,EAAE,CAAC;IAErE,0DAA0D;IAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAEzC,yFAAyF;IACzF,4GAA4G;IAE5G,0EAA0E;IAC1E,MAAM,aAAa,GAAG,CAAC,MAAmB,EAAE,MAAW,EAAE,EAAE;QACzD,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CACtC,MAAM,CAAC,yBAAyB,CACjC,CAAC;QACF,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,oBAAoB,CAAC,GACzC,sBAAsB,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;QAE1D,IAAI,OAAO,IAAI,IAAI,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,sDAAsD;YACtD,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,kGAAkG;gBAClG,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC5C,KAAK,MAAM,CAAC,WAAW,CAAC,IAAI,yBAAyB,EAAE,CAAC;oBACtD,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC/D,sCAAsC;oBACtC,IAAI,eAAe,KAAK,OAAO,IAAI,YAAY,EAAE,CAAC;wBAChD,+CAA+C;wBAC/C,uDAAuD;wBACvD,MAAM,oBAAoB,GAAG,6BAA6B,CAAC,YAAY,CAAC,CAAC;wBACzE,IAAI,qBAAqB,GAAG,EAAE,CAAC;wBAC/B,IAAI,CAAC;4BACH,qBAAqB,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;wBACvE,CAAC;wBAAC,MAAM,CAAC;4BACP,2DAA2D;wBAC7D,CAAC;wBAED,wEAAwE;wBACxE,IAAI,oBAAoB,IAAI,qBAAqB,KAAK,oBAAoB,EAAE,CAAC;4BAC3E,YAAY,GAAG,YAAY,CAAC;4BAC5B,MAAM;wBACR,CAAC;wBAED,2FAA2F;wBAC3F,MAAM,kBAAkB,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;wBACpF,IAAI,aAAa,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;4BACjD,YAAY,GAAG,YAAY,CAAC;4BAC5B,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,4CAA4C;gBAC5C,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,YAAY,GAAG,aAAa,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,2DAA2D;YAC3D,MAAM,WAAW,GAAG,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC;YAEjD,0FAA0F;YAC1F,IAAI,oBAAoB,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACzE,0BAA0B,CAAC,GAAG,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;YACpE,CAAC;YAED,sDAAsD;YACtD,IAAI,KAAK,GAAG,yBAAyB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5C,4FAA4F;gBAC5F,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/C,wBAAwB,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACzD,CAAC;gBAED,KAAK,GAAG;oBACN,iBAAiB,EAAE,EAAE,EAAE,+BAA+B;oBACtD,YAAY,EAAE,EAAE,EAAE,+BAA+B;oBACjD,qBAAqB,EAAE,oBAAoB,CACzC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CACpD;oBACD,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE,sFAAsF;oBAC3H,OAAO,EAAE,EAAE;oBACX,gBAAgB,EAAE,SAAS,EAAE,+BAA+B;oBAC5D,qBAAqB,EAAE,SAAS;oBAChC,2EAA2E;oBAC3E,YAAY,EAAE,KAAK,EAAE,IAAI,IAAI,SAAS;iBACnB,CAAC;gBACtB,yBAAyB,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;YAED,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACjB,QAAQ,EAAE,MAAM,CAAC,yBAAyB;gBAC1C,IAAI;gBACJ,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI;gBACpC,cAAc,EAAE,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;aACzD,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBACxB,KAAK,CAAC,YAAY,GAAG,6BAA6B,CAChD,MAAM,CAAC,SAAS,CAAC,IAAI,CACtB,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,KAAK,CAAC,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YAClD,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,yEAAyE;YACzE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,yBAAyB,EAAE;gBACvD,QAAQ,EAAE,MAAM,CAAC,yBAAyB;gBAC1C,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI;gBACpC,cAAc,EAAE,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;aACzD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,mDAAmD;YACnD,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,yBAAyB,EAAE;gBACvD,QAAQ,EAAE,MAAM,CAAC,yBAAyB;gBAC1C,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI;gBACpC,cAAc,EAAE,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;aACzD,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,kEAAkE;IAClE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CACtC,MAAM,CAAC,yBAAyB,CACjC,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;YAEvE,iDAAiD;YACjD,IAAI,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,kGAAkG;IAClG,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CACtC,MAAM,CAAC,yBAAyB,CACjC,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;YAEvE,sDAAsD;YACtD,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChC,CAAC;iBAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBACjB,oDAAoD;gBACpD,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,iIAAiI;IACjI,KAAK,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,yBAAyB,EAAE,CAAC;QAChE,iEAAiE;QACjE,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1C,+BAA+B;QAC/B,MAAM,qBAAqB,GAAG,wBAAwB,CACpD,UAAU,EACV,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CACpB,CAAC;QACF,IAAI,qBAAqB,EAAE,CAAC;YAC1B,yFAAyF;YACzF,KAAK,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,yBAAyB,EAAE,CAAC;gBACpE,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,aAAa,KAAK,qBAAqB,IAAI,cAAc,CAAC,iBAAiB,EAAE,CAAC;oBAChF,QAAQ,CAAC,gBAAgB,GAAG,cAAc,CAAC,iBAAiB,CAAC;oBAC7D,QAAQ,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;oBACvD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,uHAAuH;QACvH,iGAAiG;QACjG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC7D,sEAAsE;YACtE,KAAK,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,yBAAyB,EAAE,CAAC;gBAClE,IAAI,QAAQ,KAAK,WAAW,IAAI,aAAa,CAAC,iBAAiB,EAAE,CAAC;oBAChE,sEAAsE;oBACtE,+EAA+E;oBAC/E,+DAA+D;oBAC/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC;oBAC5C,MAAM,mBAAmB,GAAG,aAAa,CAAC,iBAAiB,CAAC;oBAE5D,qEAAqE;oBACrE,IAAI,QAAQ,CAAC,UAAU,CAAC,mBAAmB,GAAG,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvG,QAAQ,CAAC,gBAAgB,GAAG,mBAAmB,CAAC;wBAChD,gFAAgF;wBAChF,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,uDAAuD;QACvD,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtC,MAAM,CAAC,aAAa,GAAG,wBAAwB,CAC7C,MAAM,CAAC,aAAa,EACpB,yBAAyB,CAAC,MAAM,EAAE,CACnC,CAAC;QACJ,CAAC;QAED,oLAAoL;QACpL,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,KAAK,EAAE,CAAC;YACV,QAAQ,CAAC,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,iIAAiI;IACjI,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,yBAAyB,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1C,0GAA0G;QAC1G,IAAI,QAAQ,CAAC,iBAAiB,KAAK,EAAE,EAAE,CAAC;YACtC,IAAI,MAAM,GAAG,KAAK,CAAC;YAEnB,8CAA8C;YAC9C,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC;gBACnC,KAAK,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,yBAAyB,EAAE,CAAC;oBACpE,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9C,IAAI,aAAa,KAAK,QAAQ,CAAC,qBAAqB,IAAI,cAAc,CAAC,iBAAiB,EAAE,CAAC;wBACzF,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;wBACjD,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBACvC,MAAM,GAAG,IAAI,CAAC;wBACd,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,oFAAoF;gBACpF,KAAK,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,yBAAyB,EAAE,CAAC;oBAClE,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5C,IAAI,QAAQ,KAAK,WAAW,IAAI,YAAY,KAAK,OAAO,IAAI,aAAa,CAAC,iBAAiB,EAAE,CAAC;wBAC5F,yCAAyC;wBACzC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAChD,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBACvC,MAAM,GAAG,IAAI,CAAC;wBACd,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,mGAAmG;gBACnG,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;wBACtC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE;4BACtC,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,aAAa,EAAE,MAAM,CAAC,aAAa;4BACnC,cAAc,EAAE,MAAM,CAAC,cAAc;yBACtC,CAAC,CAAC;oBACL,CAAC;oBACD,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACvC,yBAAyB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,yDAAyD;IACzD,oFAAoF;IACpF,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAA8B,CAAC;IACpE,KAAK,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,yBAAyB,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,gHAAgH;IAChH,+GAA+G;IAC/G,kGAAkG;IAClG,KAAK,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,qBAAqB,EAAE,CAAC;QAC5D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,8FAA8F;YAC9F,KAAK,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,yBAAyB,EAAE,CAAC;gBAChE,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;oBAC3B,kGAAkG;oBAClG,MAAM,YAAY,GAAG,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACjE,IAAI,YAAY,EAAE,CAAC;wBACjB,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;oBACvC,CAAC;yBAAM,CAAC;wBACN,6DAA6D;wBAC7D,MAAM,UAAU,GAAG,wBAAwB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBAC7D,IAAI,UAAU,EAAE,CAAC;4BACf,QAAQ,CAAC,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;wBACzD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,6FAA6F;IAC/F,CAAC;IAED,OAAO,2CAA2C,CAChD,UAAU,EACV,cAAc,EACd,yBAAyB,EACzB,kBAAkB,CACnB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAA2B;IAC7C,OAAO;QACL,qBAAqB,CAAC,IAAI;QAC1B,qBAAqB,CAAC,MAAM;QAC5B,qBAAqB,CAAC,MAAM;QAC5B,qBAAqB,CAAC,MAAM;KAC7B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAC7B,aAAsD,EACtD,UAAgC;IAEhC,MAAM,UAAU,GAAG,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC;IACpD,KAAK,MAAM,SAAS,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;QACzC,QAAQ,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;YACnC,KAAK,iBAAiB,CAAC;YACvB,KAAK,mBAAmB;gBACtB,OAAO;oBACL,qBAAqB,CAAC,IAAI;oBAC1B,kBAAkB,CAAC,UAAU,EAAE,SAAS,CAAC;oBACzC,SAAS,CAAC,+CAA+C;iBAC1D,CAAC;YACJ,KAAK,6BAA6B;gBAChC,OAAO;oBACL,qBAAqB,CAAC,MAAM;oBAC5B,kBAAkB,CAAC,UAAU,EAAE,SAAS,CAAC;oBACzC,SAAS;iBACV,CAAC;YACJ,KAAK,qBAAqB;gBACxB,OAAO;oBACL,qBAAqB,CAAC,MAAM;oBAC5B,kBAAkB,CAAC,UAAU,EAAE,SAAS,CAAC;oBACzC,SAAS;iBACV,CAAC;YACJ,KAAK,qBAAqB;gBACxB,OAAO;oBACL,qBAAqB,CAAC,MAAM;oBAC5B,kBAAkB,CAAC,UAAU,EAAE,SAAS,CAAC;oBACzC,SAAS;iBACV,CAAC;YACJ,KAAK,mBAAmB;gBACtB,OAAO;oBACL,qBAAqB,CAAC,IAAI;oBAC1B,kBAAkB,CAAC,UAAU,EAAE,SAAS,CAAC;oBACzC,SAAS;iBACV,CAAC;YACJ,KAAK,qBAAqB;gBACxB,OAAO;oBACL,qBAAqB,CAAC,MAAM;oBAC5B,kBAAkB,CAAC,UAAU,EAAE,SAAS,CAAC;oBACzC,SAAS;iBACV,CAAC;YACJ,KAAK,8BAA8B;gBACjC,QAAQ,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;oBAClC,KAAK,MAAM;wBACT,OAAO;4BACL,qBAAqB,CAAC,IAAI;4BAC1B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,SAAS;yBACV,CAAC;oBACJ,KAAK,gBAAgB;wBACnB,OAAO;4BACL,qBAAqB,CAAC,MAAM;4BAC5B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,SAAS;yBACV,CAAC;oBACJ,KAAK,QAAQ;wBACX,OAAO;4BACL,qBAAqB,CAAC,MAAM;4BAC5B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,SAAS;yBACV,CAAC;oBACJ,KAAK,QAAQ;wBACX,OAAO;4BACL,qBAAqB,CAAC,MAAM;4BAC5B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,SAAS;yBACV,CAAC;oBACJ,KAAK,MAAM;wBACT,OAAO;4BACL,qBAAqB,CAAC,IAAI;4BAC1B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,SAAS;yBACV,CAAC;oBACJ,KAAK,QAAQ;wBACX,OAAO;4BACL,qBAAqB,CAAC,MAAM;4BAC5B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,SAAS;yBACV,CAAC;gBACN,CAAC;gBACD,MAAM;YACR,KAAK,oCAAoC,CAAC;YAC1C,KAAK,2BAA2B;gBAC9B,QAAQ,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;oBAClC,KAAK,MAAM;wBACT,OAAO;4BACL,qBAAqB,CAAC,IAAI;4BAC1B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,sFAAsF;4BACtF,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAkB,CAAC,CAAC,CAAC,SAAS;yBAC9E,CAAC;oBACJ,KAAK,gBAAgB;wBACnB,OAAO;4BACL,qBAAqB,CAAC,MAAM;4BAC5B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAkB,CAAC,CAAC,CAAC,SAAS;yBAC9E,CAAC;oBACJ,KAAK,QAAQ;wBACX,OAAO;4BACL,qBAAqB,CAAC,MAAM;4BAC5B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAkB,CAAC,CAAC,CAAC,SAAS;yBAC9E,CAAC;oBACJ,KAAK,QAAQ;wBACX,OAAO;4BACL,qBAAqB,CAAC,MAAM;4BAC5B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAkB,CAAC,CAAC,CAAC,SAAS;yBAC9E,CAAC;oBACJ,KAAK,MAAM;wBACT,OAAO;4BACL,qBAAqB,CAAC,IAAI;4BAC1B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAkB,CAAC,CAAC,CAAC,SAAS;yBAC9E,CAAC;oBACJ,KAAK,QAAQ;wBACX,OAAO;4BACL,qBAAqB,CAAC,MAAM;4BAC5B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAkB,CAAC,CAAC,CAAC,SAAS;yBAC9E,CAAC;gBACN,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,KAAK,4BAA4B;gBAC/B,QAAQ,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;oBAClC,KAAK,MAAM;wBACT,OAAO;4BACL,qBAAqB,CAAC,IAAI;4BAC1B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,SAAS;yBACV,CAAC;oBACJ,KAAK,gBAAgB;wBACnB,OAAO;4BACL,qBAAqB,CAAC,MAAM;4BAC5B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,SAAS;yBACV,CAAC;oBACJ,KAAK,QAAQ;wBACX,OAAO;4BACL,qBAAqB,CAAC,MAAM;4BAC5B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,SAAS;yBACV,CAAC;oBACJ,KAAK,QAAQ;wBACX,OAAO;4BACL,qBAAqB,CAAC,MAAM;4BAC5B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,SAAS;yBACV,CAAC;oBACJ,KAAK,MAAM;wBACT,OAAO;4BACL,qBAAqB,CAAC,IAAI;4BAC1B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,SAAS;yBACV,CAAC;oBACJ,KAAK,QAAQ;wBACX,OAAO;4BACL,qBAAqB,CAAC,MAAM;4BAC5B,sBAAsB,CACpB,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B;4BACD,SAAS;yBACV,CAAC;gBACN,CAAC;gBACD,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAAgC,EAChC,KAA+B;IAE/B,MAAM,UAAU,GAAI,KAAK,EAAE,KAAe,EAAE,UAAU,CAAC;IACvD,MAAM,uBAAuB,GAAG,UAAU,EAAE,IAAI,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,IAAI,kBAAkB,CAChD,CAAC;IACF,OAAO,kBAAkB,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAgC,EAChC,SAAgC;IAEhC,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,OAAO,sBAAsB,CAC3B,UAAU,EACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAc,EAChC,SAAS,CAAC,UAAU,EAAE,IAAI,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,UAAgC,EAChC,cAAqB,EACrB,aAAsB;IAEtB,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,EAAE,cAAc,CAAiB,CAAC;IACxE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,yBAAyB,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACjC,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE;gBACN,OAAO,EAAE,0CAA0C,aAAa,EAAE;aACnE;YACD,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,UAA6D;IAE7D,MAAM,OAAO,GAAyC,EAAE,CAAC;IACzD,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACnD,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAoB;IAChD,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACvC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAA+B,MAAS,EAAE,OAAY;IAC3E,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAoB;IAChD,MAAM,cAAc,GAAqB,EAAE,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,mBAAmB,IAAI,CAAC,CAAC,IAAI,IAAI,wBAAwB,CAAC,EAAE,CAAC;YACvG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,oBAAoB,CAC3B,SAAoC;IAEpC,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,MAAM,iBAAiB,GAAG,SAAS,CAAC,SAAS,CAAC,UAAU,CAE3C,CAAC;IACd,OAAO,iBAAiB,IAAI,SAAS,CAAC;AACxC,CAAC;AACD,SAAS,gBAAgB,CACvB,KAAqB,EACrB,OAA0B;IAE1B,6CAA6C;IAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,IAAI,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,EAAE,CAAC;QACtD,OAAO,aAAa,CAAC,MAAM,CAAC;IAC9B,CAAC;SAAM,IAAI,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,oBAAoB,CAAC,EAAE,CAAC;QACnE,OAAO,aAAa,CAAC,YAAY,CAAC;IACpC,CAAC;SAAM,IAAI,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,qBAAqB,CAAC,EAAE,CAAC;QACpE,OAAO,aAAa,CAAC,aAAa,CAAC;IACrC,CAAC;IAED,yEAAyE;IACzE,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC7E,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC,cAAc,CAAC;QAClC,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC,mGAAmG;AACzI,CAAC;AAED,SAAS,wBAAwB,CAC/B,IAAY,EACZ,SAAwC;IAExC,kHAAkH;IAClH,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,aAAa,IAAI,SAAS,EAAE,CAAC;QACtC,IACE,aAAa,CAAC,iBAAiB;YAC/B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAChD,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,yEAAyE;IACzE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACrE,OAAO,aAAa,CAAC,SAAS,CAAC;IACjC,CAAC;SAAM,IACL,IAAI,CAAC,UAAU,CACb,qEAAqE,CACtE,EACD,CAAC;QACD,OAAO,aAAa,CAAC,aAAa,CAAC;IACrC,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,CAAC,kCAAkC,CAAC,EAAE,CAAC;QAC/D,OAAO,aAAa,CAAC,YAAY,CAAC;IACpC,CAAC;SAAM,IACL,IAAI,CAAC,UAAU,CACb,uEAAuE,CACxE,EACD,CAAC;QACD,OAAO,aAAa,CAAC,eAAe,CAAC;IACvC,CAAC;IACD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,2FAA2F;AAC1H,CAAC;AAED;;;;GAIG;AACH,SAAS,+BAA+B,CACtC,SAAoB,EACpB,MAAyB;IAEzB,oFAAoF;IACpF,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxC,UAAU,CAAC,UAAU,KAAK,EAAE,CAAC;IAC7B,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;QACzB,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,mCAAmC,CAAC,MAAM,CAAC;KACvD,CAAC,CAAC;AACL,CAAC;AAGD;;;;;;;;;;GAUG;AACH,SAAS,2CAA2C,CAClD,UAAgC,EAChC,cAAgC,EAChC,yBAAwD,EACxD,kBAAkD;IAElD,MAAM,SAAS,GAAwB,EAAE,CAAC;IAE1C,+CAA+C;IAC/C,kEAAkE;IAClE,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAA8B,CAAC;IACpE,KAAK,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,yBAAyB,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,0BAA0B;IAC1B,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAChF,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;gBACpC,IAAI,QAAQ,CAAC,iBAAiB,KAAK,EAAE,EAAE,CAAC;oBACtC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC;wBACjC,IAAI,EAAE,iBAAiB;wBACvB,SAAS,EAAE,SAAS;wBACpB,MAAM,EAAE;4BACN,OAAO,EAAE,kDAAkD,KAAK,CAAC,IAAI,GAAG;yBACzE;wBACD,MAAM,EAAE,QAAQ;qBACjB,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,SAAS,CAAC,IAAI,CAAC;oBACb,eAAe,EAAE,KAAK,CAAC,yBAAyB;oBAChD,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"resource-detection.js","sourceRoot":"","sources":["../../emitter/src/resource-detection.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  "compilationOptions": {},
7
7
  "targets": {
8
8
  ".NETCoreApp,Version=v10.0": {
9
- "Azure.Generator.Management/1.0.0-alpha.20251224.1": {
9
+ "Azure.Generator.Management/1.0.0-alpha.20251228.1": {
10
10
  "dependencies": {
11
11
  "Azure.Core": "1.50.0",
12
12
  "Azure.Generator": "1.0.0-alpha.20251215.3",
@@ -622,7 +622,7 @@
622
622
  }
623
623
  },
624
624
  "libraries": {
625
- "Azure.Generator.Management/1.0.0-alpha.20251224.1": {
625
+ "Azure.Generator.Management/1.0.0-alpha.20251228.1": {
626
626
  "type": "project",
627
627
  "serviceable": false,
628
628
  "sha512": ""
@@ -6,7 +6,7 @@
6
6
  "compilationOptions": {},
7
7
  "targets": {
8
8
  ".NETCoreApp,Version=v10.0": {
9
- "Azure.Generator.Management/1.0.0-alpha.20251224.1": {
9
+ "Azure.Generator.Management/1.0.0-alpha.20251228.1": {
10
10
  "dependencies": {
11
11
  "Azure.Core": "1.50.0",
12
12
  "Azure.Generator": "1.0.0-alpha.20251215.3",
@@ -622,7 +622,7 @@
622
622
  }
623
623
  },
624
624
  "libraries": {
625
- "Azure.Generator.Management/1.0.0-alpha.20251224.1": {
625
+ "Azure.Generator.Management/1.0.0-alpha.20251228.1": {
626
626
  "type": "project",
627
627
  "serviceable": false,
628
628
  "sha512": ""
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-typespec/http-client-csharp-mgmt",
3
- "version": "1.0.0-alpha.20251224.1",
3
+ "version": "1.0.0-alpha.20251228.1",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec library for emitting Azure management libraries for C#.",
6
6
  "readme": "https://github.com/Azure/azure-sdk-for-net/blob/main/eng/packages/http-client-csharp-mgmt/README.md",