@actsecurity/iam-lens 0.1.165 → 0.1.167

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 (33) hide show
  1. package/dist/cjs/index.d.ts +1 -1
  2. package/dist/cjs/index.d.ts.map +1 -1
  3. package/dist/cjs/index.js +2 -1
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/simulate/contextKeys.d.ts +4 -0
  6. package/dist/cjs/simulate/contextKeys.d.ts.map +1 -1
  7. package/dist/cjs/simulate/contextKeys.js +5 -3
  8. package/dist/cjs/simulate/contextKeys.js.map +1 -1
  9. package/dist/cjs/simulate/roleSessionTags.d.ts +51 -0
  10. package/dist/cjs/simulate/roleSessionTags.d.ts.map +1 -0
  11. package/dist/cjs/simulate/roleSessionTags.js +218 -0
  12. package/dist/cjs/simulate/roleSessionTags.js.map +1 -0
  13. package/dist/cjs/simulate/simulate.d.ts +35 -2
  14. package/dist/cjs/simulate/simulate.d.ts.map +1 -1
  15. package/dist/cjs/simulate/simulate.js +163 -11
  16. package/dist/cjs/simulate/simulate.js.map +1 -1
  17. package/dist/esm/index.d.ts +1 -1
  18. package/dist/esm/index.d.ts.map +1 -1
  19. package/dist/esm/index.js +1 -1
  20. package/dist/esm/index.js.map +1 -1
  21. package/dist/esm/simulate/contextKeys.d.ts +4 -0
  22. package/dist/esm/simulate/contextKeys.d.ts.map +1 -1
  23. package/dist/esm/simulate/contextKeys.js +5 -3
  24. package/dist/esm/simulate/contextKeys.js.map +1 -1
  25. package/dist/esm/simulate/roleSessionTags.d.ts +51 -0
  26. package/dist/esm/simulate/roleSessionTags.d.ts.map +1 -0
  27. package/dist/esm/simulate/roleSessionTags.js +213 -0
  28. package/dist/esm/simulate/roleSessionTags.js.map +1 -0
  29. package/dist/esm/simulate/simulate.d.ts +35 -2
  30. package/dist/esm/simulate/simulate.d.ts.map +1 -1
  31. package/dist/esm/simulate/simulate.js +163 -12
  32. package/dist/esm/simulate/simulate.js.map +1 -1
  33. package/package.json +1 -1
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.simulateRequest = simulateRequest;
4
4
  exports.simulateAnonymousRequest = simulateAnonymousRequest;
5
5
  exports.simulateExternalPrincipalRequest = simulateExternalPrincipalRequest;
6
+ exports.simulateVirtualPrincipal = simulateVirtualPrincipal;
6
7
  exports.simulateExternalResourceRequest = simulateExternalResourceRequest;
7
8
  exports.discoveryConstraintForStrictKey = discoveryConstraintForStrictKey;
8
9
  exports.resultMatchesExpectation = resultMatchesExpectation;
@@ -14,6 +15,7 @@ const resources_js_1 = require("../resources.js");
14
15
  const sts_js_1 = require("../utils/sts.js");
15
16
  const contextKeys_js_1 = require("./contextKeys.js");
16
17
  const generatedPolicies_js_1 = require("./generatedPolicies.js");
18
+ const roleSessionTags_js_1 = require("./roleSessionTags.js");
17
19
  const kmsRetireGrantAction = 'kms:retiregrant';
