permdock 0.5.0 → 0.7.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 (399) hide show
  1. package/README.md +1 -0
  2. package/dist/{2020-C9VN-x8c.js → 2020-CJbO8Bvz.js} +1 -3
  3. package/dist/a2a/index.d.ts +5 -5
  4. package/dist/a2a/index.js +4 -4
  5. package/dist/{adoption-scan-B4R5fnMU.js → adoption-scan-D-feE7BE.js} +1 -1
  6. package/dist/agent/index.d.ts +3 -3
  7. package/dist/agent/index.js +1 -1
  8. package/dist/ai-sdk/index.d.ts +21 -6
  9. package/dist/ai-sdk/index.js +19 -9
  10. package/dist/{approval-prompt-Djo_PyZc.d.ts → approval-prompt-K0faOLFp.d.ts} +2 -2
  11. package/dist/approvals/index.d.ts +4 -4
  12. package/dist/approvals/index.js +4 -4
  13. package/dist/{approvals-DJ6Yd5z1.js → approvals-CMRfsbBh.js} +74 -48
  14. package/dist/{arazzo-B6lebmiQ.js → arazzo-ClrF3PVb.js} +2 -2
  15. package/dist/{arazzo-BWhNF-k0.js → arazzo-rdeJ8n1J.js} +4 -4
  16. package/dist/{args-IIolxxKA.js → args-CC3OwyHW.js} +112 -2
  17. package/dist/astro/index.d.ts +6 -6
  18. package/dist/astro/index.js +2 -2
  19. package/dist/{audience-Dg8XsRaO.js → audience-BrMs8c4o.js} +1 -1
  20. package/dist/{auth-DRLEizbL.js → auth-CscUX8Sy.js} +3 -4
  21. package/dist/authzen/index.d.ts +162 -22
  22. package/dist/authzen/index.js +315 -146
  23. package/dist/{automation-BMZPIVUM.d.ts → automation-DOtAFWdy.d.ts} +3 -3
  24. package/dist/{automation-DVjOckjV.js → automation-ySsxp_Yp.js} +1 -1
  25. package/dist/base-url-BQbddZO5.js +9 -0
  26. package/dist/better-auth/index.d.ts +2 -2
  27. package/dist/better-auth/index.js +2 -2
  28. package/dist/better-supabase/index.d.ts +50 -8
  29. package/dist/better-supabase/index.js +94 -32
  30. package/dist/{bind-CZzhx-Vj.js → bind-D1nO6fiC.js} +5 -5
  31. package/dist/{bind--9EFVYWF.d.ts → bind-JDuvxjuW.d.ts} +7 -7
  32. package/dist/{build-instance-BMnAudHn.js → build-instance-DxE7czo9.js} +1 -1
  33. package/dist/{canonical-json-BC8_nMTw.js → canonical-json-DwilZ1iB.js} +6 -3
  34. package/dist/{capability-BSslw1QV.d.ts → capability-D4UC9TTW.d.ts} +2 -2
  35. package/dist/{capability-N1K9IpqS.js → capability-L7NnfhiE.js} +1 -1
  36. package/dist/{casbin-Cr7RLtA3.js → casbin-BHijLuHY.js} +2 -2
  37. package/dist/{casbin-Dyu2gnUD.js → casbin-BW9pS47J.js} +1 -1
  38. package/dist/{casl-64gpT-8x.js → casl-CmJlgziS.js} +2 -2
  39. package/dist/{casl-DjEDhTCP.js → casl-UbI8v-Wq.js} +1 -1
  40. package/dist/catalog/index.d.ts +70 -10
  41. package/dist/catalog/index.js +112 -6
  42. package/dist/catalog-BCCjSAdH.js +1 -0
  43. package/dist/{catalog-R_A__RsH.js → catalog-BaMQfQ6Y.js} +3 -3
  44. package/dist/{catalog-BECMPrwc.js → catalog-D69WhFii.js} +43 -13
  45. package/dist/{catalog-doc-C9wjsfNY.js → catalog-doc-CV9s6B1S.js} +28 -5
  46. package/dist/{catalog-fingerprint-CCP0-yQS.js → catalog-fingerprint-C144oW4M.js} +1 -1
  47. package/dist/{create-BWRSXgOF.js → challenge-nGWma08S.js} +122 -25
  48. package/dist/chat/index.d.ts +1 -1
  49. package/dist/chat/index.js +2 -2
  50. package/dist/chat-sdk/index.d.ts +3 -3
  51. package/dist/checks-BC_0mPIq.js +37 -0
  52. package/dist/claude-agent/index.d.ts +3 -3
  53. package/dist/claude-agent/index.js +2 -2
  54. package/dist/clerk/index.d.ts +3 -3
  55. package/dist/clerk/index.js +1 -1
  56. package/dist/cli/bin.js +2 -2
  57. package/dist/cli/index.d.ts +3 -3
  58. package/dist/cli/index.js +3 -3
  59. package/dist/cloud/index.d.ts +127 -11
  60. package/dist/cloud/index.js +251 -3
  61. package/dist/{cloud-CIoHNevm.js → cloud-CO8pYtwr.js} +5 -5
  62. package/dist/{codemod-Cxvvc70T.js → codemod-BP6n8N9L.js} +3 -3
  63. package/dist/{codemod-Bmj9dWMH.js → codemod-i4N2BhDc.js} +3 -3
  64. package/dist/{collect-CrZJJnEF.js → collect-BaWeMjwV.js} +17 -8
  65. package/dist/{collect-DloHbDVa.js → collect-DNm3oKOk.js} +6 -5
  66. package/dist/collect-k_Dulxr5.js +1 -0
  67. package/dist/compile/index.d.ts +1 -1
  68. package/dist/compile/index.js +1 -1
  69. package/dist/{compile-CMqMx_IN.js → compile-BAEO5bOk.js} +2 -2
  70. package/dist/{compile-Ckm2HqBZ.d.ts → compile-COM2VKuN.d.ts} +3 -3
  71. package/dist/{completion-BqhRBJD8.js → completion-BNdVf7X2.js} +3 -3
  72. package/dist/{config-bs_kZeYq.js → config-CoQHDrDi.js} +7 -3
  73. package/dist/{config-B46rm9sc.js → config-DGZzMV1B.js} +2 -2
  74. package/dist/{config-report-DUgj62Ai.js → config-report-Cm7UITNA.js} +3 -3
  75. package/dist/connector-schema-_VCSsdtD.js +433 -0
  76. package/dist/{context-bbFHR-0D.js → context--uM9V3Ui.js} +2 -2
  77. package/dist/convex/index.d.ts +5 -5
  78. package/dist/convex/index.js +2 -2
  79. package/dist/core-B5-w6Kw9.js +335 -0
  80. package/dist/core-CQkE8Esr.d.ts +179 -0
  81. package/dist/{create-0VZ7Pdiu.d.ts → create-B2-CQqCI.d.ts} +5 -5
  82. package/dist/{create-C3b4B5eF.js → create-Cb86Z8Im.js} +9 -8
  83. package/dist/{create-DnrmLnLW.js → create-DJrlhEp9.js} +5 -5
  84. package/dist/{create-BFfm17UA.d.ts → create-QHuuPw3q.d.ts} +7 -7
  85. package/dist/{create-BDS7wc3y.d.ts → create-UTnUVETj.d.ts} +30 -10
  86. package/dist/{credential-DM2um3ha.js → credential-CIM7wHwA.js} +4 -4
  87. package/dist/{credentials-DPyHmYz5.js → credentials-BpuTwd7a.js} +1 -1
  88. package/dist/{deciding-columns-Sq12mEA6.js → deciding-columns-DRo2QM6E.js} +13 -2
  89. package/dist/{delegation-DaXVdDhM.js → delegation-C5rOdTp5.js} +5 -5
  90. package/dist/delivery/index.d.ts +5 -5
  91. package/dist/delivery/index.js +4 -3
  92. package/dist/{delivery-DCAgNyCn.js → delivery-rwOKLWRm.js} +51 -2
  93. package/dist/{denied-text-D8jDHgsl.d.ts → denied-text-D4qkEtFz.d.ts} +2 -2
  94. package/dist/{describe-BybMRY7A.js → describe-DZlnEtLy.js} +1 -0
  95. package/dist/{describe-BZUsixiL.d.ts → describe-O0SwYIK8.d.ts} +2 -2
  96. package/dist/{diff-CxZo9pTq.js → diff-Btr1c1Ow.js} +2 -2
  97. package/dist/{diff-DCePiN6M.js → diff-DzT-xD13.js} +10 -10
  98. package/dist/{doctor-DFjUxf2f.js → doctor-BU1szn63.js} +241 -49
  99. package/dist/{doctor-CxiwSfqH.js → doctor-BoK_y0KO.js} +4 -4
  100. package/dist/drizzle/index.d.ts +3 -3
  101. package/dist/drizzle/index.js +1 -1
  102. package/dist/elysia/index.d.ts +5 -5
  103. package/dist/elysia/index.js +3 -3
  104. package/dist/{errors-C2PXIv4c.d.ts → errors-B_Qg9D3e.d.ts} +2 -2
  105. package/dist/{errors-CWTY6uih.js → errors-DpP_U6Bf.js} +1 -0
  106. package/dist/{evaluate-_R8QkWaf.js → evaluate-B_oqFbWC.js} +130 -34
  107. package/dist/{evaluations-16UqqQ6W.d.ts → evaluations-BCddEOfO.d.ts} +4 -4
  108. package/dist/{evaluations-DZ2CbV5k.js → evaluations-DReoiVBw.js} +4 -4
  109. package/dist/eve/index.d.ts +5 -5
  110. package/dist/eve/index.js +3 -3
  111. package/dist/express/index.d.ts +5 -5
  112. package/dist/express/index.js +3 -3
  113. package/dist/fastify/index.d.ts +5 -5
  114. package/dist/fastify/index.js +3 -3
  115. package/dist/{fetch-adapter-qKJBuRqy.d.ts → fetch-adapter-CuhyYwC1.d.ts} +4 -4
  116. package/dist/{fetch-adapter-g0ypLkID.js → fetch-adapter-De-u6vhJ.js} +3 -3
  117. package/dist/{fields-D9tPVUUS.js → fields-ClcQLrVc.js} +48 -13
  118. package/dist/{files-C5ZI27eV.js → files-acUbNwWt.js} +15 -2
  119. package/dist/{fixtures-B7XrLeY7.js → fixtures-BTMW6zgU.js} +2 -2
  120. package/dist/{flags-C3DktBDY.js → flags-aaeRAdiD.js} +2 -2
  121. package/dist/{from-snapshot-D2lZt4Dd.js → from-snapshot-Bz469dIh.js} +17 -10
  122. package/dist/generate-3FNO5P5Q.js +159 -0
  123. package/dist/{grantee-Cn1HyUsI.js → grantee-BrRANrpT.js} +14 -4
  124. package/dist/{grantee-conditions-CcXf8hMM.js → grantee-conditions-C6P1Tvol.js} +1 -1
  125. package/dist/{grantee-match-DHArqY82.js → grantee-match-0RtHWQDx.js} +3 -3
  126. package/dist/h3/index.d.ts +4 -4
  127. package/dist/h3/index.js +3 -3
  128. package/dist/{helpers-DTcZOzhF.js → helpers-DY3vXuGs.js} +3 -3
  129. package/dist/hono/index.d.ts +5 -5
  130. package/dist/hono/index.js +3 -3
  131. package/dist/{hosted-DBDX0M-P.d.ts → hosted-BmjzxQhp.d.ts} +14 -2
  132. package/dist/{hosted-BZIAYvon.js → hosted-XBgU6RGT.js} +34 -12
  133. package/dist/{http-DXJ37RDA.js → http-Ca3Sr5x1.js} +1 -1
  134. package/dist/{import-DMmOG27O.js → import-Bz0GefWg.js} +5 -5
  135. package/dist/{import-CNV7I2Dw.js → import-DB2EG_iy.js} +3 -3
  136. package/dist/{index-CxGUswIC.d.ts → index-BE8y3moU.d.ts} +50 -8
  137. package/dist/{index-Chrs5fQ-.d.ts → index-BSfRl0hZ.d.ts} +6 -6
  138. package/dist/{index-DOVf7RJv.d.ts → index-BTkwrK7v.d.ts} +155 -17
  139. package/dist/index-CMiPH2Tv.d.ts +206 -0
  140. package/dist/{index-SGdIQyzc.d.ts → index-DH9DUDEM.d.ts} +18 -3
  141. package/dist/{index-BcHcPyIo.d.ts → index-DLwcuCN_.d.ts} +86 -7
  142. package/dist/index.d.ts +18 -17
  143. package/dist/index.js +27 -25
  144. package/dist/{init-GG6Jh8HD.js → init-5TXNji88.js} +5 -5
  145. package/dist/{init-DeMYsnYJ.js → init-B-4t1NzC.js} +4 -4
  146. package/dist/{instance-options-Omfd793B.d.ts → instance-options-CU0YQCLH.d.ts} +1 -1
  147. package/dist/{instance-snapshot-Cxq4ygFc.js → instance-snapshot-CjcwnEiV.js} +20 -14
  148. package/dist/jwt/index.d.ts +83 -5
  149. package/dist/jwt/index.js +143 -5
  150. package/dist/{kernel-5JatXyND.js → kernel-DVExUwkp.js} +138 -12
  151. package/dist/kysely/index.d.ts +3 -3
  152. package/dist/kysely/index.js +1 -1
  153. package/dist/load-DrMHXzgN.js +1 -0
  154. package/dist/{load-DFS_ry0W.js → load-DxroEzH1.js} +2 -2
  155. package/dist/{login-Dfe5RlYk.js → login-ClSJh5t5.js} +4 -4
  156. package/dist/{login-imhuwvn3.js → login-WC9HPJpU.js} +6 -10
  157. package/dist/{manifest-C8IzW3Do.js → manifest-B79YuF2T.js} +6 -2
  158. package/dist/{manifest-mx5ghSFM.d.ts → manifest-BVhExYhw.d.ts} +23 -2
  159. package/dist/{manifest-CtKR3GXL.js → manifest-Dv6q4i5s.js} +54 -35
  160. package/dist/{manifest-schema-C0kK_8V0.js → manifest-schema-Cv492Qev.js} +37 -7
  161. package/dist/{map-claims-D3oRmTk0.js → map-claims-etGIS_Dv.js} +14 -11
  162. package/dist/{map-error-TCAdw-eW.js → map-error-BQGyDm_M.js} +1 -1
  163. package/dist/mcp/index.d.ts +64 -10
  164. package/dist/mcp/index.js +151 -22
  165. package/dist/{migrate-BShP7Vf4.js → migrate-Dodel0IJ.js} +77 -24
  166. package/dist/nest/index.d.ts +5 -5
  167. package/dist/nest/index.js +3 -3
  168. package/dist/next/index.d.ts +9 -9
  169. package/dist/next/index.js +5 -5
  170. package/dist/next/plugin.d.ts +1 -1
  171. package/dist/next/plugin.js +2 -2
  172. package/dist/node/index.d.ts +5 -5
  173. package/dist/node/index.js +2 -2
  174. package/dist/openai/index.d.ts +5 -5
  175. package/dist/openai/index.js +3 -3
  176. package/dist/openapi/index.d.ts +14 -4
  177. package/dist/openapi/index.js +1 -1
  178. package/dist/{openapi-ahr8rHu3.js → openapi-DMocl1bh.js} +4 -4
  179. package/dist/{openapi-B7HZ0f-r.js → openapi-Ddb4628T.js} +2 -7
  180. package/dist/{openapi-DTaEmTSW.js → openapi-ztVaux6j.js} +8 -8
  181. package/dist/{operation-findings-DgATDpvh.js → operation-findings-kRcEp8lE.js} +1 -1
  182. package/dist/{operations-CxybZErY.d.ts → operations-BNLes61x.d.ts} +1 -1
  183. package/dist/orpc/index.d.ts +6 -6
  184. package/dist/orpc/index.js +4 -4
  185. package/dist/otel/index.d.ts +3 -3
  186. package/dist/otel/index.js +1 -1
  187. package/dist/{output-Dyw8fyPF.js → output-DgSDLrta.js} +7 -3
  188. package/dist/{output-files-DhRBBE4n.js → output-files-CCMdcFWb.js} +2 -2
  189. package/dist/output-files-DPAY7-GX.js +1 -0
  190. package/dist/{ownership-BatFgAA4.js → ownership-Z2LpxsGa.js} +1349 -883
  191. package/dist/parse-Ddhz2xf4.js +148 -0
  192. package/dist/{parse-local-manifest-CVSs6J9I.js → parse-local-manifest-T1Q8X3A2.js} +24 -1
  193. package/dist/{parse-local-manifest-DgqtruPn.d.ts → parse-local-manifest-e4mdwAKd.d.ts} +1 -1
  194. package/dist/pdp/index.d.ts +3 -3
  195. package/dist/pdp/index.js +7 -3
  196. package/dist/peer-12Q5I_RH.js +976 -0
  197. package/dist/{peer-CRvC7Hg1.js → peer-DOzzMfZL.js} +1 -1
  198. package/dist/{permdock-B9JxkBwC.js → permdock-BfWEeMqk.js} +177 -49
  199. package/dist/{permdock-D7eeLJER.d.ts → permdock-Dco6dyCK.d.ts} +34 -5
  200. package/dist/{permission-registry-Br4jSNVi.js → permission-registry-DpPtSKNZ.js} +1 -1
  201. package/dist/{vocabulary-D6lPdb4Z.d.ts → permission-types-DhNEmoRG.d.ts} +4 -62
  202. package/dist/{permissions-oEWfl-kl.d.ts → permissions-CoqCOfJ3.d.ts} +2 -1
  203. package/dist/{permissions-B-wCP5ZC.js → permissions-CyH2MV_B.js} +1 -1
  204. package/dist/{permissions-CZKiUfFM.js → permissions-DArULThq.js} +4 -4
  205. package/dist/pkce-5h8NgMQJ.js +21 -0
  206. package/dist/{policies-CO1oOymN.js → policies-B2lZIurj.js} +3 -3
  207. package/dist/{policy-Czo4n3Hs.d.ts → policy-B7dg_yzu.d.ts} +2 -2
  208. package/dist/{policy-DLZJ5gAp.js → policy-DaJy4nK4.js} +17 -8
  209. package/dist/{policy-from-catalog-DzhEc3Y9.js → policy-from-catalog-DFWYkNdu.js} +9 -9
  210. package/dist/{policy-types-DzwivBgR.d.ts → policy-types-B-F-qAZk.d.ts} +109 -5
  211. package/dist/postgres-store-BL9M_CA1.js +1001 -0
  212. package/dist/{postgrest-NUqZT-RB.d.ts → postgrest-CYacM_u7.d.ts} +12 -1
  213. package/dist/{postgrest-CW0IqC-U.js → postgrest-r5faDIzD.js} +47 -5
  214. package/dist/{powersync-BHfuehf3.js → powersync-13odBwiM.js} +3 -3
  215. package/dist/powersync-53ryOZip.js +1059 -0
  216. package/dist/powersync-CExtTLyA.js +1 -0
  217. package/dist/preset/index.js +1 -1
  218. package/dist/{preset-DZdU0tne.js → preset-CHTbd-DQ.js} +2 -2
  219. package/dist/prisma/index.d.ts +2 -2
  220. package/dist/prisma/index.js +1 -1
  221. package/dist/{problem-details-DXlt-vks.d.ts → problem-details-Tcfmj3bV.d.ts} +1 -1
  222. package/dist/prompt-DwtVemER.js +935 -0
  223. package/dist/{protected-DEPHc2xV.d.ts → protected-BwZYL1X_.d.ts} +6 -5
  224. package/dist/{protected-DfjY5mLA.js → protected-DXE3cQYg.js} +2 -2
  225. package/dist/{provider-CC-u3bYP.js → provider-BQsTYYy0.js} +2 -2
  226. package/dist/{provider-DMVt6yYn.d.ts → provider-Csk-THAn.d.ts} +1 -1
  227. package/dist/{provider-store-B5Yrkhzr.js → provider-store-IgqQipCO.js} +2 -2
  228. package/dist/{pull-BgIfno6w.js → pull-CN5OLxrF.js} +7 -7
  229. package/dist/pull-Cty6Ovyu.js +1 -0
  230. package/dist/{push-CmFVBOeI.js → push-tVdG8dUL.js} +54 -14
  231. package/dist/{pushed-policy-BImMTTIM.d.ts → pushed-policy-BbcY9r_4.d.ts} +1 -1
  232. package/dist/{pushed-policy-DobP7AHI.js → pushed-policy-CmYeSQqq.js} +1 -1
  233. package/dist/react/index.d.ts +6 -6
  234. package/dist/react/index.js +3 -3
  235. package/dist/react/provider-client.d.ts +1 -1
  236. package/dist/react/provider-client.js +1 -1
  237. package/dist/react-native/index.d.ts +25 -11
  238. package/dist/react-native/index.js +214 -24
  239. package/dist/{refs-K6eWUJ0H.js → refs-CNJBiTFo.js} +15 -1
  240. package/dist/{replay-D7iKcLFe.d.ts → replay-DCDD_ZfL.d.ts} +1 -1
  241. package/dist/{request-context-BTRTG7OT.js → request-context-BykKLmyE.js} +2 -2
  242. package/dist/resend/index.d.ts +4 -4
  243. package/dist/{retire-CALjIQ7e.js → retire-Wj6dkyDE.js} +2 -2
  244. package/dist/{rls-BA8an5Ap.js → rls-Ck_PocSp.js} +32 -8
  245. package/dist/{rls-j6t43t7n.js → rls-CxBZb4rZ.js} +478 -534
  246. package/dist/{role-builder-CXbis5-X.js → role-builder-C1VJzvcr.js} +3 -3
  247. package/dist/rolldown-runtime-C3I60J0A.js +4 -0
  248. package/dist/{rpc-aPyNi6tA.js → rpc-Bk1bE-ch.js} +1 -1
  249. package/dist/run-Bz7DXGEv.js +1 -0
  250. package/dist/{run-ticket-sxFI6LAk.js → run-ticket-B5d_63Ma.js} +22 -1
  251. package/dist/{run-ticket-BjhTOi6u.d.ts → run-ticket-BpNi7BCi.d.ts} +8 -3
  252. package/dist/{run-DOfMtc9V.js → run-uLD2aWuO.js} +7 -7
  253. package/dist/{runtime-D3VTAiCA.js → runtime-Vif3_-zf.js} +1 -1
  254. package/dist/{saas-FO-Q8oj0.js → saas-Az_Kz-4D.js} +7 -7
  255. package/dist/{scan-BOI5tJ-6.js → scan-DSljDE1Y.js} +1 -1
  256. package/dist/{schema-yLuBWWsh.js → schema-gIcCx7zM.js} +1 -1
  257. package/dist/scim/index.d.ts +3 -2
  258. package/dist/scim/index.js +3 -1
  259. package/dist/scim-C7JYhySg.js +44 -0
  260. package/dist/{scim-ClHtpyV3.js → scim-YNieBO1U.js} +3 -537
  261. package/dist/{scopes-CUPSjo9q.js → scopes-BHsc-wp-.js} +1 -1
  262. package/dist/server/index.d.ts +11 -11
  263. package/dist/server/index.js +7 -7
  264. package/dist/{server-DqCT4CgZ.js → server-Bnga6I50.js} +3 -3
  265. package/dist/{server-types-BLd4MnBX.d.ts → server-types-C4gZUEZy.d.ts} +9 -9
  266. package/dist/{shared-DvvFzYXe.js → shared-C8LjUdVU.js} +1 -1
  267. package/dist/{shared-CD11nBbC.js → shared-fMKOv8hP.js} +46 -39
  268. package/dist/{sink-Bj_lDUDq.d.ts → sink-Cp_Eot9W.d.ts} +4 -4
  269. package/dist/{skills-B6lVdD_W.js → skills-Dcjw9_1C.js} +5 -5
  270. package/dist/{skills-CTYwkl44.js → skills-g_3BS9NC.js} +3 -3
  271. package/dist/{snapshot-CXUWfsNy.js → snapshot-CbGmYiJx.js} +4 -4
  272. package/dist/{snapshot-cache-DZHQ0KF6.js → snapshot-cache-DT2Kx1F8.js} +1 -1
  273. package/dist/{snapshot-cache-DqK9eDmM.d.ts → snapshot-cache-Pahd3IYJ.d.ts} +1 -1
  274. package/dist/solid/index.d.ts +6 -5
  275. package/dist/solid/index.js +4 -4
  276. package/dist/solid-start/index.d.ts +6 -6
  277. package/dist/solid-start/index.js +3 -3
  278. package/dist/{sources-vs5dGOsS.js → sources-B-zYB4GS.js} +111 -25
  279. package/dist/{sources-BV9j0DeZ.d.ts → sources-DEEuGb8S.d.ts} +63 -14
  280. package/dist/sources-qoIJQrJv.js +11 -0
  281. package/dist/{sql-B5T1IL83.js → sql-B96movIM.js} +5 -1
  282. package/dist/sql-CDEPCA0g.d.ts +10 -0
  283. package/dist/{src-DLfUWFAI.js → src-DLFrtrrC.js} +154 -53
  284. package/dist/ssf/index.d.ts +4 -4
  285. package/dist/ssf/index.js +640 -211
  286. package/dist/{standard-webhooks-6lg8v_is.d.ts → standard-webhooks-B_qRg0ws.d.ts} +2 -2
  287. package/dist/{store-4u_hxjWa.js → store-DSP9oGvh.js} +15 -7
  288. package/dist/{store-options-BqEakYRa.js → store-options-B_poyYvg.js} +6 -6
  289. package/dist/{stores-ClZUgeoP.d.ts → stores-BAZwSYZA.d.ts} +6 -5
  290. package/dist/{stores-BbsD4fAR.js → stores-BqEuHC05.js} +2 -2
  291. package/dist/{stream-7-xmnf3U.d.ts → stream-2Vwhl7Er.d.ts} +2 -2
  292. package/dist/{style-Uao76wO7.js → style-Cqo7-73x.js} +1 -0
  293. package/dist/{style-DiKWnAvn.js → style-Ds1gNm77.js} +1 -1
  294. package/dist/supabase/index.d.ts +8 -7
  295. package/dist/supabase/index.js +5 -5
  296. package/dist/supabase/middleware.d.ts +6 -6
  297. package/dist/supabase/middleware.js +6 -6
  298. package/dist/{supabase-Dxlp8A94.js → supabase--0aJdLEd.js} +9 -7
  299. package/dist/{supabase-9pqI57pW.js → supabase-Bqp7iIY2.js} +3 -3
  300. package/dist/supabase-hook-DJxC4PoP.js +1 -0
  301. package/dist/{supabase-hook-DdDQhMlw.js → supabase-hook-Dg0SrQWR.js} +1069 -123
  302. package/dist/supautils-MESd81bF.js +689 -0
  303. package/dist/{support-session-C6xJQYut.js → support-session-Cna49-3f.js} +2 -2
  304. package/dist/svelte/index.d.ts +5 -5
  305. package/dist/svelte/index.js +5 -5
  306. package/dist/svelte/runtime.d.ts +3 -3
  307. package/dist/svelte/runtime.js +3 -3
  308. package/dist/svelte/source.d.ts +5 -5
  309. package/dist/svelte/source.js +2 -2
  310. package/dist/sveltekit/index.d.ts +6 -6
  311. package/dist/sveltekit/index.js +2 -2
  312. package/dist/tanstack-start/index.d.ts +6 -6
  313. package/dist/tanstack-start/index.js +2 -2
  314. package/dist/{tenancy-DN2QAx9z.js → tenancy-CmeBQ6Nv.js} +12 -3
  315. package/dist/terminal/index.d.ts +6 -6
  316. package/dist/terminal/index.js +3 -3
  317. package/dist/testing/core.d.ts +2 -0
  318. package/dist/testing/core.js +1 -0
  319. package/dist/testing/fixtures/index.d.ts +12 -0
  320. package/dist/testing/fixtures/index.js +770 -0
  321. package/dist/testing/index.d.ts +41 -174
  322. package/dist/testing/index.js +241 -731
  323. package/dist/testing/saas/index.d.ts +5 -5
  324. package/dist/testing/saas/index.js +2 -2
  325. package/dist/testing/saas/permissions.d.ts +1 -1
  326. package/dist/testing/saas/permissions.js +1 -1
  327. package/dist/text-diff-DhITNCnD.js +444 -0
  328. package/dist/{token-BLZcjQgt.js → token-2qYDvXz2.js} +1 -1
  329. package/dist/{tool-refusal-CMLN5xhn.js → tool-refusal-reAhIzdl.js} +1 -1
  330. package/dist/trpc/index.d.ts +6 -6
  331. package/dist/trpc/index.js +3 -3
  332. package/dist/{types-5Ut_pbKy.d.ts → types-BWZybqs9.d.ts} +112 -8
  333. package/dist/{types-CZTnPFzM.d.ts → types-BXMYB7BY.d.ts} +2 -2
  334. package/dist/{types-CdlxsYQh.d.ts → types-BfVmNJO5.d.ts} +14 -3
  335. package/dist/{types-BqAKcRNW.d.ts → types-CIeZcG8v.d.ts} +2 -2
  336. package/dist/{types-BNORmDM8.d.ts → types-CKV71kKh.d.ts} +4 -4
  337. package/dist/{types-tIgIeIKJ.d.ts → types-CQVEQawv.d.ts} +4 -4
  338. package/dist/{types-BjV-fqcA.d.ts → types-CeIscIKp.d.ts} +4 -4
  339. package/dist/{types-_sHy8BQf.d.ts → types-CfiKC5aN.d.ts} +1 -1
  340. package/dist/{types-ClZaWzfb.d.ts → types-D3A19w4A.d.ts} +8 -4
  341. package/dist/{types-C8-KNsFf.d.ts → types-DBHftjgS.d.ts} +15 -8
  342. package/dist/{types-CCpc2Dcv.d.ts → types-DC44-hqb.d.ts} +2 -2
  343. package/dist/{types-fbZ7JEXr.d.ts → types-DXmwu78Z.d.ts} +4 -4
  344. package/dist/{types-DiQjupG2.d.ts → types-cTos-H7p.d.ts} +2 -2
  345. package/dist/{types-DX0LaKTb.d.ts → types-g7Oy6Zg4.d.ts} +3 -3
  346. package/dist/unplugin/index.d.ts +1 -1
  347. package/dist/unplugin/index.js +2 -2
  348. package/dist/{usage-T5mXq98v.js → usage-Bybmck7f.js} +7 -7
  349. package/dist/{usage-DHtE8j4E.js → usage-CDaLXCfL.js} +2 -2
  350. package/dist/usage-y-kBNdqs.js +1 -0
  351. package/dist/{validation-error-Bg5Tpluk.d.ts → validation-error-CQpoquwj.d.ts} +1 -1
  352. package/dist/{verify-DbCL9bnB.js → verify-pe8rL_Qw.js} +350 -83
  353. package/dist/{views-DTIIO-oQ.js → views-BB8E9dTP.js} +1 -1
  354. package/dist/vocabulary-Bg3eeT2H.d.ts +67 -0
  355. package/dist/vue/index.d.ts +6 -5
  356. package/dist/vue/index.js +4 -4
  357. package/dist/{waiter-CKy4MQSY.d.ts → waiter-DwEyouan.d.ts} +2 -2
  358. package/dist/watch-Bd9mx3rd.js +1 -0
  359. package/dist/{watch-CszoTJMq.js → watch-C-4VmFlL.js} +3 -3
  360. package/dist/webmcp/index.d.ts +2 -2
  361. package/dist/webmcp/index.js +2 -2
  362. package/dist/{where-scope-Dv-WTP-w.js → where-scope-wq2coopv.js} +41 -21
  363. package/dist/{who-can-D0QoYbEb.js → who-can-BwNsI_Js.js} +6 -6
  364. package/dist/workflow/index.d.ts +3 -3
  365. package/dist/workflow/index.js +5 -5
  366. package/dist/workflow-sdk/index.d.ts +5 -5
  367. package/dist/{wrap-Bd1Tejur.d.ts → wrap-B6R0cMRL.d.ts} +2 -2
  368. package/dist/{wrap-gX61EtpB.js → wrap-CiSc_KCq.js} +8 -2
  369. package/package.json +22 -11
  370. package/schemas/cli-result-v1.json +1 -0
  371. package/schemas/cloud-api-v1.json +152 -7
  372. package/schemas/connector-v1.json +8 -0
  373. package/schemas/supabase-claims-v1.json +5 -0
  374. package/schemas/supabase-manifest-v1.json +276 -75
  375. package/skills/permdock/SKILL.md +1 -0
  376. package/skills/permdock-agents/references/runtimes.md +3 -1
  377. package/skills/permdock-approvals/references/stores-and-resume.md +2 -1
  378. package/skills/permdock-data/references/queries-and-rls.md +5 -2
  379. package/skills/permdock-tenancy/SKILL.md +1 -1
  380. package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +2 -0
  381. package/skills/permdock-wire/references/adapters.md +14 -0
  382. package/skills/permdock-wire/references/policy-options.md +1 -0
  383. package/dist/catalog-DjhMYYCq.js +0 -1
  384. package/dist/collect-FlXJlhus.js +0 -1
  385. package/dist/index-D8EovfsP.d.ts +0 -91
  386. package/dist/load-BxEtwlBS.js +0 -1
  387. package/dist/output-files-B3IZJksC.js +0 -1
  388. package/dist/parse-Cxq0WxrA.js +0 -53
  389. package/dist/peer-C8swJ2GH.js +0 -50
  390. package/dist/powersync-CbzkqL_M.js +0 -1
  391. package/dist/powersync-bYUDLOAO.js +0 -538
  392. package/dist/prompt-DfZLJLIn.js +0 -32
  393. package/dist/pull-ByOks_Tg.js +0 -1
  394. package/dist/run-CNsApDpd.js +0 -1
  395. package/dist/supabase-hook-CXcGpHqq.js +0 -1
  396. package/dist/supautils-B6HYL9eL.js +0 -91
  397. package/dist/text-diff-BQcUapOb.js +0 -15
  398. package/dist/usage-CHOtwL19.js +0 -1
  399. package/dist/watch-Cb-NcaUw.js +0 -1
