permdock 0.7.0 → 0.9.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 (483) hide show
  1. package/README.md +1 -3
  2. package/dist/a2a/index.d.ts +7 -7
  3. package/dist/a2a/index.js +8 -8
  4. package/dist/action-result-BcudBQOF.d.ts +19 -0
  5. package/dist/{adapter-context-CRhqyzCk.js → adapter-context-CIQpQxbE.js} +8 -2
  6. package/dist/{adoption-scan-D-feE7BE.js → adoption-scan-Ch07MdxN.js} +5 -5
  7. package/dist/agent/index.d.ts +2 -2
  8. package/dist/agent/index.js +1 -1
  9. package/dist/ai-sdk/index.d.ts +19 -13
  10. package/dist/ai-sdk/index.js +6 -6
  11. package/dist/{app-data-MuyzVqX8.js → app-data-UNNm07jV.js} +10 -7
  12. package/dist/{approval-header-CJACtHkv.js → approval-header-8QV6MU4H.js} +6 -3
  13. package/dist/{approval-prompt-K0faOLFp.d.ts → approval-prompt-3BqWczTt.d.ts} +13 -11
  14. package/dist/{approval-prompt-Dg5LeAcT.js → approval-prompt-B8hQY69x.js} +5 -6
  15. package/dist/approvals/index.d.ts +4 -4
  16. package/dist/approvals/index.js +6 -6
  17. package/dist/{approvals-CMRfsbBh.js → approvals-DnIBTuXE.js} +66 -42
  18. package/dist/{approvers-CqPOLD-o.js → approvers-B4r0N_Uz.js} +8 -2
  19. package/dist/{arazzo-ClrF3PVb.js → arazzo-BpS7LnV0.js} +2 -2
  20. package/dist/{arazzo-rdeJ8n1J.js → arazzo-CmQaGPkM.js} +6 -6
  21. package/dist/{args-CC3OwyHW.js → args-0FrVs5EH.js} +14 -7
  22. package/dist/astro/index.d.ts +30 -12
  23. package/dist/astro/index.js +2 -2
  24. package/dist/{audience-BrMs8c4o.js → audience-DTjR8xet.js} +8 -8
  25. package/dist/{auth-CscUX8Sy.js → auth--yPyZNgr.js} +19 -7
  26. package/dist/authzen/index.d.ts +34 -28
  27. package/dist/authzen/index.js +23 -20
  28. package/dist/{automation-DOtAFWdy.d.ts → automation-C6Jg75xq.d.ts} +42 -32
  29. package/dist/{automation-ySsxp_Yp.js → automation-x3KEUusw.js} +22 -21
  30. package/dist/better-auth/index.d.ts +2 -2
  31. package/dist/better-auth/index.js +13 -7
  32. package/dist/better-supabase/index.d.ts +357 -227
  33. package/dist/better-supabase/index.js +219 -140
  34. package/dist/{bind-D1nO6fiC.js → bind-BNQA9JK9.js} +26 -10
  35. package/dist/{bind-JDuvxjuW.d.ts → bind-YYjvfpB9.d.ts} +32 -12
  36. package/dist/{body-CH5of8Ne.js → body-CJQwYVa8.js} +3 -3
  37. package/dist/{body-text-QcXok_SI.js → body-text-DQhcmqdY.js} +8 -4
  38. package/dist/{boundary-BM8a_P6E.js → boundary-BV3O1eud.js} +8 -2
  39. package/dist/{boundary-BmHxVH1J.d.ts → boundary-C9ck-3uK.d.ts} +13 -4
  40. package/dist/{budget-NbEtbJC_.js → budget-BELja5A9.js} +6 -3
  41. package/dist/{budget-JqcRqyhK.d.ts → budget-hYsPz_yE.d.ts} +6 -3
  42. package/dist/{build-instance-DxE7czo9.js → build-instance-BWXqwQYU.js} +3 -3
  43. package/dist/{capability-L7NnfhiE.js → capability-BqX94r07.js} +31 -25
  44. package/dist/{capability-D4UC9TTW.d.ts → capability-Di9tiUvi.d.ts} +41 -29
  45. package/dist/{casbin-BHijLuHY.js → casbin-B7_yS-oo.js} +2 -2
  46. package/dist/{casbin-BW9pS47J.js → casbin-bHyIxTNQ.js} +16 -8
  47. package/dist/{casl-CmJlgziS.js → casl-C4OINZHI.js} +2 -2
  48. package/dist/{casl-UbI8v-Wq.js → casl-CHHoCldP.js} +19 -10
  49. package/dist/catalog/index.d.ts +51 -30
  50. package/dist/catalog/index.js +18 -15
  51. package/dist/{catalog-D69WhFii.js → catalog-CGlSwU6j.js} +20 -19
  52. package/dist/catalog-D3oS2GH3.js +1 -0
  53. package/dist/{catalog-BaMQfQ6Y.js → catalog-amPDr0JQ.js} +3 -3
  54. package/dist/{catalog-doc-CV9s6B1S.js → catalog-doc-DjMKzJp9.js} +28 -14
  55. package/dist/{catalog-fingerprint-C144oW4M.js → catalog-fingerprint-e6aCWosn.js} +18 -14
  56. package/dist/catalog-operations-DeHTrJSV.js +60 -0
  57. package/dist/{challenge-nGWma08S.js → challenge-DImNcR7B.js} +48 -27
  58. package/dist/chat/index.d.ts +1 -1
  59. package/dist/chat/index.js +13 -10
  60. package/dist/chat-sdk/index.d.ts +44 -26
  61. package/dist/chat-sdk/index.js +17 -17
  62. package/dist/{checks-BC_0mPIq.js → checks-CGkP3Z7A.js} +4 -1
  63. package/dist/{claims-map-7oQ3ue4X.js → claims-map-CKkoAAYF.js} +5 -2
  64. package/dist/{claims-map-Ca-QX8C6.d.ts → claims-map-D1Pb5oRq.d.ts} +8 -5
  65. package/dist/claude-agent/index.d.ts +6 -6
  66. package/dist/claude-agent/index.js +6 -3
  67. package/dist/clerk/index.d.ts +11 -7
  68. package/dist/clerk/index.js +6 -6
  69. package/dist/cli/bin.js +4 -4
  70. package/dist/cli/index.d.ts +82 -7
  71. package/dist/cli/index.js +6 -6
  72. package/dist/{clients-C7zLFuWT.d.ts → clients-C_NOET3z.d.ts} +5 -5
  73. package/dist/{clients-DjU5ABMy.js → clients-DYr3U86j.js} +3 -3
  74. package/dist/cloud/index.d.ts +84 -52
  75. package/dist/cloud/index.js +53 -39
  76. package/dist/{cloud-CO8pYtwr.js → cloud-3kWfjnYy.js} +4 -5
  77. package/dist/{codemod-BP6n8N9L.js → codemod-Bv5i-Mzo.js} +523 -201
  78. package/dist/{codemod-i4N2BhDc.js → codemod-D9Aiii1r.js} +3 -4
  79. package/dist/{collect-DNm3oKOk.js → collect-B80GYEot.js} +4 -5
  80. package/dist/collect-D-eroIfV.js +1 -0
  81. package/dist/{collect-BaWeMjwV.js → collect-WCl8cJQV.js} +26 -63
  82. package/dist/{compare-pfyVnBjE.js → compare-DTfyUunF.js} +2 -2
  83. package/dist/compile/index.d.ts +2 -2
  84. package/dist/compile/index.js +1 -1
  85. package/dist/{compile-COM2VKuN.d.ts → compile-BEklRUYo.d.ts} +36 -12
  86. package/dist/{compile-BAEO5bOk.js → compile-EzEMB-7v.js} +77 -33
  87. package/dist/{completion-BNdVf7X2.js → completion-_bc0OUQ-.js} +17 -8
  88. package/dist/config-BwPBfN0t.js +108 -0
  89. package/dist/{config-DGZzMV1B.js → config-D5XrLWpk.js} +2 -2
  90. package/dist/{config-report-Cm7UITNA.js → config-report-BmWIskD7.js} +9 -6
  91. package/dist/config-shape-ykV0Vm2n.js +134 -0
  92. package/dist/{connection-DjhIJSs2.js → connection-B72dg5Q2.js} +23 -22
  93. package/dist/{connector-schema-_VCSsdtD.js → connector-schema-CYLQNMYq.js} +3 -2
  94. package/dist/{context--uM9V3Ui.js → context-BnIzxTNE.js} +4 -3
  95. package/dist/convex/index.d.ts +13 -7
  96. package/dist/convex/index.js +9 -6
  97. package/dist/{core-CQkE8Esr.d.ts → core-CFepFiDP.d.ts} +49 -22
  98. package/dist/{core-B5-w6Kw9.js → core-DzVINFbU.js} +26 -20
  99. package/dist/{create-Cb86Z8Im.js → create-6EwRQlig.js} +10 -7
  100. package/dist/{create-DJrlhEp9.js → create-BLPKnJKa.js} +35 -25
  101. package/dist/{create-UTnUVETj.d.ts → create-BPUopdfL.d.ts} +70 -37
  102. package/dist/{create-QHuuPw3q.d.ts → create-BamXmeob.d.ts} +37 -29
  103. package/dist/{create-B2-CQqCI.d.ts → create-DBvUsgzK.d.ts} +49 -28
  104. package/dist/{credential-CIM7wHwA.js → credential-CyyyvCsL.js} +41 -38
  105. package/dist/{credentials-BpuTwd7a.js → credentials-CdDxp7jN.js} +6 -6
  106. package/dist/{deciding-columns-DRo2QM6E.js → deciding-columns-NB4wcyBf.js} +2 -2
  107. package/dist/{delegation-C5rOdTp5.js → delegation-CDB6_keF.js} +31 -22
  108. package/dist/delivery/index.d.ts +4 -4
  109. package/dist/delivery/index.js +5 -5
  110. package/dist/{delivery-rwOKLWRm.js → delivery-BupfvJIV.js} +34 -22
  111. package/dist/{delivery-event-xX4obB8F.js → delivery-event-JioK5YbS.js} +6 -6
  112. package/dist/denied-text-DHldhVUv.d.ts +22 -0
  113. package/dist/{describe-DZlnEtLy.js → describe-Bb4hGK5d.js} +5 -5
  114. package/dist/{describe-O0SwYIK8.d.ts → describe-BbFPBSms.d.ts} +5 -5
  115. package/dist/{device-BARQ8eYG.js → device-BwbJNmb2.js} +11 -8
  116. package/dist/{diff-Btr1c1Ow.js → diff-BwR1JdP2.js} +2 -2
  117. package/dist/{diff-DzT-xD13.js → diff-CQegtBAo.js} +22 -13
  118. package/dist/{digest-B3kc_PgQ.d.ts → digest-8Yx2CchM.d.ts} +3 -3
  119. package/dist/{doctor-BU1szn63.js → doctor-ClRVAtXQ.js} +287 -135
  120. package/dist/{doctor-BoK_y0KO.js → doctor-LPMYjSqO.js} +4 -4
  121. package/dist/drizzle/index.d.ts +33 -19
  122. package/dist/drizzle/index.js +17 -9
  123. package/dist/elysia/index.d.ts +17 -11
  124. package/dist/elysia/index.js +5 -5
  125. package/dist/{errors-BKy0EfhN.js → errors-B6R_lg2a.js} +13 -4
  126. package/dist/{errors-B_Qg9D3e.d.ts → errors-BIM4MFsJ.d.ts} +22 -6
  127. package/dist/{errors-BWXBMaKK.d.ts → errors-CHwoRRpB.d.ts} +4 -1
  128. package/dist/{errors-DpP_U6Bf.js → errors-Vpu6rKHl.js} +13 -10
  129. package/dist/{evaluate-B_oqFbWC.js → evaluate-BAmf_AQd.js} +153 -82
  130. package/dist/{evaluations-BCddEOfO.d.ts → evaluations-DOWuBpWv.d.ts} +11 -5
  131. package/dist/{evaluations-DReoiVBw.js → evaluations-IBceAeKT.js} +40 -19
  132. package/dist/eve/index.d.ts +9 -6
  133. package/dist/eve/index.js +4 -4
  134. package/dist/{event-time-CsegxXxB.js → event-time-BGy48400.js} +8 -4
  135. package/dist/{expiry-D4_YKRKD.js → expiry-6XByK0dm.js} +8 -5
  136. package/dist/express/index.d.ts +9 -6
  137. package/dist/express/index.js +9 -6
  138. package/dist/fastify/index.d.ts +16 -10
  139. package/dist/fastify/index.js +8 -5
  140. package/dist/{fetch-adapter-CuhyYwC1.d.ts → fetch-adapter-BIbBAtPZ.d.ts} +9 -6
  141. package/dist/{fetch-adapter-De-u6vhJ.js → fetch-adapter-dPTgJVHd.js} +14 -11
  142. package/dist/fields-D0vUI6dq.js +498 -0
  143. package/dist/{files-acUbNwWt.js → files-B3AA05f1.js} +8 -5
  144. package/dist/{files-D_JIzUrP.js → files-BSjrtIHw.js} +11 -4
  145. package/dist/{fixtures-BTMW6zgU.js → fixtures-A1_sp_tR.js} +15 -6
  146. package/dist/{flags-aaeRAdiD.js → flags-DXjoTVbS.js} +2 -2
  147. package/dist/{freeze-CrU8nQeX.js → freeze-jjan0lCv.js} +4 -1
  148. package/dist/{from-snapshot-Bz469dIh.js → from-snapshot-DCakWRsr.js} +18 -15
  149. package/dist/gen-BFfzZSLH.js +58 -0
  150. package/dist/gen-BtfFWGbz.js +827 -0
  151. package/dist/{generate-3FNO5P5Q.js → generate-CRVV5V7l.js} +14 -8
  152. package/dist/generate-CezbCaTI.js +275 -0
  153. package/dist/{grantee-BrRANrpT.js → grantee-Dke-9rd1.js} +4 -4
  154. package/dist/{grantee-conditions-C6P1Tvol.js → grantee-conditions-BrYPe-w0.js} +12 -12
  155. package/dist/{grantee-match-0RtHWQDx.js → grantee-match-7RZZvoT_.js} +12 -6
  156. package/dist/{graph-sql-B-dsAT6j.d.ts → graph-sql-BwFC4Qjs.d.ts} +3 -3
  157. package/dist/h3/index.d.ts +10 -7
  158. package/dist/h3/index.js +3 -3
  159. package/dist/headers-B9jQxjtW.d.ts +10 -0
  160. package/dist/{helpers-DY3vXuGs.js → helpers-DJicaG6f.js} +40 -28
  161. package/dist/hono/index.d.ts +16 -10
  162. package/dist/hono/index.js +5 -5
  163. package/dist/{hosted-XBgU6RGT.js → hosted-D0IzESu_.js} +42 -21
  164. package/dist/{hosted-BmjzxQhp.d.ts → hosted-DVxlLZMe.d.ts} +33 -21
  165. package/dist/{http-ujKm0JXE.js → http-DH94eh6f.js} +4 -4
  166. package/dist/{http-BBoKefeS.js → http-DKLXrFGk.js} +13 -7
  167. package/dist/{http-Ca3Sr5x1.js → http-DOL33cO0.js} +11 -8
  168. package/dist/{import-DB2EG_iy.js → import-ACkOrv6g.js} +6 -6
  169. package/dist/{import-Bz0GefWg.js → import-CST57XLp.js} +64 -51
  170. package/dist/{index-CMiPH2Tv.d.ts → index-BinlXeU-.d.ts} +64 -37
  171. package/dist/{index-BSfRl0hZ.d.ts → index-CV-7DWeD.d.ts} +64 -52
  172. package/dist/{index-BE8y3moU.d.ts → index-DJwEgYzA.d.ts} +127 -82
  173. package/dist/{index-DH9DUDEM.d.ts → index-Dj2qF9VC.d.ts} +54 -30
  174. package/dist/{index-BTkwrK7v.d.ts → index-vYjMrXyK.d.ts} +336 -173
  175. package/dist/{index-DLwcuCN_.d.ts → index-ymept53A.d.ts} +51 -30
  176. package/dist/index.d.ts +22 -22
  177. package/dist/index.js +34 -34
  178. package/dist/{init-B-4t1NzC.js → init-BjuFDYT1.js} +10 -10
  179. package/dist/{init-5TXNji88.js → init-txYTuW9u.js} +5 -5
  180. package/dist/{instance-options-CU0YQCLH.d.ts → instance-options-CoHn-0e8.d.ts} +4 -4
  181. package/dist/{instance-snapshot-CjcwnEiV.js → instance-snapshot-DuWf1cT3.js} +86 -61
  182. package/dist/{instant-BluqDvyS.js → instant-DK3Iz83e.js} +2 -2
  183. package/dist/{internals-Dk8A8fX3.js → internals-B3IgHrvo.js} +6 -3
  184. package/dist/{json-schema-B-vAwlde.js → json-schema-BPGa-RjQ.js} +9 -3
  185. package/dist/{json-schema-CN_iLFH2.d.ts → json-schema-BfXgnRNT.d.ts} +4 -4
  186. package/dist/jwt/index.d.ts +57 -27
  187. package/dist/jwt/index.js +24 -21
  188. package/dist/{kernel-DVExUwkp.js → kernel-qv4cr9w8.js} +32 -23
  189. package/dist/kysely/index.d.ts +49 -33
  190. package/dist/kysely/index.js +9 -7
  191. package/dist/{live-options-BaAFCIiu.js → live-options-BBIT68le.js} +2 -2
  192. package/dist/{load-DxroEzH1.js → load-DjSU5KXO.js} +6 -6
  193. package/dist/load-Dm0pSYH3.js +1 -0
  194. package/dist/{login-ClSJh5t5.js → login-CfImTJGb.js} +4 -4
  195. package/dist/{login-WC9HPJpU.js → login-CgfCTO3F.js} +16 -9
  196. package/dist/{manifest-Dv6q4i5s.js → manifest-B2QPh19C.js} +49 -38
  197. package/dist/{manifest-BVhExYhw.d.ts → manifest-CzzWtnAb.d.ts} +126 -31
  198. package/dist/{manifest-schema-Cv492Qev.js → manifest-schema-2r37XRhD.js} +44 -3
  199. package/dist/{manifest-B79YuF2T.js → manifest-wg8WkkpD.js} +6 -6
  200. package/dist/{map-claims-etGIS_Dv.js → map-claims-C-nv08_n.js} +16 -9
  201. package/dist/{map-error-BQGyDm_M.js → map-error-pasIGqMT.js} +7 -7
  202. package/dist/{markers-C6joDI3o.js → markers-BeHZ4x9Q.js} +20 -5
  203. package/dist/mcp/index.d.ts +114 -61
  204. package/dist/mcp/index.js +70 -40
  205. package/dist/{migrate-Dodel0IJ.js → migrate-B7oP_sQU.js} +35 -17
  206. package/dist/module-values-BJTBdo6y.js +107 -0
  207. package/dist/nest/index.d.ts +23 -13
  208. package/dist/nest/index.js +18 -11
  209. package/dist/next/client.d.ts +5 -2
  210. package/dist/next/client.js +1 -1
  211. package/dist/next/index.d.ts +79 -26
  212. package/dist/next/index.js +121 -10
  213. package/dist/next/plugin.d.ts +1 -1
  214. package/dist/next/plugin.js +4 -3
  215. package/dist/node/index.d.ts +5 -5
  216. package/dist/node/index.js +3 -3
  217. package/dist/{ocsf-BFp-PZZA.js → ocsf-TcjRBgIs.js} +15 -5
  218. package/dist/openai/index.d.ts +13 -7
  219. package/dist/openai/index.js +3 -3
  220. package/dist/openapi/index.d.ts +51 -30
  221. package/dist/openapi/index.js +2 -2
  222. package/dist/{openapi-ztVaux6j.js → openapi-BGeuunWC.js} +23 -14
  223. package/dist/{openapi-DMocl1bh.js → openapi-BIpw3Mb7.js} +4 -5
  224. package/dist/{openapi-Ddb4628T.js → openapi-BOsx0xn9.js} +33 -18
  225. package/dist/{operation-findings-kRcEp8lE.js → operation-findings-CXtFzlKJ.js} +3 -3
  226. package/dist/{operations-BNLes61x.d.ts → operations-Ci_rT6Uo.d.ts} +10 -7
  227. package/dist/orpc/index.d.ts +68 -14
  228. package/dist/orpc/index.js +62 -13
  229. package/dist/otel/index.d.ts +7 -4
  230. package/dist/otel/index.js +8 -5
  231. package/dist/{output-DgSDLrta.js → output-DV5dwOTs.js} +9 -5
  232. package/dist/output-files-BHOIlrfD.js +1 -0
  233. package/dist/{output-files-CCMdcFWb.js → output-files-BIQ_9pIs.js} +29 -17
  234. package/dist/ownership-DA5YdYTm.js +1059 -0
  235. package/dist/{parse-Ddhz2xf4.js → parse-1_ZheTW5.js} +16 -13
  236. package/dist/parse-local-manifest-CCmbhnxP.d.ts +10 -0
  237. package/dist/{parse-local-manifest-T1Q8X3A2.js → parse-local-manifest-DEiCF4ah.js} +19 -7
  238. package/dist/{parse-request-D_tUXG6M.js → parse-request-CwCZpyjV.js} +7 -8
  239. package/dist/{paths-DXSHAMIa.js → paths-CUvURzHp.js} +4 -1
  240. package/dist/pdp/index.d.ts +9 -6
  241. package/dist/pdp/index.js +20 -13
  242. package/dist/{peer-DOzzMfZL.js → peer-C9LvBCcb.js} +1 -1
  243. package/dist/{peer-12Q5I_RH.js → peer-Q0fuZ6hx.js} +9 -3
  244. package/dist/{permdock-BfWEeMqk.js → permdock-BvjivVb9.js} +200 -140
  245. package/dist/{permdock-Dco6dyCK.d.ts → permdock-CprAPN3w.d.ts} +260 -129
  246. package/dist/{permission-registry-DpPtSKNZ.js → permission-registry-B8tYxPIt.js} +23 -10
  247. package/dist/{permission-types-DhNEmoRG.d.ts → permission-types-CAY-GU7e.d.ts} +127 -41
  248. package/dist/{permissions-CoqCOfJ3.d.ts → permissions-Bx6UI8n1.d.ts} +6 -3
  249. package/dist/{permissions-CyH2MV_B.js → permissions-CVXmRILq.js} +3 -3
  250. package/dist/{permissions-DArULThq.js → permissions-CYcHj_w7.js} +8 -5
  251. package/dist/pg-DQTqRrou.js +60 -0
  252. package/dist/{pins-8ILTftC9.js → pins-nqarl3oE.js} +4 -1
  253. package/dist/{pkce-5h8NgMQJ.js → pkce-CnmmYqUZ.js} +1 -1
  254. package/dist/{policy-B7dg_yzu.d.ts → policy-BycVKnXv.d.ts} +5 -5
  255. package/dist/{policy-DaJy4nK4.js → policy-CLQ8__GF.js} +43 -23
  256. package/dist/{policy-from-catalog-DFWYkNdu.js → policy-from-catalog-CU3An8uP.js} +28 -25
  257. package/dist/{policy-module-CTlwMvLI.js → policy-module-xym9fnSq.js} +12 -6
  258. package/dist/{policy-types-B-F-qAZk.d.ts → policy-types-DGIO_gxq.d.ts} +782 -357
  259. package/dist/{postgres-store-BL9M_CA1.js → postgres-store-DcyrPS-r.js} +43 -16
  260. package/dist/{postgrest-r5faDIzD.js → postgrest-5Dr3W64L.js} +84 -86
  261. package/dist/{postgrest-CYacM_u7.d.ts → postgrest-D5nUGm-c.d.ts} +55 -35
  262. package/dist/powersync-B701tvhE.js +1 -0
  263. package/dist/{powersync-13odBwiM.js → powersync-Bg8u-JcR.js} +3 -3
  264. package/dist/{powersync-53ryOZip.js → powersync-CJrT1DSc.js} +127 -69
  265. package/dist/preset/index.d.ts +38 -28
  266. package/dist/preset/index.js +1 -1
  267. package/dist/{preset-CHTbd-DQ.js → preset-BjLzeFpp.js} +56 -32
  268. package/dist/{principal-source-pHneukrx.js → principal-source-C6N60GtM.js} +10 -10
  269. package/dist/prisma/index.d.ts +69 -41
  270. package/dist/prisma/index.js +21 -17
  271. package/dist/{problem-CTviyH5L.js → problem-BVLHFK33.js} +41 -21
  272. package/dist/{problem-details-cn5X30gZ.js → problem-details-CLDgX1KV.js} +13 -4
  273. package/dist/{problem-types-CJ2325SZ.js → problem-types-DSsRfONQ.js} +4 -1
  274. package/dist/{prompt-DwtVemER.js → prompt-BYc6drYW.js} +4 -1
  275. package/dist/protected-action-D8x73IGm.d.ts +58 -0
  276. package/dist/protected-action-DUYqb-Ma.js +80 -0
  277. package/dist/{protected-DXE3cQYg.js → protected-action-QEA8arRB.js} +48 -14
  278. package/dist/{provider-BQsTYYy0.js → provider-C55OGXJ7.js} +5 -4
  279. package/dist/{provider-Csk-THAn.d.ts → provider-DfLeek9O.d.ts} +1 -1
  280. package/dist/{provider-store-IgqQipCO.js → provider-store-CaTv00tr.js} +13 -9
  281. package/dist/{pull-CN5OLxrF.js → pull-2nJr0qg_.js} +12 -11
  282. package/dist/pull-C3EEGzSw.js +1 -0
  283. package/dist/{push-tVdG8dUL.js → push-Bn-lMEmI.js} +19 -13
  284. package/dist/{pushed-policy-CmYeSQqq.js → pushed-policy-CDuOL2de.js} +10 -7
  285. package/dist/{pushed-policy-BbcY9r_4.d.ts → pushed-policy-CryQheKq.d.ts} +12 -6
  286. package/dist/react/index.d.ts +9 -8
  287. package/dist/react/index.js +7 -6
  288. package/dist/react/provider-client.d.ts +1 -1
  289. package/dist/react/provider-client.js +1 -1
  290. package/dist/react-native/index.d.ts +94 -55
  291. package/dist/react-native/index.js +200 -61
  292. package/dist/{refs-CNJBiTFo.js → refs-C8BKxc_e.js} +2 -2
  293. package/dist/{relation-walk-3OyDBF0S.js → relation-walk-DK_gkgL7.js} +12 -9
  294. package/dist/{relations-BnCWnJGI.js → relations-BxvRvDHK.js} +3 -3
  295. package/dist/{replay-Du1tJjG7.js → replay-BU09ad4L.js} +1 -1
  296. package/dist/{replay-DCDD_ZfL.d.ts → replay-Bs9Df2fQ.d.ts} +1 -1
  297. package/dist/{request-context-BykKLmyE.js → request-context-Duzdf0cd.js} +8 -8
  298. package/dist/{request-schema-CMreVuFM.js → request-schema-DhX7UbfQ.js} +4 -1
  299. package/dist/resend/index.d.ts +34 -28
  300. package/dist/resend/index.js +29 -29
  301. package/dist/resolve-names-ConCSj1y.js +201 -0
  302. package/dist/{resource-relations-D_jw0BFx.js → resource-relations-8-pCScBO.js} +18 -9
  303. package/dist/{retire-Wj6dkyDE.js → retire-B2xffQgY.js} +15 -6
  304. package/dist/{revocations-R07lFBnX.d.ts → revocations-BaUXHM1N.d.ts} +6 -3
  305. package/dist/{rls-Ck_PocSp.js → rls-Ba9wN0SP.js} +13 -6
  306. package/dist/{rls-CxBZb4rZ.js → rls-Cx0dtsB7.js} +310 -128
  307. package/dist/{role-builder-C1VJzvcr.js → role-builder-BK2-T6oD.js} +41 -20
  308. package/dist/{row-conditions-h2HythXQ.js → row-conditions-BAGHOmVq.js} +4 -3
  309. package/dist/{rpc-Bk1bE-ch.js → rpc-vHIwyXCp.js} +8 -5
  310. package/dist/run-Ck22anC2.js +1 -0
  311. package/dist/{run-uLD2aWuO.js → run-PbRlXTfh.js} +26 -23
  312. package/dist/{run-ticket-BpNi7BCi.d.ts → run-ticket-B2o2Kxz8.d.ts} +29 -14
  313. package/dist/{run-ticket-B5d_63Ma.js → run-ticket-Dv7aF7Dk.js} +9 -9
  314. package/dist/{runtime-Vif3_-zf.js → runtime-BGnrOkVH.js} +5 -2
  315. package/dist/{saas-Az_Kz-4D.js → saas-DK4V-3Is.js} +42 -29
  316. package/dist/{scan-DSljDE1Y.js → scan-CRTj6fke.js} +1 -1
  317. package/dist/{schema-B4v0Qrac.js → schema-BOJjqlWL.js} +3 -2
  318. package/dist/{schema-gIcCx7zM.js → schema-BTsE1WRT.js} +8 -4
  319. package/dist/scim/index.d.ts +2 -2
  320. package/dist/scim/index.js +2 -2
  321. package/dist/{scim-C7JYhySg.js → scim-D8YupzX1.js} +2 -2
  322. package/dist/{scim-YNieBO1U.js → scim-jJBJ7g1Z.js} +33 -15
  323. package/dist/{scopes-BHsc-wp-.js → scopes-0Up_UA2t.js} +41 -23
  324. package/dist/server/index.d.ts +11 -11
  325. package/dist/server/index.js +12 -12
  326. package/dist/{server-Bnga6I50.js → server-3cVlTLde.js} +31 -31
  327. package/dist/{server-types-C4gZUEZy.d.ts → server-types-CyRN0-Cd.d.ts} +88 -46
  328. package/dist/{sha256-D9ihqmvd.js → sha256-C-4WXKIu.js} +4 -3
  329. package/dist/{shared-fMKOv8hP.js → shared-Afctg7B0.js} +65 -32
  330. package/dist/{shared-C8LjUdVU.js → shared-l0oGGetg.js} +9 -6
  331. package/dist/{signals-D3NcTKUS.js → signals-B1vHR3fN.js} +2 -2
  332. package/dist/{sink-Cp_Eot9W.d.ts → sink-B5zoUW_O.d.ts} +44 -20
  333. package/dist/{sink-BEZSlMS_.js → sink-D9_vh372.js} +32 -21
  334. package/dist/{skills-g_3BS9NC.js → skills-C9uKfSF5.js} +3 -3
  335. package/dist/{skills-Dcjw9_1C.js → skills-CQQcuGBi.js} +12 -8
  336. package/dist/{snapshot-CbGmYiJx.js → snapshot-CXlzi69u.js} +21 -18
  337. package/dist/{snapshot-cache-Pahd3IYJ.d.ts → snapshot-cache-BjAWkchD.d.ts} +21 -12
  338. package/dist/{snapshot-cache-DT2Kx1F8.js → snapshot-cache-Bx_4xC_6.js} +14 -11
  339. package/dist/solid/index.d.ts +55 -16
  340. package/dist/solid/index.js +46 -12
  341. package/dist/solid-start/index.d.ts +30 -12
  342. package/dist/solid-start/index.js +3 -3
  343. package/dist/{sources-B-zYB4GS.js → sources-CMAM-2A3.js} +46 -27
  344. package/dist/{sources-DEEuGb8S.d.ts → sources-CWG32C0G.d.ts} +126 -53
  345. package/dist/{sql-B96movIM.js → sql-0WjxIp9g.js} +28 -7
  346. package/dist/{sql-CDEPCA0g.d.ts → sql-B80DFdpG.d.ts} +2 -2
  347. package/dist/{src-DLFrtrrC.js → src-C_pi2Rnh.js} +292 -101
  348. package/dist/ssf/index.d.ts +3 -3
  349. package/dist/ssf/index.js +47 -35
  350. package/dist/{standard-webhooks-DgFFD-Ga.js → standard-webhooks-D67a3nzk.js} +5 -5
  351. package/dist/{standard-webhooks-B_qRg0ws.d.ts → standard-webhooks-DOYEuOLx.d.ts} +7 -7
  352. package/dist/{store-DSP9oGvh.js → store-RNFvaJJv.js} +32 -26
  353. package/dist/{store-options-B_poyYvg.js → store-options-Dil3lraY.js} +105 -15
  354. package/dist/stores-DZJvxFIZ.d.ts +59 -0
  355. package/dist/{stores-BqEuHC05.js → stores-DxZWDXCs.js} +42 -5
  356. package/dist/{stream-2Vwhl7Er.d.ts → stream-9y9qw51m.d.ts} +4 -3
  357. package/dist/{stream-CvdUS9V1.js → stream-CDvF0sJm.js} +5 -5
  358. package/dist/{style-Ds1gNm77.js → style-DblOtSga.js} +1 -1
  359. package/dist/{style-Cqo7-73x.js → style-Ds11Hmk4.js} +2 -1
  360. package/dist/{subject-settings-CkEwrw3W.js → subject-settings-8sH5HlII.js} +8 -4
  361. package/dist/{row-check-Dt35czLy.d.ts → subject-settings-vNW8qmUH.d.ts} +30 -18
  362. package/dist/supabase/index.d.ts +48 -38
  363. package/dist/supabase/index.js +5 -5
  364. package/dist/supabase/middleware.d.ts +19 -13
  365. package/dist/supabase/middleware.js +7 -7
  366. package/dist/{supabase--0aJdLEd.js → supabase-DnMMg5Fn.js} +79 -35
  367. package/dist/{supabase-Bqp7iIY2.js → supabase-SBs3MYUE.js} +3 -3
  368. package/dist/supabase-hook-C0FyEACZ.js +1 -0
  369. package/dist/{supabase-hook-Dg0SrQWR.js → supabase-hook-CrgU06WH.js} +175 -196
  370. package/dist/{supautils-MESd81bF.js → supautils-ByezN3b8.js} +385 -219
  371. package/dist/{support-session-Cna49-3f.js → support-session-BsmPCbz8.js} +21 -21
  372. package/dist/svelte/PermissionBoundary.svelte +2 -6
  373. package/dist/svelte/Protected.svelte +2 -8
  374. package/dist/svelte/index.d.ts +9 -8
  375. package/dist/svelte/index.js +10 -9
  376. package/dist/svelte/runtime.d.ts +4 -4
  377. package/dist/svelte/runtime.js +4 -4
  378. package/dist/svelte/source.d.ts +9 -8
  379. package/dist/svelte/source.js +6 -5
  380. package/dist/sveltekit/index.d.ts +30 -12
  381. package/dist/sveltekit/index.js +2 -2
  382. package/dist/{ownership-Z2LpxsGa.js → tables-BqrxBCir.js} +641 -1104
  383. package/dist/tanstack-start/index.d.ts +22 -10
  384. package/dist/tanstack-start/index.js +2 -2
  385. package/dist/{target-Bw37TFNA.js → target-qdEAnnhU.js} +6 -6
  386. package/dist/{tenancy-CmeBQ6Nv.js → tenancy-5d1zVBvK.js} +25 -19
  387. package/dist/terminal/index.d.ts +23 -14
  388. package/dist/terminal/index.js +17 -20
  389. package/dist/testing/core.d.ts +1 -1
  390. package/dist/testing/core.js +1 -1
  391. package/dist/testing/fixtures/index.d.ts +8 -5
  392. package/dist/testing/fixtures/index.js +78 -17
  393. package/dist/testing/index.d.ts +225 -141
  394. package/dist/testing/index.js +352 -234
  395. package/dist/testing/saas/index.d.ts +43 -27
  396. package/dist/testing/saas/index.js +2 -2
  397. package/dist/testing/saas/permissions.d.ts +1 -1
  398. package/dist/testing/saas/permissions.js +1 -1
  399. package/dist/{text-diff-DhITNCnD.js → text-diff-BtfSmdUo.js} +2 -2
  400. package/dist/{thenable-yD7SabqG.js → thenable-BNSM1U2R.js} +12 -3
  401. package/dist/{time-DkWjdL98.js → time-nR1JesoH.js} +32 -8
  402. package/dist/{token-2qYDvXz2.js → token-DC9EQiet.js} +14 -12
  403. package/dist/{tool-refusal-reAhIzdl.js → tool-refusal-Qpjs_W6M.js} +5 -2
  404. package/dist/trpc/index.d.ts +11 -8
  405. package/dist/trpc/index.js +15 -9
  406. package/dist/type-helpers-c7Xo_2Cu.d.ts +50 -0
  407. package/dist/{types-CfiKC5aN.d.ts → types-B2efzoSX.d.ts} +14 -11
  408. package/dist/{types-CIeZcG8v.d.ts → types-B6ExllNo.d.ts} +2 -2
  409. package/dist/{types-DBHftjgS.d.ts → types-BB-zWDcR.d.ts} +45 -33
  410. package/dist/{types-BfVmNJO5.d.ts → types-BMVDHvI0.d.ts} +128 -50
  411. package/dist/{types-DXmwu78Z.d.ts → types-CEinc15V.d.ts} +31 -14
  412. package/dist/{types-g7Oy6Zg4.d.ts → types-CN0LsqbK.d.ts} +47 -24
  413. package/dist/{types-CeIscIKp.d.ts → types-CWBsAwqn.d.ts} +23 -12
  414. package/dist/{types-DqzsnlSA.js → types-CcUXciSj.js} +17 -5
  415. package/dist/{types-BWZybqs9.d.ts → types-CzOeVvcC.d.ts} +384 -203
  416. package/dist/{types-DC44-hqb.d.ts → types-DLvhVm1r.d.ts} +59 -32
  417. package/dist/{types-D3A19w4A.d.ts → types-DlelvQk4.d.ts} +22 -13
  418. package/dist/{types-cTos-H7p.d.ts → types-DsHGPtkR.d.ts} +68 -32
  419. package/dist/{types-BXMYB7BY.d.ts → types-ZzRGoViD.d.ts} +77 -24
  420. package/dist/{types-CQVEQawv.d.ts → types-rCRV4Ge-.d.ts} +24 -14
  421. package/dist/types-tQB2CEnY.d.ts +262 -0
  422. package/dist/unplugin/index.d.ts +1 -1
  423. package/dist/unplugin/index.js +2 -2
  424. package/dist/usage-0hjZPIRX.js +1 -0
  425. package/dist/{usage-Bybmck7f.js → usage-B9EtHWLa.js} +50 -26
  426. package/dist/{usage-CDaLXCfL.js → usage-CBzgwfIs.js} +2 -2
  427. package/dist/{validation-error-ZfUHbKvf.js → validation-error-CYg2kJEw.js} +4 -1
  428. package/dist/{validation-error-CQpoquwj.d.ts → validation-error-uvp-kyfO.d.ts} +5 -2
  429. package/dist/{validity-CZ7-y0Cj.js → validity-Buc7w8E9.js} +13 -10
  430. package/dist/{verifier-DHuh-okk.js → verifier-DUV6pLqZ.js} +10 -4
  431. package/dist/{verify-pe8rL_Qw.js → verify-DlUcTDBz.js} +148 -487
  432. package/dist/version-DMQ0dnN5.js +48 -0
  433. package/dist/version-DizhmD72.js +1 -0
  434. package/dist/{views-BB8E9dTP.js → views-CD8wuL4Z.js} +19 -6
  435. package/dist/{vocabulary-Bg3eeT2H.d.ts → vocabulary-DEJ5j4mR.d.ts} +7 -4
  436. package/dist/vue/index.d.ts +71 -22
  437. package/dist/vue/index.js +50 -13
  438. package/dist/{waiter-DwEyouan.d.ts → waiter-CqUKX6CY.d.ts} +13 -10
  439. package/dist/{waiter-BGUtGYoU.js → waiter-aBLM63_f.js} +1 -1
  440. package/dist/{watch-C-4VmFlL.js → watch-BFDKqmUa.js} +8 -8
  441. package/dist/watch-ClLuO2TL.js +1 -0
  442. package/dist/webmcp/index.d.ts +11 -11
  443. package/dist/webmcp/index.js +8 -5
  444. package/dist/{where-scope-wq2coopv.js → where-scope-DlCdCM_8.js} +24 -18
  445. package/dist/{who-can-BwNsI_Js.js → who-can-BoDJm0Nc.js} +23 -20
  446. package/dist/workflow/index.d.ts +3 -3
  447. package/dist/workflow/index.js +13 -13
  448. package/dist/workflow-sdk/index.d.ts +19 -13
  449. package/dist/workflow-sdk/index.js +6 -6
  450. package/dist/{wrap-CiSc_KCq.js → wrap-B2wziJI_.js} +4 -4
  451. package/dist/{wrap-B6R0cMRL.d.ts → wrap-DxXB54Wu.d.ts} +8 -5
  452. package/package.json +8 -8
  453. package/schemas/catalog-v1.json +3 -0
  454. package/schemas/supabase-manifest-v1.json +33 -1
  455. package/skills/permdock-credentials/references/tokens-keys-links.md +8 -6
  456. package/skills/permdock-data/references/queries-and-rls.md +2 -1
  457. package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +2 -2
  458. package/skills/permdock-wire/references/adapters.md +16 -23
  459. package/dist/catalog-BCCjSAdH.js +0 -1
  460. package/dist/collect-k_Dulxr5.js +0 -1
  461. package/dist/config-CoQHDrDi.js +0 -166
  462. package/dist/denied-text-D4qkEtFz.d.ts +0 -19
  463. package/dist/fields-ClcQLrVc.js +0 -238
  464. package/dist/generate-CNU1pIOo.js +0 -171
  465. package/dist/headers-BIjfMaoC.js +0 -8
  466. package/dist/headers-CIbDTUTK.d.ts +0 -7
  467. package/dist/load-DrMHXzgN.js +0 -1
  468. package/dist/output-files-DPAY7-GX.js +0 -1
  469. package/dist/package-root-Dk_ETdkp.js +0 -31
  470. package/dist/parse-local-manifest-e4mdwAKd.d.ts +0 -10
  471. package/dist/policies-B2lZIurj.js +0 -295
  472. package/dist/powersync-CExtTLyA.js +0 -1
  473. package/dist/problem-details-Tcfmj3bV.d.ts +0 -7
  474. package/dist/protected-BwZYL1X_.d.ts +0 -39
  475. package/dist/pull-Cty6Ovyu.js +0 -1
  476. package/dist/run-Bz7DXGEv.js +0 -1
  477. package/dist/stores-BAZwSYZA.d.ts +0 -31
  478. package/dist/supabase-hook-DJxC4PoP.js +0 -1
  479. package/dist/types-CKV71kKh.d.ts +0 -172
  480. package/dist/usage-y-kBNdqs.js +0 -1
  481. package/dist/version-CEbQ5UeM.js +0 -18
  482. package/dist/version-DXkYUISx.js +0 -1
  483. package/dist/watch-Bd9mx3rd.js +0 -1
