permdock 0.16.0 → 0.18.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 (384) hide show
  1. package/dist/a2a/index.d.ts +4 -4
  2. package/dist/a2a/index.js +3 -3
  3. package/dist/{adapter-context-CIQpQxbE.js → adapter-context-OHikyRqV.js} +1 -1
  4. package/dist/{adoption-scan-C2BCiUEG.js → adoption-scan-CxExBYSJ.js} +1 -1
  5. package/dist/agent/index.d.ts +2 -2
  6. package/dist/agent/index.js +1 -1
  7. package/dist/ai-sdk/index.d.ts +3 -3
  8. package/dist/ai-sdk/index.js +3 -3
  9. package/dist/approval-normalize-CUjgSsOl.js +189 -0
  10. package/dist/approval-policies-oNnckT12.d.ts +138 -0
  11. package/dist/{approval-prompt-3BqWczTt.d.ts → approval-prompt-Bg7gDSqd.d.ts} +1 -1
  12. package/dist/approvals/index.d.ts +5 -4
  13. package/dist/approvals/index.js +7 -6
  14. package/dist/{approvals-DnIBTuXE.js → approvals-DGId_hgJ.js} +3 -3
  15. package/dist/{approvers-B4r0N_Uz.js → approvers-BaNwKYgd.js} +20 -1
  16. package/dist/{arazzo-ClYz2Z0W.js → arazzo--riLuGY0.js} +4 -4
  17. package/dist/{arazzo-CHoYnQXO.js → arazzo-CEDbb-uM.js} +2 -2
  18. package/dist/{args-0FrVs5EH.js → args-iafbHiXn.js} +2 -5
  19. package/dist/astro/index.d.ts +4 -4
  20. package/dist/astro/index.js +2 -2
  21. package/dist/{audience-DTjR8xet.js → audience-B4YR9UpV.js} +1 -1
  22. package/dist/{auth--yPyZNgr.js → auth-j3Eu-j4h.js} +1 -1
  23. package/dist/authz-topic-Dbc-HDOS.js +15 -0
  24. package/dist/authzen/index.d.ts +5 -5
  25. package/dist/authzen/index.js +2 -2
  26. package/dist/{automation-C6Jg75xq.d.ts → automation-Bfa_wD1h.d.ts} +1 -1
  27. package/dist/better-auth/index.d.ts +1 -1
  28. package/dist/better-auth/index.js +10 -8
  29. package/dist/better-supabase/index.d.ts +335 -38
  30. package/dist/better-supabase/index.js +778 -117
  31. package/dist/{better-supabase-Dirf_8Ec.js → better-supabase-BJtQ-kNf.js} +26 -10
  32. package/dist/{bind-BNQA9JK9.js → bind-B4pMH9bm.js} +6 -6
  33. package/dist/{bind-YYjvfpB9.d.ts → bind-DR6ku3A9.d.ts} +7 -7
  34. package/dist/{budget-BELja5A9.js → budget-BBCPDOGP.js} +1 -1
  35. package/dist/{budget-hYsPz_yE.d.ts → budget-CNLsV2SL.d.ts} +1 -1
  36. package/dist/{build-instance-BWXqwQYU.js → build-instance-BFMFQdE_.js} +3 -2
  37. package/dist/{capability-Di9tiUvi.d.ts → capability-BZ_veK9o.d.ts} +1 -1
  38. package/dist/{capability-BqX94r07.js → capability-zN6T9fxe.js} +2 -3
  39. package/dist/{casbin-D_rVQ31U.js → casbin-DCQHkkyj.js} +2 -2
  40. package/dist/{casbin-C9EvElBb.js → casbin-bKC1FpEx.js} +2 -2
  41. package/dist/{casl-C4OINZHI.js → casl-CjBVJj8R.js} +2 -2
  42. package/dist/{casl-CHHoCldP.js → casl-CkBssiB1.js} +1 -1
  43. package/dist/catalog/index.d.ts +5 -5
  44. package/dist/catalog/index.js +7 -7
  45. package/dist/catalog-Caqhbdix.js +1 -0
  46. package/dist/{catalog-CGlSwU6j.js → catalog-D1fw8qif.js} +5 -5
  47. package/dist/{catalog-doc-DjMKzJp9.js → catalog-doc-C4DGfJCO.js} +3 -3
  48. package/dist/{catalog-operations-DeHTrJSV.js → catalog-operations-BD22drQf.js} +4 -4
  49. package/dist/{catalog-amPDr0JQ.js → catalog-zzNuR3sY.js} +3 -3
  50. package/dist/{challenge-DImNcR7B.js → challenge-B2O2OLEk.js} +2 -2
  51. package/dist/chat/index.d.ts +1 -1
  52. package/dist/chat/index.js +2 -2
  53. package/dist/chat-sdk/index.d.ts +3 -3
  54. package/dist/{checks-CGkP3Z7A.js → checks-fyDOhcz0.js} +33 -1
  55. package/dist/claude-agent/index.d.ts +3 -3
  56. package/dist/claude-agent/index.js +2 -2
  57. package/dist/clerk/index.d.ts +2 -2
  58. package/dist/clerk/index.js +10 -7
  59. package/dist/cli/bin.js +1 -1
  60. package/dist/cli/index.d.ts +5 -5
  61. package/dist/cli/index.js +3 -3
  62. package/dist/client-CH7vzSAY.d.ts +32 -0
  63. package/dist/cloud/index.d.ts +8 -8
  64. package/dist/cloud/index.js +1 -1
  65. package/dist/{cloud-DdaJ7ILM.js → cloud-C0vXBmLG.js} +4 -4
  66. package/dist/{codemod-B1USJS7a.js → codemod-C-L0w-u7.js} +3 -3
  67. package/dist/{codemod-ammy6wv4.js → codemod-eYI1FbeJ.js} +395 -8
  68. package/dist/{collect-DnXL4B8c.js → collect-CU85z6Ta.js} +4 -4
  69. package/dist/{collect-WCl8cJQV.js → collect-D878zLDP.js} +4 -4
  70. package/dist/collect-KCtOigxx.js +1 -0
  71. package/dist/compile/index.d.ts +1 -1
  72. package/dist/compile/index.js +1 -1
  73. package/dist/{compile-EzEMB-7v.js → compile-B_oJqmIg.js} +4 -4
  74. package/dist/{compile-BEklRUYo.d.ts → compile-DBm0ub4p.d.ts} +2 -2
  75. package/dist/{completion--Y4YItFZ.js → completion-Dauc6pVT.js} +3 -3
  76. package/dist/{config-CcLlvEYW.js → config-COHmivz9.js} +4 -4
  77. package/dist/{config-BQ77xMZk.js → config-DWp2PucY.js} +2 -2
  78. package/dist/{config-report-DVMOLJ7F.js → config-report-DKpFm5ID.js} +2 -2
  79. package/dist/{context-BnIzxTNE.js → context-DeammvFl.js} +2 -2
  80. package/dist/convex/index.d.ts +4 -4
  81. package/dist/convex/index.js +3 -3
  82. package/dist/{core-lxoANyai.js → core-B8sLve3z.js} +7 -7
  83. package/dist/{core-CFepFiDP.d.ts → core-D87h2kpR.d.ts} +2 -2
  84. package/dist/{create-BLPKnJKa.js → create-3A7J9KRR.js} +6 -5
  85. package/dist/{create-CDd9c22W.d.ts → create-BrQXL-Wt.d.ts} +6 -6
  86. package/dist/{create-BPUopdfL.d.ts → create-BzwjZuRS.d.ts} +7 -7
  87. package/dist/{create-Coq5fIrq.js → create-C-tm3KIF.js} +5 -5
  88. package/dist/{create-DBvUsgzK.d.ts → create-CtoT1lIQ.d.ts} +4 -4
  89. package/dist/{credential-CyyyvCsL.js → credential-B3Hj4puZ.js} +4 -3
  90. package/dist/{credentials-CdDxp7jN.js → credentials-dkycUsY3.js} +1 -1
  91. package/dist/decision-CaG5_eNJ.js +21 -0
  92. package/dist/{delegation-CDB6_keF.js → delegation-aK4T_5WU.js} +3 -3
  93. package/dist/delivery/index.d.ts +4 -4
  94. package/dist/delivery/index.js +1 -1
  95. package/dist/{denied-text-DHldhVUv.d.ts → denied-text-DlIxt8fh.d.ts} +1 -1
  96. package/dist/{describe-BbFPBSms.d.ts → describe-BKtC_8PG.d.ts} +1 -1
  97. package/dist/{describe-Bb4hGK5d.js → describe-BZAlPHxT.js} +2 -1
  98. package/dist/{diff-DfmYaIhB.js → diff-BnNHqtHj.js} +8 -8
  99. package/dist/{diff-CxtbOi2l.js → diff-CBCzOTWM.js} +2 -2
  100. package/dist/{doctor-D1Xnmy6u.js → doctor-CkYKCuX7.js} +233 -30
  101. package/dist/{doctor-CwYc2lJb.js → doctor-xUpR5rXg.js} +3 -3
  102. package/dist/drizzle/index.d.ts +3 -3
  103. package/dist/drizzle/index.js +1 -1
  104. package/dist/elysia/index.d.ts +4 -4
  105. package/dist/elysia/index.js +3 -3
  106. package/dist/{errors-Vpu6rKHl.js → errors-BhRkoNS7.js} +0 -2
  107. package/dist/{errors-BIM4MFsJ.d.ts → errors-TpzkEKgJ.d.ts} +1 -1
  108. package/dist/{evaluate-BAmf_AQd.js → evaluate-Czbj7thS.js} +18 -15
  109. package/dist/{evaluations-DOWuBpWv.d.ts → evaluations-CisTTURl.d.ts} +3 -3
  110. package/dist/{evaluations-IBceAeKT.js → evaluations-h3KoJAPa.js} +3 -22
  111. package/dist/eve/index.d.ts +4 -4
  112. package/dist/eve/index.js +3 -3
  113. package/dist/express/index.d.ts +4 -4
  114. package/dist/express/index.js +3 -3
  115. package/dist/fastify/index.d.ts +4 -4
  116. package/dist/fastify/index.js +3 -3
  117. package/dist/{fetch-adapter-BIbBAtPZ.d.ts → fetch-adapter-BdmfnbJM.d.ts} +2 -2
  118. package/dist/{fetch-adapter-dPTgJVHd.js → fetch-adapter-DH-NJPbL.js} +2 -2
  119. package/dist/{fields-DI8s3cPl.js → fields-CrjL6A49.js} +3 -3
  120. package/dist/{files-B3AA05f1.js → files-CfiRtQ-m.js} +1 -1
  121. package/dist/{fixtures-Bm4_K1ke.js → fixtures-Cemqurt8.js} +10 -4
  122. package/dist/{flags-DXjoTVbS.js → flags-BlmpmXoY.js} +2 -2
  123. package/dist/{from-snapshot-DCakWRsr.js → from-snapshot-DMlSSo9b.js} +14 -12
  124. package/dist/{gen-DwgCSC6V.js → gen-BEIN-DRM.js} +2 -2
  125. package/dist/{gen-DuAhghDw.js → gen-mf-MRwVr.js} +9 -9
  126. package/dist/{generate-CRVV5V7l.js → generate-BqkZq8Dr.js} +2 -2
  127. package/dist/{grantee-conditions-BrYPe-w0.js → grantee-conditions-DX4K_gGI.js} +1 -1
  128. package/dist/{grantee-match-7RZZvoT_.js → grantee-match-BP-k4vRJ.js} +2 -2
  129. package/dist/h3/index.d.ts +4 -4
  130. package/dist/h3/index.js +3 -3
  131. package/dist/{helpers-DJicaG6f.js → helpers-DmqGy63f.js} +85 -13
  132. package/dist/hono/index.d.ts +4 -4
  133. package/dist/hono/index.js +3 -3
  134. package/dist/{hosted-DVxlLZMe.d.ts → hosted-BFNXwcjd.d.ts} +1 -1
  135. package/dist/{hosted-D0IzESu_.js → hosted-waouw2V-.js} +12 -10
  136. package/dist/{http-DOL33cO0.js → http-DhMWeB_h.js} +1 -1
  137. package/dist/{import-CNBF96hB.js → import-C1XXpG_m.js} +4 -4
  138. package/dist/{import-Dfe2unKO.js → import-DObwEota.js} +3 -3
  139. package/dist/{index-BinlXeU-.d.ts → index-BhnOOnp9.d.ts} +2 -2
  140. package/dist/{index-ymept53A.d.ts → index-CVGio3cH.d.ts} +4 -4
  141. package/dist/{index-DJwEgYzA.d.ts → index-CdMOd-GY.d.ts} +17 -11
  142. package/dist/{index-Cay5-Kvx.d.ts → index-CdUTE6qd.d.ts} +11 -10
  143. package/dist/{index-Dj2qF9VC.d.ts → index-Dfv9Toct.d.ts} +1 -1
  144. package/dist/{index-CV-7DWeD.d.ts → index-rFp6X_QP.d.ts} +4 -4
  145. package/dist/index.d.ts +18 -16
  146. package/dist/index.js +24 -20
  147. package/dist/{init-BUo2G-FI.js → init-CNJ8lLjo.js} +5 -5
  148. package/dist/{init-C6cWP3xW.js → init-DS3PEsCG.js} +5 -5
  149. package/dist/{instance-options-CoHn-0e8.d.ts → instance-options-2sFGSdsf.d.ts} +2 -2
  150. package/dist/{instance-snapshot-DuWf1cT3.js → instance-snapshot-BWa71my8.js} +15 -12
  151. package/dist/jwt/index.d.ts +4 -4
  152. package/dist/jwt/index.js +3 -3
  153. package/dist/{kernel-BD8QuMnv.js → kernel-30Z2zM_d.js} +10 -10
  154. package/dist/kysely/index.d.ts +3 -3
  155. package/dist/kysely/index.js +1 -1
  156. package/dist/{load-DjSU5KXO.js → load-BaEamml-.js} +1 -1
  157. package/dist/load-CjnlPxpL.js +1 -0
  158. package/dist/{login-D1MHOomI.js → login-BgK5Jloo.js} +4 -4
  159. package/dist/{login-DCKE5pVy.js → login-DUVzBLh7.js} +4 -4
  160. package/dist/{manifest-BXTbHNIV.js → manifest-BdzBobNK.js} +1 -1
  161. package/dist/{manifest-schema-DQkBK2Mr.js → manifest-schema-CsFsYLF-.js} +1 -1
  162. package/dist/{manifest-Cft51TLK.js → manifest-wclLWBVH.js} +37 -37
  163. package/dist/{map-claims-C-nv08_n.js → map-claims-PQwHynxV.js} +25 -11
  164. package/dist/{map-error-pasIGqMT.js → map-error-BH16Ah8P.js} +1 -1
  165. package/dist/mcp/index.d.ts +8 -8
  166. package/dist/mcp/index.js +9 -9
  167. package/dist/{migrate-BJHxQqT5.js → migrate-BbY5-Khy.js} +4 -4
  168. package/dist/{module-values-B1EVTkHP.js → module-values-B8tNIxdd.js} +2 -2
  169. package/dist/nest/index.d.ts +4 -4
  170. package/dist/nest/index.js +3 -3
  171. package/dist/next/index.d.ts +45 -13
  172. package/dist/next/index.js +68 -30
  173. package/dist/next/plugin.d.ts +1 -1
  174. package/dist/next/plugin.js +2 -2
  175. package/dist/node/index.d.ts +4 -4
  176. package/dist/node/index.js +2 -2
  177. package/dist/openai/index.d.ts +4 -4
  178. package/dist/openai/index.js +3 -3
  179. package/dist/openapi/index.d.ts +2 -2
  180. package/dist/{openapi-BwWkHxvW.js → openapi-C4gFqeRz.js} +4 -4
  181. package/dist/{openapi-DSzQN7Zu.js → openapi-zMEB9qxn.js} +5 -5
  182. package/dist/{operation-findings-CXtFzlKJ.js → operation-findings-CVwJHEu_.js} +1 -1
  183. package/dist/operation-risks-BKOcTv8J.js +13 -0
  184. package/dist/operations-Bm9HFecz.js +89 -0
  185. package/dist/orpc/index.d.ts +5 -5
  186. package/dist/orpc/index.js +3 -3
  187. package/dist/otel/index.d.ts +3 -3
  188. package/dist/otel/index.js +1 -1
  189. package/dist/{output-DlICTjBh.js → output-BFWLER4r.js} +1 -1
  190. package/dist/output-files-BYscrQl-.js +1 -0
  191. package/dist/{output-files-BIQ_9pIs.js → output-files-CM0BnH05.js} +1 -1
  192. package/dist/{ownership-qqBuGJXr.js → ownership-D-mIt-w0.js} +6 -6
  193. package/dist/{parse-1_ZheTW5.js → parse-UTC-sDrt.js} +2 -2
  194. package/dist/{parse-local-manifest-DEiCF4ah.js → parse-local-manifest-CxcSMQgl.js} +2 -2
  195. package/dist/{parse-local-manifest-CCmbhnxP.d.ts → parse-local-manifest-DvjTQNuO.d.ts} +1 -1
  196. package/dist/{parse-request-CwCZpyjV.js → parse-request-DOBVaeiQ.js} +1 -1
  197. package/dist/pdp/index.d.ts +3 -3
  198. package/dist/pdp/index.js +3 -3
  199. package/dist/{peer-Q0fuZ6hx.js → peer-BuK9F53f.js} +1 -1
  200. package/dist/{peer-C9LvBCcb.js → peer-n-swIV4H.js} +1 -1
  201. package/dist/{permdock-BvjivVb9.js → permdock-D-_WrdKu.js} +205 -102
  202. package/dist/{permdock-CprAPN3w.d.ts → permdock-ffY4CMd9.d.ts} +101 -131
  203. package/dist/{permissions-CYcHj_w7.js → permissions-B3ggI88M.js} +2 -2
  204. package/dist/{permissions-CVXmRILq.js → permissions-BaoLxy66.js} +1 -13
  205. package/dist/{pg-DQTqRrou.js → pg-Ddxsd5ZB.js} +2 -2
  206. package/dist/{policy-BycVKnXv.d.ts → policy-BtKSApSt.d.ts} +1 -1
  207. package/dist/{policy-CLQ8__GF.js → policy-cV_wwPb8.js} +5 -4
  208. package/dist/{policy-from-catalog-CU3An8uP.js → policy-from-catalog-B68hGC0S.js} +9 -8
  209. package/dist/{policy-types-DGIO_gxq.d.ts → policy-types-D-GwfQTc.d.ts} +72 -19
  210. package/dist/{postgrest-DAxFltvO.js → postgrest-BrjrckDG.js} +74 -19
  211. package/dist/{postgrest-D5nUGm-c.d.ts → postgrest-D84p5dbA.d.ts} +12 -7
  212. package/dist/{powersync-CBhTBhG2.js → powersync-9PYOE1wt.js} +158 -21
  213. package/dist/{powersync-DAfo0EL5.js → powersync-DStC_g0B.js} +3 -3
  214. package/dist/powersync-xNRlC4jN.js +1 -0
  215. package/dist/preset/index.js +1 -1
  216. package/dist/{preset-BjLzeFpp.js → preset-pPrVyGU5.js} +74 -7
  217. package/dist/prisma/index.d.ts +2 -2
  218. package/dist/prisma/index.js +1 -1
  219. package/dist/{protected-action-QEA8arRB.js → protected-action-B40tU3yP.js} +15 -5
  220. package/dist/{protected-action-D8x73IGm.d.ts → protected-action-Ds_EUY8B.d.ts} +14 -7
  221. package/dist/{protected-action-DUYqb-Ma.js → protected-action-OpOxtTsN.js} +1 -1
  222. package/dist/{provider-C55OGXJ7.js → provider-CY4TSSJo.js} +2 -2
  223. package/dist/{provider-DfLeek9O.d.ts → provider-OtnIiFWm.d.ts} +1 -1
  224. package/dist/{provider-store-CaTv00tr.js → provider-store-BQP_pp8s.js} +2 -2
  225. package/dist/{pull-CQCGy1gv.js → pull-DLP4I1Kl.js} +7 -7
  226. package/dist/pull-UBjDnf4b.js +1 -0
  227. package/dist/{push-Dq_ca4-j.js → push-BSb8j1EW.js} +8 -8
  228. package/dist/{pushed-policy-CDuOL2de.js → pushed-policy-BecMsTtM.js} +1 -1
  229. package/dist/{pushed-policy-CryQheKq.d.ts → pushed-policy-Ck3FZcoy.d.ts} +1 -1
  230. package/dist/react/index.d.ts +8 -8
  231. package/dist/react/index.js +6 -6
  232. package/dist/react/provider-client.d.ts +1 -1
  233. package/dist/react/provider-client.js +1 -1
  234. package/dist/react-native/index.d.ts +104 -39
  235. package/dist/react-native/index.js +199 -40
  236. package/dist/refresh-on-L9UOwATg.d.ts +49 -0
  237. package/dist/{replay-Bs9Df2fQ.d.ts → replay-E5X9E1lC.d.ts} +1 -1
  238. package/dist/{request-context-Duzdf0cd.js → request-context-DM6_jY1n.js} +2 -2
  239. package/dist/{request-schema-DhX7UbfQ.js → request-schema-CMP8Cmxd.js} +5 -0
  240. package/dist/resend/index.d.ts +4 -4
  241. package/dist/{resolve-names-Y1Cb22cp.js → resolve-names-CBl4r4_r.js} +6 -6
  242. package/dist/{rls-tHu7N_Pe.js → rls-DGBL-jDY.js} +20 -20
  243. package/dist/{rls-C5ZGzR_B.js → rls-pAHGYgTb.js} +4 -4
  244. package/dist/{role-builder-BK2-T6oD.js → role-builder-CMW4wWzn.js} +3 -157
  245. package/dist/{rpc-vHIwyXCp.js → rpc-KwX_Jcxz.js} +2 -2
  246. package/dist/{run-DUq1xU4K.js → run-B7lv3NuK.js} +8 -40
  247. package/dist/run-UPbacxPg.js +1 -0
  248. package/dist/{run-ticket-DfnZCh-u.js → run-ticket-CjvXr6wj.js} +1 -1
  249. package/dist/{run-ticket-ylovhyFQ.d.ts → run-ticket-DPaD27_r.d.ts} +2 -2
  250. package/dist/{runtime-BGnrOkVH.js → runtime-rf0ZuyF3.js} +1 -1
  251. package/dist/{saas-DK4V-3Is.js → saas-B8H1MsQ3.js} +13 -10
  252. package/dist/{scan-C3HRH9Fs.js → scan-0r3OZqqK.js} +1 -1
  253. package/dist/{schema-DvXvxPhQ.js → schema-B_9tXrbG.js} +1 -1
  254. package/dist/{schema-BOJjqlWL.js → schema-CuX70xgH.js} +15 -2
  255. package/dist/scim/index.d.ts +1 -1
  256. package/dist/scim/index.js +1 -1
  257. package/dist/{scim-jJBJ7g1Z.js → scim-C30QBBoF.js} +2 -1
  258. package/dist/{scim-D8YupzX1.js → scim-CovliQUg.js} +2 -2
  259. package/dist/{scopes-0Up_UA2t.js → scopes-BSdYaGHs.js} +9 -40
  260. package/dist/server/index.d.ts +11 -11
  261. package/dist/server/index.js +8 -8
  262. package/dist/{server-3cVlTLde.js → server-D0PW6ZCw.js} +2 -2
  263. package/dist/{server-types-CyRN0-Cd.d.ts → server-types-3OnXjZ2D.d.ts} +8 -8
  264. package/dist/{shared-l0oGGetg.js → shared-BRmCJxDK.js} +2 -2
  265. package/dist/{shared-DrGLwM3s.js → shared-DyYVEjKC.js} +2 -2
  266. package/dist/{sink-B5zoUW_O.d.ts → sink-ogbVkyeo.d.ts} +2 -2
  267. package/dist/{skills-Celu2W6v.js → skills-B4MPRxQd.js} +2 -2
  268. package/dist/{skills-B2qTbaQa.js → skills-C9sTD70r.js} +2 -2
  269. package/dist/{snapshot-CXlzi69u.js → snapshot-DN_8J27z.js} +6 -2
  270. package/dist/{snapshot-cache-BjAWkchD.d.ts → snapshot-cache-B4YvlGG_.d.ts} +20 -6
  271. package/dist/{snapshot-cache-Bx_4xC_6.js → snapshot-cache-B66h7FBK.js} +25 -8
  272. package/dist/solid/index.d.ts +7 -7
  273. package/dist/solid/index.js +6 -6
  274. package/dist/solid-start/index.d.ts +4 -4
  275. package/dist/solid-start/index.js +3 -3
  276. package/dist/{sources-oB1Hg1Fm.d.ts → sources-xdQShLDU.d.ts} +1 -1
  277. package/dist/{src-C_pi2Rnh.js → src-Brzq_0in.js} +193 -128
  278. package/dist/ssf/index.d.ts +3 -3
  279. package/dist/ssf/index.js +1 -1
  280. package/dist/{standard-webhooks-DOYEuOLx.d.ts → standard-webhooks-BfPaZ6T1.d.ts} +2 -2
  281. package/dist/{types-tQB2CEnY.d.ts → store-DYeB-_U3.d.ts} +114 -113
  282. package/dist/{store-RNFvaJJv.js → store-DmVqy74I.js} +13 -7
  283. package/dist/{store-options-Dil3lraY.js → store-options--zWn48PK.js} +76 -7
  284. package/dist/{stores-DxZWDXCs.js → stores-BYFopOm1.js} +3 -3
  285. package/dist/{stores-DZJvxFIZ.d.ts → stores-EPul_8MN.d.ts} +5 -6
  286. package/dist/{stream-9y9qw51m.d.ts → stream-W2RuUYly.d.ts} +1 -1
  287. package/dist/{subject-BGoM5o8B.js → subject-C7RddW0G.js} +8 -1
  288. package/dist/supabase/client.d.ts +2 -0
  289. package/dist/supabase/client.js +21 -0
  290. package/dist/supabase/index.d.ts +37 -6
  291. package/dist/supabase/index.js +6 -5
  292. package/dist/supabase/middleware.d.ts +8 -7
  293. package/dist/supabase/middleware.js +6 -6
  294. package/dist/{supabase-CDHMsDD0.js → supabase-BiViJpQ4.js} +31 -8
  295. package/dist/{supabase-DYWnT800.js → supabase-CogTyJH2.js} +3 -3
  296. package/dist/supabase-hook-BN46IrVI.js +1 -0
  297. package/dist/{supabase-hook-HPgwYb9V.js → supabase-hook-DX38Hj8h.js} +393 -32
  298. package/dist/{supautils-SwE642N1.js → supautils-BGf6zRvM.js} +12 -12
  299. package/dist/svelte/index.d.ts +7 -7
  300. package/dist/svelte/index.js +8 -8
  301. package/dist/svelte/runtime.d.ts +3 -3
  302. package/dist/svelte/runtime.js +3 -3
  303. package/dist/svelte/source.d.ts +7 -7
  304. package/dist/svelte/source.js +5 -5
  305. package/dist/sveltekit/index.d.ts +4 -4
  306. package/dist/sveltekit/index.js +2 -2
  307. package/dist/{tables-DimBcVWY.js → tables-BfOk0ymL.js} +7 -7
  308. package/dist/tanstack-start/index.d.ts +4 -4
  309. package/dist/tanstack-start/index.js +2 -2
  310. package/dist/{tenancy-5d1zVBvK.js → tenancy-DvOHHk3-.js} +1 -1
  311. package/dist/terminal/index.d.ts +5 -5
  312. package/dist/terminal/index.js +6 -6
  313. package/dist/testing/core.d.ts +1 -1
  314. package/dist/testing/core.js +1 -1
  315. package/dist/testing/fixtures/index.d.ts +1 -1
  316. package/dist/testing/fixtures/index.js +2 -2
  317. package/dist/testing/index.d.ts +29 -22
  318. package/dist/testing/index.js +120 -48
  319. package/dist/testing/saas/index.d.ts +3 -3
  320. package/dist/testing/saas/index.js +2 -2
  321. package/dist/testing/saas/permissions.js +1 -1
  322. package/dist/token-D6pWn8Uj.d.ts +11 -0
  323. package/dist/{token-DC9EQiet.js → token-DaMnIU9O.js} +24 -8
  324. package/dist/{tool-refusal-Qpjs_W6M.js → tool-refusal-D4spOJ7I.js} +1 -1
  325. package/dist/trpc/index.d.ts +5 -5
  326. package/dist/trpc/index.js +3 -3
  327. package/dist/{type-helpers-c7Xo_2Cu.d.ts → type-helpers-i1EJ3Eb1.d.ts} +1 -1
  328. package/dist/{types-Cklw5hJo.d.ts → types-3Y8UpFkF.d.ts} +40 -1
  329. package/dist/{types-DlelvQk4.d.ts → types-B8qUkGja.d.ts} +2 -2
  330. package/dist/{types-CN0LsqbK.d.ts → types-CCEeSCMB.d.ts} +3 -3
  331. package/dist/{types-B2efzoSX.d.ts → types-CDVXR6YD.d.ts} +1 -1
  332. package/dist/{types-DsHGPtkR.d.ts → types-Ck1KOfug.d.ts} +2 -2
  333. package/dist/{types-DLvhVm1r.d.ts → types-CqcsNCaN.d.ts} +16 -7
  334. package/dist/{types-BB-zWDcR.d.ts → types-D-JO7lh8.d.ts} +5 -5
  335. package/dist/{types-CEinc15V.d.ts → types-D19MK4t-.d.ts} +3 -4
  336. package/dist/{types-B6ExllNo.d.ts → types-DGf_cpKF.d.ts} +2 -2
  337. package/dist/{types-rCRV4Ge-.d.ts → types-DmbfLu2p.d.ts} +4 -4
  338. package/dist/{types-ZzRGoViD.d.ts → types-NYoj8JBm.d.ts} +2 -2
  339. package/dist/{types-CWBsAwqn.d.ts → types-o1vu6Ks3.d.ts} +4 -4
  340. package/dist/unplugin/index.d.ts +1 -1
  341. package/dist/unplugin/index.js +2 -2
  342. package/dist/usage-Cl5eb-e1.js +1 -0
  343. package/dist/{usage-CPXeuAdT.js → usage-DC0UKe6C.js} +6 -6
  344. package/dist/{usage-CfZCQd0F.js → usage-DYtRVkcN.js} +2 -2
  345. package/dist/{validation-error-uvp-kyfO.d.ts → validation-error-Dx8PipbO.d.ts} +1 -1
  346. package/dist/{verify-DfT0QYNh.js → verify-Bpj0hauG.js} +19 -19
  347. package/dist/{version-cache-Df11C2Qp.d.ts → version-cache-DzNKWiI6.d.ts} +9 -3
  348. package/dist/{views-CD8wuL4Z.js → views-MWmJ6Y4P.js} +1 -1
  349. package/dist/vue/index.d.ts +7 -7
  350. package/dist/vue/index.js +6 -6
  351. package/dist/{waiter-CqUKX6CY.d.ts → waiter-NK_UuZbb.d.ts} +2 -2
  352. package/dist/{watch-DAkjm75Y.js → watch-CBHADqBH.js} +3 -3
  353. package/dist/watch-OYwAPCzx.js +1 -0
  354. package/dist/webmcp/index.d.ts +1 -1
  355. package/dist/webmcp/index.js +1 -1
  356. package/dist/{where-scope-DlCdCM_8.js → where-scope-BKrqUDVk.js} +5 -5
  357. package/dist/{who-can-BoDJm0Nc.js → who-can-KhVWMxtf.js} +4 -4
  358. package/dist/workflow/index.d.ts +3 -3
  359. package/dist/workflow/index.js +5 -4
  360. package/dist/workflow-sdk/index.d.ts +4 -4
  361. package/dist/{wrap-DxXB54Wu.d.ts → wrap-BHGA-SMM.d.ts} +2 -2
  362. package/dist/{wrap-B2wziJI_.js → wrap-C5PWzgkq.js} +1 -1
  363. package/package.json +8 -5
  364. package/schemas/approval-request-v1.json +5 -0
  365. package/schemas/catalog-v1.json +18 -2
  366. package/schemas/cli-result-v1.json +0 -2
  367. package/schemas/snapshot-v1.json +9 -0
  368. package/schemas/supabase-manifest-v1.json +1 -1
  369. package/skills/permdock-approvals/SKILL.md +8 -8
  370. package/skills/permdock-approvals/references/stores-and-resume.md +7 -3
  371. package/skills/permdock-audit/SKILL.md +1 -1
  372. package/skills/permdock-wire/references/adapters.md +3 -1
  373. package/dist/action-result-BcudBQOF.d.ts +0 -19
  374. package/dist/catalog-D3oS2GH3.js +0 -1
  375. package/dist/collect-D-eroIfV.js +0 -1
  376. package/dist/load-Dm0pSYH3.js +0 -1
  377. package/dist/output-files-BHOIlrfD.js +0 -1
  378. package/dist/powersync-0QVP_DuR.js +0 -1
  379. package/dist/pull-CCAChKuy.js +0 -1
  380. package/dist/renames-CGj7YwcQ.js +0 -175
  381. package/dist/run-C5P3x1EI.js +0 -1
  382. package/dist/supabase-hook-qsewAVZY.js +0 -1
  383. package/dist/usage-DmmO_xjJ.js +0 -1
  384. package/dist/watch-CuPz0D2M.js +0 -1