@@ -1,5 +1,5 @@
1
- import { n as RoleThrough } from "./types-CdlxsYQh.js";
2
- import { o as SqlMembershipSource } from "./sources-BV9j0DeZ.js";
1
+ import { n as RoleMap, r as RoleThrough } from "./types-BfVmNJO5.js";
2
+ import { s as SqlMembershipSource } from "./sources-DEEuGb8S.js";
3
3
  //#region src/cli/core/errors.d.ts
4
4
  /**
5
5
  * 0 success, 1 failure, 2 usage, 3 action required, 130 interrupted (SIGINT
@@ -25,7 +25,7 @@ type RlsMembershipTable = {
25
25
  * The role key column, a reference to a roles table that holds the key, or
26
26
  * several of them: the row holds every non-null key.
27
27
  */
28
- readonly role: string | RoleThrough | readonly (string | RoleThrough)[];
28
+ readonly role: string | RoleMap | RoleThrough | readonly (string | RoleMap | RoleThrough)[];
29
29
  /** Per scope name, the column holding that scope's id: the table's own scope and its ancestors. */
30
30
  readonly columns?: Readonly<Record<string, string>>;
31
31
  /** Column of the first scope's id; shorthand for `columns[<first scope>]`. */
@@ -90,8 +90,39 @@ type RlsFunctionMapping = {
90
90
  readonly twin: unknown;
91
91
  readonly args?: readonly string[];
92
92
  };
