permdock 0.15.0 → 0.17.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 (375) 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-DLel53Oa.js → adoption-scan-Ci0xiJ3T.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-4KxMRdJC.js +189 -0
  10. package/dist/approval-policies-9VagPixq.d.ts +138 -0
  11. package/dist/{approval-prompt-3BqWczTt.d.ts → approval-prompt-BSh-yxbH.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-DdFcTncq.js} +3 -3
  15. package/dist/{approvers-B4r0N_Uz.js → approvers-CNtl4Vc5.js} +22 -1
  16. package/dist/{arazzo-CL8CZnpL.js → arazzo-7kbeh1yi.js} +2 -2
  17. package/dist/{arazzo-CHK9NT6u.js → arazzo-_zUmT8ZT.js} +4 -4
  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-jRO819i3.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-DCWuVKtd.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 +273 -38
  30. package/dist/better-supabase/index.js +493 -102
  31. package/dist/{better-supabase-Dirf_8Ec.js → better-supabase-BJtQ-kNf.js} +26 -10
  32. package/dist/{bind-BNQA9JK9.js → bind-BJFeLX1V.js} +6 -6
  33. package/dist/{bind-YYjvfpB9.d.ts → bind-DjFNX0Pq.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-lye7oEqf.js} +3 -2
  37. package/dist/{capability-Di9tiUvi.d.ts → capability-BzjWdKmP.d.ts} +1 -1
  38. package/dist/{capability-BqX94r07.js → capability-zN6T9fxe.js} +2 -3
  39. package/dist/{casbin-iAEXjmca.js → casbin-C3O_O9nu.js} +2 -2
  40. package/dist/{casbin-DRFwgVIP.js → casbin-DFzk_so3.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 +6 -6
  45. package/dist/catalog-BpnjesqX.js +1 -0
  46. package/dist/{catalog-CGlSwU6j.js → catalog-DGDd_ww1.js} +5 -5
  47. package/dist/{catalog-amPDr0JQ.js → catalog-DJJIkR9P.js} +3 -3
  48. package/dist/{catalog-doc-DjMKzJp9.js → catalog-doc-C4DGfJCO.js} +3 -3
  49. package/dist/{catalog-operations-DeHTrJSV.js → catalog-operations-DVI5QO5R.js} +3 -3
  50. package/dist/{challenge-DImNcR7B.js → challenge-M_ghKJnT.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/cloud/index.d.ts +8 -8
  63. package/dist/cloud/index.js +1 -1
  64. package/dist/{cloud-eOtmuonF.js → cloud-DYqzmh5i.js} +4 -4
  65. package/dist/{codemod-KEDj_3zl.js → codemod-DNGMGqBS.js} +395 -8
  66. package/dist/{codemod-D6NYu4AK.js → codemod-DqB9klYI.js} +3 -3
  67. package/dist/{collect-DnXL4B8c.js → collect-C44RrKCI.js} +4 -4
  68. package/dist/collect-CAibhmCi.js +1 -0
  69. package/dist/{collect-WCl8cJQV.js → collect-HfJXl8Tr.js} +4 -4
  70. package/dist/compile/index.d.ts +1 -1
  71. package/dist/compile/index.js +1 -1
  72. package/dist/{compile-EzEMB-7v.js → compile-B_oJqmIg.js} +4 -4
  73. package/dist/{compile-BEklRUYo.d.ts → compile-BxiwRotu.d.ts} +2 -2
  74. package/dist/{completion-DCza8aQY.js → completion-pwVjJlek.js} +3 -3
  75. package/dist/{config-CcLlvEYW.js → config-COHmivz9.js} +4 -4
  76. package/dist/{config-BAM3a3z8.js → config-DnfH6_eT.js} +2 -2
  77. package/dist/{config-report-VZcQ0ZpS.js → config-report-C1jl7Na-.js} +2 -2
  78. package/dist/{context-BnIzxTNE.js → context-DeammvFl.js} +2 -2
  79. package/dist/convex/index.d.ts +4 -4
  80. package/dist/convex/index.js +3 -3
  81. package/dist/{core-CFepFiDP.d.ts → core-0iYZ5HUx.d.ts} +2 -2
  82. package/dist/{core-lxoANyai.js → core-W5f4Rjt0.js} +7 -7
  83. package/dist/{create-DBvUsgzK.d.ts → create-DNN3OtsO.d.ts} +4 -4
  84. package/dist/{create-CDd9c22W.d.ts → create-DrHUmKvG.d.ts} +6 -6
  85. package/dist/{create-BPUopdfL.d.ts → create-bzQlBzG4.d.ts} +7 -7
  86. package/dist/{create-Coq5fIrq.js → create-gqtDb1nU.js} +5 -5
  87. package/dist/{create-BLPKnJKa.js → create-jCPwPWXf.js} +6 -5
  88. package/dist/{credential-CyyyvCsL.js → credential-B3Hj4puZ.js} +4 -3
  89. package/dist/{credentials-CdDxp7jN.js → credentials-dkycUsY3.js} +1 -1
  90. package/dist/decision-CaG5_eNJ.js +21 -0
  91. package/dist/{delegation-CDB6_keF.js → delegation-aK4T_5WU.js} +3 -3
  92. package/dist/delivery/index.d.ts +4 -4
  93. package/dist/delivery/index.js +1 -1
  94. package/dist/{denied-text-DHldhVUv.d.ts → denied-text-DyzWwxEB.d.ts} +1 -1
  95. package/dist/{describe-Bb4hGK5d.js → describe-CogP1loh.js} +2 -1
  96. package/dist/{describe-BbFPBSms.d.ts → describe-nalX_HHE.d.ts} +1 -1
  97. package/dist/{diff-DfmYaIhB.js → diff-BTsLiW59.js} +7 -7
  98. package/dist/{diff-CxtbOi2l.js → diff-CcxYooMu.js} +2 -2
  99. package/dist/{doctor-gIO9WTYo.js → doctor-BNRhJegR.js} +3 -3
  100. package/dist/{doctor-CMqPKuN_.js → doctor-DS-9ApID.js} +195 -30
  101. package/dist/drizzle/index.d.ts +3 -3
  102. package/dist/drizzle/index.js +1 -1
  103. package/dist/elysia/index.d.ts +4 -4
  104. package/dist/elysia/index.js +3 -3
  105. package/dist/{errors-Vpu6rKHl.js → errors-BhRkoNS7.js} +0 -2
  106. package/dist/{errors-BIM4MFsJ.d.ts → errors-Dc9FdamT.d.ts} +1 -1
  107. package/dist/{evaluate-BAmf_AQd.js → evaluate-CsjXeLRo.js} +18 -15
  108. package/dist/{evaluations-DOWuBpWv.d.ts → evaluations-BasA9zXp.d.ts} +3 -3
  109. package/dist/{evaluations-IBceAeKT.js → evaluations-DG40eSJa.js} +3 -22
  110. package/dist/eve/index.d.ts +4 -4
  111. package/dist/eve/index.js +3 -3
  112. package/dist/express/index.d.ts +4 -4
  113. package/dist/express/index.js +3 -3
  114. package/dist/fastify/index.d.ts +4 -4
  115. package/dist/fastify/index.js +3 -3
  116. package/dist/{fetch-adapter-BIbBAtPZ.d.ts → fetch-adapter-BgqpOOpd.d.ts} +2 -2
  117. package/dist/{fetch-adapter-dPTgJVHd.js → fetch-adapter-UZOW0PRC.js} +2 -2
  118. package/dist/{fields-DI8s3cPl.js → fields-CrjL6A49.js} +3 -3
  119. package/dist/{files-B3AA05f1.js → files-CfiRtQ-m.js} +1 -1
  120. package/dist/{fixtures-Bm4_K1ke.js → fixtures-0VTW5oNq.js} +2 -2
  121. package/dist/{flags-DXjoTVbS.js → flags-BlmpmXoY.js} +2 -2
  122. package/dist/{from-snapshot-DCakWRsr.js → from-snapshot-DMlSSo9b.js} +14 -12
  123. package/dist/{gen-DwgCSC6V.js → gen-CNCzG4sB.js} +2 -2
  124. package/dist/{gen-DuAhghDw.js → gen-DnpZwQPo.js} +9 -9
  125. package/dist/{generate-CRVV5V7l.js → generate-BqkZq8Dr.js} +2 -2
  126. package/dist/{grantee-conditions-BrYPe-w0.js → grantee-conditions-DX4K_gGI.js} +1 -1
  127. package/dist/{grantee-match-7RZZvoT_.js → grantee-match-BP-k4vRJ.js} +2 -2
  128. package/dist/h3/index.d.ts +4 -4
  129. package/dist/h3/index.js +3 -3
  130. package/dist/{helpers-DJicaG6f.js → helpers-DNnZffrI.js} +76 -12
  131. package/dist/hono/index.d.ts +4 -4
  132. package/dist/hono/index.js +3 -3
  133. package/dist/{hosted-DVxlLZMe.d.ts → hosted-DxRLLiFU.d.ts} +1 -1
  134. package/dist/{hosted-D0IzESu_.js → hosted-tPZnyjQS.js} +12 -10
  135. package/dist/{http-DOL33cO0.js → http-DhMWeB_h.js} +1 -1
  136. package/dist/{import-DK_J8tVE.js → import-BYVbSKx0.js} +3 -3
  137. package/dist/{import-CNBF96hB.js → import-C1XXpG_m.js} +4 -4
  138. package/dist/{index-Cay5-Kvx.d.ts → index-Bt-UoBWu.d.ts} +11 -10
  139. package/dist/{index-DJwEgYzA.d.ts → index-CXXUFWtG.d.ts} +17 -11
  140. package/dist/{index-Dj2qF9VC.d.ts → index-CZ5mixHO.d.ts} +1 -1
  141. package/dist/{index-ymept53A.d.ts → index-DFwUOkvt.d.ts} +4 -4
  142. package/dist/{index-CV-7DWeD.d.ts → index-DtGtDzjb.d.ts} +4 -4
  143. package/dist/{index-BinlXeU-.d.ts → index-z44pfWar.d.ts} +2 -2
  144. package/dist/index.d.ts +18 -16
  145. package/dist/index.js +20 -18
  146. package/dist/{init-Buibrl9h.js → init-Dr1qAStu.js} +5 -5
  147. package/dist/{init-jLSyPMM7.js → init-YSDySeMy.js} +5 -5
  148. package/dist/{instance-options-CoHn-0e8.d.ts → instance-options-BOCRxEFb.d.ts} +2 -2
  149. package/dist/{instance-snapshot-DuWf1cT3.js → instance-snapshot-BgOGtyCy.js} +15 -12
  150. package/dist/jwt/index.d.ts +4 -4
  151. package/dist/jwt/index.js +3 -3
  152. package/dist/{kernel-BD8QuMnv.js → kernel-CDDU93dI.js} +10 -10
  153. package/dist/kysely/index.d.ts +3 -3
  154. package/dist/kysely/index.js +1 -1
  155. package/dist/{load-DjSU5KXO.js → load-BaEamml-.js} +1 -1
  156. package/dist/load-CjnlPxpL.js +1 -0
  157. package/dist/{login-CB55O4Gv.js → login-CXgEKLaW.js} +4 -4
  158. package/dist/{login-VVpkkund.js → login-DEVXDTX8.js} +4 -4
  159. package/dist/{manifest-CbEyvPN2.js → manifest-Dij1U0hx.js} +37 -37
  160. package/dist/{map-claims-C-nv08_n.js → map-claims-PQwHynxV.js} +25 -11
  161. package/dist/{map-error-pasIGqMT.js → map-error-B_f3C5cs.js} +1 -1
  162. package/dist/mcp/index.d.ts +8 -8
  163. package/dist/mcp/index.js +9 -9
  164. package/dist/{migrate-BJHxQqT5.js → migrate-BbY5-Khy.js} +4 -4
  165. package/dist/{module-values-B1EVTkHP.js → module-values-B8tNIxdd.js} +2 -2
  166. package/dist/nest/index.d.ts +4 -4
  167. package/dist/nest/index.js +3 -3
  168. package/dist/next/index.d.ts +32 -13
  169. package/dist/next/index.js +43 -25
  170. package/dist/next/plugin.d.ts +1 -1
  171. package/dist/next/plugin.js +2 -2
  172. package/dist/node/index.d.ts +4 -4
  173. package/dist/node/index.js +2 -2
  174. package/dist/openai/index.d.ts +4 -4
  175. package/dist/openai/index.js +3 -3
  176. package/dist/openapi/index.d.ts +2 -2
  177. package/dist/{openapi-eHZ5hwUJ.js → openapi-D3wkvOoU.js} +4 -4
  178. package/dist/{openapi-CleDZYVf.js → openapi-GM-kTdkq.js} +5 -5
  179. package/dist/orpc/index.d.ts +5 -5
  180. package/dist/orpc/index.js +3 -3
  181. package/dist/otel/index.d.ts +3 -3
  182. package/dist/otel/index.js +1 -1
  183. package/dist/{output-BVZpQDad.js → output-DhTpe8v1.js} +1 -1
  184. package/dist/output-files-BYscrQl-.js +1 -0
  185. package/dist/{output-files-BIQ_9pIs.js → output-files-CM0BnH05.js} +1 -1
  186. package/dist/{ownership-qqBuGJXr.js → ownership-moSRhxl_.js} +6 -6
  187. package/dist/{parse-1_ZheTW5.js → parse-UTC-sDrt.js} +2 -2
  188. package/dist/{parse-local-manifest-CCmbhnxP.d.ts → parse-local-manifest-BgTYdR3q.d.ts} +1 -1
  189. package/dist/{parse-request-CwCZpyjV.js → parse-request-DOBVaeiQ.js} +1 -1
  190. package/dist/pdp/index.d.ts +3 -3
  191. package/dist/pdp/index.js +3 -3
  192. package/dist/{peer-Q0fuZ6hx.js → peer-BuK9F53f.js} +1 -1
  193. package/dist/{peer-C9LvBCcb.js → peer-n-swIV4H.js} +1 -1
  194. package/dist/{permdock-CprAPN3w.d.ts → permdock-DUWZEOLR.d.ts} +88 -131
  195. package/dist/{permdock-BvjivVb9.js → permdock-DdzMv5-F.js} +195 -102
  196. package/dist/{permissions-CYcHj_w7.js → permissions-CvpPtz5O.js} +1 -1
  197. package/dist/{pg-DQTqRrou.js → pg-Ddxsd5ZB.js} +2 -2
  198. package/dist/{policy-BycVKnXv.d.ts → policy-CTNl7pvN.d.ts} +1 -1
  199. package/dist/{policy-CLQ8__GF.js → policy-DxQyHKPB.js} +5 -4
  200. package/dist/{policy-from-catalog-CU3An8uP.js → policy-from-catalog-DVa1faOr.js} +8 -7
  201. package/dist/{policy-types-DGIO_gxq.d.ts → policy-types-IRJVABmm.d.ts} +63 -19
  202. package/dist/{postgrest-D5nUGm-c.d.ts → postgrest-B_cEDd4e.d.ts} +12 -7
  203. package/dist/{postgrest-DAxFltvO.js → postgrest-BrjrckDG.js} +74 -19
  204. package/dist/{powersync-CFWILHjb.js → powersync-BZxw_v-A.js} +3 -3
  205. package/dist/{powersync-uqYWxTjq.js → powersync-C0nsyULQ.js} +15 -15
  206. package/dist/powersync-Cqzx25dI.js +1 -0
  207. package/dist/preset/index.js +1 -1
  208. package/dist/{preset-BjLzeFpp.js → preset-pPrVyGU5.js} +74 -7
  209. package/dist/prisma/index.d.ts +2 -2
  210. package/dist/prisma/index.js +1 -1
  211. package/dist/{protected-action-DUYqb-Ma.js → protected-action-B6n6w7Rl.js} +1 -1
  212. package/dist/{protected-action-D8x73IGm.d.ts → protected-action-D3S9U4nc.d.ts} +14 -7
  213. package/dist/{protected-action-QEA8arRB.js → protected-action-qowj6nxN.js} +15 -5
  214. package/dist/{provider-C55OGXJ7.js → provider-CY4TSSJo.js} +2 -2
  215. package/dist/{provider-DfLeek9O.d.ts → provider-CjAu39fJ.d.ts} +1 -1
  216. package/dist/{provider-store-CaTv00tr.js → provider-store-BQP_pp8s.js} +2 -2
  217. package/dist/pull-CUVdB04v.js +1 -0
  218. package/dist/{pull-BBmCxnqX.js → pull-DVoZ0V9_.js} +6 -6
  219. package/dist/{push-Dq_ca4-j.js → push-eJl1Tvqm.js} +7 -7
  220. package/dist/{pushed-policy-CryQheKq.d.ts → pushed-policy-CUQuvlS3.d.ts} +1 -1
  221. package/dist/{pushed-policy-CDuOL2de.js → pushed-policy-DMXAOmEW.js} +1 -1
  222. package/dist/react/index.d.ts +8 -8
  223. package/dist/react/index.js +6 -6
  224. package/dist/react/provider-client.d.ts +1 -1
  225. package/dist/react/provider-client.js +1 -1
  226. package/dist/react-native/index.d.ts +10 -10
  227. package/dist/react-native/index.js +9 -9
  228. package/dist/refresh-on-L9UOwATg.d.ts +49 -0
  229. package/dist/{replay-Bs9Df2fQ.d.ts → replay-Dc3d8LhG.d.ts} +1 -1
  230. package/dist/{request-context-Duzdf0cd.js → request-context-Ch052blg.js} +2 -2
  231. package/dist/{request-schema-DhX7UbfQ.js → request-schema-CMP8Cmxd.js} +5 -0
  232. package/dist/resend/index.d.ts +4 -4
  233. package/dist/{resolve-names-Y1Cb22cp.js → resolve-names-1nCei24V.js} +6 -6
  234. package/dist/{rls-yK2nZUcm.js → rls-BVzoZCn3.js} +4 -4
  235. package/dist/{rls-BwKXdVEW.js → rls-ClJRblnR.js} +19 -19
  236. package/dist/{role-builder-BK2-T6oD.js → role-builder-BrmOcXch.js} +3 -157
  237. package/dist/{rpc-vHIwyXCp.js → rpc-BOu3FD6X.js} +2 -2
  238. package/dist/{run-D5WIJfs7.js → run-CnCaTjWX.js} +8 -40
  239. package/dist/run-D9N6V5WQ.js +1 -0
  240. package/dist/{run-ticket-ylovhyFQ.d.ts → run-ticket-C6lXvHM_.d.ts} +2 -2
  241. package/dist/{run-ticket-DfnZCh-u.js → run-ticket-CjvXr6wj.js} +1 -1
  242. package/dist/{runtime-BGnrOkVH.js → runtime-CBXkOcg9.js} +1 -1
  243. package/dist/{saas-DK4V-3Is.js → saas-BqM9mJkk.js} +13 -10
  244. package/dist/{scan-CzdMtHnq.js → scan-CepUXrFt.js} +1 -1
  245. package/dist/{schema-BDGEVO4g.js → schema-9_NDz8fx.js} +1 -1
  246. package/dist/{schema-BOJjqlWL.js → schema-CuX70xgH.js} +15 -2
  247. package/dist/scim/index.d.ts +1 -1
  248. package/dist/scim/index.js +1 -1
  249. package/dist/{scim-jJBJ7g1Z.js → scim-C30QBBoF.js} +2 -1
  250. package/dist/{scim-D8YupzX1.js → scim-CovliQUg.js} +2 -2
  251. package/dist/{scopes-0Up_UA2t.js → scopes-BSdYaGHs.js} +9 -40
  252. package/dist/server/index.d.ts +11 -11
  253. package/dist/server/index.js +8 -8
  254. package/dist/{server-3cVlTLde.js → server-D0PW6ZCw.js} +2 -2
  255. package/dist/{server-types-CyRN0-Cd.d.ts → server-types-Bw-lWqzR.d.ts} +8 -8
  256. package/dist/{shared-l0oGGetg.js → shared-BRmCJxDK.js} +2 -2
  257. package/dist/{shared-DrGLwM3s.js → shared-DyYVEjKC.js} +2 -2
  258. package/dist/{sink-B5zoUW_O.d.ts → sink-DUzt0e4B.d.ts} +2 -2
  259. package/dist/{skills-BZxPQ_09.js → skills-BUuH-QFt.js} +2 -2
  260. package/dist/{skills-BIsm1n26.js → skills-a4N6Y2Xm.js} +2 -2
  261. package/dist/{snapshot-CXlzi69u.js → snapshot-DN_8J27z.js} +6 -2
  262. package/dist/{snapshot-cache-Bx_4xC_6.js → snapshot-cache-B66h7FBK.js} +25 -8
  263. package/dist/{snapshot-cache-BjAWkchD.d.ts → snapshot-cache-Dbk-Gnij.d.ts} +20 -6
  264. package/dist/solid/index.d.ts +7 -7
  265. package/dist/solid/index.js +6 -6
  266. package/dist/solid-start/index.d.ts +4 -4
  267. package/dist/solid-start/index.js +3 -3
  268. package/dist/{sources-oB1Hg1Fm.d.ts → sources-CXY05xtB.d.ts} +1 -1
  269. package/dist/{src-C_pi2Rnh.js → src-nYNBfmgq.js} +187 -39
  270. package/dist/ssf/index.d.ts +3 -3
  271. package/dist/ssf/index.js +1 -1
  272. package/dist/{standard-webhooks-DOYEuOLx.d.ts → standard-webhooks-BFeEpjxy.d.ts} +2 -2
  273. package/dist/{store-RNFvaJJv.js → store-XgBMbfDy.js} +13 -7
  274. package/dist/{types-tQB2CEnY.d.ts → store-g5ctUrOI.d.ts} +114 -113
  275. package/dist/{store-options-Dil3lraY.js → store-options--zWn48PK.js} +76 -7
  276. package/dist/{stores-DxZWDXCs.js → stores-53_kOwPi.js} +3 -3
  277. package/dist/{stores-DZJvxFIZ.d.ts → stores-BtdN3eDO.d.ts} +5 -6
  278. package/dist/{stream-9y9qw51m.d.ts → stream-BMJg56jU.d.ts} +1 -1
  279. package/dist/{subject-BGoM5o8B.js → subject-C7RddW0G.js} +8 -1
  280. package/dist/supabase/client.d.ts +31 -0
  281. package/dist/supabase/client.js +21 -0
  282. package/dist/supabase/index.d.ts +37 -6
  283. package/dist/supabase/index.js +5 -4
  284. package/dist/supabase/middleware.d.ts +8 -7
  285. package/dist/supabase/middleware.js +6 -6
  286. package/dist/{supabase-DYWnT800.js → supabase-C6FyUeSh.js} +3 -3
  287. package/dist/{supabase-CDHMsDD0.js → supabase-C8cNzp4i.js} +31 -8
  288. package/dist/supabase-hook-CPBX4dy5.js +1 -0
  289. package/dist/{supabase-hook-HPgwYb9V.js → supabase-hook-Cj85nccs.js} +167 -21
  290. package/dist/{supautils-CGk4YpvC.js → supautils-BP_5WAIc.js} +20 -18
  291. package/dist/svelte/index.d.ts +7 -7
  292. package/dist/svelte/index.js +8 -8
  293. package/dist/svelte/runtime.d.ts +3 -3
  294. package/dist/svelte/runtime.js +3 -3
  295. package/dist/svelte/source.d.ts +7 -7
  296. package/dist/svelte/source.js +5 -5
  297. package/dist/sveltekit/index.d.ts +4 -4
  298. package/dist/sveltekit/index.js +2 -2
  299. package/dist/{tables-DimBcVWY.js → tables-BsGE6HBR.js} +7 -7
  300. package/dist/tanstack-start/index.d.ts +4 -4
  301. package/dist/tanstack-start/index.js +2 -2
  302. package/dist/{tenancy-5d1zVBvK.js → tenancy-DvOHHk3-.js} +1 -1
  303. package/dist/terminal/index.d.ts +5 -5
  304. package/dist/terminal/index.js +6 -6
  305. package/dist/testing/core.d.ts +1 -1
  306. package/dist/testing/core.js +1 -1
  307. package/dist/testing/fixtures/index.d.ts +1 -1
  308. package/dist/testing/fixtures/index.js +1 -1
  309. package/dist/testing/index.d.ts +29 -22
  310. package/dist/testing/index.js +118 -46
  311. package/dist/testing/saas/index.d.ts +3 -3
  312. package/dist/testing/saas/index.js +2 -2
  313. package/dist/testing/saas/permissions.js +1 -1
  314. package/dist/token-D6pWn8Uj.d.ts +11 -0
  315. package/dist/{token-DC9EQiet.js → token-DaMnIU9O.js} +24 -8
  316. package/dist/{tool-refusal-Qpjs_W6M.js → tool-refusal-C1UlhU0V.js} +1 -1
  317. package/dist/trpc/index.d.ts +5 -5
  318. package/dist/trpc/index.js +3 -3
  319. package/dist/{type-helpers-c7Xo_2Cu.d.ts → type-helpers-C_OnZW8c.d.ts} +1 -1
  320. package/dist/{types-B2efzoSX.d.ts → types-AOP5HQku.d.ts} +1 -1
  321. package/dist/{types-DlelvQk4.d.ts → types-B3BOcI0J.d.ts} +2 -2
  322. package/dist/{types-DLvhVm1r.d.ts → types-BvBbkAu1.d.ts} +16 -7
  323. package/dist/{types-BB-zWDcR.d.ts → types-CA-A33Q5.d.ts} +5 -5
  324. package/dist/{types-Cklw5hJo.d.ts → types-CAAN7evk.d.ts} +24 -1
  325. package/dist/{types-DsHGPtkR.d.ts → types-CJC1aaoJ.d.ts} +2 -2
  326. package/dist/{types-CWBsAwqn.d.ts → types-D29K5ZNP.d.ts} +4 -4
  327. package/dist/{types-CEinc15V.d.ts → types-DVZNTkU0.d.ts} +3 -4
  328. package/dist/{types-ZzRGoViD.d.ts → types-NYoj8JBm.d.ts} +2 -2
  329. package/dist/{types-B6ExllNo.d.ts → types-Sj1U8HMm.d.ts} +2 -2
  330. package/dist/{types-CN0LsqbK.d.ts → types-UfpcY575.d.ts} +3 -3
  331. package/dist/{types-rCRV4Ge-.d.ts → types-e82uzrTn.d.ts} +4 -4
  332. package/dist/unplugin/index.d.ts +1 -1
  333. package/dist/unplugin/index.js +2 -2
  334. package/dist/{usage-e6M1Mls1.js → usage-COsGLht5.js} +6 -6
  335. package/dist/{usage-DBNrpwoT.js → usage-CqcMeQgX.js} +2 -2
  336. package/dist/usage-D1cpHO7p.js +1 -0
  337. package/dist/{validation-error-uvp-kyfO.d.ts → validation-error-DpvsBwZJ.d.ts} +1 -1
  338. package/dist/{verify-CgIpJRcG.js → verify-C8G8D5mk.js} +19 -19
  339. package/dist/{version-cache-Df11C2Qp.d.ts → version-cache-9Vq5QVFC.d.ts} +9 -3
  340. package/dist/{views-CD8wuL4Z.js → views-TrZYlDnM.js} +1 -1
  341. package/dist/vue/index.d.ts +7 -7
  342. package/dist/vue/index.js +6 -6
  343. package/dist/{waiter-CqUKX6CY.d.ts → waiter-C2cXXLFZ.d.ts} +2 -2
  344. package/dist/{watch-DAkjm75Y.js → watch-DXRDBSCu.js} +3 -3
  345. package/dist/watch-DnymTAfe.js +1 -0
  346. package/dist/webmcp/index.d.ts +1 -1
  347. package/dist/webmcp/index.js +1 -1
  348. package/dist/{where-scope-DlCdCM_8.js → where-scope-BKrqUDVk.js} +5 -5
  349. package/dist/{who-can-BoDJm0Nc.js → who-can-BY5d3HPw.js} +4 -4
  350. package/dist/workflow/index.d.ts +3 -3
  351. package/dist/workflow/index.js +5 -4
  352. package/dist/workflow-sdk/index.d.ts +4 -4
  353. package/dist/{wrap-B2wziJI_.js → wrap-C5PWzgkq.js} +1 -1
  354. package/dist/{wrap-DxXB54Wu.d.ts → wrap-DpZAbxuD.d.ts} +2 -2
  355. package/package.json +8 -5
  356. package/schemas/approval-request-v1.json +5 -0
  357. package/schemas/catalog-v1.json +18 -2
  358. package/schemas/cli-result-v1.json +0 -2
  359. package/schemas/snapshot-v1.json +9 -0
  360. package/skills/permdock-approvals/SKILL.md +8 -8
  361. package/skills/permdock-approvals/references/stores-and-resume.md +7 -3
  362. package/skills/permdock-audit/SKILL.md +1 -1
  363. package/skills/permdock-data/references/queries-and-rls.md +1 -1
  364. package/dist/action-result-BcudBQOF.d.ts +0 -19
  365. package/dist/catalog-D3oS2GH3.js +0 -1
  366. package/dist/collect-D-eroIfV.js +0 -1
  367. package/dist/load-Dm0pSYH3.js +0 -1
  368. package/dist/output-files-BHOIlrfD.js +0 -1
  369. package/dist/powersync-CnGzxvEl.js +0 -1
  370. package/dist/pull-D6dloyrc.js +0 -1
  371. package/dist/renames-CGj7YwcQ.js +0 -175
  372. package/dist/run-DlQYPtPv.js +0 -1
  373. package/dist/supabase-hook-qsewAVZY.js +0 -1
  374. package/dist/usage-D3KJyaNS.js +0 -1
  375. package/dist/watch-CuPz0D2M.js +0 -1
@@ -1,9 +1,9 @@
1
- import { T as Policy, Zt as Snapshot, j as PolicyVocabulary, pr as Principal } from "../policy-types-DGIO_gxq.js";
1
+ import { $t as Snapshot, E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-IRJVABmm.js";
2
2
  import { u as Permission } from "../permission-types-CAY-GU7e.js";
3
3
  import { a as OperationInput, t as Operation } from "../operations-Ci_rT6Uo.js";
4
- import { a as PermDock } from "../permdock-CprAPN3w.js";
5
- import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, u as SnapshotQuery, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-CyRN0-Cd.js";
6
- import { a as ProtectTarget, i as PermDockHandlers, n as FetchAdapterOptions, t as ContextReader } from "../fetch-adapter-BIbBAtPZ.js";
4
+ import { a as PermDock } from "../permdock-DUWZEOLR.js";
5
+ import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, u as SnapshotQuery, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-Bw-lWqzR.js";
6
+ import { a as ProtectTarget, i as PermDockHandlers, n as FetchAdapterOptions, t as ContextReader } from "../fetch-adapter-BgqpOOpd.js";
7
7
  import { RequestEvent } from "@sveltejs/kit";
8
8
  //#region src/sveltekit/create.d.ts
9
9
  /**
@@ -1,5 +1,5 @@
1
- import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-IBceAeKT.js";
2
- import { n as guardedRoute, r as instanceRoute, t as fetchAdapter } from "../fetch-adapter-dPTgJVHd.js";
1
+ import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-DG40eSJa.js";
2
+ import { n as guardedRoute, r as instanceRoute, t as fetchAdapter } from "../fetch-adapter-UZOW0PRC.js";
3
3
  //#region src/sveltekit/create.ts
4
4
  const route = {
5
5
  context: (event) => event,
@@ -1,15 +1,15 @@
1
1
  import { c as listPermissions, h as formerKeys } from "./permission-registry-B8tYxPIt.js";
2
2
  import { a as expandRelation, c as isEdgeRelation, d as isSelfParented, l as isFieldRelation, o as groupEntries, p as restrictedFor, u as isPrincipalRelation } from "./resource-relations-8-pCScBO.js";
3
- import { f as scopeList, l as rootScope, s as resolveScope, u as scopeChain } from "./scopes-0Up_UA2t.js";
3
+ import { c as rootScope, d as scopeList, l as scopeChain, s as resolveScope } from "./scopes-BSdYaGHs.js";
4
4
  import { o as flattenGrantee } from "./grantee-Dke-9rd1.js";
5
- import { r as relationCondition, t as inheritCondition } from "./grantee-conditions-BrYPe-w0.js";
6
- import { l as partitionsOf, p as scopeField } from "./tenancy-5d1zVBvK.js";
7
- import { a as delegatedScopeMap } from "./permdock-BvjivVb9.js";
8
- import { i as configError } from "./errors-Vpu6rKHl.js";
5
+ import { r as relationCondition, t as inheritCondition } from "./grantee-conditions-DX4K_gGI.js";
6
+ import { l as partitionsOf, p as scopeField } from "./tenancy-DvOHHk3-.js";
7
+ import { a as delegatedScopeMap } from "./permdock-DdzMv5-F.js";
8
+ import { i as configError } from "./errors-BhRkoNS7.js";
9
9
  import { d as sqlTextArray, i as qualifySqlTable, t as SQL_IDENT } from "./sql-0WjxIp9g.js";
10
- import { a as scopeMembershipTable, d as restrictedRowsSql, i as scopeColumn, l as relationArmSql } from "./compile-EzEMB-7v.js";
10
+ import { a as scopeMembershipTable, d as restrictedRowsSql, i as scopeColumn, l as relationArmSql } from "./compile-B_oJqmIg.js";
11
11
  import { d as keptKeys, l as roleColumn, u as roleManifest } from "./sources-C4vkzZJV.js";
12
- import { A as quoteQualified, D as qualified, E as helperSchema, I as scopeTypeOf, O as quoteIdent, R as tenantTypeOf, _ as subjectClaimJsonSql, d as keyTenantSql, f as kindFilterSql, h as roleKindSql, i as allowEntry, j as quoteTable, k as quoteLiteral, m as memberVia, n as GLOBAL_ROLES, o as rootName, r as HELPERS, s as signedIn, t as CUSTOM_ROLES, u as globalKindFilterSql, v as subjectClaimSql, w as CLI, x as userIdHelperSql, y as subjectIdSql } from "./shared-DrGLwM3s.js";
12
+ import { A as quoteQualified, D as qualified, E as helperSchema, I as scopeTypeOf, O as quoteIdent, R as tenantTypeOf, _ as subjectClaimJsonSql, d as keyTenantSql, f as kindFilterSql, h as roleKindSql, i as allowEntry, j as quoteTable, k as quoteLiteral, m as memberVia, n as GLOBAL_ROLES, o as rootName, r as HELPERS, s as signedIn, t as CUSTOM_ROLES, u as globalKindFilterSql, v as subjectClaimSql, w as CLI, x as userIdHelperSql, y as subjectIdSql } from "./shared-DyYVEjKC.js";
13
13
  //#region src/cli/sql/active.ts
14
14
  function checkActiveRow(label, row) {
15
15
  quoteTable(row.table);
@@ -1,9 +1,9 @@
1
- import { T as Policy, Zt as Snapshot, j as PolicyVocabulary, pr as Principal } from "../policy-types-DGIO_gxq.js";
1
+ import { $t as Snapshot, E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-IRJVABmm.js";
2
2
  import { u as Permission } from "../permission-types-CAY-GU7e.js";
3
3
  import { a as OperationInput, t as Operation } from "../operations-Ci_rT6Uo.js";
4
- import { a as PermDock } from "../permdock-CprAPN3w.js";
5
- import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, u as SnapshotQuery, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-CyRN0-Cd.js";
6
- import { a as ProtectTarget, n as FetchAdapterOptions, t as ContextReader } from "../fetch-adapter-BIbBAtPZ.js";
4
+ import { a as PermDock } from "../permdock-DUWZEOLR.js";
5
+ import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, u as SnapshotQuery, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-Bw-lWqzR.js";
6
+ import { a as ProtectTarget, n as FetchAdapterOptions, t as ContextReader } from "../fetch-adapter-BgqpOOpd.js";
7
7
  import { RequestMiddleware, RequestMiddlewareAfterServer, createMiddleware } from "@tanstack/react-start";
8
8
  //#region src/tanstack-start/create.d.ts
9
9
  type TanStackStartPermDockOptions<TUser = unknown> = FetchAdapterOptions<Request, TUser>;
@@ -1,5 +1,5 @@
1
- import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-IBceAeKT.js";
2
- import { t as fetchAdapter } from "../fetch-adapter-dPTgJVHd.js";
1
+ import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-DG40eSJa.js";
2
+ import { t as fetchAdapter } from "../fetch-adapter-UZOW0PRC.js";
3
3
  import { createMiddleware } from "@tanstack/react-start";
4
4
  //#region src/tanstack-start/create.ts
5
5
  function createPermDock(policy, options) {
@@ -1,7 +1,7 @@
1
1
  import { o as sameId, t as expiredAt } from "./expiry-6XByK0dm.js";
2
2
  import { l as isFieldRelation } from "./resource-relations-8-pCScBO.js";
3
3
  import { o as epochSeconds } from "./time-nR1JesoH.js";
4
- import { d as scopeIdOf, h as tenantOf, l as rootScope, r as findScope, s as resolveScope, t as activeFor, u as scopeChain } from "./scopes-0Up_UA2t.js";
4
+ import { c as rootScope, l as scopeChain, p as tenantOf, r as findScope, s as resolveScope, t as activeFor, u as scopeIdOf } from "./scopes-BSdYaGHs.js";
5
5
  //#region src/core/tenancy.ts
6
6
  function nowSeconds(now) {
7
7
  return now ?? epochSeconds();
@@ -1,9 +1,9 @@
1
- import { T as Policy, Un as Decision, Wt as Instant, hr as Subject, j as PolicyVocabulary, pr as Principal } from "../policy-types-DGIO_gxq.js";
1
+ import { E as Policy, Kt as Instant, M as PolicyVocabulary, _r as Principal, qn as Decision, yr as Subject } from "../policy-types-IRJVABmm.js";
2
2
  import { u as Permission } from "../permission-types-CAY-GU7e.js";
3
- import { a as PermDock } from "../permdock-CprAPN3w.js";
4
- import { m as ApprovalStore } from "../types-DLvhVm1r.js";
5
- import { a as ProblemDetails, t as ApprovalHint } from "../errors-BIM4MFsJ.js";
6
- import { t as InstanceOptions } from "../instance-options-CoHn-0e8.js";
3
+ import { a as PermDock } from "../permdock-DUWZEOLR.js";
4
+ import { m as ApprovalStore } from "../types-BvBbkAu1.js";
5
+ import { a as ProblemDetails, t as ApprovalHint } from "../errors-Dc9FdamT.js";
6
+ import { t as InstanceOptions } from "../instance-options-BOCRxEFb.js";
7
7
  //#region src/terminal/types.d.ts
8
8
  type TokenSourceName = "device" | "keychain" | "env" | "ci-oidc";
9
9
  type TokenSource = TokenSourceName | {
@@ -1,13 +1,13 @@
1
1
  import { t as compact } from "../compact-CAf557ZB.js";
2
2
  import { a as deniedMessage, i as approvalMessage, n as PermDockDeniedError, t as PermDockApprovalRequiredError } from "../errors-B6R_lg2a.js";
3
3
  import { h as secondsAt } from "../time-nR1JesoH.js";
4
+ import { r as isSubject } from "../subject-C7RddW0G.js";
4
5
  import { n as resourceRef } from "../resource-ref-CaS9yVPi.js";
5
- import { l as withApp } from "../permdock-BvjivVb9.js";
6
- import { r as isSubject } from "../subject-BGoM5o8B.js";
6
+ import { l as withApp } from "../permdock-DdzMv5-F.js";
7
7
  import { n as readBodyText } from "../body-text-DQhcmqdY.js";
8
- import { l as storedApprovalToken, s as resumeDecision } from "../helpers-DJicaG6f.js";
8
+ import { l as storedApprovalToken, s as resumeDecision } from "../helpers-DNnZffrI.js";
9
9
  import { t as timeoutSignal } from "../timeout-D51niuQP.js";
10
- import { n as resolveOrNull, t as buildInstance } from "../build-instance-BWXqwQYU.js";
10
+ import { n as resolveOrNull, t as buildInstance } from "../build-instance-lye7oEqf.js";
11
11
  import { a as refreshCredential, o as revokeCredential, s as runDeviceFlow, t as TERMINAL_TIMEOUT_MS } from "../device-BwbJNmb2.js";
12
12
  import { i as writeCredentials, n as deleteCredentials, r as readCredentials } from "../storage-C2bWdvJH.js";
13
13
  import { createInterface } from "node:readline";
@@ -241,12 +241,12 @@ function envOf(options) {
241
241
  }
242
242
  /**
243
243
  * The local y/N is the requester answering for themselves, so it stands in for
244
- * an approval only where the grant allows that (`distinct: false`) and no agent
244
+ * an approval only where the grant allows that (`mode: 'confirm'`) and no agent
245
245
  * is acting for the user.
246
246
  */
247
247
  function answersLocally(decision, subject) {
248
248
  const approval = decision.grant.approval;
249
- return typeof approval === "object" && approval.distinct === false && subject.actor === void 0;
249
+ return typeof approval === "object" && approval.mode === "confirm" && subject.actor === void 0;
250
250
  }
251
251
  function isInteractive(options) {
252
252
  if (typeof options.interactive === "boolean") return options.interactive;
@@ -1,2 +1,2 @@
1
- import { S as policyMatrix, _ as DescribePolicyConfig, a as OrmParityScenario, b as PolicyMatrixCell, c as RlsFieldsOutcome, d as RlsParityOptions, f as RlsParityReport, g as testRlsParity, h as RlsQueryResult, i as OrmParityRunInput, l as RlsParityCase, m as RlsQueryFn, n as OrmParityOptions, o as testOrmParity, p as RlsParitySubject, r as OrmParityReport, s as RlsDbOutcome, t as OrmParityCase, u as RlsParityFixture, v as MatrixCell, x as PolicyMatrixReport, y as MatrixOutcome } from "../core-CFepFiDP.js";
1
+ import { S as policyMatrix, _ as DescribePolicyConfig, a as OrmParityScenario, b as PolicyMatrixCell, c as RlsFieldsOutcome, d as RlsParityOptions, f as RlsParityReport, g as testRlsParity, h as RlsQueryResult, i as OrmParityRunInput, l as RlsParityCase, m as RlsQueryFn, n as OrmParityOptions, o as testOrmParity, p as RlsParitySubject, r as OrmParityReport, s as RlsDbOutcome, t as OrmParityCase, u as RlsParityFixture, v as MatrixCell, x as PolicyMatrixReport, y as MatrixOutcome } from "../core-0iYZ5HUx.js";
2
2
  export { type DescribePolicyConfig, type MatrixCell, type MatrixOutcome, type OrmParityCase, type OrmParityOptions, type OrmParityReport, type OrmParityRunInput, type OrmParityScenario, type PolicyMatrixCell, type PolicyMatrixReport, type RlsDbOutcome, type RlsFieldsOutcome, type RlsParityCase, type RlsParityFixture, type RlsParityOptions, type RlsParityReport, type RlsParitySubject, type RlsQueryFn, type RlsQueryResult, policyMatrix, testOrmParity, testRlsParity };
@@ -1 +1 @@
1
- export { r as policyMatrix, t as testOrmParity, n as testRlsParity } from "../core-lxoANyai.js";
1
+ export { r as policyMatrix, t as testOrmParity, n as testRlsParity } from "../core-W5f4Rjt0.js";
@@ -1,4 +1,4 @@
1
- import { a as CatalogDocument } from "../../types-ZzRGoViD.js";
1
+ import { a as CatalogDocument } from "../../types-NYoj8JBm.js";
2
2
  import { i as SupabaseManifest } from "../../manifest-B5yF3CIq.js";
3
3
  //#region src/testing/fixtures/index.d.ts
4
4
  /**
@@ -1,5 +1,5 @@
1
1
  import { n as parseSupabaseManifest } from "../../manifest-BXTbHNIV.js";
2
- import { t as parseCatalog } from "../../parse-1_ZheTW5.js";
2
+ import { t as parseCatalog } from "../../parse-UTC-sDrt.js";
3
3
  //#region src/testing/fixtures/better-supabase.catalog.json
4
4
  var better_supabase_catalog_default = {
5
5
  $schema: "https://permdock.com/schemas/catalog-v1.json",
@@ -1,30 +1,31 @@
1
- import { G as CustomRoleSource, J as DecisionSink, T as Policy, U as CredentialVerifier, Y as EntitlementSource, Zt as Snapshot, bt as WhereCompiler, ct as SnapshotSource, dt as SubjectResolver, et as LimitStore, fr as Membership, hr as Subject, ht as TokenVerifier, mt as TokenSigner, nt as MembershipSource, ot as RelationSource, pr as Principal, q as DecisionProvider, sn as DeliveryChannel, st as SettingsSource } from "../policy-types-DGIO_gxq.js";
1
+ import { $t as Snapshot, E as Policy, J as DecisionProvider, K as CustomRoleSource, St as WhereCompiler, W as CredentialVerifier, X as EntitlementSource, Y as DecisionSink, _r as Principal, _t as TokenVerifier, ct as SettingsSource, gr as Membership, gt as TokenSigner, ln as DeliveryChannel, lt as SnapshotSource, pt as SubjectResolver, rt as MembershipSource, st as RelationSource, tt as LimitStore, yr as Subject } from "../policy-types-IRJVABmm.js";
2
2
  import { g as ResourceInit, l as InferPermissionTree, u as Permission } from "../permission-types-CAY-GU7e.js";
3
3
  import { r as Role } from "../vocabulary-DEJ5j4mR.js";
4
- import { st as LegacyCheck } from "../index-Cay5-Kvx.js";
5
- import { D as ApprovalPolicySource, _ as PrincipalSource, a as PermDock, b as Limits, h as PrincipalIdentity } from "../permdock-CprAPN3w.js";
6
- import { s as PolicySource } from "../hosted-DVxlLZMe.js";
7
- import { a as ApprovalDelegationSource, m as ApprovalStore } from "../types-DLvhVm1r.js";
8
- import { a as ProblemDetails } from "../errors-BIM4MFsJ.js";
9
- import { c as ModelMap, t as AgentPermDock, u as ToolMap } from "../create-BPUopdfL.js";
10
- import { c as AccessReviewStore } from "../types-B2efzoSX.js";
11
- import { R as IdempotencyStore } from "../index-DJwEgYzA.js";
4
+ import { st as LegacyCheck } from "../index-Bt-UoBWu.js";
5
+ import { i as ApprovalPolicySource } from "../approval-policies-9VagPixq.js";
6
+ import { C as InstanceCache, _ as PrincipalSource, a as PermDock, b as Limits, h as PrincipalIdentity } from "../permdock-DUWZEOLR.js";
7
+ import { s as PolicySource } from "../hosted-DxRLLiFU.js";
8
+ import { a as ApprovalDelegationSource, m as ApprovalStore } from "../types-BvBbkAu1.js";
9
+ import { a as ProblemDetails } from "../errors-Dc9FdamT.js";
10
+ import { c as ModelMap, t as AgentPermDock, u as ToolMap } from "../create-bzQlBzG4.js";
11
+ import { c as AccessReviewStore } from "../types-AOP5HQku.js";
12
+ import { R as IdempotencyStore } from "../index-CXXUFWtG.js";
12
13
  import { n as RevocationFeed } from "../revocations-BaUXHM1N.js";
13
- import { s as SupportSessionSource } from "../index-CV-7DWeD.js";
14
+ import { s as SupportSessionSource } from "../index-DtGtDzjb.js";
14
15
  import { r as SupabaseHookManifest } from "../manifest-B5yF3CIq.js";
15
- import { n as VersionCache } from "../version-cache-Df11C2Qp.js";
16
- import { t as supabaseMembershipsBudget } from "../budget-hYsPz_yE.js";
17
- import { a as AutomationSource, t as Automation } from "../automation-C6Jg75xq.js";
18
- import { c as DeliveryTransport, g as TransportMessages } from "../types-CN0LsqbK.js";
19
- import { t as CloudApproverOptions } from "../types-BB-zWDcR.js";
20
- import { n as ApprovalWaiter } from "../waiter-CqUKX6CY.js";
21
- import { g as SetQueue, l as ReplayStore } from "../types-DsHGPtkR.js";
22
- import { r as SnapshotStorage } from "../types-CWBsAwqn.js";
23
- import { x as DirectoryStore } from "../index-Dj2qF9VC.js";
24
- import { S as SsfStreamStore } from "../index-BinlXeU-.js";
25
- import { S as policyMatrix, _ as DescribePolicyConfig, a as OrmParityScenario, b as PolicyMatrixCell, c as RlsFieldsOutcome, d as RlsParityOptions, f as RlsParityReport, g as testRlsParity, h as RlsQueryResult, i as OrmParityRunInput, l as RlsParityCase, m as RlsQueryFn, n as OrmParityOptions, o as testOrmParity, p as RlsParitySubject, r as OrmParityReport, s as RlsDbOutcome, t as OrmParityCase, u as RlsParityFixture, v as MatrixCell, x as PolicyMatrixReport, y as MatrixOutcome } from "../core-CFepFiDP.js";
16
+ import { n as VersionCache } from "../version-cache-9Vq5QVFC.js";
17
+ import { t as supabaseMembershipsBudget } from "../budget-CNLsV2SL.js";
18
+ import { a as AutomationSource, t as Automation } from "../automation-DCWuVKtd.js";
19
+ import { c as DeliveryTransport, g as TransportMessages } from "../types-UfpcY575.js";
20
+ import { t as CloudApproverOptions } from "../types-CA-A33Q5.js";
21
+ import { n as ApprovalWaiter } from "../waiter-C2cXXLFZ.js";
22
+ import { g as SetQueue, l as ReplayStore } from "../types-CJC1aaoJ.js";
23
+ import { r as SnapshotStorage } from "../types-D29K5ZNP.js";
24
+ import { x as DirectoryStore } from "../index-CZ5mixHO.js";
25
+ import { S as SsfStreamStore } from "../index-z44pfWar.js";
26
+ import { S as policyMatrix, _ as DescribePolicyConfig, a as OrmParityScenario, b as PolicyMatrixCell, c as RlsFieldsOutcome, d as RlsParityOptions, f as RlsParityReport, g as testRlsParity, h as RlsQueryResult, i as OrmParityRunInput, l as RlsParityCase, m as RlsQueryFn, n as OrmParityOptions, o as testOrmParity, p as RlsParitySubject, r as OrmParityReport, s as RlsDbOutcome, t as OrmParityCase, u as RlsParityFixture, v as MatrixCell, x as PolicyMatrixReport, y as MatrixOutcome } from "../core-0iYZ5HUx.js";
26
27
  import { a as SaasProject } from "../permissions-Bx6UI8n1.js";
27
- import { n as saasPolicy } from "../policy-BycVKnXv.js";
28
+ import { n as saasPolicy } from "../policy-CTNl7pvN.js";
28
29
  import { expectTypeOf } from "vitest";
29
30
  //#region src/testing/describe-policy.d.ts
30
31
  /** `policyMatrix` under Vitest: one test per cell, plus the exhaustive check. */
@@ -642,6 +643,12 @@ export declare function testPolicySource(source: PolicySource, options?: {
642
643
  readonly policy?: Policy;
643
644
  }): void;
644
645
  export declare function testVersionCache(cache: VersionCache): void;
646
+ /**
647
+ * The `InstanceCache` contract: one build per key while it lives, a shared
648
+ * build in flight, no stored rejection, and `evict` dropping a principal's
649
+ * entries.
650
+ */
651
+ export declare function testInstanceCache(cache: InstanceCache): void;
645
652
  //#endregion
646
653
  //#region src/testing/conformance/providers.d.ts
647
654
  type DecisionProviderRunnerOptions = {
@@ -1,44 +1,45 @@
1
1
  import { r as isRecord } from "../compact-CAf557ZB.js";
2
2
  import { n as freezeDeep } from "../freeze-jjan0lCv.js";
3
3
  import { i as principal } from "../refs-C8BKxc_e.js";
4
- import { n as role, r as allow } from "../role-builder-BK2-T6oD.js";
5
- import { C as memoryLimitStore, E as approvalPoliciesFor, S as limits, d as snapshotFor, j as memoryCustomRoleSource } from "../src-C_pi2Rnh.js";
4
+ import { n as role, r as allow } from "../role-builder-BrmOcXch.js";
5
+ import { C as limits, D as approvalPoliciesFor, M as memoryCustomRoleSource, d as snapshotFor, w as memoryLimitStore } from "../src-nYNBfmgq.js";
6
6
  import { t as memoryRevocationFeed } from "../revocations-Bhr0aMIC.js";
7
7
  import { n as loadPrincipalByIdentity, t as loadPrincipal } from "../principal-source-C6N60GtM.js";
8
8
  import { v as resource } from "../permission-registry-B8tYxPIt.js";
9
9
  import { d as isoNow, f as nowMillis, p as nowSeconds, u as isoAt } from "../time-nR1JesoH.js";
10
10
  import { r as parseAutomation } from "../automation-x3KEUusw.js";
11
- import { f as scopeList, o as normalizeMemberships } from "../scopes-0Up_UA2t.js";
12
- import { u as evaluateCondition } from "../delegation-CDB6_keF.js";
11
+ import { d as scopeList, o as normalizeMemberships } from "../scopes-BSdYaGHs.js";
12
+ import { u as evaluateCondition } from "../delegation-aK4T_5WU.js";
13
13
  import { a as authenticated } from "../grantee-Dke-9rd1.js";
14
14
  import { t as byCodePoint } from "../compare-DTfyUunF.js";
15
- import { r as definePolicy } from "../policy-CLQ8__GF.js";
16
- import { c as mergeHostedGrants, l as parsePolicyDocument } from "../hosted-D0IzESu_.js";
15
+ import { r as definePolicy } from "../policy-DxQyHKPB.js";
16
+ import { c as mergeHostedGrants, l as parsePolicyDocument } from "../hosted-tPZnyjQS.js";
17
17
  import { t as definePermissions } from "../permissions-CVXmRILq.js";
18
- import { T as validateCustomRole } from "../evaluate-BAmf_AQd.js";
19
- import { n as parseSnapshot } from "../snapshot-CXlzi69u.js";
20
- import { n as fromSnapshot } from "../from-snapshot-DCakWRsr.js";
21
- import { t as getPermDock } from "../permdock-BvjivVb9.js";
18
+ import { i as rootMembershipId } from "../subject-C7RddW0G.js";
19
+ import { T as validateCustomRole } from "../evaluate-CsjXeLRo.js";
20
+ import { n as parseSnapshot } from "../snapshot-DN_8J27z.js";
21
+ import { n as fromSnapshot } from "../from-snapshot-DMlSSo9b.js";
22
+ import { t as getPermDock } from "../permdock-DdzMv5-F.js";
22
23
  import { t as APPROVAL_HEADER } from "../types-CcUXciSj.js";
23
- import { i as memoryApprovalStore } from "../store-RNFvaJJv.js";
24
+ import { i as memoryApprovalStore } from "../store-XgBMbfDy.js";
24
25
  import { t as catalogFingerprint } from "../catalog-fingerprint-e6aCWosn.js";
25
- import { s as parseCredential } from "../credential-CyyyvCsL.js";
26
+ import { s as parseCredential } from "../credential-B3Hj4puZ.js";
26
27
  import { c as problemFromDecision } from "../problem-BVLHFK33.js";
27
- import { o as resolveApproval } from "../helpers-DJicaG6f.js";
28
- import { t as APPROVAL_REQUEST_SCHEMA } from "../request-schema-DhX7UbfQ.js";
29
- import { t as catalogSchema } from "../schema-BOJjqlWL.js";
30
- import { t as supabaseMembershipsBudget } from "../budget-BELja5A9.js";
31
- import { c as parseApiKey } from "../server-3cVlTLde.js";
28
+ import { o as resolveApproval } from "../helpers-DNnZffrI.js";
29
+ import { t as APPROVAL_REQUEST_SCHEMA } from "../request-schema-CMP8Cmxd.js";
30
+ import { t as catalogSchema } from "../schema-CuX70xgH.js";
31
+ import { t as supabaseMembershipsBudget } from "../budget-BBCPDOGP.js";
32
+ import { c as parseApiKey } from "../server-D0PW6ZCw.js";
32
33
  import { n as discoverAuthorizationServer } from "../device-BwbJNmb2.js";
33
34
  import { t as CONNECTOR_SCHEMA } from "../connector-schema-CYLQNMYq.js";
34
- import { l as sha256Hex, n as scimHandler, t as directoryMembershipSource } from "../scim-jJBJ7g1Z.js";
35
+ import { l as sha256Hex, n as scimHandler, t as directoryMembershipSource } from "../scim-C30QBBoF.js";
35
36
  import { c as quoteSqlTable, o as quoteSqlIdent } from "../sql-0WjxIp9g.js";
36
- import { i as cloudEndpoints, n as cloud, s as approverHeaders, t as bearerChallenge } from "../challenge-DImNcR7B.js";
37
+ import { i as cloudEndpoints, n as cloud, s as approverHeaders, t as bearerChallenge } from "../challenge-M_ghKJnT.js";
37
38
  import { t as supabaseManifestSchema } from "../manifest-schema-DQkBK2Mr.js";
38
- import { t as PUSHED_POLICY_SCHEMA } from "../pushed-policy-CDuOL2de.js";
39
- import { i as policyMatrixLayout, n as testRlsParity, r as policyMatrix, t as testOrmParity } from "../core-lxoANyai.js";
40
- import { i as saasPermissions } from "../permissions-CYcHj_w7.js";
41
- import { C as saasOrg, E as saasSeed, S as saasMemberships, a as saasProject, g as verifySaasSession, h as signSaasToken, k as saasPolicy, t as saasDoc, w as saasPrincipal, x as saasCustomRoles } from "../saas-DK4V-3Is.js";
39
+ import { t as PUSHED_POLICY_SCHEMA } from "../pushed-policy-DMXAOmEW.js";
40
+ import { i as policyMatrixLayout, n as testRlsParity, r as policyMatrix, t as testOrmParity } from "../core-W5f4Rjt0.js";
41
+ import { i as saasPermissions } from "../permissions-CvpPtz5O.js";
42
+ import { C as saasOrg, E as saasSeed, S as saasMemberships, a as saasProject, g as verifySaasSession, h as signSaasToken, k as saasPolicy, t as saasDoc, w as saasPrincipal, x as saasCustomRoles } from "../saas-BqM9mJkk.js";
42
43
  import { t as POLICY_NOT_PUBLISHED } from "../problem-types-DSsRfONQ.js";
43
44
  import { t as require__2020 } from "../2020-CJbO8Bvz.js";
44
45
  import { afterAll, assert, beforeAll, describe, expect, expectTypeOf, it, vi } from "vitest";
@@ -135,12 +136,14 @@ function leadSnapshot() {
135
136
  memberships: [
136
137
  ...saasMemberships("gina"),
137
138
  {
138
- tenant: "globex",
139
+ scope: "tenant",
140
+ id: "globex",
139
141
  roles: ["viewer"]
140
142
  },
141
143
  {
142
- tenant: "globex",
143
- team: "team-a",
144
+ within: { tenant: "globex" },
145
+ scope: "team",
146
+ id: "team-a",
144
147
  roles: ["lead"]
145
148
  }
146
149
  ]
@@ -573,7 +576,10 @@ function createDomain$2() {
573
576
  const principal = saasPrincipal(sub, orgOf(path));
574
577
  return {
575
578
  ...principal,
576
- memberships: (principal.memberships ?? []).filter((membership) => membership.tenant === void 0 || !demoted.has(demotionKey(sub, membership.tenant)))
579
+ memberships: (principal.memberships ?? []).filter((membership) => {
580
+ const tenant = membership.within?.["tenant"] ?? rootMembershipId(membership);
581
+ return tenant === void 0 || !demoted.has(demotionKey(sub, tenant));
582
+ })
577
583
  };
578
584
  };
579
585
  return {
@@ -1874,7 +1880,8 @@ function tenantApprover(tenant) {
1874
1880
  id: "u_9",
1875
1881
  roles: [],
1876
1882
  memberships: [{
1877
- tenant,
1883
+ scope: "tenant",
1884
+ id: tenant,
1878
1885
  roles: ["admin"]
1879
1886
  }]
1880
1887
  },
@@ -2013,7 +2020,7 @@ function testApprovalStore(store, options = {}) {
2013
2020
  by: member
2014
2021
  }))).rejects.toThrow(/eligible|not pending|not found/u);
2015
2022
  });
2016
- it("refuses the principal as approver unless the grant sets distinct: false", async () => {
2023
+ it("refuses the principal as approver unless the grant sets mode: confirm", async () => {
2017
2024
  const principal = {
2018
2025
  principal: {
2019
2026
  id: "u_1",
@@ -2024,9 +2031,9 @@ function testApprovalStore(store, options = {}) {
2024
2031
  const shapes = [
2025
2032
  ["self-human", void 0],
2026
2033
  ["self-by", { by: admin$2 }],
2027
- ["self-distinct", {
2034
+ ["self-authorize", {
2028
2035
  by: admin$2,
2029
- distinct: true
2036
+ mode: "authorize"
2030
2037
  }]
2031
2038
  ];
2032
2039
  for (const [token, approvers] of shapes) {
@@ -2044,7 +2051,7 @@ function testApprovalStore(store, options = {}) {
2044
2051
  ...sampleApproval("self-optout"),
2045
2052
  approvers: {
2046
2053
  by: admin$2,
2047
- distinct: false
2054
+ mode: "confirm"
2048
2055
  }
2049
2056
  });
2050
2057
  const resolved = await store.resolve("self-optout", {
@@ -2183,7 +2190,7 @@ function testApprovalStore(store, options = {}) {
2183
2190
  await store.create({
2184
2191
  ...sampleApproval("stages-token"),
2185
2192
  approvers: {
2186
- mode: "sequential",
2193
+ combine: "sequential",
2187
2194
  stages: [{ by: {
2188
2195
  kind: "user",
2189
2196
  id: "u_10"
@@ -2499,6 +2506,16 @@ function testVersionCache(cache) {
2499
2506
  expect(await cache.current(principal, read, { live: false })).toBe(1);
2500
2507
  expect(calls.count).toBe(1);
2501
2508
  });
2509
+ it("answers a read from a seed and never lowers a seeded version", async () => {
2510
+ const { calls, read } = counted(1);
2511
+ const principal = { id: "u-version-seed" };
2512
+ cache.seed(principal.id, 6);
2513
+ cache.seed(principal.id, 5);
2514
+ if (cache.maxStaleMs > 0) {
2515
+ expect(await cache.current(principal, read, { live: false })).toBe(6);
2516
+ expect(calls.count).toBe(0);
2517
+ }
2518
+ });
2502
2519
  it("reads again after evict", async () => {
2503
2520
  const { calls, read } = counted(3);
2504
2521
  const principal = { id: "u-version-evict" };
@@ -2509,6 +2526,60 @@ function testVersionCache(cache) {
2509
2526
  expect(cache.stats().reads).toBeGreaterThanOrEqual(2);
2510
2527
  });
2511
2528
  }
2529
+ /**
2530
+ * The `InstanceCache` contract: one build per key while it lives, a shared
2531
+ * build in flight, no stored rejection, and `evict` dropping a principal's
2532
+ * entries.
2533
+ */
2534
+ function testInstanceCache(cache) {
2535
+ const key = (principal, version = 1) => ({
2536
+ principal,
2537
+ version,
2538
+ intent: "read",
2539
+ parts: {}
2540
+ });
2541
+ const counted = () => {
2542
+ const calls = { count: 0 };
2543
+ const build = async () => {
2544
+ calls.count += 1;
2545
+ return { n: calls.count };
2546
+ };
2547
+ return {
2548
+ calls,
2549
+ build
2550
+ };
2551
+ };
2552
+ it("builds once per key and keys versions apart", async () => {
2553
+ const { calls, build } = counted();
2554
+ const first = await cache.instance(key("u-instance-key"), [], build);
2555
+ const again = await cache.instance(key("u-instance-key"), [], build);
2556
+ const next = await cache.instance(key("u-instance-key", 2), [], build);
2557
+ if (cache.maxAgeMs > 0) {
2558
+ expect(again).toBe(first);
2559
+ expect(calls.count).toBe(2);
2560
+ }
2561
+ expect(next).not.toBe(first);
2562
+ });
2563
+ it("shares one build between concurrent calls", async () => {
2564
+ const { calls, build } = counted();
2565
+ const built = await Promise.all(Array.from({ length: 5 }, async () => cache.instance(key("u-instance-shared"), [], build)));
2566
+ expect(new Set(built).size).toBe(1);
2567
+ expect(calls.count).toBe(1);
2568
+ });
2569
+ it("stores no rejected build", async () => {
2570
+ await expect(cache.instance(key("u-instance-failed"), [], () => Promise.reject(/* @__PURE__ */ new Error("down")))).rejects.toThrow("down");
2571
+ const { calls, build } = counted();
2572
+ await cache.instance(key("u-instance-failed"), [], build);
2573
+ expect(calls.count).toBe(1);
2574
+ });
2575
+ it("builds again after evict", async () => {
2576
+ const { calls, build } = counted();
2577
+ await cache.instance(key("u-instance-evict"), [], build);
2578
+ cache.evict("u-instance-evict");
2579
+ await cache.instance(key("u-instance-evict"), [], build);
2580
+ expect(calls.count).toBe(2);
2581
+ });
2582
+ }
2512
2583
  //#endregion
2513
2584
  //#region src/testing/cloud-api/platform.ts
2514
2585
  const CATALOG = "https://permdock.com/schemas/catalog-v1.json";
@@ -5657,12 +5728,7 @@ function testMembershipSource(source, options) {
5657
5728
  memberships = [];
5658
5729
  }
5659
5730
  for (const membership of memberships) {
5660
- const shapes = [
5661
- membership.scope !== void 0,
5662
- membership.tenant !== void 0 || membership.team !== void 0,
5663
- membership.on !== void 0
5664
- ].filter(Boolean);
5665
- expect(shapes.length).toBe(1);
5731
+ expect(membership.scope === void 0 !== (membership.on === void 0)).toBe(true);
5666
5732
  expect(Array.isArray(membership.roles)).toBe(true);
5667
5733
  if (options.policy !== void 0) expect(normalizeMemberships([membership], scopeList(options.policy.scopes))).toHaveLength(1);
5668
5734
  }
@@ -5781,7 +5847,8 @@ function testDirectoryStore(store, options) {
5781
5847
  value: true
5782
5848
  }]);
5783
5849
  expect(await source.membershipsFor({ id: "00u1" }, { tenant: home })).toStrictEqual([{
5784
- tenant: home,
5850
+ scope: "tenant",
5851
+ id: home,
5785
5852
  roles: ["editor"],
5786
5853
  via: `group:${group.id}`,
5787
5854
  managedBy: "idp"
@@ -6001,7 +6068,8 @@ const supabaseClaimFixtures = {
6001
6068
  user_metadata: {
6002
6069
  user_role: "admin",
6003
6070
  memberships: [{
6004
- tenant: "acme",
6071
+ scope: "tenant",
6072
+ id: "acme",
6005
6073
  roles: ["owner"]
6006
6074
  }]
6007
6075
  }
@@ -6017,10 +6085,12 @@ const supabaseClaimFixtures = {
6017
6085
  ...base,
6018
6086
  tenant_id: "acme",
6019
6087
  memberships: [{
6020
- tenant: "acme",
6088
+ scope: "tenant",
6089
+ id: "acme",
6021
6090
  roles: ["admin"]
6022
6091
  }, {
6023
- tenant: "globex",
6092
+ scope: "tenant",
6093
+ id: "globex",
6024
6094
  roles: ["viewer"]
6025
6095
  }]
6026
6096
  },
@@ -6029,10 +6099,12 @@ const supabaseClaimFixtures = {
6029
6099
  roles: [],
6030
6100
  tenant: "acme",
6031
6101
  memberships: [{
6032
- tenant: "acme",
6102
+ scope: "tenant",
6103
+ id: "acme",
6033
6104
  roles: ["admin"]
6034
6105
  }, {
6035
- tenant: "globex",
6106
+ scope: "tenant",
6107
+ id: "globex",
6036
6108
  roles: ["viewer"]
6037
6109
  }]
6038
6110
  }
@@ -6586,4 +6658,4 @@ const PROBLEM_EXAMPLES = Object.freeze({
6586
6658
  }
6587
6659
  });
6588
6660
  //#endregion
6589
- export { AGENT_THROWING_ROW, AGENT_THROWING_USER, PROBLEM_EXAMPLES, authzenTodoData, authzenTodoPermissions, authzenTodoPolicy, authzenTodoUsers, authzenTodoVectors, describePolicy, expectTypeOf, jwtFixtureAudience, jwtFixtureIssuer, jwtFixtureJwks, jwtFixtureTokens, policyMatrix, seedRows, snapshotFixture, supabaseClaimFixtures, supabaseClaimVectors, supabaseHookManifestFixture, supabaseMembershipsBudget, testAccessReviewStore, testAgentAdapter, testAgentRuntime, testApprovalDelegationSource, testApprovalPolicySource, testApprovalStore, testApprovalWaiter, testAuthzen, testAutomationSource, testClientParity, testClientStore, testCloudApi, testCredentialVerifier, testCustomRoleSource, testDecisionProvider, testDecisionSink, testDeliveryTransport, testDirectoryStore, testEntitlementSource, testHttpAdapter, testIdempotencyStore, testLegacyParity, testLimitStore, testMembershipSource, testOrmParity, testPolicySource, testPrincipalSource, testRelationSource, testReplayStore, testRevocationFeed, testRlsParity, testSetQueue, testSettingsSource, testSnapshotSource, testSnapshotStorage, testSsfStreamStore, testSubjectResolver, testSupportSessionSource, testTokenSigner, testTokenVerifier, testVersionCache, testWhereCompiler };
6661
+ export { AGENT_THROWING_ROW, AGENT_THROWING_USER, PROBLEM_EXAMPLES, authzenTodoData, authzenTodoPermissions, authzenTodoPolicy, authzenTodoUsers, authzenTodoVectors, describePolicy, expectTypeOf, jwtFixtureAudience, jwtFixtureIssuer, jwtFixtureJwks, jwtFixtureTokens, policyMatrix, seedRows, snapshotFixture, supabaseClaimFixtures, supabaseClaimVectors, supabaseHookManifestFixture, supabaseMembershipsBudget, testAccessReviewStore, testAgentAdapter, testAgentRuntime, testApprovalDelegationSource, testApprovalPolicySource, testApprovalStore, testApprovalWaiter, testAuthzen, testAutomationSource, testClientParity, testClientStore, testCloudApi, testCredentialVerifier, testCustomRoleSource, testDecisionProvider, testDecisionSink, testDeliveryTransport, testDirectoryStore, testEntitlementSource, testHttpAdapter, testIdempotencyStore, testInstanceCache, testLegacyParity, testLimitStore, testMembershipSource, testOrmParity, testPolicySource, testPrincipalSource, testRelationSource, testReplayStore, testRevocationFeed, testRlsParity, testSetQueue, testSettingsSource, testSnapshotSource, testSnapshotStorage, testSsfStreamStore, testSubjectResolver, testSupportSessionSource, testTokenSigner, testTokenVerifier, testVersionCache, testWhereCompiler };
@@ -1,8 +1,8 @@
1
- import { Wt as Instant, et as LimitStore, fr as Membership, hr as Subject, lr as Delegation, ot as RelationSource, pr as Principal, rr as Actor, sr as CustomRole } from "../../policy-types-DGIO_gxq.js";
1
+ import { Kt as Instant, _r as Principal, dr as CustomRole, gr as Membership, pr as Delegation, sr as Actor, st as RelationSource, tt as LimitStore, yr as Subject } from "../../policy-types-IRJVABmm.js";
2
2
  import { u as Permission } from "../../permission-types-CAY-GU7e.js";
3
- import { o as PermDockOptions } from "../../permdock-CprAPN3w.js";
3
+ import { o as PermDockOptions } from "../../permdock-DUWZEOLR.js";
4
4
  import { a as SaasProject, c as saasPlans, i as SaasFolderSchema, l as saasRoles, n as SaasDocSchema, o as SaasProjectSchema, r as SaasFolder, s as saasPermissions, t as SaasDoc, u as saasTenantRoleNames } from "../../permissions-Bx6UI8n1.js";
5
- import { n as saasPolicy, t as SAAS_API_KEY_LIMIT } from "../../policy-BycVKnXv.js";
5
+ import { n as saasPolicy, t as SAAS_API_KEY_LIMIT } from "../../policy-CTNl7pvN.js";
6
6
  import { StandardSchemaV1 } from "@standard-schema/spec";
7
7
  //#region src/testing/saas/schema.d.ts
8
8
  type FieldKind = "string" | "boolean" | "nullable-string";
@@ -1,3 +1,3 @@
1
- import { a as saasPlans, c as rowSchema, i as saasPermissions, n as SaasFolderSchema, o as saasRoles, r as SaasProjectSchema, s as saasTenantRoleNames, t as SaasDocSchema } from "../../permissions-CYcHj_w7.js";
2
- import { C as saasOrg, D as saasUsers, E as saasSeed, O as SAAS_API_KEY_LIMIT, S as saasMemberships, T as saasRelations, _ as verifySaasToken, a as saasProject, b as SAAS_EXPIRED_AT, c as saasUser, d as saasIssuer, f as saasJwks, g as verifySaasSession, h as signSaasToken, i as saasLimitStore, k as saasPolicy, l as SAAS_TOKEN_TTL_SECONDS, m as saasPublicJwk, n as saasFolder, o as saasScenarioOptions, p as saasPrivateJwk, r as saasFolderScenarios, s as saasScenarios, t as saasDoc, u as saasAudience, v as saasSchemaSql, w as saasPrincipal, x as saasCustomRoles, y as saasSeedSql } from "../../saas-DK4V-3Is.js";
1
+ import { a as saasPlans, c as rowSchema, i as saasPermissions, n as SaasFolderSchema, o as saasRoles, r as SaasProjectSchema, s as saasTenantRoleNames, t as SaasDocSchema } from "../../permissions-CvpPtz5O.js";
2
+ import { C as saasOrg, D as saasUsers, E as saasSeed, O as SAAS_API_KEY_LIMIT, S as saasMemberships, T as saasRelations, _ as verifySaasToken, a as saasProject, b as SAAS_EXPIRED_AT, c as saasUser, d as saasIssuer, f as saasJwks, g as verifySaasSession, h as signSaasToken, i as saasLimitStore, k as saasPolicy, l as SAAS_TOKEN_TTL_SECONDS, m as saasPublicJwk, n as saasFolder, o as saasScenarioOptions, p as saasPrivateJwk, r as saasFolderScenarios, s as saasScenarios, t as saasDoc, u as saasAudience, v as saasSchemaSql, w as saasPrincipal, x as saasCustomRoles, y as saasSeedSql } from "../../saas-BqM9mJkk.js";
3
3
  export { SAAS_API_KEY_LIMIT, SAAS_EXPIRED_AT, SAAS_TOKEN_TTL_SECONDS, SaasDocSchema, SaasFolderSchema, SaasProjectSchema, rowSchema, saasAudience, saasCustomRoles, saasDoc, saasFolder, saasFolderScenarios, saasIssuer, saasJwks, saasLimitStore, saasMemberships, saasOrg, saasPermissions, saasPlans, saasPolicy, saasPrincipal, saasPrivateJwk, saasProject, saasPublicJwk, saasRelations, saasRoles, saasScenarioOptions, saasScenarios, saasSchemaSql, saasSeed, saasSeedSql, saasTenantRoleNames, saasUser, saasUsers, signSaasToken, verifySaasSession, verifySaasToken };
@@ -1 +1 @@
1
- export { t as SaasDocSchema, n as SaasFolderSchema, r as SaasProjectSchema, i as saasPermissions, a as saasPlans, o as saasRoles, s as saasTenantRoleNames } from "../../permissions-CYcHj_w7.js";
1
+ export { t as SaasDocSchema, n as SaasFolderSchema, r as SaasProjectSchema, i as saasPermissions, a as saasPlans, o as saasRoles, s as saasTenantRoleNames } from "../../permissions-CvpPtz5O.js";
@@ -0,0 +1,11 @@
1
+ //#region src/core/token.d.ts
2
+ /**
3
+ * The hex SHA-256 of `value` as sorted-key JSON: the same string
4
+ * better-supabase's `approvalFingerprint` resolves to, returned synchronously.
5
+ * Pass the exact operation an approval covers (the subject, the action and its
6
+ * arguments) as `fingerprint` so an approval for one change cannot run
7
+ * another.
8
+ */
9
+ declare function approvalFingerprint(value: unknown): string;
10
+ //#endregion
11
+ export { approvalFingerprint as t };