@actsecurity/iam-lens 0.1.163 → 0.1.165
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.
- package/README.md +30 -1
- package/dist/cjs/cli.js +38 -15
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +4 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/principals.d.ts +1 -0
- package/dist/cjs/principals.d.ts.map +1 -1
- package/dist/cjs/principals.js +5 -2
- package/dist/cjs/principals.js.map +1 -1
- package/dist/cjs/simulate/cliVariant.d.ts +116 -0
- package/dist/cjs/simulate/cliVariant.d.ts.map +1 -0
- package/dist/cjs/simulate/cliVariant.js +87 -0
- package/dist/cjs/simulate/cliVariant.js.map +1 -0
- package/dist/cjs/simulate/contextKeys.d.ts +23 -2
- package/dist/cjs/simulate/contextKeys.d.ts.map +1 -1
- package/dist/cjs/simulate/contextKeys.js +41 -11
- package/dist/cjs/simulate/contextKeys.js.map +1 -1
- package/dist/cjs/simulate/generatedPolicies.d.ts +23 -0
- package/dist/cjs/simulate/generatedPolicies.d.ts.map +1 -0
- package/dist/cjs/simulate/generatedPolicies.js +60 -0
- package/dist/cjs/simulate/generatedPolicies.js.map +1 -0
- package/dist/cjs/simulate/simulate.d.ts +107 -21
- package/dist/cjs/simulate/simulate.d.ts.map +1 -1
- package/dist/cjs/simulate/simulate.js +357 -190
- package/dist/cjs/simulate/simulate.js.map +1 -1
- package/dist/esm/cli.js +39 -16
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/principals.d.ts +1 -0
- package/dist/esm/principals.d.ts.map +1 -1
- package/dist/esm/principals.js +5 -2
- package/dist/esm/principals.js.map +1 -1
- package/dist/esm/simulate/cliVariant.d.ts +116 -0
- package/dist/esm/simulate/cliVariant.d.ts.map +1 -0
- package/dist/esm/simulate/cliVariant.js +84 -0
- package/dist/esm/simulate/cliVariant.js.map +1 -0
- package/dist/esm/simulate/contextKeys.d.ts +23 -2
- package/dist/esm/simulate/contextKeys.d.ts.map +1 -1
- package/dist/esm/simulate/contextKeys.js +40 -12
- package/dist/esm/simulate/contextKeys.js.map +1 -1
- package/dist/esm/simulate/generatedPolicies.d.ts +23 -0
- package/dist/esm/simulate/generatedPolicies.d.ts.map +1 -0
- package/dist/esm/simulate/generatedPolicies.js +56 -0
- package/dist/esm/simulate/generatedPolicies.js.map +1 -0
- package/dist/esm/simulate/simulate.d.ts +107 -21
- package/dist/esm/simulate/simulate.d.ts.map +1 -1
- package/dist/esm/simulate/simulate.js +356 -192
- package/dist/esm/simulate/simulate.js.map +1 -1
- package/package.json +1 -1
|
@@ -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":"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"}
|
package/dist/esm/cli.js
CHANGED
|
@@ -4,7 +4,8 @@ import { NoCacheProvider } from './collect/client.js';
|
|
|
4
4
|
import { getCollectClient, loadCollectConfigs } from './collect/collect.js';
|
|
5
5
|
import { principalCan } from './principalCan/principalCan.js';
|
|
6
6
|
import { makePrincipalIndex } from './principalIndex/makePrincipalIndex.js';
|
|
7
|
-
import {
|
|
7
|
+
import { selectSimulateCliVariant } from './simulate/cliVariant.js';
|
|
8
|
+
import { resultMatchesExpectation, simulateAnonymousRequest, simulateExternalPrincipalRequest, simulateExternalResourceRequest, simulateRequest } from './simulate/simulate.js';
|
|
8
9
|
import { iamLensVersion } from './utils/packageVersion.js';
|
|
9
10
|
import { stringOrFileArgument } from './utils/stringOrFileArgument.js';
|
|
10
11
|
import { whoCan } from './whoCan/whoCan.js';
|
|
@@ -37,9 +38,20 @@ const main = async () => {
|
|
|
37
38
|
description: 'The expected result of the simulation, if the result does not match the expected response a non-zero exit code will be returned',
|
|
38
39
|
validValues: ['Allowed', 'ImplicitlyDenied', 'ExplicitlyDenied', 'AnyDeny']
|
|
39
40
|
}),
|
|
40
|
-
|
|
41
|
-
description: '
|
|
42
|
-
character: '
|
|
41
|
+
anonymous: booleanArgument({
|
|
42
|
+
description: 'Simulate an unsigned request to a concrete resource ARN. Wildcard-only actions are unsupported; cannot be combined with --principal or --session-policy',
|
|
43
|
+
character: 'a'
|
|
44
|
+
}),
|
|
45
|
+
externalPrincipal: booleanArgument({
|
|
46
|
+
description: 'Simulate an uncollected principal with an allow-all identity policy and no SCPs. Wildcard-only actions are unsupported',
|
|
47
|
+
character: 'e'
|
|
48
|
+
}),
|
|
49
|
+
externalResource: booleanArgument({
|
|
50
|
+
description: 'Simulate a concrete resource ARN outside the dataset with no RCPs and an allow-all resource or trust policy. Wildcard-only actions are unsupported',
|
|
51
|
+
character: 'x'
|
|
52
|
+
}),
|
|
53
|
+
resourcePolicy: stringOrFileArgument({
|
|
54
|
+
description: 'Resource policy for --external-resource, or trust policy for an STS assume-role action'
|
|
43
55
|
}),
|
|
44
56
|
s3AbacOverride: enumArgument({
|
|
45
57
|
description: 'Override the S3 ABAC setting for S3 buckets. Defaults to the bucket setting stored in your iam-collect data',
|
|
@@ -110,24 +122,35 @@ const main = async () => {
|
|
|
110
122
|
checkForUpdates: '@actsecurity/iam-lens'
|
|
111
123
|
}
|
|
112
124
|
});
|
|
125
|
+
const simulateSelection = cli.subcommand === 'simulate'
|
|
126
|
+
? selectSimulateCliVariant({
|
|
127
|
+
anonymous: cli.args.anonymous,
|
|
128
|
+
externalPrincipal: cli.args.externalPrincipal,
|
|
129
|
+
externalResource: cli.args.externalResource,
|
|
130
|
+
principal: cli.args.principal,
|
|
131
|
+
resource: cli.args.resource,
|
|
132
|
+
resourceAccount: cli.args.resourceAccount,
|
|
133
|
+
action: cli.args.action,
|
|
134
|
+
customContextKeys: singularizeOneEntryArrays(cli.args.context),
|
|
135
|
+
sessionPolicy: cli.args.sessionPolicy,
|
|
136
|
+
resourcePolicy: cli.args.resourcePolicy,
|
|
137
|
+
s3AbacOverride: cli.args.s3AbacOverride
|
|
138
|
+
})
|
|
139
|
+
: undefined;
|
|
113
140
|
if (cli.args.collectConfigs.length === 0) {
|
|
114
141
|
cli.args.collectConfigs.push('./iam-collect.jsonc');
|
|
115
142
|
}
|
|
116
143
|
const collectConfigs = await loadCollectConfigs(cli.args.collectConfigs);
|
|
117
144
|
const collectClient = await getCollectClient(collectConfigs, cli.args.partition);
|
|
118
145
|
if (cli.subcommand === 'simulate') {
|
|
119
|
-
const
|
|
120
|
-
const { request, result } =
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
simulationMode: 'Strict',
|
|
128
|
-
ignoreMissingPrincipal,
|
|
129
|
-
s3AbacOverride: cli.args.s3AbacOverride
|
|
130
|
-
}, collectClient);
|
|
146
|
+
const selection = simulateSelection;
|
|
147
|
+
const { request, result } = selection.variant === 'anonymous'
|
|
148
|
+
? await simulateAnonymousRequest(selection.request, collectClient)
|
|
149
|
+
: selection.variant === 'externalPrincipal'
|
|
150
|
+
? await simulateExternalPrincipalRequest(selection.request, collectClient)
|
|
151
|
+
: selection.variant === 'externalResource'
|
|
152
|
+
? await simulateExternalResourceRequest(selection.request, collectClient)
|
|
153
|
+
: await simulateRequest(selection.request, collectClient);
|
|
131
154
|
if (result.resultType === 'error') {
|
|
132
155
|
console.error('Simulation Errors:');
|
|
133
156
|
console.log(JSON.stringify(result.errors, null, 2));
|
package/dist/esm/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,OAAO,EAAE,wBAAwB,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -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, type SimulationRequest } from './simulate/simulate.js';
|
|
7
|
+
export { simulateRequest, simulateAnonymousRequest, simulateExternalPrincipalRequest, simulateExternalResourceRequest, type SimulationRequest, type AnonymousSimulationRequest, 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';
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
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 } from './simulate/simulate.js';
|
|
5
|
+
export { simulateRequest, simulateAnonymousRequest, simulateExternalPrincipalRequest, 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';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/esm/principals.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ export declare function getAllPoliciesForRole(collectClient: IamCollectClient, p
|
|
|
32
32
|
*
|
|
33
33
|
* IAM role and assumed-role principals are resolved to their canonical stored ARN before
|
|
34
34
|
* loading policies so pathless STS session principals can use path-qualified IAM role data.
|
|
35
|
+
* SCPs are omitted for service-linked roles because they are not subject to SCP enforcement.
|
|
35
36
|
*
|
|
36
37
|
* @param collectClient the IAM collect client to use for retrieving policies
|
|
37
38
|
* @param principalArn the ARN or service principal to get policies for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"principals.d.ts","sourceRoot":"","sources":["../../src/principals.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAA;AAE5B,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,cAAc,EAAE,YAAY,EAAE,CAAA;IAC9B,kBAAkB,EAAE,aAAa,GAAG,SAAS,CAAA;IAC7C,IAAI,EAAE,qBAAqB,EAAE,CAAA;IAC7B,IAAI,EAAE,qBAAqB,EAAE,CAAA;IAC7B,aAAa,CAAC,EAAE;QACd,KAAK,EAAE,MAAM,CAAA;QACb,eAAe,EAAE,aAAa,EAAE,CAAA;QAChC,cAAc,EAAE,YAAY,EAAE,CAAA;KAC/B,EAAE,CAAA;CACJ;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,aAAa,EAAE,gBAAgB,EAC/B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC,CA2B5B;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,aAAa,EAAE,gBAAgB,EAC/B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAgB5B;AAED
|
|
1
|
+
{"version":3,"file":"principals.d.ts","sourceRoot":"","sources":["../../src/principals.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAA;AAE5B,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,cAAc,EAAE,YAAY,EAAE,CAAA;IAC9B,kBAAkB,EAAE,aAAa,GAAG,SAAS,CAAA;IAC7C,IAAI,EAAE,qBAAqB,EAAE,CAAA;IAC7B,IAAI,EAAE,qBAAqB,EAAE,CAAA;IAC7B,aAAa,CAAC,EAAE;QACd,KAAK,EAAE,MAAM,CAAA;QACb,eAAe,EAAE,aAAa,EAAE,CAAA;QAChC,cAAc,EAAE,YAAY,EAAE,CAAA;KAC/B,EAAE,CAAA;CACJ;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,aAAa,EAAE,gBAAgB,EAC/B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC,CA2B5B;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,aAAa,EAAE,gBAAgB,EAC/B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAgB5B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,gBAAgB,EAC/B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC,CA8B5B;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAG9D;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAM1D;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAM1D;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,gBAAgB,GAC9B,OAAO,CAAC,OAAO,CAAC,CAMlB"}
|
package/dist/esm/principals.js
CHANGED
|
@@ -61,6 +61,7 @@ export async function getAllPoliciesForRole(collectClient, principalArn) {
|
|
|
61
61
|
*
|
|
62
62
|
* IAM role and assumed-role principals are resolved to their canonical stored ARN before
|
|
63
63
|
* loading policies so pathless STS session principals can use path-qualified IAM role data.
|
|
64
|
+
* SCPs are omitted for service-linked roles because they are not subject to SCP enforcement.
|
|
64
65
|
*
|
|
65
66
|
* @param collectClient the IAM collect client to use for retrieving policies
|
|
66
67
|
* @param principalArn the ARN or service principal to get policies for
|
|
@@ -84,12 +85,14 @@ export async function getAllPoliciesForPrincipal(collectClient, principalArn) {
|
|
|
84
85
|
}
|
|
85
86
|
else if (isIamRoleArn(principalArn)) {
|
|
86
87
|
const roleArn = (await collectClient.resolvePrincipalArn(principalArn)) ?? principalArn;
|
|
87
|
-
|
|
88
|
+
const policies = await getAllPoliciesForRole(collectClient, roleArn);
|
|
89
|
+
return isServiceLinkedRole(roleArn) ? { ...policies, scps: [] } : policies;
|
|
88
90
|
}
|
|
89
91
|
else if (isAssumedRoleArn(principalArn)) {
|
|
90
92
|
const roleArn = (await collectClient.resolvePrincipalArn(principalArn)) ??
|
|
91
93
|
convertAssumedRoleArnToRoleArn(principalArn);
|
|
92
|
-
|
|
94
|
+
const policies = await getAllPoliciesForRole(collectClient, roleArn);
|
|
95
|
+
return isServiceLinkedRole(roleArn) ? { ...policies, scps: [] } : policies;
|
|
93
96
|
}
|
|
94
97
|
throw new Error(`Unsupported principal type: ${principalArn}`);
|
|
95
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"principals.js","sourceRoot":"","sources":["../../src/principals.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,gBAAgB,EAIjB,MAAM,qBAAqB,CAAA;AAe5B;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,aAA+B,EAC/B,YAAoB;IAEpB,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,SAAU,CAAA;IAExD,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAA;IACnF,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAA;IACjF,MAAM,kBAAkB,GAAG,MAAM,aAAa,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAA;IAC1F,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACjE,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAA;IACrE,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAA;IACrE,MAAM,aAAa,GAAG,EAAE,CAAA;IACxB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,oBAAoB,GAAG,MAAM,aAAa,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAA;QAClF,MAAM,mBAAmB,GAAG,MAAM,aAAa,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAA;QAChF,aAAa,CAAC,IAAI,CAAC;YACjB,KAAK;YACL,eAAe,EAAE,oBAAoB;YACrC,cAAc,EAAE,mBAAmB;SACpC,CAAC,CAAA;IACJ,CAAC;IACD,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,eAAe;QACf,cAAc;QACd,kBAAkB;QAClB,aAAa;KACd,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,aAA+B,EAC/B,YAAoB;IAEpB,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,SAAU,CAAA;IAExD,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAA;IACnF,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAA;IACjF,MAAM,kBAAkB,GAAG,MAAM,aAAa,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAA;IAC1F,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAA;IACrE,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAA;IAErE,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,eAAe;QACf,cAAc;QACd,kBAAkB;KACnB,CAAA;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"principals.js","sourceRoot":"","sources":["../../src/principals.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import type { S3AbacOverride } from '../utils/s3Abac.js';
|
|
2
|
+
import { type ContextKeys } from './contextKeys.js';
|
|
3
|
+
import type { AnonymousSimulationRequest, ExternalResourceSimulationRequest, SimulationRequest } from './simulate.js';
|
|
4
|
+
/**
|
|
5
|
+
* Parsed CLI values used to select and construct a simulation request variant.
|
|
6
|
+
*/
|
|
7
|
+
export interface SimulateCliOptions {
|
|
8
|
+
/**
|
|
9
|
+
* Whether to simulate an unsigned request.
|
|
10
|
+
*/
|
|
11
|
+
anonymous?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Whether to simulate a synthetic administrator principal.
|
|
14
|
+
*/
|
|
15
|
+
externalPrincipal?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Whether to simulate a resource outside the collected dataset.
|
|
18
|
+
*/
|
|
19
|
+
externalResource?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Authenticated principal for non-anonymous simulations.
|
|
22
|
+
*/
|
|
23
|
+
principal?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Resource ARN supplied on the command line.
|
|
26
|
+
*/
|
|
27
|
+
resource?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Explicit resource account supplied on the command line.
|
|
30
|
+
*/
|
|
31
|
+
resourceAccount?: string;
|
|
32
|
+
/**
|
|
33
|
+
* IAM action supplied on the command line.
|
|
34
|
+
*/
|
|
35
|
+
action?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Caller-provided IAM context values.
|
|
38
|
+
*/
|
|
39
|
+
customContextKeys: ContextKeys;
|
|
40
|
+
/**
|
|
41
|
+
* Optional session policy parsed from JSON or a file.
|
|
42
|
+
*/
|
|
43
|
+
sessionPolicy?: any;
|
|
44
|
+
/**
|
|
45
|
+
* Optional external resource or trust policy parsed from JSON or a file.
|
|
46
|
+
*/
|
|
47
|
+
resourcePolicy?: unknown;
|
|
48
|
+
/**
|
|
49
|
+
* Optional S3 ABAC behavior override.
|
|
50
|
+
*/
|
|
51
|
+
s3AbacOverride?: S3AbacOverride;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* A validated normal simulation selected by CLI options.
|
|
55
|
+
*/
|
|
56
|
+
export interface NormalSimulateCliSelection {
|
|
57
|
+
/**
|
|
58
|
+
* Discriminant identifying normal collected-principal and collected-resource simulation.
|
|
59
|
+
*/
|
|
60
|
+
variant: 'normal';
|
|
61
|
+
/**
|
|
62
|
+
* Request passed to {@link simulateRequest}.
|
|
63
|
+
*/
|
|
64
|
+
request: SimulationRequest;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* A validated anonymous simulation selected by CLI options.
|
|
68
|
+
*/
|
|
69
|
+
export interface AnonymousSimulateCliSelection {
|
|
70
|
+
/**
|
|
71
|
+
* Discriminant identifying unsigned simulation.
|
|
72
|
+
*/
|
|
73
|
+
variant: 'anonymous';
|
|
74
|
+
/**
|
|
75
|
+
* Request passed to {@link simulateAnonymousRequest}.
|
|
76
|
+
*/
|
|
77
|
+
request: AnonymousSimulationRequest;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* A validated external-principal simulation selected by CLI options.
|
|
81
|
+
*/
|
|
82
|
+
export interface ExternalPrincipalSimulateCliSelection {
|
|
83
|
+
/**
|
|
84
|
+
* Discriminant identifying synthetic administrator-principal simulation.
|
|
85
|
+
*/
|
|
86
|
+
variant: 'externalPrincipal';
|
|
87
|
+
/**
|
|
88
|
+
* Request passed to {@link simulateExternalPrincipalRequest}.
|
|
89
|
+
*/
|
|
90
|
+
request: SimulationRequest;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* A validated external-resource simulation selected by CLI options.
|
|
94
|
+
*/
|
|
95
|
+
export interface ExternalResourceSimulateCliSelection {
|
|
96
|
+
/**
|
|
97
|
+
* Discriminant identifying simulation against an uncollected resource.
|
|
98
|
+
*/
|
|
99
|
+
variant: 'externalResource';
|
|
100
|
+
/**
|
|
101
|
+
* Request passed to {@link simulateExternalResourceRequest}.
|
|
102
|
+
*/
|
|
103
|
+
request: ExternalResourceSimulationRequest;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Validated simulation selection produced from CLI arguments.
|
|
107
|
+
*/
|
|
108
|
+
export type SimulateCliSelection = NormalSimulateCliSelection | AnonymousSimulateCliSelection | ExternalPrincipalSimulateCliSelection | ExternalResourceSimulateCliSelection;
|
|
109
|
+
/**
|
|
110
|
+
* Validate simulation CLI options and construct the corresponding library request.
|
|
111
|
+
*
|
|
112
|
+
* @param options parsed CLI simulation options
|
|
113
|
+
* @returns a discriminated simulation selection ready for dispatch
|
|
114
|
+
*/
|
|
115
|
+
export declare function selectSimulateCliVariant(options: SimulateCliOptions): SimulateCliSelection;
|
|
116
|
+
//# sourceMappingURL=cliVariant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliVariant.d.ts","sourceRoot":"","sources":["../../../src/simulate/cliVariant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAkC,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnF,OAAO,KAAK,EACV,0BAA0B,EAC1B,iCAAiC,EACjC,iBAAiB,EAClB,MAAM,eAAe,CAAA;AAEtB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,iBAAiB,EAAE,WAAW,CAAA;IAE9B;;OAEG;IACH,aAAa,CAAC,EAAE,GAAG,CAAA;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,OAAO,EAAE,QAAQ,CAAA;IAEjB;;OAEG;IACH,OAAO,EAAE,iBAAiB,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,OAAO,EAAE,WAAW,CAAA;IAEpB;;OAEG;IACH,OAAO,EAAE,0BAA0B,CAAA;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,qCAAqC;IACpD;;OAEG;IACH,OAAO,EAAE,mBAAmB,CAAA;IAE5B;;OAEG;IACH,OAAO,EAAE,iBAAiB,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACnD;;OAEG;IACH,OAAO,EAAE,kBAAkB,CAAA;IAE3B;;OAEG;IACH,OAAO,EAAE,iCAAiC,CAAA;CAC3C;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAC5B,0BAA0B,GAC1B,6BAA6B,GAC7B,qCAAqC,GACrC,oCAAoC,CAAA;AAExC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,GAAG,oBAAoB,CAiF1F"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { isAnonymousPrincipalContextKey } from './contextKeys.js';
|
|
2
|
+
/**
|
|
3
|
+
* Validate simulation CLI options and construct the corresponding library request.
|
|
4
|
+
*
|
|
5
|
+
* @param options parsed CLI simulation options
|
|
6
|
+
* @returns a discriminated simulation selection ready for dispatch
|
|
7
|
+
*/
|
|
8
|
+
export function selectSimulateCliVariant(options) {
|
|
9
|
+
const variants = [options.anonymous, options.externalPrincipal, options.externalResource].filter(Boolean);
|
|
10
|
+
if (variants.length > 1) {
|
|
11
|
+
throw new Error('Only one of --anonymous, --external-principal, or --external-resource may be specified.');
|
|
12
|
+
}
|
|
13
|
+
if (!options.action) {
|
|
14
|
+
throw new Error('--action is required for simulate.');
|
|
15
|
+
}
|
|
16
|
+
if (options.resourcePolicy !== undefined && !options.externalResource) {
|
|
17
|
+
throw new Error('--resource-policy may only be used with --external-resource.');
|
|
18
|
+
}
|
|
19
|
+
const commonRequest = {
|
|
20
|
+
resourceArn: options.resource,
|
|
21
|
+
resourceAccount: options.resourceAccount,
|
|
22
|
+
action: options.action,
|
|
23
|
+
customContextKeys: options.customContextKeys,
|
|
24
|
+
simulationMode: 'Strict',
|
|
25
|
+
s3AbacOverride: options.s3AbacOverride
|
|
26
|
+
};
|
|
27
|
+
if (options.anonymous) {
|
|
28
|
+
if (options.principal) {
|
|
29
|
+
throw new Error('--principal cannot be used with --anonymous.');
|
|
30
|
+
}
|
|
31
|
+
if (options.sessionPolicy !== undefined) {
|
|
32
|
+
throw new Error('--session-policy cannot be used with --anonymous.');
|
|
33
|
+
}
|
|
34
|
+
if (!options.resource) {
|
|
35
|
+
throw new Error('--resource is required with --anonymous.');
|
|
36
|
+
}
|
|
37
|
+
const invalidContextKey = Object.keys(options.customContextKeys).find(isAnonymousPrincipalContextKey);
|
|
38
|
+
if (invalidContextKey) {
|
|
39
|
+
throw new Error(`Anonymous simulations cannot specify principal-derived context key ${invalidContextKey}.`);
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
variant: 'anonymous',
|
|
43
|
+
request: { ...commonRequest, resourceArn: options.resource }
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
if (!options.principal) {
|
|
47
|
+
throw new Error('--principal is required unless --anonymous is specified.');
|
|
48
|
+
}
|
|
49
|
+
const authenticatedRequest = {
|
|
50
|
+
...commonRequest,
|
|
51
|
+
principal: options.principal,
|
|
52
|
+
sessionPolicy: options.sessionPolicy
|
|
53
|
+
};
|
|
54
|
+
if (options.externalPrincipal) {
|
|
55
|
+
return { variant: 'externalPrincipal', request: authenticatedRequest };
|
|
56
|
+
}
|
|
57
|
+
if (options.externalResource) {
|
|
58
|
+
if (!options.resource) {
|
|
59
|
+
throw new Error('--resource is required with --external-resource.');
|
|
60
|
+
}
|
|
61
|
+
if (options.resourcePolicy !== undefined && !isJsonObject(options.resourcePolicy)) {
|
|
62
|
+
throw new Error('--resource-policy must contain a JSON object.');
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
variant: 'externalResource',
|
|
66
|
+
request: {
|
|
67
|
+
...authenticatedRequest,
|
|
68
|
+
resourceArn: options.resource,
|
|
69
|
+
resourcePolicy: options.resourcePolicy
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
return { variant: 'normal', request: authenticatedRequest };
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Check whether a parsed JSON value is an object suitable for policy validation.
|
|
77
|
+
*
|
|
78
|
+
* @param value parsed JSON value
|
|
79
|
+
* @returns true for non-null, non-array objects
|
|
80
|
+
*/
|
|
81
|
+
function isJsonObject(value) {
|
|
82
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=cliVariant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliVariant.js","sourceRoot":"","sources":["../../../src/simulate/cliVariant.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IamCollectClient } from '../collect/client.js';
|
|
2
|
-
import {
|
|
2
|
+
import type { InternalSimulationRequest } from './simulate.js';
|
|
3
3
|
/**
|
|
4
4
|
* Context keys for IAM simulation requests.
|
|
5
5
|
*
|
|
@@ -8,6 +8,15 @@ import { type SimulationRequest } from './simulate.js';
|
|
|
8
8
|
* context keys that may be required for the simulation.
|
|
9
9
|
*/
|
|
10
10
|
export type ContextKeys = Record<string, string | string[]>;
|
|
11
|
+
/**
|
|
12
|
+
* Controls optional collected metadata lookups while deriving context keys.
|
|
13
|
+
*/
|
|
14
|
+
export interface CreateContextKeysOptions {
|
|
15
|
+
/**
|
|
16
|
+
* Whether resource tags and presence should be loaded from collected data.
|
|
17
|
+
*/
|
|
18
|
+
includeResourceMetadata?: boolean;
|
|
19
|
+
}
|
|
11
20
|
/**
|
|
12
21
|
* Placeholder for the caller account AWS supplies on a service-mediated KMS request.
|
|
13
22
|
*
|
|
@@ -25,6 +34,17 @@ export declare const CONTEXT_KEYS: {
|
|
|
25
34
|
vpcEndpointOrgPaths: string;
|
|
26
35
|
vpcArn: string;
|
|
27
36
|
};
|
|
37
|
+
/**
|
|
38
|
+
* Determine whether a context key requires an authenticated principal or its credentials.
|
|
39
|
+
*
|
|
40
|
+
* Anonymous requests cannot supply these keys as overrides because AWS treats the corresponding
|
|
41
|
+
* principal identity as absent. Principal-prefixed keys include fixed keys such as
|
|
42
|
+
* `aws:PrincipalArn` and dynamic keys such as `aws:PrincipalTag/team`.
|
|
43
|
+
*
|
|
44
|
+
* @param key context key name to classify
|
|
45
|
+
* @returns whether the key is unavailable to anonymous requests
|
|
46
|
+
*/
|
|
47
|
+
export declare function isAnonymousPrincipalContextKey(key: string): boolean;
|
|
28
48
|
/**
|
|
29
49
|
* Checks if a context has a specific key (case-insensitive).
|
|
30
50
|
*
|
|
@@ -49,9 +69,10 @@ export declare function contextValue(context: ContextKeys, key: string): string
|
|
|
49
69
|
* @param service the service the request is for
|
|
50
70
|
* @param contextKeyOverrides the context key overrides to apply
|
|
51
71
|
* @param resolvedPrincipalArnForContext canonical principal ARN to use for role-backed context keys
|
|
72
|
+
* @param options controls collected resource metadata lookups
|
|
52
73
|
* @returns a promise that resolves to the context keys for the simulation request
|
|
53
74
|
*/
|
|
54
|
-
export declare function createContextKeys(collectClient: IamCollectClient, simulationRequest:
|
|
75
|
+
export declare function createContextKeys(collectClient: IamCollectClient, simulationRequest: InternalSimulationRequest, service: string, contextKeyOverrides: ContextKeys, resolvedPrincipalArnForContext?: string, options?: CreateContextKeysOptions): Promise<{
|
|
55
76
|
resourceTagsAreKnown: boolean;
|
|
56
77
|
contextKeys: ContextKeys;
|
|
57
78
|
}>;
|
|
@@ -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,EAAE,
|
|
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"}
|