93
+ /**
94
+ * A table whose rows reach their scope through a parent table
95
+ * (`rls.tables`, `via`): the table's `key` column holds the parent's id, and
96
+ * the parent's `column` holds the scope instance id. The generated policies
97
+ * call `permitted_<parent, singular>_ids(p_grant)`, a `security definer`
98
+ * helper that joins the parent to `permitted_<scope>_ids`.
99
+ */
100
+ type RlsTableVia = {
101
+ /** `schema.table` of the parent. */
102
+ readonly table: string;
103
+ /** The parent's column holding the scope instance id. */
104
+ readonly column: string;
105
+ /** This table's column holding the parent's id. Default `<parent table, singular>_id`. */
106
+ readonly key?: string;
107
+ /** The parent's id column. Default `id`. */
108
+ readonly id?: string;
109
+ /** SQL type of the parent's id column. Default `uuid` in the `supabase` dialect, else `text`. */
110
+ readonly type?: string;
111
+ /** The scope `column` holds. Default the policy's root scope. */
112
+ readonly scope?: string;
113
+ };
114
+ /**
115
+ * A resource's table: its `schema.table`, an object that adds `via`, or
116
+ * `false` for a resource with no table (a console permission), which gets no
117
+ * policies while its role grants are still seeded.
118
+ */
119
+ type RlsTable = string | false | {
120
+ readonly table?: string;
121
+ readonly via: RlsTableVia;
122
+ };
93
123
  type RlsConfig = {
94
- readonly tables?: Readonly<Record<string, string>>;
124
+ /** Per resource, the table its policies target; the table is named after the resource when unset, and `false` means it has none. */
125
+ readonly tables?: Readonly<Record<string, RlsTable>>;
95
126
  readonly dialect?: RlsDialect;
96
127
  readonly memberships?: RlsMemberships;
97
128
  /**
@@ -108,6 +139,17 @@ type RlsConfig = {
108
139
  /** Emit FORCE ROW LEVEL SECURITY so the table owner is subject to the policies. */
109
140
  readonly force?: boolean;
110
141
  readonly fixtures?: string;
142
+ /**
143
+ * `rls verify` findings accepted as a baseline. `id` is the
144
+ * `<code>:<table>:<key>` the finding prints; `reason` is required. An entry
145
+ * no finding matches is a warning, so the baseline shrinks.
146
+ */
147
+ readonly verify?: {
148
+ readonly ignore?: readonly {
149
+ readonly id: string;
150
+ readonly reason: string;
151
+ }[];
152
+ };
111
153
  readonly tenantClaim?: string;
112
154
  /**
113
155
  * Which tenants the helpers and `memberOf` checks admit. `'active'`
@@ -185,6 +227,13 @@ type RlsConfig = {
185
227
  * path (a migration, a job, a nested trigger) moves the rows directly.
186
228
  */
187
229
  readonly roles?: RlsCustomRoleTable;
230
+ /**
231
+ * The audit function the by-id writers call after a save
232
+ * (`permdock_replace_custom_role_grants_by_id`), with `event_type`,
233
+ * `target_type`, `record_id`, `tenant` and `metadata` plus `args`.
234
+ * Needs `roles.primaryKey`.
235
+ */
236
+ readonly audit?: RlsCustomRoleAudit;
188
237
  };
