permdock 0.5.0 → 0.6.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 (281) hide show
  1. package/dist/a2a/index.d.ts +5 -5
  2. package/dist/a2a/index.js +3 -3
  3. package/dist/{adoption-scan-B4R5fnMU.js → adoption-scan-DCYe60Pi.js} +1 -1
  4. package/dist/agent/index.d.ts +2 -2
  5. package/dist/agent/index.js +1 -1
  6. package/dist/ai-sdk/index.d.ts +4 -4
  7. package/dist/ai-sdk/index.js +3 -3
  8. package/dist/{approval-prompt-Djo_PyZc.d.ts → approval-prompt-DvSSPQJX.d.ts} +2 -2
  9. package/dist/approvals/index.d.ts +3 -3
  10. package/dist/approvals/index.js +3 -3
  11. package/dist/{approvals-DJ6Yd5z1.js → approvals-p1PGoVjb.js} +3 -3
  12. package/dist/{arazzo-B6lebmiQ.js → arazzo-41WuzHou.js} +1 -1
  13. package/dist/{arazzo-BWhNF-k0.js → arazzo-CaUVBn7D.js} +2 -2
  14. package/dist/astro/index.d.ts +6 -6
  15. package/dist/astro/index.js +2 -2
  16. package/dist/{audience-Dg8XsRaO.js → audience-DabClFLQ.js} +1 -1
  17. package/dist/authzen/index.d.ts +4 -4
  18. package/dist/authzen/index.js +2 -2
  19. package/dist/{automation-BMZPIVUM.d.ts → automation-BNM3TtDo.d.ts} +3 -3
  20. package/dist/better-auth/index.d.ts +2 -2
  21. package/dist/better-auth/index.js +1 -1
  22. package/dist/better-supabase/index.d.ts +7 -7
  23. package/dist/better-supabase/index.js +6 -6
  24. package/dist/{bind-CZzhx-Vj.js → bind-CAvgUuKs.js} +4 -4
  25. package/dist/{bind--9EFVYWF.d.ts → bind-DOyrv6zi.d.ts} +7 -7
  26. package/dist/{build-instance-BMnAudHn.js → build-instance-Bu_eDqYw.js} +1 -1
  27. package/dist/{capability-BSslw1QV.d.ts → capability-Drg-1YhL.d.ts} +2 -2
  28. package/dist/catalog/index.d.ts +5 -5
  29. package/dist/catalog/index.js +3 -3
  30. package/dist/catalog-BoWglDPI.js +1 -0
  31. package/dist/{catalog-R_A__RsH.js → catalog-DZVbrF-z.js} +1 -1
  32. package/dist/{catalog-BECMPrwc.js → catalog-HD2gf5mY.js} +2 -2
  33. package/dist/{catalog-doc-C9wjsfNY.js → catalog-doc-Cdn7-0pQ.js} +1 -1
  34. package/dist/chat/index.d.ts +1 -1
  35. package/dist/chat/index.js +2 -2
  36. package/dist/chat-sdk/index.d.ts +3 -3
  37. package/dist/claude-agent/index.d.ts +3 -3
  38. package/dist/claude-agent/index.js +2 -2
  39. package/dist/clerk/index.d.ts +3 -3
  40. package/dist/cli/bin.js +1 -1
  41. package/dist/cli/index.d.ts +3 -3
  42. package/dist/cli/index.js +2 -2
  43. package/dist/cloud/index.d.ts +8 -8
  44. package/dist/cloud/index.js +1 -1
  45. package/dist/{cloud-CIoHNevm.js → cloud-ytQ3uviA.js} +2 -2
  46. package/dist/{codemod-Bmj9dWMH.js → codemod-5mpSpnUY.js} +2 -2
  47. package/dist/{codemod-Cxvvc70T.js → codemod-ua2hHy7w.js} +1 -1
  48. package/dist/{collect-DloHbDVa.js → collect-Ci6akVwH.js} +2 -2
  49. package/dist/collect-D7eQDffE.js +1 -0
  50. package/dist/{collect-CrZJJnEF.js → collect-mLTY4nwb.js} +2 -2
  51. package/dist/compile/index.d.ts +1 -1
  52. package/dist/{compile-Ckm2HqBZ.d.ts → compile-1bsAezL0.d.ts} +3 -3
  53. package/dist/{completion-BqhRBJD8.js → completion-BTFrHZhX.js} +1 -1
  54. package/dist/{config-B46rm9sc.js → config-Bj2Ixq3d.js} +1 -1
  55. package/dist/{config-report-DUgj62Ai.js → config-report-DSpsLpCE.js} +2 -2
  56. package/dist/{context-bbFHR-0D.js → context-B_u3_bDJ.js} +2 -2
  57. package/dist/convex/index.d.ts +5 -5
  58. package/dist/convex/index.js +2 -2
  59. package/dist/{create-0VZ7Pdiu.d.ts → create-B30OMUOJ.d.ts} +5 -5
  60. package/dist/{create-BDS7wc3y.d.ts → create-CBMmFie-.d.ts} +9 -9
  61. package/dist/{create-C3b4B5eF.js → create-CGm28gyI.js} +4 -4
  62. package/dist/{create-BWRSXgOF.js → create-CQWIpUG-.js} +1 -1
  63. package/dist/{create-DnrmLnLW.js → create-DCF2SvoT.js} +4 -4
  64. package/dist/{create-BFfm17UA.d.ts → create-D_NmPOdH.d.ts} +7 -7
  65. package/dist/{credential-DM2um3ha.js → credential-BcoiejpY.js} +2 -2
  66. package/dist/{delegation-DaXVdDhM.js → delegation-j6-rc37o.js} +2 -2
  67. package/dist/delivery/index.d.ts +4 -4
  68. package/dist/delivery/index.js +1 -1
  69. package/dist/{denied-text-D8jDHgsl.d.ts → denied-text-CiFQNuMV.d.ts} +2 -2
  70. package/dist/{describe-BZUsixiL.d.ts → describe-B5qgDvEW.d.ts} +2 -2
  71. package/dist/{diff-DCePiN6M.js → diff-3jbx6Rm4.js} +3 -3
  72. package/dist/{diff-CxZo9pTq.js → diff-CmuSD3vc.js} +1 -1
  73. package/dist/{doctor-CxiwSfqH.js → doctor-3ZqNHX_G.js} +2 -2
  74. package/dist/{doctor-DFjUxf2f.js → doctor-BdZw53-k.js} +14 -14
  75. package/dist/drizzle/index.d.ts +3 -3
  76. package/dist/elysia/index.d.ts +5 -5
  77. package/dist/elysia/index.js +3 -3
  78. package/dist/{errors-C2PXIv4c.d.ts → errors-DH5QEGXh.d.ts} +2 -2
  79. package/dist/{evaluate-_R8QkWaf.js → evaluate-CNClBvcj.js} +81 -28
  80. package/dist/{evaluations-16UqqQ6W.d.ts → evaluations-C_1vdSZc.d.ts} +3 -3
  81. package/dist/{evaluations-DZ2CbV5k.js → evaluations-beAooV0n.js} +1 -1
  82. package/dist/eve/index.d.ts +5 -5
  83. package/dist/eve/index.js +3 -3
  84. package/dist/express/index.d.ts +5 -5
  85. package/dist/express/index.js +3 -3
  86. package/dist/fastify/index.d.ts +5 -5
  87. package/dist/fastify/index.js +3 -3
  88. package/dist/{fetch-adapter-g0ypLkID.js → fetch-adapter-DD_gfmrC.js} +2 -2
  89. package/dist/{fetch-adapter-qKJBuRqy.d.ts → fetch-adapter-Dw0MTS3D.d.ts} +4 -4
  90. package/dist/{fields-D9tPVUUS.js → fields-OYG_JR78.js} +3 -3
  91. package/dist/{from-snapshot-D2lZt4Dd.js → from-snapshot-CTCMsFZk.js} +4 -4
  92. package/dist/{grantee-Cn1HyUsI.js → grantee-hxrUsbpM.js} +13 -3
  93. package/dist/{grantee-match-DHArqY82.js → grantee-match-DbENBHLB.js} +1 -1
  94. package/dist/h3/index.d.ts +4 -4
  95. package/dist/h3/index.js +3 -3
  96. package/dist/{helpers-DTcZOzhF.js → helpers-CBYVMjwh.js} +1 -1
  97. package/dist/hono/index.d.ts +5 -5
  98. package/dist/hono/index.js +3 -3
  99. package/dist/{hosted-BZIAYvon.js → hosted-B46-5LYE.js} +3 -3
  100. package/dist/{hosted-DBDX0M-P.d.ts → hosted-BPk51-kX.d.ts} +1 -1
  101. package/dist/{import-DMmOG27O.js → import-wyqXUyjm.js} +3 -3
  102. package/dist/{index-Chrs5fQ-.d.ts → index-B8YjkEZ4.d.ts} +6 -6
  103. package/dist/{index-CxGUswIC.d.ts → index-C-6Letxg.d.ts} +5 -5
  104. package/dist/{index-SGdIQyzc.d.ts → index-Ch8LpNDp.d.ts} +2 -2
  105. package/dist/{index-D8EovfsP.d.ts → index-Cp_ilKi1.d.ts} +2 -2
  106. package/dist/{index-BcHcPyIo.d.ts → index-CueFnxQc.d.ts} +6 -6
  107. package/dist/{index-DOVf7RJv.d.ts → index-DuWxc5dt.d.ts} +21 -12
  108. package/dist/index.d.ts +17 -17
  109. package/dist/index.js +14 -14
  110. package/dist/{instance-options-Omfd793B.d.ts → instance-options-BsVpyGIk.d.ts} +1 -1
  111. package/dist/{instance-snapshot-Cxq4ygFc.js → instance-snapshot-BOEhcqIF.js} +10 -9
  112. package/dist/jwt/index.d.ts +4 -4
  113. package/dist/{kernel-5JatXyND.js → kernel-D0NVb1cK.js} +5 -5
  114. package/dist/kysely/index.d.ts +3 -3
  115. package/dist/{manifest-CtKR3GXL.js → manifest-dvL2XEe1.js} +23 -23
  116. package/dist/{map-error-TCAdw-eW.js → map-error-Dr70oA_3.js} +1 -1
  117. package/dist/mcp/index.d.ts +9 -9
  118. package/dist/mcp/index.js +4 -4
  119. package/dist/{migrate-BShP7Vf4.js → migrate-CIq4-E9F.js} +1 -1
  120. package/dist/nest/index.d.ts +5 -5
  121. package/dist/nest/index.js +3 -3
  122. package/dist/next/index.d.ts +9 -9
  123. package/dist/next/index.js +3 -3
  124. package/dist/next/plugin.d.ts +1 -1
  125. package/dist/next/plugin.js +1 -1
  126. package/dist/node/index.d.ts +5 -5
  127. package/dist/node/index.js +2 -2
  128. package/dist/openai/index.d.ts +5 -5
  129. package/dist/openai/index.js +3 -3
  130. package/dist/openapi/index.d.ts +3 -3
  131. package/dist/{openapi-ahr8rHu3.js → openapi-C4dDTVEd.js} +1 -1
  132. package/dist/{openapi-DTaEmTSW.js → openapi-DD1SV-5-.js} +1 -1
  133. package/dist/{operations-CxybZErY.d.ts → operations-X0VM7F3m.d.ts} +1 -1
  134. package/dist/orpc/index.d.ts +6 -6
  135. package/dist/orpc/index.js +3 -3
  136. package/dist/otel/index.d.ts +3 -3
  137. package/dist/{output-Dyw8fyPF.js → output-1im__-08.js} +1 -1
  138. package/dist/{ownership-BatFgAA4.js → ownership-DqaJNJPn.js} +921 -858
  139. package/dist/{parse-local-manifest-DgqtruPn.d.ts → parse-local-manifest-5ODwqu8b.d.ts} +1 -1
  140. package/dist/pdp/index.d.ts +3 -3
  141. package/dist/pdp/index.js +1 -1
  142. package/dist/{permdock-B9JxkBwC.js → permdock-BrAscV28.js} +5 -5
  143. package/dist/{permdock-D7eeLJER.d.ts → permdock-SV8ZINYT.d.ts} +4 -4
  144. package/dist/{permissions-CZKiUfFM.js → permissions-BPxlwVhN.js} +2 -2
  145. package/dist/{permissions-oEWfl-kl.d.ts → permissions-u_KHg-sN.d.ts} +1 -1
  146. package/dist/{policies-CO1oOymN.js → policies-DP2nqRoF.js} +1 -1
  147. package/dist/{policy-Czo4n3Hs.d.ts → policy-77FSAq_V.d.ts} +2 -2
  148. package/dist/{policy-DLZJ5gAp.js → policy-DbM5YYtV.js} +2 -2
  149. package/dist/{policy-from-catalog-DzhEc3Y9.js → policy-from-catalog-C2gMa2Dj.js} +5 -5
  150. package/dist/{policy-types-DzwivBgR.d.ts → policy-types-n0uRTsW8.d.ts} +28 -3
  151. package/dist/{postgrest-NUqZT-RB.d.ts → postgrest-CEgRbefE.d.ts} +1 -1
  152. package/dist/{postgrest-CW0IqC-U.js → postgrest-DAjUkF9w.js} +10 -1
  153. package/dist/{powersync-bYUDLOAO.js → powersync-BkWWCS1K.js} +6 -6
  154. package/dist/{powersync-BHfuehf3.js → powersync-DISt6SUe.js} +2 -2
  155. package/dist/powersync-MMJ2mI2q.js +1 -0
  156. package/dist/prisma/index.d.ts +2 -2
  157. package/dist/{problem-details-DXlt-vks.d.ts → problem-details-B45V5d2b.d.ts} +1 -1
  158. package/dist/{protected-DfjY5mLA.js → protected-BlF0F6wL.js} +1 -1
  159. package/dist/{protected-DEPHc2xV.d.ts → protected-RFGpakN9.d.ts} +5 -5
  160. package/dist/{provider-CC-u3bYP.js → provider-B1al-AZz.js} +2 -2
  161. package/dist/{provider-DMVt6yYn.d.ts → provider-DILL9oPK.d.ts} +1 -1
  162. package/dist/{provider-store-B5Yrkhzr.js → provider-store-DM6DNcta.js} +2 -2
  163. package/dist/pull-CvpINcMK.js +1 -0
  164. package/dist/{pull-BgIfno6w.js → pull-jEwbf80J.js} +1 -1
  165. package/dist/{push-CmFVBOeI.js → push-BD4f15co.js} +2 -2
  166. package/dist/{pushed-policy-DobP7AHI.js → pushed-policy-CqtxkV4G.js} +1 -1
  167. package/dist/{pushed-policy-BImMTTIM.d.ts → pushed-policy-DCW91KQU.d.ts} +1 -1
  168. package/dist/react/index.d.ts +6 -6
  169. package/dist/react/index.js +2 -2
  170. package/dist/react/provider-client.d.ts +1 -1
  171. package/dist/react/provider-client.js +1 -1
  172. package/dist/react-native/index.d.ts +9 -9
  173. package/dist/react-native/index.js +10 -8
  174. package/dist/{replay-D7iKcLFe.d.ts → replay-Bkm-Ne4l.d.ts} +1 -1
  175. package/dist/{request-context-BTRTG7OT.js → request-context-C81Pip9n.js} +1 -1
  176. package/dist/resend/index.d.ts +4 -4
  177. package/dist/{rls-BA8an5Ap.js → rls-BAqP4q66.js} +1 -1
  178. package/dist/{rls-j6t43t7n.js → rls-DTvYd-lI.js} +12 -12
  179. package/dist/{role-builder-CXbis5-X.js → role-builder-uWQZ4v84.js} +1 -1
  180. package/dist/{rpc-aPyNi6tA.js → rpc-VSl5ylaQ.js} +1 -1
  181. package/dist/{run-DOfMtc9V.js → run-CUKuz0A8.js} +2 -2
  182. package/dist/run-DDwUaJDU.js +1 -0
  183. package/dist/{run-ticket-BjhTOi6u.d.ts → run-ticket-DocwaTKn.d.ts} +2 -2
  184. package/dist/{saas-FO-Q8oj0.js → saas-BCXRuXca.js} +5 -5
  185. package/dist/{scan-BOI5tJ-6.js → scan-qvOe0hS3.js} +1 -1
  186. package/dist/scim/index.d.ts +1 -1
  187. package/dist/server/index.d.ts +10 -10
  188. package/dist/server/index.js +4 -4
  189. package/dist/{server-DqCT4CgZ.js → server-C3WXAHZj.js} +1 -1
  190. package/dist/{server-types-BLd4MnBX.d.ts → server-types-CKQiCnON.d.ts} +9 -9
  191. package/dist/{shared-CD11nBbC.js → shared-BAK8t4Uo.js} +2 -1
  192. package/dist/{sink-Bj_lDUDq.d.ts → sink-4-eQIRWf.d.ts} +4 -4
  193. package/dist/{snapshot-CXUWfsNy.js → snapshot-B7DkYg6g.js} +1 -1
  194. package/dist/{snapshot-cache-DqK9eDmM.d.ts → snapshot-cache-PXI-vGpY.d.ts} +1 -1
  195. package/dist/solid/index.d.ts +5 -5
  196. package/dist/solid/index.js +2 -2
  197. package/dist/solid-start/index.d.ts +6 -6
  198. package/dist/solid-start/index.js +3 -3
  199. package/dist/{sources-BV9j0DeZ.d.ts → sources-Xc4zkszI.d.ts} +2 -2
  200. package/dist/{src-DLfUWFAI.js → src-Cu2m75uo.js} +24 -15
  201. package/dist/ssf/index.d.ts +3 -3
  202. package/dist/ssf/index.js +1 -1
  203. package/dist/{standard-webhooks-6lg8v_is.d.ts → standard-webhooks-rbD7LS6h.d.ts} +2 -2
  204. package/dist/{store-4u_hxjWa.js → store-BDutJkDL.js} +1 -1
  205. package/dist/{store-options-BqEakYRa.js → store-options-u0ycEe8s.js} +4 -4
  206. package/dist/{stores-ClZUgeoP.d.ts → stores-BUGNbJTt.d.ts} +5 -5
  207. package/dist/{stores-BbsD4fAR.js → stores-CGhM8BN_.js} +1 -1
  208. package/dist/{stream-7-xmnf3U.d.ts → stream-CeCMJmBB.d.ts} +2 -2
  209. package/dist/supabase/index.d.ts +5 -5
  210. package/dist/supabase/index.js +2 -2
  211. package/dist/supabase/middleware.d.ts +6 -6
  212. package/dist/supabase/middleware.js +5 -5
  213. package/dist/{supabase-9pqI57pW.js → supabase-By_frk3U.js} +2 -2
  214. package/dist/{supabase-hook-DdDQhMlw.js → supabase-hook-BMoEhZir.js} +14 -9
  215. package/dist/supabase-hook-CCw5m35C.js +1 -0
  216. package/dist/{supabase-Dxlp8A94.js → supabase-x5JtR2tc.js} +3 -3
  217. package/dist/svelte/index.d.ts +5 -5
  218. package/dist/svelte/index.js +2 -2
  219. package/dist/svelte/runtime.d.ts +3 -3
  220. package/dist/svelte/runtime.js +1 -1
  221. package/dist/svelte/source.d.ts +5 -5
  222. package/dist/svelte/source.js +1 -1
  223. package/dist/sveltekit/index.d.ts +6 -6
  224. package/dist/sveltekit/index.js +2 -2
  225. package/dist/tanstack-start/index.d.ts +6 -6
  226. package/dist/tanstack-start/index.js +2 -2
  227. package/dist/terminal/index.d.ts +6 -6
  228. package/dist/terminal/index.js +3 -3
  229. package/dist/testing/index.d.ts +20 -20
  230. package/dist/testing/index.js +18 -18
  231. package/dist/testing/saas/index.d.ts +5 -5
  232. package/dist/testing/saas/index.js +2 -2
  233. package/dist/testing/saas/permissions.d.ts +1 -1
  234. package/dist/testing/saas/permissions.js +1 -1
  235. package/dist/trpc/index.d.ts +6 -6
  236. package/dist/trpc/index.js +3 -3
  237. package/dist/{types-C8-KNsFf.d.ts → types-8RnwUAvE.d.ts} +5 -5
  238. package/dist/{types-BNORmDM8.d.ts → types-B3_ooZgZ.d.ts} +4 -4
  239. package/dist/{types-CCpc2Dcv.d.ts → types-BdtSDbBO.d.ts} +2 -2
  240. package/dist/{types-DX0LaKTb.d.ts → types-BtHtcKMr.d.ts} +3 -3
  241. package/dist/{types-CdlxsYQh.d.ts → types-BzzaHxt3.d.ts} +1 -1
  242. package/dist/{types-DiQjupG2.d.ts → types-C791HFu9.d.ts} +2 -2
  243. package/dist/{types-BjV-fqcA.d.ts → types-C863OQiR.d.ts} +4 -4
  244. package/dist/{types-fbZ7JEXr.d.ts → types-CVZSNocA.d.ts} +4 -4
  245. package/dist/{types-tIgIeIKJ.d.ts → types-CX7AvRqP.d.ts} +4 -4
  246. package/dist/{types-_sHy8BQf.d.ts → types-C_IiEs64.d.ts} +1 -1
  247. package/dist/{types-5Ut_pbKy.d.ts → types-Dfv0aTER.d.ts} +4 -2
  248. package/dist/{types-CZTnPFzM.d.ts → types-Druu9wLM.d.ts} +2 -2
  249. package/dist/{types-ClZaWzfb.d.ts → types-_WhUP7ud.d.ts} +3 -3
  250. package/dist/{types-BqAKcRNW.d.ts → types-lUlG3TVd.d.ts} +2 -2
  251. package/dist/unplugin/index.d.ts +1 -1
  252. package/dist/unplugin/index.js +1 -1
  253. package/dist/{usage-DHtE8j4E.js → usage-CRVl9V3t.js} +1 -1
  254. package/dist/usage-CZpSQP6L.js +1 -0
  255. package/dist/{usage-T5mXq98v.js → usage-SveTRTyr.js} +4 -4
  256. package/dist/{validation-error-Bg5Tpluk.d.ts → validation-error-DHUrAkku.d.ts} +1 -1
  257. package/dist/{verify-DbCL9bnB.js → verify-BaAKx7t6.js} +11 -11
  258. package/dist/{vocabulary-D6lPdb4Z.d.ts → vocabulary-CN8H_9UF.d.ts} +2 -0
  259. package/dist/vue/index.d.ts +5 -5
  260. package/dist/vue/index.js +2 -2
  261. package/dist/{waiter-CKy4MQSY.d.ts → waiter-B986w1oK.d.ts} +2 -2
  262. package/dist/watch--ovlPOc0.js +1 -0
  263. package/dist/{watch-CszoTJMq.js → watch-vea54PRw.js} +1 -1
  264. package/dist/webmcp/index.d.ts +2 -2
  265. package/dist/{where-scope-Dv-WTP-w.js → where-scope-C9vfEphl.js} +2 -2
  266. package/dist/{who-can-D0QoYbEb.js → who-can-DWBAcaCQ.js} +2 -2
  267. package/dist/workflow/index.d.ts +3 -3
  268. package/dist/workflow/index.js +2 -2
  269. package/dist/workflow-sdk/index.d.ts +5 -5
  270. package/dist/{wrap-Bd1Tejur.d.ts → wrap-C5jC6sKI.d.ts} +2 -2
  271. package/package.json +2 -2
  272. package/skills/permdock-data/references/queries-and-rls.md +1 -1
  273. package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +1 -0
  274. package/dist/catalog-DjhMYYCq.js +0 -1
  275. package/dist/collect-FlXJlhus.js +0 -1
  276. package/dist/powersync-CbzkqL_M.js +0 -1
  277. package/dist/pull-ByOks_Tg.js +0 -1
  278. package/dist/run-CNsApDpd.js +0 -1
  279. package/dist/supabase-hook-CXcGpHqq.js +0 -1
  280. package/dist/usage-CHOtwL19.js +0 -1
  281. package/dist/watch-Cb-NcaUw.js +0 -1
