permdock 0.6.0 → 0.8.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 (507) hide show
  1. package/README.md +2 -3
  2. package/dist/{2020-C9VN-x8c.js → 2020-CJbO8Bvz.js} +1 -3
  3. package/dist/a2a/index.d.ts +7 -7
  4. package/dist/a2a/index.js +9 -9
  5. package/dist/action-result-CL-QCITA.d.ts +19 -0
  6. package/dist/{adapter-context-CRhqyzCk.js → adapter-context-CIQpQxbE.js} +8 -2
  7. package/dist/{adoption-scan-DCYe60Pi.js → adoption-scan-BLs67P1l.js} +5 -5
  8. package/dist/agent/index.d.ts +3 -3
  9. package/dist/agent/index.js +1 -1
  10. package/dist/ai-sdk/index.d.ts +31 -10
  11. package/dist/ai-sdk/index.js +22 -12
  12. package/dist/{app-data-MuyzVqX8.js → app-data-UNNm07jV.js} +10 -7
  13. package/dist/{approval-header-CJACtHkv.js → approval-header-8QV6MU4H.js} +6 -3
  14. package/dist/{approval-prompt-Dg5LeAcT.js → approval-prompt-B8hQY69x.js} +5 -6
  15. package/dist/{approval-prompt-DvSSPQJX.d.ts → approval-prompt-PYagyQUj.d.ts} +13 -11
  16. package/dist/approvals/index.d.ts +5 -5
  17. package/dist/approvals/index.js +7 -7
  18. package/dist/{approvals-p1PGoVjb.js → approvals-DnIBTuXE.js} +128 -78
  19. package/dist/{approvers-CqPOLD-o.js → approvers-B4r0N_Uz.js} +8 -2
  20. package/dist/{arazzo-41WuzHou.js → arazzo-3RhGfkAK.js} +2 -2
  21. package/dist/{arazzo-CaUVBn7D.js → arazzo-B5-ulWif.js} +6 -6
  22. package/dist/{args-IIolxxKA.js → args-0FrVs5EH.js} +125 -8
  23. package/dist/astro/index.d.ts +30 -12
  24. package/dist/astro/index.js +2 -2
  25. package/dist/{audience-DabClFLQ.js → audience-BAkBDMqn.js} +8 -8
  26. package/dist/{auth-DRLEizbL.js → auth--yPyZNgr.js} +21 -10
  27. package/dist/authzen/index.d.ts +171 -25
  28. package/dist/authzen/index.js +321 -149
  29. package/dist/{automation-BNM3TtDo.d.ts → automation-DqEoWHBc.d.ts} +42 -32
  30. package/dist/{automation-DVjOckjV.js → automation-x3KEUusw.js} +22 -21
  31. package/dist/base-url-BQbddZO5.js +9 -0
  32. package/dist/better-auth/index.d.ts +2 -2
  33. package/dist/better-auth/index.js +13 -7
  34. package/dist/better-supabase/index.d.ts +392 -220
  35. package/dist/better-supabase/index.js +293 -152
  36. package/dist/{bind-DOyrv6zi.d.ts → bind-Cp2hBHzP.d.ts} +27 -12
  37. package/dist/{bind-CAvgUuKs.js → bind-D_sZSVA3.js} +22 -10
  38. package/dist/{body-CH5of8Ne.js → body-CJQwYVa8.js} +3 -3
  39. package/dist/{body-text-QcXok_SI.js → body-text-DQhcmqdY.js} +8 -4
  40. package/dist/{boundary-BM8a_P6E.js → boundary-BV3O1eud.js} +8 -2
  41. package/dist/{boundary-BmHxVH1J.d.ts → boundary-C9ck-3uK.d.ts} +13 -4
  42. package/dist/{budget-NbEtbJC_.js → budget-BELja5A9.js} +6 -3
  43. package/dist/{budget-JqcRqyhK.d.ts → budget-hYsPz_yE.d.ts} +6 -3
  44. package/dist/{build-instance-Bu_eDqYw.js → build-instance-CNWaYJyr.js} +3 -3
  45. package/dist/{canonical-json-BC8_nMTw.js → canonical-json-DwilZ1iB.js} +6 -3
  46. package/dist/{capability-N1K9IpqS.js → capability-BqX94r07.js} +31 -25
  47. package/dist/{capability-Drg-1YhL.d.ts → capability-ChuiONQU.d.ts} +41 -29
  48. package/dist/{casbin-Dyu2gnUD.js → casbin-H0rKxBx2.js} +16 -8
  49. package/dist/{casbin-Cr7RLtA3.js → casbin-cbSbhT_k.js} +2 -2
  50. package/dist/{casl-64gpT-8x.js → casl-C4OINZHI.js} +2 -2
  51. package/dist/{casl-DjEDhTCP.js → casl-CHHoCldP.js} +19 -10
  52. package/dist/catalog/index.d.ts +104 -23
  53. package/dist/catalog/index.js +117 -8
  54. package/dist/{catalog-HD2gf5mY.js → catalog-BFpz2EmT.js} +57 -26
  55. package/dist/{catalog-DZVbrF-z.js → catalog-DCspHDc8.js} +3 -3
  56. package/dist/{catalog-doc-Cdn7-0pQ.js → catalog-doc-DjMKzJp9.js} +53 -16
  57. package/dist/{catalog-fingerprint-CCP0-yQS.js → catalog-fingerprint-e6aCWosn.js} +19 -15
  58. package/dist/catalog-mRQQQhNK.js +1 -0
  59. package/dist/catalog-operations-Dadrl7Z-.js +60 -0
  60. package/dist/{create-CQWIpUG-.js → challenge-DImNcR7B.js} +157 -39
  61. package/dist/chat/index.d.ts +1 -1
  62. package/dist/chat/index.js +13 -10
  63. package/dist/chat-sdk/index.d.ts +44 -26
  64. package/dist/chat-sdk/index.js +17 -17
  65. package/dist/checks-CGkP3Z7A.js +40 -0
  66. package/dist/{claims-map-7oQ3ue4X.js → claims-map-CKkoAAYF.js} +5 -2
  67. package/dist/{claims-map-Ca-QX8C6.d.ts → claims-map-D1Pb5oRq.d.ts} +8 -5
  68. package/dist/claude-agent/index.d.ts +6 -6
  69. package/dist/claude-agent/index.js +6 -3
  70. package/dist/clerk/index.d.ts +11 -7
  71. package/dist/clerk/index.js +6 -6
  72. package/dist/cli/bin.js +4 -4
  73. package/dist/cli/index.d.ts +82 -7
  74. package/dist/cli/index.js +6 -6
  75. package/dist/{clients-C7zLFuWT.d.ts → clients-C_NOET3z.d.ts} +5 -5
  76. package/dist/{clients-DjU5ABMy.js → clients-DYr3U86j.js} +3 -3
  77. package/dist/cloud/index.d.ts +186 -38
  78. package/dist/cloud/index.js +293 -31
  79. package/dist/{cloud-ytQ3uviA.js → cloud-BFlGMaak.js} +5 -6
  80. package/dist/{codemod-5mpSpnUY.js → codemod-DLQ9Zpo4.js} +3 -4
  81. package/dist/{codemod-ua2hHy7w.js → codemod-DWSN2erG.js} +523 -201
  82. package/dist/collect-B5BL3klN.js +1 -0
  83. package/dist/{collect-mLTY4nwb.js → collect-B7ZFAJU3.js} +36 -64
  84. package/dist/{collect-Ci6akVwH.js → collect-Bzv3le0A.js} +6 -6
  85. package/dist/{compare-pfyVnBjE.js → compare-DTfyUunF.js} +2 -2
  86. package/dist/compile/index.d.ts +2 -2
  87. package/dist/compile/index.js +1 -1
  88. package/dist/{compile-1bsAezL0.d.ts → compile-BFzysW3o.d.ts} +36 -12
  89. package/dist/{compile-CMqMx_IN.js → compile-EzEMB-7v.js} +77 -33
  90. package/dist/{completion-BTFrHZhX.js → completion-saoYiRFO.js} +17 -8
  91. package/dist/config-BwPBfN0t.js +108 -0
  92. package/dist/{config-Bj2Ixq3d.js → config-DBeXXmBF.js} +2 -2
  93. package/dist/{config-report-DSpsLpCE.js → config-report-BipSWA6V.js} +9 -6
  94. package/dist/config-shape-ykV0Vm2n.js +134 -0
  95. package/dist/{connection-DjhIJSs2.js → connection-B72dg5Q2.js} +23 -22
  96. package/dist/connector-schema-CYLQNMYq.js +434 -0
  97. package/dist/{context-B_u3_bDJ.js → context-BnIzxTNE.js} +4 -3
  98. package/dist/convex/index.d.ts +13 -7
  99. package/dist/convex/index.js +9 -6
  100. package/dist/core-H-mbhpZc.js +341 -0
  101. package/dist/core-hWIARPDz.d.ts +206 -0
  102. package/dist/{create-CBMmFie-.d.ts → create-BSNrVuxh.d.ts} +87 -34
  103. package/dist/{create-B30OMUOJ.d.ts → create-BVq1lNQE.d.ts} +49 -28
  104. package/dist/{create-D_NmPOdH.d.ts → create-CM1FciYG.d.ts} +37 -29
  105. package/dist/{create-CGm28gyI.js → create-Cq4Uox0f.js} +13 -9
  106. package/dist/{create-DCF2SvoT.js → create-_noSrY1T.js} +15 -21
  107. package/dist/{credential-BcoiejpY.js → credential-CyyyvCsL.js} +42 -39
  108. package/dist/{credentials-DPyHmYz5.js → credentials-CdDxp7jN.js} +6 -6
  109. package/dist/{deciding-columns-Sq12mEA6.js → deciding-columns-NB4wcyBf.js} +13 -2
  110. package/dist/{delegation-j6-rc37o.js → delegation-CDB6_keF.js} +31 -22
  111. package/dist/delivery/index.d.ts +5 -5
  112. package/dist/delivery/index.js +6 -5
  113. package/dist/{delivery-DCAgNyCn.js → delivery-BupfvJIV.js} +81 -20
  114. package/dist/{delivery-event-xX4obB8F.js → delivery-event-JioK5YbS.js} +6 -6
  115. package/dist/denied-text-CHNlVInN.d.ts +22 -0
  116. package/dist/{describe-BybMRY7A.js → describe-Bb4hGK5d.js} +6 -5
  117. package/dist/{describe-B5qgDvEW.d.ts → describe-ByS9LgHK.d.ts} +5 -5
  118. package/dist/{device-BARQ8eYG.js → device-BwbJNmb2.js} +11 -8
  119. package/dist/{diff-CmuSD3vc.js → diff-CN8IYhC_.js} +2 -2
  120. package/dist/{diff-3jbx6Rm4.js → diff-iZWV65nC.js} +23 -14
  121. package/dist/{digest-B3kc_PgQ.d.ts → digest-8Yx2CchM.d.ts} +3 -3
  122. package/dist/{doctor-BdZw53-k.js → doctor-CHD1M9R5.js} +485 -141
  123. package/dist/{doctor-3ZqNHX_G.js → doctor-D3wo-yuz.js} +4 -4
  124. package/dist/drizzle/index.d.ts +33 -19
  125. package/dist/drizzle/index.js +17 -9
  126. package/dist/elysia/index.d.ts +17 -11
  127. package/dist/elysia/index.js +5 -5
  128. package/dist/{errors-BKy0EfhN.js → errors-B6R_lg2a.js} +13 -4
  129. package/dist/{errors-BWXBMaKK.d.ts → errors-CHwoRRpB.d.ts} +4 -1
  130. package/dist/{errors-CWTY6uih.js → errors-Vpu6rKHl.js} +14 -10
  131. package/dist/{errors-DH5QEGXh.d.ts → errors-zi_4T-rx.d.ts} +22 -6
  132. package/dist/{evaluate-CNClBvcj.js → evaluate-Dd8Ta0Ie.js} +185 -80
  133. package/dist/{evaluations-beAooV0n.js → evaluations-IBceAeKT.js} +41 -20
  134. package/dist/{evaluations-C_1vdSZc.d.ts → evaluations-z8dQFDaN.d.ts} +12 -6
  135. package/dist/eve/index.d.ts +9 -6
  136. package/dist/eve/index.js +4 -4
  137. package/dist/{event-time-CsegxXxB.js → event-time-BGy48400.js} +8 -4
  138. package/dist/{expiry-D4_YKRKD.js → expiry-6XByK0dm.js} +8 -5
  139. package/dist/express/index.d.ts +9 -6
  140. package/dist/express/index.js +9 -6
  141. package/dist/fastify/index.d.ts +16 -10
  142. package/dist/fastify/index.js +8 -5
  143. package/dist/{fetch-adapter-Dw0MTS3D.d.ts → fetch-adapter-C1DCvpqV.d.ts} +9 -6
  144. package/dist/{fetch-adapter-DD_gfmrC.js → fetch-adapter-JL43jD3E.js} +14 -11
  145. package/dist/fields-D0vUI6dq.js +498 -0
  146. package/dist/{files-C5ZI27eV.js → files-B3AA05f1.js} +21 -5
  147. package/dist/{files-D_JIzUrP.js → files-BSjrtIHw.js} +11 -4
  148. package/dist/{fixtures-B7XrLeY7.js → fixtures-A1_sp_tR.js} +15 -6
  149. package/dist/{flags-C3DktBDY.js → flags-DXjoTVbS.js} +2 -2
  150. package/dist/{freeze-CrU8nQeX.js → freeze-jjan0lCv.js} +4 -1
  151. package/dist/{from-snapshot-CTCMsFZk.js → from-snapshot-DCakWRsr.js} +26 -16
  152. package/dist/gen-B5kvbAoZ.js +58 -0
  153. package/dist/gen-DWCYcMQM.js +827 -0
  154. package/dist/generate-CRVV5V7l.js +165 -0
  155. package/dist/generate-CezbCaTI.js +275 -0
  156. package/dist/{grantee-hxrUsbpM.js → grantee-Dke-9rd1.js} +4 -4
  157. package/dist/{grantee-conditions-CcXf8hMM.js → grantee-conditions-BrYPe-w0.js} +12 -12
  158. package/dist/{grantee-match-DbENBHLB.js → grantee-match-7RZZvoT_.js} +12 -6
  159. package/dist/{graph-sql-B-dsAT6j.d.ts → graph-sql-BwFC4Qjs.d.ts} +3 -3
  160. package/dist/h3/index.d.ts +10 -7
  161. package/dist/h3/index.js +3 -3
  162. package/dist/headers-B9jQxjtW.d.ts +10 -0
  163. package/dist/{helpers-CBYVMjwh.js → helpers-DJicaG6f.js} +40 -28
  164. package/dist/hono/index.d.ts +16 -10
  165. package/dist/hono/index.js +5 -5
  166. package/dist/{hosted-BPk51-kX.d.ts → hosted-Cmtxogd0.d.ts} +44 -20
  167. package/dist/{hosted-B46-5LYE.js → hosted-D0IzESu_.js} +68 -25
  168. package/dist/{http-ujKm0JXE.js → http-DH94eh6f.js} +4 -4
  169. package/dist/{http-BBoKefeS.js → http-DKLXrFGk.js} +13 -7
  170. package/dist/{http-DXJ37RDA.js → http-DOL33cO0.js} +11 -8
  171. package/dist/{import-wyqXUyjm.js → import-CST57XLp.js} +64 -51
  172. package/dist/{import-CNV7I2Dw.js → import-_YqhhwvX.js} +6 -6
  173. package/dist/{index-B8YjkEZ4.d.ts → index-B8s204GL.d.ts} +64 -52
  174. package/dist/{index-Ch8LpNDp.d.ts → index-BT5-1VsX.d.ts} +64 -25
  175. package/dist/{index-DuWxc5dt.d.ts → index-BW_0MZOS.d.ts} +388 -149
  176. package/dist/index-BhxEUY9J.d.ts +233 -0
  177. package/dist/index-Bv5iXPqU.d.ts +210 -0
  178. package/dist/{index-C-6Letxg.d.ts → index-_9UiQIkt.d.ts} +164 -77
  179. package/dist/index.d.ts +22 -21
  180. package/dist/index.js +35 -33
  181. package/dist/{init-GG6Jh8HD.js → init-Dz_PsHdv.js} +5 -5
  182. package/dist/{init-DeMYsnYJ.js → init-cE3A8aXq.js} +10 -10
  183. package/dist/{instance-options-BsVpyGIk.d.ts → instance-options-B0KXqTrJ.d.ts} +4 -4
  184. package/dist/{instance-snapshot-BOEhcqIF.js → instance-snapshot--JWiTrvO.js} +81 -56
  185. package/dist/{instant-BluqDvyS.js → instant-DK3Iz83e.js} +2 -2
  186. package/dist/{internals-Dk8A8fX3.js → internals-B3IgHrvo.js} +6 -3
  187. package/dist/{json-schema-B-vAwlde.js → json-schema-BPGa-RjQ.js} +9 -3
  188. package/dist/{json-schema-CN_iLFH2.d.ts → json-schema-BfXgnRNT.d.ts} +4 -4
  189. package/dist/jwt/index.d.ts +125 -17
  190. package/dist/jwt/index.js +157 -16
  191. package/dist/{kernel-D0NVb1cK.js → kernel-C-fYydV2.js} +151 -16
  192. package/dist/kysely/index.d.ts +49 -33
  193. package/dist/kysely/index.js +9 -7
  194. package/dist/{live-options-BaAFCIiu.js → live-options-BBIT68le.js} +2 -2
  195. package/dist/{load-DFS_ry0W.js → load-DjSU5KXO.js} +6 -6
  196. package/dist/load-Dm0pSYH3.js +1 -0
  197. package/dist/{login-Dfe5RlYk.js → login-D-8tMqzo.js} +4 -4
  198. package/dist/{login-imhuwvn3.js → login-DplQ0s84.js} +18 -15
  199. package/dist/{manifest-dvL2XEe1.js → manifest-Cgiq5oqc.js} +67 -37
  200. package/dist/{manifest-mx5ghSFM.d.ts → manifest-CzzWtnAb.d.ts} +144 -28
  201. package/dist/{manifest-schema-C0kK_8V0.js → manifest-schema-2r37XRhD.js} +80 -9
  202. package/dist/{manifest-C8IzW3Do.js → manifest-wg8WkkpD.js} +11 -7
  203. package/dist/{map-claims-D3oRmTk0.js → map-claims-BNWCJtmP.js} +27 -18
  204. package/dist/{map-error-Dr70oA_3.js → map-error-pasIGqMT.js} +7 -7
  205. package/dist/{markers-C6joDI3o.js → markers-BeHZ4x9Q.js} +20 -5
  206. package/dist/mcp/index.d.ts +154 -47
  207. package/dist/mcp/index.js +200 -41
  208. package/dist/{migrate-CIq4-E9F.js → migrate-B7oP_sQU.js} +102 -31
  209. package/dist/module-values-BJTBdo6y.js +107 -0
  210. package/dist/nest/index.d.ts +23 -13
  211. package/dist/nest/index.js +18 -11
  212. package/dist/next/client.d.ts +5 -2
  213. package/dist/next/client.js +1 -1
  214. package/dist/next/index.d.ts +72 -26
  215. package/dist/next/index.js +110 -6
  216. package/dist/next/plugin.d.ts +1 -1
  217. package/dist/next/plugin.js +4 -3
  218. package/dist/node/index.d.ts +5 -5
  219. package/dist/node/index.js +3 -3
  220. package/dist/{ocsf-BFp-PZZA.js → ocsf-TcjRBgIs.js} +15 -5
  221. package/dist/openai/index.d.ts +13 -7
  222. package/dist/openai/index.js +3 -3
  223. package/dist/openapi/index.d.ts +61 -30
  224. package/dist/openapi/index.js +2 -2
  225. package/dist/{openapi-B7HZ0f-r.js → openapi-BOsx0xn9.js} +34 -24
  226. package/dist/{openapi-C4dDTVEd.js → openapi-CBZUhA3l.js} +4 -5
  227. package/dist/{openapi-DD1SV-5-.js → openapi-VeHHU2l9.js} +23 -14
  228. package/dist/{operation-findings-DgATDpvh.js → operation-findings-CXtFzlKJ.js} +3 -3
  229. package/dist/{operations-X0VM7F3m.d.ts → operations-Ci_rT6Uo.d.ts} +10 -7
  230. package/dist/orpc/index.d.ts +68 -14
  231. package/dist/orpc/index.js +62 -13
  232. package/dist/otel/index.d.ts +7 -4
  233. package/dist/otel/index.js +8 -5
  234. package/dist/output-files-BHOIlrfD.js +1 -0
  235. package/dist/{output-files-DhRBBE4n.js → output-files-BIQ_9pIs.js} +29 -17
  236. package/dist/{output-1im__-08.js → output-tkju6U7R.js} +15 -7
  237. package/dist/ownership-B4L59T9u.js +1054 -0
  238. package/dist/parse-1_ZheTW5.js +151 -0
  239. package/dist/parse-local-manifest-BQhTlLQS.d.ts +10 -0
  240. package/dist/parse-local-manifest-DEiCF4ah.js +69 -0
  241. package/dist/{parse-request-D_tUXG6M.js → parse-request-CwCZpyjV.js} +7 -8
  242. package/dist/{paths-DXSHAMIa.js → paths-CUvURzHp.js} +4 -1
  243. package/dist/pdp/index.d.ts +9 -6
  244. package/dist/pdp/index.js +23 -12
  245. package/dist/{peer-CRvC7Hg1.js → peer-C9LvBCcb.js} +1 -1
  246. package/dist/peer-Q0fuZ6hx.js +982 -0
  247. package/dist/{permdock-SV8ZINYT.d.ts → permdock-B6Sf4T_S.d.ts} +270 -117
  248. package/dist/{permdock-BrAscV28.js → permdock-L-_I_3zP.js} +226 -74
  249. package/dist/{permission-registry-Br4jSNVi.js → permission-registry-B8tYxPIt.js} +24 -11
  250. package/dist/{vocabulary-CN8H_9UF.d.ts → permission-types-CAY-GU7e.d.ts} +130 -104
  251. package/dist/{permissions-u_KHg-sN.d.ts → permissions-Bx6UI8n1.d.ts} +6 -2
  252. package/dist/{permissions-B-wCP5ZC.js → permissions-CVXmRILq.js} +3 -3
  253. package/dist/{permissions-BPxlwVhN.js → permissions-mDcTWoBs.js} +8 -5
  254. package/dist/pg-DQTqRrou.js +60 -0
  255. package/dist/{pins-8ILTftC9.js → pins-nqarl3oE.js} +4 -1
  256. package/dist/pkce-CnmmYqUZ.js +21 -0
  257. package/dist/{policy-77FSAq_V.d.ts → policy-Ba4bDhaj.d.ts} +5 -5
  258. package/dist/{policy-DbM5YYtV.js → policy-CLQ8__GF.js} +49 -20
  259. package/dist/{policy-from-catalog-C2gMa2Dj.js → policy-from-catalog-CJgOm6aq.js} +28 -25
  260. package/dist/{policy-module-CTlwMvLI.js → policy-module-xym9fnSq.js} +12 -6
  261. package/dist/{policy-types-n0uRTsW8.d.ts → policy-types-CCiDRZBH.d.ts} +802 -334
  262. package/dist/postgres-store-DcyrPS-r.js +1028 -0
  263. package/dist/{postgrest-DAjUkF9w.js → postgrest-D4nuPXIQ.js} +88 -36
  264. package/dist/{postgrest-CEgRbefE.d.ts → postgrest-DicQyqm-.d.ts} +60 -30
  265. package/dist/powersync-DHNQX06W.js +1117 -0
  266. package/dist/{powersync-DISt6SUe.js → powersync-DXqGuq9A.js} +3 -3
  267. package/dist/powersync-Djf-zCpB.js +1 -0
  268. package/dist/preset/index.d.ts +38 -28
  269. package/dist/preset/index.js +1 -1
  270. package/dist/{preset-DZdU0tne.js → preset-BjLzeFpp.js} +58 -34
  271. package/dist/{principal-source-pHneukrx.js → principal-source-C6N60GtM.js} +10 -10
  272. package/dist/prisma/index.d.ts +69 -41
  273. package/dist/prisma/index.js +21 -17
  274. package/dist/{problem-CTviyH5L.js → problem-BVLHFK33.js} +41 -21
  275. package/dist/{problem-details-cn5X30gZ.js → problem-details-CLDgX1KV.js} +13 -4
  276. package/dist/{problem-types-CJ2325SZ.js → problem-types-DSsRfONQ.js} +4 -1
  277. package/dist/prompt-BYc6drYW.js +938 -0
  278. package/dist/protected-action-BE7N_Luo.d.ts +58 -0
  279. package/dist/protected-action-DUYqb-Ma.js +80 -0
  280. package/dist/{protected-BlF0F6wL.js → protected-action-QEA8arRB.js} +48 -14
  281. package/dist/{provider-B1al-AZz.js → provider-C55OGXJ7.js} +5 -4
  282. package/dist/{provider-DILL9oPK.d.ts → provider-DXfq5c2d.d.ts} +1 -1
  283. package/dist/{provider-store-DM6DNcta.js → provider-store-CaTv00tr.js} +13 -9
  284. package/dist/pull-B65ndFNZ.js +1 -0
  285. package/dist/{pull-jEwbf80J.js → pull-CwpGaQSi.js} +12 -11
  286. package/dist/{push-BD4f15co.js → push-DgssgzkK.js} +62 -16
  287. package/dist/{pushed-policy-DCW91KQU.d.ts → pushed-policy-D1Eoi6NM.d.ts} +12 -6
  288. package/dist/{pushed-policy-CqtxkV4G.js → pushed-policy-ITwYKvvH.js} +10 -7
  289. package/dist/react/index.d.ts +9 -8
  290. package/dist/react/index.js +7 -6
  291. package/dist/react/provider-client.d.ts +1 -1
  292. package/dist/react/provider-client.js +1 -1
  293. package/dist/react-native/index.d.ts +104 -51
  294. package/dist/react-native/index.js +394 -67
  295. package/dist/{refs-K6eWUJ0H.js → refs-C8BKxc_e.js} +17 -3
  296. package/dist/{relation-walk-3OyDBF0S.js → relation-walk-DK_gkgL7.js} +12 -9
  297. package/dist/{relations-BnCWnJGI.js → relations-BxvRvDHK.js} +3 -3
  298. package/dist/{replay-Du1tJjG7.js → replay-BU09ad4L.js} +1 -1
  299. package/dist/{replay-Bkm-Ne4l.d.ts → replay-DNftIb_R.d.ts} +1 -1
  300. package/dist/{request-context-C81Pip9n.js → request-context-C25ilqiJ.js} +8 -8
  301. package/dist/{request-schema-CMreVuFM.js → request-schema-DhX7UbfQ.js} +4 -1
  302. package/dist/resend/index.d.ts +34 -28
  303. package/dist/resend/index.js +29 -29
  304. package/dist/resolve-names-CF7xXLSG.js +201 -0
  305. package/dist/{resource-relations-D_jw0BFx.js → resource-relations-8-pCScBO.js} +18 -9
  306. package/dist/{retire-CALjIQ7e.js → retire-B2xffQgY.js} +15 -6
  307. package/dist/{revocations-R07lFBnX.d.ts → revocations-BaUXHM1N.d.ts} +6 -3
  308. package/dist/{rls-DTvYd-lI.js → rls-CNEH2_BG.js} +743 -624
  309. package/dist/{rls-BAqP4q66.js → rls-Ca8Jz9b5.js} +41 -10
  310. package/dist/{role-builder-uWQZ4v84.js → role-builder-BK2-T6oD.js} +41 -20
  311. package/dist/rolldown-runtime-C3I60J0A.js +4 -0
  312. package/dist/{row-conditions-h2HythXQ.js → row-conditions-BAGHOmVq.js} +4 -3
  313. package/dist/{rpc-VSl5ylaQ.js → rpc-fNqAIqQk.js} +8 -5
  314. package/dist/{run-CUKuz0A8.js → run-Bz26OTfO.js} +26 -23
  315. package/dist/run-D-JE8QWb.js +1 -0
  316. package/dist/{run-ticket-DocwaTKn.d.ts → run-ticket-DbWI9f99.d.ts} +33 -13
  317. package/dist/{run-ticket-sxFI6LAk.js → run-ticket-Dv7aF7Dk.js} +29 -8
  318. package/dist/{runtime-D3VTAiCA.js → runtime-BGnrOkVH.js} +5 -2
  319. package/dist/{saas-BCXRuXca.js → saas-iWnUdwCt.js} +42 -29
  320. package/dist/{scan-qvOe0hS3.js → scan-DCj1KQfn.js} +1 -1
  321. package/dist/{schema-B4v0Qrac.js → schema-BOJjqlWL.js} +3 -2
  322. package/dist/{schema-yLuBWWsh.js → schema-Dst9I9Gs.js} +9 -5
  323. package/dist/scim/index.d.ts +3 -2
  324. package/dist/scim/index.js +3 -1
  325. package/dist/scim-D8YupzX1.js +44 -0
  326. package/dist/{scim-ClHtpyV3.js → scim-jJBJ7g1Z.js} +35 -551
  327. package/dist/{scopes-CUPSjo9q.js → scopes-0Up_UA2t.js} +42 -24
  328. package/dist/server/index.d.ts +12 -12
  329. package/dist/server/index.js +13 -13
  330. package/dist/{server-C3WXAHZj.js → server-3cVlTLde.js} +31 -31
  331. package/dist/{server-types-CKQiCnON.d.ts → server-types-CIlpSA2G.d.ts} +81 -46
  332. package/dist/{sha256-D9ihqmvd.js → sha256-C-4WXKIu.js} +4 -3
  333. package/dist/{shared-BAK8t4Uo.js → shared-Afctg7B0.js} +100 -61
  334. package/dist/{shared-DvvFzYXe.js → shared-l0oGGetg.js} +9 -6
  335. package/dist/{signals-D3NcTKUS.js → signals-B1vHR3fN.js} +2 -2
  336. package/dist/{sink-BEZSlMS_.js → sink-D9_vh372.js} +32 -21
  337. package/dist/{sink-4-eQIRWf.d.ts → sink-Dvi7YZG_.d.ts} +44 -20
  338. package/dist/{skills-B6lVdD_W.js → skills-Bjj7BNEQ.js} +16 -12
  339. package/dist/{skills-CTYwkl44.js → skills-OuoMR49L.js} +3 -3
  340. package/dist/{snapshot-B7DkYg6g.js → snapshot-CXlzi69u.js} +21 -18
  341. package/dist/{snapshot-cache-PXI-vGpY.d.ts → snapshot-cache-BAXZ0KOp.d.ts} +21 -12
  342. package/dist/{snapshot-cache-DZHQ0KF6.js → snapshot-cache-Bx_4xC_6.js} +14 -11
  343. package/dist/solid/index.d.ts +55 -15
  344. package/dist/solid/index.js +46 -12
  345. package/dist/solid-start/index.d.ts +30 -12
  346. package/dist/solid-start/index.js +3 -3
  347. package/dist/sources-B1Os_YUu.d.ts +312 -0
  348. package/dist/{sources-vs5dGOsS.js → sources-CMAM-2A3.js} +156 -51
  349. package/dist/sources-qoIJQrJv.js +11 -0
  350. package/dist/{sql-B5T1IL83.js → sql-0WjxIp9g.js} +32 -7
  351. package/dist/sql-B80DFdpG.d.ts +10 -0
  352. package/dist/{src-Cu2m75uo.js → src-DZ0l9UAg.js} +305 -123
  353. package/dist/ssf/index.d.ts +4 -4
  354. package/dist/ssf/index.js +665 -224
  355. package/dist/{standard-webhooks-rbD7LS6h.d.ts → standard-webhooks-C-qX4mJW.d.ts} +7 -7
  356. package/dist/{standard-webhooks-DgFFD-Ga.js → standard-webhooks-D67a3nzk.js} +5 -5
  357. package/dist/{store-BDutJkDL.js → store-RNFvaJJv.js} +43 -29
  358. package/dist/{store-options-u0ycEe8s.js → store-options-Dil3lraY.js} +105 -15
  359. package/dist/stores-C0Kta5Ft.d.ts +59 -0
  360. package/dist/{stores-CGhM8BN_.js → stores-DxZWDXCs.js} +42 -5
  361. package/dist/{stream-CvdUS9V1.js → stream-CDvF0sJm.js} +5 -5
  362. package/dist/{stream-CeCMJmBB.d.ts → stream-ltuLdtTG.d.ts} +4 -3
  363. package/dist/{style-DiKWnAvn.js → style-DblOtSga.js} +1 -1
  364. package/dist/{style-Uao76wO7.js → style-Ds11Hmk4.js} +3 -1
  365. package/dist/{subject-settings-CkEwrw3W.js → subject-settings-8sH5HlII.js} +8 -4
  366. package/dist/{row-check-Dt35czLy.d.ts → subject-settings-vNW8qmUH.d.ts} +30 -18
  367. package/dist/supabase/index.d.ts +48 -37
  368. package/dist/supabase/index.js +6 -6
  369. package/dist/supabase/middleware.d.ts +19 -13
  370. package/dist/supabase/middleware.js +7 -7
  371. package/dist/{supabase-x5JtR2tc.js → supabase-BL1qJzzY.js} +82 -36
  372. package/dist/{supabase-By_frk3U.js → supabase-D39cuGPt.js} +3 -3
  373. package/dist/{supabase-hook-BMoEhZir.js → supabase-hook-B-yXnzUl.js} +1206 -286
  374. package/dist/supabase-hook-H-MtE9Wd.js +1 -0
  375. package/dist/supautils-BU-pAEpf.js +808 -0
  376. package/dist/{support-session-C6xJQYut.js → support-session-BsmPCbz8.js} +22 -22
  377. package/dist/svelte/PermissionBoundary.svelte +2 -6
  378. package/dist/svelte/Protected.svelte +2 -8
  379. package/dist/svelte/index.d.ts +9 -8
  380. package/dist/svelte/index.js +10 -9
  381. package/dist/svelte/runtime.d.ts +4 -4
  382. package/dist/svelte/runtime.js +4 -4
  383. package/dist/svelte/source.d.ts +9 -8
  384. package/dist/svelte/source.js +6 -5
  385. package/dist/sveltekit/index.d.ts +30 -12
  386. package/dist/sveltekit/index.js +2 -2
  387. package/dist/{ownership-DqaJNJPn.js → tables-DeMNEy6V.js} +1025 -1085
  388. package/dist/tanstack-start/index.d.ts +22 -10
  389. package/dist/tanstack-start/index.js +2 -2
  390. package/dist/{target-Bw37TFNA.js → target-qdEAnnhU.js} +6 -6
  391. package/dist/{tenancy-DN2QAx9z.js → tenancy-5d1zVBvK.js} +36 -21
  392. package/dist/terminal/index.d.ts +23 -14
  393. package/dist/terminal/index.js +17 -20
  394. package/dist/testing/core.d.ts +2 -0
  395. package/dist/testing/core.js +1 -0
  396. package/dist/testing/fixtures/index.d.ts +15 -0
  397. package/dist/testing/fixtures/index.js +831 -0
  398. package/dist/testing/index.d.ts +235 -285
  399. package/dist/testing/index.js +502 -927
  400. package/dist/testing/saas/index.d.ts +43 -27
  401. package/dist/testing/saas/index.js +2 -2
  402. package/dist/testing/saas/permissions.d.ts +1 -1
  403. package/dist/testing/saas/permissions.js +1 -1
  404. package/dist/text-diff-BtfSmdUo.js +444 -0
  405. package/dist/{thenable-yD7SabqG.js → thenable-BNSM1U2R.js} +12 -3
  406. package/dist/{time-DkWjdL98.js → time-nR1JesoH.js} +32 -8
  407. package/dist/{token-BLZcjQgt.js → token-DC9EQiet.js} +15 -13
  408. package/dist/{tool-refusal-CMLN5xhn.js → tool-refusal-Qpjs_W6M.js} +5 -2
  409. package/dist/trpc/index.d.ts +11 -8
  410. package/dist/trpc/index.js +15 -9
  411. package/dist/type-helpers-BIPIDa6a.d.ts +50 -0
  412. package/dist/{types-8RnwUAvE.d.ts → types-AMJ5qoU_.d.ts} +49 -30
  413. package/dist/{types-C_IiEs64.d.ts → types-B2mlGuhW.d.ts} +14 -11
  414. package/dist/{types-_WhUP7ud.d.ts → types-B4uqKDnp.d.ts} +25 -12
  415. package/dist/{types-CX7AvRqP.d.ts → types-BJk0BKRX.d.ts} +24 -14
  416. package/dist/types-B_d_g7T3.d.ts +262 -0
  417. package/dist/{types-BdtSDbBO.d.ts → types-B_tiYvk8.d.ts} +59 -32
  418. package/dist/{types-DqzsnlSA.js → types-CcUXciSj.js} +17 -5
  419. package/dist/{types-Dfv0aTER.d.ts → types-DC1Loeh3.d.ts} +449 -168
  420. package/dist/{types-lUlG3TVd.d.ts → types-DHKPcqzr.d.ts} +2 -2
  421. package/dist/{types-C791HFu9.d.ts → types-DjuMBNF9.d.ts} +68 -32
  422. package/dist/{types-C863OQiR.d.ts → types-HzqOtvsJ.d.ts} +23 -12
  423. package/dist/{types-Druu9wLM.d.ts → types-ZzRGoViD.d.ts} +77 -24
  424. package/dist/{types-BzzaHxt3.d.ts → types-ah9NlU6j.d.ts} +137 -48
  425. package/dist/{types-CVZSNocA.d.ts → types-djVzLlIV.d.ts} +31 -14
  426. package/dist/{types-BtHtcKMr.d.ts → types-yUuPR5Hy.d.ts} +47 -24
  427. package/dist/unplugin/index.d.ts +1 -1
  428. package/dist/unplugin/index.js +2 -2
  429. package/dist/usage-CYeXek0p.js +1 -0
  430. package/dist/{usage-SveTRTyr.js → usage-CxEzS4ey.js} +50 -26
  431. package/dist/{usage-CRVl9V3t.js → usage-ab0PdusX.js} +2 -2
  432. package/dist/{validation-error-ZfUHbKvf.js → validation-error-CYg2kJEw.js} +4 -1
  433. package/dist/{validation-error-DHUrAkku.d.ts → validation-error-YGg2mXyH.d.ts} +5 -2
  434. package/dist/{validity-CZ7-y0Cj.js → validity-Buc7w8E9.js} +13 -10
  435. package/dist/{verifier-DHuh-okk.js → verifier-DUV6pLqZ.js} +10 -4
  436. package/dist/{verify-BaAKx7t6.js → verify-DZeqoWu5.js} +417 -489
  437. package/dist/version-DMQ0dnN5.js +48 -0
  438. package/dist/version-DizhmD72.js +1 -0
  439. package/dist/{views-DTIIO-oQ.js → views-CD8wuL4Z.js} +19 -6
  440. package/dist/vocabulary-DEJ5j4mR.d.ts +70 -0
  441. package/dist/vue/index.d.ts +71 -21
  442. package/dist/vue/index.js +50 -13
  443. package/dist/{waiter-B986w1oK.d.ts → waiter-Bu9zAlE0.d.ts} +13 -10
  444. package/dist/{waiter-BGUtGYoU.js → waiter-aBLM63_f.js} +1 -1
  445. package/dist/{watch-vea54PRw.js → watch-Cx_WciLE.js} +8 -8
  446. package/dist/watch-DB42U1ib.js +1 -0
  447. package/dist/webmcp/index.d.ts +11 -11
  448. package/dist/webmcp/index.js +8 -5
  449. package/dist/{where-scope-C9vfEphl.js → where-scope-DlCdCM_8.js} +56 -30
  450. package/dist/{who-can-DWBAcaCQ.js → who-can-rI7dCR9Q.js} +23 -20
  451. package/dist/workflow/index.d.ts +3 -3
  452. package/dist/workflow/index.js +13 -13
  453. package/dist/workflow-sdk/index.d.ts +19 -13
  454. package/dist/workflow-sdk/index.js +6 -6
  455. package/dist/{wrap-gX61EtpB.js → wrap-B2wziJI_.js} +11 -5
  456. package/dist/{wrap-C5jC6sKI.d.ts → wrap-DlJE3gS_.d.ts} +8 -5
  457. package/package.json +25 -14
  458. package/schemas/catalog-v1.json +3 -0
  459. package/schemas/cli-result-v1.json +1 -0
  460. package/schemas/cloud-api-v1.json +152 -7
  461. package/schemas/connector-v1.json +8 -0
  462. package/schemas/supabase-claims-v1.json +5 -0
  463. package/schemas/supabase-manifest-v1.json +308 -75
  464. package/skills/permdock/SKILL.md +1 -0
  465. package/skills/permdock-agents/references/runtimes.md +3 -1
  466. package/skills/permdock-approvals/references/stores-and-resume.md +2 -1
  467. package/skills/permdock-credentials/references/tokens-keys-links.md +8 -6
  468. package/skills/permdock-data/references/queries-and-rls.md +6 -2
  469. package/skills/permdock-tenancy/SKILL.md +1 -1
  470. package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +2 -1
  471. package/skills/permdock-wire/references/adapters.md +28 -22
  472. package/skills/permdock-wire/references/policy-options.md +1 -0
  473. package/dist/catalog-BoWglDPI.js +0 -1
  474. package/dist/collect-D7eQDffE.js +0 -1
  475. package/dist/config-bs_kZeYq.js +0 -162
  476. package/dist/denied-text-CiFQNuMV.d.ts +0 -19
  477. package/dist/fields-OYG_JR78.js +0 -203
  478. package/dist/generate-CNU1pIOo.js +0 -171
  479. package/dist/headers-BIjfMaoC.js +0 -8
  480. package/dist/headers-CIbDTUTK.d.ts +0 -7
  481. package/dist/index-Cp_ilKi1.d.ts +0 -91
  482. package/dist/index-CueFnxQc.d.ts +0 -110
  483. package/dist/load-BxEtwlBS.js +0 -1
  484. package/dist/output-files-B3IZJksC.js +0 -1
  485. package/dist/package-root-Dk_ETdkp.js +0 -31
  486. package/dist/parse-Cxq0WxrA.js +0 -53
  487. package/dist/parse-local-manifest-5ODwqu8b.d.ts +0 -10
  488. package/dist/parse-local-manifest-CVSs6J9I.js +0 -34
  489. package/dist/peer-C8swJ2GH.js +0 -50
  490. package/dist/policies-DP2nqRoF.js +0 -295
  491. package/dist/powersync-BkWWCS1K.js +0 -538
  492. package/dist/powersync-MMJ2mI2q.js +0 -1
  493. package/dist/problem-details-B45V5d2b.d.ts +0 -7
  494. package/dist/prompt-DfZLJLIn.js +0 -32
  495. package/dist/protected-RFGpakN9.d.ts +0 -38
  496. package/dist/pull-CvpINcMK.js +0 -1
  497. package/dist/run-DDwUaJDU.js +0 -1
  498. package/dist/sources-Xc4zkszI.d.ts +0 -190
  499. package/dist/stores-BUGNbJTt.d.ts +0 -30
  500. package/dist/supabase-hook-CCw5m35C.js +0 -1
  501. package/dist/supautils-B6HYL9eL.js +0 -91
  502. package/dist/text-diff-BQcUapOb.js +0 -15
  503. package/dist/types-B3_ooZgZ.d.ts +0 -172
  504. package/dist/usage-CZpSQP6L.js +0 -1
  505. package/dist/version-CEbQ5UeM.js +0 -18
  506. package/dist/version-DXkYUISx.js +0 -1
  507. package/dist/watch--ovlPOc0.js +0 -1