189
238
  /**
190
239
  * Let link capabilities reach resource-scoped grants: `anon` policies that call
@@ -260,17 +309,27 @@ type RlsConfig = {
260
309
  */
261
310
  readonly readOnlyActors?: boolean | readonly string[];
262
311
  readonly apiKeys?: true | RlsApiKeys;
312
+ /**
313
+ * Narrow a delegated token (a `client_id`, or an `act` that is not a
314
+ * support or impersonation session) by its `scope` claim in every helper
315
+ * and policy: a grant passes only when one of the token's scopes reaches
316
+ * its permission (the permission's own scope, a former scope, or a policy
317
+ * `oauthScopes` entry). Denies always apply. Off by default.
318
+ */
319
+ readonly tokenScopes?: boolean;
263
320
  /** Supabase Realtime: policies on `realtime.messages` for private channels. Supabase dialect only. */
264
321
  readonly realtime?: RlsRealtime;
265
322
  /** Supabase Storage: policies on `storage.objects` for buckets keyed by a scope folder. Supabase dialect only. */
266
323
  readonly storage?: RlsStorage;
267
324
  /**
268
325
  * `'views'`: one `security_invoker` view `<table>_visible` per table with field-limited
269
- * read grants, whose restricted columns are `case when <permitted> then col end`. Off by default.
326
+ * read grants, whose restricted columns are `case when <permitted> then col end`. `'mask'`:
327
+ * the same views plus `<schema>.<table>_mask(p_row)`, which nulls the restricted columns of
328
+ * one row by the same masks, for SQL that reads the table without the view. Off by default.
270
329
  */