18
20
  /**
19
21
  * Simulate an IAM request using the collected policies for both the principal and resource.
@@ -47,6 +49,20 @@ async function simulateAnonymousRequest(simulationRequest, collectClient) {
47
49
  async function simulateExternalPrincipalRequest(simulationRequest, collectClient) {
48
50
  return simulateRequestInternal({ ...simulationRequest }, 'externalPrincipal', collectClient);
49
51
  }
52
+ /**
53
+ * Simulate an uncollected IAM principal while applying organization controls for its account.
54
+ *
55
+ * The principal receives a synthetic allow-all identity policy unless `inlinePolicy` replaces it.
56
+ * Permission boundaries and collected identity policies do not apply; supplied session policies still
57
+ * constrain the request.
58
+ *
59
+ * @param simulationRequest the virtual principal request details
60
+ * @param collectClient the IAM collect client to use for organization and resource-side data access
61
+ * @returns the normalized request and simulation result
62
+ */
63
+ async function simulateVirtualPrincipal(simulationRequest, collectClient) {
64
+ return simulateRequestInternal({ ...simulationRequest }, 'virtualPrincipal', collectClient);
65
+ }
50
66
  /**
51
67
  * Simulate a collected principal accessing a resource outside the collected dataset.
52
68
  * Wildcard-only actions are unsupported.
@@ -81,7 +97,11 @@ async function simulateRequestInternal(input, variant, collectClient) {
81
97
  throw new Error(`Unable to find action details for ${simulationRequest.action}`);
82
98
  }
83
99
  const actionDetails = await (0, iam_data_1.iamActionDetails)(service, serviceAction);
84
- if (actionDetails.isWildcardOnly && variant !== 'normal') {
100
+ if (variant === 'virtualPrincipal' && !(0, iam_utils_1.splitArnParts)(simulationRequest.principal).accountId) {
101
+ throw new Error(`Virtual principal ${simulationRequest.principal} must contain an account ID.`);
102
+ }
103
+ if (actionDetails.isWildcardOnly &&
104
+ (variant === 'anonymous' || variant === 'externalPrincipal' || variant === 'externalResource')) {
85
105
  const variantName = variant === 'anonymous'
86
106
  ? 'Anonymous'
87
107
  : variant === 'externalPrincipal'
@@ -129,7 +149,7 @@ async function simulateRequestInternal(input, variant, collectClient) {
129
149
  ? await resolvePrincipalArnForContext(collectClient, simulationRequest.principal)
130
150
  : undefined;
131
151
  const includeResourceMetadata = variant !== 'externalResource';
132
- const { contextKeys, resourceTagsAreKnown } = await (0, contextKeys_js_1.createContextKeys)(collectClient, simulationRequest, service, simulationRequest.customContextKeys, principalArnForContext, { includeResourceMetadata });
152
+ const { contextKeys, resourceTagsAreKnown } = await (0, contextKeys_js_1.createContextKeys)(collectClient, simulationRequest, service, simulationRequest.customContextKeys, principalArnForContext, { includePrincipalTags: requiresCollectedPrincipal, includeResourceMetadata });
133
153
  const vpcEndpointPolicy = await getVpcEndpointPolicy(collectClient, contextKeys);
134
154
  request.contextVariables = contextKeys;
135
155
  const simulation = {
@@ -143,8 +163,15 @@ async function simulateRequestInternal(input, variant, collectClient) {
143
163
  vpcEndpointPolicies: vpcEndpointPolicy ? [vpcEndpointPolicy] : undefined
144
164
  };
145
165
  await applyS3Settings(simulation, simulationRequest, variant, collectClient);
146
- const strictContextKeys = makeStrictContextKeys(simulationRequest, contextKeys, resourceTagsAreKnown, (0, iam_utils_1.isS3BucketOrObjectArn)(simulationRequest.resourceArn || ''));
147
- const discoveryContextKeyConstraints = strictContextKeys.map((keyName) => discoveryConstraintForStrictKey(keyName, simulationRequest));
166
+ const sessionTagCapability = await sessionTagCapabilityForRequest(collectClient, simulationRequest, principalArnForContext, requiresCollectedPrincipal);
167
+ const mutableExistingPrincipalTagKeys = mutableStoredPrincipalTagKeys(sessionTagCapability, contextKeys, simulationRequest.customContextKeys);
168
+ const principalTagsAreUnknown = variant === 'externalPrincipal' || variant === 'virtualPrincipal';
169
+ const strictContextKeys = makeStrictContextKeys(simulationRequest, contextKeys, resourceTagsAreKnown, (0, iam_utils_1.isS3BucketOrObjectArn)(simulationRequest.resourceArn || ''), principalTagsAreUnknown, sessionTagCapability, mutableExistingPrincipalTagKeys);
170
+ const discoveryContextKeyNames = new Set([
171
+ ...strictContextKeys,
172
+ ...mutableExistingPrincipalTagKeys
173
+ ]);
174
+ const discoveryContextKeyConstraints = [...discoveryContextKeyNames].map((keyName) => discoveryConstraintForStrictKey(keyName, simulationRequest, mutableExistingPrincipalTagKeys));
148
175
  const result = await (0, iam_simulate_1.runSimulation)(simulation, {
149
176
  simulationMode: simulationRequest.simulationMode,
150
177
  discoveryContextKeyConstraints
@@ -155,8 +182,9 @@ async function simulateRequestInternal(input, variant, collectClient) {
155
182
  * Build all principal-side policy inputs for the selected simulation variant.
156
183
  *
157
184
  * Collected-principal variants prepare collected identity policies, SCPs, and permission
158
- * boundaries. External principals receive only a synthetic administrator identity policy, while
159
- * anonymous requests receive no principal-side policies.
185
+ * boundaries. External principals receive only a synthetic administrator identity policy, virtual
186
+ * principals receive a synthetic or caller-provided identity policy plus captured organization
187
+ * policies, and anonymous requests receive no principal-side policies.
160
188
  *
161
189
  * @param variant the simulation policy-source variant
162
190
  * @param request the normalized request
@@ -174,6 +202,26 @@ async function principalPoliciesForVariant(variant, request, collectClient) {
174
202
  };
175
203
  }
176
204
  const principalArn = request.principal;
205
+ if (variant === 'virtualPrincipal') {
206
+ const accountId = (0, iam_utils_1.splitArnParts)(principalArn).accountId;
207
+ if (!accountId) {
208
+ throw new Error(`Virtual principal ${principalArn} must contain an account ID.`);
209
+ }
210
+ const [serviceControlPolicies, principalAccountRcps] = await Promise.all([
211
+ collectClient.getScpHierarchyForAccount(accountId),
212
+ collectClient.getRcpHierarchyForAccount(accountId)
213
+ ]);
214
+ return {
215
+ identityPolicies: [
216
+ request.inlinePolicy
217
+ ? { name: 'iam-lens:virtual-inline-policy', policy: request.inlinePolicy }
218
+ : generatedPolicies_js_1.syntheticIdentityPolicy
219
+ ],
220
+ serviceControlPolicies,
221
+ permissionBoundaryPolicies: undefined,
222
+ principalAccountRcps
223
+ };
224
+ }
177
225
  const collectedPolicies = await (0, principals_js_1.getAllPoliciesForPrincipal)(collectClient, principalArn);
178
226
  return {
179
227
  identityPolicies: prepareIdentityPolicies(principalArn, collectedPolicies),
@@ -271,9 +319,12 @@ async function applyS3Settings(simulation, request, variant, collectClient) {
271
319
  * @param contextKeys generated and caller-provided context values
272
320
  * @param resourceTagsAreKnown whether all resource tags are known
273
321
  * @param s3BucketOrObjectRequest whether S3 bucket tag keys apply
322
+ * @param principalTagsAreUnknown whether synthetic principal tag presence and values are unknown
323
+ * @param sessionTagCapability trust-policy-derived role session-tag capability, when applicable
324
+ * @param mutablePrincipalTagKeys stored PrincipalTag keys whose values are not authoritative
274
325
  * @returns strict literal keys and key patterns
275
326
  */
