@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.
Files changed (383) hide show
  1. package/LICENSE.txt +661 -0
  2. package/README.md +203 -0
  3. package/dist/cjs/cli.d.ts +3 -0
  4. package/dist/cjs/cli.d.ts.map +1 -0
  5. package/dist/cjs/cli.js +206 -0
  6. package/dist/cjs/cli.js.map +1 -0
  7. package/dist/cjs/collect/client.d.ts +550 -0
  8. package/dist/cjs/collect/client.d.ts.map +1 -0
  9. package/dist/cjs/collect/client.js +1119 -0
  10. package/dist/cjs/collect/client.js.map +1 -0
  11. package/dist/cjs/collect/collect.d.ts +44 -0
  12. package/dist/cjs/collect/collect.d.ts.map +1 -0
  13. package/dist/cjs/collect/collect.js +55 -0
  14. package/dist/cjs/collect/collect.js.map +1 -0
  15. package/dist/cjs/collect/inMemoryClient.d.ts +6 -0
  16. package/dist/cjs/collect/inMemoryClient.d.ts.map +1 -0
  17. package/dist/cjs/collect/inMemoryClient.js +11 -0
  18. package/dist/cjs/collect/inMemoryClient.js.map +1 -0
  19. package/dist/cjs/index.d.ts +13 -0
  20. package/dist/cjs/index.d.ts.map +1 -0
  21. package/dist/cjs/index.js +28 -0
  22. package/dist/cjs/index.js.map +1 -0
  23. package/dist/cjs/package.json +3 -0
  24. package/dist/cjs/principalCan/permission.d.ts +125 -0
  25. package/dist/cjs/principalCan/permission.d.ts.map +1 -0
  26. package/dist/cjs/principalCan/permission.js +1229 -0
  27. package/dist/cjs/principalCan/permission.js.map +1 -0
  28. package/dist/cjs/principalCan/permissionSet.d.ts +140 -0
  29. package/dist/cjs/principalCan/permissionSet.d.ts.map +1 -0
  30. package/dist/cjs/principalCan/permissionSet.js +437 -0
  31. package/dist/cjs/principalCan/permissionSet.js.map +1 -0
  32. package/dist/cjs/principalCan/principalCan.d.ts +26 -0
  33. package/dist/cjs/principalCan/principalCan.d.ts.map +1 -0
  34. package/dist/cjs/principalCan/principalCan.js +195 -0
  35. package/dist/cjs/principalCan/principalCan.js.map +1 -0
  36. package/dist/cjs/principalCan/principalConstraints.d.ts +147 -0
  37. package/dist/cjs/principalCan/principalConstraints.d.ts.map +1 -0
  38. package/dist/cjs/principalCan/principalConstraints.js +472 -0
  39. package/dist/cjs/principalCan/principalConstraints.js.map +1 -0
  40. package/dist/cjs/principalCan/resources/actions.d.ts +9 -0
  41. package/dist/cjs/principalCan/resources/actions.d.ts.map +1 -0
  42. package/dist/cjs/principalCan/resources/actions.js +27 -0
  43. package/dist/cjs/principalCan/resources/actions.js.map +1 -0
  44. package/dist/cjs/principalCan/resources/resourceTypes/iamRoles.d.ts +31 -0
  45. package/dist/cjs/principalCan/resources/resourceTypes/iamRoles.d.ts.map +1 -0
  46. package/dist/cjs/principalCan/resources/resourceTypes/iamRoles.js +114 -0
  47. package/dist/cjs/principalCan/resources/resourceTypes/iamRoles.js.map +1 -0
  48. package/dist/cjs/principalCan/resources/resourceTypes/kmsKeys.d.ts +30 -0
  49. package/dist/cjs/principalCan/resources/resourceTypes/kmsKeys.d.ts.map +1 -0
  50. package/dist/cjs/principalCan/resources/resourceTypes/kmsKeys.js +110 -0
  51. package/dist/cjs/principalCan/resources/resourceTypes/kmsKeys.js.map +1 -0
  52. package/dist/cjs/principalCan/resources/resourceTypes/s3Buckets.d.ts +18 -0
  53. package/dist/cjs/principalCan/resources/resourceTypes/s3Buckets.d.ts.map +1 -0
  54. package/dist/cjs/principalCan/resources/resourceTypes/s3Buckets.js +123 -0
  55. package/dist/cjs/principalCan/resources/resourceTypes/s3Buckets.js.map +1 -0
  56. package/dist/cjs/principalCan/resources/statements.d.ts +27 -0
  57. package/dist/cjs/principalCan/resources/statements.d.ts.map +1 -0
  58. package/dist/cjs/principalCan/resources/statements.js +119 -0
  59. package/dist/cjs/principalCan/resources/statements.js.map +1 -0
  60. package/dist/cjs/principalIndex/makePrincipalIndex.d.ts +8 -0
  61. package/dist/cjs/principalIndex/makePrincipalIndex.d.ts.map +1 -0
  62. package/dist/cjs/principalIndex/makePrincipalIndex.js +105 -0
  63. package/dist/cjs/principalIndex/makePrincipalIndex.js.map +1 -0
  64. package/dist/cjs/principals.d.ts +54 -0
  65. package/dist/cjs/principals.d.ts.map +1 -0
  66. package/dist/cjs/principals.js +143 -0
  67. package/dist/cjs/principals.js.map +1 -0
  68. package/dist/cjs/resources.d.ts +32 -0
  69. package/dist/cjs/resources.d.ts.map +1 -0
  70. package/dist/cjs/resources.js +71 -0
  71. package/dist/cjs/resources.js.map +1 -0
  72. package/dist/cjs/simulate/contextKeys.d.ts +68 -0
  73. package/dist/cjs/simulate/contextKeys.d.ts.map +1 -0
  74. package/dist/cjs/simulate/contextKeys.js +293 -0
  75. package/dist/cjs/simulate/contextKeys.js.map +1 -0
  76. package/dist/cjs/simulate/simulate.d.ts +72 -0
  77. package/dist/cjs/simulate/simulate.d.ts.map +1 -0
  78. package/dist/cjs/simulate/simulate.js +296 -0
  79. package/dist/cjs/simulate/simulate.js.map +1 -0
  80. package/dist/cjs/test-datasets/testClient.d.ts +17 -0
  81. package/dist/cjs/test-datasets/testClient.d.ts.map +1 -0
  82. package/dist/cjs/test-datasets/testClient.js +58 -0
  83. package/dist/cjs/test-datasets/testClient.js.map +1 -0
  84. package/dist/cjs/utils/arn.d.ts +22 -0
  85. package/dist/cjs/utils/arn.d.ts.map +1 -0
  86. package/dist/cjs/utils/arn.js +49 -0
  87. package/dist/cjs/utils/arn.js.map +1 -0
  88. package/dist/cjs/utils/bitset.d.ts +45 -0
  89. package/dist/cjs/utils/bitset.d.ts.map +1 -0
  90. package/dist/cjs/utils/bitset.js +149 -0
  91. package/dist/cjs/utils/bitset.js.map +1 -0
  92. package/dist/cjs/utils/dynamicImport.d.ts +31 -0
  93. package/dist/cjs/utils/dynamicImport.d.ts.map +1 -0
  94. package/dist/cjs/utils/dynamicImport.js +64 -0
  95. package/dist/cjs/utils/dynamicImport.js.map +1 -0
  96. package/dist/cjs/utils/packageVersion.d.ts +5 -0
  97. package/dist/cjs/utils/packageVersion.d.ts.map +1 -0
  98. package/dist/cjs/utils/packageVersion.js +25 -0
  99. package/dist/cjs/utils/packageVersion.js.map +1 -0
  100. package/dist/cjs/utils/readPackageFile.d.ts +3 -0
  101. package/dist/cjs/utils/readPackageFile.d.ts.map +1 -0
  102. package/dist/cjs/utils/readPackageFile.js +16 -0
  103. package/dist/cjs/utils/readPackageFile.js.map +1 -0
  104. package/dist/cjs/utils/s3Abac.d.ts +3 -0
  105. package/dist/cjs/utils/s3Abac.d.ts.map +1 -0
  106. package/dist/cjs/utils/s3Abac.js +5 -0
  107. package/dist/cjs/utils/s3Abac.js.map +1 -0
  108. package/dist/cjs/utils/stringOrFileArgument.d.ts +9 -0
  109. package/dist/cjs/utils/stringOrFileArgument.d.ts.map +1 -0
  110. package/dist/cjs/utils/stringOrFileArgument.js +25 -0
  111. package/dist/cjs/utils/stringOrFileArgument.js.map +1 -0
  112. package/dist/cjs/utils/sts.d.ts +2 -0
  113. package/dist/cjs/utils/sts.d.ts.map +1 -0
  114. package/dist/cjs/utils/sts.js +9 -0
  115. package/dist/cjs/utils/sts.js.map +1 -0
  116. package/dist/cjs/utils/testUtils.d.ts +56 -0
  117. package/dist/cjs/utils/testUtils.d.ts.map +1 -0
  118. package/dist/cjs/utils/testUtils.js +95 -0
  119. package/dist/cjs/utils/testUtils.js.map +1 -0
  120. package/dist/cjs/utils/workerScript.d.ts +8 -0
  121. package/dist/cjs/utils/workerScript.d.ts.map +1 -0
  122. package/dist/cjs/utils/workerScript.js +23 -0
  123. package/dist/cjs/utils/workerScript.js.map +1 -0
  124. package/dist/cjs/whoCan/WhoCanMainThreadWorker.d.ts +73 -0
  125. package/dist/cjs/whoCan/WhoCanMainThreadWorker.d.ts.map +1 -0
  126. package/dist/cjs/whoCan/WhoCanMainThreadWorker.js +80 -0
  127. package/dist/cjs/whoCan/WhoCanMainThreadWorker.js.map +1 -0
  128. package/dist/cjs/whoCan/WhoCanProcessor.d.ts +400 -0
  129. package/dist/cjs/whoCan/WhoCanProcessor.d.ts.map +1 -0
  130. package/dist/cjs/whoCan/WhoCanProcessor.js +1088 -0
  131. package/dist/cjs/whoCan/WhoCanProcessor.js.map +1 -0
  132. package/dist/cjs/whoCan/WhoCanWorker.d.ts +87 -0
  133. package/dist/cjs/whoCan/WhoCanWorker.d.ts.map +1 -0
  134. package/dist/cjs/whoCan/WhoCanWorker.js +201 -0
  135. package/dist/cjs/whoCan/WhoCanWorker.js.map +1 -0
  136. package/dist/cjs/whoCan/WhoCanWorkerThreadWorker.d.ts +2 -0
  137. package/dist/cjs/whoCan/WhoCanWorkerThreadWorker.d.ts.map +1 -0
  138. package/dist/cjs/whoCan/WhoCanWorkerThreadWorker.js +189 -0
  139. package/dist/cjs/whoCan/WhoCanWorkerThreadWorker.js.map +1 -0
  140. package/dist/cjs/whoCan/principalArnFilter.d.ts +84 -0
  141. package/dist/cjs/whoCan/principalArnFilter.d.ts.map +1 -0
  142. package/dist/cjs/whoCan/principalArnFilter.js +258 -0
  143. package/dist/cjs/whoCan/principalArnFilter.js.map +1 -0
  144. package/dist/cjs/whoCan/principalScope.d.ts +35 -0
  145. package/dist/cjs/whoCan/principalScope.d.ts.map +1 -0
  146. package/dist/cjs/whoCan/principalScope.js +104 -0
  147. package/dist/cjs/whoCan/principalScope.js.map +1 -0
  148. package/dist/cjs/whoCan/requestAnalysis.d.ts +73 -0
  149. package/dist/cjs/whoCan/requestAnalysis.d.ts.map +1 -0
  150. package/dist/cjs/whoCan/requestAnalysis.js +87 -0
  151. package/dist/cjs/whoCan/requestAnalysis.js.map +1 -0
  152. package/dist/cjs/whoCan/untrustingActions.d.ts +7 -0
  153. package/dist/cjs/whoCan/untrustingActions.d.ts.map +1 -0
  154. package/dist/cjs/whoCan/untrustingActions.js +30 -0
  155. package/dist/cjs/whoCan/untrustingActions.js.map +1 -0
  156. package/dist/cjs/whoCan/whoCan.d.ts +295 -0
  157. package/dist/cjs/whoCan/whoCan.d.ts.map +1 -0
  158. package/dist/cjs/whoCan/whoCan.js +574 -0
  159. package/dist/cjs/whoCan/whoCan.js.map +1 -0
  160. package/dist/cjs/whoCan/workerBootstrapPlugin.d.ts +17 -0
  161. package/dist/cjs/whoCan/workerBootstrapPlugin.d.ts.map +1 -0
  162. package/dist/cjs/whoCan/workerBootstrapPlugin.js +3 -0
  163. package/dist/cjs/whoCan/workerBootstrapPlugin.js.map +1 -0
  164. package/dist/cjs/workers/ArrayStreamingWorkQueue.d.ts +15 -0
  165. package/dist/cjs/workers/ArrayStreamingWorkQueue.d.ts.map +1 -0
  166. package/dist/cjs/workers/ArrayStreamingWorkQueue.js +35 -0
  167. package/dist/cjs/workers/ArrayStreamingWorkQueue.js.map +1 -0
  168. package/dist/cjs/workers/JobRunner.d.ts +47 -0
  169. package/dist/cjs/workers/JobRunner.d.ts.map +1 -0
  170. package/dist/cjs/workers/JobRunner.js +101 -0
  171. package/dist/cjs/workers/JobRunner.js.map +1 -0
  172. package/dist/cjs/workers/RingQueue.d.ts +14 -0
  173. package/dist/cjs/workers/RingQueue.d.ts.map +1 -0
  174. package/dist/cjs/workers/RingQueue.js +43 -0
  175. package/dist/cjs/workers/RingQueue.js.map +1 -0
  176. package/dist/cjs/workers/SharedArrayBufferMainCache.d.ts +10 -0
  177. package/dist/cjs/workers/SharedArrayBufferMainCache.d.ts.map +1 -0
  178. package/dist/cjs/workers/SharedArrayBufferMainCache.js +37 -0
  179. package/dist/cjs/workers/SharedArrayBufferMainCache.js.map +1 -0
  180. package/dist/cjs/workers/SharedArrayBufferWorkerCache.d.ts +10 -0
  181. package/dist/cjs/workers/SharedArrayBufferWorkerCache.d.ts.map +1 -0
  182. package/dist/cjs/workers/SharedArrayBufferWorkerCache.js +49 -0
  183. package/dist/cjs/workers/SharedArrayBufferWorkerCache.js.map +1 -0
  184. package/dist/cjs/workers/StreamingWorkQueue.d.ts +18 -0
  185. package/dist/cjs/workers/StreamingWorkQueue.d.ts.map +1 -0
  186. package/dist/cjs/workers/StreamingWorkQueue.js +67 -0
  187. package/dist/cjs/workers/StreamingWorkQueue.js.map +1 -0
  188. package/dist/cjs/workers/buffers.d.ts +4 -0
  189. package/dist/cjs/workers/buffers.d.ts.map +1 -0
  190. package/dist/cjs/workers/buffers.js +26 -0
  191. package/dist/cjs/workers/buffers.js.map +1 -0
  192. package/dist/esm/cli.d.ts +3 -0
  193. package/dist/esm/cli.d.ts.map +1 -0
  194. package/dist/esm/cli.js +204 -0
  195. package/dist/esm/cli.js.map +1 -0
  196. package/dist/esm/collect/client.d.ts +550 -0
  197. package/dist/esm/collect/client.d.ts.map +1 -0
  198. package/dist/esm/collect/client.js +1114 -0
  199. package/dist/esm/collect/client.js.map +1 -0
  200. package/dist/esm/collect/collect.d.ts +44 -0
  201. package/dist/esm/collect/collect.d.ts.map +1 -0
  202. package/dist/esm/collect/collect.js +51 -0
  203. package/dist/esm/collect/collect.js.map +1 -0
  204. package/dist/esm/collect/inMemoryClient.d.ts +6 -0
  205. package/dist/esm/collect/inMemoryClient.d.ts.map +1 -0
  206. package/dist/esm/collect/inMemoryClient.js +8 -0
  207. package/dist/esm/collect/inMemoryClient.js.map +1 -0
  208. package/dist/esm/index.d.ts +13 -0
  209. package/dist/esm/index.d.ts.map +1 -0
  210. package/dist/esm/index.js +11 -0
  211. package/dist/esm/index.js.map +1 -0
  212. package/dist/esm/package.json +3 -0
  213. package/dist/esm/principalCan/permission.d.ts +125 -0
  214. package/dist/esm/principalCan/permission.d.ts.map +1 -0
  215. package/dist/esm/principalCan/permission.js +1212 -0
  216. package/dist/esm/principalCan/permission.js.map +1 -0
  217. package/dist/esm/principalCan/permissionSet.d.ts +140 -0
  218. package/dist/esm/principalCan/permissionSet.d.ts.map +1 -0
  219. package/dist/esm/principalCan/permissionSet.js +429 -0
  220. package/dist/esm/principalCan/permissionSet.js.map +1 -0
  221. package/dist/esm/principalCan/principalCan.d.ts +26 -0
  222. package/dist/esm/principalCan/principalCan.d.ts.map +1 -0
  223. package/dist/esm/principalCan/principalCan.js +193 -0
  224. package/dist/esm/principalCan/principalCan.js.map +1 -0
  225. package/dist/esm/principalCan/principalConstraints.d.ts +147 -0
  226. package/dist/esm/principalCan/principalConstraints.d.ts.map +1 -0
  227. package/dist/esm/principalCan/principalConstraints.js +456 -0
  228. package/dist/esm/principalCan/principalConstraints.js.map +1 -0
  229. package/dist/esm/principalCan/resources/actions.d.ts +9 -0
  230. package/dist/esm/principalCan/resources/actions.d.ts.map +1 -0
  231. package/dist/esm/principalCan/resources/actions.js +24 -0
  232. package/dist/esm/principalCan/resources/actions.js.map +1 -0
  233. package/dist/esm/principalCan/resources/resourceTypes/iamRoles.d.ts +31 -0
  234. package/dist/esm/principalCan/resources/resourceTypes/iamRoles.d.ts.map +1 -0
  235. package/dist/esm/principalCan/resources/resourceTypes/iamRoles.js +110 -0
  236. package/dist/esm/principalCan/resources/resourceTypes/iamRoles.js.map +1 -0
  237. package/dist/esm/principalCan/resources/resourceTypes/kmsKeys.d.ts +30 -0
  238. package/dist/esm/principalCan/resources/resourceTypes/kmsKeys.d.ts.map +1 -0
  239. package/dist/esm/principalCan/resources/resourceTypes/kmsKeys.js +106 -0
  240. package/dist/esm/principalCan/resources/resourceTypes/kmsKeys.js.map +1 -0
  241. package/dist/esm/principalCan/resources/resourceTypes/s3Buckets.d.ts +18 -0
  242. package/dist/esm/principalCan/resources/resourceTypes/s3Buckets.d.ts.map +1 -0
  243. package/dist/esm/principalCan/resources/resourceTypes/s3Buckets.js +120 -0
  244. package/dist/esm/principalCan/resources/resourceTypes/s3Buckets.js.map +1 -0
  245. package/dist/esm/principalCan/resources/statements.d.ts +27 -0
  246. package/dist/esm/principalCan/resources/statements.d.ts.map +1 -0
  247. package/dist/esm/principalCan/resources/statements.js +117 -0
  248. package/dist/esm/principalCan/resources/statements.js.map +1 -0
  249. package/dist/esm/principalIndex/makePrincipalIndex.d.ts +8 -0
  250. package/dist/esm/principalIndex/makePrincipalIndex.d.ts.map +1 -0
  251. package/dist/esm/principalIndex/makePrincipalIndex.js +104 -0
  252. package/dist/esm/principalIndex/makePrincipalIndex.js.map +1 -0
  253. package/dist/esm/principals.d.ts +54 -0
  254. package/dist/esm/principals.d.ts.map +1 -0
  255. package/dist/esm/principals.js +133 -0
  256. package/dist/esm/principals.js.map +1 -0
  257. package/dist/esm/resources.d.ts +32 -0
  258. package/dist/esm/resources.d.ts.map +1 -0
  259. package/dist/esm/resources.js +69 -0
  260. package/dist/esm/resources.js.map +1 -0
  261. package/dist/esm/simulate/contextKeys.d.ts +68 -0
  262. package/dist/esm/simulate/contextKeys.d.ts.map +1 -0
  263. package/dist/esm/simulate/contextKeys.js +287 -0
  264. package/dist/esm/simulate/contextKeys.js.map +1 -0
  265. package/dist/esm/simulate/simulate.d.ts +72 -0
  266. package/dist/esm/simulate/simulate.d.ts.map +1 -0
  267. package/dist/esm/simulate/simulate.js +295 -0
  268. package/dist/esm/simulate/simulate.js.map +1 -0
  269. package/dist/esm/test-datasets/testClient.d.ts +17 -0
  270. package/dist/esm/test-datasets/testClient.d.ts.map +1 -0
  271. package/dist/esm/test-datasets/testClient.js +56 -0
  272. package/dist/esm/test-datasets/testClient.js.map +1 -0
  273. package/dist/esm/utils/arn.d.ts +22 -0
  274. package/dist/esm/utils/arn.d.ts.map +1 -0
  275. package/dist/esm/utils/arn.js +43 -0
  276. package/dist/esm/utils/arn.js.map +1 -0
  277. package/dist/esm/utils/bitset.d.ts +45 -0
  278. package/dist/esm/utils/bitset.d.ts.map +1 -0
  279. package/dist/esm/utils/bitset.js +141 -0
  280. package/dist/esm/utils/bitset.js.map +1 -0
  281. package/dist/esm/utils/dynamicImport.d.ts +31 -0
  282. package/dist/esm/utils/dynamicImport.d.ts.map +1 -0
  283. package/dist/esm/utils/dynamicImport.js +60 -0
  284. package/dist/esm/utils/dynamicImport.js.map +1 -0
  285. package/dist/esm/utils/packageVersion.d.ts +5 -0
  286. package/dist/esm/utils/packageVersion.d.ts.map +1 -0
  287. package/dist/esm/utils/packageVersion.js +22 -0
  288. package/dist/esm/utils/packageVersion.js.map +1 -0
  289. package/dist/esm/utils/readPackageFile.d.ts +3 -0
  290. package/dist/esm/utils/readPackageFile.d.ts.map +1 -0
  291. package/dist/esm/utils/readPackageFile.js +15 -0
  292. package/dist/esm/utils/readPackageFile.js.map +1 -0
  293. package/dist/esm/utils/readPackageFileEsm.d.ts.map +1 -0
  294. package/dist/esm/utils/s3Abac.d.ts +3 -0
  295. package/dist/esm/utils/s3Abac.d.ts.map +1 -0
  296. package/dist/esm/utils/s3Abac.js +2 -0
  297. package/dist/esm/utils/s3Abac.js.map +1 -0
  298. package/dist/esm/utils/stringOrFileArgument.d.ts +9 -0
  299. package/dist/esm/utils/stringOrFileArgument.d.ts.map +1 -0
  300. package/dist/esm/utils/stringOrFileArgument.js +22 -0
  301. package/dist/esm/utils/stringOrFileArgument.js.map +1 -0
  302. package/dist/esm/utils/sts.d.ts +2 -0
  303. package/dist/esm/utils/sts.d.ts.map +1 -0
  304. package/dist/esm/utils/sts.js +6 -0
  305. package/dist/esm/utils/sts.js.map +1 -0
  306. package/dist/esm/utils/testUtils.d.ts +56 -0
  307. package/dist/esm/utils/testUtils.d.ts.map +1 -0
  308. package/dist/esm/utils/testUtils.js +90 -0
  309. package/dist/esm/utils/testUtils.js.map +1 -0
  310. package/dist/esm/utils/workerScript.d.ts +8 -0
  311. package/dist/esm/utils/workerScript.d.ts.map +1 -0
  312. package/dist/esm/utils/workerScript.js +18 -0
  313. package/dist/esm/utils/workerScript.js.map +1 -0
  314. package/dist/esm/utils/workerScriptEsm.d.ts.map +1 -0
  315. package/dist/esm/whoCan/WhoCanMainThreadWorker.d.ts +73 -0
  316. package/dist/esm/whoCan/WhoCanMainThreadWorker.d.ts.map +1 -0
  317. package/dist/esm/whoCan/WhoCanMainThreadWorker.js +81 -0
  318. package/dist/esm/whoCan/WhoCanMainThreadWorker.js.map +1 -0
  319. package/dist/esm/whoCan/WhoCanProcessor.d.ts +400 -0
  320. package/dist/esm/whoCan/WhoCanProcessor.d.ts.map +1 -0
  321. package/dist/esm/whoCan/WhoCanProcessor.js +1080 -0
  322. package/dist/esm/whoCan/WhoCanProcessor.js.map +1 -0
  323. package/dist/esm/whoCan/WhoCanWorker.d.ts +87 -0
  324. package/dist/esm/whoCan/WhoCanWorker.d.ts.map +1 -0
  325. package/dist/esm/whoCan/WhoCanWorker.js +198 -0
  326. package/dist/esm/whoCan/WhoCanWorker.js.map +1 -0
  327. package/dist/esm/whoCan/WhoCanWorkerThreadWorker.d.ts +2 -0
  328. package/dist/esm/whoCan/WhoCanWorkerThreadWorker.d.ts.map +1 -0
  329. package/dist/esm/whoCan/WhoCanWorkerThreadWorker.js +193 -0
  330. package/dist/esm/whoCan/WhoCanWorkerThreadWorker.js.map +1 -0
  331. package/dist/esm/whoCan/principalArnFilter.d.ts +84 -0
  332. package/dist/esm/whoCan/principalArnFilter.d.ts.map +1 -0
  333. package/dist/esm/whoCan/principalArnFilter.js +253 -0
  334. package/dist/esm/whoCan/principalArnFilter.js.map +1 -0
  335. package/dist/esm/whoCan/principalScope.d.ts +35 -0
  336. package/dist/esm/whoCan/principalScope.d.ts.map +1 -0
  337. package/dist/esm/whoCan/principalScope.js +102 -0
  338. package/dist/esm/whoCan/principalScope.js.map +1 -0
  339. package/dist/esm/whoCan/requestAnalysis.d.ts +73 -0
  340. package/dist/esm/whoCan/requestAnalysis.d.ts.map +1 -0
  341. package/dist/esm/whoCan/requestAnalysis.js +83 -0
  342. package/dist/esm/whoCan/requestAnalysis.js.map +1 -0
  343. package/dist/esm/whoCan/untrustingActions.d.ts +7 -0
  344. package/dist/esm/whoCan/untrustingActions.d.ts.map +1 -0
  345. package/dist/esm/whoCan/untrustingActions.js +27 -0
  346. package/dist/esm/whoCan/untrustingActions.js.map +1 -0
  347. package/dist/esm/whoCan/whoCan.d.ts +295 -0
  348. package/dist/esm/whoCan/whoCan.d.ts.map +1 -0
  349. package/dist/esm/whoCan/whoCan.js +571 -0
  350. package/dist/esm/whoCan/whoCan.js.map +1 -0
  351. package/dist/esm/whoCan/workerBootstrapPlugin.d.ts +17 -0
  352. package/dist/esm/whoCan/workerBootstrapPlugin.d.ts.map +1 -0
  353. package/dist/esm/whoCan/workerBootstrapPlugin.js +2 -0
  354. package/dist/esm/whoCan/workerBootstrapPlugin.js.map +1 -0
  355. package/dist/esm/workers/ArrayStreamingWorkQueue.d.ts +15 -0
  356. package/dist/esm/workers/ArrayStreamingWorkQueue.d.ts.map +1 -0
  357. package/dist/esm/workers/ArrayStreamingWorkQueue.js +31 -0
  358. package/dist/esm/workers/ArrayStreamingWorkQueue.js.map +1 -0
  359. package/dist/esm/workers/JobRunner.d.ts +47 -0
  360. package/dist/esm/workers/JobRunner.d.ts.map +1 -0
  361. package/dist/esm/workers/JobRunner.js +94 -0
  362. package/dist/esm/workers/JobRunner.js.map +1 -0
  363. package/dist/esm/workers/RingQueue.d.ts +14 -0
  364. package/dist/esm/workers/RingQueue.d.ts.map +1 -0
  365. package/dist/esm/workers/RingQueue.js +36 -0
  366. package/dist/esm/workers/RingQueue.js.map +1 -0
  367. package/dist/esm/workers/SharedArrayBufferMainCache.d.ts +10 -0
  368. package/dist/esm/workers/SharedArrayBufferMainCache.d.ts.map +1 -0
  369. package/dist/esm/workers/SharedArrayBufferMainCache.js +34 -0
  370. package/dist/esm/workers/SharedArrayBufferMainCache.js.map +1 -0
  371. package/dist/esm/workers/SharedArrayBufferWorkerCache.d.ts +10 -0
  372. package/dist/esm/workers/SharedArrayBufferWorkerCache.d.ts.map +1 -0
  373. package/dist/esm/workers/SharedArrayBufferWorkerCache.js +46 -0
  374. package/dist/esm/workers/SharedArrayBufferWorkerCache.js.map +1 -0
  375. package/dist/esm/workers/StreamingWorkQueue.d.ts +18 -0
  376. package/dist/esm/workers/StreamingWorkQueue.d.ts.map +1 -0
  377. package/dist/esm/workers/StreamingWorkQueue.js +61 -0
  378. package/dist/esm/workers/StreamingWorkQueue.js.map +1 -0
  379. package/dist/esm/workers/buffers.d.ts +4 -0
  380. package/dist/esm/workers/buffers.d.ts.map +1 -0
  381. package/dist/esm/workers/buffers.js +21 -0
  382. package/dist/esm/workers/buffers.js.map +1 -0
  383. 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,5 @@
1
+ /**
2
+ * Get the version of the package
3
+ */
4
+ export declare function iamLensVersion(): Promise<string>;
5
+ //# sourceMappingURL=packageVersion.d.ts.map
@@ -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,3 @@
1
+ import { type PackageFileReader } from '@actsecurity/cli';
2
+ export declare function getPackageFileReader(): PackageFileReader;
3
+ //# sourceMappingURL=readPackageFile.d.ts.map
@@ -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,3 @@
1
+ export declare const S3AbacOverrideOptions: readonly ["enabled", "disabled"];
2
+ export type S3AbacOverride = (typeof S3AbacOverrideOptions)[number];
3
+ //# sourceMappingURL=s3Abac.d.ts.map
@@ -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,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.S3AbacOverrideOptions = void 0;
4
+ exports.S3AbacOverrideOptions = ['enabled', 'disabled'];
5
+ //# sourceMappingURL=s3Abac.js.map
@@ -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,2 @@
1
+ export declare const AssumeRoleActions: Set<string>;
2
+ //# sourceMappingURL=sts.d.ts.map
@@ -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"}