@@ -1,12 +1,12 @@
1
- import { $n as Delegation, Bt as LocalSnapshotManifest, C as MembershipFixture, D as PolicyDelegation, I as SeparationConflict, In as DenialReason, J as EntitlementSource, Kt as AccessEvent, Lt as InstanceHandle, N as RoleBinding, Nn as Decision, P as RoleOptions, Pn as Denial, Qt as DeliveryEvent, R as SupportAccessOptions, Rt as Instant, T as Policy, V as VocabularyFromInput, Vt as Snapshot, W as CustomRoleSource, Xt as DecisionEvent, Y as JwtClaims, Zn as CustomRole, at as SettingsSource, c as BreakGlassOptions, ct as TenantSettings, et as MembershipSource, g as GrantCondition, h as Grant, i as ApprovalOption, ir as Subject, it as RelationSource, j as PolicyVocabulary, k as PolicyOptions, mr as OpaqueCondition, nr as Membership, nt as RelationGroup, ot as SnapshotSource, rn as SinkEvent, rr as Principal, s as AssuranceRequirement, sn as PolicyScopesInput, ur as ConditionRef, ut as TokenSigner, vr as SqlFunctionArg, yr as SqlFunctionCondition } from "./policy-types-DzwivBgR.js";
2
- import { C as InferPermissionTree, D as PermissionsOptions, E as PermissionTree, F as ResourceParent, L as ResourceRelationInput, M as ResourceMeta, N as ResourceNode, P as ResourceOptions, R as ResourceRestricted, T as PermissionKind, g as ActionMeta, h as ActionList, k as ResourceInit, r as Role, w as Permission, z as ResourceXTree } from "./vocabulary-D6lPdb4Z.js";
3
- import { i as PermDockOptions, r as PermDock } from "./permdock-D7eeLJER.js";
4
- import { a as PolicyDocument } from "./hosted-DBDX0M-P.js";
5
- import { m as ApprovalStore } from "./types-CCpc2Dcv.js";
6
- import { t as InstanceOptions } from "./instance-options-Omfd793B.js";
7
- import { n as PermDockWrap } from "./wrap-Bd1Tejur.js";
1
+ import { $n as Delegation, Bt as LocalSnapshotManifest, C as MembershipFixture, D as PolicyDelegation, I as SeparationConflict, In as DenialReason, J as EntitlementSource, Kt as AccessEvent, Lt as InstanceHandle, N as RoleBinding, Nn as Decision, P as RoleOptions, Pn as Denial, Qt as DeliveryEvent, R as SupportAccessOptions, Rt as Instant, T as Policy, V as VocabularyFromInput, Vt as Snapshot, W as CustomRoleSource, Xt as DecisionEvent, Y as JwtClaims, Zn as CustomRole, ar as Subject, at as SettingsSource, br as SqlFunctionCondition, c as BreakGlassOptions, ct as TenantSettings, dr as ConditionRef, et as MembershipSource, g as GrantCondition, h as Grant, hr as OpaqueCondition, i as ApprovalOption, it as RelationSource, j as PolicyVocabulary, k as PolicyOptions, nr as Membership, nt as RelationGroup, ot as SnapshotSource, rn as SinkEvent, rr as Principal, s as AssuranceRequirement, sn as PolicyScopesInput, ut as TokenSigner, yr as SqlFunctionArg } from "./policy-types-n0uRTsW8.js";
2
+ import { C as InferPermissionTree, D as PermissionsOptions, E as PermissionTree, F as ResourceParent, L as ResourceRelationInput, M as ResourceMeta, N as ResourceNode, P as ResourceOptions, R as ResourceRestricted, T as PermissionKind, g as ActionMeta, h as ActionList, k as ResourceInit, r as Role, w as Permission, z as ResourceXTree } from "./vocabulary-CN8H_9UF.js";
3
+ import { i as PermDockOptions, r as PermDock } from "./permdock-SV8ZINYT.js";
4
+ import { a as PolicyDocument } from "./hosted-BPk51-kX.js";
5
+ import { m as ApprovalStore } from "./types-BdtSDbBO.js";
6
+ import { t as InstanceOptions } from "./instance-options-BsVpyGIk.js";
7
+ import { n as PermDockWrap } from "./wrap-C5jC6sKI.js";
8
8
  import { t as JsonSchemaNode } from "./json-schema-CN_iLFH2.js";
9
- import { i as CatalogEventData, s as CloudEvent } from "./sink-Bj_lDUDq.js";
9
+ import { i as CatalogEventData, s as CloudEvent } from "./sink-4-eQIRWf.js";
10
10
  import { StandardSchemaV1 } from "@standard-schema/spec";
11
11
  //#region src/conditions/refs.d.ts
12
12
  type KnownRefField = "id" | "issuer" | "kind" | "tenant" | "team" | "roles" | "plans" | "memberships" | "assurance" | "binding" | "session";
@@ -27,6 +27,9 @@ type CustomRoleDrop = {
27
27
  } | {
28
28
  readonly role: string;
29
29
  readonly reason: "unknown-role";
30
+ } | {
31
+ readonly role: string;
32
+ readonly reason: "name-taken";
30
33
  };
31
34
  /** A stored grant that named a permission by a key it was renamed from. */