@@ -1,149 +1,98 @@
1
- import { $n as Quota, G as CustomRoleSource, J as DecisionSink, Jn as ExplainedDecision, K as CustomRoleSourceFactory, Qn as Obligation, T as Policy, Un as Decision, Wt as Instant, X as Intent, Xn as LimitDetail, Y as EntitlementSource, Zt as Snapshot, _ as GrantLimit, br as Condition, et as LimitStore, fr as Membership, h as Grant, hr as Subject, i as ApprovalOption, j as PolicyVocabulary, lr as Delegation, mt as TokenSigner, nt as MembershipSource, on as DecisionEvent, ot as RelationSource, pr as Principal, rn as AuthEvent, rr as Actor, st as SettingsSource, vn as Scope, vr as AdapterId } from "./policy-types-DGIO_gxq.js";
1
+ import { $t as Snapshot, E as Policy, K as CustomRoleSource, Kt as Instant, M as PolicyVocabulary, Qn as ExplainedDecision, Sr as AdapterId, X as EntitlementSource, Y as DecisionSink, Z as Intent, _r as Principal, bn as Scope, cn as DecisionEvent, ct as SettingsSource, er as LimitDetail, gr as Membership, gt as TokenSigner, nr as Obligation, pr as Delegation, q as CustomRoleSourceFactory, qn as Decision, rr as Quota, rt as MembershipSource, sr as Actor, st as RelationSource, tt as LimitStore, v as GrantLimit, wr as Condition, yr as Subject } from "./policy-types-D-GwfQTc.js";
2
2
  import { D as RowOf, M as AppData, b as ResourceNode, u as Permission } from "./permission-types-CAY-GU7e.js";