@@ -1,29 +1,29 @@
1
- import { Gt as Snapshot, J as EntitlementSource, K as DecisionProvider, Q as LimitStore, T as Policy, U as CredentialVerifier, W as CustomRoleSource, at as SettingsSource, dt as TokenVerifier, et as MembershipSource, it as RelationSource, lr as Subject, mt as WhereCompiler, or as Membership, ot as SnapshotSource, q as DecisionSink, sr as Principal, st as SubjectResolver, tn as DeliveryChannel, ut as TokenSigner } from "../policy-types-B-F-qAZk.js";
2
- import { g as ResourceInit, l as InferPermissionTree, u as Permission } from "../permission-types-DhNEmoRG.js";
3
- import { r as Role } from "../vocabulary-Bg3eeT2H.js";
4
- import { st as LegacyCheck } from "../index-BTkwrK7v.js";
5
- import { T as ApprovalPolicySource, a as PermDock, h as PrincipalSource, p as PrincipalIdentity, v as Limits } from "../permdock-Dco6dyCK.js";
6
- import { s as PolicySource } from "../hosted-BmjzxQhp.js";
7
- import { a as ApprovalDelegationSource, m as ApprovalStore } from "../types-DC44-hqb.js";
8
- import { a as ProblemDetails } from "../errors-B_Qg9D3e.js";
9
- import { c as ModelMap, t as AgentPermDock, u as ToolMap } from "../create-UTnUVETj.js";
10
- import { c as AccessReviewStore } from "../types-CfiKC5aN.js";
11
- import { R as IdempotencyStore } from "../index-BE8y3moU.js";
12
- import { n as RevocationFeed } from "../revocations-R07lFBnX.js";
13
- import { s as SupportSessionSource } from "../index-BSfRl0hZ.js";
14
- import { a as AutomationSource, t as Automation } from "../automation-DOtAFWdy.js";
15
- import { c as DeliveryTransport, g as TransportMessages } from "../types-g7Oy6Zg4.js";
16
- import { r as SupabaseHookManifest } from "../manifest-BVhExYhw.js";
17
- import { t as supabaseMembershipsBudget } from "../budget-JqcRqyhK.js";
18
- import { t as CloudApproverOptions } from "../types-DBHftjgS.js";
19
- import { n as ApprovalWaiter } from "../waiter-DwEyouan.js";
20
- import { g as SetQueue, l as ReplayStore } from "../types-cTos-H7p.js";
21
- import { r as SnapshotStorage } from "../types-CeIscIKp.js";
22
- import { x as DirectoryStore } from "../index-DH9DUDEM.js";
23
- import { S as SsfStreamStore } from "../index-CMiPH2Tv.js";
24
- 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-CQkE8Esr.js";
25
- import { a as SaasProject } from "../permissions-CoqCOfJ3.js";
26
- import { n as saasPolicy } from "../policy-B7dg_yzu.js";
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";
2
+ import { g as ResourceInit, l as InferPermissionTree, u as Permission } from "../permission-types-CAY-GU7e.js";
3
+ import { r as Role } from "../vocabulary-DEJ5j4mR.js";
4
+ import { Ut as VersionCache, st as LegacyCheck } from "../index-vYjMrXyK.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";
12
+ import { n as RevocationFeed } from "../revocations-BaUXHM1N.js";
13
+ import { s as SupportSessionSource } from "../index-CV-7DWeD.js";
14
+ import { a as AutomationSource, t as Automation } from "../automation-C6Jg75xq.js";
15
+ import { c as DeliveryTransport, g as TransportMessages } from "../types-CN0LsqbK.js";
16
+ import { r as SupabaseHookManifest } from "../manifest-CzzWtnAb.js";
17
+ import { t as supabaseMembershipsBudget } from "../budget-hYsPz_yE.js";
18
+ import { t as CloudApproverOptions } from "../types-BB-zWDcR.js";
19
+ import { n as ApprovalWaiter } from "../waiter-CqUKX6CY.js";
20
+ import { g as SetQueue, l as ReplayStore } from "../types-DsHGPtkR.js";
21
+ import { r as SnapshotStorage } from "../types-CWBsAwqn.js";
22
+ import { x as DirectoryStore } from "../index-Dj2qF9VC.js";
23
+ import { S as SsfStreamStore } from "../index-BinlXeU-.js";
24
+ 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";
25
+ import { a as SaasProject } from "../permissions-Bx6UI8n1.js";
26
+ import { n as saasPolicy } from "../policy-BycVKnXv.js";
27
27
  import { expectTypeOf } from "vitest";