32
35
  type CustomRoleRename = {
@@ -57,7 +60,11 @@ type CustomRoleValidation = {
57
60
  * together with the denies of the roles those grants belong to.
58
61
  */
59
62
  declare function resolveCustomRole(policy: Policy, role: CustomRole): ResolvedCustomRole;
60
- declare function validateCustomRole(policy: Policy, role: CustomRole): CustomRoleValidation;
63
+ type ValidateCustomRoleOptions = {
64
+ /** The shared custom roles: a tenant role with one of their names is dropped as `name-taken`. */
65
+ readonly shared?: readonly CustomRole[];
66
+ };
67
+ declare function validateCustomRole(policy: Policy, role: CustomRole, options?: ValidateCustomRoleOptions): CustomRoleValidation;
61
68
  /**
62
69
  * The compact JWT form of custom roles for the `memberships[].grants` claim
63
70
  * RLS reads in `jwt` mode: role name to entries, where `key` allows, `-key`
@@ -433,6 +440,8 @@ type CustomRoleReader = {
433
440
  assignable?(tenant: string): string[] | Promise<string[]>;
434
441
  /** Platform custom roles (`scope: 'global'`). */
435
442
  globalRoles?(): CustomRole[] | Promise<CustomRole[]>;
443
+ /** Shared custom roles (`shared: true`), the same for every tenant. */
444
+ sharedRoles?(): CustomRole[] | Promise<CustomRole[]>;
436
445
  };
437
446
  type CustomRoleSourceOptions = {
438
447
  /** `'all'` (default): read every custom role of each tenant, so `assignableRoles` and `decideRoleChange` see them all. */
@@ -445,8 +454,8 @@ type CustomRoleSourceOptions = {
445
454
  /**
446
455
  * A `CustomRoleSource` over a reader that returns every custom role of a tenant.
447
456
  * It keeps only the roles of the requested tenant. With `read: 'held'` it
448
- * skips a tenant's read, and `globalRoles`, when the subject holds only
449
- * declared roles there.
457
+ * skips a tenant's read, and `globalRoles` and `sharedRoles`, when the
458
+ * subject holds only declared roles there.
450
459
  */
451
460
  declare function customRoleSource(reader: CustomRoleReader, options?: CustomRoleSourceOptions): CustomRoleSource;
452
461
  //#endregion
@@ -897,4 +906,4 @@ declare function coveredByDelegation(permission: DelegatedPermission, delegation
897
906
  */
898
907
  declare function delegatedPermissions(delegations: readonly PolicyDelegation[] | undefined, subject: Subject, heldRoles: ReadonlySet<string>, now: number): ReadonlySet<string> | undefined;
899
908
  //#endregion
900
- export { ShadowMismatch as $, CustomRoleValidation as $t, decideRoleChange as A, isExternallyManaged as At, crud as B, getResource as Bt, parseCloudEventBatch as C, MemoryRelationSourceData as Ct, RoleChangeDecision as D, claimsFirst as Dt, RoleChange as E, stripeEntitlementSource as Et, normalizeApproval as F, memorySettingsSource as Ft, definePermissions as G, separationConflicts as Gt, writable as H, listPermissions as Ht, allow as I, memorySnapshotSource as It, CustomRoleReader as J, fromSnapshot as Jt, SnapshotForOptions as K, requiresApproval as Kt, deny as L, sqlFunction as Lt, activate as M, memoryCustomRoleSource as Mt, breakGlass as N, memoryEntitlementSource as Nt, RoleChangeOptions as O, composeMemberships as Ot, supportAccess as P, memoryMembershipSource as Pt, LegacyCheck as Q, CustomRoleRename as Qt, normalizeAssurance as R, opaque as Rt, parseCloudEvent as S, MemoryEdge as St, parseSinkEvents as T, StripeEntitlementsClient as Tt, formerKeys as U, mergePermissions as Ut, readable as V, isPermission as Vt, resource as W, definePolicy as Wt, customRoleSource as X, CustomRoleDrop as Xt, CustomRoleSourceOptions as Y, parseSnapshot as Yt, mayAccess as Z, CustomRoleDropReason as Zt, DIRECTORY_EVENT_SCHEMA as _, signPolicyDocument as _t, toCsvRow as a, principal as an, localSnapshotManifest as at, SINK_EVENT_SCHEMAS as b, WhoCan as bt, OcsfUserManagement as c, ArazzoSimulateInput as ct, ACCESS_EVENT_SCHEMA as d, simulateArazzo as dt, ResolvedCustomRole as en, ShadowOptions as et, AUTOMATION_EVENT_SCHEMA as f, deliveryEvent as ft, DELIVERY_EVENT_SCHEMA as g, SignPolicyDocumentOptions as gt, DECISION_EVENT_SCHEMA as h, snapshotFromClaims as ht, CSV_COLUMNS as i, context as in, AppProfile as it, ActivateInput as j, APPROVAL_POLICY_UNAVAILABLE as jt, RoleChangeTarget as k, countHolders as kt, accessToOcsf as l, ArazzoStepResult as lt, CREDENTIAL_EVENT_SCHEMA as m, signSnapshot as mt, delegatedPermissions as n, resolveCustomRole as nn, defineApp as nt, OCSF_VERSION as o, ArazzoFinding as ot, CATALOG_EVENT_SCHEMA as p, SignSnapshotOptions as pt, snapshotFor as q, emptySnapshot as qt, catalogFingerprint as r, validateCustomRole as rn, AppOptions as rt, OcsfAuthorizeSession as s, ArazzoPlan as st, coveredByDelegation as t, customRoleClaim as tn, shadowMode as tt, toOcsf as u, arazzoFindings as ut, EVENT_SCHEMA_IDS as v, Holder as vt, parseSinkEvent as w, memoryRelationSource as wt, parseCatalogEventData as x, whoCan as xt, MEMBERSHIP_EVENT_SCHEMA as y, HoldingVia as yt, role as z, findPermission as zt };
909
+ export { ShadowMismatch as $, CustomRoleValidation as $t, decideRoleChange as A, isExternallyManaged as At, crud as B, getResource as Bt, parseCloudEventBatch as C, MemoryRelationSourceData as Ct, RoleChangeDecision as D, claimsFirst as Dt, RoleChange as E, stripeEntitlementSource as Et, normalizeApproval as F, memorySettingsSource as Ft, definePermissions as G, separationConflicts as Gt, writable as H, listPermissions as Ht, allow as I, memorySnapshotSource as It, CustomRoleReader as J, fromSnapshot as Jt, SnapshotForOptions as K, requiresApproval as Kt, deny as L, sqlFunction as Lt, activate as M, memoryCustomRoleSource as Mt, breakGlass as N, memoryEntitlementSource as Nt, RoleChangeOptions as O, composeMemberships as Ot, supportAccess as P, memoryMembershipSource as Pt, LegacyCheck as Q, CustomRoleRename as Qt, normalizeAssurance as R, opaque as Rt, parseCloudEvent as S, MemoryEdge as St, parseSinkEvents as T, StripeEntitlementsClient as Tt, formerKeys as U, mergePermissions as Ut, readable as V, isPermission as Vt, resource as W, definePolicy as Wt, customRoleSource as X, CustomRoleDrop as Xt, CustomRoleSourceOptions as Y, parseSnapshot as Yt, mayAccess as Z, CustomRoleDropReason as Zt, DIRECTORY_EVENT_SCHEMA as _, signPolicyDocument as _t, toCsvRow as a, context as an, localSnapshotManifest as at, SINK_EVENT_SCHEMAS as b, WhoCan as bt, OcsfUserManagement as c, ArazzoSimulateInput as ct, ACCESS_EVENT_SCHEMA as d, simulateArazzo as dt, ResolvedCustomRole as en, ShadowOptions as et, AUTOMATION_EVENT_SCHEMA as f, deliveryEvent as ft, DELIVERY_EVENT_SCHEMA as g, SignPolicyDocumentOptions as gt, DECISION_EVENT_SCHEMA as h, snapshotFromClaims as ht, CSV_COLUMNS as i, validateCustomRole as in, AppProfile as it, ActivateInput as j, APPROVAL_POLICY_UNAVAILABLE as jt, RoleChangeTarget as k, countHolders as kt, accessToOcsf as l, ArazzoStepResult as lt, CREDENTIAL_EVENT_SCHEMA as m, signSnapshot as mt, delegatedPermissions as n, customRoleClaim as nn, defineApp as nt, OCSF_VERSION as o, principal as on, ArazzoFinding as ot, CATALOG_EVENT_SCHEMA as p, SignSnapshotOptions as pt, snapshotFor as q, emptySnapshot as qt, catalogFingerprint as r, resolveCustomRole as rn, AppOptions as rt, OcsfAuthorizeSession as s, ArazzoPlan as st, coveredByDelegation as t, ValidateCustomRoleOptions as tn, shadowMode as tt, toOcsf as u, arazzoFindings as ut, EVENT_SCHEMA_IDS as v, Holder as vt, parseSinkEvent as w, memoryRelationSource as wt, parseCatalogEventData as x, whoCan as xt, MEMBERSHIP_EVENT_SCHEMA as y, HoldingVia as yt, role as z, findPermission as zt };
package/dist/index.d.ts CHANGED
@@ -1,22 +1,22 @@
1
- import { $ as MemberEntry, $n as Delegation, $t as DeliveryFailureCause, A as PolicyScopes, An as relation, At as CredentialRequest, B as ValidateMode, Bn as LimitDetail, Bt as LocalSnapshotManifest, C as MembershipFixture, Cn as RelationGrantee, Cr as isConditionRef, Ct as Credential, D as PolicyDelegation, Dn as authenticated, Dt as CredentialPermissionInput, E as PolicyAppDataSchemas, En as assurance, Et as CredentialPermission, F as RoleScope, Fn as DenialDetails, Ft as isFeedId, G as CustomRoleSourceFactory, Gn as TraceSkip, Gt as SnapshotScope, H as WireValidity, Hn as Obligation, Ht as SnapshotAssignable, I as SeparationConflict, In as DenialReason, It as parseCredential, J as EntitlementSource, Jn as Assurance, Jt as AutomationEvent, K as DecisionProvider, Kn as TraceSkipReason, Kt as AccessEvent, L as SubjectOf, Ln as DeniedDecision, M as PrincipalOf, Mn as ApprovalRequiredDecision, Mt as credentialDelegation, N as RoleBinding, Nn as Decision, Nt as credentialPolicyViolation, O as PolicyOAuthScope, On as inherit, Ot as CredentialPolicy, P as RoleOptions, Pn as Denial, Pt as decideCredential, Q as LimitStore, Qn as CustomRoleGrant, Qt as DeliveryEvent, R as SupportAccessOptions, Rn as ExplainedDecision, S as HostedGrantRef, Sn as InheritGrantee, Sr as isConditionDate, St as ApiKeyPrincipal, T as Policy, Tn as anyone, Tt as CredentialKind, U as CredentialVerifier, Un as Quota, Ut as SnapshotGrant, Vn as MatchedGrant, Vt as Snapshot, W as CustomRoleSource, Wn as Trace, Wt as SnapshotNotEntitled, X as LimitConsumeInput, Xn as Binding, Xt as DecisionEvent, Yn as AuthorizationDetail, Yt as CredentialEvent, Z as LimitRemaining, Zn as CustomRole, Zt as DeliveryChannel, _ as GrantLimit, _n as anyOf, _r as RestrictedAncestors, _t as SupportSessionDecision, a as ApprovalRequirement, an as WireDenial, ar as VerifiedClaims, at as SettingsSource, b as GrantScope, bn as Grantee, br as hasConditionOp, bt as decideSupportSession, c as BreakGlassOptions, cn as Scope, cr as MembershipVia, ct as TenantSettings, d as ClosureContext, dn as AnyOfApprover, dr as ConditionValue, dt as TokenVerifier, en as DirectoryEvent, er as GnapAccess, et as MembershipSource, f as ClosureGrantFn, fn as Approver, fr as MemberOfCondition, ft as VerificationFailure, g as GrantCondition, gn as allOf, gr as RelatedHop, gt as SupportSession, h as Grant, hn as UserApprover, hr as RelatedCondition, ht as DecideSupportSessionOptions, i as ApprovalOption, in as WireDecision, ir as Subject, it as RelationSource, jn as AppObligation, jt as DecideCredentialOptions, kn as plan, kt as CredentialPolicyViolation, l as BreakGlassRequirements, ln as ScopeDeclaration, lr as Condition, lt as TokenFailureCause, m as DelegationTarget, mn as PermissionApprover, mt as WhereCompiler, n as ApprovalEscalation, nn as MembershipEvent, nr as Membership, nt as RelationGroup, o as ApprovalStage, or as ActorKind, ot as SnapshotSource, p as DelegationInput, pn as ApproverInput, pr as MemberOfParent, pt as VerifiedToken, q as DecisionSink, qn as Actor, qt as AuthEvent, r as ApprovalMode, rn as SinkEvent, rr as Principal, rt as RelationHolder, s as AssuranceRequirement, sn as PolicyScopesInput, sr as AdapterId, st as SubjectResolver, t as ActivationOption, tn as EmailCategory, tt as RelationChain, u as BreakGlassSpec, un as ScopeNames, ur as ConditionRef, ut as TokenSigner, v as GrantMeta, vn as holder, vr as SqlFunctionArg, vt as SupportSessionPolicy, w as ObligationInput, wn as actor, wr as isSqlFunctionField, wt as CredentialDecision, x as GrantValidity, xn as GranteeInput, xr as isCondition, xt as parseSupportSession, y as GrantOptions, yn as user, yr as SqlFunctionCondition, yt as SupportSessionRequest, z as SupportConsent, zn as GrantedDecision, zt as LocalCustomRoleTable } from "./policy-types-DzwivBgR.js";
2
- import { A as ResourceLevel, B as RESOURCE_X, D as PermissionsOptions, E as PermissionTree, F as ResourceParent, H as AppDataSchema, I as ResourceRelation, L as ResourceRelationInput, M as ResourceMeta, N as ResourceNode, O as PrincipalRelation, P as ResourceOptions, R as ResourceRestricted, S as FieldRelation, T as PermissionKind, U as MetaValue, V as AppData, _ as ComputedRelation, a as RoleTree, b as EdgeMatch, c as definePlans, d as isPlan, f as isRole, g as ActionMeta, i as RoleMeta, j as ResourceLink, k as ResourceInit, l as defineRoles, m as listRoles, n as PlanTree, o as Vocabulary, p as listPlans, r as Role, s as VocabularyOptions, t as Plan, u as findRole, v as EdgeGroup, w as Permission, x as EdgeRelation, y as EdgeGroups, z as ResourceXTree } from "./vocabulary-D6lPdb4Z.js";
3
- import { $ as ShadowMismatch, $t as CustomRoleValidation, A as decideRoleChange, At as isExternallyManaged, B as crud, Bt as getResource, C as parseCloudEventBatch, Ct as MemoryRelationSourceData, D as RoleChangeDecision, Dt as claimsFirst, E as RoleChange, Et as stripeEntitlementSource, F as normalizeApproval, Ft as memorySettingsSource, G as definePermissions, Gt as separationConflicts, H as writable, Ht as listPermissions, I as allow, It as memorySnapshotSource, J as CustomRoleReader, Jt as fromSnapshot, K as SnapshotForOptions, Kt as requiresApproval, L as deny, Lt as sqlFunction, M as activate, Mt as memoryCustomRoleSource, N as breakGlass, Nt as memoryEntitlementSource, O as RoleChangeOptions, Ot as composeMemberships, P as supportAccess, Pt as memoryMembershipSource, Q as LegacyCheck, Qt as CustomRoleRename, R as normalizeAssurance, Rt as opaque, S as parseCloudEvent, St as MemoryEdge, T as parseSinkEvents, Tt as StripeEntitlementsClient, U as formerKeys, Ut as mergePermissions, V as readable, Vt as isPermission, W as resource, Wt as definePolicy, X as customRoleSource, Xt as CustomRoleDrop, Y as CustomRoleSourceOptions, Yt as parseSnapshot, Z as mayAccess, Zt as CustomRoleDropReason, _ as DIRECTORY_EVENT_SCHEMA, _t as signPolicyDocument, a as toCsvRow, an as principal, at as localSnapshotManifest, b as SINK_EVENT_SCHEMAS, bt as WhoCan, c as OcsfUserManagement, ct as ArazzoSimulateInput, d as ACCESS_EVENT_SCHEMA, dt as simulateArazzo, en as ResolvedCustomRole, et as ShadowOptions, f as AUTOMATION_EVENT_SCHEMA, ft as deliveryEvent, g as DELIVERY_EVENT_SCHEMA, gt as SignPolicyDocumentOptions, h as DECISION_EVENT_SCHEMA, ht as snapshotFromClaims, i as CSV_COLUMNS, in as context, it as AppProfile, j as ActivateInput, jt as APPROVAL_POLICY_UNAVAILABLE, k as RoleChangeTarget, kt as countHolders, l as accessToOcsf, lt as ArazzoStepResult, m as CREDENTIAL_EVENT_SCHEMA, mt as signSnapshot, n as delegatedPermissions, nn as resolveCustomRole, nt as defineApp, o as OCSF_VERSION, ot as ArazzoFinding, p as CATALOG_EVENT_SCHEMA, pt as SignSnapshotOptions, q as snapshotFor, qt as emptySnapshot, r as catalogFingerprint, rn as validateCustomRole, rt as AppOptions, s as OcsfAuthorizeSession, st as ArazzoPlan, t as coveredByDelegation, tn as customRoleClaim, tt as shadowMode, u as toOcsf, ut as arazzoFindings, v as EVENT_SCHEMA_IDS, vt as Holder, w as parseSinkEvent, wt as memoryRelationSource, x as parseCatalogEventData, xt as whoCan, y as MEMBERSHIP_EVENT_SCHEMA, yt as HoldingVia, z as role, zt as findPermission } from "./index-DOVf7RJv.js";
4
- import { a as OperationInput, c as defineOperations, d as isOperationRisk, i as OperationEffect, l as OPERATION_RISKS, n as OperationData, o as OperationMap, r as OperationDefinition, s as OperationMeta, t as Operation, u as OperationRisk } from "./operations-CxybZErY.js";
5
- import { C as ApprovalPolicyValidation, E as validateApprovalPolicy, S as ApprovalPolicySource, T as memoryApprovalPolicySource, _ as limits, a as RowPair, b as ApprovalPolicy, c as WhereResult, d as PrincipalIdentity, f as PrincipalIdentityLink, g as Limits, h as PermittedIdsOptions, i as PermDockOptions, l as getPermDock, m as memoryPrincipalSource, n as DeriveOptions, o as SimulateOptions, p as PrincipalSource, r as PermDock, s as SnapshotOptions, t as DecideOptions, u as getPermDockSync, v as memoryLimitStore, w as approvalPolicies, x as ApprovalPolicyProblem, y as ApprovalPolicies } from "./permdock-D7eeLJER.js";
6
- import { a as PolicyDocument, c as isPortableCondition, d as parsePolicyDocument, f as policyDocumentFromClaims, l as memoryPolicySource, n as HostedGrantDropReason, o as PolicySource, r as HostedGrantDropped, s as hostedPolicies, t as HostedGrant, u as mergeHostedGrants } from "./hosted-DBDX0M-P.js";
7
- import { n as PermDockValidationError } from "./validation-error-Bg5Tpluk.js";
8
- import { n as requiredPlans } from "./problem-details-DXlt-vks.js";
9
- import { a as ProblemDetails, i as PermDockRevokedError, n as PermDockApprovalRequiredError, o as RevokedCode, r as PermDockDeniedError } from "./errors-C2PXIv4c.js";
10
- import { t as InstanceOptions } from "./instance-options-Omfd793B.js";
1
+ import { $ as MemberEntry, $n as Delegation, $t as DeliveryFailureCause, A as PolicyScopes, An as relation, At as CredentialRequest, B as ValidateMode, Bn as LimitDetail, Bt as LocalSnapshotManifest, C as MembershipFixture, Cn as RelationGrantee, Cr as isConditionDate, Ct as Credential, D as PolicyDelegation, Dn as authenticated, Dt as CredentialPermissionInput, E as PolicyAppDataSchemas, En as assurance, Et as CredentialPermission, F as RoleScope, Fn as DenialDetails, Ft as isFeedId, G as CustomRoleSourceFactory, Gn as TraceSkip, Gt as SnapshotScope, H as WireValidity, Hn as Obligation, Ht as SnapshotAssignable, I as SeparationConflict, In as DenialReason, It as parseCredential, J as EntitlementSource, Jn as Assurance, Jt as AutomationEvent, K as DecisionProvider, Kn as TraceSkipReason, Kt as AccessEvent, L as SubjectOf, Ln as DeniedDecision, M as PrincipalOf, Mn as ApprovalRequiredDecision, Mt as credentialDelegation, N as RoleBinding, Nn as Decision, Nt as credentialPolicyViolation, O as PolicyOAuthScope, On as inherit, Ot as CredentialPolicy, P as RoleOptions, Pn as Denial, Pt as decideCredential, Q as LimitStore, Qn as CustomRoleGrant, Qt as DeliveryEvent, R as SupportAccessOptions, Rn as ExplainedDecision, S as HostedGrantRef, Sn as InheritGrantee, Sr as isCondition, St as ApiKeyPrincipal, T as Policy, Tn as anyone, Tr as isSqlFunctionField, Tt as CredentialKind, U as CredentialVerifier, Un as Quota, Ut as SnapshotGrant, Vn as MatchedGrant, Vt as Snapshot, W as CustomRoleSource, Wn as Trace, Wt as SnapshotNotEntitled, X as LimitConsumeInput, Xn as Binding, Xt as DecisionEvent, Yn as AuthorizationDetail, Yt as CredentialEvent, Z as LimitRemaining, Zn as CustomRole, Zt as DeliveryChannel, _ as GrantLimit, _n as anyOf, _r as RelatedHop, _t as SupportSessionDecision, a as ApprovalRequirement, an as WireDenial, ar as Subject, at as SettingsSource, b as GrantScope, bn as Grantee, br as SqlFunctionCondition, bt as decideSupportSession, c as BreakGlassOptions, cn as Scope, cr as AdapterId, ct as TenantSettings, d as ClosureContext, dn as AnyOfApprover, dr as ConditionRef, dt as TokenVerifier, en as DirectoryEvent, er as GnapAccess, et as MembershipSource, f as ClosureGrantFn, fn as Approver, fr as ConditionValue, ft as VerificationFailure, g as GrantCondition, gn as allOf, gr as RelatedCondition, gt as SupportSession, h as Grant, hn as UserApprover, ht as DecideSupportSessionOptions, i as ApprovalOption, in as WireDecision, ir as SharedCustomRole, it as RelationSource, jn as AppObligation, jt as DecideCredentialOptions, kn as plan, kt as CredentialPolicyViolation, l as BreakGlassRequirements, ln as ScopeDeclaration, lr as MembershipVia, lt as TokenFailureCause, m as DelegationTarget, mn as PermissionApprover, mr as MemberOfParent, mt as WhereCompiler, n as ApprovalEscalation, nn as MembershipEvent, nr as Membership, nt as RelationGroup, o as ApprovalStage, or as VerifiedClaims, ot as SnapshotSource, p as DelegationInput, pn as ApproverInput, pr as MemberOfCondition, pt as VerifiedToken, q as DecisionSink, qn as Actor, qt as AuthEvent, r as ApprovalMode, rn as SinkEvent, rr as Principal, rt as RelationHolder, s as AssuranceRequirement, sn as PolicyScopesInput, sr as ActorKind, st as SubjectResolver, t as ActivationOption, tn as EmailCategory, tt as RelationChain, u as BreakGlassSpec, un as ScopeNames, ur as Condition, ut as TokenSigner, v as GrantMeta, vn as holder, vr as RestrictedAncestors, vt as SupportSessionPolicy, w as ObligationInput, wn as actor, wr as isConditionRef, wt as CredentialDecision, x as GrantValidity, xn as GranteeInput, xr as hasConditionOp, xt as parseSupportSession, y as GrantOptions, yn as user, yr as SqlFunctionArg, yt as SupportSessionRequest, z as SupportConsent, zn as GrantedDecision, zt as LocalCustomRoleTable } from "./policy-types-n0uRTsW8.js";
2
+ import { A as ResourceLevel, B as RESOURCE_X, D as PermissionsOptions, E as PermissionTree, F as ResourceParent, H as AppDataSchema, I as ResourceRelation, L as ResourceRelationInput, M as ResourceMeta, N as ResourceNode, O as PrincipalRelation, P as ResourceOptions, R as ResourceRestricted, S as FieldRelation, T as PermissionKind, U as MetaValue, V as AppData, _ as ComputedRelation, a as RoleTree, b as EdgeMatch, c as definePlans, d as isPlan, f as isRole, g as ActionMeta, i as RoleMeta, j as ResourceLink, k as ResourceInit, l as defineRoles, m as listRoles, n as PlanTree, o as Vocabulary, p as listPlans, r as Role, s as VocabularyOptions, t as Plan, u as findRole, v as EdgeGroup, w as Permission, x as EdgeRelation, y as EdgeGroups, z as ResourceXTree } from "./vocabulary-CN8H_9UF.js";
3
+ import { $ as ShadowMismatch, $t as CustomRoleValidation, A as decideRoleChange, At as isExternallyManaged, B as crud, Bt as getResource, C as parseCloudEventBatch, Ct as MemoryRelationSourceData, D as RoleChangeDecision, Dt as claimsFirst, E as RoleChange, Et as stripeEntitlementSource, F as normalizeApproval, Ft as memorySettingsSource, G as definePermissions, Gt as separationConflicts, H as writable, Ht as listPermissions, I as allow, It as memorySnapshotSource, J as CustomRoleReader, Jt as fromSnapshot, K as SnapshotForOptions, Kt as requiresApproval, L as deny, Lt as sqlFunction, M as activate, Mt as memoryCustomRoleSource, N as breakGlass, Nt as memoryEntitlementSource, O as RoleChangeOptions, Ot as composeMemberships, P as supportAccess, Pt as memoryMembershipSource, Q as LegacyCheck, Qt as CustomRoleRename, R as normalizeAssurance, Rt as opaque, S as parseCloudEvent, St as MemoryEdge, T as parseSinkEvents, Tt as StripeEntitlementsClient, U as formerKeys, Ut as mergePermissions, V as readable, Vt as isPermission, W as resource, Wt as definePolicy, X as customRoleSource, Xt as CustomRoleDrop, Y as CustomRoleSourceOptions, Yt as parseSnapshot, Z as mayAccess, Zt as CustomRoleDropReason, _ as DIRECTORY_EVENT_SCHEMA, _t as signPolicyDocument, a as toCsvRow, an as context, at as localSnapshotManifest, b as SINK_EVENT_SCHEMAS, bt as WhoCan, c as OcsfUserManagement, ct as ArazzoSimulateInput, d as ACCESS_EVENT_SCHEMA, dt as simulateArazzo, en as ResolvedCustomRole, et as ShadowOptions, f as AUTOMATION_EVENT_SCHEMA, ft as deliveryEvent, g as DELIVERY_EVENT_SCHEMA, gt as SignPolicyDocumentOptions, h as DECISION_EVENT_SCHEMA, ht as snapshotFromClaims, i as CSV_COLUMNS, in as validateCustomRole, it as AppProfile, j as ActivateInput, jt as APPROVAL_POLICY_UNAVAILABLE, k as RoleChangeTarget, kt as countHolders, l as accessToOcsf, lt as ArazzoStepResult, m as CREDENTIAL_EVENT_SCHEMA, mt as signSnapshot, n as delegatedPermissions, nn as customRoleClaim, nt as defineApp, o as OCSF_VERSION, on as principal, ot as ArazzoFinding, p as CATALOG_EVENT_SCHEMA, pt as SignSnapshotOptions, q as snapshotFor, qt as emptySnapshot, r as catalogFingerprint, rn as resolveCustomRole, rt as AppOptions, s as OcsfAuthorizeSession, st as ArazzoPlan, t as coveredByDelegation, tn as ValidateCustomRoleOptions, tt as shadowMode, u as toOcsf, ut as arazzoFindings, v as EVENT_SCHEMA_IDS, vt as Holder, w as parseSinkEvent, wt as memoryRelationSource, x as parseCatalogEventData, xt as whoCan, y as MEMBERSHIP_EVENT_SCHEMA, yt as HoldingVia, z as role, zt as findPermission } from "./index-DuWxc5dt.js";
4
+ import { a as OperationInput, c as defineOperations, d as isOperationRisk, i as OperationEffect, l as OPERATION_RISKS, n as OperationData, o as OperationMap, r as OperationDefinition, s as OperationMeta, t as Operation, u as OperationRisk } from "./operations-X0VM7F3m.js";
5
+ import { C as ApprovalPolicyValidation, E as validateApprovalPolicy, S as ApprovalPolicySource, T as memoryApprovalPolicySource, _ as limits, a as RowPair, b as ApprovalPolicy, c as WhereResult, d as PrincipalIdentity, f as PrincipalIdentityLink, g as Limits, h as PermittedIdsOptions, i as PermDockOptions, l as getPermDock, m as memoryPrincipalSource, n as DeriveOptions, o as SimulateOptions, p as PrincipalSource, r as PermDock, s as SnapshotOptions, t as DecideOptions, u as getPermDockSync, v as memoryLimitStore, w as approvalPolicies, x as ApprovalPolicyProblem, y as ApprovalPolicies } from "./permdock-SV8ZINYT.js";
6
+ import { a as PolicyDocument, c as isPortableCondition, d as parsePolicyDocument, f as policyDocumentFromClaims, l as memoryPolicySource, n as HostedGrantDropReason, o as PolicySource, r as HostedGrantDropped, s as hostedPolicies, t as HostedGrant, u as mergeHostedGrants } from "./hosted-BPk51-kX.js";
7
+ import { n as PermDockValidationError } from "./validation-error-DHUrAkku.js";
8
+ import { n as requiredPlans } from "./problem-details-B45V5d2b.js";
9
+ import { a as ProblemDetails, i as PermDockRevokedError, n as PermDockApprovalRequiredError, o as RevokedCode, r as PermDockDeniedError } from "./errors-DH5QEGXh.js";
10
+ import { t as InstanceOptions } from "./instance-options-BsVpyGIk.js";
11
11
  import { t as RequestContext } from "./request-context-C2_1lchh.js";
12
- import { n as PermDockWrap, r as wrapPermDock, t as PermDockOverrides } from "./wrap-Bd1Tejur.js";
12
+ import { n as PermDockWrap, r as wrapPermDock, t as PermDockOverrides } from "./wrap-C5jC6sKI.js";
13
13
  import { t as JsonSchemaNode } from "./json-schema-CN_iLFH2.js";
14
14
  import { i as memoryRevocationFeed, n as RevocationFeed, r as RevocationListener, t as RevocationEvent } from "./revocations-R07lFBnX.js";
15
15
  import { t as ClientNames } from "./clients-C7zLFuWT.js";
16
- import { a as CapabilityOptions, c as LinkPolicy, d as linkPolicyViolation, f as parseCapability, i as CapabilityInput, l as LinkPolicyViolation, m as signCapability, n as CapabilityClaim, o as CapabilityPrincipal, p as parseCapabilityClaim, r as CapabilityConfirmation, s as CapabilityRedeemer, t as Capability, u as capabilityFromClaims } from "./capability-BSslw1QV.js";
17
- import { a as AutomationSource, c as decideAutomation, i as AutomationRequest, l as memoryAutomationSource, n as AutomationDecision, o as DecideAutomationOptions, r as AutomationMode, s as MemoryAutomationSource, t as Automation, u as parseAutomation } from "./automation-BMZPIVUM.js";
18
- import { S as toCloudEvent, _ as credentialEvent, a as CatalogFinding, b as signDecisionBatch, c as CloudEventOptions, d as MemoryDecisionSinkOptions, f as RESERVED_CLOUD_EVENT_TYPES, g as cloudEventType, h as automationEvent, i as CatalogEventData, l as CloudEventType, m as accessEvent, n as CLOUDEVENTS_CONTENT_TYPE, o as CatalogFindingCode, p as SignDecisionBatchOptions, r as CLOUD_EVENT_TYPES, s as CloudEvent, t as CLOUDEVENTS_BATCH_CONTENT_TYPE, u as MemoryDecisionSink, v as membershipEvent, x as supportSessionEvent, y as memoryDecisionSink } from "./sink-Bj_lDUDq.js";
19
- import { i as describe, n as DescribeMessages, r as DescribeOptions, t as DecisionDescription } from "./describe-BZUsixiL.js";
16
+ import { a as CapabilityOptions, c as LinkPolicy, d as linkPolicyViolation, f as parseCapability, i as CapabilityInput, l as LinkPolicyViolation, m as signCapability, n as CapabilityClaim, o as CapabilityPrincipal, p as parseCapabilityClaim, r as CapabilityConfirmation, s as CapabilityRedeemer, t as Capability, u as capabilityFromClaims } from "./capability-Drg-1YhL.js";
17
+ import { a as AutomationSource, c as decideAutomation, i as AutomationRequest, l as memoryAutomationSource, n as AutomationDecision, o as DecideAutomationOptions, r as AutomationMode, s as MemoryAutomationSource, t as Automation, u as parseAutomation } from "./automation-BNM3TtDo.js";
18
+ import { S as toCloudEvent, _ as credentialEvent, a as CatalogFinding, b as signDecisionBatch, c as CloudEventOptions, d as MemoryDecisionSinkOptions, f as RESERVED_CLOUD_EVENT_TYPES, g as cloudEventType, h as automationEvent, i as CatalogEventData, l as CloudEventType, m as accessEvent, n as CLOUDEVENTS_CONTENT_TYPE, o as CatalogFindingCode, p as SignDecisionBatchOptions, r as CLOUD_EVENT_TYPES, s as CloudEvent, t as CLOUDEVENTS_BATCH_CONTENT_TYPE, u as MemoryDecisionSink, v as membershipEvent, x as supportSessionEvent, y as memoryDecisionSink } from "./sink-4-eQIRWf.js";
19
+ import { i as describe, n as DescribeMessages, r as DescribeOptions, t as DecisionDescription } from "./describe-B5qgDvEW.js";
20
20
  import { n as parsePermDockDigest, t as PermDockDigest } from "./digest-B3kc_PgQ.js";
21
- import { t as parseLocalSnapshotManifest } from "./parse-local-manifest-DgqtruPn.js";
22
- export { ACCESS_EVENT_SCHEMA, APPROVAL_POLICY_UNAVAILABLE, AUTOMATION_EVENT_SCHEMA, type AccessEvent, type ActionMeta, type ActivateInput, type ActivationOption, type Actor, type ActorKind, type AdapterId, type AnyOfApprover, type ApiKeyPrincipal, type AppData, type AppDataSchema, type AppObligation, type AppOptions, type AppProfile, type ApprovalEscalation, type ApprovalMode, type ApprovalOption, type ApprovalPolicies, type ApprovalPolicy, type ApprovalPolicyProblem, type ApprovalPolicySource, type ApprovalPolicyValidation, type ApprovalRequiredDecision, type ApprovalRequirement, type ApprovalStage, type Approver, type ApproverInput, type ArazzoFinding, type ArazzoPlan, type ArazzoSimulateInput, type ArazzoStepResult, type Assurance, type AssuranceRequirement, type AuthEvent, type AuthorizationDetail, type Automation, type AutomationDecision, type AutomationEvent, type AutomationMode, type AutomationRequest, type AutomationSource, type Binding, type BreakGlassOptions, type BreakGlassRequirements, type BreakGlassSpec, CATALOG_EVENT_SCHEMA, CLOUDEVENTS_BATCH_CONTENT_TYPE, CLOUDEVENTS_CONTENT_TYPE, CLOUD_EVENT_TYPES, CREDENTIAL_EVENT_SCHEMA, CSV_COLUMNS, type Capability, type CapabilityClaim, type CapabilityConfirmation, type CapabilityInput, type CapabilityOptions, type CapabilityPrincipal, type CapabilityRedeemer, type CatalogEventData, type CatalogFinding, type CatalogFindingCode, type ClientNames, type ClosureContext, type ClosureGrantFn, type CloudEvent, type CloudEventOptions, type CloudEventType, type ComputedRelation, type Condition, type ConditionRef, type ConditionValue, type Credential, type CredentialDecision, type CredentialEvent, type CredentialKind, type CredentialPermission, type CredentialPermissionInput, type CredentialPolicy, type CredentialPolicyViolation, type CredentialRequest, type CredentialVerifier, type CustomRole, type CustomRoleDrop, type CustomRoleDropReason, type CustomRoleGrant, type CustomRoleReader, type CustomRoleRename, type CustomRoleSource, type CustomRoleSourceFactory, type CustomRoleSourceOptions, type CustomRoleValidation, DECISION_EVENT_SCHEMA, DELIVERY_EVENT_SCHEMA, DIRECTORY_EVENT_SCHEMA, type DecideAutomationOptions, type DecideCredentialOptions, type DecideOptions, type DecideSupportSessionOptions, type Decision, type DecisionDescription, type DecisionEvent, type DecisionProvider, type DecisionSink, type Delegation, type DelegationInput, type DelegationTarget, type DeliveryChannel, type DeliveryEvent, type DeliveryFailureCause, type Denial, type DenialDetails, type DenialReason, type DeniedDecision, type DeriveOptions, type DescribeMessages, type DescribeOptions, type DirectoryEvent, EVENT_SCHEMA_IDS, type EdgeGroup, type EdgeGroups, type EdgeMatch, type EdgeRelation, type EmailCategory, type EntitlementSource, type ExplainedDecision, type FieldRelation, type GnapAccess, type Grant, type GrantCondition, type GrantLimit, type GrantMeta, type GrantOptions, type GrantScope, type GrantValidity, type GrantedDecision, type Grantee, type GranteeInput, type Holder, type HoldingVia, type HostedGrant, type HostedGrantDropReason, type HostedGrantDropped, type HostedGrantRef, type InheritGrantee, type InstanceOptions, type JsonSchemaNode, type LegacyCheck, type LimitConsumeInput, type LimitDetail, type LimitRemaining, type LimitStore, type Limits, type LinkPolicy, type LinkPolicyViolation, type LocalCustomRoleTable, type LocalSnapshotManifest, MEMBERSHIP_EVENT_SCHEMA, type MatchedGrant, type MemberEntry, type MemberOfCondition, type MemberOfParent, type Membership, type MembershipEvent, type MembershipFixture, type MembershipSource, type MembershipVia, type MemoryAutomationSource, type MemoryDecisionSink, type MemoryDecisionSinkOptions, type MemoryEdge, type MemoryRelationSourceData, type MetaValue, OCSF_VERSION, OPERATION_RISKS, type Obligation, type ObligationInput, type OcsfAuthorizeSession, type OcsfUserManagement, type Operation, type OperationData, type OperationDefinition, type OperationEffect, type OperationInput, type OperationMap, type OperationMeta, type OperationRisk, type PermDock, PermDockApprovalRequiredError, PermDockDeniedError, type PermDockDigest, type PermDockOptions, type PermDockOverrides, PermDockRevokedError, PermDockValidationError, type PermDockWrap, type Permission, type PermissionApprover, type PermissionKind, type PermissionTree, type PermissionsOptions, type PermittedIdsOptions, type Plan, type PlanTree, type Policy, type PolicyAppDataSchemas, type PolicyDelegation, type PolicyDocument, type PolicyOAuthScope, type PolicyScopes, type PolicyScopesInput, type PolicySource, type Principal, type PrincipalIdentity, type PrincipalIdentityLink, type PrincipalOf, type PrincipalRelation, type PrincipalSource, type ProblemDetails, type Quota, RESERVED_CLOUD_EVENT_TYPES, type RESOURCE_X, type RelatedCondition, type RelatedHop, type RelationChain, type RelationGrantee, type RelationGroup, type RelationHolder, type RelationSource, type RequestContext, type ResolvedCustomRole, type ResourceInit, type ResourceLevel, type ResourceLink, type ResourceMeta, type ResourceNode, type ResourceOptions, type ResourceParent, type ResourceRelation, type ResourceRelationInput, type ResourceRestricted, type ResourceXTree, type RestrictedAncestors, type RevocationEvent, type RevocationFeed, type RevocationListener, type RevokedCode, type Role, type RoleBinding, type RoleChange, type RoleChangeDecision, type RoleChangeOptions, type RoleChangeTarget, type RoleMeta, type RoleOptions, type RoleScope, type RoleTree, type RowPair, SINK_EVENT_SCHEMAS, type Scope, type ScopeDeclaration, type ScopeNames, type SeparationConflict, type SettingsSource, type ShadowMismatch, type ShadowOptions, type SignDecisionBatchOptions, type SignPolicyDocumentOptions, type SignSnapshotOptions, type SimulateOptions, type SinkEvent, type Snapshot, type SnapshotAssignable, type SnapshotForOptions, type SnapshotGrant, type SnapshotNotEntitled, type SnapshotOptions, type SnapshotScope, type SnapshotSource, type SqlFunctionArg, type SqlFunctionCondition, type StripeEntitlementsClient, type Subject, type SubjectOf, type SubjectResolver, type SupportAccessOptions, type SupportConsent, type SupportSession, type SupportSessionDecision, type SupportSessionPolicy, type SupportSessionRequest, type TenantSettings, type TokenFailureCause, type TokenSigner, type TokenVerifier, type Trace, type TraceSkip, type TraceSkipReason, type UserApprover, type ValidateMode, type VerificationFailure, type VerifiedClaims, type VerifiedToken, type Vocabulary, type VocabularyOptions, type WhereCompiler, type WhereResult, type WhoCan, type WireDecision, type WireDenial, type WireValidity, accessEvent, accessToOcsf, activate, actor, allOf, allow, anyOf, anyone, approvalPolicies, arazzoFindings, assurance, authenticated, automationEvent, breakGlass, capabilityFromClaims, catalogFingerprint, claimsFirst, cloudEventType, composeMemberships, context, countHolders, coveredByDelegation, credentialDelegation, credentialEvent, credentialPolicyViolation, crud, customRoleClaim, customRoleSource, decideAutomation, decideCredential, decideRoleChange, decideSupportSession, defineApp, defineOperations, definePermissions, definePlans, definePolicy, defineRoles, delegatedPermissions, deliveryEvent, deny, describe, emptySnapshot, findPermission, findRole, formerKeys, fromSnapshot, getPermDock, getPermDockSync, getResource, hasConditionOp, holder, hostedPolicies, inherit, isCondition, isConditionDate, isConditionRef, isExternallyManaged, isFeedId, isOperationRisk, isPermission, isPlan, isPortableCondition, isRole, isSqlFunctionField, limits, linkPolicyViolation, listPermissions, listPlans, listRoles, localSnapshotManifest, mayAccess, membershipEvent, memoryApprovalPolicySource, memoryAutomationSource, memoryCustomRoleSource, memoryDecisionSink, memoryEntitlementSource, memoryLimitStore, memoryMembershipSource, memoryPolicySource, memoryPrincipalSource, memoryRelationSource, memoryRevocationFeed, memorySettingsSource, memorySnapshotSource, mergeHostedGrants, mergePermissions, normalizeApproval, normalizeAssurance, opaque, parseAutomation, parseCapability, parseCapabilityClaim, parseCatalogEventData, parseCloudEvent, parseCloudEventBatch, parseCredential, parseLocalSnapshotManifest, parsePermDockDigest, parsePolicyDocument, parseSinkEvent, parseSinkEvents, parseSnapshot, parseSupportSession, plan, policyDocumentFromClaims, principal, readable, relation, requiredPlans, requiresApproval, resolveCustomRole, resource, role, separationConflicts, shadowMode, signCapability, signDecisionBatch, signPolicyDocument, signSnapshot, simulateArazzo, snapshotFor, snapshotFromClaims, sqlFunction, stripeEntitlementSource, supportAccess, supportSessionEvent, toCloudEvent, toCsvRow, toOcsf, user, validateApprovalPolicy, validateCustomRole, whoCan, wrapPermDock, writable };
21
+ import { t as parseLocalSnapshotManifest } from "./parse-local-manifest-5ODwqu8b.js";
22
+ export { ACCESS_EVENT_SCHEMA, APPROVAL_POLICY_UNAVAILABLE, AUTOMATION_EVENT_SCHEMA, type AccessEvent, type ActionMeta, type ActivateInput, type ActivationOption, type Actor, type ActorKind, type AdapterId, type AnyOfApprover, type ApiKeyPrincipal, type AppData, type AppDataSchema, type AppObligation, type AppOptions, type AppProfile, type ApprovalEscalation, type ApprovalMode, type ApprovalOption, type ApprovalPolicies, type ApprovalPolicy, type ApprovalPolicyProblem, type ApprovalPolicySource, type ApprovalPolicyValidation, type ApprovalRequiredDecision, type ApprovalRequirement, type ApprovalStage, type Approver, type ApproverInput, type ArazzoFinding, type ArazzoPlan, type ArazzoSimulateInput, type ArazzoStepResult, type Assurance, type AssuranceRequirement, type AuthEvent, type AuthorizationDetail, type Automation, type AutomationDecision, type AutomationEvent, type AutomationMode, type AutomationRequest, type AutomationSource, type Binding, type BreakGlassOptions, type BreakGlassRequirements, type BreakGlassSpec, CATALOG_EVENT_SCHEMA, CLOUDEVENTS_BATCH_CONTENT_TYPE, CLOUDEVENTS_CONTENT_TYPE, CLOUD_EVENT_TYPES, CREDENTIAL_EVENT_SCHEMA, CSV_COLUMNS, type Capability, type CapabilityClaim, type CapabilityConfirmation, type CapabilityInput, type CapabilityOptions, type CapabilityPrincipal, type CapabilityRedeemer, type CatalogEventData, type CatalogFinding, type CatalogFindingCode, type ClientNames, type ClosureContext, type ClosureGrantFn, type CloudEvent, type CloudEventOptions, type CloudEventType, type ComputedRelation, type Condition, type ConditionRef, type ConditionValue, type Credential, type CredentialDecision, type CredentialEvent, type CredentialKind, type CredentialPermission, type CredentialPermissionInput, type CredentialPolicy, type CredentialPolicyViolation, type CredentialRequest, type CredentialVerifier, type CustomRole, type CustomRoleDrop, type CustomRoleDropReason, type CustomRoleGrant, type CustomRoleReader, type CustomRoleRename, type CustomRoleSource, type CustomRoleSourceFactory, type CustomRoleSourceOptions, type CustomRoleValidation, DECISION_EVENT_SCHEMA, DELIVERY_EVENT_SCHEMA, DIRECTORY_EVENT_SCHEMA, type DecideAutomationOptions, type DecideCredentialOptions, type DecideOptions, type DecideSupportSessionOptions, type Decision, type DecisionDescription, type DecisionEvent, type DecisionProvider, type DecisionSink, type Delegation, type DelegationInput, type DelegationTarget, type DeliveryChannel, type DeliveryEvent, type DeliveryFailureCause, type Denial, type DenialDetails, type DenialReason, type DeniedDecision, type DeriveOptions, type DescribeMessages, type DescribeOptions, type DirectoryEvent, EVENT_SCHEMA_IDS, type EdgeGroup, type EdgeGroups, type EdgeMatch, type EdgeRelation, type EmailCategory, type EntitlementSource, type ExplainedDecision, type FieldRelation, type GnapAccess, type Grant, type GrantCondition, type GrantLimit, type GrantMeta, type GrantOptions, type GrantScope, type GrantValidity, type GrantedDecision, type Grantee, type GranteeInput, type Holder, type HoldingVia, type HostedGrant, type HostedGrantDropReason, type HostedGrantDropped, type HostedGrantRef, type InheritGrantee, type InstanceOptions, type JsonSchemaNode, type LegacyCheck, type LimitConsumeInput, type LimitDetail, type LimitRemaining, type LimitStore, type Limits, type LinkPolicy, type LinkPolicyViolation, type LocalCustomRoleTable, type LocalSnapshotManifest, MEMBERSHIP_EVENT_SCHEMA, type MatchedGrant, type MemberEntry, type MemberOfCondition, type MemberOfParent, type Membership, type MembershipEvent, type MembershipFixture, type MembershipSource, type MembershipVia, type MemoryAutomationSource, type MemoryDecisionSink, type MemoryDecisionSinkOptions, type MemoryEdge, type MemoryRelationSourceData, type MetaValue, OCSF_VERSION, OPERATION_RISKS, type Obligation, type ObligationInput, type OcsfAuthorizeSession, type OcsfUserManagement, type Operation, type OperationData, type OperationDefinition, type OperationEffect, type OperationInput, type OperationMap, type OperationMeta, type OperationRisk, type PermDock, PermDockApprovalRequiredError, PermDockDeniedError, type PermDockDigest, type PermDockOptions, type PermDockOverrides, PermDockRevokedError, PermDockValidationError, type PermDockWrap, type Permission, type PermissionApprover, type PermissionKind, type PermissionTree, type PermissionsOptions, type PermittedIdsOptions, type Plan, type PlanTree, type Policy, type PolicyAppDataSchemas, type PolicyDelegation, type PolicyDocument, type PolicyOAuthScope, type PolicyScopes, type PolicyScopesInput, type PolicySource, type Principal, type PrincipalIdentity, type PrincipalIdentityLink, type PrincipalOf, type PrincipalRelation, type PrincipalSource, type ProblemDetails, type Quota, RESERVED_CLOUD_EVENT_TYPES, type RESOURCE_X, type RelatedCondition, type RelatedHop, type RelationChain, type RelationGrantee, type RelationGroup, type RelationHolder, type RelationSource, type RequestContext, type ResolvedCustomRole, type ResourceInit, type ResourceLevel, type ResourceLink, type ResourceMeta, type ResourceNode, type ResourceOptions, type ResourceParent, type ResourceRelation, type ResourceRelationInput, type ResourceRestricted, type ResourceXTree, type RestrictedAncestors, type RevocationEvent, type RevocationFeed, type RevocationListener, type RevokedCode, type Role, type RoleBinding, type RoleChange, type RoleChangeDecision, type RoleChangeOptions, type RoleChangeTarget, type RoleMeta, type RoleOptions, type RoleScope, type RoleTree, type RowPair, SINK_EVENT_SCHEMAS, type Scope, type ScopeDeclaration, type ScopeNames, type SeparationConflict, type SettingsSource, type ShadowMismatch, type ShadowOptions, type SharedCustomRole, type SignDecisionBatchOptions, type SignPolicyDocumentOptions, type SignSnapshotOptions, type SimulateOptions, type SinkEvent, type Snapshot, type SnapshotAssignable, type SnapshotForOptions, type SnapshotGrant, type SnapshotNotEntitled, type SnapshotOptions, type SnapshotScope, type SnapshotSource, type SqlFunctionArg, type SqlFunctionCondition, type StripeEntitlementsClient, type Subject, type SubjectOf, type SubjectResolver, type SupportAccessOptions, type SupportConsent, type SupportSession, type SupportSessionDecision, type SupportSessionPolicy, type SupportSessionRequest, type TenantSettings, type TokenFailureCause, type TokenSigner, type TokenVerifier, type Trace, type TraceSkip, type TraceSkipReason, type UserApprover, type ValidateCustomRoleOptions, type ValidateMode, type VerificationFailure, type VerifiedClaims, type VerifiedToken, type Vocabulary, type VocabularyOptions, type WhereCompiler, type WhereResult, type WhoCan, type WireDecision, type WireDenial, type WireValidity, accessEvent, accessToOcsf, activate, actor, allOf, allow, anyOf, anyone, approvalPolicies, arazzoFindings, assurance, authenticated, automationEvent, breakGlass, capabilityFromClaims, catalogFingerprint, claimsFirst, cloudEventType, composeMemberships, context, countHolders, coveredByDelegation, credentialDelegation, credentialEvent, credentialPolicyViolation, crud, customRoleClaim, customRoleSource, decideAutomation, decideCredential, decideRoleChange, decideSupportSession, defineApp, defineOperations, definePermissions, definePlans, definePolicy, defineRoles, delegatedPermissions, deliveryEvent, deny, describe, emptySnapshot, findPermission, findRole, formerKeys, fromSnapshot, getPermDock, getPermDockSync, getResource, hasConditionOp, holder, hostedPolicies, inherit, isCondition, isConditionDate, isConditionRef, isExternallyManaged, isFeedId, isOperationRisk, isPermission, isPlan, isPortableCondition, isRole, isSqlFunctionField, limits, linkPolicyViolation, listPermissions, listPlans, listRoles, localSnapshotManifest, mayAccess, membershipEvent, memoryApprovalPolicySource, memoryAutomationSource, memoryCustomRoleSource, memoryDecisionSink, memoryEntitlementSource, memoryLimitStore, memoryMembershipSource, memoryPolicySource, memoryPrincipalSource, memoryRelationSource, memoryRevocationFeed, memorySettingsSource, memorySnapshotSource, mergeHostedGrants, mergePermissions, normalizeApproval, normalizeAssurance, opaque, parseAutomation, parseCapability, parseCapabilityClaim, parseCatalogEventData, parseCloudEvent, parseCloudEventBatch, parseCredential, parseLocalSnapshotManifest, parsePermDockDigest, parsePolicyDocument, parseSinkEvent, parseSinkEvents, parseSnapshot, parseSupportSession, plan, policyDocumentFromClaims, principal, readable, relation, requiredPlans, requiresApproval, resolveCustomRole, resource, role, separationConflicts, shadowMode, signCapability, signDecisionBatch, signPolicyDocument, signSnapshot, simulateArazzo, snapshotFor, snapshotFromClaims, sqlFunction, stripeEntitlementSource, supportAccess, supportSessionEvent, toCloudEvent, toCsvRow, toOcsf, user, validateApprovalPolicy, validateCustomRole, whoCan, wrapPermDock, writable };
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { a as hasConditionOp, c as isConditionRef, l as isSqlFunctionField, o as isCondition, r as principal, s as isConditionDate, t as context } from "./refs-K6eWUJ0H.js";
2
- import { _ as opaque, a as deny, f as normalizeApproval, n as role, r as allow, t as normalizeAssurance } from "./role-builder-CXbis5-X.js";
3
- import { A as memorySnapshotSource, C as validateApprovalPolicy, D as memoryEntitlementSource, E as memoryCustomRoleSource, O as memoryMembershipSource, S as memoryApprovalPolicySource, _ as limits, a as readable, b as approvalPolicies, c as customRoleSource, d as defineApp, f as localSnapshotManifest, g as memoryRelationSource, h as signPolicyDocument, i as crud, j as sqlFunction, k as memorySettingsSource, l as mayAccess, m as simulateArazzo, n as toCsvRow, o as writable, p as arazzoFindings, r as decideRoleChange, s as snapshotFor, t as CSV_COLUMNS, u as shadowMode, v as memoryLimitStore, w as defineOperations, y as stripeEntitlementSource } from "./src-DLfUWFAI.js";
2
+ import { _ as opaque, a as deny, f as normalizeApproval, n as role, r as allow, t as normalizeAssurance } from "./role-builder-uWQZ4v84.js";
3
+ import { A as memorySnapshotSource, C as validateApprovalPolicy, D as memoryEntitlementSource, E as memoryCustomRoleSource, O as memoryMembershipSource, S as memoryApprovalPolicySource, _ as limits, a as readable, b as approvalPolicies, c as customRoleSource, d as defineApp, f as localSnapshotManifest, g as memoryRelationSource, h as signPolicyDocument, i as crud, j as sqlFunction, k as memorySettingsSource, l as mayAccess, m as simulateArazzo, n as toCsvRow, o as writable, p as arazzoFindings, r as decideRoleChange, s as snapshotFor, t as CSV_COLUMNS, u as shadowMode, v as memoryLimitStore, w as defineOperations, y as stripeEntitlementSource } from "./src-Cu2m75uo.js";
4
4
  import { a as holder, l as user, n as anyOf, t as allOf } from "./approvers-CqPOLD-o.js";
5
5
  import { n as PermDockValidationError } from "./validation-error-ZfUHbKvf.js";
6
6
  import { r as requiredPlans } from "./problem-details-cn5X30gZ.js";
@@ -12,25 +12,25 @@ import { r as memoryPrincipalSource } from "./principal-source-pHneukrx.js";
12
12
  import { _ as resource, a as getResource, c as listPermissions, h as formerKeys, l as mergePermissions, n as findPermission, o as isPermission } from "./permission-registry-Br4jSNVi.js";
13
13
  import { n as memoryAutomationSource, r as parseAutomation, t as decideAutomation } from "./automation-DVjOckjV.js";
14
14
  import { n as parseSupportSession, t as decideSupportSession } from "./support-session-C6xJQYut.js";
15
- import { i as delegatedPermissions, n as coveredByDelegation } from "./delegation-DaXVdDhM.js";
16
- import { _ as listPlans, a as authenticated, c as plan, f as definePlans, g as isRole, h as isPlan, i as assurance, l as relation, m as findRole, n as anyone, p as defineRoles, s as inherit, t as actor, v as listRoles } from "./grantee-Cn1HyUsI.js";
17
- import { c as separationConflicts, n as definePolicy } from "./policy-DLZJ5gAp.js";
15
+ import { i as delegatedPermissions, n as coveredByDelegation } from "./delegation-j6-rc37o.js";
16
+ import { _ as listPlans, a as authenticated, c as plan, f as definePlans, g as isRole, h as isPlan, i as assurance, l as relation, m as findRole, n as anyone, p as defineRoles, s as inherit, t as actor, v as listRoles } from "./grantee-hxrUsbpM.js";
17
+ import { c as separationConflicts, n as definePolicy } from "./policy-DbM5YYtV.js";
18
18
  import { t as requiresApproval } from "./approval-required-TzNB9oQA.js";
19
- import { a as mergeHostedGrants, i as memoryPolicySource, n as hostedPolicies, o as parsePolicyDocument, r as isPortableCondition, s as policyDocumentFromClaims } from "./hosted-BZIAYvon.js";
19
+ import { a as mergeHostedGrants, i as memoryPolicySource, n as hostedPolicies, o as parsePolicyDocument, r as isPortableCondition, s as policyDocumentFromClaims } from "./hosted-B46-5LYE.js";
20
20
  import { n as OPERATION_RISKS, r as isOperationRisk, t as definePermissions } from "./permissions-B-wCP5ZC.js";
21
- import { D as supportAccess, E as breakGlass, T as activate, d as customRoleClaim, j as APPROVAL_POLICY_UNAVAILABLE, v as resolveCustomRole, x as validateCustomRole } from "./evaluate-_R8QkWaf.js";
22
- import { _ as isExternallyManaged, g as countHolders, h as composeMemberships, m as claimsFirst } from "./instance-snapshot-Cxq4ygFc.js";
23
- import { t as whoCan } from "./who-can-D0QoYbEb.js";
24
- import { n as parseSnapshot } from "./snapshot-CXUWfsNy.js";
25
- import { c as snapshotFromClaims, o as signSnapshot } from "./where-scope-Dv-WTP-w.js";
21
+ import { C as validateCustomRole, D as activate, N as APPROVAL_POLICY_UNAVAILABLE, O as breakGlass, b as resolveCustomRole, d as customRoleClaim, k as supportAccess } from "./evaluate-CNClBvcj.js";
22
+ import { _ as isExternallyManaged, g as countHolders, h as composeMemberships, m as claimsFirst } from "./instance-snapshot-BOEhcqIF.js";
23
+ import { t as whoCan } from "./who-can-DWBAcaCQ.js";
24
+ import { n as parseSnapshot } from "./snapshot-B7DkYg6g.js";
25
+ import { c as snapshotFromClaims, o as signSnapshot } from "./where-scope-C9vfEphl.js";
26
26
  import { t as deliveryEvent } from "./delivery-event-xX4obB8F.js";
27
- import { n as fromSnapshot, t as emptySnapshot } from "./from-snapshot-D2lZt4Dd.js";
27
+ import { n as fromSnapshot, t as emptySnapshot } from "./from-snapshot-CTCMsFZk.js";
28
28
  import { t as parseLocalSnapshotManifest } from "./parse-local-manifest-CVSs6J9I.js";
29
- import { n as getPermDockSync, t as getPermDock } from "./permdock-B9JxkBwC.js";
29
+ import { n as getPermDockSync, t as getPermDock } from "./permdock-BrAscV28.js";
30
30
  import { n as wrapPermDock } from "./wrap-gX61EtpB.js";
31
31
  import { C as EVENT_SCHEMA_IDS, S as DIRECTORY_EVENT_SCHEMA, T as SINK_EVENT_SCHEMAS, _ as AUTOMATION_EVENT_SCHEMA, a as accessEvent, b as DECISION_EVENT_SCHEMA, c as credentialEvent, d as membershipEvent, f as memoryDecisionSink, g as ACCESS_EVENT_SCHEMA, h as toCloudEvent, i as RESERVED_CLOUD_EVENT_TYPES, m as supportSessionEvent, n as CLOUDEVENTS_CONTENT_TYPE, o as automationEvent, p as signDecisionBatch, r as CLOUD_EVENT_TYPES, s as cloudEventType, t as CLOUDEVENTS_BATCH_CONTENT_TYPE, v as CATALOG_EVENT_SCHEMA, w as MEMBERSHIP_EVENT_SCHEMA, x as DELIVERY_EVENT_SCHEMA, y as CREDENTIAL_EVENT_SCHEMA } from "./sink-BEZSlMS_.js";
32
32
  import { a as parseSinkEvent, i as parseCloudEventBatch, n as parseCatalogEventData, o as parseSinkEvents, r as parseCloudEvent, t as catalogFingerprint } from "./catalog-fingerprint-CCP0-yQS.js";
33
33
  import { i as toOcsf, n as accessToOcsf, t as OCSF_VERSION } from "./ocsf-BFp-PZZA.js";
34
34
  import { a as parseCapability, c as signCapability, i as linkPolicyViolation, o as parseCapabilityClaim, t as capabilityFromClaims } from "./capability-N1K9IpqS.js";
35
- import { a as decideCredential, n as credentialPolicyViolation, o as isFeedId, s as parseCredential, t as credentialDelegation } from "./credential-DM2um3ha.js";
35
+ import { a as decideCredential, n as credentialPolicyViolation, o as isFeedId, s as parseCredential, t as credentialDelegation } from "./credential-BcoiejpY.js";
36
36
  export { ACCESS_EVENT_SCHEMA, APPROVAL_POLICY_UNAVAILABLE, AUTOMATION_EVENT_SCHEMA, CATALOG_EVENT_SCHEMA, CLOUDEVENTS_BATCH_CONTENT_TYPE, CLOUDEVENTS_CONTENT_TYPE, CLOUD_EVENT_TYPES, CREDENTIAL_EVENT_SCHEMA, CSV_COLUMNS, DECISION_EVENT_SCHEMA, DELIVERY_EVENT_SCHEMA, DIRECTORY_EVENT_SCHEMA, EVENT_SCHEMA_IDS, MEMBERSHIP_EVENT_SCHEMA, OCSF_VERSION, OPERATION_RISKS, PermDockApprovalRequiredError, PermDockDeniedError, PermDockRevokedError, PermDockValidationError, RESERVED_CLOUD_EVENT_TYPES, SINK_EVENT_SCHEMAS, accessEvent, accessToOcsf, activate, actor, allOf, allow, anyOf, anyone, approvalPolicies, arazzoFindings, assurance, authenticated, automationEvent, breakGlass, capabilityFromClaims, catalogFingerprint, claimsFirst, cloudEventType, composeMemberships, context, countHolders, coveredByDelegation, credentialDelegation, credentialEvent, credentialPolicyViolation, crud, customRoleClaim, customRoleSource, decideAutomation, decideCredential, decideRoleChange, decideSupportSession, defineApp, defineOperations, definePermissions, definePlans, definePolicy, defineRoles, delegatedPermissions, deliveryEvent, deny, describe, emptySnapshot, findPermission, findRole, formerKeys, fromSnapshot, getPermDock, getPermDockSync, getResource, hasConditionOp, holder, hostedPolicies, inherit, isCondition, isConditionDate, isConditionRef, isExternallyManaged, isFeedId, isOperationRisk, isPermission, isPlan, isPortableCondition, isRole, isSqlFunctionField, limits, linkPolicyViolation, listPermissions, listPlans, listRoles, localSnapshotManifest, mayAccess, membershipEvent, memoryApprovalPolicySource, memoryAutomationSource, memoryCustomRoleSource, memoryDecisionSink, memoryEntitlementSource, memoryLimitStore, memoryMembershipSource, memoryPolicySource, memoryPrincipalSource, memoryRelationSource, memoryRevocationFeed, memorySettingsSource, memorySnapshotSource, mergeHostedGrants, mergePermissions, normalizeApproval, normalizeAssurance, opaque, parseAutomation, parseCapability, parseCapabilityClaim, parseCatalogEventData, parseCloudEvent, parseCloudEventBatch, parseCredential, parseLocalSnapshotManifest, parsePermDockDigest, parsePolicyDocument, parseSinkEvent, parseSinkEvents, parseSnapshot, parseSupportSession, plan, policyDocumentFromClaims, principal, readable, relation, requiredPlans, requiresApproval, resolveCustomRole, resource, role, separationConflicts, shadowMode, signCapability, signDecisionBatch, signPolicyDocument, signSnapshot, simulateArazzo, snapshotFor, snapshotFromClaims, sqlFunction, stripeEntitlementSource, supportAccess, supportSessionEvent, toCloudEvent, toCsvRow, toOcsf, user, validateApprovalPolicy, validateCustomRole, whoCan, wrapPermDock, writable };
@@ -1,4 +1,4 @@
1
- import { i as PermDockOptions } from "./permdock-D7eeLJER.js";
1
+ import { i as PermDockOptions } from "./permdock-SV8ZINYT.js";
2
2
  //#region src/core/instance-options.d.ts
3
3
  type InstanceKey = "memberships" | "relations" | "entitlements" | "customRoles" | "policies" | "approvalPolicies" | "sink" | "limits" | "principals";
4
4
  /**
@@ -8,14 +8,14 @@ import { u as isPrincipalRelation } from "./resource-relations-D_jw0BFx.js";
8
8
  import { p as nowSeconds, s as instantAt } from "./time-DkWjdL98.js";
9
9
  import { t as canonicalJson } from "./canonical-json-BC8_nMTw.js";
10
10
  import { c as rootScope, d as scopeList, i as keepsPermission, m as tenantOf, o as resolveScope } from "./scopes-CUPSjo9q.js";
11
- import { a as readOnlyActorRefuses, i as delegatedPermissions, r as coversRequirements } from "./delegation-DaXVdDhM.js";
12
- import { b as synthesiseRole, m as findRole, o as flattenGrantee, v as listRoles, x as treeXSchema, y as sourceRoleMeta } from "./grantee-Cn1HyUsI.js";
11
+ import { a as readOnlyActorRefuses, i as delegatedPermissions, r as coversRequirements } from "./delegation-j6-rc37o.js";
12
+ import { b as synthesiseRole, m as findRole, o as flattenGrantee, v as listRoles, x as treeXSchema, y as sourceRoleMeta } from "./grantee-hxrUsbpM.js";
13
13
  import { c as nowSeconds$1, d as resolveActiveTenant, l as partitionsOf, p as scopeField, r as isMembershipExpired } from "./tenancy-DN2QAx9z.js";
14
- import { a as levelCondition, o as levelNames, r as grantList, t as declaredRoleNames } from "./policy-DLZJ5gAp.js";
14
+ import { a as levelCondition, o as levelNames, r as grantList, t as declaredRoleNames } from "./policy-DbM5YYtV.js";
15
15
  import { t as byCodePoint } from "./compare-pfyVnBjE.js";
16
- import { C as emptyListeners, O as contactMayUse, a as expandRoleNames, b as tenantCustomRoles, h as holdsGlobalCustomRole, l as ceilingGrants, m as holdsCustomRole, n as requirementCondition, p as customRoleScope, t as evaluate, u as customGrantsFor, v as resolveCustomRole, y as roleAllowKeys } from "./evaluate-_R8QkWaf.js";
17
- import { n as matchGrantee, t as combineWhere } from "./grantee-match-DHArqY82.js";
18
- import { t as buildSnapshot } from "./snapshot-CXUWfsNy.js";
16
+ import { A as contactMayUse, S as tenantCustomRoles, T as emptyListeners, _ as isSharedCustomRole, a as expandRoleNames, b as resolveCustomRole, g as holdsGlobalCustomRole, h as holdsCustomRole, l as ceilingGrants, m as customRoleScope, n as requirementCondition, p as customRoleOf, t as evaluate, u as customGrantsFor, x as roleAllowKeys } from "./evaluate-CNClBvcj.js";
17
+ import { n as matchGrantee, t as combineWhere } from "./grantee-match-DbENBHLB.js";
18
+ import { t as buildSnapshot } from "./snapshot-B7DkYg6g.js";
19
19
  //#region src/core/memberships.ts
20
20
  /** Two memberships are the same row when everything but `roles` matches. */
21
21
  function identity(membership) {
@@ -520,7 +520,7 @@ function assignableCustomRoles(policy, customRoles, tenant, declared, mayHandOut
520
520
  const out = /* @__PURE__ */ new Map();
521
521
  const inert = /* @__PURE__ */ new Set();
522
522
  for (const role of tenantCustomRoles(policy, customRoles)) {
523
- if (role.tenant !== tenant || out.has(role.name)) continue;
523
+ if (!customRoleOf(role, tenant) || out.has(role.name)) continue;
524
524
  const at = customRoleScope(role, scopes);
525
525
  if (at === void 0 || assignsAt !== void 0 && !assignsAt.has(at)) continue;
526
526
  const { grants } = resolveCustomRole(policy, role);
@@ -531,11 +531,12 @@ function assignableCustomRoles(policy, customRoles, tenant, declared, mayHandOut
531
531
  if (grants.every((grant) => grant.effect === "deny" || mayHandOut(at, grant))) out.set(role.name, synthesiseRole(role.name, compact({
532
532
  on: at,
533
533
  assignable: true,
534
- meta: sourceRoleMeta(role.meta, treeXSchema(policy.vocabulary?.roles))
534
+ meta: sourceRoleMeta(role.meta, treeXSchema(policy.vocabulary?.roles)),
535
+ shared: isSharedCustomRole(role) ? true : void 0
535
536
  })));
536
537
  }
537
538
  return {
538
- roles: [...out.values()].toSorted((a, b) => byCodePoint(a.key, b.key)),
539
+ roles: [...out.values()].toSorted((a, b) => Number(a.shared !== true) - Number(b.shared !== true) || byCodePoint(a.key, b.key)),
539
540
  inert: [...inert].filter((name) => !out.has(name)).toSorted()
540
541
  };
541
542
  }
@@ -1,7 +1,7 @@
1
- import { Y as JwtClaims, dt as TokenVerifier, ir as Subject, lt as TokenFailureCause, qt as AuthEvent, rr as Principal, ut as TokenSigner } from "../policy-types-DzwivBgR.js";
2
- import { c as LinkPolicy, o as CapabilityPrincipal, t as Capability } from "../capability-BSslw1QV.js";
3
- import { B as JwtAlgorithm, F as DpopProofResult, H as JwtPrincipal, I as IntrospectionPrincipal, L as JoseTokenSignerOptions, P as DiscoveryInput, R as JoseTokenVerifierOptions, U as JwtSubjectOptions, V as JwtJwks, W as MappedSubject, l as ReplayStore, z as JsonWebKeySet } from "../types-DiQjupG2.js";
4
- import { t as memoryReplayStore } from "../replay-D7iKcLFe.js";
1
+ import { Y as JwtClaims, ar as Subject, dt as TokenVerifier, lt as TokenFailureCause, qt as AuthEvent, rr as Principal, ut as TokenSigner } from "../policy-types-n0uRTsW8.js";
2
+ import { c as LinkPolicy, o as CapabilityPrincipal, t as Capability } from "../capability-Drg-1YhL.js";
3
+ import { B as JwtAlgorithm, F as DpopProofResult, H as JwtPrincipal, I as IntrospectionPrincipal, L as JoseTokenSignerOptions, P as DiscoveryInput, R as JoseTokenVerifierOptions, U as JwtSubjectOptions, V as JwtJwks, W as MappedSubject, l as ReplayStore, z as JsonWebKeySet } from "../types-C791HFu9.js";
4
+ import { t as memoryReplayStore } from "../replay-Bkm-Ne4l.js";
5
5
  import { StandardSchemaV1 } from "@standard-schema/spec";
6
6
  //#region src/jwt/capability.d.ts
7
7
  /** `on('auth')` causes: a verification failure, or one of the three capability checks. */
@@ -1,13 +1,13 @@
1
1
  import { t as compact } from "./compact-CAf557ZB.js";
2
2
  import { t as describe } from "./describe-BybMRY7A.js";
3
3
  import { a as deniedMessage } from "./errors-BKy0EfhN.js";
4
- import { t as actorMayCallTool } from "./delegation-DaXVdDhM.js";
4
+ import { t as actorMayCallTool } from "./delegation-j6-rc37o.js";
5
5
  import { n as resourceRef } from "./resource-ref-CaS9yVPi.js";
6
- import { c as withApp } from "./permdock-B9JxkBwC.js";
7
- import { l as storedApprovalToken, s as resumeDecision } from "./helpers-DTcZOzhF.js";
8
- import { n as resolveOrNull } from "./build-instance-BMnAudHn.js";
6
+ import { c as withApp } from "./permdock-BrAscV28.js";
7
+ import { l as storedApprovalToken, s as resumeDecision } from "./helpers-CBYVMjwh.js";
8
+ import { n as resolveOrNull } from "./build-instance-Bu_eDqYw.js";
9
9
  import { n as tenantScope, t as actorFrom } from "./adapter-context-CRhqyzCk.js";
10
- import { n as requestContext, t as buildReportingInstance } from "./request-context-BTRTG7OT.js";
10
+ import { n as requestContext, t as buildReportingInstance } from "./request-context-C81Pip9n.js";
11
11
  //#region src/agent/denied-text.ts
12
12
  /** The hook's text, or `event.text` when there is no hook or it throws or returns no string. */
13
13
  function refusalText(hook, event, report) {
@@ -1,7 +1,7 @@
1
- import { Rt as Instant, ir as Subject, lr as Condition } from "../policy-types-DzwivBgR.js";
2
- import { c as WhereResult } from "../permdock-D7eeLJER.js";
1
+ import { Rt as Instant, ar as Subject, ur as Condition } from "../policy-types-n0uRTsW8.js";
2
+ import { c as WhereResult } from "../permdock-SV8ZINYT.js";
3
3
  import { r as RelationsMapping } from "../graph-sql-B-dsAT6j.js";
4
- import { s as MembershipsMapping } from "../compile-Ckm2HqBZ.js";
4
+ import { s as MembershipsMapping } from "../compile-1bsAezL0.js";
5
5
  import { n as WithSubjectOptions, t as RowCheck } from "../row-check-Dt35czLy.js";
6
6
  //#region src/kysely/types.d.ts
7
7
  type KyselySelectQuery = {
@@ -82,7 +82,7 @@ const SECTIONS = [
82
82
  effects: ["files"],
83
83
  config: true,
84
84
  findings: true,
85
- load: async () => (await import("./doctor-CxiwSfqH.js")).doctor
85
+ load: async () => (await import("./doctor-3ZqNHX_G.js")).doctor
86
86
  }),
87
87
  leaf("completion", "Print the shell completion script for bash, zsh or fish", {
88
88
  examples: ["permdock completion zsh > ~/.zfunc/_permdock", "eval \"$(permdock completion bash)\""],
@@ -90,7 +90,7 @@ const SECTIONS = [
90
90
  effects: [],
91
91
  config: false,
92
92
  shellOutput: true,
93
- load: async () => (await import("./completion-BqhRBJD8.js")).completion
93
+ load: async () => (await import("./completion-BTFrHZhX.js")).completion
94
94
  })
95
95
  ]
96
96
  },
@@ -106,14 +106,14 @@ const SECTIONS = [
106
106
  docs: "collect",
107
107
  effects: ["files"],
108
108
  config: true,
109
- load: async () => (await import("./collect-DloHbDVa.js")).collect
109
+ load: async () => (await import("./collect-Ci6akVwH.js")).collect
110
110
  }),
111
111
  leaf("catalog", "Export the catalog as catalog JSON, JSON Schema or Markdown", {
112
112
  examples: ["permdock catalog --out permissions.catalog.json", "permdock catalog --kind markdown"],
113
113
  docs: "catalog",
114
114
  effects: ["files"],
115
115
  config: true,
116
- load: async () => (await import("./catalog-R_A__RsH.js")).catalog
116
+ load: async () => (await import("./catalog-DZVbrF-z.js")).catalog
117
117
  }),
118
118
  leaf("usage", "Report unused, ungranted and role-less permissions and conditions on undeclared fields", {
119
119
  examples: ["permdock usage", "permdock usage --fail-on warning"],
@@ -121,14 +121,14 @@ const SECTIONS = [
121
121
  effects: [],
122
122
  config: true,
123
123
  findings: true,
124
- load: async () => (await import("./usage-DHtE8j4E.js")).usage
124
+ load: async () => (await import("./usage-CRVl9V3t.js")).usage
125
125
  }),
126
126
  leaf("diff", "Compare two policies or catalogs; exit 1 on a breaking change", {
127
127
  examples: ["permdock diff main.catalog.json permissions.catalog.json", "permdock diff ./old-policy.ts ./src/policy.ts --impact"],
128
128
  docs: "diff",
129
129
  effects: [],
130
130
  config: true,
131
- load: async () => (await import("./diff-CxZo9pTq.js")).diff
131
+ load: async () => (await import("./diff-CmuSD3vc.js")).diff
132
132
  }),
133
133
  leaf("config", "Check permdock.config.ts for unknown keys, or print the effective config", {
134
134
  examples: ["permdock config", "permdock config --print"],
@@ -136,7 +136,7 @@ const SECTIONS = [
136
136
  effects: [],
137
137
  config: true,
138
138
  findings: true,
139
- load: async () => (await import("./config-B46rm9sc.js")).config
139
+ load: async () => (await import("./config-Bj2Ixq3d.js")).config
140
140
  })
141
141
  ]
142
142
  },
@@ -153,14 +153,14 @@ const SECTIONS = [
153
153
  "network"
154
154
  ],
155
155
  config: true,
156
- load: async () => (await import("./rls-BA8an5Ap.js")).generate
156
+ load: async () => (await import("./rls-BAqP4q66.js")).generate
157
157
  }),
158
158
  leaf("import", "Turn existing RLS policies into a generated definition", {
159
159
  examples: ["permdock rls import --sql schema.sql --out src/permissions.generated.ts", "permdock rls import --db-url-stdin --out src/permissions.generated.ts"],
160
160
  docs: "rls",
161
161
  effects: ["files", "database:read"],
162
162
  config: true,
163
- load: async () => (await import("./rls-BA8an5Ap.js")).importPolicies
163
+ load: async () => (await import("./rls-BAqP4q66.js")).importPolicies
164
164
  }),
165
165
  leaf("verify", "Run the fixtures against the policies, or compare a live database", {
166
166
  examples: [
@@ -171,14 +171,14 @@ const SECTIONS = [
171
171
  docs: "rls",
172
172
  effects: ["database:read"],
173
173
  config: true,
174
- load: async () => (await import("./rls-BA8an5Ap.js")).verify
174
+ load: async () => (await import("./rls-BAqP4q66.js")).verify
175
175
  }),
176
176
  leaf("migrate", "Rewrite hand-written policies onto the generated helpers", {
177
177
  examples: ["permdock rls migrate --sql supabase/migrations --dry-run", "permdock rls migrate --sql supabase/migrations"],
178
178
  docs: "rls",
179
179
  effects: ["rewrite", "files"],
180
180
  config: true,
181
- load: async () => (await import("./rls-BA8an5Ap.js")).migrate
181
+ load: async () => (await import("./rls-BAqP4q66.js")).migrate
182
182
  })
183
183
  ]),
184
184
  group("supabase", "Generate the Supabase Custom Access Token Hook, or inspect its manifest", "supabase", [group("hook", "The Custom Access Token Hook", "supabase", [leaf("generate", "Compile the membership sources into the hook migration", {
@@ -186,26 +186,26 @@ const SECTIONS = [
186
186
  docs: "supabase",
187
187
  effects: ["files", "database:read"],
188
188
  config: true,
189
- load: async () => (await import("./supabase-9pqI57pW.js")).hookGenerate
189
+ load: async () => (await import("./supabase-By_frk3U.js")).hookGenerate
190
190
  })]), leaf("inspect", "Print or write the hook and helper manifest", {
191
191
  examples: ["permdock supabase inspect", "permdock supabase inspect --out"],
192
192
  docs: "supabase",
193
193
  effects: ["files"],
194
194
  config: true,
195
- load: async () => (await import("./supabase-9pqI57pW.js")).inspect
195
+ load: async () => (await import("./supabase-By_frk3U.js")).inspect
196
196
  })]),
197
197
  group("powersync", "Generate PowerSync Sync Streams from the policy, or verify them", "powersync", [leaf("generate", "Compile the read grants into sync-config.yaml", {
198
198
  examples: ["permdock powersync generate", "permdock powersync generate --check"],
199
199
  docs: "powersync",
200
200
  effects: ["files"],
201
201
  config: true,
202
- load: async () => (await import("./powersync-BHfuehf3.js")).generate
202
+ load: async () => (await import("./powersync-DISt6SUe.js")).generate
203
203
  }), leaf("verify", "Fail on stale streams or a stream that syncs a denied row", {
204
204
  examples: ["permdock powersync verify", "permdock powersync verify --db-url-stdin"],
205
205
  docs: "powersync",
206
206
  effects: ["database:read"],
207
207
  config: true,
208
- load: async () => (await import("./powersync-BHfuehf3.js")).verify
208
+ load: async () => (await import("./powersync-DISt6SUe.js")).verify
209
209
  })])
210
210
  ]
211
211
  },
@@ -217,13 +217,13 @@ const SECTIONS = [
217
217
  docs: "openapi",
218
218
  effects: ["files"],
219
219
  config: true,
220
- load: async () => (await import("./openapi-ahr8rHu3.js")).emit
220
+ load: async () => (await import("./openapi-C4dDTVEd.js")).emit
221
221
  }), leaf("import", "Turn an OpenAPI document into a generated definition", {
222
222
  examples: ["permdock openapi import --doc openapi.yaml --out src/permissions.generated.ts"],
223
223
  docs: "openapi",
224
224
  effects: ["files", "network"],
225
225
  config: false,
226
- load: async () => (await import("./openapi-ahr8rHu3.js")).importDocument
226
+ load: async () => (await import("./openapi-C4dDTVEd.js")).importDocument
227
227
  })]),