3
3
  import { a as RoleTree, n as PlanTree, r as Role } from "./vocabulary-DEJ5j4mR.js";
4
- import { i as OperationEffect, s as OperationMeta, t as Operation, u as OperationRisk } from "./operations-Ci_rT6Uo.js";
5
- import { a as HostedPolicies } from "./hosted-DVxlLZMe.js";
6
- //#region src/core/approval-policies.d.ts
4
+ import { t as Operation } from "./operations-Ci_rT6Uo.js";
5
+ import { t as ApprovalPolicies } from "./approval-policies-oNnckT12.js";
6
+ import { a as HostedPolicies } from "./hosted-BFNXwcjd.js";
7
+ //#region src/core/checks.d.ts
7
8
  /**
8
- * One approval requirement kept as data, for a tenant or the whole platform. It
9
- * adds to what the code requires and never removes a requirement.
9
+ * One check of `canAll` or `decideAll`: a permission alone, or with the row it
10
+ * is checked on.
10
11
  */
11
- type ApprovalPolicy = {
12
- /**
13
- * The permission key; a former key from `renamed` resolves. Absent: every
14
- * permission, which needs `risk` or `effects`.
15
- */
16
- readonly permission?: string;
17
- /**
18
- * Matches an operation call whose `meta.risk` is one of these; a call that
19
- * names no operation never matches.
20
- */
21
- readonly risk?: readonly OperationRisk[];
22
- /**
23
- * Matches an operation call whose `meta.effects` includes one of these; a
24
- * call that names no operation never matches.
25
- */
26
- readonly effects?: readonly OperationEffect[];
27
- /** Absent: every tenant. */
28
- readonly tenant?: string;
29
- /**
30
- * Actor kinds it applies to (`['agent']`); absent: every call. A call without
31
- * an actor never matches a list.
32
- */
33
- readonly actors?: readonly string[];
34
- /**
35
- * A portable condition over the row; instance permissions only, since a
36
- * collection action has no row.
37
- */
38
- readonly where?: Condition;
39
- /** A portable condition over the call's input (the proposed row). */
40
- readonly check?: Condition;
41
- /**
42
- * The same shape as `allow(..., { approval })`. An `escalation` here widens
43
- * only this entry's stages, never the code's.
44
- */
45
- readonly approval: ApprovalOption;
12
+ type PermissionCheck = Permission | readonly [permission: Permission, data?: unknown];
13
+ /** One entry of `getPermissions`: plain JSON, safe across a cache boundary. */
14
+ type PermissionState = {
15
+ readonly allowed: boolean;
16
+ readonly outcome: Decision["outcome"];
17
+ /** The first denial's reason; absent unless `outcome` is `denied`. */
18
+ readonly reason?: string;
46
19
  };
47
- /**
48
- * Data-driven approval requirements, a subject input like `CustomRoleSource`:
49
- * read once per instance for the subject's tenants (entries without a tenant
50
- * always apply). A throw, a rejected promise or an invalid entry denies every
51
- * call an allow would otherwise permit.
52
- */
53
- type ApprovalPolicySource = {
54
- /** Names the implementation in errors and events. */
55
- readonly name?: string;
56
- approvalPoliciesFor: (query: {
57
- readonly tenants: readonly string[];
58
- }) => readonly ApprovalPolicy[] | Promise<readonly ApprovalPolicy[]>;
20
+ //#endregion
21
+ //#region src/core/instance-cache.d.ts
22
+ type InstanceCacheStats = {
23
+ /** Instances and source answers built or read. */
24
+ readonly builds: number;
25
+ /** Calls answered by a build already in flight. */
26
+ readonly shared: number;
27
+ /** Calls answered from an entry. */
28
+ readonly hits: number;
29
+ readonly evictions: number;
30
+ readonly size: number;
59
31
  };
60
32
  /**
61
- * The denial detail when an `ApprovalPolicySource` fails: every call an allow
62
- * would grant denies with reason `approval`.
63
- */
64
- /**
65
- * The in-process `ApprovalPolicySource`, usable directly as the
66
- * `approvalPolicies` option: it is the source and its feature at once.
33
+ * The key of one cached instance: who it serves, at which authorization
34
+ * version, for which tenant and intent. `parts` holds everything else that
35
+ * shapes the instance (the claims, the request scope); it is hashed.
67
36
  */
68
- declare function memoryApprovalPolicySource(policies: readonly ApprovalPolicy[]): ApprovalPolicySource & ApprovalPolicies;
69
- /** An entry checked against the policy and ready to match. */
70
- type LoadedApprovalPolicy = {
71
- readonly permission?: string;
72
- readonly risk?: ReadonlySet<OperationRisk>;
73
- readonly effects?: ReadonlySet<OperationEffect>;
37
+ type InstanceCacheKey = {
38
+ readonly principal: string;
39
+ readonly version: number;
74
40
  readonly tenant?: string;
75
- readonly actors?: ReadonlySet<string>;
76
- readonly where?: Condition;
77
- readonly check?: Condition;
78
- readonly approval: NonNullable<Grant["approval"]>;
41
+ readonly intent: "read" | "write";
42
+ readonly parts: unknown;
79
43
  };
80
- /** `"failed"`: the source threw or returned something that cannot be applied. */
81
- /** What `tightenApproval` reads besides the code's approval. */
82
- type TightenInput = Parameters<typeof tightenApproval>[2];
83
- /**
84
- * Approval policies loaded for an instance: the tightening the evaluator
85
- * applies to each allow, or `"failed"` when the source threw or returned an
86
- * invalid entry (every allow then denies).
87
- */
88
- type LoadedApprovalPolicies = {
89
- readonly tighten: (code: Grant["approval"], input: TightenInput) => Grant["approval"];
90
- } | "failed";
91
44
  /**
92
- * Approval policies kept as data, as an instance option: `approvalPolicies:
93
- * approvalPolicies(source)`. The loading and tightening code ships only with an
94
- * app that imports this function.
45
+ * Instances shared across requests: a subject at a known authorization version
46
+ * gets the instance built for it, until `maxAgeMs` passes or `evict` drops it.
47
+ * An instance whose version is unknown is never cached.
95
48
  */
96
- type ApprovalPolicies = {
97
- readonly feature: "approval-policies";
98
- readonly load: (policy: Policy, tenants: readonly string[], auth: AuthEvent[]) => LoadedApprovalPolicies | Promise<LoadedApprovalPolicies>;
49
+ type InstanceCache = {
50
+ readonly name?: string;
51
+ /** The longest an instance, a custom role or an entitlement is reused. */
52
+ readonly maxAgeMs: number;
53
+ /**
54
+ * The instance for `key`: a stored one, the build in flight, or `build()`. A
55
+ * rejected build is not stored.
56
+ */
57
+ instance: <T>(key: InstanceCacheKey, owners: readonly unknown[], build: () => Promise<T>) => Promise<T>;
58
+ /**
59
+ * `source` with every answer kept for `maxAgeMs`, keyed by its arguments.
60
+ * With `of`, the answers are keyed by `of.owner` and `of.principal` instead
61
+ * of `source`, so the new source a `CustomRoleSourceFactory` returns per
62
+ * subject reuses them, and `evict(of.principal)` drops them.
63
+ */
64
+ customRoles: (source: CustomRoleSource, of?: CustomRoleOwner) => CustomRoleSource;
65
+ /** `source` with every answer kept for `maxAgeMs`, per principal and tenant. */
66
+ entitlements: (source: EntitlementSource) => EntitlementSource;
67
+ /**
68
+ * Drops `principal`'s instances, entitlements and the answers of custom-role
69
+ * sources cached for it.
70
+ */
71
+ evict: (principal: string) => void;
72
+ stats: () => InstanceCacheStats;
99
73
  };
100
- declare function approvalPolicies(source: ApprovalPolicySource): ApprovalPolicies;
101
- /**
102
- * Why an `ApprovalPolicy` entry does not load. `unknown-permission`: the policy
103
- * declares no such key (the entry applies to nothing). `invalid`: a field has
104
- * the wrong shape or the approval option does not normalise.
105
- * `where-on-collection`: `where` reads a row, which a collection action never
106
- * has, so the entry could never match; use `check` over the input.
107
- * `stale-on-without-version`: `staleOn` needs an instance permission whose
108
- * resource declares `version`.
109
- */
110
- type ApprovalPolicyProblem = "unknown-permission" | "invalid" | "where-on-collection" | "stale-on-without-version";
111
- type ApprovalPolicyValidation = {
112
- readonly ok: true;
113
- } | {
114
- readonly ok: false;
115
- readonly problem: ApprovalPolicyProblem;
74
+ /** The factory and principal a per-subject custom-role source belongs to. */
75
+ type CustomRoleOwner = {
76
+ readonly owner: object;
77
+ readonly principal: string;
78
+ };
79
+ type InstanceCacheOptions = {
80
+ /** Entries kept; the least recently used goes first. Default 10,000. */
81
+ readonly maxEntries?: number;
82
+ /**
83
+ * Milliseconds an entry is reused: the longest a custom-role or entitlement
84
+ * change waits to reach an instance. Default 5,000; clamped to 0 to 60,000.
85
+ */
86
+ readonly maxAgeMs?: number;
87
+ /** Epoch milliseconds. */
88
+ readonly now?: () => number;
116
89
  };
117
90
  /**
118
- * Checks one entry against the policy the way `approvalPoliciesFor` loads it,
119
- * for an application to refuse a bad entry when it is saved instead of finding
120
- * every call denied. Never throws.
121
- */
122
- declare function validateApprovalPolicy(policy: Policy, entry: unknown): ApprovalPolicyValidation;
123
- /**
124
- * `code` with every matching entry added as further stages: the result needs
125
- * all of them (`'sequential'` when any part is ordered), keeps the code's
126
- * escalation, the shortest `ttl`, and `distinct` unless every part opts out.
127
- * Without a matching entry, `code` unchanged.
128
- */
129
- declare function tightenApproval(code: Grant["approval"], entries: readonly LoadedApprovalPolicy[], input: {
130
- readonly permission: string;
131
- readonly tenant: string | undefined;
132
- readonly subject: Subject;
133
- readonly current: unknown;
134
- readonly next: unknown;
135
- readonly now: number;
136
- readonly scopes: readonly Scope[];
137
- /** The meta of the operation the call decides, when it names one. */
138
- readonly operation?: OperationMeta | undefined;
139
- }): Grant["approval"];
140
- //#endregion
141
- //#region src/core/checks.d.ts
142
- /**
143
- * One check of `canAll` or `decideAll`: a permission alone, or with the row it
144
- * is checked on.
91
+ * An in-process `InstanceCache`: a bounded LRU that shares builds in flight.
92
+ * Create it once at module scope and pass it as `instances` to every adapter of
93
+ * the app; adapters with the same sources and policy share entries.
145
94
  */
146
- type PermissionCheck = Permission | readonly [permission: Permission, data?: unknown];
95
+ declare function instanceCache(options?: InstanceCacheOptions): InstanceCache;
147
96
  //#endregion
148
97
  //#region src/core/limits.d.ts
149
98
  declare function memoryLimitStore(): LimitStore & {
@@ -325,6 +274,13 @@ type DecideOptions = {
325
274
  * arguments. Never read when deciding.
326
275
  */
327
276
  readonly args?: unknown;
277
+ /**
278
+ * The `approvalFingerprint` of the exact operation the call runs. An
279
+ * `approval-required` token binds it, the request records it, and resuming
280
+ * under another fingerprint denies with `approval-fingerprint-mismatch`.
281
+ * Never read when deciding.
282
+ */
283
+ readonly fingerprint?: string;
328
284
  /**
329
285
  * The application's own data for the decision event (a request id, a route).
330
286
  * Plain JSON; a value that is not is dropped. Never read when deciding.
@@ -602,6 +558,14 @@ type PermDockOptions = {
602
558
  * handlers, never for a mutation.
603
559
  */
604
560
  readonly intent?: Intent;
561
+ /**
562
+ * The principal's authorization version this request already read, such as
563
+ * `bsb.bootstrap()`'s `authz_ver`: the memberships source's `version` is not
564
+ * called. Anything but a non-negative integer is ignored.
565
+ */
566
+ readonly version?: {
567
+ readonly known: number;
568
+ };
605
569
  readonly customRoles?: CustomRoleSource | CustomRoleSourceFactory;
606
570
  /**
607
571
  * Plans and seats from billing, merged into `principal.plans` for the active
@@ -645,6 +609,12 @@ type PermDockOptions = {
645
609
  * into `subject.context`; keys from `policy.context` win on a clash.
646
610
  */
647
611
  readonly context?: Readonly<Record<string, unknown>>;
612
+ /**
613
+ * Reuses the instance built for a subject at a known authorization version
614
+ * across requests, until the version moves or `maxAgeMs` passes: one
615
+ * `instanceCache()` at module scope. `getPermDockSync` ignores it.
616
+ */
617
+ readonly instances?: InstanceCache;
648
618
  };
649
619
  /**
650
620
  * The instance for `user`, built synchronously. Every input must answer
@@ -659,4 +629,4 @@ declare function getPermDockSync<TUser, TPrincipal extends Principal = Principal
659
629
  */
660
630
  declare function getPermDock<TUser, TPrincipal extends Principal = Principal, V extends PolicyVocabulary = PolicyVocabulary>(policy: Policy<TUser, TPrincipal, V>, user: TUser | Subject | null, options?: PermDockOptions): Promise<PermDock<V>>;
661
631
  //#endregion
662
- export { memoryApprovalPolicySource as A, PermissionCheck as C, ApprovalPolicySource as D, ApprovalPolicyProblem as E, ApprovalPolicyValidation as O, memoryLimitStore as S, ApprovalPolicy as T, PrincipalSource as _, PermDock as a, Limits as b, RowPair as c, UncheckedData as d, WhereResult as f, PrincipalIdentityLink as g, PrincipalIdentity as h, LoadedRows as i, validateApprovalPolicy as j, approvalPolicies as k, SimulateOptions as l, getPermDockSync as m, DecideOptions as n, PermDockOptions as o, getPermDock as p, DeriveOptions as r, RowData as s, DecideIdsOptions as t, SnapshotOptions as u, memoryPrincipalSource as v, ApprovalPolicies as w, limits as x, PermittedIdsOptions as y };
632
+ export { PermissionState as A, CustomRoleOwner as C, InstanceCacheStats as D, InstanceCacheOptions as E, instanceCache as O, memoryLimitStore as S, InstanceCacheKey as T, PrincipalSource as _, PermDock as a, Limits as b, RowPair as c, UncheckedData as d, WhereResult as f, PrincipalIdentityLink as g, PrincipalIdentity as h, LoadedRows as i, PermissionCheck as k, SimulateOptions as l, getPermDockSync as m, DecideOptions as n, PermDockOptions as o, getPermDock as p, DeriveOptions as r, RowData as s, DecideIdsOptions as t, SnapshotOptions as u, memoryPrincipalSource as v, InstanceCache as w, limits as x, PermittedIdsOptions as y };
@@ -1,7 +1,7 @@
1
- import { c as crud } from "./src-C_pi2Rnh.js";
1
+ import { c as crud } from "./src-Brzq_0in.js";
2
2
  import { v as resource } from "./permission-registry-B8tYxPIt.js";
3
3
  import { f as definePlans, p as defineRoles } from "./grantee-Dke-9rd1.js";
4
- import { t as definePermissions } from "./permissions-CVXmRILq.js";
4
+ import { t as definePermissions } from "./permissions-BaoLxy66.js";
5
5
  //#region src/testing/saas/schema.ts
6
6
  function accepts(kind, value) {
7
7
  switch (kind) {
@@ -1,18 +1,6 @@
1
1
  import { n as freezeDeep } from "./freeze-jjan0lCv.js";
2
2
  import { d as attachRegistry, p as walk, r as formerByKey, t as assertKeys } from "./permission-registry-B8tYxPIt.js";
3
3
  import { r as assertGraphTargets } from "./resource-relations-8-pCScBO.js";
4
- //#region src/core/operation-risks.ts
5
- /** Every `meta.risk` level, lowest first. */
6
- const OPERATION_RISKS = Object.freeze([
7
- "low",
8
- "medium",
9
- "high",
10
- "critical"
11
- ]);
12
- function isOperationRisk(value) {
13
- return OPERATION_RISKS.some((risk) => risk === value);
14
- }
15
- //#endregion
16
4
  //#region src/core/permissions.ts
17
5
  function definePermissions(input, options) {
18
6
  const registry = /* @__PURE__ */ new Map();
@@ -27,4 +15,4 @@ function definePermissions(input, options) {
27
15
  return freezeDeep(attachRegistry(tree, registry, leaves));
28
16
  }
29
17
  //#endregion
30
- export { OPERATION_RISKS as n, isOperationRisk as r, definePermissions as t };
18
+ export { definePermissions as t };
@@ -1,5 +1,5 @@
1
- import { n as CliError } from "./errors-Vpu6rKHl.js";
2
- import { i as requirePeer } from "./peer-Q0fuZ6hx.js";
1
+ import { n as CliError } from "./errors-BhRkoNS7.js";
2
+ import { i as requirePeer } from "./peer-BuK9F53f.js";
3
3
  //#region src/cli/pg.ts
4
4
  const CONNECT_TIMEOUT_MS = 1e4;
5
5
  const STATEMENT_TIMEOUT_MS = 6e4;
@@ -1,4 +1,4 @@
1
- import { T as Policy, hr as Subject, pr as Principal } from "./policy-types-DGIO_gxq.js";
1
+ import { E as Policy, _r as Principal, yr as Subject } from "./policy-types-D-GwfQTc.js";
2
2
  import { c as saasPlans, l as saasRoles, s as saasPermissions } from "./permissions-Bx6UI8n1.js";
3
3
  //#region src/testing/saas/policy.d.ts
4
4
  /** Daily API-key quota per subject; the bucket should be per tenant too. */
@@ -1,16 +1,17 @@
1
1
  import { t as compact } from "./compact-CAf557ZB.js";
2
2
  import { n as freezeDeep } from "./freeze-jjan0lCv.js";
3
- import { c as withGrantSchema, d as assertApprovalVersions, i as completeGrant, o as flattenGrants, p as normalizeWhere, s as flattenPermissions, u as assertApprovalRelations } from "./role-builder-BK2-T6oD.js";
3
+ import { c as withGrantSchema, i as completeGrant, l as normalizeWhere, o as flattenGrants, s as flattenPermissions } from "./role-builder-CMW4wWzn.js";
4
4
  import { c as listPermissions, i as getRegistry, m as annotationsFor, n as findPermission, s as isRegistryTree } from "./permission-registry-B8tYxPIt.js";
5
5
  import { d as isSelfParented, l as isFieldRelation } from "./resource-relations-8-pCScBO.js";
6
6
  import { t as canonicalJson } from "./canonical-json-DwilZ1iB.js";
7
7
  import { r as sha256Digest } from "./sha256-C-4WXKIu.js";
8
- import { n as defineScopes, s as resolveScope } from "./scopes-0Up_UA2t.js";
8
+ import { n as defineScopes, s as resolveScope } from "./scopes-BSdYaGHs.js";
9
9
  import { o as flattenGrantee, r as asGrantee, v as listRoles } from "./grantee-Dke-9rd1.js";
10
+ import { i as assertApprovalVersions, r as assertApprovalRelations } from "./approval-normalize-CUjgSsOl.js";
10
11
  import { n as normalizeValidity } from "./validity-Buc7w8E9.js";
11
12
  import { t as byCodePoint } from "./compare-DTfyUunF.js";
12
- import { a as relationStart, i as relationHops, n as isGraphRelation, t as inheritCondition } from "./grantee-conditions-BrYPe-w0.js";
13
- import { a as memberOfFields, p as scopeField, u as relatesTo } from "./tenancy-5d1zVBvK.js";
13
+ import { a as relationStart, i as relationHops, n as isGraphRelation, t as inheritCondition } from "./grantee-conditions-DX4K_gGI.js";
14
+ import { a as memberOfFields, p as scopeField, u as relatesTo } from "./tenancy-DvOHHk3-.js";
14
15
  //#region src/core/policy-assertions.ts
15
16
  function assertParentGraph(resources) {
16
17
  for (const node of resources.values()) {
@@ -1,17 +1,18 @@
1
1
  import { r as isRecord, t as compact } from "./compact-CAf557ZB.js";
2
2
  import { n as freezeDeep } from "./freeze-jjan0lCv.js";
3
- import { p as normalizeWhere } from "./role-builder-BK2-T6oD.js";
3
+ import { l as normalizeWhere } from "./role-builder-CMW4wWzn.js";
4
4
  import { n as PermDockValidationError } from "./validation-error-CYg2kJEw.js";
5
5
  import { i as getRegistry, n as findPermission, v as resource } from "./permission-registry-B8tYxPIt.js";
6
- import { n as defineScopes } from "./scopes-0Up_UA2t.js";
6
+ import { n as defineScopes } from "./scopes-BSdYaGHs.js";
7
7
  import { f as definePlans, p as defineRoles } from "./grantee-Dke-9rd1.js";
8
+ import { o as readWireApproval } from "./approval-normalize-CUjgSsOl.js";
8
9
  import { r as readWireValidity } from "./validity-Buc7w8E9.js";
9
- import { a as indexPolicy, f as normalizeDelegation } from "./policy-CLQ8__GF.js";
10
- import { o as isPortableCondition } from "./hosted-D0IzESu_.js";
11
- import { t as definePermissions } from "./permissions-CVXmRILq.js";
10
+ import { a as indexPolicy, f as normalizeDelegation } from "./policy-cV_wwPb8.js";
11
+ import { o as isPortableCondition } from "./hosted-waouw2V-.js";
12
+ import { t as definePermissions } from "./permissions-BaoLxy66.js";
12
13
  import { n as copyJson, t as checkSchema } from "./json-schema-BPGa-RjQ.js";
13
- import { t as parseCatalog } from "./parse-1_ZheTW5.js";
14
- import { n as parsePushedPolicy } from "./pushed-policy-CDuOL2de.js";
14
+ import { t as parseCatalog } from "./parse-UTC-sDrt.js";
15
+ import { n as parsePushedPolicy } from "./pushed-policy-BecMsTtM.js";
15
16
  //#region src/catalog/json-schema-validator.ts
16
17
  const ANNOTATIONS = /* @__PURE__ */ new Set([
17
18
  "$schema",
@@ -292,7 +293,7 @@ function buildGrant(tree, raw) {
292
293
  role: raw.role,
293
294
  where,
294
295
  check: condition(raw.check, `grant '${raw.permission}' check`, raw.portable !== false),
295
- approval: raw.approval,
296
+ approval: readWireApproval(raw.approval),
296
297
  portable: raw.portable !== false,
297
298
  limit: raw.limit,
298
299
  fields: raw.fields,
@@ -193,7 +193,7 @@ type ActorKind = OpenUnion<"mcp-client" | "oauth-client" | "support" | "imperson
193
193
  * The adapter a decision event names: a PermDock entry, or an integrator's own
194
194
  * adapter.
195
195
  */
196
- type AdapterId = OpenUnion<"server" | "next" | "hono" | "express" | "fastify" | "elysia" | "nest" | "node" | "h3" | "sveltekit" | "astro" | "solid-start" | "tanstack-start" | "trpc" | "orpc" | "supabase-middleware" | "convex" | "authzen" | "mcp" | "a2a" | "agent" | "ai-sdk" | "claude-agent" | "openai" | "eve" | "terminal" | "webmcp" | "workflow" | "chat" | "delivery">;
196
+ type AdapterId = OpenUnion<"server" | "next" | "hono" | "express" | "fastify" | "elysia" | "nest" | "node" | "h3" | "sveltekit" | "astro" | "solid-start" | "tanstack-start" | "trpc" | "orpc" | "supabase-middleware" | "better-supabase" | "convex" | "authzen" | "mcp" | "a2a" | "agent" | "ai-sdk" | "claude-agent" | "openai" | "eve" | "terminal" | "webmcp" | "workflow" | "chat" | "delivery">;
197
197
  /**
198
198
  * How a membership was obtained (`membership.via`); `viaOnly` and support rules
199
199
  * match it by equality.
@@ -289,10 +289,6 @@ type Membership = {
289
289
  * conditions or RLS, and never written into token claims.
290
290
  */
291
291
  readonly x?: AppData;
292
- /** Input only: an instance of the first scope. */
293
- readonly tenant?: string;
294
- /** Input only: an instance of the second scope, inside `tenant`. */
295
- readonly team?: string;
296
292
  };
297
293
  /**
298
294
  * One permission a custom role adds or removes. It names a declared permission
@@ -595,6 +591,11 @@ type ApprovalRequiredDecision = {
595
591
  readonly grant: MatchedGrant;
596
592
  readonly reason: "human";
597
593
  readonly token: string;
594
+ /**
595
+ * The `fingerprint` the call passed, bound into `token`; the request it opens
596
+ * records it, and a resume under another fingerprint is refused.
597
+ */
598
+ readonly fingerprint?: string;
598
599
  /** Present only with `explain: true`. */
599
600
  readonly trace?: Trace;
600
601
  };
@@ -690,6 +691,16 @@ type PermissionApprover = {
690
691
  readonly kind: "permission";
691
692
  readonly permission: string;
692
693
  };
694
+ /**
695
+ * The requester's manager, or anyone up the chain within `levels` (default 1),
696
+ * read from the `manager` relation on the requester's `user` record. Checked
697
+ * only through verdict facts (`ApprovalVerdict.relations`) that the handler
698
+ * reads from its `RelationSource`.
699
+ */
700
+ type ManagerApprover = {
701
+ readonly kind: "manager";
702
+ readonly levels?: number;
703
+ };
693
704
  /**
694
705
  * An approver who matches at least one item; an item that is a list matches
695
706
  * when every entry does.
@@ -701,11 +712,11 @@ type AnyOfApprover = {
701
712
  /**
702
713
  * Who may approve: a subject-only grantee, a `relation()` the approver holds on
703
714
  * the requested row (checked when the verdict is given), `user(id)`,
704
- * `holder(permission)`, or `anyOf(...)`. A list (or `allOf(...)`) matches an
705
- * approver who satisfies every item.
715
+ * `holder(permission)`, `manager()`, or `anyOf(...)`. A list (or `allOf(...)`)
716
+ * matches an approver who satisfies every item.
706
717
  */
707
- type Approver = Grantee | UserApprover | PermissionApprover | AnyOfApprover;
708
- type ApproverInput = GranteeInput | UserApprover | PermissionApprover | {
718
+ type Approver = Grantee | UserApprover | PermissionApprover | ManagerApprover | AnyOfApprover;
719
+ type ApproverInput = GranteeInput | UserApprover | PermissionApprover | ManagerApprover | {
709
720
  readonly kind: "any-of";
710
721
  readonly of: readonly ApproverInput[];
711
722
  } | readonly ApproverInput[];
@@ -723,6 +734,13 @@ declare function anyOf(...items: readonly ApproverInput[]): {
723
734
  declare function allOf(...items: readonly ApproverInput[]): readonly ApproverInput[];
724
735
  /** A named approver for `approval.by`, matched on the approver's principal id. */
725
736
  declare function user(id: string): UserApprover;
737
+ /**
738
+ * Approves when the approver manages the requester, directly or within `levels`
739
+ * steps up the chain (1 to `MAX_MANAGER_LEVELS`, default 1).
740
+ */
741
+ declare function manager(options?: {
742
+ readonly levels?: number;
743
+ }): ManagerApprover;
726
744
  //#endregion
727
745
  //#region src/core/scopes.d.ts
728
746
  /**
@@ -1183,6 +1201,13 @@ type Snapshot = {
1183
1201
  * still cover.
1184
1202
  */
1185
1203
  readonly delegated?: readonly string[];
1204
+ /**
1205
+ * The token's authorization version (`authz_ver`) the snapshot was built
1206
+ * from. A client compares it with the version in a refresh signal.
1207
+ */
1208
+ readonly authzVersion?: number;
1209
+ /** The Auth session (`session_id`) the snapshot was built for. */
1210
+ readonly sessionId?: string;
1186
1211
  };
1187
1212
  /**
1188
1213
  * A grant the subject would hold on another plan: its permission, role and
@@ -1371,6 +1396,15 @@ type LocalSnapshotRows = {
1371
1396
  readonly permissions: string;
1372
1397
  readonly includes: string;
1373
1398
  };
1399
+ /**
1400
+ * The user's authorization version row (`permdock_authz_version`), the value
1401
+ * the token hook stamps `authz_ver` from.
1402
+ */
1403
+ readonly version?: {
1404
+ readonly table: string;
1405
+ readonly user: string;
1406
+ readonly version: string;
1407
+ };
1374
1408
  };
1375
1409
  /**
1376
1410
  * Grants a custom role entry resolves to, held by a placeholder role the client
@@ -1721,6 +1755,16 @@ type DecisionProvider = {
1721
1755
  * query and no answer outlives the instance.
1722
1756
  */
1723
1757
  type SourceMemo = <T>(key: string, read: () => T) => T;
1758
+ /**
1759
+ * One read a source made, for an `onSourceCall` hook: `cached` is `true` when
1760
+ * the instance's `SourceMemo` answered it without a query.
1761
+ */
1762
+ type SourceCall = {
1763
+ readonly source: string;
1764
+ readonly method: string;
1765
+ readonly durationMs: number;
1766
+ readonly cached: boolean;
1767
+ };
1724
1768
  /** What `getPermDock` passes to every source call besides its query. */
1725
1769
  type SourceContext = {
1726
1770
  /** Absent when the source is called outside `getPermDock`. */
@@ -2089,16 +2133,22 @@ type ApprovalStage = {
2089
2133
  * order. `'sequential'`: stages complete in order; an approver signs only the
2090
2134
  * first incomplete stage. An approver signs once per request.
2091
2135
  */
2092
- type ApprovalMode = "any" | "all" | "sequential";
2136
+ type ApprovalCombine = "any" | "all" | "sequential";
2137
+ /**
2138
+ * `'authorize'` (the default): someone other than the request's principal
2139
+ * approves. `'confirm'`: the principal may approve their own request. Neither
2140
+ * is met by an approver acting through an agent or a delegated token.
2141
+ */
2142
+ type ApprovalMode = "confirm" | "authorize";
2093
2143
  type ApprovalRequirement = {
2094
- /** Set when `mode` is `'any'` (the default); absent under `stages`. */
2144
+ /** Set when `combine` is `'any'` (the default); absent under `stages`. */
2095
2145
  readonly by?: Approver | readonly Approver[];
2096
2146
  /** Absent means `'any'`. */
2097
- readonly mode?: ApprovalMode;
2098
- /** Set when `mode` is `'all'` or `'sequential'`. */
2147
+ readonly combine?: ApprovalCombine;
2148
+ /** Set when `combine` is `'all'` or `'sequential'`. */
2099
2149
  readonly stages?: readonly ApprovalStage[];
2100
- /** `false` lets the request's principal approve it; absent means `true`. */
2101
- readonly distinct?: boolean;
2150
+ /** Absent means `'authorize'`. */
2151
+ readonly mode?: ApprovalMode;
2102
2152
  /** `'resource-change'` binds the approval to the row's `version` field. */
2103
2153
  readonly staleOn?: "resource-change";
2104
2154
  /**
@@ -2119,7 +2169,7 @@ type ApprovalOption = "human" | {
2119
2169
  * `'all'` or `'sequential'` with `stages`; absent means `'any'` with
2120
2170
  * `by`.
2121
2171
  */
2122
- readonly mode?: ApprovalMode;
2172
+ readonly combine?: ApprovalCombine;
2123
2173
  readonly stages?: readonly {
2124
2174
  readonly by: ApproverInput;
2125
2175
  readonly quorum?: number;
@@ -2129,8 +2179,11 @@ type ApprovalOption = "human" | {
2129
2179
  readonly to: ApproverInput;
2130
2180
  };
2131
2181
  }[];
2132
- /** `false` lets the request's principal approve it; absent means `true`. */
2133
- readonly distinct?: boolean;
2182
+ /**
2183
+ * `'confirm'` lets the request's principal approve it; absent means
2184
+ * `'authorize'`.
2185
+ */
2186
+ readonly mode?: ApprovalMode;
2134
2187
  /**
2135
2188
  * `'resource-change'`: the approval covers the row as it was when it was
2136
2189
  * requested. The resource must declare `version`; once that field
@@ -2676,4 +2729,4 @@ type SubjectOf<P> = {
2676
2729
  readonly expiresAt?: number;
2677
2730
  };
2678
2731
  //#endregion
2679
- export { LimitRemaining as $, Quota as $n, SnapshotGrant as $t, PolicyScopes as A, Grantee as An, SqlFunctionCondition as Ar, CredentialDecision as At, ValidateMode as B, relation as Bn, decideCredential as Bt, MembershipFixture as C, ApproverInput as Cn, MemberOfCondition as Cr, SupportSessionDecision as Ct, PolicyDelegation as D, anyOf as Dn, RelatedHop as Dr, parseSupportSession as Dt, PolicyAppDataSchemas as E, allOf as En, RelatedCondition as Er, decideSupportSession as Et, RoleScope as F, anyone as Fn, isSqlFunctionField as Fr, CredentialPolicyViolation as Ft, CustomRoleSource as G, DenialDetails as Gn, LocalCustomRoleTable as Gt, WireValidity as H, ApprovalRequiredDecision as Hn, parseCredential as Ht, SeparationConflict as I, assurance as In, CredentialRequest as It, DecisionSink as J, ExplainedDecision as Jn, LocalRowValue as Jt, CustomRoleSourceFactory as K, DenialReason as Kn, LocalMembershipRows as Kt, SubjectOf as L, authenticated as Ln, DecideCredentialOptions as Lt, PrincipalOf as M, InheritGrantee as Mn, isCondition as Mr, CredentialPermission as Mt, RoleBinding as N, RelationGrantee as Nn, isConditionDate as Nr, CredentialPermissionInput as Nt, PolicyOAuthScope as O, holder as On, RestrictedAncestors as Or, ApiKeyPrincipal as Ot, RoleOptions as P, actor as Pn, isConditionRef as Pr, CredentialPolicy as Pt, LimitConsumeInput as Q, Obligation as Qn, SnapshotAssignable as Qt, SupportAccessOptions as R, inherit as Rn, credentialDelegation as Rt, HostedGrantRef as S, Approver as Sn, ConditionValue as Sr, SupportSession as St, Policy as T, UserApprover as Tn, OpaqueCondition as Tr, SupportSessionRequest as Tt, CredentialVerifier as U, Decision as Un, InstanceHandle as Ut, VocabularyFromInput as V, AppObligation as Vn, isFeedId as Vt, CustomRoleContext as W, Denial as Wn, Instant as Wt, Intent as X, LimitDetail as Xn, LocalSnapshotRows as Xt, EntitlementSource as Y, GrantedDecision as Yn, LocalSnapshotManifest as Yt, JwtClaims as Z, MatchedGrant as Zn, Snapshot as Zt, GrantLimit as _, PolicyScopesInput as _n, ActorKind as _r, VerifiedToken as _t, ApprovalRequirement as a, CredentialEvent as an, AuthorizationDetail as ar, RelationHolder as at, GrantScope as b, ScopeNames as bn, Condition as br, WhereCompiler as bt, BreakGlassOptions as c, DeliveryEvent as cn, CustomRoleGrant as cr, SnapshotSource as ct, ClosureContext as d, EmailCategory as dn, JsonWebKeyLike as dr, SubjectResolver as dt, SnapshotNotEntitled as en, Trace as er, LimitStore as et, ClosureGrantFn as f, MembershipEvent as fn, Membership as fr, TenantSettings as ft, GrantCondition as g, WireDelegation as gn, VerifiedClaims as gr, VerificationFailure as gt, Grant as h, WireDenial as hn, Subject as hr, TokenVerifier as ht, ApprovalOption as i, AutomationEvent as in, Assurance as ir, RelationGroup as it, PolicyVocabulary as j, GranteeInput as jn, hasConditionOp as jr, CredentialKind as jt, PolicyOptions as k, user as kn, SqlFunctionArg as kr, Credential as kt, BreakGlassRequirements as l, DeliveryFailureCause as ln, Delegation as lr, SourceContext as lt, DelegationTarget as m, WireDecision as mn, SharedCustomRole as mr, TokenSigner as mt, ApprovalEscalation as n, AccessEvent as nn, TraceSkipReason as nr, MembershipSource as nt, ApprovalStage as o, DecisionEvent as on, Binding as or, RelationSource as ot, DelegationInput as p, SinkEvent as pn, Principal as pr, TokenFailureCause as pt, DecisionProvider as q, DeniedDecision as qn, LocalRowColumn as qt, ApprovalMode as r, AuthEvent as rn, Actor as rr, RelationChain as rt, AssuranceRequirement as s, DeliveryChannel as sn, CustomRole as sr, SettingsSource as st, ActivationOption as t, SnapshotScope as tn, TraceSkip as tr, MemberEntry as tt, BreakGlassSpec as u, DirectoryEvent as un, GnapAccess as ur, SourceMemo as ut, GrantMeta as v, Scope as vn, AdapterId as vr, VersionContext as vt, ObligationInput as w, PermissionApprover as wn, MemberOfParent as wr, SupportSessionPolicy as wt, GrantValidity as x, AnyOfApprover as xn, ConditionRef as xr, DecideSupportSessionOptions as xt, GrantOptions as y, ScopeDeclaration as yn, MembershipVia as yr, VersionQuery as yt, SupportConsent as z, plan as zn, credentialPolicyViolation as zt };
2732
+ export { LimitConsumeInput as $, GrantedDecision as $n, Snapshot as $t, PolicyOptions as A, anyOf as An, RelatedCondition as Ar, ApiKeyPrincipal as At, SupportConsent as B, assurance as Bn, credentialDelegation as Bt, HostedGrantRef as C, AnyOfApprover as Cn, MembershipVia as Cr, DecideSupportSessionOptions as Ct, PolicyAppDataSchemas as D, PermissionApprover as Dn, MemberOfCondition as Dr, SupportSessionRequest as Dt, Policy as E, ManagerApprover as En, ConditionValue as Er, SupportSessionPolicy as Et, RoleOptions as F, GranteeInput as Fn, hasConditionOp as Fr, CredentialPermissionInput as Ft, CustomRoleContext as G, AppObligation as Gn, InstanceHandle as Gt, VocabularyFromInput as H, inherit as Hn, decideCredential as Ht, RoleScope as I, InheritGrantee as In, isCondition as Ir, CredentialPolicy as It, DecisionProvider as J, Denial as Jn, LocalMembershipRows as Jt, CustomRoleSource as K, ApprovalRequiredDecision as Kn, Instant as Kt, SeparationConflict as L, RelationGrantee as Ln, isConditionDate as Lr, CredentialPolicyViolation as Lt, PolicyVocabulary as M, manager as Mn, RestrictedAncestors as Mr, CredentialDecision as Mt, PrincipalOf as N, user as Nn, SqlFunctionArg as Nr, CredentialKind as Nt, PolicyDelegation as O, UserApprover as On, MemberOfParent as Or, decideSupportSession as Ot, RoleBinding as P, Grantee as Pn, SqlFunctionCondition as Pr, CredentialPermission as Pt, JwtClaims as Q, ExplainedDecision as Qn, LocalSnapshotRows as Qt, SubjectOf as R, actor as Rn, isConditionRef as Rr, CredentialRequest as Rt, GrantValidity as S, ScopeNames as Sn, AdapterId as Sr, WhereCompiler as St, ObligationInput as T, ApproverInput as Tn, ConditionRef as Tr, SupportSessionDecision as Tt, WireValidity as U, plan as Un, isFeedId as Ut, ValidateMode as V, authenticated as Vn, credentialPolicyViolation as Vt, CredentialVerifier as W, relation as Wn, parseCredential as Wt, EntitlementSource as X, DenialReason as Xn, LocalRowValue as Xt, DecisionSink as Y, DenialDetails as Yn, LocalRowColumn as Yt, Intent as Z, DeniedDecision as Zn, LocalSnapshotManifest as Zt, GrantCondition as _, WireDenial as _n, Principal as _r, TokenVerifier as _t, ApprovalOption as a, AuthEvent as an, TraceSkip as ar, RelationGroup as at, GrantOptions as b, Scope as bn, VerifiedClaims as br, VersionContext as bt, AssuranceRequirement as c, DecisionEvent as cn, Assurance as cr, SettingsSource as ct, BreakGlassSpec as d, DeliveryFailureCause as dn, CustomRole as dr, SourceContext as dt, SnapshotAssignable as en, LimitDetail as er, LimitRemaining as et, ClosureContext as f, DirectoryEvent as fn, CustomRoleGrant as fr, SourceMemo as ft, Grant as g, WireDecision as gn, Membership as gr, TokenSigner as gt, DelegationTarget as h, SinkEvent as hn, JsonWebKeyLike as hr, TokenFailureCause as ht, ApprovalMode as i, AccessEvent as in, Trace as ir, RelationChain as it, PolicyScopes as j, holder as jn, RelatedHop as jr, Credential as jt, PolicyOAuthScope as k, allOf as kn, OpaqueCondition as kr, parseSupportSession as kt, BreakGlassOptions as l, DeliveryChannel as ln, AuthorizationDetail as lr, SnapshotSource as lt, DelegationInput as m, MembershipEvent as mn, GnapAccess as mr, TenantSettings as mt, ApprovalCombine as n, SnapshotNotEntitled as nn, Obligation as nr, MemberEntry as nt, ApprovalRequirement as o, AutomationEvent as on, TraceSkipReason as or, RelationHolder as ot, ClosureGrantFn as p, EmailCategory as pn, Delegation as pr, SubjectResolver as pt, CustomRoleSourceFactory as q, Decision as qn, LocalCustomRoleTable as qt, ApprovalEscalation as r, SnapshotScope as rn, Quota as rr, MembershipSource as rt, ApprovalStage as s, CredentialEvent as sn, Actor as sr, RelationSource as st, ActivationOption as t, SnapshotGrant as tn, MatchedGrant as tr, LimitStore as tt, BreakGlassRequirements as u, DeliveryEvent as un, Binding as ur, SourceCall as ut, GrantLimit as v, WireDelegation as vn, SharedCustomRole as vr, VerificationFailure as vt, MembershipFixture as w, Approver as wn, Condition as wr, SupportSession as wt, GrantScope as x, ScopeDeclaration as xn, ActorKind as xr, VersionQuery as xt, GrantMeta as y, PolicyScopesInput as yn, Subject as yr, VerifiedToken as yt, SupportAccessOptions as z, anyone as zn, isSqlFunctionField as zr, DecideCredentialOptions as zt };