@cloud-copilot/iam-lens 0.1.110 → 0.1.111

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 (59) hide show
  1. package/dist/cjs/collect/collect.d.ts +1 -1
  2. package/dist/cjs/collect/collect.d.ts.map +1 -1
  3. package/dist/cjs/collect/collect.js +2 -59
  4. package/dist/cjs/collect/collect.js.map +1 -1
  5. package/dist/cjs/index.d.ts +1 -1
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/test-datasets/testClient.d.ts +6 -0
  9. package/dist/cjs/test-datasets/testClient.d.ts.map +1 -1
  10. package/dist/cjs/test-datasets/testClient.js +21 -3
  11. package/dist/cjs/test-datasets/testClient.js.map +1 -1
  12. package/dist/cjs/utils/dynamicImport.d.ts +31 -0
  13. package/dist/cjs/utils/dynamicImport.d.ts.map +1 -0
  14. package/dist/cjs/utils/dynamicImport.js +64 -0
  15. package/dist/cjs/utils/dynamicImport.js.map +1 -0
  16. package/dist/cjs/whoCan/WhoCanProcessor.d.ts +37 -8
  17. package/dist/cjs/whoCan/WhoCanProcessor.d.ts.map +1 -1
  18. package/dist/cjs/whoCan/WhoCanProcessor.js +116 -34
  19. package/dist/cjs/whoCan/WhoCanProcessor.js.map +1 -1
  20. package/dist/cjs/whoCan/WhoCanWorkerThreadWorker.js +82 -30
  21. package/dist/cjs/whoCan/WhoCanWorkerThreadWorker.js.map +1 -1
  22. package/dist/cjs/whoCan/whoCan.d.ts +7 -0
  23. package/dist/cjs/whoCan/whoCan.d.ts.map +1 -1
  24. package/dist/cjs/whoCan/whoCan.js +1 -0
  25. package/dist/cjs/whoCan/whoCan.js.map +1 -1
  26. package/dist/cjs/whoCan/workerBootstrapPlugin.d.ts +17 -0
  27. package/dist/cjs/whoCan/workerBootstrapPlugin.d.ts.map +1 -0
  28. package/dist/cjs/whoCan/workerBootstrapPlugin.js +3 -0
  29. package/dist/cjs/whoCan/workerBootstrapPlugin.js.map +1 -0
  30. package/dist/esm/collect/collect.d.ts +1 -1
  31. package/dist/esm/collect/collect.d.ts.map +1 -1
  32. package/dist/esm/collect/collect.js +1 -58
  33. package/dist/esm/collect/collect.js.map +1 -1
  34. package/dist/esm/index.d.ts +1 -1
  35. package/dist/esm/index.d.ts.map +1 -1
  36. package/dist/esm/index.js.map +1 -1
  37. package/dist/esm/test-datasets/testClient.d.ts +6 -0
  38. package/dist/esm/test-datasets/testClient.d.ts.map +1 -1
  39. package/dist/esm/test-datasets/testClient.js +22 -4
  40. package/dist/esm/test-datasets/testClient.js.map +1 -1
  41. package/dist/esm/utils/dynamicImport.d.ts +31 -0
  42. package/dist/esm/utils/dynamicImport.d.ts.map +1 -0
  43. package/dist/esm/utils/dynamicImport.js +60 -0
  44. package/dist/esm/utils/dynamicImport.js.map +1 -0
  45. package/dist/esm/whoCan/WhoCanProcessor.d.ts +37 -8
  46. package/dist/esm/whoCan/WhoCanProcessor.d.ts.map +1 -1
  47. package/dist/esm/whoCan/WhoCanProcessor.js +117 -34
  48. package/dist/esm/whoCan/WhoCanProcessor.js.map +1 -1
  49. package/dist/esm/whoCan/WhoCanWorkerThreadWorker.js +84 -31
  50. package/dist/esm/whoCan/WhoCanWorkerThreadWorker.js.map +1 -1
  51. package/dist/esm/whoCan/whoCan.d.ts +7 -0
  52. package/dist/esm/whoCan/whoCan.d.ts.map +1 -1
  53. package/dist/esm/whoCan/whoCan.js +1 -0
  54. package/dist/esm/whoCan/whoCan.js.map +1 -1
  55. package/dist/esm/whoCan/workerBootstrapPlugin.d.ts +17 -0
  56. package/dist/esm/whoCan/workerBootstrapPlugin.d.ts.map +1 -0
  57. package/dist/esm/whoCan/workerBootstrapPlugin.js +2 -0
  58. package/dist/esm/whoCan/workerBootstrapPlugin.js.map +1 -0
  59. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"whoCan.js","sourceRoot":"","sources":["../../../src/whoCan/whoCan.ts"],"names":[],"mappings":";;AAiRA,wBA+CC;AAED,sDAyDC;AAyLD,0FAYC;AAED,oFAuJC;AAED,4CA8BC;AAUD,kEAsBC;AAED,wDAqBC;AAQD,sEAOC;AAmBD,8CAyBC;AAx2BD,sDAQgC;AAChC,0DAKkC;AAElC,wDAAwD;AACxD,4CAAqC;AAErC,4CAAmD;AAEnD,6DAA+E;AA2O/E;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,MAAM,CAC1B,cAAgC,EAChC,SAAiB,EACjB,OAA8B;IAE9B,IAAI,YAA4C,CAAA;IAEhD,MAAM,SAAS,GAAG,MAAM,oCAAe,CAAC,MAAM,CAAC;QAC7C,cAAc;QACd,SAAS;QACT,MAAM,EAAE;YACN,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC;QACD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,mBAAmB,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB;QAClD,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAChC,YAAY,GAAG,KAAK,CAAA;QACtB,CAAC;KACF,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,SAAS,CAAC,aAAa,CAAC;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;SAC7C,CAAC,CAAA;QAEF,MAAM,SAAS,CAAC,WAAW,EAAE,CAAA;QAE7B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM,YAAY,CAAC,KAAK,CAAA;QAC1B,CAAC;QAED,OAAO,YAAY,CAAC,MAAM,CAAA;IAC5B,CAAC;YAAS,CAAC;QACT,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAA;IAC5B,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,qBAAqB,CACzC,aAA+B,EAC/B,eAAgC;IAOhC,MAAM,WAAW,GAAG;QAClB,gBAAgB,EAAE,EAAc;QAChC,qBAAqB,EAAE,EAAc;QACrC,2BAA2B,EAAE,EAAc;QAC3C,QAAQ,EAAE,EAAc;KACzB,CAAA;IAED,IAAI,eAAe,CAAC,WAAW,EAAE,CAAC;QAChC,WAAW,CAAC,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAA;QACxD,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAA;IACxC,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC;QAC7D,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAChE,IAAI,aAAa,EAAE,CAAC;YAClB,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC7B,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,eAAe,CAAC,2BAA2B,IAAI,EAAE,EAAE,CAAC;QACvE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACtB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAEhC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,aAAa,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QACrF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC7B,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,WAAW,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,qBAAqB,IAAI,EAAE,EAAE,CAAC;QAChE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,aAAa,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAA;QAC/E,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC7B,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IAED,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IACjD,OAAO,WAAW,CAAA;AACpB,CAAC;AAcD;;;;;;;;;GASG;AACH,SAAS,2BAA2B,CAAC,KAAa;IAChD,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC/D,KAAK,EAAE,CAAA;YACP,OAAO,IAAI,IAAI,CAAA;YACf,CAAC,EAAE,CAAA,CAAC,eAAe;QACrB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACnC,KAAK,EAAE,CAAA;YACP,OAAO,IAAI,GAAG,CAAA;QAChB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtB,OAAO,GAAG,EAAE,CAAA;QACd,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,EAAE,CAAA;QACf,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACtB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,+BAA+B,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAA;AAEvF;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC1E,CAAC;AAcD,0FAA0F;AAC1F,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IAC1C,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;CAClB,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,SAAS,wBAAwB,CAAC,EAAsB;IACtD,OAAO,CACL,EAAE,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;QACnD,EAAE,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,KAAK,YAAY,CACjD,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,0BAA0B,CAAC,EAAsB;IACxD,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,aAAa;QAAE,OAAO,KAAK,CAAA;IACpD,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAA;IAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,IAAI,KAAK,YAAY,CAAA;AACjE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,kCAAkC,CAAC,UAAuB;IACjE,IAAI,oBAAoB,GAAG,KAAK,CAAA;IAChC,MAAM,sBAAsB,GAAa,EAAE,CAAA;IAE3C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAA;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAE3B,IAAI,EAAE,CAAC,UAAU,EAAE;YAAE,SAAQ;QAE7B,yFAAyF;QACzF,IAAI,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,wBAAwB,CAAC,EAAE,CAAC,EAAE,CAAC;YACzE,oBAAoB,GAAG,IAAI,CAAA;QAC7B,CAAC;QAED,6EAA6E;QAC7E,IAAI,GAAG,KAAK,oBAAoB,IAAI,0BAA0B,CAAC,EAAE,CAAC,EAAE,CAAC;YACnE,oBAAoB,GAAG,IAAI,CAAA;QAC7B,CAAC;QAED,oFAAoF;QACpF,sFAAsF;QACtF,0FAA0F;QAC1F,IAAI,GAAG,KAAK,2BAA2B,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAA;YAC9C,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAA;YACtC,MAAM,oBAAoB,GAAG,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;YAClF,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;YACrC,IACE,oBAAoB;gBACpB,MAAM,CAAC,MAAM,GAAG,CAAC;gBACjB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,EAC/C,CAAC;gBACD,oBAAoB,GAAG,IAAI,CAAA;YAC7B,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,IACE,GAAG,KAAK,0BAA0B;YAClC,EAAE,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;YACnD,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC5D,CAAC;YACD,sBAAsB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IAED,2FAA2F;IAC3F,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAA;IAC3E,CAAC;IACD,IAAI,oBAAoB,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAA;IACzC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAA;AACrC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,uCAAuC,CAAC,SAAoB;IAC1E,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;QAAE,OAAO,KAAK,CAAA;IAEtC,IAAI,SAAS,CAAC,uBAAuB,EAAE;QAAE,OAAO,IAAI,CAAA;IAEpD,IAAI,SAAS,CAAC,oBAAoB,EAAE,EAAE,CAAC;QACrC,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC;YAC/C,IAAI,SAAS,CAAC,mBAAmB,EAAE;gBAAE,OAAO,IAAI,CAAA;QAClD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAEM,KAAK,UAAU,oCAAoC,CACxD,cAAmB,EACnB,eAAmC;IAEnC,MAAM,eAAe,GAAoB;QACvC,WAAW,EAAE,KAAK;QAClB,gBAAgB,EAAE,EAAE;QACpB,kBAAkB,EAAE,EAAE;QACtB,qBAAqB,EAAE,EAAE;QACzB,2BAA2B,EAAE,EAAE;QAC/B,cAAc,EAAE,KAAK;QACrB,yBAAyB,EAAE,KAAK;KACjC,CAAA;IACD,IAAI,eAAe,EAAE,CAAC;QACpB,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IACxD,CAAC;IACD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,uBAAU,EAAC,cAAc,CAAC,CAAA;IACzC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;QAC5C,IAAI,uCAAuC,CAAC,SAAS,CAAC,EAAE,CAAC;YACvD,eAAe,CAAC,yBAAyB,GAAG,IAAI,CAAA;QAClD,CAAC;QACD,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,SAAS,CAAC,uBAAuB,EAAE,EAAE,CAAC;YAC/D,eAAe,CAAC,WAAW,GAAG,IAAI,CAAA;QACpC,CAAC;QACD,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,SAAS,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC5D,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE,CAAA;YACzC,IAAI,oBAAoB,GAAG,KAAK,CAAA;YAChC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,IAAI,SAAS,CAAC,mBAAmB,EAAE,EAAE,CAAC;oBACpC,oBAAoB,GAAG,IAAI,CAAA;gBAC7B,CAAC;qBAAM,IAAI,SAAS,CAAC,kBAAkB,EAAE,EAAE,CAAC;oBAC1C,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAA;gBAC9D,CAAC;qBAAM,CAAC;oBACN,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;gBAC5D,CAAC;YACH,CAAC;YAED,IAAI,oBAAoB,EAAE,CAAC;gBACzB,MAAM,YAAY,GAAG,kCAAkC,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAA;gBAE/E,IAAI,YAAY,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;oBACjD,SAAQ;gBACV,CAAC;gBAED,IAAI,YAAY,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;oBAC/C,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;oBACnE,SAAQ;gBACV,CAAC;gBAED,MAAM,YAAY,GAAa,EAAE,CAAA;gBACjC,MAAM,WAAW,GAAa,EAAE,CAAA;gBAChC,MAAM,gBAAgB,GAAa,EAAE,CAAA;gBACrC,MAAM,kBAAkB,GAAa,EAAE,CAAA;gBAEvC,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE,CAAA;gBACzC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;oBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAA;oBACjD,IACE,OAAO,KAAK,oBAAoB;wBAChC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;wBACjE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC5D,CAAC;wBACD,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,CAAA;oBAC9C,CAAC;oBACD,IACE,OAAO,KAAK,uBAAuB;wBACnC,IAAI,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;wBACxE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC5D,CAAC;wBACD,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,CAAA;oBAC7C,CAAC;oBACD,IAAI,OAAO,KAAK,sBAAsB,IAAI,OAAO,KAAK,mBAAmB,EAAE,CAAC;wBAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAA;wBACpD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAA;wBAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;wBACrC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;wBAE9D,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;4BACpD,2DAA2D;4BAC3D,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;wBAClC,CAAC;6BAAM,IACL,MAAM,KAAK,YAAY;4BACvB,CAAC,UAAU;4BACX,MAAM,CAAC,KAAK,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EACjE,CAAC;4BACD,yEAAyE;4BACzE,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;wBAClC,CAAC;oBACH,CAAC;oBAED,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;wBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAA;wBACtD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAA;wBAC5D,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;wBAC1D,MAAM,iBAAiB,GAAG,+BAA+B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;wBAErE,IAAI,CAAC,eAAe,IAAI,CAAC,iBAAiB,EAAE,CAAC;4BAC3C,SAAQ;wBACV,CAAC;wBAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC;4BAClC,eAAe,CAAC,cAAc,GAAG,IAAI,CAAA;wBACvC,CAAC;wBAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;4BAC3C,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;gCACjC,+CAA+C;gCAC/C,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;4BAChC,CAAC;iCAAM,IAAI,eAAe,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gCAC3E,mFAAmF;gCACnF,MAAM,QAAQ,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAA;gCACnD,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;oCAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;oCAC3B,IAAI,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;wCAC9C,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oCAChC,CAAC;gCACH,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,oEAAoE;gCACpE,MAAM,QAAQ,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAA;gCACnD,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;oCAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;oCAC3B,IAAI,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;wCAC9C,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oCAChC,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAA;gBAChE,CAAC;gBACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAA;gBAC5D,CAAC;qBAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClC,eAAe,CAAC,2BAA2B,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAA;gBAClE,CAAC;qBAAM,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;gBAC7D,CAAC;qBAAM,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3C,eAAe,CAAC,WAAW,GAAG,IAAI,CAAA;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,eAAe,CAAA;AACxB,CAAC;AAEM,KAAK,UAAU,gBAAgB,CACpC,OAA4D;IAE5D,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;IAE3B,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,YAAY,GAAa,EAAE,CAAA;QACjC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,SAAQ;YACV,CAAC;YACD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAA;YACnC,MAAM,aAAa,GAAG,MAAM,IAAA,2BAAgB,EAAC,OAAO,CAAC,CAAA;YACrD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,SAAQ;YACV,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,IAAA,0BAAe,EAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,SAAQ;YACV,CAAC;YAED,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3B,CAAC;QACD,OAAO,YAAY,CAAA;IACrB,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,2BAA2B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;AACtD,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,2BAA2B,CAAC,WAAmB;IACnE,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAA;IACzE,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAA;IAExC,MAAM,eAAe,GAAa,EAAE,CAAA;IACpC,MAAM,cAAc,GAAG,MAAM,IAAA,+BAAoB,EAAC,OAAO,CAAC,CAAA;IAC1D,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACpC,MAAM,aAAa,GAAG,MAAM,IAAA,2BAAgB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC7D,KAAK,MAAM,EAAE,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;YAC7C,IAAI,EAAE,CAAC,IAAI,IAAI,eAAe,EAAE,CAAC;gBAC/B,eAAe,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,MAAM,EAAE,CAAC,CAAA;gBAC5C,MAAK,CAAC,wDAAwD;YAChE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,YAAG,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAA;IACrF,IAAI,MAAM,EAAE,CAAC;QACX,eAAe,CAAC,IAAI,CAAC,GAAG,0BAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;IACrD,CAAC;IAED,OAAO,eAAe,CAAA;AACxB,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,WAAmB;IAC9D,MAAM,QAAQ,GAAG,IAAA,yBAAa,EAAC,WAAW,CAAC,CAAA;IAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAQ,CAAC,WAAW,EAAE,CAAA;IAE/C,MAAM,aAAa,GAAG,MAAM,IAAA,2BAAgB,EAAC,OAAO,CAAC,CAAA;IACrD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,iBAAiB,WAAW,EAAE,CAAC,CAAA;IAClF,CAAC;IAED,MAAM,mBAAmB,GAAG,MAAM,2BAA2B,CAAC,OAAO,CAAC,CAAA;IACtE,KAAK,MAAM,EAAE,IAAI,mBAAmB,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,6BAA6B,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;QACrD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;QACpD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,4CAA4C,OAAO,iBAAiB,WAAW,GAAG,CACnF,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,6BAA6B,CAAC,OAAe;IAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC/D,OAAO,MAAM,SAAS,SAAS,CAAA;IACjC,CAAC,CAAC,CAAA;IACF,OAAO,IAAI,KAAK,GAAG,CAAA;AACrB,CAAC;AAED,KAAK,UAAU,2BAA2B,CAAC,OAAe;IACxD,MAAM,gBAAgB,GAAG,MAAM,IAAA,qCAA0B,EAAC,OAAO,CAAC,CAAA;IAClE,MAAM,mBAAmB,GAAmB,EAAE,CAAA;IAC9C,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,IAAA,iCAAsB,EAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAC1D,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACnC,CAAC;IACD,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAA;IACpC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,cAA8B;IAC9D,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS;YAAE,OAAO,CAAC,CAAC,CAAA;QACxC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS;YAAE,OAAO,CAAC,CAAA;QACvC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC,CAAA;QACpC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO;YAAE,OAAO,CAAC,CAAA;QACnC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC,CAAA;QAClC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM;YAAE,OAAO,CAAC,CAAA;QACjC,OAAO,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS;YAAE,OAAO,CAAC,CAAC,CAAA;QACxC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS;YAAE,OAAO,CAAC,CAAA;QACvC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC,CAAA;QACpC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO;YAAE,OAAO,CAAC,CAAA;QACnC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC,CAAA;QAClC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM;YAAE,OAAO,CAAC,CAAA;QACjC,OAAO,CAAC,CAAA;IACV,CAAC,CAAC,CAAA;IAEF,cAAc,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAA;IACtC,cAAc,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAA;IAC3C,cAAc,CAAC,2BAA2B,CAAC,IAAI,EAAE,CAAA;IACjD,cAAc,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAA;AAC1C,CAAC"}