228
228
  group("arazzo", "Check Arazzo workflows against the permissions", "arazzo", [leaf("check", "Resolve every Arazzo step to x-permdock-permissions", {
229
229
  examples: ["permdock arazzo check --doc arazzo.json --openapi openapi.json"],
@@ -231,7 +231,7 @@ const SECTIONS = [
231
231
  effects: [],
232
232
  config: true,
233
233
  findings: true,
234
- load: async () => (await import("./arazzo-B6lebmiQ.js")).check
234
+ load: async () => (await import("./arazzo-41WuzHou.js")).check
235
235
  })]),
236
236
  leaf("scan", "List authorization checks written without PermDock, to adopt it in an existing app", {
237
237
  examples: ["permdock scan", "permdock scan --src app,lib --pattern isBeta"],
@@ -239,7 +239,7 @@ const SECTIONS = [
239
239
  effects: [],
240
240
  config: true,
241
241
  findings: true,
242
- load: async () => (await import("./scan-BOI5tJ-6.js")).scan
242
+ load: async () => (await import("./scan-qvOe0hS3.js")).scan
243
243
  }),
244
244
  group("casl", "Import CASL rules into a generated module", "casl", [leaf("import", "Turn CASL rules per role into a permissions and policy module", {
245
245
  examples: ["permdock casl import --rules rules.json --out src/permissions.generated.ts"],
@@ -286,13 +286,13 @@ const SECTIONS = [
286
286
  docs: "cloud",
287
287
  effects: ["network", "cloud:write"],
288
288
  config: true,
289
- load: async () => (await import("./cloud-CIoHNevm.js")).push
289
+ load: async () => (await import("./cloud-ytQ3uviA.js")).push
290
290
  }), leaf("pull", "Write a Cloud project's published catalog and manifest", {
291
291
  examples: ["permdock cloud pull --project prj_123"],
292
292
  docs: "cloud",
293
293
  effects: ["network", "files"],
294
294
  config: true,
295
- load: async () => (await import("./cloud-CIoHNevm.js")).pull
295
+ load: async () => (await import("./cloud-ytQ3uviA.js")).pull
296
296
  })])
297
297
  ]
298
298
  },
@@ -303,7 +303,7 @@ const SECTIONS = [
303
303
  docs: "codemod",
304
304
  effects: ["rewrite"],
305
305
  config: false,
306
- load: async () => (await import("./codemod-Bmj9dWMH.js")).codemod
306
+ load: async () => (await import("./codemod-5mpSpnUY.js")).codemod
307
307
  })]