@@ -0,0 +1,262 @@
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-CCiDRZBH.js";
2
+ import { u as Permission } from "./permission-types-CAY-GU7e.js";
3
+ import { a as PermDock } from "./permdock-B6Sf4T_S.js";
4
+ import { n as DescribeMessages, t as DecisionDescription } from "./describe-ByS9LgHK.js";
5
+ import { t as ActionResult } from "./action-result-CL-QCITA.js";
6
+ //#region src/client/refresh-on.d.ts
7
+ /**
8
+ * Calls `refresh` when the snapshot may be out of date (a membership event, a
9
+ * window focus, a realtime message) and returns the unsubscribe. A refresh
10
+ * re-fetches the signed snapshot; it never grants by itself.
11
+ */
12
+ type RefreshTrigger = (refresh: () => void) => () => void;
13
+ type EventSourceRefreshOptions = {
14
+ /**
15
+ * CloudEvent `type` values that refresh; a trailing `*` matches a prefix.
16
+ * Defaults to `com.permdock.membership.*` and `com.permdock.catalog.*`.
17
+ */
18
+ readonly types?: readonly string[];
19
+ readonly withCredentials?: boolean;
20
+ };
21
+ /**
22
+ * A `refreshOn` trigger over Server-Sent Events: each `message` whose data is a
23
+ * structured CloudEvent with a matching `type` refreshes the snapshot. Without
24
+ * a global `EventSource` it never fires.
25
+ */
26
+ declare function eventSourceRefresh(url: string, options?: EventSourceRefreshOptions): RefreshTrigger;
27
+ //#endregion
28
+ //#region src/client/request.d.ts
29
+ type StoreHeaders = Readonly<Record<string, string>>;
30
+ //#endregion
31
+ //#region src/client/store.d.ts
32
+ type ClientStoreOptions = {
33
+ readonly snapshot: Snapshot | string;
34
+ readonly endpoint?: string;
35
+ readonly snapshotUrl?: string;
36
+ readonly approvals?: string;
37
+ readonly tenant?: string;
38
+ readonly fetch?: typeof fetch;
39
+ /**
40
+ * Request headers, or a getter read on every request so a rotated token needs
41
+ * no new store.
42
+ */
43
+ readonly headers?: StoreHeaders | (() => StoreHeaders | undefined);
44
+ readonly maxAge?: number;
45
+ readonly verifier?: TokenVerifier;
46
+ /**
47
+ * `raw` is the compact JWS the snapshot was verified from, so a signed
48
+ * snapshot can be persisted signed.
49
+ */
50
+ readonly onSnapshot?: (snapshot: Snapshot, tenant: string | undefined, raw: string | undefined) => void;
51
+ readonly onClear?: () => void;
52
+ /**
53
+ * Called once per key the snapshot cannot answer when there is no `endpoint`
54
+ * to ask.
55
+ */
56
+ readonly onServerOnly?: (permission: Permission) => void;
57
+ /**
58
+ * `true` while rendering on the server: endpoint checks answer `pending`
59
+ * without a request. Defaults to `typeof window === 'undefined'`.
60
+ */
61
+ readonly server?: boolean;
62
+ /** Milliseconds between approval status polls. Defaults to 2000. */
63
+ readonly approvalInterval?: number;
64
+ /** Start `pending`: the snapshot arrives later through `track()`. */
65
+ readonly awaiting?: boolean;
66
+ /**
67
+ * The first snapshot that hydrates with a principal is a persisted copy:
68
+ * `stale` until a refresh or a `replace()` lands.
69
+ */
70
+ readonly stale?: boolean;
71
+ /**
72
+ * Reuse decisions for the same row object until the next microtask. Only for
73
+ * renderers that do not track the fields a check reads (React): Vue, Svelte
74
+ * and Solid would stop re-running when a reactive row changes in place.
75
+ */
76
+ readonly passCache?: boolean;
77
+ /**
78
+ * Triggers that refresh the snapshot, started while something subscribes and
79
+ * never during a server render. Calls within 250 ms fold into one refresh.
80
+ */
81
+ readonly refreshOn?: readonly RefreshTrigger[];
82
+ };
83
+ type ClientStore = {
84
+ get: () => ClientPermDock;
85
+ subscribe: (listener: () => void) => () => void;
86
+ permissionState: (permission: Permission, data?: unknown) => PermissionState;
87
+ requestApproval: (decision: Decision, note?: string) => Promise<void>;
88
+ /** Hydrate from a pushed snapshot; a compact JWS goes through the verifier. */
89
+ replace: (value: unknown) => void;
90
+ /**
91
+ * Stay `pending` until `value` settles, then hydrate; a rejection fails
92
+ * closed.
93
+ */
94
+ follow: (value: PromiseLike<Snapshot | string>) => void;
95
+ /**
96
+ * `follow()` once per `value`, without suspending. A thenable React already
97
+ * settled (`status: 'fulfilled'`) hydrates at once.
98
+ */
99
+ track: (value: PromiseLike<Snapshot | string>) => void;
100
+ /**
101
+ * The approval state for a decision. While something subscribes, an
102
+ * `approval-required` decision is polled at `<approvals>/<token>`.
103
+ */
104
+ approvalState: (decision: Decision) => ApprovalState;
105
+ /**
106
+ * Hydrate from a resolved `snapshotPromise` during render. Idempotent per
107
+ * `source`; subscribers are notified in a microtask, never synchronously
108
+ * inside render.
109
+ */
110
+ adopt: (value: Snapshot | string, source: object) => void;
111
+ snapshot: () => Snapshot;
112
+ /** The tenant the store currently answers for. */
113
+ tenant: () => string | undefined;
114
+ /**
115
+ * Stops polls, drops in-flight results and persistence; the store keeps
116
+ * answering from its last snapshot.
117
+ */
118
+ dispose: () => void;
119
+ };
120
+ //#endregion
121
+ //#region src/client/protected-action.d.ts
122
+ type ProtectedActionState<T> = {
123
+ /** The last call's answer; `undefined` before the first call. */
124
+ readonly result: ActionResult<T> | undefined;
125
+ /** A call is in flight. */
126
+ readonly pending: boolean;
127
+ };
128
+ //#endregion
129
+ //#region src/client/types.d.ts
130
+ type ClientStatus = "ready" | "pending" | "stale" | "server-only";
131
+ type PermissionState = {
132
+ readonly allowed: boolean;
133
+ readonly status: ClientStatus;
134
+ readonly decision: Decision;
135
+ };
136
+ type PermissionSet = {
137
+ readonly granted: readonly Permission[];
138
+ get: (permission: Permission) => PermissionState | undefined;
139
+ };
140
+ type ClientPermDock<V extends PolicyVocabulary = PolicyVocabulary> = PermDock<V> & {
141
+ status: (permission?: Permission, data?: unknown) => ClientStatus;
142
+ invalidate: (ref: Permission | {
143
+ readonly [key: string]: unknown;
144
+ }) => void;
145
+ refresh: (options?: {
146
+ readonly tenant?: string;
147
+ }) => Promise<void>;
148
+ clear: () => void;
149
+ subscribe: (listener: () => void) => () => void;
150
+ };
151
+ type ApprovalState = "not-needed" | "required" | "pending" | "approved" | "rejected" | "expired";
152
+ type ApprovalHandle = {
153
+ readonly state: ApprovalState;
154
+ readonly token: string | undefined;
155
+ readonly request: (note?: string) => Promise<void>;
156
+ };
157
+ /**
158
+ * A protected server action wired to a control: the gate for its button, the
159
+ * last answer, and the approval its `approval-required` problem carries. The
160
+ * client decides nothing; the action answers.
161
+ */
162
+ type ProtectedActionView<T> = ProtectedActionState<T> & {
163
+ readonly gate: GateView;
164
+ /** On an `approval-required` problem, the handle for its token. */
165
+ readonly approval: ApprovalHandle | undefined;
166
+ };
167
+ type ProtectedActionHandle<T> = ProtectedActionView<T> & {
168
+ readonly run: (input: unknown) => Promise<ActionResult<T>>;
169
+ /** Resends the last input with the approval token; `undefined` without one. */
170
+ readonly retry: () => Promise<ActionResult<T> | undefined>;
171
+ };
172
+ type SubjectView = {
173
+ readonly principal: Principal | null;
174
+ readonly actor: Actor | undefined;
175
+ readonly delegation: Delegation | undefined;
176
+ readonly expiresAt: number | undefined;
177
+ readonly simulated: boolean;
178
+ };
179
+ type TenantView = {
180
+ readonly tenant: string | null;
181
+ readonly tenants: readonly string[];
182
+ readonly switchTo: (id: string) => Promise<void>;
183
+ readonly status: ClientStatus;
184
+ };
185
+ type FilterResult<T> = readonly T[] & {
186
+ readonly partial: boolean;
187
+ };
188
+ /**
189
+ * Which held roles `useRoles` lists: those of a tenant (the active one by
190
+ * default), or only those on the memberships of one `scope`, and of one
191
+ * instance `id` of it.
192
+ */
193
+ type RolesOptions = {
194
+ readonly tenant?: string;
195
+ readonly scope?: string;
196
+ readonly id?: string;
197
+ };
198
+ /**
199
+ * The provider options Vue, Svelte and Solid share; each adds its own reactive
200
+ * `snapshot`, `tenant`, `headers`, `verifier` and `defaults`.
201
+ */
202
+ type ProviderOptionsBase = {
203
+ /**
204
+ * The AuthZEN evaluations endpoint for checks the snapshot cannot answer.
205
+ * `false` never calls one: such a check is denied with reason `server-only`.
206
+ */
207
+ readonly endpoint?: string | false;
208
+ /** Where `refresh()` fetches a fresh snapshot. Defaults to `endpoint`. */
209
+ readonly snapshotUrl?: string;
210
+ readonly approvals?: string;
211
+ /** Read on every request, so a new `fetch` applies without a new store. */
212
+ readonly fetch?: typeof fetch;
213
+ readonly maxAge?: number;
214
+ /** Localised text for the describe helper. */
215
+ readonly messages?: DescribeMessages;
216
+ /** Called with each snapshot the store accepts. */
217
+ readonly onSnapshot?: NonNullable<ClientStoreOptions["onSnapshot"]>;
218
+ /** Called when the store drops its snapshot. */
219
+ readonly onClear?: () => void;
220
+ /** Milliseconds between approval status polls. Defaults to 2000. */
221
+ readonly approvalInterval?: number;
222
+ /**
223
+ * Triggers that refresh the snapshot, such as `eventSourceRefresh(url)`; read
224
+ * once.
225
+ */
226
+ readonly refreshOn?: readonly RefreshTrigger[];
227
+ };
228
+ /**
229
+ * How a control shows a permission it cannot use: hidden, or disabled with a
230
+ * reason.
231
+ */
232
+ type GateMode = "hide" | "disable";
233
+ /**
234
+ * Everything a permission-gated control renders from, in one value: a button, a
235
+ * menu item or a link reads these fields and decides nothing itself. The client
236
+ * is a hint; the server checks again.
237
+ */
238
+ type GateView = {
239
+ /** The decision granted the action. */
240
+ readonly allowed: boolean;
241
+ /** The snapshot is loading; render the control disabled, not hidden. */
242
+ readonly pending: boolean;
243
+ /** `mode: "hide"` and the action is not available: render nothing. */
244
+ readonly hidden: boolean;
245
+ /**
246
+ * The control cannot run the action now (denied, pending or awaiting
247
+ * approval).
248
+ */
249
+ readonly disabled: boolean;
250
+ /** The decision needs a person's approval first; offer to request it. */
251
+ readonly needsApproval: boolean;
252
+ /**
253
+ * The plans that would grant the action, for an upgrade prompt; empty
254
+ * otherwise.
255
+ */
256
+ readonly upgrade: readonly string[];
257
+ /** Title and detail for a tooltip or an accessible description. */
258
+ readonly reason: DecisionDescription;
259
+ readonly decision: Decision;
260
+ };
261
+ //#endregion
262
+ export { ClientStoreOptions as _, FilterResult as a, eventSourceRefresh as b, PermissionSet as c, ProtectedActionView as d, ProviderOptionsBase as f, ClientStore as g, TenantView as h, ClientStatus as i, PermissionState as l, SubjectView as m, ApprovalState as n, GateMode as o, RolesOptions as p, ClientPermDock as r, GateView as s, ApprovalHandle as t, ProtectedActionHandle as u, EventSourceRefreshOptions as v, RefreshTrigger as y };
@@ -1,5 +1,5 @@
1
- import { Cn as RelationGrantee, Rt as Instant, ar as Subject, cr as AdapterId, fn as Approver, nr as Membership, o as ApprovalStage, on as WireDelegation, r as ApprovalMode } from "./policy-types-n0uRTsW8.js";
2
- import { V as AppData } from "./vocabulary-CN8H_9UF.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-CCiDRZBH.js";
2
+ import { M as AppData } from "./permission-types-CAY-GU7e.js";
3
3
  //#region src/approvals/types.d.ts