1
+ {"version":3,"file":"whoCan.js","sourceRoot":"","sources":["../../../src/whoCan/whoCan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Configuration for a consumer-provided module that runs once per worker thread
3
+ * at startup, before any work is processed. Intended for loading instrumentation
4
+ * (e.g. dd-trace), initializing logging context, or similar worker-lifetime setup.
5
+ *
6
+ * The referenced export must be a function matching
7
+ * `(context: { data: unknown; threadId: number; isMainThread: false }) => void | Promise<void>`.
8
+ */
9
+ export interface WorkerBootstrapPlugin {
10
+ /** Package name (e.g. '@my-app/worker-bootstrap') or absolute path — resolved via dynamic import. */
11
+ module: string;
12
+ /** Name of the exported bootstrap function. */
13
+ factoryExport: string;
14
+ /** JSON-serializable data passed to the bootstrap function. */
15
+ data: unknown;
16
+ }
17
+ //# sourceMappingURL=workerBootstrapPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerBootstrapPlugin.d.ts","sourceRoot":"","sources":["../../../src/whoCan/workerBootstrapPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,qGAAqG;IACrG,MAAM,EAAE,MAAM,CAAA;IACd,+CAA+C;IAC/C,aAAa,EAAE,MAAM,CAAA;IACrB,+DAA+D;IAC/D,IAAI,EAAE,OAAO,CAAA;CACd"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=workerBootstrapPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workerBootstrapPlugin.js","sourceRoot":"","sources":["../../../src/whoCan/workerBootstrapPlugin.ts"],"names":[],"mappings":""}
@@ -16,7 +16,7 @@ export declare function loadCollectConfigs(configPaths: string[]): Promise<TopLe
16
16
  * and must return an `IamCollectClient` (or subclass).
17
17
  */
18
18
  export interface ClientFactoryPlugin {
19
- /** Package name (e.g. '@cloud-copilot/iam-scenario') or absolute path — resolved via require() */
19
+ /** Package name (e.g. '@my-org/my-factory') or absolute path — resolved via require() */
20
20
  module: string;
21
21
  /** Name of the exported factory function */
22
22
  factoryExport: string;
@@ -1 +1 @@
1
- {"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../../src/collect/collect.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGpB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAE5E;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAEzF;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,kGAAkG;IAClG,MAAM,EAAE,MAAM,CAAA;IACd,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAA;IACrB,yEAAyE;IACzE,IAAI,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACnE,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;CAC1C;AA6DD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,cAAc,EAAE,EACzB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,gBAAgB,CAAC,CAwB3B"}
1
+ {"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../../src/collect/collect.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGpB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAG5E;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAEzF;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,yFAAyF;IACzF,MAAM,EAAE,MAAM,CAAA;IACd,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAA;IACrB,yEAAyE;IACzE,IAAI,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACnE,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;CAC1C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,cAAc,EAAE,EACzB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,gBAAgB,CAAC,CAwB3B"}
@@ -1,6 +1,7 @@
1
1
  import { createStorageClient, loadConfigFiles } from '@cloud-copilot/iam-collect';
2
2
  import { createRequire } from 'module';
3
3
  import { IamCollectClient } from './client.js';
4
+ import { dynamicImport } from '../utils/dynamicImport.js';
4
5
  /**
5
6
  * Load IAM collect configs from the specified paths.
6
7
  *
@@ -10,64 +11,6 @@ import { IamCollectClient } from './client.js';
10
11
  export async function loadCollectConfigs(configPaths) {
11
12
  return loadConfigFiles(configPaths);
12
13
  }
13
- /**
14
- * Normalize a module namespace object so that named exports are accessible as
15
- * top-level properties regardless of whether the underlying module is ESM or
16
- * CJS. When `import()` loads a CJS module the entire `module.exports` object
17
- * is placed on the `default` property of the namespace, so this helper merges
18
- * `default` back into the top level.
19
- *
20
- * @param mod - The raw module namespace returned by `import()` or `require()`.
21
- * @returns A flat record with all named exports accessible as top-level keys.
22
- */
23
- function normalizeModule(mod) {
24
- if (mod.default && typeof mod.default === 'object' && !Array.isArray(mod.default)) {
25
- return { ...mod, ...mod.default };
26
- }
27
- return mod;
28
- }
29
- /**
30
- * Dynamically load a module by name or path, handling both ESM and CJS
31
- * runtime contexts and both ESM and CJS target modules.
32
- *
33
- * Resolution strategy:
34
- * 1. Try a bare `import()` first — this works when the module is resolvable
35
- * from the current file (e.g. it is a direct dependency) or when a bundler /
36
- * test runner (vitest, etc.) intercepts module resolution.
37
- * 2. If that fails with a "not found" error, fall back to `createRequire`
38
- * rooted at `process.cwd()`. This handles the case where the plugin package
39
- * lives in the consuming project's `node_modules` rather than iam-lens's
40
- * own. `createRequire` works in both ESM and CJS contexts and always uses
41
- * the CJS resolution algorithm, which reliably finds packages regardless of
42
- * the caller's module type.
43
- *
44
- * @param modulePath - Package name or absolute path to import.
45
- * @returns The exports object of the imported module with normalised keys.
46
- */
47
- async function dynamicImport(modulePath) {
48
- try {
49
- const mod = (await import(modulePath));
50
- return normalizeModule(mod);
51
- }
52
- catch (err) {
53
- const code = err.code;
54
- if (code !== 'ERR_MODULE_NOT_FOUND' && code !== 'MODULE_NOT_FOUND') {
55
- throw err;
56
- }
57
- }
58
- // Bare import failed — use createRequire to load from cwd's node_modules.
59
- // createRequire works in both ESM and CJS contexts and handles both CJS and
60
- // ESM target modules (for ESM targets it will load the CJS entry when one
61
- // exists, which is acceptable for plugin loading).
62
- const _require = createRequire(process.cwd() + '/');
63
- // eslint-disable-next-line @typescript-eslint/no-require-imports
64
- const mod = _require(modulePath);
65
- // Some environments (e.g. vitest SSR) wrap require() results in a Proxy with
66
- // lazy getters where property access returns undefined despite keys being
67
- // visible. Spreading into a plain object materialises all values.
68
- const plain = { ...mod };
69
- return normalizeModule(plain);
70
- }
71
14
  /**
72
15
  * Get a collect client for the specified partition using the provided configs.
73
16
  *
@@ -1 +1 @@
1
- {"version":3,"file":"collect.js","sourceRoot":"","sources":["../../../src/collect/collect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collect.js","sourceRoot":"","sources":["../../../src/collect/collect.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,eAAe,EAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAgC,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEzD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,WAAqB;IAC5D,OAAO,eAAe,CAAC,WAAW,CAAC,CAAA;AACrC,CAAC;AAuBD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAyB,EACzB,SAAiB,EACjB,OAA8B;IAE9B,MAAM,EAAE,mBAAmB,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;IAC/D,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;IAC3D,IAAI,CAAC,mBAAmB;QAAE,OAAO,IAAI,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IAC3E,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC3D,IAAI,OAAO,GAAG,GAAG,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAA;IACpD,6EAA6E;IAC7E,gFAAgF;IAChF,0EAA0E;IAC1E,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7E,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAA4B,CAAA;QAChF,OAAO,GAAG,QAAQ,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAA;IACvD,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,mBAAmB,mBAAmB,CAAC,aAAa,0BAA0B,mBAAmB,CAAC,MAAM,GAAG,CAC5G,CAAA;IACH,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,mBAAmB,mBAAmB,CAAC,aAAa,gBAAgB,mBAAmB,CAAC,MAAM,qBAAqB,CACpH,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,mBAAmB,CAAC,IAAI,CAAqB,CAAA;AACpF,CAAC"}
@@ -6,6 +6,6 @@ export { makePrincipalIndex } from './principalIndex/makePrincipalIndex.js';
6
6
  export type { ContextKeys } from './simulate/contextKeys.js';
7
7
  export { simulateRequest, type SimulationRequest } from './simulate/simulate.js';
8
8
  export { whoCan, type WhoCanPrincipalScope, type ResourceAccessRequest, type WhoCanAllowed, type WhoCanResponse } from './whoCan/whoCan.js';
9
- export { WhoCanProcessor, type WhoCanProcessorConfig, type WhoCanProcessorRequest, type WhoCanSettledEvent, type WhoCanSettledSuccess, type WhoCanSettledError } from './whoCan/WhoCanProcessor.js';
9
+ export { WhoCanProcessor, type WhoCanProcessorConfig, type WhoCanProcessorRequest, type WhoCanSettledEvent, type WhoCanSettledSuccess, type WhoCanSettledError, type WorkerBootstrapPlugin } from './whoCan/WhoCanProcessor.js';
10
10
  export { type LightRequestAnalysis, type LightResourceAnalysis, type LightResourceAnalysisWithPattern, type SingleResourceLightRequestAnalysis, type WildcardResourceLightRequestAnalysis } from './whoCan/requestAnalysis.js';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,cAAc,EACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EACL,MAAM,EACN,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,KAAK,oCAAoC,EAC1C,MAAM,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,aAAa,EACb,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,cAAc,EACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAC3E,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EACL,MAAM,EACN,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,KAAK,oCAAoC,EAC1C,MAAM,6BAA6B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EAGhB,MAAM,qBAAqB,CAAA;AAS5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAGnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAA0B,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAE3E,OAAO,EAAE,eAAe,EAA0B,MAAM,wBAAwB,CAAA;AAChF,OAAO,EACL,MAAM,EAKP,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EAMhB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAMN,MAAM,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EAGhB,MAAM,qBAAqB,CAAA;AAS5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAGnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAA0B,MAAM,gCAAgC,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAE3E,OAAO,EAAE,eAAe,EAA0B,MAAM,wBAAwB,CAAA;AAChF,OAAO,EACL,MAAM,EAKP,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EAOhB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAMN,MAAM,6BAA6B,CAAA"}
@@ -7,5 +7,11 @@ import { IamCollectClient } from '../collect/client.js';
7
7
  * @returns IamCollectClient instance configured for the specified dataset
8
8
  */
9
9
  export declare function getTestDatasetClient(dataSetId: string): Promise<IamCollectClient>;
10
+ /**
11
+ * Get TopLevelConfig array for a test dataset.
12
+ *
13
+ * @param dataSetId - The numeric ID suffix of the dataset
14
+ * @returns Configuration array pointing to the dataset's file storage
15
+ */
10
16
  export declare function getTestDatasetConfigs(dataSetId: string): TopLevelConfig[];
11
17
  //# sourceMappingURL=testClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testClient.d.ts","sourceRoot":"","sources":["../../../src/test-datasets/testClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAGhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAGvD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoBvF;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,CAUzE"}
1
+ {"version":3,"file":"testClient.d.ts","sourceRoot":"","sources":["../../../src/test-datasets/testClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAIhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAgBvD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoBvF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,CAUzE"}
@@ -1,8 +1,20 @@
1
1
  import {} from '@cloud-copilot/iam-collect';
2
2
  import { existsSync } from 'fs';
3
- import { join, resolve } from 'path';
3
+ import { dirname, join, resolve } from 'path';
4
+ import { fileURLToPath } from 'url';
4
5
  import { IamCollectClient } from '../collect/client.js';
5
6
  import { getCollectClient } from '../collect/collect.js';
7
+ // @ts-ignore
8
+ const __dirname = dirname(fileURLToPath(import.meta.url));
9
+ /**
10
+ * Resolves the absolute path for a test dataset directory.
11
+ *
12
+ * @param dataSetId - The numeric ID suffix of the dataset (e.g. "1" for iam-data-1)
13
+ * @returns Absolute path to the dataset directory
14
+ */
15
+ function datasetPath(dataSetId) {
16
+ return resolve(join(__dirname, `iam-data-${dataSetId}`));
17
+ }
6
18
  /**
7
19
  * Get an IAMCollectClient for a test database
8
20
  *
@@ -10,7 +22,7 @@ import { getCollectClient } from '../collect/collect.js';
10
22
  * @returns IamCollectClient instance configured for the specified dataset
11
23
  */
12
24
  export async function getTestDatasetClient(dataSetId) {
13
- const path = resolve(join('./src', 'test-datasets', `iam-data-${dataSetId}`));
25
+ const path = datasetPath(dataSetId);
14
26
  if (!existsSync(path)) {
15
27
  throw new Error(`Test dataset with ID ${dataSetId} does not exist at path ${path}. Someone messed up.`);
16
28
  }
@@ -19,18 +31,24 @@ export async function getTestDatasetClient(dataSetId) {
19
31
  iamCollectVersion: '0.0.0',
20
32
  storage: {
21
33
  type: 'file',
22
- path: resolve(join('./src', 'test-datasets', `iam-data-${dataSetId}`))
34
+ path
23
35
  }
24
36
  }
25
37
  ], 'aws');
26
38
  }
39
+ /**
40
+ * Get TopLevelConfig array for a test dataset.
41
+ *
42
+ * @param dataSetId - The numeric ID suffix of the dataset
43
+ * @returns Configuration array pointing to the dataset's file storage
44
+ */
27
45
  export function getTestDatasetConfigs(dataSetId) {
28
46
  return [
29
47
  {
30
48
  iamCollectVersion: '0.0.0',
31
49
  storage: {
32
50
  type: 'file',
33
- path: resolve(join('./src', 'test-datasets', `iam-data-${dataSetId}`))
51
+ path: datasetPath(dataSetId)
34
52
  }
35
53
  }
36
54
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"testClient.js","sourceRoot":"","sources":["../../../src/test-datasets/testClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,YAAY,SAAS,EAAE,CAAC,CAAC,CAAA;IAC7E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,wBAAwB,SAAS,2BAA2B,IAAI,sBAAsB,CACvF,CAAA;IACH,CAAC;IAED,OAAO,gBAAgB,CACrB;QACE;YACE,iBAAiB,EAAE,OAAO;YAC1B,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,YAAY,SAAS,EAAE,CAAC,CAAC;aACvE;SACF;KACF,EACD,KAAK,CACN,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,OAAO;QACL;YACE,iBAAiB,EAAE,OAAO;YAC1B,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,YAAY,SAAS,EAAE,CAAC,CAAC;aACvE;SACF;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"testClient.js","sourceRoot":"","sources":["../../../src/test-datasets/testClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,aAAa;AACb,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAEzD;;;;;GAKG;AACH,SAAS,WAAW,CAAC,SAAiB;IACpC,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,SAAS,EAAE,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,SAAiB;IAC1D,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;IACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,wBAAwB,SAAS,2BAA2B,IAAI,sBAAsB,CACvF,CAAA;IACH,CAAC;IAED,OAAO,gBAAgB,CACrB;QACE;YACE,iBAAiB,EAAE,OAAO;YAC1B,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI;aACL;SACF;KACF,EACD,KAAK,CACN,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,OAAO;QACL;YACE,iBAAiB,EAAE,OAAO;YAC1B,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC;aAC7B;SACF;KACF,CAAA;AACH,CAAC"}
@@ -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,60 @@
1
+ import { createRequire } from 'module';
2
+ /**
3
+ * Normalize a module namespace object so that named exports are accessible as
4
+ * top-level properties regardless of whether the underlying module is ESM or
5
+ * CJS. When `import()` loads a CJS module the entire `module.exports` object
6
+ * is placed on the `default` property of the namespace, so this helper merges
7
+ * `default` back into the top level.
8
+ *
9
+ * @param mod - The raw module namespace returned by `import()` or `require()`.
10
+ * @returns A flat record with all named exports accessible as top-level keys.
11
+ */
12
+ export function normalizeModule(mod) {
13
+ if (mod.default && typeof mod.default === 'object' && !Array.isArray(mod.default)) {
14
+ return { ...mod, ...mod.default };
15
+ }
16
+ return mod;
17
+ }
18
+ /**
19
+ * Dynamically load a module by name or path, handling both ESM and CJS
20
+ * runtime contexts and both ESM and CJS target modules.
21
+ *
22
+ * Resolution strategy:
23
+ * 1. Try a bare `import()` first — this works when the module is resolvable
24
+ * from the current file (e.g. it is a direct dependency) or when a bundler /
25
+ * test runner (vitest, etc.) intercepts module resolution.
26
+ * 2. If that fails with a "not found" error, fall back to `createRequire`
27
+ * rooted at `process.cwd()`. This handles the case where the plugin package
28
+ * lives in the consuming project's `node_modules` rather than iam-lens's
29
+ * own. `createRequire` works in both ESM and CJS contexts and always uses
30
+ * the CJS resolution algorithm, which reliably finds packages regardless of
31
+ * the caller's module type.
32
+ *
33
+ * @param modulePath - Package name or absolute path to import.
34
+ * @returns The exports object of the imported module with normalised keys.
35
+ */
36
+ export async function dynamicImport(modulePath) {
37
+ try {
38
+ const mod = (await import(modulePath));
39
+ return normalizeModule(mod);
40
+ }
41
+ catch (err) {
42
+ const code = err.code;
43
+ if (code !== 'ERR_MODULE_NOT_FOUND' && code !== 'MODULE_NOT_FOUND') {
44
+ throw err;
45
+ }
46
+ }
47
+ // Bare import failed — use createRequire to load from cwd's node_modules.
48
+ // createRequire works in both ESM and CJS contexts and handles both CJS and
49
+ // ESM target modules (for ESM targets it will load the CJS entry when one
50
+ // exists, which is acceptable for plugin loading).
51
+ const _require = createRequire(process.cwd() + '/');
52
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
53
+ const mod = _require(modulePath);
54
+ // Some environments (e.g. vitest SSR) wrap require() results in a Proxy with
55
+ // lazy getters where property access returns undefined despite keys being
56
+ // visible. Spreading into a plain object materialises all values.
57
+ const plain = { ...mod };
58
+ return normalizeModule(plain);
59
+ }
60
+ //# sourceMappingURL=dynamicImport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamicImport.js","sourceRoot":"","sources":["../../../src/utils/dynamicImport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAEtC;;;;;;;;;GASG;AACH,MAAM,UAAU,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;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAkB;IACpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,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,aAAa,CAAC,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"}
@@ -3,6 +3,8 @@ import { type ClientFactoryPlugin } from '../collect/collect.js';
3
3
  import { type S3AbacOverride } from '../utils/s3Abac.js';
4
4
  import { type LightRequestAnalysis } from './requestAnalysis.js';
5
5
  import { type WhoCanPrincipalScope, type WhoCanResponse } from './whoCan.js';
6
+ import { type WorkerBootstrapPlugin } from './workerBootstrapPlugin.js';
7
+ export type { WorkerBootstrapPlugin } from './workerBootstrapPlugin.js';
6
8
  /**
7
9
  * Configuration for creating a WhoCanProcessor. These settings are fixed
8
10
  * for the lifetime of the processor and baked into worker threads at creation time.
@@ -41,6 +43,13 @@ export interface WhoCanProcessorConfig {
41
43
  };
42
44
  /** Optional plugin to wrap the collect client with a custom implementation. */
43
45
  clientFactoryPlugin?: ClientFactoryPlugin;
46
+ /**
47
+ * Optional plugin that runs once per worker thread at startup before any work
48
+ * is processed. Use this for loading instrumentation, initializing logging
49
+ * context, or other worker-lifetime setup. If the bootstrap function throws,
50
+ * the worker fails and the processor surfaces the error.
51
+ */
52
+ workerBootstrapPlugin?: WorkerBootstrapPlugin;
44
53
  /** An override for S3 ABAC being enabled when checking access to S3 Bucket resources. */
45
54
  s3AbacOverride?: S3AbacOverride;
46
55
  /** Whether workers should collect grant details for allowed simulations. */
@@ -54,6 +63,15 @@ export interface WhoCanProcessorConfig {
54
63
  * status, and either the result or the error.
55
64
  */
56
65
  onRequestSettled: (event: WhoCanSettledEvent) => Promise<void>;
66
+ /**
67
+ * Optional async callback invoked when an `onRequestSettled` callback throws or rejects.
68
+ * If this callback itself throws, the error is silently ignored. If not provided, a
69
+ * warning is logged indicating that a settlement callback failed with no handler defined.
70
+ *
71
+ * @param event - The settlement event that was being delivered when the error occurred.
72
+ * @param error - The error thrown by the `onRequestSettled` callback.
73
+ */
74
+ onSettlementFailure?: (event: WhoCanSettledEvent, error: Error) => Promise<void>;
57
75
  /**
58
76
  * Whether the processor should ignore an existing principal index. Use this with testing.
59
77
  */
@@ -142,11 +160,18 @@ export declare class WhoCanProcessor {
142
160
  private draining;
143
161
  private preparationQueue;
144
162
  private idleWaiters;
145
- private settledCallbackErrors;
146
163
  private mainThreadWorker;
147
164
  private fatalError?;
148
165
  private shutdownPromise?;
149
166
  private constructor();
167
+ /**
168
+ * Waits for every worker to post a `{ type: 'ready' }` message. If any
169
+ * worker fails (error, non-zero exit, or explicit `startupError` message)
170
+ * the remaining workers are terminated and the returned promise rejects.
171
+ *
172
+ * @param workers - The worker instances to wait on.
173
+ */
174
+ private static awaitWorkersReady;
150
175
  /**
151
176
  * Creates a new WhoCanProcessor with worker threads, a shared cache, and
152
177
  * lifetime-scoped message routing. The processor is ready to accept requests
@@ -176,8 +201,7 @@ export declare class WhoCanProcessor {
176
201
  * While draining, new calls to {@link enqueueWhoCan} will throw. Once
177
202
  * the drain completes, the processor re-opens for new enqueues.
178
203
  *
179
- * @returns a promise that resolves when idle, or rejects if a worker crashes
180
- * or an onRequestSettled callback throws/rejects.
204
+ * @returns a promise that resolves when idle, or rejects if a worker crashes.
181
205
  */
182
206
  waitForIdle(): Promise<void>;
183
207
  /**
@@ -313,8 +337,8 @@ export declare class WhoCanProcessor {
313
337
  */
314
338
  private settleRequestAsError;
315
339
  /**
316
- * Invokes the onRequestSettled callback and accumulates any errors for
317
- * later surfacing via waitForIdle.
340
+ * Invokes the onRequestSettled callback and routes any errors through
341
+ * {@link handleSettlementFailure}.
318
342
  *
319
343
  * @param event - The settlement event to deliver.
320
344
  */
@@ -356,10 +380,15 @@ export declare class WhoCanProcessor {
356
380
  */
357
381
  private checkIdle;
358
382
  /**
359
- * If any onRequestSettled callbacks threw, throws the first error.
360
- * Called after waitForIdle resolves to surface callback errors.
383
+ * Handles an error thrown by the `onRequestSettled` callback. If the
384
+ * `onSettlementFailure` callback is defined, it is invoked with the event
385
+ * and error; any error it throws is silently ignored. If not defined, a
386
+ * warning is logged.
387
+ *
388
+ * @param event - The settlement event that was being delivered.
389
+ * @param err - The raw error thrown by the `onRequestSettled` callback.
361
390
  */
362
- private rejectIfSettledCallbackErrors;
391
+ private handleSettlementFailure;
363
392
  /**
364
393
  * Handles an unexpected worker failure by marking the processor as dead,
365
394
  * terminating remaining workers, and rejecting all active and pending requests.
@@ -1 +1 @@
1
- {"version":3,"file":"WhoCanProcessor.d.ts","sourceRoot":"","sources":["../../../src/whoCan/WhoCanProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WhoCanProcessor.d.ts","sourceRoot":"","sources":["../../../src/whoCan/WhoCanProcessor.ts"],"names":[],"mappings":"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"}