308
308
  }
309
309
  ];
@@ -315,7 +315,7 @@ const COMPLETE_LEAF = leaf("__complete", "Print completion candidates for a part
315
315
  config: false,
316
316
  shellOutput: true,
317
317
  hidden: true,
318
- load: async () => (await import("./completion-BqhRBJD8.js")).complete
318
+ load: async () => (await import("./completion-BTFrHZhX.js")).complete
319
319
  });
320
320
  const ROOT = group("permdock", "Collect, export, diff and check the permissions a PermDock policy declares", "", [...SECTIONS.flatMap((section) => section.entries), COMPLETE_LEAF]);
321
321
  /** Each leaf with its path from the root, in manifest order. */
@@ -2,7 +2,7 @@ import { t as compact } from "./compact-CAf557ZB.js";
2
2
  import { n as PermDockValidationError } from "./validation-error-ZfUHbKvf.js";
3
3
  import { n as PermDockDeniedError, r as PermDockRevokedError, t as PermDockApprovalRequiredError } from "./errors-BKy0EfhN.js";
4
4
  import { c as problemResponse, i as decisionResponse } from "./problem-CTviyH5L.js";
5
- import { u as InvalidSignatureError } from "./evaluations-DZ2CbV5k.js";
5
+ import { u as InvalidSignatureError } from "./evaluations-beAooV0n.js";
6
6
  //#region src/server/map-error.ts
