@actsecurity/iam-lens 0.1.156
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/LICENSE.txt +661 -0
- package/README.md +203 -0
- package/dist/cjs/cli.d.ts +3 -0
- package/dist/cjs/cli.d.ts.map +1 -0
- package/dist/cjs/cli.js +206 -0
- package/dist/cjs/cli.js.map +1 -0
- package/dist/cjs/collect/client.d.ts +550 -0
- package/dist/cjs/collect/client.d.ts.map +1 -0
- package/dist/cjs/collect/client.js +1119 -0
- package/dist/cjs/collect/client.js.map +1 -0
- package/dist/cjs/collect/collect.d.ts +44 -0
- package/dist/cjs/collect/collect.d.ts.map +1 -0
- package/dist/cjs/collect/collect.js +55 -0
- package/dist/cjs/collect/collect.js.map +1 -0
- package/dist/cjs/collect/inMemoryClient.d.ts +6 -0
- package/dist/cjs/collect/inMemoryClient.d.ts.map +1 -0
- package/dist/cjs/collect/inMemoryClient.js +11 -0
- package/dist/cjs/collect/inMemoryClient.js.map +1 -0
- package/dist/cjs/index.d.ts +13 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +28 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/principalCan/permission.d.ts +125 -0
- package/dist/cjs/principalCan/permission.d.ts.map +1 -0
- package/dist/cjs/principalCan/permission.js +1229 -0
- package/dist/cjs/principalCan/permission.js.map +1 -0
- package/dist/cjs/principalCan/permissionSet.d.ts +140 -0
- package/dist/cjs/principalCan/permissionSet.d.ts.map +1 -0
- package/dist/cjs/principalCan/permissionSet.js +437 -0
- package/dist/cjs/principalCan/permissionSet.js.map +1 -0
- package/dist/cjs/principalCan/principalCan.d.ts +26 -0
- package/dist/cjs/principalCan/principalCan.d.ts.map +1 -0
- package/dist/cjs/principalCan/principalCan.js +195 -0
- package/dist/cjs/principalCan/principalCan.js.map +1 -0
- package/dist/cjs/principalCan/principalConstraints.d.ts +147 -0
- package/dist/cjs/principalCan/principalConstraints.d.ts.map +1 -0
- package/dist/cjs/principalCan/principalConstraints.js +472 -0
- package/dist/cjs/principalCan/principalConstraints.js.map +1 -0
- package/dist/cjs/principalCan/resources/actions.d.ts +9 -0
- package/dist/cjs/principalCan/resources/actions.d.ts.map +1 -0
- package/dist/cjs/principalCan/resources/actions.js +27 -0
- package/dist/cjs/principalCan/resources/actions.js.map +1 -0
- package/dist/cjs/principalCan/resources/resourceTypes/iamRoles.d.ts +31 -0
- package/dist/cjs/principalCan/resources/resourceTypes/iamRoles.d.ts.map +1 -0
- package/dist/cjs/principalCan/resources/resourceTypes/iamRoles.js +114 -0
- package/dist/cjs/principalCan/resources/resourceTypes/iamRoles.js.map +1 -0
- package/dist/cjs/principalCan/resources/resourceTypes/kmsKeys.d.ts +30 -0
- package/dist/cjs/principalCan/resources/resourceTypes/kmsKeys.d.ts.map +1 -0
- package/dist/cjs/principalCan/resources/resourceTypes/kmsKeys.js +110 -0
- package/dist/cjs/principalCan/resources/resourceTypes/kmsKeys.js.map +1 -0
- package/dist/cjs/principalCan/resources/resourceTypes/s3Buckets.d.ts +18 -0
- package/dist/cjs/principalCan/resources/resourceTypes/s3Buckets.d.ts.map +1 -0
- package/dist/cjs/principalCan/resources/resourceTypes/s3Buckets.js +123 -0
- package/dist/cjs/principalCan/resources/resourceTypes/s3Buckets.js.map +1 -0
- package/dist/cjs/principalCan/resources/statements.d.ts +27 -0
- package/dist/cjs/principalCan/resources/statements.d.ts.map +1 -0
- package/dist/cjs/principalCan/resources/statements.js +119 -0
- package/dist/cjs/principalCan/resources/statements.js.map +1 -0
- package/dist/cjs/principalIndex/makePrincipalIndex.d.ts +8 -0
- package/dist/cjs/principalIndex/makePrincipalIndex.d.ts.map +1 -0
- package/dist/cjs/principalIndex/makePrincipalIndex.js +105 -0
- package/dist/cjs/principalIndex/makePrincipalIndex.js.map +1 -0
- package/dist/cjs/principals.d.ts +54 -0
- package/dist/cjs/principals.d.ts.map +1 -0
- package/dist/cjs/principals.js +143 -0
- package/dist/cjs/principals.js.map +1 -0
- package/dist/cjs/resources.d.ts +32 -0
- package/dist/cjs/resources.d.ts.map +1 -0
- package/dist/cjs/resources.js +71 -0
- package/dist/cjs/resources.js.map +1 -0
- package/dist/cjs/simulate/contextKeys.d.ts +68 -0
- package/dist/cjs/simulate/contextKeys.d.ts.map +1 -0
- package/dist/cjs/simulate/contextKeys.js +293 -0
- package/dist/cjs/simulate/contextKeys.js.map +1 -0
- package/dist/cjs/simulate/simulate.d.ts +72 -0
- package/dist/cjs/simulate/simulate.d.ts.map +1 -0
- package/dist/cjs/simulate/simulate.js +296 -0
- package/dist/cjs/simulate/simulate.js.map +1 -0
- package/dist/cjs/test-datasets/testClient.d.ts +17 -0
- package/dist/cjs/test-datasets/testClient.d.ts.map +1 -0
- package/dist/cjs/test-datasets/testClient.js +58 -0
- package/dist/cjs/test-datasets/testClient.js.map +1 -0
- package/dist/cjs/utils/arn.d.ts +22 -0
- package/dist/cjs/utils/arn.d.ts.map +1 -0
- package/dist/cjs/utils/arn.js +49 -0
- package/dist/cjs/utils/arn.js.map +1 -0
- package/dist/cjs/utils/bitset.d.ts +45 -0
- package/dist/cjs/utils/bitset.d.ts.map +1 -0
- package/dist/cjs/utils/bitset.js +149 -0
- package/dist/cjs/utils/bitset.js.map +1 -0
- package/dist/cjs/utils/dynamicImport.d.ts +31 -0
- package/dist/cjs/utils/dynamicImport.d.ts.map +1 -0
- package/dist/cjs/utils/dynamicImport.js +64 -0
- package/dist/cjs/utils/dynamicImport.js.map +1 -0
- package/dist/cjs/utils/packageVersion.d.ts +5 -0
- package/dist/cjs/utils/packageVersion.d.ts.map +1 -0
- package/dist/cjs/utils/packageVersion.js +25 -0
- package/dist/cjs/utils/packageVersion.js.map +1 -0
- package/dist/cjs/utils/readPackageFile.d.ts +3 -0
- package/dist/cjs/utils/readPackageFile.d.ts.map +1 -0
- package/dist/cjs/utils/readPackageFile.js +16 -0
- package/dist/cjs/utils/readPackageFile.js.map +1 -0
- package/dist/cjs/utils/s3Abac.d.ts +3 -0
- package/dist/cjs/utils/s3Abac.d.ts.map +1 -0
- package/dist/cjs/utils/s3Abac.js +5 -0
- package/dist/cjs/utils/s3Abac.js.map +1 -0
- package/dist/cjs/utils/stringOrFileArgument.d.ts +9 -0
- package/dist/cjs/utils/stringOrFileArgument.d.ts.map +1 -0
- package/dist/cjs/utils/stringOrFileArgument.js +25 -0
- package/dist/cjs/utils/stringOrFileArgument.js.map +1 -0
- package/dist/cjs/utils/sts.d.ts +2 -0
- package/dist/cjs/utils/sts.d.ts.map +1 -0
- package/dist/cjs/utils/sts.js +9 -0
- package/dist/cjs/utils/sts.js.map +1 -0
- package/dist/cjs/utils/testUtils.d.ts +56 -0
- package/dist/cjs/utils/testUtils.d.ts.map +1 -0
- package/dist/cjs/utils/testUtils.js +95 -0
- package/dist/cjs/utils/testUtils.js.map +1 -0
- package/dist/cjs/utils/workerScript.d.ts +8 -0
- package/dist/cjs/utils/workerScript.d.ts.map +1 -0
- package/dist/cjs/utils/workerScript.js +23 -0
- package/dist/cjs/utils/workerScript.js.map +1 -0
- package/dist/cjs/whoCan/WhoCanMainThreadWorker.d.ts +73 -0
- package/dist/cjs/whoCan/WhoCanMainThreadWorker.d.ts.map +1 -0
- package/dist/cjs/whoCan/WhoCanMainThreadWorker.js +80 -0
- package/dist/cjs/whoCan/WhoCanMainThreadWorker.js.map +1 -0
- package/dist/cjs/whoCan/WhoCanProcessor.d.ts +400 -0
- package/dist/cjs/whoCan/WhoCanProcessor.d.ts.map +1 -0
- package/dist/cjs/whoCan/WhoCanProcessor.js +1088 -0
- package/dist/cjs/whoCan/WhoCanProcessor.js.map +1 -0
- package/dist/cjs/whoCan/WhoCanWorker.d.ts +87 -0
- package/dist/cjs/whoCan/WhoCanWorker.d.ts.map +1 -0
- package/dist/cjs/whoCan/WhoCanWorker.js +201 -0
- package/dist/cjs/whoCan/WhoCanWorker.js.map +1 -0
- package/dist/cjs/whoCan/WhoCanWorkerThreadWorker.d.ts +2 -0
- package/dist/cjs/whoCan/WhoCanWorkerThreadWorker.d.ts.map +1 -0
- package/dist/cjs/whoCan/WhoCanWorkerThreadWorker.js +189 -0
- package/dist/cjs/whoCan/WhoCanWorkerThreadWorker.js.map +1 -0
- package/dist/cjs/whoCan/principalArnFilter.d.ts +84 -0
- package/dist/cjs/whoCan/principalArnFilter.d.ts.map +1 -0
- package/dist/cjs/whoCan/principalArnFilter.js +258 -0
- package/dist/cjs/whoCan/principalArnFilter.js.map +1 -0
- package/dist/cjs/whoCan/principalScope.d.ts +35 -0
- package/dist/cjs/whoCan/principalScope.d.ts.map +1 -0
- package/dist/cjs/whoCan/principalScope.js +104 -0
- package/dist/cjs/whoCan/principalScope.js.map +1 -0
- package/dist/cjs/whoCan/requestAnalysis.d.ts +73 -0
- package/dist/cjs/whoCan/requestAnalysis.d.ts.map +1 -0
- package/dist/cjs/whoCan/requestAnalysis.js +87 -0
- package/dist/cjs/whoCan/requestAnalysis.js.map +1 -0
- package/dist/cjs/whoCan/untrustingActions.d.ts +7 -0
- package/dist/cjs/whoCan/untrustingActions.d.ts.map +1 -0
- package/dist/cjs/whoCan/untrustingActions.js +30 -0
- package/dist/cjs/whoCan/untrustingActions.js.map +1 -0
- package/dist/cjs/whoCan/whoCan.d.ts +295 -0
- package/dist/cjs/whoCan/whoCan.d.ts.map +1 -0
- package/dist/cjs/whoCan/whoCan.js +574 -0
- package/dist/cjs/whoCan/whoCan.js.map +1 -0
- package/dist/cjs/whoCan/workerBootstrapPlugin.d.ts +17 -0
- package/dist/cjs/whoCan/workerBootstrapPlugin.d.ts.map +1 -0
- package/dist/cjs/whoCan/workerBootstrapPlugin.js +3 -0
- package/dist/cjs/whoCan/workerBootstrapPlugin.js.map +1 -0
- package/dist/cjs/workers/ArrayStreamingWorkQueue.d.ts +15 -0
- package/dist/cjs/workers/ArrayStreamingWorkQueue.d.ts.map +1 -0
- package/dist/cjs/workers/ArrayStreamingWorkQueue.js +35 -0
- package/dist/cjs/workers/ArrayStreamingWorkQueue.js.map +1 -0
- package/dist/cjs/workers/JobRunner.d.ts +47 -0
- package/dist/cjs/workers/JobRunner.d.ts.map +1 -0
- package/dist/cjs/workers/JobRunner.js +101 -0
- package/dist/cjs/workers/JobRunner.js.map +1 -0
- package/dist/cjs/workers/RingQueue.d.ts +14 -0
- package/dist/cjs/workers/RingQueue.d.ts.map +1 -0
- package/dist/cjs/workers/RingQueue.js +43 -0
- package/dist/cjs/workers/RingQueue.js.map +1 -0
- package/dist/cjs/workers/SharedArrayBufferMainCache.d.ts +10 -0
- package/dist/cjs/workers/SharedArrayBufferMainCache.d.ts.map +1 -0
- package/dist/cjs/workers/SharedArrayBufferMainCache.js +37 -0
- package/dist/cjs/workers/SharedArrayBufferMainCache.js.map +1 -0
- package/dist/cjs/workers/SharedArrayBufferWorkerCache.d.ts +10 -0
- package/dist/cjs/workers/SharedArrayBufferWorkerCache.d.ts.map +1 -0
- package/dist/cjs/workers/SharedArrayBufferWorkerCache.js +49 -0
- package/dist/cjs/workers/SharedArrayBufferWorkerCache.js.map +1 -0
- package/dist/cjs/workers/StreamingWorkQueue.d.ts +18 -0
- package/dist/cjs/workers/StreamingWorkQueue.d.ts.map +1 -0
- package/dist/cjs/workers/StreamingWorkQueue.js +67 -0
- package/dist/cjs/workers/StreamingWorkQueue.js.map +1 -0
- package/dist/cjs/workers/buffers.d.ts +4 -0
- package/dist/cjs/workers/buffers.d.ts.map +1 -0
- package/dist/cjs/workers/buffers.js +26 -0
- package/dist/cjs/workers/buffers.js.map +1 -0
- package/dist/esm/cli.d.ts +3 -0
- package/dist/esm/cli.d.ts.map +1 -0
- package/dist/esm/cli.js +204 -0
- package/dist/esm/cli.js.map +1 -0
- package/dist/esm/collect/client.d.ts +550 -0
- package/dist/esm/collect/client.d.ts.map +1 -0
- package/dist/esm/collect/client.js +1114 -0
- package/dist/esm/collect/client.js.map +1 -0
- package/dist/esm/collect/collect.d.ts +44 -0
- package/dist/esm/collect/collect.d.ts.map +1 -0
- package/dist/esm/collect/collect.js +51 -0
- package/dist/esm/collect/collect.js.map +1 -0
- package/dist/esm/collect/inMemoryClient.d.ts +6 -0
- package/dist/esm/collect/inMemoryClient.d.ts.map +1 -0
- package/dist/esm/collect/inMemoryClient.js +8 -0
- package/dist/esm/collect/inMemoryClient.js.map +1 -0
- package/dist/esm/index.d.ts +13 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/principalCan/permission.d.ts +125 -0
- package/dist/esm/principalCan/permission.d.ts.map +1 -0
- package/dist/esm/principalCan/permission.js +1212 -0
- package/dist/esm/principalCan/permission.js.map +1 -0
- package/dist/esm/principalCan/permissionSet.d.ts +140 -0
- package/dist/esm/principalCan/permissionSet.d.ts.map +1 -0
- package/dist/esm/principalCan/permissionSet.js +429 -0
- package/dist/esm/principalCan/permissionSet.js.map +1 -0
- package/dist/esm/principalCan/principalCan.d.ts +26 -0
- package/dist/esm/principalCan/principalCan.d.ts.map +1 -0
- package/dist/esm/principalCan/principalCan.js +193 -0
- package/dist/esm/principalCan/principalCan.js.map +1 -0
- package/dist/esm/principalCan/principalConstraints.d.ts +147 -0
- package/dist/esm/principalCan/principalConstraints.d.ts.map +1 -0
- package/dist/esm/principalCan/principalConstraints.js +456 -0
- package/dist/esm/principalCan/principalConstraints.js.map +1 -0
- package/dist/esm/principalCan/resources/actions.d.ts +9 -0
- package/dist/esm/principalCan/resources/actions.d.ts.map +1 -0
- package/dist/esm/principalCan/resources/actions.js +24 -0
- package/dist/esm/principalCan/resources/actions.js.map +1 -0
- package/dist/esm/principalCan/resources/resourceTypes/iamRoles.d.ts +31 -0
- package/dist/esm/principalCan/resources/resourceTypes/iamRoles.d.ts.map +1 -0
- package/dist/esm/principalCan/resources/resourceTypes/iamRoles.js +110 -0
- package/dist/esm/principalCan/resources/resourceTypes/iamRoles.js.map +1 -0
- package/dist/esm/principalCan/resources/resourceTypes/kmsKeys.d.ts +30 -0
- package/dist/esm/principalCan/resources/resourceTypes/kmsKeys.d.ts.map +1 -0
- package/dist/esm/principalCan/resources/resourceTypes/kmsKeys.js +106 -0
- package/dist/esm/principalCan/resources/resourceTypes/kmsKeys.js.map +1 -0
- package/dist/esm/principalCan/resources/resourceTypes/s3Buckets.d.ts +18 -0
- package/dist/esm/principalCan/resources/resourceTypes/s3Buckets.d.ts.map +1 -0
- package/dist/esm/principalCan/resources/resourceTypes/s3Buckets.js +120 -0
- package/dist/esm/principalCan/resources/resourceTypes/s3Buckets.js.map +1 -0
- package/dist/esm/principalCan/resources/statements.d.ts +27 -0
- package/dist/esm/principalCan/resources/statements.d.ts.map +1 -0
- package/dist/esm/principalCan/resources/statements.js +117 -0
- package/dist/esm/principalCan/resources/statements.js.map +1 -0
- package/dist/esm/principalIndex/makePrincipalIndex.d.ts +8 -0
- package/dist/esm/principalIndex/makePrincipalIndex.d.ts.map +1 -0
- package/dist/esm/principalIndex/makePrincipalIndex.js +104 -0
- package/dist/esm/principalIndex/makePrincipalIndex.js.map +1 -0
- package/dist/esm/principals.d.ts +54 -0
- package/dist/esm/principals.d.ts.map +1 -0
- package/dist/esm/principals.js +133 -0
- package/dist/esm/principals.js.map +1 -0
- package/dist/esm/resources.d.ts +32 -0
- package/dist/esm/resources.d.ts.map +1 -0
- package/dist/esm/resources.js +69 -0
- package/dist/esm/resources.js.map +1 -0
- package/dist/esm/simulate/contextKeys.d.ts +68 -0
- package/dist/esm/simulate/contextKeys.d.ts.map +1 -0
- package/dist/esm/simulate/contextKeys.js +287 -0
- package/dist/esm/simulate/contextKeys.js.map +1 -0
- package/dist/esm/simulate/simulate.d.ts +72 -0
- package/dist/esm/simulate/simulate.d.ts.map +1 -0
- package/dist/esm/simulate/simulate.js +295 -0
- package/dist/esm/simulate/simulate.js.map +1 -0
- package/dist/esm/test-datasets/testClient.d.ts +17 -0
- package/dist/esm/test-datasets/testClient.d.ts.map +1 -0
- package/dist/esm/test-datasets/testClient.js +56 -0
- package/dist/esm/test-datasets/testClient.js.map +1 -0
- package/dist/esm/utils/arn.d.ts +22 -0
- package/dist/esm/utils/arn.d.ts.map +1 -0
- package/dist/esm/utils/arn.js +43 -0
- package/dist/esm/utils/arn.js.map +1 -0
- package/dist/esm/utils/bitset.d.ts +45 -0
- package/dist/esm/utils/bitset.d.ts.map +1 -0
- package/dist/esm/utils/bitset.js +141 -0
- package/dist/esm/utils/bitset.js.map +1 -0
- package/dist/esm/utils/dynamicImport.d.ts +31 -0
- package/dist/esm/utils/dynamicImport.d.ts.map +1 -0
- package/dist/esm/utils/dynamicImport.js +60 -0
- package/dist/esm/utils/dynamicImport.js.map +1 -0
- package/dist/esm/utils/packageVersion.d.ts +5 -0
- package/dist/esm/utils/packageVersion.d.ts.map +1 -0
- package/dist/esm/utils/packageVersion.js +22 -0
- package/dist/esm/utils/packageVersion.js.map +1 -0
- package/dist/esm/utils/readPackageFile.d.ts +3 -0
- package/dist/esm/utils/readPackageFile.d.ts.map +1 -0
- package/dist/esm/utils/readPackageFile.js +15 -0
- package/dist/esm/utils/readPackageFile.js.map +1 -0
- package/dist/esm/utils/readPackageFileEsm.d.ts.map +1 -0
- package/dist/esm/utils/s3Abac.d.ts +3 -0
- package/dist/esm/utils/s3Abac.d.ts.map +1 -0
- package/dist/esm/utils/s3Abac.js +2 -0
- package/dist/esm/utils/s3Abac.js.map +1 -0
- package/dist/esm/utils/stringOrFileArgument.d.ts +9 -0
- package/dist/esm/utils/stringOrFileArgument.d.ts.map +1 -0
- package/dist/esm/utils/stringOrFileArgument.js +22 -0
- package/dist/esm/utils/stringOrFileArgument.js.map +1 -0
- package/dist/esm/utils/sts.d.ts +2 -0
- package/dist/esm/utils/sts.d.ts.map +1 -0
- package/dist/esm/utils/sts.js +6 -0
- package/dist/esm/utils/sts.js.map +1 -0
- package/dist/esm/utils/testUtils.d.ts +56 -0
- package/dist/esm/utils/testUtils.d.ts.map +1 -0
- package/dist/esm/utils/testUtils.js +90 -0
- package/dist/esm/utils/testUtils.js.map +1 -0
- package/dist/esm/utils/workerScript.d.ts +8 -0
- package/dist/esm/utils/workerScript.d.ts.map +1 -0
- package/dist/esm/utils/workerScript.js +18 -0
- package/dist/esm/utils/workerScript.js.map +1 -0
- package/dist/esm/utils/workerScriptEsm.d.ts.map +1 -0
- package/dist/esm/whoCan/WhoCanMainThreadWorker.d.ts +73 -0
- package/dist/esm/whoCan/WhoCanMainThreadWorker.d.ts.map +1 -0
- package/dist/esm/whoCan/WhoCanMainThreadWorker.js +81 -0
- package/dist/esm/whoCan/WhoCanMainThreadWorker.js.map +1 -0
- package/dist/esm/whoCan/WhoCanProcessor.d.ts +400 -0
- package/dist/esm/whoCan/WhoCanProcessor.d.ts.map +1 -0
- package/dist/esm/whoCan/WhoCanProcessor.js +1080 -0
- package/dist/esm/whoCan/WhoCanProcessor.js.map +1 -0
- package/dist/esm/whoCan/WhoCanWorker.d.ts +87 -0
- package/dist/esm/whoCan/WhoCanWorker.d.ts.map +1 -0
- package/dist/esm/whoCan/WhoCanWorker.js +198 -0
- package/dist/esm/whoCan/WhoCanWorker.js.map +1 -0
- package/dist/esm/whoCan/WhoCanWorkerThreadWorker.d.ts +2 -0
- package/dist/esm/whoCan/WhoCanWorkerThreadWorker.d.ts.map +1 -0
- package/dist/esm/whoCan/WhoCanWorkerThreadWorker.js +193 -0
- package/dist/esm/whoCan/WhoCanWorkerThreadWorker.js.map +1 -0
- package/dist/esm/whoCan/principalArnFilter.d.ts +84 -0
- package/dist/esm/whoCan/principalArnFilter.d.ts.map +1 -0
- package/dist/esm/whoCan/principalArnFilter.js +253 -0
- package/dist/esm/whoCan/principalArnFilter.js.map +1 -0
- package/dist/esm/whoCan/principalScope.d.ts +35 -0
- package/dist/esm/whoCan/principalScope.d.ts.map +1 -0
- package/dist/esm/whoCan/principalScope.js +102 -0
- package/dist/esm/whoCan/principalScope.js.map +1 -0
- package/dist/esm/whoCan/requestAnalysis.d.ts +73 -0
- package/dist/esm/whoCan/requestAnalysis.d.ts.map +1 -0
- package/dist/esm/whoCan/requestAnalysis.js +83 -0
- package/dist/esm/whoCan/requestAnalysis.js.map +1 -0
- package/dist/esm/whoCan/untrustingActions.d.ts +7 -0
- package/dist/esm/whoCan/untrustingActions.d.ts.map +1 -0
- package/dist/esm/whoCan/untrustingActions.js +27 -0
- package/dist/esm/whoCan/untrustingActions.js.map +1 -0
- package/dist/esm/whoCan/whoCan.d.ts +295 -0
- package/dist/esm/whoCan/whoCan.d.ts.map +1 -0
- package/dist/esm/whoCan/whoCan.js +571 -0
- package/dist/esm/whoCan/whoCan.js.map +1 -0
- package/dist/esm/whoCan/workerBootstrapPlugin.d.ts +17 -0
- package/dist/esm/whoCan/workerBootstrapPlugin.d.ts.map +1 -0
- package/dist/esm/whoCan/workerBootstrapPlugin.js +2 -0
- package/dist/esm/whoCan/workerBootstrapPlugin.js.map +1 -0
- package/dist/esm/workers/ArrayStreamingWorkQueue.d.ts +15 -0
- package/dist/esm/workers/ArrayStreamingWorkQueue.d.ts.map +1 -0
- package/dist/esm/workers/ArrayStreamingWorkQueue.js +31 -0
- package/dist/esm/workers/ArrayStreamingWorkQueue.js.map +1 -0
- package/dist/esm/workers/JobRunner.d.ts +47 -0
- package/dist/esm/workers/JobRunner.d.ts.map +1 -0
- package/dist/esm/workers/JobRunner.js +94 -0
- package/dist/esm/workers/JobRunner.js.map +1 -0
- package/dist/esm/workers/RingQueue.d.ts +14 -0
- package/dist/esm/workers/RingQueue.d.ts.map +1 -0
- package/dist/esm/workers/RingQueue.js +36 -0
- package/dist/esm/workers/RingQueue.js.map +1 -0
- package/dist/esm/workers/SharedArrayBufferMainCache.d.ts +10 -0
- package/dist/esm/workers/SharedArrayBufferMainCache.d.ts.map +1 -0
- package/dist/esm/workers/SharedArrayBufferMainCache.js +34 -0
- package/dist/esm/workers/SharedArrayBufferMainCache.js.map +1 -0
- package/dist/esm/workers/SharedArrayBufferWorkerCache.d.ts +10 -0
- package/dist/esm/workers/SharedArrayBufferWorkerCache.d.ts.map +1 -0
- package/dist/esm/workers/SharedArrayBufferWorkerCache.js +46 -0
- package/dist/esm/workers/SharedArrayBufferWorkerCache.js.map +1 -0
- package/dist/esm/workers/StreamingWorkQueue.d.ts +18 -0
- package/dist/esm/workers/StreamingWorkQueue.d.ts.map +1 -0
- package/dist/esm/workers/StreamingWorkQueue.js +61 -0
- package/dist/esm/workers/StreamingWorkQueue.js.map +1 -0
- package/dist/esm/workers/buffers.d.ts +4 -0
- package/dist/esm/workers/buffers.d.ts.map +1 -0
- package/dist/esm/workers/buffers.js +21 -0
- package/dist/esm/workers/buffers.js.map +1 -0
- package/package.json +132 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.encodeBitSet = encodeBitSet;
|
|
4
|
+
exports.decodeBitSet = decodeBitSet;
|
|
5
|
+
exports.compressHex = compressHex;
|
|
6
|
+
exports.decompressHex = decompressHex;
|
|
7
|
+
exports.compressPrincipalString = compressPrincipalString;
|
|
8
|
+
exports.decompressPrincipalString = decompressPrincipalString;
|
|
9
|
+
const bitset_1 = require("bitset");
|
|
10
|
+
/**
|
|
11
|
+
* Encode a BitSet into a more compact representation
|
|
12
|
+
*
|
|
13
|
+
* @param bitset the BitSet to encode
|
|
14
|
+
* @returns the encoded representation
|
|
15
|
+
*/
|
|
16
|
+
function encodeBitSet(bitset) {
|
|
17
|
+
const rawHex = bitset.toString(16);
|
|
18
|
+
const compressedHex = compressHex(rawHex);
|
|
19
|
+
const sparseString = ',' + bitset.toArray().join(',');
|
|
20
|
+
if (sparseString.length < compressedHex.length && sparseString.length < rawHex.length) {
|
|
21
|
+
return sparseString;
|
|
22
|
+
}
|
|
23
|
+
if (compressedHex.length < rawHex.length) {
|
|
24
|
+
return compressedHex;
|
|
25
|
+
}
|
|
26
|
+
return rawHex;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Decode a BitSet from a compact representation
|
|
30
|
+
*
|
|
31
|
+
* @param encoded the encoded representation
|
|
32
|
+
* @returns the decoded BitSet
|
|
33
|
+
*/
|
|
34
|
+
function decodeBitSet(encoded) {
|
|
35
|
+
if (Array.isArray(encoded)) {
|
|
36
|
+
const bitset = new bitset_1.default();
|
|
37
|
+
bitset.setRange(encoded[0], encoded[1], 1);
|
|
38
|
+
return bitset;
|
|
39
|
+
}
|
|
40
|
+
else if (typeof encoded === 'string') {
|
|
41
|
+
// Check if it's a sparse array (comma-separated numbers)
|
|
42
|
+
if (encoded.startsWith(',')) {
|
|
43
|
+
// It's a sparse array - convert to BitSet
|
|
44
|
+
const positions = encoded.slice(1).split(',').map(Number);
|
|
45
|
+
const bitset = new bitset_1.default();
|
|
46
|
+
positions.forEach((pos) => bitset.set(pos, 1));
|
|
47
|
+
return bitset;
|
|
48
|
+
}
|
|
49
|
+
else if (encoded.includes('z')) {
|
|
50
|
+
// It's compressed hex - decompress first
|
|
51
|
+
const decompressedHex = decompressHex(encoded);
|
|
52
|
+
return bitset_1.default.fromHexString(decompressedHex);
|
|
53
|
+
}
|
|
54
|
+
else if (encoded === '') {
|
|
55
|
+
return new bitset_1.default();
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
// Assume it's raw hex
|
|
59
|
+
return bitset_1.default.fromHexString(encoded);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// Handle other formats if needed
|
|
63
|
+
return bitset_1.default.fromHexString(encoded);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Compress a hexadecimal string by replacing runs of zeros with a compact representation
|
|
67
|
+
*
|
|
68
|
+
* @param rawHex the original hexadecimal string
|
|
69
|
+
* @returns the compressed hexadecimal string
|
|
70
|
+
*/
|
|
71
|
+
function compressHex(rawHex) {
|
|
72
|
+
const repeatedZeroPattern = /((0){4,})/g;
|
|
73
|
+
return rawHex.replace(repeatedZeroPattern, (match) => {
|
|
74
|
+
return `z${match.length} `;
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Decompress a hexadecimal string
|
|
79
|
+
*
|
|
80
|
+
* @param compressedHex the compressed hexadecimal string
|
|
81
|
+
* @returns the decompressed hexadecimal string
|
|
82
|
+
*/
|
|
83
|
+
function decompressHex(compressedHex) {
|
|
84
|
+
// Handle the "z" compression pattern (z followed by number of zeros)
|
|
85
|
+
const zeroPattern = /z(\d+)\s*/g;
|
|
86
|
+
return compressedHex.replace(zeroPattern, (match, count) => {
|
|
87
|
+
return '0'.repeat(parseInt(count, 10));
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Compress a principal string for storage
|
|
92
|
+
*
|
|
93
|
+
* @param principalString the full principal string
|
|
94
|
+
* @returns the compressed principal string
|
|
95
|
+
*/
|
|
96
|
+
function compressPrincipalString(principalString) {
|
|
97
|
+
const parts = principalString.split(':');
|
|
98
|
+
let accountId = parts[4];
|
|
99
|
+
let end = parts.slice(5).join(':');
|
|
100
|
+
if (end.startsWith('role/aws-reserved/')) {
|
|
101
|
+
end = end.replace('role/aws-reserved/', 'ar/');
|
|
102
|
+
}
|
|
103
|
+
else if (end.startsWith('role/aws-service-role/')) {
|
|
104
|
+
end = end.replace('role/aws-service-role/', 'asr/');
|
|
105
|
+
}
|
|
106
|
+
else if (end.startsWith('role/service-role/')) {
|
|
107
|
+
end = end.replace('role/service-role/', 'sr/');
|
|
108
|
+
}
|
|
109
|
+
else if (end.startsWith('role/')) {
|
|
110
|
+
end = end.replace('role/', 'r/');
|
|
111
|
+
}
|
|
112
|
+
else if (end.startsWith('user/')) {
|
|
113
|
+
end = end.replace('user/', 'u/');
|
|
114
|
+
}
|
|
115
|
+
return `${accountId}:${end}`;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Decompress a principal string
|
|
119
|
+
*
|
|
120
|
+
* @param compressedString the compressed principal string
|
|
121
|
+
* @param prefix the ARN prefix to use
|
|
122
|
+
* @returns the decompressed principal string
|
|
123
|
+
*/
|
|
124
|
+
function decompressPrincipalString(compressedString, prefix = 'arn:aws:iam::') {
|
|
125
|
+
const parts = compressedString.split(':');
|
|
126
|
+
if (parts.length !== 2) {
|
|
127
|
+
throw new Error(`Invalid compressed principal format: ${compressedString}`);
|
|
128
|
+
}
|
|
129
|
+
const accountId = parts[0];
|
|
130
|
+
let roleType = parts[1];
|
|
131
|
+
// Expand compressed role types back to full paths
|
|
132
|
+
if (roleType.startsWith('ar/')) {
|
|
133
|
+
roleType = roleType.replace('ar/', 'role/aws-reserved/');
|
|
134
|
+
}
|
|
135
|
+
else if (roleType.startsWith('asr/')) {
|
|
136
|
+
roleType = roleType.replace('asr/', 'role/aws-service-role/');
|
|
137
|
+
}
|
|
138
|
+
else if (roleType.startsWith('sr/')) {
|
|
139
|
+
roleType = roleType.replace('sr/', 'role/service-role/');
|
|
140
|
+
}
|
|
141
|
+
else if (roleType.startsWith('r/')) {
|
|
142
|
+
roleType = roleType.replace('r/', 'role/');
|
|
143
|
+
}
|
|
144
|
+
else if (roleType.startsWith('u/')) {
|
|
145
|
+
roleType = roleType.replace('u/', 'user/');
|
|
146
|
+
}
|
|
147
|
+
return `${prefix}${accountId}:${roleType}`;
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=bitset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitset.js","sourceRoot":"","sources":["../../../src/utils/bitset.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalize a module namespace object so that named exports are accessible as
|
|
3
|
+
* top-level properties regardless of whether the underlying module is ESM or
|
|
4
|
+
* CJS. When `import()` loads a CJS module the entire `module.exports` object
|
|
5
|
+
* is placed on the `default` property of the namespace, so this helper merges
|
|
6
|
+
* `default` back into the top level.
|
|
7
|
+
*
|
|
8
|
+
* @param mod - The raw module namespace returned by `import()` or `require()`.
|
|
9
|
+
* @returns A flat record with all named exports accessible as top-level keys.
|
|
10
|
+
*/
|
|
11
|
+
export declare function normalizeModule(mod: Record<string, unknown>): Record<string, unknown>;
|
|
12
|
+
/**
|
|
13
|
+
* Dynamically load a module by name or path, handling both ESM and CJS
|
|
14
|
+
* runtime contexts and both ESM and CJS target modules.
|
|
15
|
+
*
|
|
16
|
+
* Resolution strategy:
|
|
17
|
+
* 1. Try a bare `import()` first — this works when the module is resolvable
|
|
18
|
+
* from the current file (e.g. it is a direct dependency) or when a bundler /
|
|
19
|
+
* test runner (vitest, etc.) intercepts module resolution.
|
|
20
|
+
* 2. If that fails with a "not found" error, fall back to `createRequire`
|
|
21
|
+
* rooted at `process.cwd()`. This handles the case where the plugin package
|
|
22
|
+
* lives in the consuming project's `node_modules` rather than iam-lens's
|
|
23
|
+
* own. `createRequire` works in both ESM and CJS contexts and always uses
|
|
24
|
+
* the CJS resolution algorithm, which reliably finds packages regardless of
|
|
25
|
+
* the caller's module type.
|
|
26
|
+
*
|
|
27
|
+
* @param modulePath - Package name or absolute path to import.
|
|
28
|
+
* @returns The exports object of the imported module with normalised keys.
|
|
29
|
+
*/
|
|
30
|
+
export declare function dynamicImport(modulePath: string): Promise<Record<string, unknown>>;
|
|
31
|
+
//# sourceMappingURL=dynamicImport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamicImport.d.ts","sourceRoot":"","sources":["../../../src/utils/dynamicImport.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKrF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAsBxF"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeModule = normalizeModule;
|
|
4
|
+
exports.dynamicImport = dynamicImport;
|
|
5
|
+
const module_1 = require("module");
|
|
6
|
+
/**
|
|
7
|
+
* Normalize a module namespace object so that named exports are accessible as
|
|
8
|
+
* top-level properties regardless of whether the underlying module is ESM or
|
|
9
|
+
* CJS. When `import()` loads a CJS module the entire `module.exports` object
|
|
10
|
+
* is placed on the `default` property of the namespace, so this helper merges
|
|
11
|
+
* `default` back into the top level.
|
|
12
|
+
*
|
|
13
|
+
* @param mod - The raw module namespace returned by `import()` or `require()`.
|
|
14
|
+
* @returns A flat record with all named exports accessible as top-level keys.
|
|
15
|
+
*/
|
|
16
|
+
function normalizeModule(mod) {
|
|
17
|
+
if (mod.default && typeof mod.default === 'object' && !Array.isArray(mod.default)) {
|
|
18
|
+
return { ...mod, ...mod.default };
|
|
19
|
+
}
|
|
20
|
+
return mod;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Dynamically load a module by name or path, handling both ESM and CJS
|
|
24
|
+
* runtime contexts and both ESM and CJS target modules.
|
|
25
|
+
*
|
|
26
|
+
* Resolution strategy:
|
|
27
|
+
* 1. Try a bare `import()` first — this works when the module is resolvable
|
|
28
|
+
* from the current file (e.g. it is a direct dependency) or when a bundler /
|
|
29
|
+
* test runner (vitest, etc.) intercepts module resolution.
|
|
30
|
+
* 2. If that fails with a "not found" error, fall back to `createRequire`
|
|
31
|
+
* rooted at `process.cwd()`. This handles the case where the plugin package
|
|
32
|
+
* lives in the consuming project's `node_modules` rather than iam-lens's
|
|
33
|
+
* own. `createRequire` works in both ESM and CJS contexts and always uses
|
|
34
|
+
* the CJS resolution algorithm, which reliably finds packages regardless of
|
|
35
|
+
* the caller's module type.
|
|
36
|
+
*
|
|
37
|
+
* @param modulePath - Package name or absolute path to import.
|
|
38
|
+
* @returns The exports object of the imported module with normalised keys.
|
|
39
|
+
*/
|
|
40
|
+
async function dynamicImport(modulePath) {
|
|
41
|
+
try {
|
|
42
|
+
const mod = (await Promise.resolve(`${modulePath}`).then(s => require(s)));
|
|
43
|
+
return normalizeModule(mod);
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
const code = err.code;
|
|
47
|
+
if (code !== 'ERR_MODULE_NOT_FOUND' && code !== 'MODULE_NOT_FOUND') {
|
|
48
|
+
throw err;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// Bare import failed — use createRequire to load from cwd's node_modules.
|
|
52
|
+
// createRequire works in both ESM and CJS contexts and handles both CJS and
|
|
53
|
+
// ESM target modules (for ESM targets it will load the CJS entry when one
|
|
54
|
+
// exists, which is acceptable for plugin loading).
|
|
55
|
+
const _require = (0, module_1.createRequire)(process.cwd() + '/');
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
57
|
+
const mod = _require(modulePath);
|
|
58
|
+
// Some environments (e.g. vitest SSR) wrap require() results in a Proxy with
|
|
59
|
+
// lazy getters where property access returns undefined despite keys being
|
|
60
|
+
// visible. Spreading into a plain object materialises all values.
|
|
61
|
+
const plain = { ...mod };
|
|
62
|
+
return normalizeModule(plain);
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=dynamicImport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamicImport.js","sourceRoot":"","sources":["../../../src/utils/dynamicImport.ts"],"names":[],"mappings":";;AAYA,0CAKC;AAoBD,sCAsBC;AA3DD,mCAAsC;AAEtC;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAAC,GAA4B;IAC1D,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAClF,OAAO,EAAE,GAAG,GAAG,EAAE,GAAI,GAAG,CAAC,OAAmC,EAAE,CAAA;IAChE,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,aAAa,CAAC,UAAkB;IACpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,yBAAa,UAAU,yBAAC,CAA4B,CAAA;QACjE,OAAO,eAAe,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,IAAI,GAAI,GAAyB,CAAC,IAAI,CAAA;QAC5C,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACnE,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IACD,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,mDAAmD;IACnD,MAAM,QAAQ,GAAG,IAAA,sBAAa,EAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAA;IACnD,iEAAiE;IACjE,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAA4B,CAAA;IAC3D,6EAA6E;IAC7E,0EAA0E;IAC1E,kEAAkE;IAClE,MAAM,KAAK,GAAG,EAAE,GAAG,GAAG,EAAE,CAAA;IACxB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageVersion.d.ts","sourceRoot":"","sources":["../../../src/utils/packageVersion.ts"],"names":[],"mappings":"AAqBA;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAGtD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.iamLensVersion = iamLensVersion;
|
|
4
|
+
const readPackageFile_js_1 = require("./readPackageFile.js");
|
|
5
|
+
let packageCache = undefined;
|
|
6
|
+
/**
|
|
7
|
+
* Get the package data version
|
|
8
|
+
*
|
|
9
|
+
* @returns the package data version
|
|
10
|
+
*/
|
|
11
|
+
async function getPackageData() {
|
|
12
|
+
if (!packageCache) {
|
|
13
|
+
const packageJson = await (0, readPackageFile_js_1.getPackageFileReader)().readFile(['package.json']);
|
|
14
|
+
packageCache = JSON.parse(packageJson);
|
|
15
|
+
}
|
|
16
|
+
return packageCache;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Get the version of the package
|
|
20
|
+
*/
|
|
21
|
+
async function iamLensVersion() {
|
|
22
|
+
const data = await getPackageData();
|
|
23
|
+
return data.version;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=packageVersion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../../../src/utils/packageVersion.ts"],"names":[],"mappings":";;AAwBA,wCAGC;AA3BD,6DAA2D;AAM3D,IAAI,YAAY,GAA4B,SAAS,CAAA;AAErD;;;;GAIG;AACH,KAAK,UAAU,cAAc;IAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,MAAM,IAAA,yCAAoB,GAAE,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,CAAA;QAC3E,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,YAAa,CAAA;AACtB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,cAAc;IAClC,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAA;IACnC,OAAO,IAAI,CAAC,OAAO,CAAA;AACrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readPackageFile.d.ts","sourceRoot":"","sources":["../../../src/utils/readPackageFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AASlF,wBAAgB,oBAAoB,IAAI,iBAAiB,CAKxD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPackageFileReader = getPackageFileReader;
|
|
4
|
+
const cli_1 = require("@actsecurity/cli");
|
|
5
|
+
let levels = 3;
|
|
6
|
+
if (__filename.includes('src')) {
|
|
7
|
+
levels = 2;
|
|
8
|
+
}
|
|
9
|
+
let fileReader = undefined;
|
|
10
|
+
function getPackageFileReader() {
|
|
11
|
+
if (!fileReader) {
|
|
12
|
+
fileReader = (0, cli_1.createPackageFileReader)(__filename, levels);
|
|
13
|
+
}
|
|
14
|
+
return fileReader;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=readPackageFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readPackageFile.js","sourceRoot":"","sources":["../../../src/utils/readPackageFile.ts"],"names":[],"mappings":";;AASA,oDAKC;AAdD,0CAAkF;AAElF,IAAI,MAAM,GAAG,CAAC,CAAA;AACd,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IAC/B,MAAM,GAAG,CAAC,CAAA;AACZ,CAAC;AAED,IAAI,UAAU,GAAkC,SAAS,CAAA;AAEzD,SAAgB,oBAAoB;IAClC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,IAAA,6BAAuB,EAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3Abac.d.ts","sourceRoot":"","sources":["../../../src/utils/s3Abac.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,kCAAmC,CAAA;AAErE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3Abac.js","sourceRoot":"","sources":["../../../src/utils/s3Abac.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const stringOrFileArgument: {
|
|
2
|
+
(options: {
|
|
3
|
+
defaultValue: string;
|
|
4
|
+
} & import("@actsecurity/cli/dist/cjs/arguments/argument").PerArgumentArgs): import("@actsecurity/cli/dist/cjs/arguments/argument").Argument<string>;
|
|
5
|
+
(options: {
|
|
6
|
+
defaultValue?: undefined;
|
|
7
|
+
} & import("@actsecurity/cli/dist/cjs/arguments/argument").PerArgumentArgs): import("@actsecurity/cli/dist/cjs/arguments/argument").Argument<string | undefined>;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=stringOrFileArgument.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stringOrFileArgument.d.ts","sourceRoot":"","sources":["../../../src/utils/stringOrFileArgument.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB;;;;;;;CAkBoB,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stringOrFileArgument = void 0;
|
|
4
|
+
const cli_1 = require("@actsecurity/cli");
|
|
5
|
+
const fs_1 = require("fs");
|
|
6
|
+
exports.stringOrFileArgument = (0, cli_1.singleValueArgument)((rawValue) => {
|
|
7
|
+
try {
|
|
8
|
+
return { valid: true, value: JSON.parse(rawValue) };
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
// Not a JSON string, try to read as file
|
|
12
|
+
}
|
|
13
|
+
const fileExists = (0, fs_1.existsSync)(rawValue);
|
|
14
|
+
if (!fileExists) {
|
|
15
|
+
return { valid: false, message: `Value is not valid JSON and file does not exist: ${rawValue}` };
|
|
16
|
+
}
|
|
17
|
+
const fileContents = (0, fs_1.readFileSync)(rawValue, 'utf-8');
|
|
18
|
+
try {
|
|
19
|
+
const parsed = JSON.parse(fileContents);
|
|
20
|
+
return { valid: true, value: parsed };
|
|
21
|
+
}
|
|
22
|
+
catch { }
|
|
23
|
+
return { valid: false, message: `File contents are not valid JSON: ${rawValue}` };
|
|
24
|
+
}, '. A JSON string or a file path containing JSON.');
|
|
25
|
+
//# sourceMappingURL=stringOrFileArgument.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stringOrFileArgument.js","sourceRoot":"","sources":["../../../src/utils/stringOrFileArgument.ts"],"names":[],"mappings":";;;AAAA,0CAAsD;AACtD,2BAA6C;AAEhC,QAAA,oBAAoB,GAAG,IAAA,yBAAmB,EAAS,CAAC,QAAQ,EAAE,EAAE;IAC3E,IAAI,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAA;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,yCAAyC;IAC3C,CAAC;IACD,MAAM,UAAU,GAAG,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAA;IACvC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,oDAAoD,QAAQ,EAAE,EAAE,CAAA;IAClG,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACvC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;IACvC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,qCAAqC,QAAQ,EAAE,EAAE,CAAA;AACnF,CAAC,EAAE,iDAAiD,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sts.d.ts","sourceRoot":"","sources":["../../../src/utils/sts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,aAI5B,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AssumeRoleActions = void 0;
|
|
4
|
+
exports.AssumeRoleActions = new Set([
|
|
5
|
+
'sts:assumerole',
|
|
6
|
+
'sts:assumerolewithwebidentity',
|
|
7
|
+
'sts:assumerolewithsaml'
|
|
8
|
+
]);
|
|
9
|
+
//# sourceMappingURL=sts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sts.js","sourceRoot":"","sources":["../../../src/utils/sts.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,IAAI,GAAG,CAAC;IACvC,gBAAgB;IAChB,+BAA+B;IAC/B,wBAAwB;CACzB,CAAC,CAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { type AwsIamStore } from '@actsecurity/iam-collect';
|
|
2
|
+
/**
|
|
3
|
+
* Useful functions for unit tests.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Save a managed policy
|
|
7
|
+
*
|
|
8
|
+
* @param store the AWS IAM store
|
|
9
|
+
* @param details the details of the managed policy
|
|
10
|
+
*/
|
|
11
|
+
export declare function saveManagedPolicy(store: AwsIamStore, details: {
|
|
12
|
+
arn: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
policy: any;
|
|
15
|
+
}): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Save a user for testing
|
|
18
|
+
*
|
|
19
|
+
* @param store the AWS IAM store
|
|
20
|
+
* @param details the details of the user
|
|
21
|
+
*/
|
|
22
|
+
export declare function saveUser(store: AwsIamStore, details: {
|
|
23
|
+
arn: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
inlinePolicies?: any[];
|
|
26
|
+
managedPolicies?: string[];
|
|
27
|
+
groups?: string[];
|
|
28
|
+
permissionBoundary?: string;
|
|
29
|
+
}): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Save a role for testing
|
|
32
|
+
*
|
|
33
|
+
* @param store the AWS IAM store
|
|
34
|
+
* @param details the details of the role
|
|
35
|
+
*/
|
|
36
|
+
export declare function saveRole(store: AwsIamStore, details: {
|
|
37
|
+
arn: string;
|
|
38
|
+
description?: string;
|
|
39
|
+
inlinePolicies?: any[];
|
|
40
|
+
managedPolicies?: string[];
|
|
41
|
+
permissionBoundary?: string;
|
|
42
|
+
trustPolicy?: any;
|
|
43
|
+
}): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Save a group for testing
|
|
46
|
+
*
|
|
47
|
+
* @param store the AWS IAM store
|
|
48
|
+
* @param details the details of the group
|
|
49
|
+
*/
|
|
50
|
+
export declare function saveGroup(store: AwsIamStore, details: {
|
|
51
|
+
arn: string;
|
|
52
|
+
description?: string;
|
|
53
|
+
inlinePolicies?: any[];
|
|
54
|
+
managedPolicies?: string[];
|
|
55
|
+
}): Promise<void>;
|
|
56
|
+
//# sourceMappingURL=testUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/testUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAG3D;;GAEG;AAEH;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE;IACP,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,GAAG,CAAA;CACZ,iBAYF;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE;IACP,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,GAAG,EAAE,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,iBAkCF;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE;IACP,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,GAAG,EAAE,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,WAAW,CAAC,EAAE,GAAG,CAAA;CAClB,iBAkCF;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE;IACP,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,GAAG,EAAE,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAC3B,iBA4BF"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.saveManagedPolicy = saveManagedPolicy;
|
|
4
|
+
exports.saveUser = saveUser;
|
|
5
|
+
exports.saveRole = saveRole;
|
|
6
|
+
exports.saveGroup = saveGroup;
|
|
7
|
+
const iam_utils_1 = require("@actsecurity/iam-utils");
|
|
8
|
+
/**
|
|
9
|
+
* Useful functions for unit tests.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Save a managed policy
|
|
13
|
+
*
|
|
14
|
+
* @param store the AWS IAM store
|
|
15
|
+
* @param details the details of the managed policy
|
|
16
|
+
*/
|
|
17
|
+
async function saveManagedPolicy(store, details) {
|
|
18
|
+
const name = details.arn.split('/').pop();
|
|
19
|
+
const accountId = (0, iam_utils_1.splitArnParts)(details.arn).accountId;
|
|
20
|
+
await store.saveResourceMetadata(accountId, details.arn, 'metadata', {
|
|
21
|
+
arn: details.arn,
|
|
22
|
+
name,
|
|
23
|
+
description: details.description
|
|
24
|
+
});
|
|
25
|
+
await store.saveResourceMetadata(accountId, details.arn, 'current-policy', details.policy);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Save a user for testing
|
|
29
|
+
*
|
|
30
|
+
* @param store the AWS IAM store
|
|
31
|
+
* @param details the details of the user
|
|
32
|
+
*/
|
|
33
|
+
async function saveUser(store, details) {
|
|
34
|
+
const name = details.arn.split('/').pop();
|
|
35
|
+
const accountId = (0, iam_utils_1.splitArnParts)(details.arn).accountId;
|
|
36
|
+
const metadata = {
|
|
37
|
+
arn: details.arn,
|
|
38
|
+
id: `AIDAEXAMPLE${accountId}`,
|
|
39
|
+
name,
|
|
40
|
+
path: '/',
|
|
41
|
+
created: '2024-01-01T00:00:00Z'
|
|
42
|
+
};
|
|
43
|
+
if (details.permissionBoundary) {
|
|
44
|
+
metadata.permissionBoundary = details.permissionBoundary;
|
|
45
|
+
}
|
|
46
|
+
await store.saveResourceMetadata(accountId, details.arn, 'metadata', metadata);
|
|
47
|
+
await store.saveResourceMetadata(accountId, details.arn, 'managed-policies', details.managedPolicies);
|
|
48
|
+
await store.saveResourceMetadata(accountId, details.arn, 'inline-policies', details.inlinePolicies);
|
|
49
|
+
await store.saveResourceMetadata(accountId, details.arn, 'groups', details.groups);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Save a role for testing
|
|
53
|
+
*
|
|
54
|
+
* @param store the AWS IAM store
|
|
55
|
+
* @param details the details of the role
|
|
56
|
+
*/
|
|
57
|
+
async function saveRole(store, details) {
|
|
58
|
+
const name = details.arn.split('/').pop();
|
|
59
|
+
const accountId = (0, iam_utils_1.splitArnParts)(details.arn).accountId;
|
|
60
|
+
const metadata = {
|
|
61
|
+
arn: details.arn,
|
|
62
|
+
id: `AROAEXAMPLE${accountId}`,
|
|
63
|
+
name,
|
|
64
|
+
path: '/',
|
|
65
|
+
created: '2024-01-01T00:00:00Z'
|
|
66
|
+
};
|
|
67
|
+
if (details.permissionBoundary) {
|
|
68
|
+
metadata.permissionBoundary = details.permissionBoundary;
|
|
69
|
+
}
|
|
70
|
+
await store.saveResourceMetadata(accountId, details.arn, 'metadata', metadata);
|
|
71
|
+
await store.saveResourceMetadata(accountId, details.arn, 'managed-policies', details.managedPolicies);
|
|
72
|
+
await store.saveResourceMetadata(accountId, details.arn, 'inline-policies', details.inlinePolicies);
|
|
73
|
+
await store.saveResourceMetadata(accountId, details.arn, 'trust-policy', details.trustPolicy);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Save a group for testing
|
|
77
|
+
*
|
|
78
|
+
* @param store the AWS IAM store
|
|
79
|
+
* @param details the details of the group
|
|
80
|
+
*/
|
|
81
|
+
async function saveGroup(store, details) {
|
|
82
|
+
const name = details.arn.split('/').pop();
|
|
83
|
+
const accountId = (0, iam_utils_1.splitArnParts)(details.arn).accountId;
|
|
84
|
+
const metadata = {
|
|
85
|
+
arn: details.arn,
|
|
86
|
+
id: `AGPAEXAMPLE${accountId}`,
|
|
87
|
+
name,
|
|
88
|
+
path: '/',
|
|
89
|
+
created: '2024-01-01T00:00:00Z'
|
|
90
|
+
};
|
|
91
|
+
await store.saveResourceMetadata(accountId, details.arn, 'metadata', metadata);
|
|
92
|
+
await store.saveResourceMetadata(accountId, details.arn, 'managed-policies', details.managedPolicies);
|
|
93
|
+
await store.saveResourceMetadata(accountId, details.arn, 'inline-policies', details.inlinePolicies);
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=testUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../../src/utils/testUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the path to a worker script, adjusted for the build output location.
|
|
3
|
+
*
|
|
4
|
+
* @param path the relative path to the worker script from the project src directory and with a .js extension
|
|
5
|
+
* @returns the absolute path to the worker script, or undefined if the worker script path does not exist
|
|
6
|
+
*/
|
|
7
|
+
export declare function getWorkerScriptPath(path: string): string | undefined;
|
|
8
|
+
//# sourceMappingURL=workerScript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workerScript.d.ts","sourceRoot":"","sources":["../../../src/utils/workerScript.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMpE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getWorkerScriptPath = getWorkerScriptPath;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
let root = (0, path_1.resolve)(__dirname, '../');
|
|
7
|
+
if (process.env.NODE_ENV === 'test') {
|
|
8
|
+
root = (0, path_1.resolve)(root, '..', 'dist', 'esm');
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Get the path to a worker script, adjusted for the build output location.
|
|
12
|
+
*
|
|
13
|
+
* @param path the relative path to the worker script from the project src directory and with a .js extension
|
|
14
|
+
* @returns the absolute path to the worker script, or undefined if the worker script path does not exist
|
|
15
|
+
*/
|
|
16
|
+
function getWorkerScriptPath(path) {
|
|
17
|
+
const fullPath = (0, path_1.join)(root, path);
|
|
18
|
+
if (!(0, fs_1.existsSync)(fullPath)) {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
return fullPath;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=workerScript.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workerScript.js","sourceRoot":"","sources":["../../../src/utils/workerScript.ts"],"names":[],"mappings":";;AAcA,kDAMC;AApBD,2BAA+B;AAC/B,+BAAoC;AAEpC,IAAI,IAAI,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,KAAK,CAAC,CAAA;AACpC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;IACpC,IAAI,GAAG,IAAA,cAAO,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;AAC3C,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACjC,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|