28
28
  //#region src/testing/describe-policy.d.ts
29
29
  /** `policyMatrix` under Vitest: one test per cell, plus the exhaustive check. */
@@ -38,8 +38,8 @@ type ClientParityCase = {
38
38
  readonly permission: Permission;
39
39
  readonly row?: unknown;
40
40
  /**
41
- * `true` when the client may deny what the server grants, because the
42
- * outcome depends on a closure, a quota or an approval the snapshot omits.
41
+ * `true` when the client may deny what the server grants, because the outcome
42
+ * depends on a closure, a quota or an approval the snapshot omits.
43
43
  */
44
44
  readonly stricter?: boolean;
45
45
  };
@@ -47,8 +47,8 @@ type ClientParityOptions = {
47
47
  readonly customRoles?: CustomRoleSource;
48
48
  };
49
49
  /**
50
- * Asserts that `fromSnapshot(permdock.snapshot())` never grants what the
51
- * server denies, and matches it exactly unless a case is marked `stricter`.
50
+ * Asserts that `fromSnapshot(permdock.snapshot())` never grants what the server
51
+ * denies, and matches it exactly unless a case is marked `stricter`.
52
52
  */
53
53
  export declare function testClientParity(policy: Policy, cases: readonly ClientParityCase[], options?: ClientParityOptions): void;