7
7
  /**
8
8
  * Turns a thrown PermDock error into its Problem Details response, with the
@@ -1,14 +1,14 @@
1
- import { $n as Delegation, T as Policy, ir as Subject, rr as Principal } from "../policy-types-DzwivBgR.js";
2
- import { w as Permission } from "../vocabulary-D6lPdb4Z.js";
3
- import { m as ApprovalStore } from "../types-CCpc2Dcv.js";
4
- import { t as ApprovalHint } from "../errors-C2PXIv4c.js";
5
- import { t as InstanceOptions } from "../instance-options-Omfd793B.js";
1
+ import { $n as Delegation, T as Policy, ar as Subject, rr as Principal } from "../policy-types-n0uRTsW8.js";
2
+ import { w as Permission } from "../vocabulary-CN8H_9UF.js";
3
+ import { m as ApprovalStore } from "../types-BdtSDbBO.js";
4
+ import { t as ApprovalHint } from "../errors-DH5QEGXh.js";
5
+ import { t as InstanceOptions } from "../instance-options-BsVpyGIk.js";
6
6
  import { t as RequestContext } from "../request-context-C2_1lchh.js";
7
- import { n as PermDockWrap } from "../wrap-Bd1Tejur.js";
8
- import { o as OtelWrap } from "../types-BqAKcRNW.js";
9
- import { n as DeniedTextEvent, t as DeniedText } from "../denied-text-D8jDHgsl.js";
7
+ import { n as PermDockWrap } from "../wrap-C5jC6sKI.js";
8
+ import { o as OtelWrap } from "../types-lUlG3TVd.js";
9
+ import { n as DeniedTextEvent, t as DeniedText } from "../denied-text-CiFQNuMV.js";
10
10
  import { t as ClientNames } from "../clients-C7zLFuWT.js";
11
- import { U as JwtSubjectOptions } from "../types-DiQjupG2.js";
11
+ import { U as JwtSubjectOptions } from "../types-C791HFu9.js";
12
12
  import { CacheHint, Icon, McpServer, PromptCallback, ReadResourceCallback, ReadResourceTemplateCallback, RegisteredPrompt, RegisteredResource, RegisteredResourceTemplate, RegisteredTool, ResourceMetadata, ResourceTemplate, ScopeChallengeHandler, StandardSchemaWithJSON, ToolAnnotations, ToolCallback, Variables } from "@modelcontextprotocol/server";
13
13
  //#region src/mcp/types.d.ts
14
14
  /** The verified `AuthInfo` the MCP SDK's bearer auth puts on `ctx.http.authInfo`. */