271
- readonly fields?: "views";
330
+ readonly fields?: "views" | "mask";
272
331
  /**
273
- * With `fields: 'views'`, grant `anon` and `authenticated` only the unrestricted columns of
332
+ * With `fields: 'views'` or `'mask'`, grant `anon` and `authenticated` only the unrestricted columns of
274
333
  * the base table, so restricted columns are read through the view. Breaks `select *`.
275
334
  */
276
335
  readonly revokeColumns?: boolean;
@@ -298,6 +357,17 @@ type RlsConfig = {
298
357
  * row ids the caller may act on, as the generated policies decide them.
299
358
  */
300
359
  readonly rowHelpers?: true | readonly string[];
360
+ /**
361
+ * `'function'`: the `role_permissions` rows live in
362
+ * `<schema>.seed()`, which the helpers part creates. Declarative workflows
363
+ * (pg-delta, migra) then need no seeds migration: call
364
+ * `select <schema>.seed();` after each deploy.
365
+ *
366
+ * `'view'`: `role_permissions` is a `security_invoker` view over a `values`
367
+ * list, so the rows travel with the declarative schema and need no seeding
368
+ * step. Nothing can write the rows, so the view cannot take hand-added ones.
369
+ */
370
+ readonly seeds?: "function" | "view";
301
371
  readonly trustedReaders?: readonly string[];
302
372
  readonly treeValues?: Readonly<Record<string, Readonly<Record<string, unknown>>>>;
303
373
  /** `rls migrate`: how existing helper calls map onto the generated helpers. */
@@ -364,7 +434,7 @@ type RlsAssignmentTable = {
364
434
  /** The tenant column for a scope below the first; defaults to `id` at the first scope. */
365
435
  readonly tenant?: string;
366
436
  /** The role key column, a reference to a roles table that holds the key, or several of them. */
367
- readonly role: string | RoleThrough | readonly (string | RoleThrough)[];
437
+ readonly role: string | RoleMap | RoleThrough | readonly (string | RoleMap | RoleThrough)[];
368
438
  /** The column holding the user the row assigns to, which `ownRole` compares with the caller. */
369
439
  readonly user?: string;
370
440
  };
@@ -379,8 +449,12 @@ type RlsCustomRoleTable = {
379
449
  readonly scope?: string;
380
450
  /** A column pinning the role to one instance of its scope. */
381
451
  readonly id?: string;
452
+ /** The row's id column: turns on the by-id write and read functions (`permdock_replace_custom_role_grants_by_id`). */
453
+ readonly primaryKey?: string;
382
454
  /** A boolean column marking rows that are not custom roles (declared or system roles); those rows are skipped. */
383
455
  readonly skip?: string;
456
+ /** A boolean column marking a row with no tenant as a shared custom role, held at `scope` (default the first scope) in every tenant. Without it a row with no tenant is a platform role. */
457
+ readonly shared?: string;
384
458
  };
385
459
  /** `rls.customRoles` as an object: custom roles on, plus where existing ones live. */
386
460
  type RlsCustomRolesConfig = {
@@ -393,6 +467,14 @@ type RlsCustomRolesConfig = {
393
467
  * instance and `skip` flag.
394
468
  */
395
469
  type RlsCustomRolesFrom = {
470
+ /**
471
+ * `'trigger'`: after-row triggers on the permissions table and the
472
+ * includes table rebuild the affected role through
473
+ * `permdock_trusted_replace_custom_role_grants` on every legacy write, so
474
+ * the PermDock grants follow the application's editor. Without it the
475
+ * backfill copies once.
476
+ */
477
+ readonly sync?: "trigger";
396
478
  readonly permissions: {
397
479
  /** `table` or `schema.table`: one row per permission a role holds. */
398
480
  readonly table: string;
@@ -439,6 +521,13 @@ type RlsAudit = {
439
521
  /** Named text arguments: `{ tenant_column: 'tenant_id' }` passes `tenant_column => 'tenant_id'`. */
440
522
  readonly args?: Readonly<Record<string, string>>;
441
523
  };
524
+ /** `rls.customRoleWrites.audit`: the function a by-id custom-role save calls. */
525
+ type RlsCustomRoleAudit = {
526
+ /** `schema.function` taking named `event_type`, `target_type`, `record_id`, `tenant` and `metadata` arguments. */
527
+ readonly function: string;
528
+ /** Extra named text arguments: `{ actor_kind: 'user' }` passes `actor_kind => 'user'`. */
529
+ readonly args?: Readonly<Record<string, string>>;
530
+ };
442
531
  /** `rls.shims`: where the legacy-named wrappers go. */
443
532
  type RlsShimsConfig = {
444
533
  /** Schema of the legacy helpers. Default `public`. */
@@ -560,6 +649,19 @@ type SupabaseHookConfig = {
560
649
  * suspended user gets none.
561
650
  */
562
651
  readonly claims?: Readonly<Record<string, string>>;
652
+ /**
653
+ * The `team_ids` claim: the uuid of every team the user belongs to, read
654
+ * from `table` (`user` and `team` columns; `tenant` puts the active
655
+ * tenant's teams first). It shares the `memberships` budget, so a user with
656
+ * many teams gets a prefix and `memberships_truncated`. A suspended user
657
+ * gets none. Clients must not write the table.
658
+ */
659
+ readonly teams?: {
660
+ readonly table: string;
661
+ readonly user: string;
662
+ readonly team: string;
663
+ readonly tenant?: string;
664
+ };
563
665
  readonly before?: string | readonly string[];
564
666
  /**
565
667
  * Check the claims the hook wrote against `supabase-claims-v1.json` with
@@ -624,6 +726,8 @@ type DoctorConfig = {
624
726
  readonly migrations?: readonly string[];
625
727
  /** A JSON array of sample decoded token claims; PD039 measures each `supabase.hook.claims` entry in it. */
626
728
  readonly claims?: string;
729
+ /** Tables two resources map to on purpose, over disjoint rows; PD075 skips them. */
730
+ readonly sharedTables?: readonly string[];
627
731
  };
628
732
  type PermDockConfig = {
629
733
  readonly permissions?: string;
@@ -1,5 +1,5 @@
1
- import { I as ResourceRelation } from "./vocabulary-D6lPdb4Z.js";
2
- import { s as OperationMeta } from "./operations-CxybZErY.js";
1
+ import { C as ResourceRelation } from "./permission-types-DhNEmoRG.js";
2
+ import { s as OperationMeta } from "./operations-BNLes61x.js";
3
3
  //#region src/catalog/types.d.ts
4
4
  type CatalogUsage = {
5
5
  readonly file: string;
@@ -1,4 +1,4 @@
1
- import { qt as AuthEvent, rr as Principal } from "./policy-types-DzwivBgR.js";
1
+ import { Zt as AuthEvent, sr as Principal } from "./policy-types-B-F-qAZk.js";
2
2
  import { t as ClaimsMap } from "./claims-map-Ca-QX8C6.js";
3
3
  import { t as ClientNames } from "./clients-C7zLFuWT.js";
4
4
  import { StandardSchemaV1 } from "@standard-schema/spec";
@@ -49,6 +49,8 @@ type SupabasePermDockClaims<TenantClaim extends string = "tenant_id"> = {
49
49
  readonly memberships_truncated?: boolean;
50
50
  /** Allow-listed server-owned attributes, read as `principal.claims.attrs.<key>`. */
51
51
  readonly attrs?: Readonly<Record<string, unknown>>;
52
+ /** The uuid of every team the user belongs to (`supabase.hook.teams`), cut by the same budget as `memberships`. */
53
+ readonly team_ids?: readonly string[];
52
54
  /** The principal's authorization version. */
53
55
  readonly authz_ver?: number;
54
56
  } & { readonly [K in TenantClaim]?: string; };
@@ -114,6 +116,15 @@ type RoleThrough = {
114
116
  /** The column of `through` that holds the value: the role key, or the user id. */
115
117
  readonly column: string;
116
118
  };
119
+ /**
120
+ * A role column whose values are not role keys: each value maps to a role key,
121
+ * or to `null` for no role, and an unlisted value is no role
122
+ * (`{ column: 'kind', map: { admin: 'owner', user: null } }`).
123
+ */
124
+ type RoleMap = {
125
+ readonly column: string;
126
+ readonly map: Readonly<Record<string, string | null>>;
127
+ };
117
128
  type SupabaseMembershipTable = {
118
129
  readonly table: string;
119
130
  readonly user: string;
@@ -121,7 +132,7 @@ type SupabaseMembershipTable = {
121
132
  * The role key column, a reference to a roles table that holds the key, or
122
133
  * several of them: the row holds every non-null key.
123
134
  */
124
- readonly role: string | RoleThrough | readonly (string | RoleThrough)[];
135
+ readonly role: string | RoleThrough | RoleMap | readonly (string | RoleThrough | RoleMap)[];
125
136
  /** Per scope name, the column holding that scope's id: the table's own scope and its ancestors. */
126
137
  readonly columns?: Readonly<Record<string, string>>;
127
138
  readonly tenant?: string;
@@ -315,4 +326,4 @@ type SupabaseDelegation = {
315
326
  readonly scopes: readonly string[];
316
327
  };
317
328
  //#endregion
318
- export { SupabaseClaimsSchema as C, supabaseClaims as E, SupabaseClaimsOptions as S, SupabasePermDockClaims as T, SupabaseSuspendedMembership as _, SupabaseActorResult as a, SupabaseActClaim as b, SupabaseMembershipTable as c, SupabaseRealtime as d, SupabaseRlsConfig as f, SupabaseSubjectOptions as g, SupabaseStorage as h, SupabaseActor as i, SupabasePermissionRef as l, SupabaseSessionLike as m, RoleThrough as n, SupabaseDelegation as o, SupabaseRlsOptions as p, SupabaseActiveRow as r, SupabaseInclude as s, AuthorizeSqlOptions as t, SupabasePrincipal as u, SupabaseSuspendedScope as v, SupabaseMembershipClaim as w, SupabaseClaims as x, SupabaseSuspension as y };
329
+ export { SupabaseClaimsOptions as C, supabaseClaims as D, SupabasePermDockClaims as E, SupabaseClaims as S, SupabaseMembershipClaim as T, SupabaseSubjectOptions as _, SupabaseActor as a, SupabaseSuspension as b, SupabaseInclude as c, SupabasePrincipal as d, SupabaseRealtime as f, SupabaseStorage as g, SupabaseSessionLike as h, SupabaseActiveRow as i, SupabaseMembershipTable as l, SupabaseRlsOptions as m, RoleMap as n, SupabaseActorResult as o, SupabaseRlsConfig as p, RoleThrough as r, SupabaseDelegation as s, AuthorizeSqlOptions as t, SupabasePermissionRef as u, SupabaseSuspendedMembership as v, SupabaseClaimsSchema as w, SupabaseActClaim as x, SupabaseSuspendedScope as y };
@@ -1,5 +1,5 @@
1
- import { Xt as DecisionEvent, j as PolicyVocabulary } from "./policy-types-DzwivBgR.js";
2
- import { r as PermDock } from "./permdock-D7eeLJER.js";
1
+ import { en as DecisionEvent, j as PolicyVocabulary } from "./policy-types-B-F-qAZk.js";
2
+ import { a as PermDock } from "./permdock-Dco6dyCK.js";
3
3
  //#region src/otel/types.d.ts
4
4
  declare const GENAI_SEMCONV_PIN = "1.37.0";
5
5
  declare const GEN_AI_TOOL_NAME = "gen_ai.tool.name";
@@ -1,7 +1,7 @@
1
- import { $n as Delegation, Nn as Decision, Vt as Snapshot, dt as TokenVerifier, j as PolicyVocabulary, qn as Actor, rr as Principal } from "./policy-types-DzwivBgR.js";
2
- import { w as Permission } from "./vocabulary-D6lPdb4Z.js";
3
- import { r as PermDock } from "./permdock-D7eeLJER.js";
4
- import { n as DescribeMessages, t as DecisionDescription } from "./describe-BZUsixiL.js";
1
+ import { Gt as Snapshot, Ln as Decision, Zn as Actor, dt as TokenVerifier, j as PolicyVocabulary, rr as Delegation, sr as Principal } from "./policy-types-B-F-qAZk.js";
2
+ import { u as Permission } from "./permission-types-DhNEmoRG.js";
3
+ import { a as PermDock } from "./permdock-Dco6dyCK.js";
4
+ import { n as DescribeMessages, t as DecisionDescription } from "./describe-O0SwYIK8.js";
5
5
  //#region src/client/request.d.ts
6
6
  type StoreHeaders = Readonly<Record<string, string>>;
7
7
  //#endregion
@@ -1,7 +1,7 @@
1
- import { Mn as ApprovalRequiredDecision, Nn as Decision, Vt as Snapshot, dt as TokenVerifier, zn as GrantedDecision } from "./policy-types-DzwivBgR.js";
2
- import { w as Permission } from "./vocabulary-D6lPdb4Z.js";
3
- import { n as DescribeMessages } from "./describe-BZUsixiL.js";
4
- import { h as ClientStoreOptions } from "./types-BNORmDM8.js";
1
+ import { Gt as Snapshot, In as ApprovalRequiredDecision, Ln as Decision, Un as GrantedDecision, dt as TokenVerifier } from "./policy-types-B-F-qAZk.js";
2
+ import { u as Permission } from "./permission-types-DhNEmoRG.js";
3
+ import { n as DescribeMessages } from "./describe-O0SwYIK8.js";
4
+ import { h as ClientStoreOptions } from "./types-CKV71kKh.js";
5
5
  import { ReactNode } from "react";
6
6
  //#region src/react/types.d.ts
7
7
  type PermDockProviderProps = ({
@@ -1,7 +1,7 @@
1
- import { Vt as Snapshot, dt as TokenVerifier, ot as SnapshotSource } from "./policy-types-DzwivBgR.js";
2
- import { n as DescribeMessages } from "./describe-BZUsixiL.js";
3
- import { h as ClientStoreOptions } from "./types-BNORmDM8.js";
4
- import { t as PermDockDefaults } from "./types-tIgIeIKJ.js";
1
+ import { Gt as Snapshot, dt as TokenVerifier, ot as SnapshotSource } from "./policy-types-B-F-qAZk.js";
2
+ import { n as DescribeMessages } from "./describe-O0SwYIK8.js";
3
+ import { h as ClientStoreOptions } from "./types-CKV71kKh.js";
4
+ import { t as PermDockDefaults } from "./types-CQVEQawv.js";
5
5
  import { ReactNode } from "react";
6
6
  //#region src/react-native/types.d.ts
7
7
  type SnapshotStorage = {
@@ -1,4 +1,4 @@
1
- import { fn as Approver } from "./policy-types-DzwivBgR.js";
1
+ import { gn as Approver } from "./policy-types-B-F-qAZk.js";
2
2
  //#region src/approvals/access-reviews/types.d.ts
3
3
  type AccessReviewStatus = "open" | "closed";
4
4
  type AccessReviewItemStatus = "pending" | "kept" | "revoked";
@@ -1,6 +1,6 @@
1
- import { Nn as Decision, Rn as ExplainedDecision, T as Policy, ir as Subject, j as PolicyVocabulary, nr as Membership, rr as Principal } from "./policy-types-DzwivBgR.js";
2
- import { E as PermissionTree, w as Permission } from "./vocabulary-D6lPdb4Z.js";
3
- import { c as WhereResult, i as PermDockOptions, n as DeriveOptions, o as SimulateOptions, r as PermDock, t as DecideOptions } from "./permdock-D7eeLJER.js";
1
+ import { Hn as ExplainedDecision, Ln as Decision, T as Policy, j as PolicyVocabulary, lr as Subject, or as Membership, sr as Principal } from "./policy-types-B-F-qAZk.js";
2
+ import { f as PermissionTree, u as Permission } from "./permission-types-DhNEmoRG.js";
3
+ import { a as PermDock, c as SimulateOptions, n as DecideOptions, o as PermDockOptions, r as DeriveOptions, u as WhereResult, x as PermissionCheck } from "./permdock-Dco6dyCK.js";
4
4
  //#region src/pdp/types.d.ts
5
5
  type RemotePdpAuth = {
6
6
  readonly bearer: string | (() => string | Promise<string>);
@@ -86,7 +86,7 @@ type SpiceDbOptions = {
86
86
  readonly cache?: RemotePdpCache;
87
87
  readonly fetch?: typeof fetch;
88
88
  };
89
- type PdpPermDock<V extends PolicyVocabulary = PolicyVocabulary> = Omit<PermDock<V>, "can" | "decide" | "decideEach" | "assert" | "explain" | "filter" | "where" | "simulate" | "tenant" | "team" | "derive"> & {
89
+ type PdpPermDock<V extends PolicyVocabulary = PolicyVocabulary> = Omit<PermDock<V>, "can" | "decide" | "canAll" | "decideAll" | "decideEach" | "decideIds" | "assert" | "explain" | "filter" | "where" | "simulate" | "tenant" | "team" | "derive"> & {
90
90
  /** `permdock.derive` with the same providers: the result asks the PDP too. */
91
91
  readonly derive: (options: DeriveOptions) => Promise<PdpPermDock<V>>;
92
92
  /**
@@ -97,6 +97,10 @@ type PdpPermDock<V extends PolicyVocabulary = PolicyVocabulary> = Omit<PermDock<
97
97
  readonly where: (permission: Permission) => Promise<WhereResult>;
98
98
  readonly can: (permission: Permission, data?: unknown, options?: DecideOptions) => Promise<boolean>;
99
99
  readonly decide: (permission: Permission, data?: unknown, options?: DecideOptions) => Promise<Decision>;
100
+ /** `can` for every check, asking the PDP for each in parallel; `false` for an empty list. */
101
+ readonly canAll: (checks: readonly PermissionCheck[], options?: DecideOptions) => Promise<boolean>;
102
+ /** `decide` for every check, in check order, asking the PDP for each in parallel. */
103
+ readonly decideAll: (checks: readonly PermissionCheck[], options?: DecideOptions) => Promise<readonly Decision[]>;
100
104
  /** `decide` for each row, in row order, asking the PDP per row. */
101
105
  readonly decideEach: (permission: Permission, rows: readonly unknown[], options?: DecideOptions) => Promise<readonly Decision[]>;
102
106
  readonly assert: (permission: Permission, data?: unknown, options?: DecideOptions) => Promise<Extract<Decision, {
@@ -1,8 +1,8 @@
1
- import { dt as TokenVerifier, ir as Subject, ot as SnapshotSource, q as DecisionSink, ut as TokenSigner } from "./policy-types-DzwivBgR.js";
2
- import { o as PolicySource } from "./hosted-DBDX0M-P.js";
3
- import { m as ApprovalStore, u as ApprovalRequest } from "./types-CCpc2Dcv.js";
4
- import { a as CatalogDocument } from "./types-CZTnPFzM.js";
5
- import { a as CatalogFinding } from "./sink-Bj_lDUDq.js";
1
+ import { dt as TokenVerifier, lr as Subject, ot as SnapshotSource, q as DecisionSink, ut as TokenSigner } from "./policy-types-B-F-qAZk.js";
2
+ import { s as PolicySource } from "./hosted-BmjzxQhp.js";
3
+ import { m as ApprovalStore, u as ApprovalRequest } from "./types-DC44-hqb.js";
4
+ import { a as CatalogDocument } from "./types-BXMYB7BY.js";
5
+ import { a as CatalogFinding } from "./sink-Cp_Eot9W.js";
6
6
  //#region src/cloud/types.d.ts
7
7
  type CloudEndpointOptions = {
8
8
  readonly url?: string;
@@ -59,10 +59,11 @@ type CloudOptions = CloudConnectionOptions & {
59
59
  readonly source?: string;
60
60
  /**
61
61
  * Verifies the environment's signed policy document, typically
62
- * `joseTokenVerifier({ jwks: cloudEndpoints().jwks })`. Without one,
62
+ * `({ jwks }) => joseTokenVerifier({ jwks })`. A function is called once,
63
+ * with the resolved endpoints, on the first refresh. Without one,
63
64
  * `policies.current()` stays `null`: an unverifiable document is never applied.
64
65
  */
65
- readonly verifier?: TokenVerifier;
66
+ readonly verifier?: TokenVerifier | ((endpoints: CloudEndpoints) => TokenVerifier);
66
67
  };
67
68
  /**
68
69
  * What `POST /catalog` answers: `201` with the new version and the drift
@@ -86,7 +87,13 @@ type CloudCatalog = {
86
87
  */
87
88
  push(catalog: CatalogDocument): Promise<CloudCatalogPush>;
88
89
  };
89
- type CloudClient = CloudEndpoints & {
90
+ type CloudClient = Partial<CloudEndpoints> & {
91
+ /**
92
+ * The environment URL and JWK Set URL. `issuer` and `jwks` are set only
93
+ * when the environment is configured; otherwise the first call asks
94
+ * `GET /v1/environment` which environment the key belongs to.
95
+ */
96
+ endpoints(): Promise<CloudEndpoints>;
90
97
  readonly approvals: ApprovalStore;
91
98
  readonly sink: DecisionSink;
92
99
  /**
@@ -1,5 +1,5 @@
1
- import { Cn as RelationGrantee, Rt as Instant, fn as Approver, ir as Subject, nr as Membership, o as ApprovalStage, on as WireDelegation, r as ApprovalMode, sr as AdapterId } from "./policy-types-DzwivBgR.js";
2
- import { V as AppData } from "./vocabulary-D6lPdb4Z.js";
1
+ import { Dn as RelationGrantee, Rt as Instant, fr as AdapterId, gn as Approver, lr as Subject, o as ApprovalStage, or as Membership, r as ApprovalMode, un as WireDelegation } from "./policy-types-B-F-qAZk.js";
2
+ import { O as AppData } from "./permission-types-DhNEmoRG.js";
3
3
  //#region src/approvals/types.d.ts
4
4
  type ApprovalStatus = "pending" | "approved" | "rejected" | "expired";
5
5
  type ApprovalApprovers = {
@@ -1,8 +1,8 @@
1
- import { Mn as ApprovalRequiredDecision, Nn as Decision, Vt as Snapshot, dt as TokenVerifier, zn as GrantedDecision } from "./policy-types-DzwivBgR.js";
2
- import { w as Permission } from "./vocabulary-D6lPdb4Z.js";
3
- import { r as PermDock } from "./permdock-D7eeLJER.js";
1
+ import { Gt as Snapshot, In as ApprovalRequiredDecision, Ln as Decision, Un as GrantedDecision, dt as TokenVerifier } from "./policy-types-B-F-qAZk.js";
2
+ import { u as Permission } from "./permission-types-DhNEmoRG.js";
3
+ import { a as PermDock } from "./permdock-Dco6dyCK.js";
4
4
  import { t as PermissionBoundaryState } from "./boundary-BmHxVH1J.js";
5
- import { l as PermissionState, m as ClientStore, u as ProviderOptionsBase } from "./types-BNORmDM8.js";
5
+ import { l as PermissionState, m as ClientStore, u as ProviderOptionsBase } from "./types-CKV71kKh.js";
6
6
  import { Snippet } from "svelte";
7
7
  import { Readable } from "svelte/store";
8
8
  //#region src/client/views.d.ts
@@ -1,5 +1,5 @@
1
- import { Y as JwtClaims, dt as TokenVerifier, et as MembershipSource, ir as Subject, lt as TokenFailureCause, qn as Actor, qt as AuthEvent, rr as Principal } from "./policy-types-DzwivBgR.js";
2
- import { m as ApprovalStore } from "./types-CCpc2Dcv.js";
1
+ import { Y as JwtClaims, Zn as Actor, Zt as AuthEvent, dt as TokenVerifier, et as MembershipSource, lr as Subject, lt as TokenFailureCause, sr as Principal } from "./policy-types-B-F-qAZk.js";
2
+ import { m as ApprovalStore } from "./types-DC44-hqb.js";
3
3
  import { n as RevocationFeed } from "./revocations-R07lFBnX.js";
4
4
  import { t as ClaimsMap } from "./claims-map-Ca-QX8C6.js";
5
5
  import { t as ClientNames } from "./clients-C7zLFuWT.js";
@@ -1,6 +1,6 @@
1
- import { $t as DeliveryFailureCause, Qt as DeliveryEvent, Zt as DeliveryChannel, tn as EmailCategory, zn as GrantedDecision } from "./policy-types-DzwivBgR.js";
2
- import { s as CloudEvent } from "./sink-Bj_lDUDq.js";
3
- import { t as ApprovalPrompt } from "./approval-prompt-Djo_PyZc.js";
1
+ import { Un as GrantedDecision, an as EmailCategory, nn as DeliveryEvent, rn as DeliveryFailureCause, tn as DeliveryChannel } from "./policy-types-B-F-qAZk.js";
2
+ import { s as CloudEvent } from "./sink-Cp_Eot9W.js";
3
+ import { t as ApprovalPrompt } from "./approval-prompt-K0faOLFp.js";
4
4
  //#region src/delivery/types.d.ts
5
5
  /**
6
6
  * Who a delivery goes to. `{ principal }` names an app principal and the
@@ -1,4 +1,4 @@
1
- import { a as PermDockPluginOptions } from "../types-5Ut_pbKy.js";
1
+ import { a as PermDockPluginOptions } from "../types-BWZybqs9.js";
2
2
  import { createUnplugin } from "unplugin";
3
3
  //#region src/unplugin/index.d.ts
4
4
  type CreateUnplugin = typeof createUnplugin<PermDockPluginOptions | undefined>;
@@ -1,5 +1,5 @@
1
- import { n as createCollectScheduler, r as report } from "../watch-CszoTJMq.js";
2
- import { r as peerHint } from "../peer-C8swJ2GH.js";
1
+ import { n as createCollectScheduler, r as report } from "../watch-C-4VmFlL.js";
2
+ import { r as peerHint } from "../peer-12Q5I_RH.js";
3
3
  import { createRequire } from "node:module";
4
4
  //#region src/unplugin/index.ts
5
5
  function loadCreateUnplugin() {
@@ -1,13 +1,13 @@
1
- import { a as getResource } from "./permission-registry-Br4jSNVi.js";
2
- import { u as usageResult } from "./errors-CWTY6uih.js";
1
+ import { a as getResource } from "./permission-registry-DpPtSKNZ.js";
2
+ import { u as usageResult } from "./errors-DpP_U6Bf.js";
3
3
  import { a as rel, r as listSourceFiles } from "./files-D_JIzUrP.js";
4
4
  import { o as USAGE_REPORT_SCHEMA } from "./version-CEbQ5UeM.js";
5
- import { s as jsonSchemaOf } from "./catalog-doc-C9wjsfNY.js";
6
- import { a as loadModule, n as asPolicy, s as pickNamed } from "./load-DFS_ry0W.js";
7
- import { r as runCollect } from "./collect-CrZJJnEF.js";
5
+ import { c as jsonSchemaOf } from "./catalog-doc-CV9s6B1S.js";
6
+ import { a as loadModule, n as asPolicy, s as pickNamed } from "./load-DxroEzH1.js";
7
+ import { r as runCollect } from "./collect-BaWeMjwV.js";
8
8
  import { t as beforeFirst } from "./text-BMFRfBqc.js";
9
- import { t as DOCS_BASE } from "./manifest-CtKR3GXL.js";
10
- import { r as findingOf } from "./output-Dyw8fyPF.js";
9
+ import { t as DOCS_BASE } from "./manifest-Dv6q4i5s.js";
10
+ import { r as findingOf } from "./output-DgSDLrta.js";
11
11
  import { existsSync, readFileSync, realpathSync } from "node:fs";
12
12
  import { dirname, resolve } from "node:path";
13
13
  import { fileURLToPath, pathToFileURL } from "node:url";
@@ -1,5 +1,5 @@
1
1
  import { t as defineLeaf } from "./command-L8EstFNm.js";
2
- import { a as failOnFlag } from "./flags-C3DktBDY.js";
2
+ import { a as failOnFlag } from "./flags-aaeRAdiD.js";
3
3
  //#region src/cli/commands/usage.ts
4
4
  const usage = defineLeaf({
5
5
  flags: {
@@ -16,7 +16,7 @@ const usage = defineLeaf({
16
16
  }
17
17
  },
18
18
  async run(ctx, { flags }) {
19
- return (await import("./usage-CHOtwL19.js")).runUsage({
19
+ return (await import("./usage-y-kBNdqs.js")).runUsage({
20
20
  cwd: ctx.cwd,
21
21
  config: ctx.config,
22
22
  ignore: flags.ignore,
@@ -0,0 +1 @@
1
+ export { t as runUsage } from "./usage-Bybmck7f.js";
@@ -1,4 +1,4 @@
1
- import { a as ProblemDetails } from "./errors-C2PXIv4c.js";
1
+ import { a as ProblemDetails } from "./errors-B_Qg9D3e.js";
2
2
  import { StandardSchemaV1 } from "@standard-schema/spec";
3
3
  //#region src/core/validation-error.d.ts
4
4
  /** The base of every Problem Details `type` URI; defined here so a validation error does not pull in the Problem Details builders. */