54
54
  //#endregion
@@ -66,9 +66,9 @@ type LegacyParityCase = {
66
66
  readonly expect?: boolean;
67
67
  };
68
68
  /**
69
- * Asserts that the policy answers each case as the application's legacy
70
- * check does, or as the case's `expect` says where the difference is
71
- * intended. Run it before enforcing a permission with `shadowMode`.
69
+ * Asserts that the policy answers each case as the application's legacy check
70
+ * does, or as the case's `expect` says where the difference is intended. Run it
71
+ * before enforcing a permission with `shadowMode`.
72
72
  */
73
73
  export declare function testLegacyParity(policy: Policy, legacy: LegacyCheck, cases: readonly LegacyParityCase[]): void;
74
74
  //#endregion
@@ -76,17 +76,20 @@ export declare function testLegacyParity(policy: Policy, legacy: LegacyCheck, ca
76
76
  type ClientStoreStatus = "ready" | "pending" | "stale" | "server-only";
77
77
  /** The client surface every UI adapter hands to components. */
78
78
  type ClientStorePermDock = PermDock & {
79
- status(permission?: Permission, data?: unknown): ClientStoreStatus;
80
- refresh(query?: {
79
+ status: (permission?: Permission, data?: unknown) => ClientStoreStatus;
80
+ refresh: (query?: {
81
81
  readonly tenant?: string;
82
- }): Promise<void>;
83
- clear(): void;
84
- subscribe(listener: () => void): () => void;
82
+ }) => Promise<void>;
83
+ clear: () => void;
84
+ subscribe: (listener: () => void) => () => void;
85
85
  };
86
86
  type ClientStoreHandle = {
87
- get(): ClientStorePermDock;
88
- /** Hydrate from a server-pushed snapshot (a Server Action result, a socket message). */
89
- replace(value: unknown): void;
87
+ get: () => ClientStorePermDock;
88
+ /**
89
+ * Hydrate from a server-pushed snapshot (a Server Action result, a socket
90
+ * message).
91
+ */
92
+ replace: (value: unknown) => void;
90
93
  };
91
94
  type ClientStoreFactoryOptions = {
92
95
  readonly snapshot: Snapshot | string;
@@ -99,9 +102,9 @@ type ClientStoreFactoryOptions = {
99
102
  type ClientStoreFactory = (options: ClientStoreFactoryOptions) => ClientStoreHandle;
100
103
  /**
101
104
  * Race and cache scenarios for a client snapshot store: tenant switches,
102
- * `replace` and `refresh`, logout and a second user during a refresh, stale
103
- * and signed snapshots, and endpoint answers cached per tenant. Runs against
104
- * the saas domain; `createStore` wraps the store an adapter ships.
105
+ * `replace` and `refresh`, logout and a second user during a refresh, stale and
106
+ * signed snapshots, and endpoint answers cached per tenant. Runs against the
107
+ * saas domain; `createStore` wraps the store an adapter ships.
105
108
  */
106
109
  export declare function testClientStore(name: string, createStore: ClientStoreFactory): void;
107
110
  //#endregion
@@ -115,6 +118,18 @@ export declare function snapshotFixture(policy: Policy, subject: unknown, option
115
118
  readonly simulated?: boolean;
116
119
  }): Promise<Snapshot>;
117
120
  //#endregion
121
+ //#region src/testing/seed-rows.d.ts
122
+ /** Rows per table; tables are inserted in key order, so list parents first. */
123
+ type SeedRows = Readonly<Record<string, readonly Readonly<Record<string, unknown>>[]>>;
124
+ /**
125
+ * Inserts `factories.*` rows through the `query` function `testRlsParity`
126
+ * takes, one parameterised `insert` per row with the row's own keys as quoted
127
+ * column names. `undefined` fields are left to the column default. Run it as
128
+ * the table owner, before RLS applies. Resolves to the number of rows
129
+ * inserted.
130
+ */
131
+ export declare function seedRows(query: RlsQueryFn, rows: SeedRows): Promise<number>;
132
+ //#endregion
118
133
  //#region src/testing/http-adapter/domain.d.ts
119
134
  /**
120
135
  * What a mount wires into its framework. Every value is server-side: the
@@ -124,9 +139,9 @@ export declare function snapshotFixture(policy: Policy, subject: unknown, option
124
139
  type HttpScenarioDomain = {
125
140
  readonly policy: typeof saasPolicy;
126
141
  /**
127
- * The verified principal for an `Authorization` header, with the plans of
128
- * the org in the first segment of `path`. The path, not a route param, so
129
- * the answer is the same in a global middleware that runs before routing.
142
+ * The verified principal for an `Authorization` header, with the plans of the
143
+ * org in the first segment of `path`. The path, not a route param, so the
144
+ * answer is the same in a global middleware that runs before routing.
130
145
  */
131
146
  readonly subject: (authorization: string | null | undefined, path: string) => Promise<Principal | null>;
132
147
  /** `subject` as a full `Subject` whose `expiresAt` is the token's `exp`. */
@@ -203,26 +218,30 @@ type HttpMounted = {
203
218
  *
204
219
  * - `GET /:org/projects/:id`: `protect(project.read, row)`, 200 with the row
205
220
  * - `PATCH /:org/projects/:id`: `protect(project.update, row)`, 200
206
- * - `POST /:org/projects`: `protect(project.create, body, { trusted: false })`, 201 with the body
221
+ * - `POST /:org/projects`: `protect(project.create, body, { trusted: false })`,
222
+ * 201 with the body
207
223
  * - `DELETE /:org/projects/:id`: `protect(project.read, row)`, then the handler
208
224
  * calls `permdock.assert(project.delete, row)`; 204
209
225
  * - `POST /:org/projects/:id/files`: `protect(project.update, row)`, then the
210
- * framework's own multipart parser reads field `file`; 201 `{ name, size }`
226
+ * framework's own multipart parser reads field `file`; 201 `{ name, size
227
+ * }`
211
228
  * - `GET /:org/analytics`: `protect(analytics.read)`, 200
212
229
  * - `POST /:org/api-keys`: `protect(apiKey.create)`, 201
213
230
  * - `POST /:org/api-keys/revoke-all`: `protect(apiKey.revokeAll)`, 204
214
- * - `GET /:org/admin/members`: in a sub-app, router or group; `protect(member.list)`, 200
215
- * - `POST /:org/permdock/access/v1/evaluations`: the adapter's decision endpoint
231
+ * - `GET /:org/admin/members`: in a sub-app, router or group;
232
+ * `protect(member.list)`, 200
233
+ * - `POST /:org/permdock/access/v1/evaluations`: the adapter's decision
234
+ * endpoint
216
235
  *
217
236
  * A global `permdock()` middleware runs before every route.
218
237
  *
219
238
  * With `streams: true` it also serves `GET /:org/projects/:id/events`:
220
- * `protect(project.read, row)` with the subject from `domain.session`,
221
- * then a connection opened for `project.read` on the row with
222
- * `revocations: domain.revocations`, streaming `domain.ticks(org)` as
223
- * `text/event-stream` `data:` frames of JSON rows, dropping rows the
224
- * subscriber cannot `project.update`, and ending with an
225
- * `event: permdock` frame carrying the Problem Details when the connection aborts.
239
+ * `protect(project.read, row)` with the subject from `domain.session`, then a
240
+ * connection opened for `project.read` on the row with `revocations:
241
+ * domain.revocations`, streaming `domain.ticks(org)` as `text/event-stream`
242
+ * `data:` frames of JSON rows, dropping rows the subscriber cannot
243
+ * `project.update`, and ending with an `event: permdock` frame carrying the
244
+ * Problem Details when the connection aborts.
226
245
  */
227
246
  readonly fetch?: (request: Request) => Promise<Response>;
228
247
  /** RPC adapters map a call to a procedure and its error to an HTTP status. */
@@ -233,7 +252,10 @@ type HttpScenarioName = "tenant" | "roles" | "custom-roles" | "plans" | "expired
233
252
  type HttpAdapterOptions = {
234
253
  readonly name: string;
235
254
  readonly mount: (domain: HttpScenarioDomain) => HttpMounted | Promise<HttpMounted>;
236
- /** Scenarios the transport cannot express (multipart over RPC), each with a reason. */
255
+ /**
256
+ * Scenarios the transport cannot express (multipart over RPC), each with a
257
+ * reason.
258
+ */
237
259
  readonly skip?: Readonly<Partial<Record<HttpScenarioName, string>>>;
238
260
  /** The mount serves the events stream; the `stream-*` scenarios run only then. */
239
261
  readonly streams?: boolean;
@@ -254,9 +276,9 @@ export declare const AGENT_THROWING_USER = "throws";
254
276
  export declare const AGENT_THROWING_ROW = "throws";
255
277
  type AgentToolName = "project_read" | "api_keys_revoke_all";
256
278
  /**
257
- * What a mount wires into its adapter. The subject and the tenant come from
258
- * the server-side context the mount builds for each call, never from the
259
- * tool arguments.
279
+ * What a mount wires into its adapter. The subject and the tenant come from the
280
+ * server-side context the mount builds for each call, never from the tool
281
+ * arguments.
260
282
  */
261
283
  type AgentScenarioDomain = {
262
284
  readonly policy: typeof saasPolicy;
@@ -266,9 +288,8 @@ type AgentScenarioDomain = {
266
288
  */
267
289
  readonly subject: (user: string | null, org: string) => Principal | null;
268
290
  /**
269
- * `project_read` loads the row named by `args.id`: `null` for an unknown
270
- * id, a throw for `AGENT_THROWING_ROW`. `api_keys_revoke_all` needs
271
- * approval.
291
+ * `project_read` loads the row named by `args.id`: `null` for an unknown id,
292
+ * a throw for `AGENT_THROWING_ROW`. `api_keys_revoke_all` needs approval.
272
293
  */
273
294
  readonly tools: ToolMap & { readonly [K in AgentToolName]: ToolMap[K]; };
274
295
  readonly customRoles: CustomRoleSource;
@@ -303,7 +324,10 @@ type AgentAdapterOptions = {
303
324
  export declare function testAgentAdapter(options: AgentAdapterOptions): void;
304
325
  //#endregion
305
326
  //#region src/testing/agent-runtime.d.ts
306
- /** The server-side context of one call; the subject and tenant come from here, never from arguments. */
327
+ /**
328
+ * The server-side context of one call; the subject and tenant come from here,
329
+ * never from arguments.
330
+ */
307
331
  type AgentRuntimeContext = {
308
332
  /** `null` for a call with no authenticated user. */
309
333
  readonly user: string | null;
@@ -314,7 +338,10 @@ type AgentRuntimeModel = "standard" | "frontier";
314
338
  /** What a mount wires into its `AgentPermDock`. */
315
339
  type AgentRuntimeDomain = {
316
340
  readonly policy: typeof saasPolicy;
317
- /** The principal for `user` with the plans of `org`, or `null`. Throws for `AGENT_THROWING_USER`. */
341
+ /**
342
+ * The principal for `user` with the plans of `org`, or `null`. Throws for
343
+ * `AGENT_THROWING_USER`.
344
+ */
318
345
  readonly subject: (user: string | null, org: string) => Principal | null;
319
346
  /**
320
347
  * `project_read` loads the row named by `args.id`; `project_search` has a
@@ -415,16 +442,25 @@ type TodoUser = {
415
442
  readonly identity: string;
416
443
  readonly roles: readonly ("admin" | "editor" | "viewer" | "evil_genius")[];
417
444
  };
418
- /** The AuthZEN interop Todo directory: each user is addressable by email or by identity. */
445
+ /**
446
+ * The AuthZEN interop Todo directory: each user is addressable by email or by
447
+ * identity.
448
+ */
419
449
  export declare const authzenTodoUsers: readonly TodoUser[];
420
450
  type AuthzenTodoDefinition = {
421
451
  readonly user: ResourceInit<unknown, readonly ["can_read_user"], readonly []>;
422
452
  readonly todo: ResourceInit<unknown, readonly ["can_read_todos", "can_create_todo", "can_update_todo", "can_delete_todo"], readonly []>;
423
453
  };
424
454
  export declare const authzenTodoPermissions: InferPermissionTree<AuthzenTodoDefinition>;
425
- /** The interop Todo rules: viewers read, editors write their own, admins delete and evil geniuses update anything. */
455
+ /**
456
+ * The interop Todo rules: viewers read, editors write their own, admins delete
457
+ * and evil geniuses update anything.
458
+ */
426
459
  export declare const authzenTodoPolicy: Policy;
427
- /** Rows for `resources.todo.list` and records for `subjects.list` in the Todo domain. */
460
+ /**
461
+ * Rows for `resources.todo.list` and records for `subjects.list` in the Todo
462
+ * domain.
463
+ */
428
464
  export declare const authzenTodoData: {
429
465
  readonly todos: readonly {
430
466
  readonly id: string;
@@ -435,24 +471,33 @@ export declare const authzenTodoData: {
435
471
  }[];
436
472
  };
437
473
  /**
438
- * PermDock's vectors over the interop Todo domain, in the interop layout:
439
- * every user against every action on their own and on Rick's todo, one batch
440
- * per user, and the three searches.
474
+ * PermDock's vectors over the interop Todo domain, in the interop layout: every
475
+ * user against every action on their own and on Rick's todo, one batch per
476
+ * user, and the three searches.
441
477
  */
442
478
  export declare function authzenTodoVectors(): AuthzenVectors;
443
479
  //#endregion
444
480
  //#region src/testing/cloud-api/platform-checks.d.ts
445
481
  type TestCloudPlatformOptions = {
446
- /** A `PERMDOCK_CLOUD_TOKEN` for `project`: read-only, pinned to one environment. */
482
+ /**
483
+ * A `PERMDOCK_CLOUD_TOKEN` for `project`: read-only, pinned to one
484
+ * environment.
485
+ */
447
486
  readonly token: string;
448
487
  /** The project the token reads; defaults to the environment. */
449
488
  readonly project?: string;
450
- /** A project with no `cloud push` yet and a login token that reads it; the `policy-not-published` check is skipped without it. */
489
+ /**
490
+ * A project with no `cloud push` yet and a login token that reads it; the
491
+ * `policy-not-published` check is skipped without it.
492
+ */
451
493
  readonly unpublished?: {
452
494
  readonly project: string;
453
495
  readonly token: string;
454
496
  };
455
- /** A login token with `projects:read` and without `policy:read`; the `insufficient_scope` check is skipped without it. */
497
+ /**
498
+ * A login token with `projects:read` and without `policy:read`; the
499
+ * `insufficient_scope` check is skipped without it.
500
+ */
456
501
  readonly projectsOnly?: string;
457
502
  /** Registers a test MCP client with RFC 7591; skipped unless true. */
458
503
  readonly registration?: boolean;
@@ -470,13 +515,22 @@ type CloudApiKeys = {
470
515
  type TestCloudApiOptions = {
471
516
  readonly environment?: string;
472
517
  readonly fetch?: typeof globalThis.fetch;
473
- /** Signs the `PermDock-Approver` tokens; its issuer is a trusted issuer for `approver`. */
518
+ /**
519
+ * Signs the `PermDock-Approver` tokens; its issuer is a trusted issuer for
520
+ * `approver`.
521
+ */
474
522
  readonly approver: CloudApproverOptions;
475
- /** A fresh `PermDock-Subject` token per call; the snapshot checks are skipped without it. */
523
+ /**
524
+ * A fresh `PermDock-Subject` token per call; the snapshot checks are skipped
525
+ * without it.
526
+ */
476
527
  readonly subject?: () => string | Promise<string>;
477
528
  /** Verifies the environment's policy documents for `testPolicySource`. */
478
529
  readonly verifier?: TokenVerifier;
479
- /** AuthZEN vectors for the hosted ADS, with the caller's credentials as `headers`. */
530
+ /**
531
+ * AuthZEN vectors for the hosted ADS, with the caller's credentials as
532
+ * `headers`.
533
+ */
480
534
  readonly authzen?: {
481
535
  readonly vectors: AuthzenVectors;
482
536
  readonly headers?: Readonly<Record<string, string>>;
@@ -488,18 +542,17 @@ type TestCloudApiOptions = {
488
542
  * Runs the conformance runners and the HTTP contract checks against one
489
543
  * PermDock Cloud environment, and validates every response body against
490
544
  * `cloud-api-v1.json`. Point it at a test environment: it creates approvals,
491
- * sends decision events and deliveries to `.invalid` addresses, and pushes
492
- * the catalog the environment already holds.
545
+ * sends decision events and deliveries to `.invalid` addresses, and pushes the
546
+ * catalog the environment already holds.
493
547
  */
494
548
  export declare function testCloudApi(baseUrl: string, keys: CloudApiKeys, options: TestCloudApiOptions): void;
495
549
  //#endregion
496
550
  //#region src/testing/conformance/approvals.d.ts
497
551
  type ApprovalStoreOptions = {
498
552
  /**
499
- * Opens a second client over the same backing storage, as a restarted
500
- * process would: for a hosted store, `() => cloud(...).approvals`. Omit it
501
- * for stores that do not persist (the resume-after-restart case is then
502
- * skipped).
553
+ * Opens a second client over the same backing storage, as a restarted process
554
+ * would: for a hosted store, `() => cloud(...).approvals`. Omit it for stores
555
+ * that do not persist (the resume-after-restart case is then skipped).
503
556
  */
504
557
  readonly reopen?: () => ApprovalStore | Promise<ApprovalStore>;
505
558
  readonly capabilities?: {
@@ -514,8 +567,8 @@ type ApprovalStoreOptions = {
514
567
  export declare function testApprovalStore(store: ApprovalStore, options?: ApprovalStoreOptions): void;
515
568
  /**
516
569
  * Checks an `ApprovalPolicySource`: entries are plain JSON, belong to the
517
- * queried tenant or to none, and every entry loads against `policy` (an
518
- * entry that does not would deny every call).
570
+ * queried tenant or to none, and every entry loads against `policy` (an entry
571
+ * that does not would deny every call).
519
572
  */
520
573
  export declare function testApprovalPolicySource(source: ApprovalPolicySource, options: {
521
574
  readonly policy: Policy;
@@ -538,19 +591,19 @@ export declare function testApprovalDelegationSource(source: ApprovalDelegationS
538
591
  readonly at?: string;
539
592
  }): void;
540
593
  /**
541
- * Checks an `IdempotencyStore`: a stored response comes back as written
542
- * until it expires, keys never share an entry, and a later `set` replaces an
543
- * earlier one.
594
+ * Checks an `IdempotencyStore`: a stored response comes back as written until
595
+ * it expires, keys never share an entry, and a later `set` replaces an earlier
596
+ * one.
544
597
  */
545
598
  export declare function testIdempotencyStore(store: IdempotencyStore): void;
546
599
  //#endregion
547
600
  //#region src/testing/conformance/where.d.ts
548
601
  type WhereRow = Readonly<Record<string, unknown>>;
549
602
  /**
550
- * `matches` answers whether the compiled output selects `row`, for example
551
- * by running it against a table holding only that row. With it, every case
552
- * must select the rows the in-memory evaluator keeps, including rows whose
553
- * fields are NULL.
603
+ * `matches` answers whether the compiled output selects `row`, for example by
604
+ * running it against a table holding only that row. With it, every case must
605
+ * select the rows the in-memory evaluator keeps, including rows whose fields
606
+ * are NULL.
554
607
  */
555
608
  export declare function testWhereCompiler<TTarget>(compiler: WhereCompiler<TTarget>, options: {
556
609
  readonly target: TTarget;
@@ -569,8 +622,8 @@ export declare function testTokenVerifier(verifier: TokenVerifier, options?: {
569
622
  }): void;
570
623
  /**
571
624
  * `key` is a live key the verifier knows, or a function issuing one (called
572
- * once). `revoke`, when given, revokes it; the runner then expects the key
573
- * to stop verifying.
625
+ * once). `revoke`, when given, revokes it; the runner then expects the key to
626
+ * stop verifying.
574
627
  */
575
628
  export declare function testCredentialVerifier(verifier: CredentialVerifier, options: {
576
629
  readonly key: string | (() => string | Promise<string>);
@@ -587,6 +640,7 @@ export declare function testSnapshotSource(source: SnapshotSource): void;
587
640
  export declare function testPolicySource(source: PolicySource, options?: {
588
641
  readonly policy?: Policy;
589
642
  }): void;
643
+ export declare function testVersionCache(cache: VersionCache): void;
590
644
  //#endregion
591
645
  //#region src/testing/conformance/providers.d.ts
592
646
  type DecisionProviderRunnerOptions = {
@@ -628,14 +682,17 @@ export declare function testRelationSource(source: RelationSource, options: {
628
682
  /**
629
683
  * Checks a `PrincipalSource`: `principal` answers each listed id with the
630
684
  * expected principal or `null`, never another id; `principalByIdentity`
631
- * resolves each listed identity to the expected principal id or `null`, and
632
- * an email matches trimmed and in any case.
685
+ * resolves each listed identity to the expected principal id or `null`, and an
686
+ * email matches trimmed and in any case.
633
687
  */
634
688
  export declare function testPrincipalSource(source: PrincipalSource, options: {
635
689
  readonly principals: readonly {
636
690
  readonly id: string;
637
691
  readonly tenant?: string;
638
- /** The principal `principal(id)` returns, or `null` for none; omit to check only the shape. */
692
+ /**
693
+ * The principal `principal(id)` returns, or `null` for none; omit to
694
+ * check only the shape.
695
+ */
639
696
  readonly expect?: Principal | null;
640
697
  }[];
641
698
  readonly identities?: readonly {
@@ -647,41 +704,50 @@ export declare function testPrincipalSource(source: PrincipalSource, options: {
647
704
  //#endregion
648
705
  //#region src/testing/conformance/automations.d.ts
649
706
  /**
650
- * Checks an `AutomationSource`: `automation(id)` answers each listed id
651
- * with a valid Automation v1 record of that id or `null`, never another id;
652
- * a record held to one tenant is `null` when asked for another; an empty or
653
- * unknown id is `null`.
707
+ * Checks an `AutomationSource`: `automation(id)` answers each listed id with a
708
+ * valid Automation v1 record of that id or `null`, never another id; a record
709
+ * held to one tenant is `null` when asked for another; an empty or unknown id
710
+ * is `null`.
654
711
  */
655
712
  export declare function testAutomationSource(source: AutomationSource, options: {
656
713
  readonly automations: readonly {
657
714
  readonly id: string;
658
715
  readonly tenant?: string;
659
- /** The record `automation(id)` returns, or `null` for none; omit to check only the shape. */
716
+ /**
717
+ * The record `automation(id)` returns, or `null` for none; omit to check
718
+ * only the shape.
719
+ */
660
720
  readonly expect?: Automation | null;
661
721
  }[];
662
722
  }): void;
663
723
  /**
664
- * Checks a `SupportSessionSource`: `session(id)` answers each listed id
665
- * with a record of that id or `null`, never another id; `ended` is a
666
- * boolean when present; an empty or unknown id is `null`.
724
+ * Checks a `SupportSessionSource`: `session(id)` answers each listed id with a
725
+ * record of that id or `null`, never another id; `ended` is a boolean when
726
+ * present; an empty or unknown id is `null`.
667
727
  */
668
728
  export declare function testSupportSessionSource(source: SupportSessionSource, options: {
669
729
  readonly sessions: readonly {
670
730
  readonly id: string;
671
- /** `true` for an ended session, `false` for a live one, `null` for an unknown one. */
731
+ /**
732
+ * `true` for an ended session, `false` for a live one, `null` for an
733
+ * unknown one.
734
+ */
672
735
  readonly ended?: boolean | null;
673
736
  }[];
674
737
  }): void;
675
738
  /**
676
- * Checks an `ApprovalWaiter`: a wait ends when its token is woken and not
677
- * when another token is; waking a token nobody waits on resolves; a wait
678
- * whose `expiresAt` has passed ends; an aborted `signal` rejects the wait with its reason.
679
- * Pass `expiry: false` or `abort: false` for a waiter whose runner offers no
680
- * timer or no cancellation, `pending` when the waiter reads a store, and
681
- * `parked` when a wait parks asynchronously.
739
+ * Checks an `ApprovalWaiter`: a wait ends when its token is woken and not when
740
+ * another token is; waking a token nobody waits on resolves; a wait whose
741
+ * `expiresAt` has passed ends; an aborted `signal` rejects the wait with its
742
+ * reason. Pass `expiry: false` or `abort: false` for a waiter whose runner
743
+ * offers no timer or no cancellation, `pending` when the waiter reads a store,
744
+ * and `parked` when a wait parks asynchronously.
682
745
  */
683
746
  export declare function testApprovalWaiter(waiter: ApprovalWaiter, options?: {
684
- /** Opens a pending approval request and returns its token; a fixed token per label when absent. */
747
+ /**
748
+ * Opens a pending approval request and returns its token; a fixed token per
749
+ * label when absent.
750
+ */
685
751
  readonly pending?: (label: string) => string | Promise<string>;
686
752
  /** Resolves once `wait(token)` has parked; one macrotask when absent. */
687
753
  readonly parked?: (token: string) => Promise<void>;
@@ -692,18 +758,24 @@ export declare function testApprovalWaiter(waiter: ApprovalWaiter, options?: {
692
758
  }): void;
693
759
  //#endregion
694
760
  //#region src/testing/delivery-transport.d.ts
695
- /** How a provider fails on its next call: a retryable error, a final error, or a throw from its client. */
761
+ /**
762
+ * How a provider fails on its next call: a retryable error, a final error, or a
763
+ * throw from its client.
764
+ */
696
765
  type DeliveryFailureKind = "retryable" | "final" | "throw";
697
766
  type DeliveryTransportHarness<C extends DeliveryChannel> = {
698
767
  readonly transport: DeliveryTransport<C>;
699
- /** What the provider accepted, one entry per delivery, with the idempotency key it received. */
700
- received(): readonly {
768
+ /**
769
+ * What the provider accepted, one entry per delivery, with the idempotency
770
+ * key it received.
771
+ */
772
+ received: () => readonly {
701
773
  readonly idempotencyKey: string;
702
774
  }[] | Promise<readonly {
703
775
  readonly idempotencyKey: string;
704
776
  }[]>;
705
777
  /** Makes the provider's next call fail this way. */
706
- fail(kind: DeliveryFailureKind): void;
778
+ fail: (kind: DeliveryFailureKind) => void;
707
779
  };
708
780
  type DeliveryTransportOptions<C extends DeliveryChannel> = {
709
781
  readonly channel: C;
@@ -711,13 +783,13 @@ type DeliveryTransportOptions<C extends DeliveryChannel> = {
711
783
  readonly address: string;
712
784
  readonly message: TransportMessages[C];
713
785
  /** A fresh harness per test. */
714
- create(): DeliveryTransportHarness<C>;
786
+ create: () => DeliveryTransportHarness<C>;
715
787
  };
716
788
  /**
717
789
  * Conformance for a `DeliveryTransport`: it sends a checked target with its
718
- * idempotency key, keeps the key on a retry, refuses a target without a
719
- * granted decision before calling the provider, and maps provider errors to
720
- * retryable or final failures without rejecting.
790
+ * idempotency key, keeps the key on a retry, refuses a target without a granted
791
+ * decision before calling the provider, and maps provider errors to retryable
792
+ * or final failures without rejecting.
721
793
  */
722
794
  export declare function testDeliveryTransport<C extends DeliveryChannel>(name: string, options: DeliveryTransportOptions<C>): void;
723
795
  //#endregion
@@ -731,9 +803,15 @@ export declare function testMembershipSource(source: MembershipSource, options:
731
803
  readonly kind?: string;
732
804
  }[];
733
805
  readonly expect?: Record<string, readonly Membership[]>;
734
- /** With the policy, every membership must name one of its scopes and carry its parent ids. */
806
+ /**
807
+ * With the policy, every membership must name one of its scopes and carry
808
+ * its parent ids.
809
+ */
735
810
  readonly policy?: Policy;
736
- /** Passed to every `membershipsFor`; a source keyed by tenant answers nothing without one. */
811
+ /**
812
+ * Passed to every `membershipsFor`; a source keyed by tenant answers
813
+ * nothing without one.
814
+ */
737
815
  readonly tenant?: string;
738
816
  }): void;
739
817
  export declare function testEntitlementSource(source: EntitlementSource, options: {
@@ -790,16 +868,18 @@ export declare const jwtFixtureTokens: {
790
868
  //#endregion
791
869
  //#region src/testing/supabase-fixtures.d.ts
792
870
  /**
793
- * Claim sets in the shape the Supabase custom access token hook produces (the RBAC guide's
794
- * `user_role` claim, optionally mirrored into `app_metadata`, plus a `memberships` array for
795
- * multi-org apps). `tenantPlans` has scoped memberships, `tenant_id` and per-tenant plans in
796
- * `features`, read with `claims: { plans: 'features' }`. `full` sets every field of the
797
- * claim contract plus a `hook.claims` extra claim; `portalContact`, `oauthClient` and
798
- * `actChain` cover a customer contact, a Supabase OAuth server token and an RFC 8693 chain.
799
- * `supportSession`, `supportSessionReadOnly` and `impersonation` are the `act.kind` tokens
800
- * of a support tool; `anonymousSignIn` is a `signInAnonymously()` token read with
801
- * `anonymousSignIns: 'deny'`. Every fixture passes `supabaseClaims()` and
802
- * `schemas/supabase-claims-v1.json`. Plain data: no Supabase types.
871
+ * Claim sets in the shape the Supabase custom access token hook produces (the
872
+ * RBAC guide's `user_role` claim, optionally mirrored into `app_metadata`, plus
873
+ * a `memberships` array for multi-org apps). `tenantPlans` has scoped
874
+ * memberships, `tenant_id` and per-tenant plans in `features`, read with
875
+ * `claims: { plans: 'features' }`. `full` sets every field of the claim
876
+ * contract plus a `hook.claims` extra claim; `portalContact`, `oauthClient` and
877
+ * `actChain` cover a customer contact, a Supabase OAuth server token and an RFC
878
+ * 8693 chain. `supportSession`, `supportSessionReadOnly` and `impersonation`
879
+ * are the `act.kind` tokens of a support tool; `anonymousSignIn` is a
880
+ * `signInAnonymously()` token read with `anonymousSignIns: 'deny'`. Every
881
+ * fixture passes `supabaseClaims()` and `schemas/supabase-claims-v1.json`.
882
+ * Plain data: no Supabase types.
803
883
  */
804
884
  type SupabaseClaimFixture = {
805
885
  readonly claims: Readonly<Record<string, unknown>>;
@@ -842,7 +922,10 @@ type SupabaseClaimFixture = {
842
922
  readonly sessionId: string;
843
923
  readonly readOnly: boolean;
844
924
  };
845
- /** `subject.delegation`: the `scope` claim and the `act` chain of an `oauth-client` actor. */
925
+ /**
926
+ * `subject.delegation`: the `scope` claim and the `act` chain of an
927
+ * `oauth-client` actor.
928
+ */
846
929
  readonly delegation?: {
847
930
  readonly scopes?: readonly string[];
848
931
  readonly chain?: Readonly<Record<string, unknown>>;
@@ -855,7 +938,8 @@ export declare const supabaseClaimFixtures: Readonly<Record<SupabaseClaimFixture
855
938
  * `supabaseClaimFixtures` as a `supabase/sdk` conformance vector file
856
939
  * (`schema/conformance.schema.json`): each case's `input` is a verified
857
940
  * `getClaims()` payload and the `subjectFromSupabase` options, `expected` the
858
- * subject fields it maps to. `JSON.stringify` it for a port in another language.
941
+ * subject fields it maps to. `JSON.stringify` it for a port in another
942
+ * language.
859
943
  */
860
944
  type SupabaseClaimVectors = {
861
945
  readonly feature: "auth.session.get_claims";
@@ -872,15 +956,15 @@ export declare const supabaseClaimVectors: SupabaseClaimVectors;
872
956
  /**
873
957
  * The `permdock supabase inspect --json` manifest for a policy with one
874
958
  * `tenant` scope, the default `supabase.hook` and a `features` claim from
875
- * `public.feature_claims`. A package that reads the manifest tests its
876
- * parser against this value.
959
+ * `public.feature_claims`. A package that reads the manifest tests its parser
960
+ * against this value.
877
961
  */
878
962
  export declare const supabaseHookManifestFixture: SupabaseHookManifest;
879
963
  //#endregion
880
964
  //#region src/core/problem-types.d.ts
881
965
  /**
882
- * The Problem Details types PermDock defines (RFC 9457 section 4). Every
883
- * other status answers with `about:blank` and its RFC 9110 reason phrase.
966
+ * The Problem Details types PermDock defines (RFC 9457 section 4). Every other
967
+ * status answers with `about:blank` and its RFC 9110 reason phrase.
884
968
  */
885
969
  declare const PROBLEM_TYPES: readonly ["denied", "approval-required", "validation", "step-up-required", "not-entitled", "rate-limited", "limit-unavailable", "invalid-signature", "approver-not-eligible"];
886
970
  type ProblemType = (typeof PROBLEM_TYPES)[number];
@@ -894,4 +978,4 @@ type ProblemType = (typeof PROBLEM_TYPES)[number];
894
978
  */
895
979
  export declare const PROBLEM_EXAMPLES: Readonly<Record<ProblemType, ProblemDetails>>;
896
980
  //#endregion
897
- export { type AgentAdapterOptions, type AgentCall, type AgentMounted, type AgentOutcome, type AgentRuntimeContext, type AgentRuntimeDomain, type AgentRuntimeModel, type AgentRuntimeMounted, type AgentRuntimeOperation, type AgentRuntimeOptions, type AgentRuntimeScenarioName, type AgentScenarioDomain, type AgentScenarioName, type AgentToolName, type ApprovalStoreOptions, type AuthzenEvaluationVector, type AuthzenEvaluationsVector, type AuthzenSearchVector, type AuthzenVectors, type ClientParityCase, type ClientParityOptions, type ClientStoreFactory, type ClientStoreFactoryOptions, type ClientStoreHandle, type ClientStorePermDock, type ClientStoreStatus, type CloudApiKeys, type DecisionProviderRunnerOptions, type DeliveryFailureKind, type DeliveryTransportHarness, type DeliveryTransportOptions, type DescribePolicyConfig, type HttpAdapterOptions, type HttpCall, type HttpMounted, type HttpOp, type HttpResult, type HttpScenarioDomain, type HttpScenarioName, type LegacyParityCase, 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, type SupabaseClaimFixture, type SupabaseClaimFixtureName, type SupabaseClaimVectors, type TestAuthzenOptions, type TestCloudApiOptions, type TestCloudPlatformOptions, expectTypeOf, policyMatrix, supabaseMembershipsBudget, testOrmParity, testRlsParity };
981
+ export { type AgentAdapterOptions, type AgentCall, type AgentMounted, type AgentOutcome, type AgentRuntimeContext, type AgentRuntimeDomain, type AgentRuntimeModel, type AgentRuntimeMounted, type AgentRuntimeOperation, type AgentRuntimeOptions, type AgentRuntimeScenarioName, type AgentScenarioDomain, type AgentScenarioName, type AgentToolName, type ApprovalStoreOptions, type AuthzenEvaluationVector, type AuthzenEvaluationsVector, type AuthzenSearchVector, type AuthzenVectors, type ClientParityCase, type ClientParityOptions, type ClientStoreFactory, type ClientStoreFactoryOptions, type ClientStoreHandle, type ClientStorePermDock, type ClientStoreStatus, type CloudApiKeys, type DecisionProviderRunnerOptions, type DeliveryFailureKind, type DeliveryTransportHarness, type DeliveryTransportOptions, type DescribePolicyConfig, type HttpAdapterOptions, type HttpCall, type HttpMounted, type HttpOp, type HttpResult, type HttpScenarioDomain, type HttpScenarioName, type LegacyParityCase, 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, type SeedRows, type SupabaseClaimFixture, type SupabaseClaimFixtureName, type SupabaseClaimVectors, type TestAuthzenOptions, type TestCloudApiOptions, type TestCloudPlatformOptions, expectTypeOf, policyMatrix, supabaseMembershipsBudget, testOrmParity, testRlsParity };