4
4
  type ApprovalStatus = "pending" | "approved" | "rejected" | "expired";
5
5
  type ApprovalApprovers = {
@@ -12,30 +12,42 @@ type ApprovalApprovers = {
12
12
  readonly distinct?: boolean;
13
13
  /** Set when the approval no longer applies once the row's `version` changes. */
14
14
  readonly staleOn?: "resource-change";
15
- /** Distinct approvers of `by` needed before `status` becomes `approved`; absent means 1. */
15
+ /**
16
+ * Distinct approvers of `by` needed before `status` becomes `approved`;
17
+ * absent means 1.
18
+ */
16
19
  readonly quorum?: number;
17
- /** Who else may approve once the request has waited `after` seconds since `createdAt`. */
20
+ /**
21
+ * Who else may approve once the request has waited `after` seconds since
22
+ * `createdAt`.
23
+ */
18
24
  readonly escalation?: {
19
25
  readonly after: number;
20
26
  readonly to: Approver | readonly Approver[];
21
27
  };
22
28
  };
23
- /** One recorded approval: who gave it, when, and under `stages` the index of the stage it counts for. */
29
+ /**
30
+ * One recorded approval: who gave it, when, and under `stages` the index of the
31
+ * stage it counts for.
32
+ */
24
33
  type ApprovalSignature = {
25
34
  readonly by: string;
26
35
  readonly at: string;
27
36
  readonly stage?: number;
28
37
  readonly vouched?: string;
29
- /** The principal `by` approved for, when `by` acted under an `ApprovalDelegation`. */
38
+ /**
39
+ * The principal `by` approved for, when `by` acted under an
40
+ * `ApprovalDelegation`.
41
+ */
30
42
  readonly onBehalfOf?: string;
31
43
  /** The `ApprovalDelegation` id `onBehalfOf` was read from. */
32
44
  readonly delegation?: string;
33
45
  };
34
46
  /**
35
- * One out-of-office delegation: `delegate` may approve what `delegator`
36
- * could approve, from `from` until `until`. Both instants are required, so
37
- * a delegation cannot be open-ended. `permissions` and `resources` narrow
38
- * it; absent, it covers every request. `tenant` holds it to one tenant.
47
+ * One out-of-office delegation: `delegate` may approve what `delegator` could
48
+ * approve, from `from` until `until`. Both instants are required, so a
49
+ * delegation cannot be open-ended. `permissions` and `resources` narrow it;
50
+ * absent, it covers every request. `tenant` holds it to one tenant.
39
51
  */
40
52
  type ApprovalDelegation = {
41
53
  readonly id: string;
@@ -57,12 +69,12 @@ type ApprovalDelegation = {
57
69
  type ApprovalDelegationSource = {
58
70
  /** Names the implementation in errors and events. */
59
71
  readonly name?: string;
60
- delegationsFor(query: {
72
+ delegationsFor: (query: {
61
73
  readonly delegate: string;
62
74
  readonly tenant?: string;
63
75
  /** RFC 3339. The source returns delegations active at this instant. */
64
76
  readonly at: string;
65
- }): readonly ApprovalDelegation[] | Promise<readonly ApprovalDelegation[]>;
77
+ }) => readonly ApprovalDelegation[] | Promise<readonly ApprovalDelegation[]>;
66
78
  };
67
79
  type ApprovalSubjectSummary = {
68
80
  readonly principal: {
@@ -97,15 +109,24 @@ type ApprovalRequest = {
97
109
  readonly createdAt: string;
98
110
  readonly expiresAt: string;
99
111
  readonly status: ApprovalStatus;
100
- /** Approvals given so far, oldest first; the request is `approved` once there are `approvers.quorum` of them. */
112
+ /**
113
+ * Approvals given so far, oldest first; the request is `approved` once there
114
+ * are `approvers.quorum` of them.
115
+ */
101
116
  readonly approvals?: readonly ApprovalSignature[];
102
117
  readonly resolvedAt?: string;
103
- /** The approver whose verdict resolved the request (the last of `approvals` on a quorum), or `system:<by>` for a cancellation. */
118
+ /**
119
+ * The approver whose verdict resolved the request (the last of `approvals` on
120
+ * a quorum), or `system:<by>` for a cancellation.
121
+ */
104
122
  readonly resolvedBy?: string;
105
123
  readonly vouched?: string;
106
124
  readonly note?: string;
107
125
  readonly consumedAt?: string;
108
- /** The application's own data, set when the request opens; plain JSON, never read by a decision. */
126
+ /**
127
+ * The application's own data, set when the request opens; plain JSON, never
128
+ * read by a decision.
129
+ */
109
130
  readonly x?: AppData;
110
131
  };
111
132
  type ApprovalVerdict = {
@@ -120,8 +141,8 @@ type ApprovalVerdict = {
120
141
  */
121
142
  readonly relations?: readonly string[];
122
143
  /**
123
- * The `holder(permission)` approvers (by permission key) that `by` holds
124
- * in the request's tenant, as `approverPermissions` read them from the
144
+ * The `holder(permission)` approvers (by permission key) that `by` holds in
145
+ * the request's tenant, as `approverPermissions` read them from the
125
146
  * approver's own instance. Server-side input, never from the request body.
126
147
  * Absent means none, so permission approvers match nobody.
127
148
  */
@@ -130,8 +151,8 @@ type ApprovalVerdict = {
130
151
  /**
131
152
  * Set when `by` is not an approver and acts for this principal under an
132
153
  * `ApprovalDelegation`. Server-side input: the handler resolves the
133
- * delegator, and `applyApprovalVerdict` checks them again. `relations`
134
- * and `permissions` are that principal's facts, never the delegate's.
154
+ * delegator, and `applyApprovalVerdict` checks them again. `relations` and
155
+ * `permissions` are that principal's facts, never the delegate's.
135
156
  */
136
157
  readonly onBehalfOf?: {
137
158
  readonly subject: Subject;
@@ -169,28 +190,28 @@ type ApprovalStore = {
169
190
  /** Names the implementation in errors and events. */
170
191
  readonly name?: string;
171
192
  /**
172
- * Seconds a request opened against this store stays open when the
173
- * caller sets no `ttl`; absent means `DEFAULT_APPROVAL_TTL`. A grant's
174
- * `approval.ttl` still caps it.
193
+ * Seconds a request opened against this store stays open when the caller sets
194
+ * no `ttl`; absent means `DEFAULT_APPROVAL_TTL`. A grant's `approval.ttl`
195
+ * still caps it.
175
196
  */
176
197
  readonly ttl?: number;
177
- create(request: ApprovalRequest): Promise<void> | void;
178
- get(token: string): Promise<ApprovalRequest | null> | ApprovalRequest | null;
198
+ create: (request: ApprovalRequest) => Promise<void> | void;
199
+ get: (token: string) => Promise<ApprovalRequest | null> | ApprovalRequest | null;
179
200
  /**
180
201
  * The request with this `id`, for `approvalsHandler`, which routes by id.
181
202
  * Without it the handler pages through `list` to find the id.
182
203
  */
183
- getById?(id: string): Promise<ApprovalRequest | null> | ApprovalRequest | null;
184
- resolve(token: string, verdict: ApprovalVerdict): Promise<ApprovalRequest> | ApprovalRequest;
185
- list(query: ApprovalListQuery): Promise<ApprovalPage> | ApprovalPage;
186
- expire(now?: Instant): Promise<number> | number;
204
+ getById?: (id: string) => Promise<ApprovalRequest | null> | ApprovalRequest | null;
205
+ resolve: (token: string, verdict: ApprovalVerdict) => Promise<ApprovalRequest> | ApprovalRequest;
206
+ list: (query: ApprovalListQuery) => Promise<ApprovalPage> | ApprovalPage;
207
+ expire: (now?: Instant) => Promise<number> | number;
187
208
  /**
188
209
  * Marks an approved, unexpired, unconsumed request consumed and returns it;
189
210
  * returns `null` otherwise. Must be atomic: two concurrent calls for one
190
211
  * token never both return the request.
191
212
  */
192
- consume(token: string, now?: Instant): Promise<ApprovalRequest | null> | ApprovalRequest | null;
193
- cancel?(filter: ApprovalListFilter, meta: ApprovalCancelMeta): Promise<number> | number;
213
+ consume: (token: string, now?: Instant) => Promise<ApprovalRequest | null> | ApprovalRequest | null;
214
+ cancel?: (filter: ApprovalListFilter, meta: ApprovalCancelMeta) => Promise<number> | number;
194
215
  };
195
216
  type ApprovalResumeFailureCause = "approval-not-found" | "approval-pending" | "approval-rejected" | "approval-expired" | "approval-consumed";
196
217
  type ApprovalInspectResult = {
@@ -201,9 +222,15 @@ type ApprovalInspectResult = {
201
222
  readonly cause: ApprovalResumeFailureCause;
202
223
  };
203
224
  declare const APPROVAL_HEADER: "PermDock-Approval";
204
- /** Seconds a request stays open when neither the store nor the call sets a `ttl`. */
225
+ /**
226
+ * Seconds a request stays open when neither the store nor the call sets a
227
+ * `ttl`.
228
+ */
205
229
  declare const DEFAULT_APPROVAL_TTL: number;
206
- /** The approvals a request needs in total: `approvers.quorum` (or 1), or the sum of its stages' quorums. */
230
+ /**
231
+ * The approvals a request needs in total: `approvers.quorum` (or 1), or the sum
232
+ * of its stages' quorums.
233
+ */
207
234
  declare function approvalQuorum(request: ApprovalRequest): number;
208
235
  /**
209
236
  * The instant from which `approvers.escalation.to` may approve, in epoch
@@ -1,4 +1,4 @@
1
- import { a as durationOf } from "./time-DkWjdL98.js";
1
+ import { a as durationOf } from "./time-nR1JesoH.js";
2
2
  //#region src/approvals/errors.ts
3
3
  var ApprovalError = class extends Error {
4
4
  name = "ApprovalError";
@@ -21,7 +21,10 @@ const CODES = /* @__PURE__ */ new Set([
21
21
  function isApprovalErrorCode(value) {
22
22
  return typeof value === "string" && CODES.has(value);
23
23
  }
24
- /** Matches by `name` and `code`, so an error from another copy of the module still maps. */
24
+ /**
25
+ * Matches by `name` and `code`, so an error from another copy of the module
26
+ * still maps.
27
+ */
25
28
  function isApprovalError(value) {
26
29
  if (!(value instanceof Error) || value.name !== "ApprovalError") return false;
27
30
  const code = Reflect.get(value, "code");
@@ -30,9 +33,15 @@ function isApprovalError(value) {
30
33
  //#endregion
31
34
  //#region src/approvals/types.ts
32
35
  const APPROVAL_HEADER = "PermDock-Approval";
33
- /** Seconds a request stays open when neither the store nor the call sets a `ttl`. */
36
+ /**
37
+ * Seconds a request stays open when neither the store nor the call sets a
38
+ * `ttl`.
39
+ */
34
40
  const DEFAULT_APPROVAL_TTL = 3600;
35
- /** The approvals a request needs in total: `approvers.quorum` (or 1), or the sum of its stages' quorums. */
41
+ /**
42
+ * The approvals a request needs in total: `approvers.quorum` (or 1), or the sum
43
+ * of its stages' quorums.
44
+ */
36
45
  function approvalQuorum(request) {
37
46
  const stages = request.approvers?.stages;
38
47
  if (stages !== void 0) return stages.reduce((sum, stage) => sum + (stage.quorum ?? 1), 0);
@@ -48,7 +57,10 @@ function escalationOpenAt(request) {
48
57
  if (seconds === void 0) return;
49
58
  return Date.parse(request.createdAt) + seconds * 1e3;
50
59
  }
51
- /** The instant from which a stage's own `escalation.to` may approve it, in epoch milliseconds; `undefined` when it has none or `after` does not parse. */
60
+ /**
61
+ * The instant from which a stage's own `escalation.to` may approve it, in epoch
62
+ * milliseconds; `undefined` when it has none or `after` does not parse.
63
+ */
52
64
  function stageEscalationOpenAt(request, stage) {
53
65
  const seconds = durationOf(stage.escalation?.after);
54
66
  if (seconds === void 0) return;