@stratum-hq/lib 1.7.0 → 1.8.0

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/README.md +29 -2
  2. package/dist/crypto.d.ts.map +1 -1
  3. package/dist/crypto.js +50 -10
  4. package/dist/crypto.js.map +1 -1
  5. package/dist/index.d.ts +7 -3
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +17 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/migrate-schemas.d.ts +4 -0
  10. package/dist/migrate-schemas.d.ts.map +1 -1
  11. package/dist/migrate-schemas.js +16 -6
  12. package/dist/migrate-schemas.js.map +1 -1
  13. package/dist/migrate.d.ts +24 -0
  14. package/dist/migrate.d.ts.map +1 -1
  15. package/dist/migrate.js +44 -6
  16. package/dist/migrate.js.map +1 -1
  17. package/dist/migration-sql.d.ts +25 -0
  18. package/dist/migration-sql.d.ts.map +1 -0
  19. package/dist/migration-sql.js +64 -0
  20. package/dist/migration-sql.js.map +1 -0
  21. package/dist/migrations/029_tenant_parent_cycle_guard.sql +2 -2
  22. package/dist/migrations/031_subtree_read_scope.sql +6 -6
  23. package/dist/migrations/032_control_role.sql +809 -0
  24. package/dist/migrations/033_api_keys_tenant_index.sql +14 -0
  25. package/dist/pinned-query.d.ts +29 -0
  26. package/dist/pinned-query.d.ts.map +1 -0
  27. package/dist/pinned-query.js +60 -0
  28. package/dist/pinned-query.js.map +1 -0
  29. package/dist/pool-helpers.d.ts +2 -0
  30. package/dist/pool-helpers.d.ts.map +1 -1
  31. package/dist/pool-helpers.js +17 -3
  32. package/dist/pool-helpers.js.map +1 -1
  33. package/dist/role-model.d.ts +178 -0
  34. package/dist/role-model.d.ts.map +1 -0
  35. package/dist/role-model.js +670 -0
  36. package/dist/role-model.js.map +1 -0
  37. package/dist/services/api-key-service.d.ts +12 -2
  38. package/dist/services/api-key-service.d.ts.map +1 -1
  39. package/dist/services/api-key-service.js +33 -9
  40. package/dist/services/api-key-service.js.map +1 -1
  41. package/dist/services/config-service.d.ts +15 -6
  42. package/dist/services/config-service.d.ts.map +1 -1
  43. package/dist/services/config-service.js +96 -50
  44. package/dist/services/config-service.js.map +1 -1
  45. package/dist/services/tenant-service.d.ts.map +1 -1
  46. package/dist/services/tenant-service.js +4 -4
  47. package/dist/services/tenant-service.js.map +1 -1
  48. package/dist/stratum-policies.d.ts +51 -0
  49. package/dist/stratum-policies.d.ts.map +1 -0
  50. package/dist/stratum-policies.js +217 -0
  51. package/dist/stratum-policies.js.map +1 -0
  52. package/dist/stratum-tables.d.ts.map +1 -1
  53. package/dist/stratum-tables.js +1 -0
  54. package/dist/stratum-tables.js.map +1 -1
  55. package/dist/stratum.d.ts +52 -7
  56. package/dist/stratum.d.ts.map +1 -1
  57. package/dist/stratum.js +75 -14
  58. package/dist/stratum.js.map +1 -1
  59. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"tenant-service.js","sourceRoot":"","sources":["../../src/services/tenant-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tenant-service.js","sourceRoot":"","sources":["../../src/services/tenant-service.ts"],"names":[],"mappings":";;AAkCA,4BAGC;AAWD,4CAmBC;AAYD,oCA4DC;AAED,8BA6BC;AAaD,0CA0BC;AAMD,kCAkCC;AAED,oCAuEC;AAsED,sCAaC;AAMD,sCAaC;AAOD,oCA2BC;AAMD,wCAeC;AAQD,oCAEC;AAED,gCAmFC;AAWD,gDAsFC;AAED,oCAsBC;AAUD,0BAyBC;AAsBD,wCA6BC;AAED,kCAQC;AAYD,sCAwDC;AA11BD,wDAAiE;AACjE,2CAmB0B;AAE1B;;;;;;;;;;GAUG;AACI,KAAK,UAAU,QAAQ,CAAC,MAAqB,EAAE,IAA4B;IAChF,MAAM,EAAE,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,8BAA8B,CAAC;IAC3F,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,uEAAuE,CAAC,CAAC;AAC1G,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,gBAAgB,CAAC,MAAqB,EAAE,EAAU;IACtE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B,+CAA+C,EAC/C,CAAC,EAAE,CAAC,CACL,CAAC;IACF,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,0BAAmB,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,0BAAmB,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,2BAAoB,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,yBAAkB,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,KAAwB;IAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,IAAI,YAAY,CAAC;IAC1D,OAAO,QAAQ,KAAK,mBAAmB,IAAI,QAAQ,KAAK,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AACjG,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,IAAa,EAAE,KAAwB;IACxE,OAAO,IAAA,iCAAe,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5C,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/D,MAAM,aAAa,GAAG,IAAA,mBAAY,EAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAEpE,2DAA2D;YAC3D,MAAM,QAAQ,GAAI,KAAiC,CAAC,SAAS,IAAK,MAAkC,CAAC,SAAS,IAAI,IAAI,CAAC;YAEvH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B;;qBAEa,EACb;gBACE,KAAK,CAAC,SAAS;gBACf,aAAa;gBACb,IAAA,wBAAiB,EAAC,aAAa,CAAC,CAAC,MAAM;gBACvC,KAAK,CAAC,IAAI;gBACV,KAAK,CAAC,IAAI;gBACV,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACpC,KAAK,CAAC,kBAAkB,IAAI,YAAY;gBACxC,aAAa,CAAC,KAAK,CAAC;gBACpB,QAAQ;aACT,CACF,CAAC;YAEF,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,qCAAqC;YACrC,MAAM,YAAY,GAAI,KAAiC,CAAC,SAAS,IAAI,IAAI,CAAC;YAE1E,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B;;qBAEa,EACb;gBACE,KAAK,CAAC,IAAI;gBACV,KAAK,CAAC,IAAI;gBACV,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACpC,KAAK,CAAC,kBAAkB,IAAI,YAAY;gBACxC,aAAa,CAAC,KAAK,CAAC;gBACpB,YAAY;aACb,CACF,CAAC;YAEF,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACxB,IACE,GAAG,YAAY,KAAK;YACpB,MAAM,IAAI,GAAG;YACZ,GAA6B,CAAC,IAAI,KAAK,OAAO,EAC/C,CAAC;YACD,MAAM,IAAI,+BAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,SAAS,CAC7B,IAAa,EACb,EAAU,EACV,eAAe,GAAG,KAAK;IAEvB,OAAO,IAAA,4BAAU,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACvC,kFAAkF;QAClF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B,qCAAqC,EACrC,CAAC,EAAE,CAAC,CACL,CAAC;QACF,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,0BAAmB,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACrD,MAAM,IAAI,0BAAmB,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,oEAAoE;QACpE,uEAAuE;QACvE,6CAA6C;QAC7C,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACtD,MAAM,IAAI,2BAAoB,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpD,MAAM,IAAI,yBAAkB,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,eAAe,CACnC,IAAa,EACb,IAAY,EACZ,eAAe,GAAG,KAAK;IAEvB,OAAO,IAAA,4BAAU,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACvC,6EAA6E;QAC7E,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B,uCAAuC,EACvC,CAAC,IAAI,CAAC,CACP,CAAC;QACF,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,0BAAmB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACrD,MAAM,IAAI,0BAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACtD,MAAM,IAAI,2BAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpD,MAAM,IAAI,yBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,WAAW,CAC/B,IAAa,EACb,UAA2B,EAC3B,SAAuB,QAAQ;IAE/B,OAAO,IAAA,4BAAU,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACvC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;QAErC,IAAI,GAA+B,CAAC;QACpC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CACtB;;;kBAGU,EACV,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CACvC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CACtB;;;kBAGU,EACV,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CACpB,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAE/D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,IAAa,EACb,EAAU,EACV,KAAwB;IAExB,OAAO,IAAA,iCAAe,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CACjC,8DAA8D,EAC9D,CAAC,EAAE,CAAC,CACL,CAAC;QACF,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,0BAAmB,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,IAAI,GAAG,GAAG,CAAC,CAAC;QAEZ,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,qEAAqE;YACrE,wEAAwE;YACxE,2BAA2B;YAC3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;YACrD,IACE,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;gBACpC,CAAC,QAAQ,KAAK,mBAAmB,IAAI,QAAQ,KAAK,eAAe,CAAC,EAClE,CAAC;gBACD,MAAM,IAAI,sBAAe,CACvB,gCAAgC,QAAQ,SAAS,EACjD,EAAE,SAAS,EAAE,EAAE,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAChD,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,EAAE,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,EAAE,EAAE,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B,sBAAsB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,cAAc,EACtE,MAAM,CACP,CAAC;QAEF,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACxB,IACE,GAAG,YAAY,KAAK;YACpB,MAAM,IAAI,GAAG;YACZ,GAA6B,CAAC,IAAI,KAAK,OAAO,EAC/C,CAAC;YACD,MAAM,IAAI,+BAAwB,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,EAAE;AACF,iFAAiF;AACjF,gFAAgF;AAChF,sEAAsE;AACtE,6EAA6E;AAC7E,kFAAkF;AAClF,kFAAkF;AAClF,iFAAiF;AACjF,4EAA4E;AAC5E,8EAA8E;AAC9E,EAAE;AACF,4EAA4E;AAC5E,0DAA0D;AAC1D,EAAE;AACF,gFAAgF;AAChF,kEAAkE;AAClE,uEAAuE;AACvE,4EAA4E;AAC5E,wEAAwE;AACxE,mEAAmE;AACnE,8EAA8E;AAE9E;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAAC,MAAqB,EAAE,EAAU;IAChE,2EAA2E;IAC3E,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B,gDAAgD,EAChD,CAAC,EAAE,CAAC,CACL,CAAC;IACF,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,0BAAmB,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,sBAAsB,CACnC,MAAqB,EACrB,EAAU,EACV,MAA6B;IAE7B,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,KAAK,CACpC,kFAAkF,EAClF,CAAC,EAAE,CAAC,CACL,CAAC;IACF,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,6BAAsB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,aAAa,CAAC,IAAa,EAAE,EAAU;IAC3D,OAAO,IAAA,iCAAe,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,8BAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,sBAAsB,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B,uFAAuF,EACvF,CAAC,EAAE,CAAC,CACL,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,aAAa,CAAC,IAAa,EAAE,EAAU;IAC3D,OAAO,IAAA,iCAAe,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAChE,MAAM,IAAI,8BAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,sBAAsB,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B,0GAA0G,EAC1G,CAAC,EAAE,CAAC,CACL,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,YAAY,CAAC,IAAa,EAAE,EAAU;IAC1D,OAAO,IAAA,iCAAe,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAClE,MAAM,IAAI,8BAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,qEAAqE;YACrE,6CAA6C;YAC7C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAClC,oDAAoD,EACpD,CAAC,MAAM,CAAC,SAAS,CAAC,CACnB,CAAC;YACF,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;YAC/C,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;gBAChC,MAAM,IAAI,0BAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;gBACjC,MAAM,IAAI,2BAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B,uGAAuG,EACvG,CAAC,EAAE,CAAC,CACL,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,cAAc,CAAC,IAAa,EAAE,EAAU;IAC5D,OAAO,IAAA,iCAAe,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,8BAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B,oFAAoF,EACpF,CAAC,EAAE,CAAC,CACL,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,YAAY,CAAC,IAAa,EAAE,EAAU;IAC1D,MAAM,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,IAAa,EACb,EAAU,EACV,WAAmB;IAEnB,OAAO,IAAA,iCAAe,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5C,MAAM,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAEpC,0BAA0B;QAC1B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAClC,8DAA8D,EAC9D,CAAC,EAAE,CAAC,CACL,CAAC;QACF,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,0BAAmB,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEjC,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE9D,iEAAiE;QACjE,4EAA4E;QAC5E,0EAA0E;QAC1E,IACE,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE;YAC1B,IAAA,wBAAiB,EAAC,SAAS,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAC9D,CAAC;YACD,MAAM,IAAI,+BAAwB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC;QAC7C,MAAM,eAAe,GAAG,IAAA,mBAAY,EAAC,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,eAAe,CAAC,CAAC,MAAM,CAAC;QAE3D,0BAA0B;QAC1B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,KAAK,CACnC;;;;;;mBAMa,EACb,CAAC,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,CAAC,CAC7C,CAAC;QAEF,+CAA+C;QAC/C,2DAA2D;QAC3D,2EAA2E;QAC3E,MAAM,SAAS,GAAG,eAAe,KAAK,GAAG;YACvC,CAAC,CAAC,IAAI,EAAE,EAAE;YACV,CAAC,CAAC,GAAG,eAAe,IAAI,EAAE,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,eAAe,KAAK,GAAG;YACvC,CAAC,CAAC,IAAI,EAAE,EAAE;YACV,CAAC,CAAC,GAAG,eAAe,IAAI,EAAE,EAAE,CAAC;QAE/B,yEAAyE;QACzE,4EAA4E;QAC5E,yEAAyE;QACzE,8BAA8B;QAC9B,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,KAAK,CACvC;;0BAEoB,EACpB,CAAC,SAAS,EAAE,GAAG,SAAS,IAAI,CAAC,CAC9B,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC/E,MAAM,gBAAgB,GAAG,IAAA,wBAAiB,EAAC,eAAe,CAAC,CAAC,MAAM,CAAC;YACnE,MAAM,MAAM,CAAC,KAAK,CAChB;;;;;uBAKe,EACf,CAAC,eAAe,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,CAC7C,CAAC;QACJ,CAAC;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAOD;;;GAGG;AACI,KAAK,UAAU,kBAAkB,CACtC,IAAa,EACb,MAA2B;IAE3B,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,MAAM,MAAM,GAA0D,EAAE,CAAC;IAEzE,IAAI,CAAC;QACH,MAAM,IAAA,iCAAe,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACjC,iEAAiE;YACjE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;YAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAExB,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC;gBACzC,IAAI,UAAU,GAAsB,IAAI,CAAC;gBAEzC,IAAI,QAAQ,EAAE,CAAC;oBACb,4DAA4D;oBAC5D,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;oBAC3D,IAAI,WAAW,EAAE,CAAC;wBAChB,UAAU,GAAG,WAAW,CAAC;oBAC3B,CAAC;yBAAM,CAAC;wBACN,UAAU,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBACxD,CAAC;oBAED,MAAM,aAAa,GAAG,IAAA,mBAAY,EAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;oBAC5E,MAAM,QAAQ,GAAI,KAAiC,CAAC,SAAS,IAAK,UAAsC,CAAC,SAAS,IAAI,IAAI,CAAC;oBAE3H,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B;;yBAEa,EACb;wBACE,QAAQ;wBACR,aAAa;wBACb,IAAA,wBAAiB,EAAC,aAAa,CAAC,CAAC,MAAM;wBACvC,KAAK,CAAC,IAAI;wBACV,KAAK,CAAC,IAAI;wBACV,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;wBAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;wBACpC,KAAK,CAAC,kBAAkB,IAAI,YAAY;wBACxC,aAAa,CAAC,KAAK,CAAC;wBACpB,QAAQ;qBACT,CACF,CAAC;oBACF,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,cAAc;oBACd,MAAM,YAAY,GAAI,KAAiC,CAAC,SAAS,IAAI,IAAI,CAAC;oBAC1E,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B;;yBAEa,EACb;wBACE,KAAK,CAAC,IAAI;wBACV,KAAK,CAAC,IAAI;wBACV,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;wBAClC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;wBACpC,KAAK,CAAC,kBAAkB,IAAI,YAAY;wBACxC,aAAa,CAAC,KAAK,CAAC;wBACpB,YAAY;qBACb,CACF,CAAC;oBACF,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACxG,4EAA4E;QAC5E,6EAA6E;QAC7E,2EAA2E;QAC3E,qEAAqE;QACrE,+EAA+E;QAC/E,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,IAAa,EAAE,EAAU;IAC1D,OAAO,IAAA,4BAAU,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACvC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAClC,qCAAqC,EACrC,CAAC,EAAE,CAAC,CACL,CAAC;QACF,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,0BAAmB,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,IAAA,qBAAc,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAEzD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B,6DAA6D,EAC7D,CAAC,WAAW,CAAC,CACd,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,OAAO,CAAC,IAAa,EAAE,EAAU;IACrD,OAAO,IAAA,4BAAU,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACvC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAClC,qCAAqC,EACrC,CAAC,EAAE,CAAC,CACL,CAAC;QACF,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,0BAAmB,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,yEAAyE;QACzE,+DAA+D;QAC/D,MAAM,WAAW,GAAG,IAAA,qBAAc,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAChC,qCAAqC,EACrC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CACjB,CAAC;QACF,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,0BAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACI,KAAK,UAAU,cAAc,CAClC,IAAa,EACb,EAAU,EACV,eAAe,GAAG,KAAK;IAEvB,OAAO,IAAA,4BAAU,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACvC,MAAM,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAClC,iDAAiD,EACjD,CAAC,EAAE,CAAC,CACL,CAAC;QACF,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,0BAAmB,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;QAED,yEAAyE;QACzE,uEAAuE;QACvE,yEAAyE;QACzE,4EAA4E;QAC5E,iFAAiF;QACjF,MAAM,WAAW,GAAG,IAAA,mBAAY,EAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B;4DACsD,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kCAAkC;0BAC3F,EACpB,CAAC,WAAW,EAAE,GAAG,WAAW,IAAI,CAAC,CAClC,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,IAAa,EAAE,EAAU;IACzD,OAAO,IAAA,4BAAU,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAC5B,0GAA0G,EAC1G,CAAC,EAAE,CAAC,CACL,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,aAAa,CAAC,IAAa,EAAE,EAAU,EAAE,QAAgB;IAC7E,OAAO,IAAA,iCAAe,EAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5C,2EAA2E;QAC3E,+BAA+B;QAC/B,MAAM,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEjC,iBAAiB;QACjB,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAClC,qCAAqC,EACrC,CAAC,EAAE,CAAC,CACL,CAAC;QACF,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,0BAAmB,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEjC,4EAA4E;QAC5E,wEAAwE;QACxE,mCAAmC;QACnC,MAAM,MAAM,CAAC,KAAK,CAChB,MAAM,CAAC,SAAS;YACd,CAAC,CAAC,oEAAoE;YACtE,CAAC,CAAC,uEAAuE,EAC3E,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAC3C,CAAC;QAEF,yCAAyC;QACzC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,KAAK,CACpC,MAAM,CAAC,SAAS;YACd,CAAC,CAAC,0GAA0G;YAC5G,CAAC,CAAC,6GAA6G,EACjH,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAC3C,CAAC;QAEF,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC;QAElC,+DAA+D;QAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAEnC,sDAAsD;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,MAAM,CAAC,KAAK,CAChB,sEAAsE,EACtE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACnB,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAC/B,qCAAqC,EACrC,CAAC,EAAE,CAAC,CACL,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,51 @@
1
+ import type pg from "pg";
2
+ /**
3
+ * The canonical row-level security of the Stratum tables: the tables that
4
+ * have it and every policy on them, as migrations 019, 020, 031 and 032
5
+ * leave them. stratum_apply_control_role() of migration 032 drops every
6
+ * policy on these tables and re-creates exactly this set (a unit test checks
7
+ * that the function's SQL is the one policiesPlpgsql() renders), and
8
+ * stratumPolicyDrift() compares a database with it.
9
+ */
10
+ /** The Stratum tables with row-level security enabled and forced. */
11
+ export declare const STRATUM_RLS_TABLES: readonly string[];
12
+ export interface StratumPolicy {
13
+ table: string;
14
+ name: string;
15
+ cmd: "ALL" | "SELECT";
16
+ /** "control" for the control role, else PUBLIC. */
17
+ to: "control" | "public";
18
+ using: string;
19
+ check: string | null;
20
+ }
21
+ /** Every canonical policy, in a fixed order. */
22
+ export declare function stratumPolicies(): StratumPolicy[];
23
+ /**
24
+ * The PL/pgSQL statements of stratum_apply_control_role() that reset the
25
+ * row-level security of the Stratum tables: every policy on them is dropped,
26
+ * RLS is enabled and forced, and the canonical policies are created. They
27
+ * expect the variables v_schema, v_role, v_table and v_policy.
28
+ */
29
+ export declare function policiesPlpgsql(): string;
30
+ export interface PolicyDriftOptions {
31
+ /** The control role. Default: the role of the database's stratum_control_plane policies, else stratum_control. */
32
+ controlRole?: string;
33
+ }
34
+ /**
35
+ * The differences between the row-level security of the Stratum tables in
36
+ * the schema of `tenants` (on the search path of `pool`) and the canonical
37
+ * set: tables without RLS enabled and forced, and policies that are missing,
38
+ * extra, or differ in command, roles or expressions. Empty when they match.
39
+ * Before the control role is applied (no stratum_control_plane policy
40
+ * anywhere), the control policies, and FORCE on stratum_security, are not
41
+ * expected.
42
+ *
43
+ * The canonical expressions are deparsed by the same server: the check
44
+ * creates temporary tables with the same names and columns, puts the
45
+ * canonical policies on them, and compares pg_get_expr() of both, all in a
46
+ * transaction that it rolls back. It needs only the TEMP privilege. The
47
+ * transaction's search path is pg_catalog only (see pinned-query.ts), so
48
+ * both sides print the Stratum names with their schema.
49
+ */
50
+ export declare function stratumPolicyDrift(pool: pg.Pool, options?: PolicyDriftOptions): Promise<string[]>;
51
+ //# sourceMappingURL=stratum-policies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stratum-policies.d.ts","sourceRoot":"","sources":["../src/stratum-policies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAIzB;;;;;;;GAOG;AAEH,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAgB9C,CAAC;AAEH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,KAAK,GAAG,QAAQ,CAAC;IACtB,mDAAmD;IACnD,EAAE,EAAE,SAAS,GAAG,QAAQ,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AA8BD,gDAAgD;AAChD,wBAAgB,eAAe,IAAI,aAAa,EAAE,CAyBjD;AAuBD;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAiBxC;AAED,MAAM,WAAW,kBAAkB;IACjC,kHAAkH;IAClH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmF3G"}
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.STRATUM_RLS_TABLES = void 0;
4
+ exports.stratumPolicies = stratumPolicies;
5
+ exports.policiesPlpgsql = policiesPlpgsql;
6
+ exports.stratumPolicyDrift = stratumPolicyDrift;
7
+ const migration_sql_js_1 = require("./migration-sql.js");
8
+ const pinned_query_js_1 = require("./pinned-query.js");
9
+ /**
10
+ * The canonical row-level security of the Stratum tables: the tables that
11
+ * have it and every policy on them, as migrations 019, 020, 031 and 032
12
+ * leave them. stratum_apply_control_role() of migration 032 drops every
13
+ * policy on these tables and re-creates exactly this set (a unit test checks
14
+ * that the function's SQL is the one policiesPlpgsql() renders), and
15
+ * stratumPolicyDrift() compares a database with it.
16
+ */
17
+ /** The Stratum tables with row-level security enabled and forced. */
18
+ exports.STRATUM_RLS_TABLES = Object.freeze([
19
+ "tenants",
20
+ "config_entries",
21
+ "permission_policies",
22
+ "audit_logs",
23
+ "webhook_events",
24
+ "webhook_deliveries",
25
+ "webhooks",
26
+ "consent_records",
27
+ "abac_policies",
28
+ "api_keys",
29
+ "roles",
30
+ "principal_roles",
31
+ "usage_events",
32
+ "regions",
33
+ "stratum_security",
34
+ ]);
35
+ const LEGACY = "(SELECT %1$I.stratum_legacy_bypass())";
36
+ const CURRENT_TENANT = "NULLIF(current_setting('app.current_tenant_id', true), '')::uuid";
37
+ const SUBTREE = "((SELECT %1$I.stratum_subtree_tenant_ids())::uuid[])";
38
+ const SCOPE = "current_setting('app.tenant_scope', true) = 'subtree'";
39
+ /** Tables whose rows carry tenant_id. */
40
+ const TENANT_ID_TABLES = [
41
+ "config_entries",
42
+ "permission_policies",
43
+ "audit_logs",
44
+ "webhook_events",
45
+ "webhooks",
46
+ "consent_records",
47
+ "abac_policies",
48
+ "api_keys",
49
+ "roles",
50
+ "usage_events",
51
+ ];
52
+ /** Tables with the subtree read of migration 031 (not webhooks or api_keys, which hold credentials). */
53
+ const SUBTREE_TENANT_ID_TABLES = TENANT_ID_TABLES.filter((t) => t !== "webhooks" && t !== "api_keys");
54
+ /** Rows scoped through a parent table: the scope of the parent's tenant_id. */
55
+ const VIA_PARENT = {
56
+ webhook_deliveries: "SELECT 1 FROM %1$I.webhook_events we WHERE we.id = webhook_deliveries.event_id AND we.tenant_id",
57
+ principal_roles: "SELECT 1 FROM %1$I.roles r WHERE r.id = principal_roles.role_id AND r.tenant_id",
58
+ };
59
+ /** Every canonical policy, in a fixed order. */
60
+ function stratumPolicies() {
61
+ const policies = [];
62
+ const isolation = (table, scope) => {
63
+ const expr = `${LEGACY} OR ${scope}`;
64
+ policies.push({ table, name: "tenant_isolation", cmd: "ALL", to: "public", using: expr, check: expr });
65
+ };
66
+ const subtree = (table, scope) => {
67
+ policies.push({ table, name: "tenant_subtree_read", cmd: "SELECT", to: "public", using: `${SCOPE} AND ${scope}`, check: null });
68
+ };
69
+ for (const table of TENANT_ID_TABLES)
70
+ isolation(table, `tenant_id = ${CURRENT_TENANT}`);
71
+ isolation("tenants", `id = ${CURRENT_TENANT}`);
72
+ for (const [table, join] of Object.entries(VIA_PARENT))
73
+ isolation(table, `EXISTS (${join} = ${CURRENT_TENANT})`);
74
+ for (const table of SUBTREE_TENANT_ID_TABLES) {
75
+ subtree(table, table === "config_entries" ? `tenant_id = ANY ${SUBTREE} AND NOT sensitive` : `tenant_id = ANY ${SUBTREE}`);
76
+ }
77
+ subtree("tenants", `id = ANY ${SUBTREE}`);
78
+ for (const [table, join] of Object.entries(VIA_PARENT))
79
+ subtree(table, `EXISTS (${join} = ANY ${SUBTREE})`);
80
+ policies.push({ table: "regions", name: "stratum_legacy_bypass", cmd: "ALL", to: "public", using: LEGACY, check: LEGACY });
81
+ for (const table of exports.STRATUM_RLS_TABLES) {
82
+ policies.push({ table, name: "stratum_control_plane", cmd: "ALL", to: "control", using: "true", check: "true" });
83
+ }
84
+ return policies;
85
+ }
86
+ /**
87
+ * The CREATE POLICY statement of `p`, with the format() placeholders %1$I for
88
+ * the schema and, for the control role, %2$I for the role. Every Stratum
89
+ * object the expressions name is qualified with the schema, because
90
+ * stratum_apply_control_role() runs with search_path = pg_catalog, pg_temp.
91
+ */
92
+ function createPolicyTemplate(p) {
93
+ const to = p.to === "control" ? " AS PERMISSIVE FOR ALL TO %2$I" : ` FOR ${p.cmd}`;
94
+ const check = p.check === null ? "" : ` WITH CHECK (${p.check})`;
95
+ return `CREATE POLICY ${p.name} ON %1$I.${p.table}${to} USING (${p.using})${check}`;
96
+ }
97
+ /**
98
+ * `text` with the schema placeholder replaced by `schema`, for the canonical
99
+ * policies that stratumPolicyDrift() puts on temporary tables: the functions
100
+ * and tables they name are the live Stratum ones, as in the live policies.
101
+ */
102
+ function inSchema(text, schema) {
103
+ return text.split("%1$I.").join(`${(0, pinned_query_js_1.quoteIdentifier)(schema)}.`);
104
+ }
105
+ /**
106
+ * The PL/pgSQL statements of stratum_apply_control_role() that reset the
107
+ * row-level security of the Stratum tables: every policy on them is dropped,
108
+ * RLS is enabled and forced, and the canonical policies are created. They
109
+ * expect the variables v_schema, v_role, v_table and v_policy.
110
+ */
111
+ function policiesPlpgsql() {
112
+ const lines = [
113
+ " FOREACH v_table IN ARRAY v_tables LOOP",
114
+ " FOR v_policy IN",
115
+ " SELECT p.polname FROM pg_policy p WHERE p.polrelid = format('%I.%I', v_schema, v_table)::regclass",
116
+ " LOOP",
117
+ " EXECUTE format('DROP POLICY %I ON %I.%I', v_policy, v_schema, v_table);",
118
+ " END LOOP;",
119
+ " EXECUTE format('ALTER TABLE %I.%I ENABLE ROW LEVEL SECURITY', v_schema, v_table);",
120
+ " EXECUTE format('ALTER TABLE %I.%I FORCE ROW LEVEL SECURITY', v_schema, v_table);",
121
+ " END LOOP;",
122
+ ];
123
+ for (const p of stratumPolicies()) {
124
+ const args = p.to === "control" ? "v_schema, v_role" : "v_schema";
125
+ lines.push(` EXECUTE format($pol$${createPolicyTemplate(p)}$pol$, ${args});`);
126
+ }
127
+ return lines.join("\n");
128
+ }
129
+ /**
130
+ * The differences between the row-level security of the Stratum tables in
131
+ * the schema of `tenants` (on the search path of `pool`) and the canonical
132
+ * set: tables without RLS enabled and forced, and policies that are missing,
133
+ * extra, or differ in command, roles or expressions. Empty when they match.
134
+ * Before the control role is applied (no stratum_control_plane policy
135
+ * anywhere), the control policies, and FORCE on stratum_security, are not
136
+ * expected.
137
+ *
138
+ * The canonical expressions are deparsed by the same server: the check
139
+ * creates temporary tables with the same names and columns, puts the
140
+ * canonical policies on them, and compares pg_get_expr() of both, all in a
141
+ * transaction that it rolls back. It needs only the TEMP privilege. The
142
+ * transaction's search path is pg_catalog only (see pinned-query.ts), so
143
+ * both sides print the Stratum names with their schema.
144
+ */
145
+ async function stratumPolicyDrift(pool, options = {}) {
146
+ const nsp = await (0, pinned_query_js_1.schemaOfTable)(pool);
147
+ if (!nsp)
148
+ return ["the tenants table was not found; run the Stratum migrations"];
149
+ const client = await pool.connect();
150
+ try {
151
+ await client.query("BEGIN");
152
+ await client.query(`SET LOCAL search_path = ${pinned_query_js_1.PINNED_SEARCH_PATH}`);
153
+ const ns = await client.query(`SELECT (SELECT min(r::text) FROM pg_policies p, unnest(p.roles) r WHERE p.policyname = 'stratum_control_plane') AS control`);
154
+ const applied = ns.rows[0].control !== null;
155
+ const control = options.controlRole ?? ns.rows[0].control ?? migration_sql_js_1.STRATUM_CONTROL_ROLE;
156
+ const expected = stratumPolicies().filter((p) => applied || p.to !== "control");
157
+ const policyQuery = (namespace) => client.query(`SELECT c.relname AS tbl, p.polname AS name, p.polpermissive AS permissive, p.polcmd::text AS cmd,
158
+ ARRAY(SELECT CASE WHEN r = 0 THEN 'public' ELSE pg_get_userbyid(r)::text END FROM unnest(p.polroles) r ORDER BY 1) AS roles,
159
+ pg_get_expr(p.polqual, p.polrelid) AS qual, pg_get_expr(p.polwithcheck, p.polrelid) AS chk
160
+ FROM pg_policy p JOIN pg_class c ON c.oid = p.polrelid
161
+ WHERE c.relnamespace = (SELECT n.oid FROM pg_namespace n WHERE n.nspname = $1::text) AND c.relname = ANY ($2::text[])`, [namespace, exports.STRATUM_RLS_TABLES]);
162
+ const issues = [];
163
+ const flags = await client.query(`SELECT c.relname, c.relrowsecurity AS on, c.relforcerowsecurity AS forced FROM pg_class c
164
+ WHERE c.relnamespace = (SELECT n.oid FROM pg_namespace n WHERE n.nspname = $1::text) AND c.relname = ANY ($2::text[])`, [nsp, exports.STRATUM_RLS_TABLES]);
165
+ for (const f of flags.rows) {
166
+ // Until the control role is applied, migration 032 leaves stratum_security
167
+ // without FORCE, so that its owner's definer function can read it.
168
+ const forceExpected = applied || f.relname !== "stratum_security";
169
+ if (!f.on || (forceExpected && !f.forced)) {
170
+ issues.push(`${f.relname}: row-level security is not enabled${forceExpected ? " and forced" : ""}`);
171
+ }
172
+ }
173
+ const live = (await policyQuery(nsp)).rows;
174
+ // The canonical policies, on temporary tables of the same names and columns.
175
+ const columns = await client.query(`SELECT c.relname, string_agg(format('%I %s', a.attname, format_type(a.atttypid, a.atttypmod)), ', ' ORDER BY a.attnum) AS cols
176
+ FROM pg_class c JOIN pg_attribute a ON a.attrelid = c.oid AND a.attnum > 0 AND NOT a.attisdropped
177
+ WHERE c.relnamespace = (SELECT n.oid FROM pg_namespace n WHERE n.nspname = $1::text) AND c.relname = ANY ($2::text[])
178
+ GROUP BY c.relname`, [nsp, exports.STRATUM_RLS_TABLES]);
179
+ for (const t of columns.rows) {
180
+ await client.query(`CREATE TEMP TABLE pg_temp."${t.relname}" (${t.cols}) ON COMMIT DROP`);
181
+ }
182
+ for (const p of expected) {
183
+ if (!columns.rows.some((t) => t.relname === p.table))
184
+ continue;
185
+ const to = p.to === "control" ? ` AS PERMISSIVE FOR ALL TO "${control}"` : ` FOR ${p.cmd}`;
186
+ const check = p.check === null ? "" : ` WITH CHECK (${inSchema(p.check, nsp)})`;
187
+ await client.query(`CREATE POLICY ${p.name} ON pg_temp."${p.table}"${to} USING (${inSchema(p.using, nsp)})${check}`);
188
+ }
189
+ const temp = await client.query("SELECT pg_my_temp_schema()::regnamespace::text AS nsp");
190
+ const canonical = (await policyQuery(temp.rows[0].nsp)).rows;
191
+ const key = (r) => `${r.tbl}.${r.name}`;
192
+ const liveByKey = new Map(live.map((r) => [key(r), r]));
193
+ for (const c of canonical) {
194
+ const l = liveByKey.get(key(c));
195
+ if (!l) {
196
+ issues.push(`${c.tbl}: policy ${c.name} is missing`);
197
+ continue;
198
+ }
199
+ liveByKey.delete(key(c));
200
+ const differs = l.permissive !== c.permissive ||
201
+ l.cmd !== c.cmd ||
202
+ l.roles.join(",") !== c.roles.join(",") ||
203
+ l.qual !== c.qual ||
204
+ l.chk !== c.chk;
205
+ if (differs)
206
+ issues.push(`${c.tbl}: policy ${c.name} differs from migration 032`);
207
+ }
208
+ for (const l of liveByKey.values())
209
+ issues.push(`${l.tbl}: policy ${l.name} is not a Stratum policy`);
210
+ return issues;
211
+ }
212
+ finally {
213
+ await client.query("ROLLBACK").catch(() => undefined);
214
+ client.release();
215
+ }
216
+ }
217
+ //# sourceMappingURL=stratum-policies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stratum-policies.js","sourceRoot":"","sources":["../src/stratum-policies.ts"],"names":[],"mappings":";;;AAuEA,0CAyBC;AA6BD,0CAiBC;AAuBD,gDAmFC;AAvPD,yDAA0D;AAC1D,uDAAuF;AAEvF;;;;;;;GAOG;AAEH,qEAAqE;AACxD,QAAA,kBAAkB,GAAsB,MAAM,CAAC,MAAM,CAAC;IACjE,SAAS;IACT,gBAAgB;IAChB,qBAAqB;IACrB,YAAY;IACZ,gBAAgB;IAChB,oBAAoB;IACpB,UAAU;IACV,iBAAiB;IACjB,eAAe;IACf,UAAU;IACV,OAAO;IACP,iBAAiB;IACjB,cAAc;IACd,SAAS;IACT,kBAAkB;CACnB,CAAC,CAAC;AAYH,MAAM,MAAM,GAAG,uCAAuC,CAAC;AACvD,MAAM,cAAc,GAAG,kEAAkE,CAAC;AAC1F,MAAM,OAAO,GAAG,sDAAsD,CAAC;AACvE,MAAM,KAAK,GAAG,uDAAuD,CAAC;AAEtE,yCAAyC;AACzC,MAAM,gBAAgB,GAAG;IACvB,gBAAgB;IAChB,qBAAqB;IACrB,YAAY;IACZ,gBAAgB;IAChB,UAAU;IACV,iBAAiB;IACjB,eAAe;IACf,UAAU;IACV,OAAO;IACP,cAAc;CACf,CAAC;AAEF,wGAAwG;AACxG,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC;AAEtG,+EAA+E;AAC/E,MAAM,UAAU,GAA2B;IACzC,kBAAkB,EAAE,iGAAiG;IACrH,eAAe,EAAE,iFAAiF;CACnG,CAAC;AAEF,gDAAgD;AAChD,SAAgB,eAAe;IAC7B,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,KAAa,EAAQ,EAAE;QACvD,MAAM,IAAI,GAAG,GAAG,MAAM,OAAO,KAAK,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACzG,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,KAAa,EAAQ,EAAE;QACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,QAAQ,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClI,CAAC,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,gBAAgB;QAAE,SAAS,CAAC,KAAK,EAAE,eAAe,cAAc,EAAE,CAAC,CAAC;IACxF,SAAS,CAAC,SAAS,EAAE,QAAQ,cAAc,EAAE,CAAC,CAAC;IAC/C,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;QAAE,SAAS,CAAC,KAAK,EAAE,WAAW,IAAI,MAAM,cAAc,GAAG,CAAC,CAAC;IAEjH,KAAK,MAAM,KAAK,IAAI,wBAAwB,EAAE,CAAC;QAC7C,OAAO,CAAC,KAAK,EAAE,KAAK,KAAK,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,OAAO,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;IAC7H,CAAC;IACD,OAAO,CAAC,SAAS,EAAE,YAAY,OAAO,EAAE,CAAC,CAAC;IAC1C,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO,CAAC,KAAK,EAAE,WAAW,IAAI,UAAU,OAAO,GAAG,CAAC,CAAC;IAE5G,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3H,KAAK,MAAM,KAAK,IAAI,0BAAkB,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACnH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,CAAgB;IAC5C,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;IACnF,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,GAAG,CAAC;IACjE,OAAO,iBAAiB,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,KAAK,GAAG,EAAE,WAAW,CAAC,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;AACtF,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,IAAY,EAAE,MAAc;IAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAA,iCAAe,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe;IAC7B,MAAM,KAAK,GAAG;QACZ,0CAA0C;QAC1C,qBAAqB;QACrB,yGAAyG;QACzG,UAAU;QACV,+EAA+E;QAC/E,eAAe;QACf,uFAAuF;QACvF,sFAAsF;QACtF,aAAa;KACd,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,yBAAyB,oBAAoB,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAOD;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,kBAAkB,CAAC,IAAa,EAAE,UAA8B,EAAE;IACtF,MAAM,GAAG,GAAG,MAAM,IAAA,+BAAa,EAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,6DAA6D,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,MAAM,CAAC,KAAK,CAAC,2BAA2B,oCAAkB,EAAE,CAAC,CAAC;QACpE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAC3B,4HAA4H,CAC7H,CAAC;QACF,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;QAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,uCAAoB,CAAC;QAClF,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QAEhF,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,EAAE,CACxC,MAAM,CAAC,KAAK,CACV;;;;gIAIwH,EACxH,CAAC,SAAS,EAAE,0BAAkB,CAAC,CAChC,CAAC;QAEJ,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAC9B;8HACwH,EACxH,CAAC,GAAG,EAAE,0BAAkB,CAAC,CAC1B,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3B,2EAA2E;YAC3E,mEAAmE;YACnE,MAAM,aAAa,GAAG,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,kBAAkB,CAAC;YAClE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,sCAAsC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3C,6EAA6E;QAC7E,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAChC;;;2BAGqB,EACrB,CAAC,GAAG,EAAE,0BAAkB,CAAC,CAC1B,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC;QAC5F,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC;gBAAE,SAAS;YAC/D,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,8BAA8B,OAAO,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;YAC3F,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC;YAChF,MAAM,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,KAAK,IAAI,EAAE,WAAW,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;QACvH,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAkB,uDAAuD,CAAC,CAAC;QAC1G,MAAM,SAAS,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAE7D,MAAM,GAAG,GAAG,CAAC,CAAgC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC;gBACrD,SAAS;YACX,CAAC;YACD,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,OAAO,GACX,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;gBAC7B,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG;gBACf,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;gBACvC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;gBACjB,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC;YAClB,IAAI,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,6BAA6B,CAAC,CAAC;QACpF,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,0BAA0B,CAAC,CAAC;QACtG,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stratum-tables.d.ts","sourceRoot":"","sources":["../src/stratum-tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAgB1C,CAAC"}
1
+ {"version":3,"file":"stratum-tables.d.ts","sourceRoot":"","sources":["../src/stratum-tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAiB1C,CAAC"}
@@ -22,6 +22,7 @@ exports.STRATUM_TABLES = Object.freeze([
22
22
  "principal_roles",
23
23
  "regions",
24
24
  "roles",
25
+ "stratum_security",
25
26
  "tenants",
26
27
  "usage_events",
27
28
  "webhook_deliveries",
@@ -1 +1 @@
1
- {"version":3,"file":"stratum-tables.js","sourceRoot":"","sources":["../src/stratum-tables.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACU,QAAA,cAAc,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC7D,aAAa;IACb,eAAe;IACf,UAAU;IACV,YAAY;IACZ,gBAAgB;IAChB,iBAAiB;IACjB,qBAAqB;IACrB,iBAAiB;IACjB,SAAS;IACT,OAAO;IACP,SAAS;IACT,cAAc;IACd,oBAAoB;IACpB,gBAAgB;IAChB,UAAU;CACX,CAAC,CAAC"}
1
+ {"version":3,"file":"stratum-tables.js","sourceRoot":"","sources":["../src/stratum-tables.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACU,QAAA,cAAc,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC7D,aAAa;IACb,eAAe;IACf,UAAU;IACV,YAAY;IACZ,gBAAgB;IAChB,iBAAiB;IACjB,qBAAqB;IACrB,iBAAiB;IACjB,SAAS;IACT,OAAO;IACP,kBAAkB;IAClB,SAAS;IACT,cAAc;IACd,oBAAoB;IACpB,gBAAgB;IAChB,UAAU;CACX,CAAC,CAAC"}
package/dist/stratum.d.ts CHANGED
@@ -5,18 +5,53 @@ import * as eventService from "./services/event-service.js";
5
5
  import * as keyRotationService from "./services/key-rotation-service.js";
6
6
  import * as roleService from "./services/role-service.js";
7
7
  import { type StratumLogger } from "./logger.js";
8
- import type { TenantNode, CreateTenantInput, UpdateTenantInput, PaginationInput, PaginatedResult, ConfigEntry, SetConfigInput, BatchSetConfigEntry, ResolvedConfig, BatchSetConfigResult, PermissionPolicy, CreatePermissionInput, UpdatePermissionInput, ResolvedPermission, Webhook, CreateWebhookInput, UpdateWebhookInput, WebhookEvent, WebhookDelivery, ListWebhookEventsQuery, AuditContext, AuditEntry, AuditLogQuery, RecordAuditEventInput, ConsentRecord, GrantConsentInput, Region, CreateRegionInput, UpdateRegionInput, TenantContext, TenantStatus, ResolvedTenantContext, ConfigDiff, DriftResult, BatchDriftResult, AbacPolicy, CreateAbacPolicyInput, AbacEvaluationRequest, AbacEvaluationResult, ResolvedAbacPolicy, RecordUsageInput, UsageEvent, UsageAggregate, UsageAggregateQuery } from "@stratum-hq/core";
8
+ import type { TenantNode, CreateTenantInput, UpdateTenantInput, PaginationInput, PaginatedResult, ConfigEntry, SetConfigInput, BatchSetConfigEntry, ResolvedConfig, ResolveConfigOptions, BatchSetConfigResult, PermissionPolicy, CreatePermissionInput, UpdatePermissionInput, ResolvedPermission, Webhook, CreateWebhookInput, UpdateWebhookInput, WebhookEvent, WebhookDelivery, ListWebhookEventsQuery, AuditContext, AuditEntry, AuditLogQuery, RecordAuditEventInput, ConsentRecord, GrantConsentInput, Region, CreateRegionInput, UpdateRegionInput, TenantContext, TenantStatus, ResolvedTenantContext, ConfigDiff, DriftResult, BatchDriftResult, AbacPolicy, CreateAbacPolicyInput, AbacEvaluationRequest, AbacEvaluationResult, ResolvedAbacPolicy, RecordUsageInput, UsageEvent, UsageAggregate, UsageAggregateQuery } from "@stratum-hq/core";
9
9
  export interface StratumOptions {
10
+ /**
11
+ * The application's pool. With `adminPool`, the library runs no query of
12
+ * its own on it; initialize() only checks its role. Without `adminPool`,
13
+ * the library runs every query on it through the legacy app.bypass_rls path.
14
+ */
10
15
  pool: pg.Pool;
16
+ /**
17
+ * The library's own pool: a login that is a member of the control role
18
+ * (migration 032). Every library query and autoMigrate run on it. Optional
19
+ * in 1.x, with a deprecation warning when absent; required in 2.0.
20
+ */
21
+ adminPool?: pg.Pool;
22
+ /**
23
+ * The control role. Default: the role the database's policies name, else
24
+ * `stratum_control`. autoMigrate passes it to migrate().
25
+ */
26
+ controlRole?: string;
27
+ /**
28
+ * Accept API keys stored with the legacy unkeyed SHA-256 hash (version 1)
29
+ * while STRATUM_API_KEY_HMAC_SECRET is set, and re-hash each one with HMAC
30
+ * when it authenticates (a warning is logged once per process when that
31
+ * happens). Default true in 1.x; the default becomes false in 2.0. Set it
32
+ * to false to accept only HMAC hashes once the secret is set. Without the
33
+ * secret, SHA-256 is the only hash and this option has no effect.
34
+ */
35
+ allowLegacyKeyHashes?: boolean;
11
36
  keyPrefix?: string;
12
37
  logger?: StratumLogger;
13
38
  /** Run migrations automatically on initialize(). Defaults to false. */
14
39
  autoMigrate?: boolean;
15
- /** When true, migrations hard-fail if the PG role has BYPASSRLS. Use in production. */
40
+ /**
41
+ * When true, initialize() (and migrations) hard-fail if the PG role has
42
+ * BYPASSRLS. Checked on every initialize, whether or not a migration runs.
43
+ * With adminPool, initialize() also fails when the login of pool does not
44
+ * fit the role model, including when it can create objects in the schema
45
+ * of the Stratum tables. Use in production.
46
+ */
16
47
  enforceRls?: boolean;
17
48
  }
18
49
  export declare class Stratum {
19
50
  private readonly pool;
51
+ private readonly appPool;
52
+ private readonly hasAdminPool;
53
+ private readonly controlRole;
54
+ private readonly allowLegacyKeyHashes;
20
55
  private readonly keyPrefix;
21
56
  private readonly logger;
22
57
  private readonly autoMigrate;
@@ -101,19 +136,29 @@ export declare class Stratum {
101
136
  getDescendants(id: string, includeArchived?: boolean): Promise<TenantNode[]>;
102
137
  getChildren(id: string): Promise<TenantNode[]>;
103
138
  reorderTenant(id: string, position: number, audit?: AuditContext): Promise<TenantNode>;
104
- getTenantContext(tenantId: string): Promise<TenantContext>;
105
- resolveConfig(tenantId: string): Promise<ResolvedConfig>;
139
+ getTenantContext(tenantId: string, options?: ResolveConfigOptions): Promise<TenantContext>;
140
+ /**
141
+ * Resolve a tenant's effective config. Sensitive values inherited from an
142
+ * ancestor come back masked (`value: null`, `masked: true`) unless
143
+ * `options.revealSensitive` is set, or `options.viewerTenantId` is the
144
+ * tenant that set them.
145
+ */
146
+ resolveConfig(tenantId: string, options?: ResolveConfigOptions): Promise<ResolvedConfig>;
106
147
  setConfig(tenantId: string, key: string, input: SetConfigInput, audit?: AuditContext): Promise<ConfigEntry>;
107
148
  deleteConfig(tenantId: string, key: string, audit?: AuditContext): Promise<void>;
108
- getConfigWithInheritance(tenantId: string): Promise<ResolvedConfig>;
109
- diffConfig(tenantIdA: string, tenantIdB: string): Promise<ConfigDiff>;
149
+ getConfigWithInheritance(tenantId: string, options?: ResolveConfigOptions): Promise<ResolvedConfig>;
150
+ diffConfig(tenantIdA: string, tenantIdB: string, options?: ResolveConfigOptions): Promise<ConfigDiff>;
110
151
  computeDrift(parentId: string, childId: string): Promise<DriftResult>;
111
152
  batchComputeDrift(parentId: string, childIds: string[]): Promise<BatchDriftResult>;
112
153
  resolvePermissions(tenantId: string): Promise<Record<string, ResolvedPermission>>;
113
154
  createPermission(tenantId: string, input: CreatePermissionInput, audit?: AuditContext): Promise<PermissionPolicy>;
114
155
  updatePermission(tenantId: string, policyId: string, input: UpdatePermissionInput, audit?: AuditContext): Promise<PermissionPolicy>;
115
156
  deletePermission(tenantId: string, policyId: string, audit?: AuditContext): Promise<void>;
116
- createApiKey(tenantId: string, nameOrOptions?: string | apiKeyService.CreateApiKeyOptions, expiresAt?: Date, audit?: AuditContext): Promise<apiKeyService.CreatedApiKey>;
157
+ /**
158
+ * Creates an API key and returns its plaintext once.
159
+ * Pass `null` as tenantId to create a global key, which is not limited to one tenant.
160
+ */
161
+ createApiKey(tenantId: string | null, nameOrOptions?: string | apiKeyService.CreateApiKeyOptions, expiresAt?: Date, audit?: AuditContext): Promise<apiKeyService.CreatedApiKey>;
117
162
  validateApiKey(key: string): Promise<apiKeyService.ValidatedApiKey | null>;
118
163
  revokeApiKey(keyId: string, audit?: AuditContext): Promise<boolean>;
119
164
  rotateApiKey(keyId: string, newName?: string, audit?: AuditContext): Promise<apiKeyService.CreatedApiKey>;
@@ -1 +1 @@
1
- {"version":3,"file":"stratum.d.ts","sourceRoot":"","sources":["../src/stratum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stratum.d.ts","sourceRoot":"","sources":["../src/stratum.ts"],"names":[],"mappings":"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"}