276
- function makeStrictContextKeys(request, contextKeys, resourceTagsAreKnown, s3BucketOrObjectRequest) {
327
+ function makeStrictContextKeys(request, contextKeys, resourceTagsAreKnown, s3BucketOrObjectRequest, principalTagsAreUnknown, sessionTagCapability, mutablePrincipalTagKeys) {
277
328
  const strictContextKeys = [...contextKeys_js_1.knownContextKeys, ...(request.additionalStrictContextKeys ?? [])];
278
329
  if (!request.principal) {
279
330
  strictContextKeys.push(contextKeys_js_1.CONTEXT_KEYS.userId, contextKeys_js_1.CONTEXT_KEYS.assumedRoot, '/^aws:PrincipalTag\/.*/');
@@ -286,6 +337,15 @@ function makeStrictContextKeys(request, contextKeys, resourceTagsAreKnown, s3Buc
286
337
  strictContextKeys.push(contextKeys_js_1.CONTEXT_KEYS.assumedRoot);
287
338
  }
288
339
  }
340
+ if (!principalTagsAreUnknown && request.principal && (0, iam_utils_1.isIamUserArn)(request.principal)) {
341
+ strictContextKeys.push('/^aws:PrincipalTag\/.*/');
342
+ }
343
+ if (sessionTagCapability) {
344
+ const immutableTagPattern = (0, roleSessionTags_js_1.immutablePrincipalTagPattern)(sessionTagCapability);
345
+ if (immutableTagPattern) {
346
+ strictContextKeys.push(immutableTagPattern);
347
+ }
348
+ }
289
349
  if (request.action.startsWith('s3:')) {
290
350
  strictContextKeys.push('s3:DataAccessPointAccount', 's3:DataAccessPointArn');
291
351
  }
@@ -296,14 +356,43 @@ function makeStrictContextKeys(request, contextKeys, resourceTagsAreKnown, s3Buc
296
356
  strictContextKeys.push('/^s3:BucketTag\/.*/');
297
357
  }
298
358
  }
359
+ // There also may be other tag context keys, so add those too. Mutable role tags must not
360
+ // receive a strict constraint because iam-simulate merges constraints with true-winning semantics.
299
361
  for (const key of Object.keys(contextKeys)) {
300
- if (key.toLowerCase().includes('tag/')) {
362
+ if (isTagContextKey(key) &&
363
+ !(principalTagsAreUnknown && isPrincipalTagContextKey(key)) &&
364
+ !mutablePrincipalTagKeys.has(key)) {
301
365
  strictContextKeys.push(key);
302
366
  }
303
367
  }
304
368
  return strictContextKeys;
305
369
  }
370
+ /**
371
+ * Checks whether a context key's first slash-delimited namespace ends in `Tag`.
372
+ *
373
+ * @param key context-key name to inspect
374
+ * @returns true for tag context keys such as `aws:PrincipalTag/Department`
375
+ */
376
+ function isTagContextKey(key) {
377
+ const slashIndex = key.indexOf('/');
378
+ return (slashIndex >= 3 &&
379
+ key
380
+ .slice(slashIndex - 3, slashIndex + 1)
381
+ .localeCompare('tag/', undefined, { sensitivity: 'base' }) === 0);
382
+ }
306
383
  const awsSourceKeyPrefix = 'aws:source';
384
+ const awsPrincipalTagPrefix = 'aws:principaltag/';
385
+ /**
386
+ * Checks whether a context key is in the PrincipalTag namespace.
387
+ *
388
+ * @param key context-key name to inspect
389
+ * @returns true when the key starts with `aws:PrincipalTag/`, ignoring case
390
+ */
391
+ function isPrincipalTagContextKey(key) {
392
+ return (key
393
+ .slice(0, awsPrincipalTagPrefix.length)
394
+ .localeCompare(awsPrincipalTagPrefix, undefined, { sensitivity: 'base' }) === 0);
395
+ }
307
396
  const anonymousAbsentContextKeys = new Set([
308
397
  'aws:principalarn',
309
398
  'aws:principalaccount',
@@ -323,17 +412,80 @@ const anonymousAbsentContextKeys = new Set([
323
412
  '/^aws:principaltag\/.*/'
324
413
  ]);
325
414
  /**
326
- * Convert an iam-lens strict context key into an iam-simulate Discovery constraint.
415
+ * Derives role session-tag capability independently from tags stored on the role.
416
+ *
417
+ * This lookup applies only to Discovery simulations for IAM roles and assumed-role sessions. IAM
418
+ * user tags are handled separately as fully strict because users cannot receive role-session tags.
419
+ *
420
+ * @param collectClient the collect client used to load the canonical role trust policy
421
+ * @param simulationRequest the request whose principal-tag certainty is being modeled
422
+ * @param resolvedPrincipalArnForContext the canonical role ARN resolved for an assumed-role session
423
+ * @param principalIsCollected whether absent principal metadata is authoritative
424
+ * @returns the role's session-tag capability, or undefined when role metadata is not applicable
425
+ */
426
+ async function sessionTagCapabilityForRequest(collectClient, simulationRequest, resolvedPrincipalArnForContext, principalIsCollected) {
427
+ if (simulationRequest.simulationMode !== 'Discovery' || !principalIsCollected) {
428
+ return undefined;
429
+ }
430
+ const requestPrincipal = simulationRequest.principal;
431
+ const roleArn = requestPrincipal && (0, iam_utils_1.isIamRoleArn)(requestPrincipal)
432
+ ? requestPrincipal
433
+ : resolvedPrincipalArnForContext;
434
+ if (!roleArn || !(0, iam_utils_1.isIamRoleArn)(roleArn)) {
435
+ return undefined;
436
+ }
437
+ const accountId = (0, iam_utils_1.splitArnParts)(roleArn).accountId;
438
+ if (!accountId) {
439
+ return undefined;
440
+ }
441
+ const trustPolicy = await collectClient.getResourcePolicyForArn(roleArn, accountId);
442
+ return (0, roleSessionTags_js_1.roleSessionTagCapability)(trustPolicy);
443
+ }
444
+ /**
445
+ * Finds stored role-tag values that a session may override.
446
+ *
447
+ * Stored tags determine baseline presence, while the independent trust-policy capability determines
448
+ * mutability. A mutable stored tag is always present, but its effective session value is unknown.
449
+ *
450
+ * @param capability the role's session-tag capability, or undefined for non-role requests
451
+ * @param contextKeys generated and caller-provided request context
452
+ * @param customContextKeys authoritative caller-provided context values
453
+ * @returns existing non-custom PrincipalTag context-key names whose values are mutable
454
+ */
455
+ function mutableStoredPrincipalTagKeys(capability, contextKeys, customContextKeys) {
456
+ if (!capability || capability.type === 'none') {
457
+ return new Set();
458
+ }
459
+ const storedPrincipalTagKeys = Object.keys(contextKeys).filter((key) => isPrincipalTagContextKey(key) && !hasCustomContextKey(customContextKeys, key));
460
+ if (capability.type === 'any') {
461
+ return new Set(storedPrincipalTagKeys);
462
+ }
463
+ return new Set(storedPrincipalTagKeys.filter((key) => {
464
+ const tagKey = key.slice(awsPrincipalTagPrefix.length);
465
+ return (0, roleSessionTags_js_1.roleSessionCanSetTagKey)(capability, tagKey);
466
+ }));
467
+ }
468
+ /**
469
+ * Convert an iam-lens context key into an iam-simulate Discovery constraint.
470
+ *
471
+ * Caller-provided and explicitly strict keys remain fully authoritative. A stored PrincipalTag
472
+ * whose role session may override it has known presence but an unknown value. All other input keys
473
+ * are strict and continue through the existing special-case handling.
327
474
  *
328
475
  * @param keyName the literal context key or slash-delimited key pattern
329
476
  * @param simulationRequest the normalized request whose context certainty is modeled
477
+ * @param mutablePrincipalTagKeys stored PrincipalTag keys whose values are non-authoritative
330
478
  * @returns the Discovery constraint to pass to iam-simulate
331
479
  * @internal
332
480
  */
333
- function discoveryConstraintForStrictKey(keyName, simulationRequest) {
334
- if (hasCustomContextKey(simulationRequest.customContextKeys, keyName)) {
481
+ function discoveryConstraintForStrictKey(keyName, simulationRequest, mutablePrincipalTagKeys) {
482
+ if (hasCustomContextKey(simulationRequest.customContextKeys, keyName) ||
483
+ simulationRequest.additionalStrictContextKeys?.includes(keyName)) {
335
484
  return { keyName, presenceIsKnown: true, valueIsKnown: true };
336
485
  }
486
+ if (mutablePrincipalTagKeys?.has(keyName)) {
487
+ return { keyName, presenceIsKnown: true, valueIsKnown: false };
488
+ }
337
489
  if (simulationRequest.principal === undefined &&
338
490
  anonymousAbsentContextKeys.has(keyName.toLowerCase())) {
339
491
  return { keyName, presenceIsKnown: true, valueIsKnown: true };
@@ -1 +1 @@
1
- {"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../../src/simulate/simulate.ts"],"names":[],"mappings":";;AA0OA,0CAKC;AASD,4DASC;AAWD,4EAKC;AAaD,4DAKC;AAUD,0EAKC;AAsjBD,0EA2CC;AA2LD,4DAWC;AAzlCD,oDAA2F;AAE3F,4DAQkC;AAClC,sDAO+B;AAE/B,oDAMyB;AACzB,kDAIwB;AAExB,4CAAmD;AACnD,qDAOyB;AACzB,iEAAwF;AACxF,6DAK6B;AAE7B,MAAM,oBAAoB,GAAG,iBAAiB,CAAA;AAiL9C;;;;;;GAMG;AACI,KAAK,UAAU,eAAe,CACnC,iBAAoC,EACpC,aAA+B;IAE/B,OAAO,uBAAuB,CAAC,EAAE,GAAG,iBAAiB,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAA;AACnF,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,wBAAwB,CAC5C,iBAA6C,EAC7C,aAA+B;IAE/B,OAAO,uBAAuB,CAC5B,EAAE,GAAG,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,EAC9C,WAAW,EACX,aAAa,CACd,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,gCAAgC,CACpD,iBAAoC,EACpC,aAA+B;IAE/B,OAAO,uBAAuB,CAAC,EAAE,GAAG,iBAAiB,EAAE,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAA;AAC9F,CAAC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,wBAAwB,CAC5C,iBAAoD,EACpD,aAA+B;IAE/B,OAAO,uBAAuB,CAAC,EAAE,GAAG,iBAAiB,EAAE,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAA;AAC7F,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,+BAA+B,CACnD,iBAAoD,EACpD,aAA+B;IAE/B,OAAO,uBAAuB,CAAC,EAAE,GAAG,iBAAiB,EAAE,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAA;AAC7F,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,uBAAuB,CACpC,KAAgC,EAChC,OAA0B,EAC1B,aAA+B;IAE/B,MAAM,iBAAiB,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;IACtC,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAC7E,+CAA8B,CAC/B,CAAA;QACD,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,sEAAsE,iBAAiB,GAAG,CAC3F,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACpE,MAAM,aAAa,GAAG,MAAM,IAAA,2BAAgB,EAAC,OAAO,CAAC,CAAA;IACrD,MAAM,YAAY,GAAG,aAAa,IAAI,CAAC,MAAM,IAAA,0BAAe,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAA;IACrF,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,qCAAqC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;IAClF,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,IAAA,2BAAgB,EAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IAEpE,IAAI,OAAO,KAAK,kBAAkB,IAAI,CAAC,IAAA,yBAAa,EAAC,iBAAiB,CAAC,SAAU,CAAC,CAAC,SAAS,EAAE,CAAC;QAC7F,MAAM,IAAI,KAAK,CAAC,qBAAqB,iBAAiB,CAAC,SAAS,8BAA8B,CAAC,CAAA;IACjG,CAAC;IAED,IACE,aAAa,CAAC,cAAc;QAC5B,CAAC,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,mBAAmB,IAAI,OAAO,KAAK,kBAAkB,CAAC,EAC9F,CAAC;QACD,MAAM,WAAW,GACf,OAAO,KAAK,WAAW;YACrB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,OAAO,KAAK,mBAAmB;gBAC/B,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,mBAAmB,CAAA;QAC3B,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,oDAAoD,CAAC,CAAA;IACrF,CAAC;IAED,IAAI,OAAO,KAAK,WAAW,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IAC3E,CAAC;IACD,IAAI,OAAO,KAAK,kBAAkB,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;IACnF,CAAC;IAED,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;QACjC,iBAAiB,CAAC,eAAe,GAAG,IAAA,yBAAa,EAAC,iBAAiB,CAAC,SAAU,CAAC,CAAC,SAAS,CAAA;IAC3F,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC,eAAe,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IACH,CAAC;IACD,iBAAiB,CAAC,eAAe;QAC/B,iBAAiB,CAAC,eAAe;YACjC,CAAC,MAAM,IAAA,sCAAuB,EAAC,aAAa,EAAE,iBAAiB,CAAC,WAAY,CAAC,CAAC,CAAA;IAEhF,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,0CAA0C,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAA;IAC5F,CAAC;IAED,MAAM,0BAA0B,GAAG,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,kBAAkB,CAAA;IACzF,IAAI,0BAA0B,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,MAAM,IAAA,+BAAe,EAAC,iBAAiB,CAAC,SAAU,EAAE,aAAa,CAAC,CAAA;QACzF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,aAAa,iBAAiB,CAAC,SAAS,oFAAoF,CAC7H,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,qBAAqB,GAAG,MAAM,2BAA2B,CAC7D,OAAO,EACP,iBAAiB,EACjB,aAAa,CACd,CAAA;IACD,MAAM,oBAAoB,GAAG,MAAM,0BAA0B,CAC3D,OAAO,EACP,iBAAiB,EACjB,OAAO,EACP,aAAa,CAAC,cAAc,EAC5B,qBAAqB,CAAC,oBAAoB,EAC1C,aAAa,CACd,CAAA;IAED,MAAM,OAAO,GAA0B;QACrC,MAAM,EAAE,iBAAiB,CAAC,MAAM;QAChC,QAAQ,EAAE;YACR,QAAQ,EAAE,iBAAiB,CAAC,WAAW,IAAI,GAAG;YAC9C,SAAS,EAAE,iBAAiB,CAAC,eAAe;SAC7C;QACD,SAAS,EAAE,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,iCAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAU;QACtF,gBAAgB,EAAE,EAAE;KACrB,CAAA;IAED,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,SAAS;QACxD,CAAC,CAAC,MAAM,6BAA6B,CAAC,aAAa,EAAE,iBAAiB,CAAC,SAAS,CAAC;QACjF,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,uBAAuB,GAAG,OAAO,KAAK,kBAAkB,CAAA;IAC9D,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,GAAG,MAAM,IAAA,kCAAiB,EACnE,aAAa,EACb,iBAAiB,EACjB,OAAO,EACP,iBAAiB,CAAC,iBAAiB,EACnC,sBAAsB,EACtB,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,CAC9E,CAAA;IAED,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;IAChF,OAAO,CAAC,gBAAgB,GAAG,WAAW,CAAA;IAEtC,MAAM,UAAU,GAAe;QAC7B,OAAO;QACP,aAAa,EAAE,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,aAAa;QACpF,gBAAgB,EAAE,qBAAqB,CAAC,gBAAgB;QACxD,sBAAsB,EAAE,qBAAqB,CAAC,sBAAsB;QACpE,uBAAuB,EAAE,oBAAoB,CAAC,uBAAuB;QACrE,cAAc,EAAE,oBAAoB,CAAC,cAAc;QACnD,0BAA0B,EAAE,qBAAqB,CAAC,0BAA0B;QAC5E,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS;KACzE,CAAA;IAED,MAAM,eAAe,CAAC,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;IAE5E,MAAM,oBAAoB,GAAG,MAAM,8BAA8B,CAC/D,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,CAC3B,CAAA;IACD,MAAM,+BAA+B,GAAG,6BAA6B,CACnE,oBAAoB,EACpB,WAAW,EACX,iBAAiB,CAAC,iBAAiB,CACpC,CAAA;IACD,MAAM,uBAAuB,GAAG,OAAO,KAAK,mBAAmB,IAAI,OAAO,KAAK,kBAAkB,CAAA;IACjG,MAAM,iBAAiB,GAAG,qBAAqB,CAC7C,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,IAAA,iCAAqB,EAAC,iBAAiB,CAAC,WAAW,IAAI,EAAE,CAAC,EAC1D,uBAAuB,EACvB,oBAAoB,EACpB,+BAA+B,CAChC,CAAA;IACD,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;QACvC,GAAG,iBAAiB;QACpB,GAAG,+BAA+B;KACnC,CAAC,CAAA;IACF,MAAM,8BAA8B,GAAG,CAAC,GAAG,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACnF,+BAA+B,CAAC,OAAO,EAAE,iBAAiB,EAAE,+BAA+B,CAAC,CAC7F,CAAA;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAa,EAAC,UAAU,EAAE;QAC7C,cAAc,EAAE,iBAAiB,CAAC,cAAc;QAChD,8BAA8B;KAC/B,CAAC,CAAA;IAEF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AAC5B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,2BAA2B,CACxC,OAA0B,EAC1B,OAAkC,EAClC,aAA+B;IAE/B,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,0BAA0B,EAAE,CAAA;IACrC,CAAC;IAED,IAAI,OAAO,KAAK,mBAAmB,EAAE,CAAC;QACpC,OAAO;YACL,GAAG,0BAA0B,EAAE;YAC/B,gBAAgB,EAAE,CAAC,8CAAuB,CAAC;SAC5C,CAAA;IACH,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,SAAU,CAAA;IACvC,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,YAAY,CAAC,CAAC,SAAS,CAAA;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,YAAY,8BAA8B,CAAC,CAAA;QAClF,CAAC;QACD,MAAM,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvE,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC;YAClD,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC;SACnD,CAAC,CAAA;QACF,OAAO;YACL,gBAAgB,EAAE;gBAChB,OAAO,CAAC,YAAY;oBAClB,CAAC,CAAC,EAAE,IAAI,EAAE,gCAAgC,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE;oBAC1E,CAAC,CAAC,8CAAuB;aAC5B;YACD,sBAAsB;YACtB,0BAA0B,EAAE,SAAS;YACrC,oBAAoB;SACrB,CAAA;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,IAAA,0CAA0B,EAAC,aAAa,EAAE,YAAY,CAAC,CAAA;IACvF,OAAO;QACL,gBAAgB,EAAE,uBAAuB,CAAC,YAAY,EAAE,iBAAiB,CAAC;QAC1E,sBAAsB,EAAE,iBAAiB,CAAC,IAAI;QAC9C,0BAA0B,EAAE,yBAAyB,CAAC,iBAAiB,CAAC;QACxE,oBAAoB,EAAE,iBAAiB,CAAC,IAAI;KAC7C,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,0BAA0B;IACjC,OAAO;QACL,gBAAgB,EAAE,EAAE;QACpB,sBAAsB,EAAE,EAAE;QAC1B,0BAA0B,EAAE,SAAS;QACrC,oBAAoB,EAAE,EAAE;KACzB,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,0BAA0B,CACvC,OAA0B,EAC1B,OAAkC,EAClC,OAAe,EACf,gBAAyB,EACzB,oBAA6C,EAC7C,aAA+B;IAE/B,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACnC,OAAO;YACL,cAAc,EAAE,IAAA,6CAAsB,EAAC,OAAO,CAAC;YAC/C,uBAAuB,EAAE,EAAE;SAC5B,CAAA;IACH,CAAC;IAED,OAAO,mBAAmB,CACxB,aAAa,EACb,OAAO,CAAC,MAAM,EACd,OAAO,EACP,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,SAAS,EACjB,gBAAgB,EAChB,oBAAoB,CACrB,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,oBAAoB,CACjC,aAA+B,EAC/B,WAAwB;IAExB,MAAM,aAAa,GAAG,IAAA,6BAAY,EAAC,WAAW,EAAE,6BAAY,CAAC,aAAa,CAAC,CAAA;IAC3E,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,iCAAiC,CAAC,aAAa,CAAC,CAAA;IAC3F,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAA;IAC7E,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAC9D,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,eAAe,CAC5B,UAAsB,EACtB,OAAkC,EAClC,OAA0B,EAC1B,aAA+B;IAE/B,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAA,iCAAqB,EAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACxE,OAAM;IACR,CAAC;IAED,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;QACnC,UAAU,CAAC,kBAAkB,GAAG;YAC9B,EAAE,EAAE;gBACF,iBAAiB,EAAE,OAAO,CAAC,cAAc,KAAK,SAAS;gBACvD,iBAAiB,EAAE,KAAK;aACzB;SACF,CAAA;QACD,OAAM;IACR,CAAC;IAED,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/D,qBAAqB,CACnB,OAAO,CAAC,cAAc,EACtB,aAAa,EACb,OAAO,CAAC,eAAgB,EACxB,OAAO,CAAC,WAAW,CACpB;QACD,aAAa,CAAC,oCAAoC,CAChD,OAAO,CAAC,eAAgB,EACxB,OAAO,CAAC,WAAW,CACpB;KACF,CAAC,CAAA;IACF,UAAU,CAAC,kBAAkB,GAAG,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,EAAE,CAAA;AAClF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,qBAAqB,CAC5B,OAAkC,EAClC,WAAwB,EACxB,oBAA6B,EAC7B,uBAAgC,EAChC,uBAAgC,EAChC,oBAA0D,EAC1D,uBAA4C;IAE5C,MAAM,iBAAiB,GAAG,CAAC,GAAG,iCAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC,CAAA;IAE/F,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,iBAAiB,CAAC,IAAI,CAAC,6BAAY,CAAC,MAAM,EAAE,6BAAY,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAA;IAClG,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,IAAA,wBAAY,EAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,iBAAiB,CAAC,IAAI,CAAC,6BAAY,CAAC,MAAM,CAAC,CAAA;QAC7C,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,iBAAiB,CAAC,IAAI,CAAC,6BAAY,CAAC,WAAW,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;IACD,IAAI,CAAC,uBAAuB,IAAI,OAAO,CAAC,SAAS,IAAI,IAAA,wBAAY,EAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrF,iBAAiB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IACnD,CAAC;IACD,IAAI,oBAAoB,EAAE,CAAC;QACzB,MAAM,mBAAmB,GAAG,IAAA,iDAA4B,EAAC,oBAAoB,CAAC,CAAA;QAC9E,IAAI,mBAAmB,EAAE,CAAC;YACxB,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,iBAAiB,CAAC,IAAI,CAAC,2BAA2B,EAAE,uBAAuB,CAAC,CAAA;IAC9E,CAAC;IACD,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAEjE,IAAI,oBAAoB,EAAE,CAAC;QACzB,iBAAiB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QAChD,IAAI,uBAAuB,EAAE,CAAC;YAC5B,iBAAiB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IAED,yFAAyF;IACzF,mGAAmG;IACnG,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,IACE,eAAe,CAAC,GAAG,CAAC;YACpB,CAAC,CAAC,uBAAuB,IAAI,wBAAwB,CAAC,GAAG,CAAC,CAAC;YAC3D,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,EACjC,CAAC;YACD,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACnC,OAAO,CACL,UAAU,IAAI,CAAC;QACf,GAAG;aACA,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC;aACrC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CACnE,CAAA;AACH,CAAC;AAED,MAAM,kBAAkB,GAAG,YAAY,CAAA;AACvC,MAAM,qBAAqB,GAAG,mBAAmB,CAAA;AAEjD;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,GAAW;IAC3C,OAAO,CACL,GAAG;SACA,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC;SACtC,aAAa,CAAC,qBAAqB,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAClF,CAAA;AACH,CAAC;AAED,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IACzC,kBAAkB;IAClB,sBAAsB;IACtB,oBAAoB;IACpB,uBAAuB;IACvB,cAAc;IACd,YAAY;IACZ,2BAA2B;IAC3B,0BAA0B;IAC1B,mBAAmB;IACnB,iBAAiB;IACjB,oBAAoB;IACpB,iBAAiB;IACjB,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,yBAAyB;CAC1B,CAAC,CAAA;AAEF;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,8BAA8B,CAC3C,aAA+B,EAC/B,iBAA4C,EAC5C,8BAAkD,EAClD,oBAA6B;IAE7B,IAAI,iBAAiB,CAAC,cAAc,KAAK,WAAW,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9E,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,SAAS,CAAA;IACpD,MAAM,OAAO,GACX,gBAAgB,IAAI,IAAA,wBAAY,EAAC,gBAAgB,CAAC;QAChD,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,8BAA8B,CAAA;IACpC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAA,wBAAY,EAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,yBAAa,EAAC,OAAO,CAAC,CAAC,SAAS,CAAA;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IACnF,OAAO,IAAA,6CAAwB,EAAC,WAAW,CAAC,CAAA;AAC9C,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,6BAA6B,CACpC,UAAgD,EAChD,WAAwB,EACxB,iBAA8B;IAE9B,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9C,OAAO,IAAI,GAAG,EAAE,CAAA;IAClB,CAAC;IAED,MAAM,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAC5D,CAAC,GAAG,EAAE,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,GAAG,CAAC,CACvF,CAAA;IACD,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC9B,OAAO,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAA;IACxC,CAAC;IAED,OAAO,IAAI,GAAG,CACZ,sBAAsB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAA;QACtD,OAAO,IAAA,4CAAuB,EAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IACpD,CAAC,CAAC,CACH,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,+BAA+B,CAC7C,OAAe,EACf,iBAGC,EACD,uBAA6C;IAE7C,IACE,mBAAmB,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,CAAC;QACjE,iBAAiB,CAAC,2BAA2B,EAAE,QAAQ,CAAC,OAAO,CAAC,EAChE,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;IAC/D,CAAC;IAED,IAAI,uBAAuB,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;IAChE,CAAC;IAED,IACE,iBAAiB,CAAC,SAAS,KAAK,SAAS;QACzC,0BAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EACrD,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;IAC/D,CAAC;IAED,MAAM,iCAAiC,GACrC,OAAO,CAAC,aAAa,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC;QACpF,iBAAiB,CAAC,cAAc,KAAK,WAAW;QAChD,iBAAiB,CAAC,SAAS,KAAK,SAAS;QACzC,IAAA,kCAAkB,EAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAEjD,IAAI,iCAAiC,EAAE,CAAC;QACtC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;IAChE,CAAC;IAED,IACE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,kBAAkB,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAChG,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;IAChE,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,iBAA8B,EAAE,OAAe;IAC1E,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CACxC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CACjE,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,KAAK,UAAU,mBAAmB,CAChC,aAA+B,EAC/B,MAAc,EACd,OAAe,EACf,WAA+B,EAC/B,eAAmC,EACnC,YAAgC,EAChC,gBAAyB,EACzB,oBAA6C;IAE7C,MAAM,cAAc,GAAG,WAAW;QAChC,CAAC,CAAC,MAAM,IAAA,2CAA4B,EAAC,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC;QACjF,CAAC,CAAC,SAAS,CAAA;IAEb,kFAAkF;IAClF,MAAM,wCAAwC,GAC5C,YAAY,KAAK,SAAS;QAC1B,WAAW,KAAK,SAAS;QACzB,IAAA,kCAAkB,EAAC,YAAY,CAAC;QAChC,IAAA,mCAAmB,EAAC,WAAW,CAAC,CAAA;IAElC,IAAI,YAAY,GAA4B,EAAE,CAAA;IAC9C,IACE,WAAW;QACX,CAAC,wCAAwC;QACzC,MAAM,CAAC,aAAa,CAAC,oBAAoB,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EACpF,CAAC;QACD,MAAM,gBAAgB,GAAG,IAAA,yBAAa,EAAC,WAAW,CAAC,CAAA;QACnD,MAAM,kBAAkB,GACtB,gBAAgB,CAAC,OAAO,KAAK,KAAK;YAClC,gBAAgB,CAAC,YAAY,KAAK,KAAK;YACvC,eAAe,KAAK,SAAS;YAC7B,CAAC,MAAM,aAAa,CAAC,kBAAkB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAA;QACxE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,YAAY,GAAG,MAAM,IAAA,iCAAkB,EAAC,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC,CAAA;QACtF,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAClB,YAAY,IAAI,IAAA,mCAAmB,EAAC,YAAY,CAAC;QAC/C,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,gBAAgB;YAChB,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,YAAY,CAAA;IAEpB,IAAI,0BAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,uCAAuC,WAAW,mDAAmD,CACtG,CAAA;IACH,CAAC;IAED,MAAM,iBAAiB,GACrB,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,IAAA,wBAAY,EAAC,WAAW,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAA;IAE9F,OAAO;QACL,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QAC9D,uBAAuB,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACpD,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAC3B,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CACpE;SACF,CAAC,CAAC;KACJ,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,6BAA6B,CAC1C,aAA+B,EAC/B,YAAoB;IAEpB,IAAI,CAAC,IAAA,4BAAgB,EAAC,YAAY,CAAC,EAAE,CAAC;QACpC,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,CACL,CAAC,MAAM,aAAa,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QACvD,IAAA,0CAA8B,EAAC,YAAY,CAAC,CAC7C,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAC9B,YAAoB,EACpB,iBAAoC;IAEpC,MAAM,sBAAsB,GAAkD,EAAE,CAAA;IAChF,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACnD,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;QAClF,CAAC;IACH,CAAC,CAAC,CAAA;IACF,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACvD,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7C,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;YAClF,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAA;IAC9D,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAClD,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,YAAY,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAC1F,CAAC,CAAC,CAAA;IACF,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACvD,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5C,gBAAgB,CAAC,IAAI,CAAC;gBACpB,IAAI,EAAE,GAAG,WAAW,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE;gBAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAChC,iBAAoC;IAEpC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO;QACL;YACE,IAAI,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,GAAG;YAC9C,MAAM,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,MAAM;SACpD;KACF,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,wBAAwB,CACtC,QAAkD,EAClD,MAAwB;IAExB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAClC,CAAC;IACD,OAAO,QAAQ,KAAK,MAAM,CAAA;AAC5B,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,qBAAqB,CAClC,cAA0C,EAC1C,aAA+B,EAC/B,eAAuB,EACvB,iBAAyB;IAEzB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;QAClC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,aAAa,CAAC,uBAAuB,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAA;AAClF,CAAC"}
@@ -4,7 +4,7 @@ export { getCollectClient, loadCollectConfigs, type ClientFactoryPlugin, type Co
4
4
  export { principalCan, type PrincipalCanInput } from './principalCan/principalCan.js';
5
5
  export { makePrincipalIndex } from './principalIndex/makePrincipalIndex.js';
6
6
  export type { ContextKeys } from './simulate/contextKeys.js';
7
- export { simulateRequest, simulateAnonymousRequest, simulateExternalPrincipalRequest, simulateExternalResourceRequest, type SimulationRequest, type AnonymousSimulationRequest, type ExternalResourceSimulationRequest, type SimulateRequestResult } from './simulate/simulate.js';
7
+ export { simulateRequest, simulateAnonymousRequest, simulateExternalPrincipalRequest, simulateVirtualPrincipal, simulateExternalResourceRequest, type SimulationRequest, type AnonymousSimulationRequest, type VirtualPrincipalSimulationRequest, type ExternalResourceSimulationRequest, type SimulateRequestResult } from './simulate/simulate.js';
8
8
  export { whoCan, type WhoCanPrincipalScope, type ResourceAccessRequest, type WhoCanAllowed, type WhoCanAllowedResourcePattern, type WhoCanResponse } from './whoCan/whoCan.js';
9
9
  export { WhoCanProcessor, type WhoCanProcessorConfig, type WhoCanProcessorRequest, type WhoCanSettledEvent, type WhoCanSettledSuccess, type WhoCanSettledError, type WorkerBootstrapPlugin } from './whoCan/WhoCanProcessor.js';
10
10
  export { type LightRequestAnalysis, type LightResourceAnalysis, type LightResourceAnalysisWithPattern, type SingleResourceLightRequestAnalysis, type WildcardResourceLightRequestAnalysis } from './whoCan/requestAnalysis.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,cAAc,EACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,gCAAgC,EAChC,+BAA+B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,iCAAiC,EACtC,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,MAAM,EACN,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,KAAK,oCAAoC,EAC1C,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,0BAA0B,EAC1B,kBAAkB,EAClB,KAAK,kCAAkC,EACxC,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,UAAU,EACV,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,cAAc,EACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,gCAAgC,EAChC,wBAAwB,EACxB,+BAA+B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,MAAM,EACN,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,KAAK,oCAAoC,EAC1C,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,0BAA0B,EAC1B,kBAAkB,EAClB,KAAK,kCAAkC,EACxC,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,UAAU,EACV,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAA"}
package/dist/esm/index.js CHANGED
@@ -2,7 +2,7 @@ export { IamCollectClient, InMemoryCacheProvider, NoCacheProvider } from './coll
2
2
  export { getCollectClient, loadCollectConfigs } from './collect/collect.js';
3
3
  export { principalCan } from './principalCan/principalCan.js';
4
4
  export { makePrincipalIndex } from './principalIndex/makePrincipalIndex.js';
5
- export { simulateRequest, simulateAnonymousRequest, simulateExternalPrincipalRequest, simulateExternalResourceRequest } from './simulate/simulate.js';
5
+ export { simulateRequest, simulateAnonymousRequest, simulateExternalPrincipalRequest, simulateVirtualPrincipal, simulateExternalResourceRequest } from './simulate/simulate.js';
6
6
  export { whoCan } from './whoCan/whoCan.js';
7
7
  export { WhoCanProcessor } from './whoCan/WhoCanProcessor.js';
8
8
  export {} from './whoCan/requestAnalysis.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EAGhB,MAAM,qBAAqB,CAAA;AAS5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAGnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAA0B,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAE3E,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,gCAAgC,EAChC,+BAA+B,EAKhC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,MAAM,EAMP,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EAOhB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAMN,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,0BAA0B,EAC1B,kBAAkB,EAEnB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,UAAU,EAKX,MAAM,8BAA8B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EAGhB,MAAM,qBAAqB,CAAA;AAS5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAGnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAA0B,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAE3E,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,gCAAgC,EAChC,wBAAwB,EACxB,+BAA+B,EAMhC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,MAAM,EAMP,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EAOhB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAMN,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,0BAA0B,EAC1B,kBAAkB,EAEnB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,UAAU,EAKX,MAAM,8BAA8B,CAAA"}
@@ -16,6 +16,10 @@ export interface CreateContextKeysOptions {
16
16
  * Whether resource tags and presence should be loaded from collected data.
17
17
  */
18
18
  includeResourceMetadata?: boolean;
19
+ /**
20
+ * Whether principal tags should be loaded from collected IAM metadata.
21
+ */
22
+ includePrincipalTags?: boolean;
19
23
  }
20
24
  /**
21
25
  * Placeholder for the caller account AWS supplies on a service-mediated KMS request.
@@ -1 +1 @@
1
- {"version":3,"file":"contextKeys.d.ts","sourceRoot":"","sources":["../../../src/simulate/contextKeys.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAE9D;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;AAE3D;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC;AAED;;;;GAIG;AACH,eAAO,MAAM,2CAA2C,iBAAiB,CAAA;AAEzE,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAyB7C,CAAA;AAED,eAAO,MAAM,YAAY;;;;;;;;;CASxB,CAAA;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAKnE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAK7F;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,gBAAgB,EAC/B,iBAAiB,EAAE,yBAAyB,EAC5C,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,WAAW,EAChC,8BAA8B,CAAC,EAAE,MAAM,EACvC,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC;IAAE,oBAAoB,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC,CAsItE;AAwBD;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,gBAAgB,GAC9B,OAAO,CAAC,WAAW,CAAC,CAgEtB;AAyCD;;;;;GAKG;AACH,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5E"}
1
+ {"version":3,"file":"contextKeys.d.ts","sourceRoot":"","sources":["../../../src/simulate/contextKeys.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAE9D;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;AAE3D;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;IAEjC;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED;;;;GAIG;AACH,eAAO,MAAM,2CAA2C,iBAAiB,CAAA;AAEzE,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAyB7C,CAAA;AAED,eAAO,MAAM,YAAY;;;;;;;;;CASxB,CAAA;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAKnE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAK7F;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,gBAAgB,EAC/B,iBAAiB,EAAE,yBAAyB,EAC5C,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,WAAW,EAChC,8BAA8B,CAAC,EAAE,MAAM,EACvC,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC;IAAE,oBAAoB,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC,CAwItE;AAwBD;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,gBAAgB,GAC9B,OAAO,CAAC,WAAW,CAAC,CAgEtB;AAyCD;;;;;GAKG;AACH,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5E"}
@@ -120,9 +120,11 @@ export async function createContextKeys(collectClient, simulationRequest, servic
120
120
  const orgStructure = await collectClient.getOrgUnitHierarchyForAccount(principalAccountId);
121
121
  contextKeys['aws:PrincipalOrgPaths'] = makeOrgPaths(orgId, orgStructure);
122
122
  }
123
- const { tags } = await collectClient.getTagsForResource(principalArnForContext, principalAccountId);
124
- for (const [key, value] of Object.entries(tags)) {
125
- contextKeys[`aws:PrincipalTag/${key}`] = value;
123
+ if (options.includePrincipalTags !== false) {
124
+ const { tags } = await collectClient.getTagsForResource(principalArnForContext, principalAccountId);
125
+ for (const [key, value] of Object.entries(tags)) {
126
+ contextKeys[`aws:PrincipalTag/${key}`] = value;
127
+ }
126
128
  }
127
129
  contextKeys['aws:PrincipalIsAWSService'] = 'false';
128
130
  if (service.toLowerCase() === 'kms') {
@@ -1 +1 @@
1
- {"version":3,"file":"contextKeys.js","sourceRoot":"","sources":["../../../src/simulate/contextKeys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contextKeys.js","sourceRoot":"","sources":["../../../src/simulate/contextKeys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { type ValidatedPolicy } from '@actsecurity/iam-policy';
2
+ /** A tag-key value permitted by a role trust policy. */
3
+ export interface SessionTagKey {
4
+ /** Tag-key spelling from the trust policy. */
5
+ tagKey: string;
6
+ /** Whether the trust-policy comparison ignores case. */
7
+ ignoreCase: boolean;
8
+ }
9
+ /** Describes which tag keys a role session may supply, independently of the role's stored tags. */
10
+ export type RoleSessionTagCapability = {
11
+ type: 'none';
12
+ } | {
13
+ type: 'any';
14
+ } | {
15
+ type: 'allowlist';
16
+ tagKeys: SessionTagKey[];
17
+ };
18
+ /**
19
+ * Determines which tag keys a role session may supply from the role's trust policy.
20
+ *
21
+ * This result intentionally does not depend on tags currently stored on the role. Deny statements
22
+ * and conditions unrelated to `aws:TagKeys` are ignored. Supported
23
+ * `ForAllValues:StringEquals` operators form a finite allowlist for one Allow statement, while
24
+ * `ForAnyValue`, unsupported operators, and policy-variable values conservatively permit any key.
25
+ *
26
+ * @param trustPolicy the role's validated trust policy, or undefined when it was not collected
27
+ * @returns the role's session-tag key capability
28
+ */
29
+ export declare function roleSessionTagCapability(trustPolicy: ValidatedPolicy<{
30
+ name: string;
31
+ }> | undefined): RoleSessionTagCapability;
32
+ /**
33
+ * Determines whether a tag key can be supplied by a role session.
34
+ *
35
+ * @param capability the trust-policy-derived session-tag capability
36
+ * @param tagKey the tag key to test
37
+ * @returns true when a role session may supply the key
38
+ */
39
+ export declare function roleSessionCanSetTagKey(capability: RoleSessionTagCapability, tagKey: string): boolean;
40
+ /**
41
+ * Builds a slash-delimited regex constraint for PrincipalTag keys that cannot be session supplied.
42
+ *
43
+ * The iam-simulate constraint matcher is case-insensitive. Consequently, case variants of a
44
+ * case-sensitive allowlist entry are also excluded from this strict pattern. That may preserve
45
+ * extra conditional results, but it cannot incorrectly make a mutable tag strict.
46
+ *
47
+ * @param capability the trust-policy-derived session-tag capability
48
+ * @returns a strict PrincipalTag pattern, or undefined when every tag key may be supplied
49
+ */
50
+ export declare function immutablePrincipalTagPattern(capability: RoleSessionTagCapability): string | undefined;
51
+ //# sourceMappingURL=roleSessionTags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roleSessionTags.d.ts","sourceRoot":"","sources":["../../../src/simulate/roleSessionTags.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAA;AAOhC,wDAAwD;AACxD,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAA;IAEd,wDAAwD;IACxD,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,mGAAmG;AACnG,MAAM,MAAM,wBAAwB,GAClC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAA;CAAE,CAAA;AAQtF;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,eAAe,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,GACzD,wBAAwB,CAiC1B;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,wBAAwB,EACpC,MAAM,EAAE,MAAM,GACb,OAAO,CAST;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,wBAAwB,GACnC,MAAM,GAAG,SAAS,CAUpB"}