permdock 0.7.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 (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-CL-QCITA.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-BLs67P1l.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-Dg5LeAcT.js → approval-prompt-B8hQY69x.js} +5 -6
  14. package/dist/{approval-prompt-K0faOLFp.d.ts → approval-prompt-PYagyQUj.d.ts} +13 -11
  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-3RhGfkAK.js} +2 -2
  20. package/dist/{arazzo-rdeJ8n1J.js → arazzo-B5-ulWif.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-BAkBDMqn.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-DqEoWHBc.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-JDuvxjuW.d.ts → bind-Cp2hBHzP.d.ts} +27 -12
  35. package/dist/{bind-D1nO6fiC.js → bind-D_sZSVA3.js} +22 -10
  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-CNWaYJyr.js} +3 -3
  43. package/dist/{capability-L7NnfhiE.js → capability-BqX94r07.js} +31 -25
  44. package/dist/{capability-D4UC9TTW.d.ts → capability-ChuiONQU.d.ts} +41 -29
  45. package/dist/{casbin-BW9pS47J.js → casbin-H0rKxBx2.js} +16 -8
  46. package/dist/{casbin-BHijLuHY.js → casbin-cbSbhT_k.js} +2 -2
  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-BFpz2EmT.js} +20 -19
  52. package/dist/{catalog-BaMQfQ6Y.js → catalog-DCspHDc8.js} +3 -3
  53. package/dist/{catalog-doc-CV9s6B1S.js → catalog-doc-DjMKzJp9.js} +28 -14
  54. package/dist/{catalog-fingerprint-C144oW4M.js → catalog-fingerprint-e6aCWosn.js} +18 -14
  55. package/dist/catalog-mRQQQhNK.js +1 -0
  56. package/dist/catalog-operations-Dadrl7Z-.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-BFlGMaak.js} +4 -5
  77. package/dist/{codemod-i4N2BhDc.js → codemod-DLQ9Zpo4.js} +3 -4
  78. package/dist/{codemod-BP6n8N9L.js → codemod-DWSN2erG.js} +523 -201
  79. package/dist/collect-B5BL3klN.js +1 -0
  80. package/dist/{collect-BaWeMjwV.js → collect-B7ZFAJU3.js} +26 -63
  81. package/dist/{collect-DNm3oKOk.js → collect-Bzv3le0A.js} +4 -5
  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-BFzysW3o.d.ts} +36 -12
  86. package/dist/{compile-BAEO5bOk.js → compile-EzEMB-7v.js} +77 -33
  87. package/dist/{completion-BNdVf7X2.js → completion-saoYiRFO.js} +17 -8
  88. package/dist/config-BwPBfN0t.js +108 -0
  89. package/dist/{config-DGZzMV1B.js → config-DBeXXmBF.js} +2 -2
  90. package/dist/{config-report-Cm7UITNA.js → config-report-BipSWA6V.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-B5-w6Kw9.js → core-H-mbhpZc.js} +26 -20
  98. package/dist/{core-CQkE8Esr.d.ts → core-hWIARPDz.d.ts} +49 -22
  99. package/dist/{create-UTnUVETj.d.ts → create-BSNrVuxh.d.ts} +70 -37
  100. package/dist/{create-B2-CQqCI.d.ts → create-BVq1lNQE.d.ts} +49 -28
  101. package/dist/{create-QHuuPw3q.d.ts → create-CM1FciYG.d.ts} +37 -29
  102. package/dist/{create-Cb86Z8Im.js → create-Cq4Uox0f.js} +10 -7
  103. package/dist/{create-DJrlhEp9.js → create-_noSrY1T.js} +15 -21
  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-CHNlVInN.d.ts +22 -0
  113. package/dist/{describe-DZlnEtLy.js → describe-Bb4hGK5d.js} +5 -5
  114. package/dist/{describe-O0SwYIK8.d.ts → describe-ByS9LgHK.d.ts} +5 -5
  115. package/dist/{device-BARQ8eYG.js → device-BwbJNmb2.js} +11 -8
  116. package/dist/{diff-Btr1c1Ow.js → diff-CN8IYhC_.js} +2 -2
  117. package/dist/{diff-DzT-xD13.js → diff-iZWV65nC.js} +22 -13
  118. package/dist/{digest-B3kc_PgQ.d.ts → digest-8Yx2CchM.d.ts} +3 -3
  119. package/dist/{doctor-BU1szn63.js → doctor-CHD1M9R5.js} +287 -135
  120. package/dist/{doctor-BoK_y0KO.js → doctor-D3wo-yuz.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-BWXBMaKK.d.ts → errors-CHwoRRpB.d.ts} +4 -1
  127. package/dist/{errors-DpP_U6Bf.js → errors-Vpu6rKHl.js} +13 -10
  128. package/dist/{errors-B_Qg9D3e.d.ts → errors-zi_4T-rx.d.ts} +22 -6
  129. package/dist/{evaluate-B_oqFbWC.js → evaluate-Dd8Ta0Ie.js} +140 -78
  130. package/dist/{evaluations-DReoiVBw.js → evaluations-IBceAeKT.js} +40 -19
  131. package/dist/{evaluations-BCddEOfO.d.ts → evaluations-z8dQFDaN.d.ts} +11 -5
  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-C1DCvpqV.d.ts} +9 -6
  141. package/dist/{fetch-adapter-De-u6vhJ.js → fetch-adapter-JL43jD3E.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-B5kvbAoZ.js +58 -0
  150. package/dist/gen-DWCYcMQM.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-BmjzxQhp.d.ts → hosted-Cmtxogd0.d.ts} +33 -21
  164. package/dist/{hosted-XBgU6RGT.js → hosted-D0IzESu_.js} +42 -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-Bz0GefWg.js → import-CST57XLp.js} +64 -51
  169. package/dist/{import-DB2EG_iy.js → import-_YqhhwvX.js} +6 -6
  170. package/dist/{index-BSfRl0hZ.d.ts → index-B8s204GL.d.ts} +64 -52
  171. package/dist/{index-DH9DUDEM.d.ts → index-BT5-1VsX.d.ts} +54 -30
  172. package/dist/{index-BTkwrK7v.d.ts → index-BW_0MZOS.d.ts} +282 -172
  173. package/dist/{index-CMiPH2Tv.d.ts → index-BhxEUY9J.d.ts} +64 -37
  174. package/dist/{index-DLwcuCN_.d.ts → index-Bv5iXPqU.d.ts} +51 -30
  175. package/dist/{index-BE8y3moU.d.ts → index-_9UiQIkt.d.ts} +127 -82
  176. package/dist/index.d.ts +22 -22
  177. package/dist/index.js +33 -33
  178. package/dist/{init-5TXNji88.js → init-Dz_PsHdv.js} +5 -5
  179. package/dist/{init-B-4t1NzC.js → init-cE3A8aXq.js} +10 -10
  180. package/dist/{instance-options-CU0YQCLH.d.ts → instance-options-B0KXqTrJ.d.ts} +4 -4
  181. package/dist/{instance-snapshot-CjcwnEiV.js → instance-snapshot--JWiTrvO.js} +75 -55
  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-C-fYydV2.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-D-8tMqzo.js} +4 -4
  195. package/dist/{login-WC9HPJpU.js → login-DplQ0s84.js} +16 -9
  196. package/dist/{manifest-Dv6q4i5s.js → manifest-Cgiq5oqc.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-BNWCJtmP.js} +14 -8
  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 +72 -26
  212. package/dist/next/index.js +110 -6
  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-Ddb4628T.js → openapi-BOsx0xn9.js} +33 -18
  223. package/dist/{openapi-DMocl1bh.js → openapi-CBZUhA3l.js} +4 -5
  224. package/dist/{openapi-ztVaux6j.js → openapi-VeHHU2l9.js} +23 -14
  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-files-BHOIlrfD.js +1 -0
  232. package/dist/{output-files-CCMdcFWb.js → output-files-BIQ_9pIs.js} +29 -17
  233. package/dist/{output-DgSDLrta.js → output-tkju6U7R.js} +9 -5
  234. package/dist/ownership-B4L59T9u.js +1054 -0
  235. package/dist/{parse-Ddhz2xf4.js → parse-1_ZheTW5.js} +16 -13
  236. package/dist/parse-local-manifest-BQhTlLQS.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-Dco6dyCK.d.ts → permdock-B6Sf4T_S.d.ts} +253 -129
  245. package/dist/{permdock-BfWEeMqk.js → permdock-L-_I_3zP.js} +59 -35
  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-mDcTWoBs.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-Ba4bDhaj.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-CJgOm6aq.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-CCiDRZBH.d.ts} +738 -349
  259. package/dist/{postgres-store-BL9M_CA1.js → postgres-store-DcyrPS-r.js} +43 -16
  260. package/dist/{postgrest-r5faDIzD.js → postgrest-D4nuPXIQ.js} +52 -33
  261. package/dist/{postgrest-CYacM_u7.d.ts → postgrest-DicQyqm-.d.ts} +54 -35
  262. package/dist/{powersync-53ryOZip.js → powersync-DHNQX06W.js} +127 -69
  263. package/dist/{powersync-13odBwiM.js → powersync-DXqGuq9A.js} +3 -3
  264. package/dist/powersync-Djf-zCpB.js +1 -0
  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-BE7N_Luo.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-DXfq5c2d.d.ts} +1 -1
  280. package/dist/{provider-store-IgqQipCO.js → provider-store-CaTv00tr.js} +13 -9
  281. package/dist/pull-B65ndFNZ.js +1 -0
  282. package/dist/{pull-CN5OLxrF.js → pull-CwpGaQSi.js} +12 -11
  283. package/dist/{push-tVdG8dUL.js → push-DgssgzkK.js} +19 -13
  284. package/dist/{pushed-policy-BbcY9r_4.d.ts → pushed-policy-D1Eoi6NM.d.ts} +12 -6
  285. package/dist/{pushed-policy-CmYeSQqq.js → pushed-policy-ITwYKvvH.js} +10 -7
  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-DNftIb_R.d.ts} +1 -1
  297. package/dist/{request-context-BykKLmyE.js → request-context-C25ilqiJ.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-CF7xXLSG.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-CxBZb4rZ.js → rls-CNEH2_BG.js} +299 -124
  306. package/dist/{rls-Ck_PocSp.js → rls-Ca8Jz9b5.js} +13 -6
  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-fNqAIqQk.js} +8 -5
  310. package/dist/{run-uLD2aWuO.js → run-Bz26OTfO.js} +26 -23
  311. package/dist/run-D-JE8QWb.js +1 -0
  312. package/dist/{run-ticket-BpNi7BCi.d.ts → run-ticket-DbWI9f99.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-iWnUdwCt.js} +42 -29
  316. package/dist/{scan-DSljDE1Y.js → scan-DCj1KQfn.js} +1 -1
  317. package/dist/{schema-B4v0Qrac.js → schema-BOJjqlWL.js} +3 -2
  318. package/dist/{schema-gIcCx7zM.js → schema-Dst9I9Gs.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-CIlpSA2G.d.ts} +81 -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-BEZSlMS_.js → sink-D9_vh372.js} +32 -21
  333. package/dist/{sink-Cp_Eot9W.d.ts → sink-Dvi7YZG_.d.ts} +44 -20
  334. package/dist/{skills-Dcjw9_1C.js → skills-Bjj7BNEQ.js} +12 -8
  335. package/dist/{skills-g_3BS9NC.js → skills-OuoMR49L.js} +3 -3
  336. package/dist/{snapshot-CbGmYiJx.js → snapshot-CXlzi69u.js} +21 -18
  337. package/dist/{snapshot-cache-Pahd3IYJ.d.ts → snapshot-cache-BAXZ0KOp.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-DEEuGb8S.d.ts → sources-B1Os_YUu.d.ts} +126 -53
  344. package/dist/{sources-B-zYB4GS.js → sources-CMAM-2A3.js} +46 -27
  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-DZ0l9UAg.js} +190 -100
  348. package/dist/ssf/index.d.ts +3 -3
  349. package/dist/ssf/index.js +47 -35
  350. package/dist/{standard-webhooks-B_qRg0ws.d.ts → standard-webhooks-C-qX4mJW.d.ts} +7 -7
  351. package/dist/{standard-webhooks-DgFFD-Ga.js → standard-webhooks-D67a3nzk.js} +5 -5
  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-C0Kta5Ft.d.ts +59 -0
  355. package/dist/{stores-BqEuHC05.js → stores-DxZWDXCs.js} +42 -5
  356. package/dist/{stream-CvdUS9V1.js → stream-CDvF0sJm.js} +5 -5
  357. package/dist/{stream-2Vwhl7Er.d.ts → stream-ltuLdtTG.d.ts} +4 -3
  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-BL1qJzzY.js} +79 -35
  367. package/dist/{supabase-Bqp7iIY2.js → supabase-D39cuGPt.js} +3 -3
  368. package/dist/{supabase-hook-Dg0SrQWR.js → supabase-hook-B-yXnzUl.js} +175 -196
  369. package/dist/supabase-hook-H-MtE9Wd.js +1 -0
  370. package/dist/{supautils-MESd81bF.js → supautils-BU-pAEpf.js} +166 -47
  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-DeMNEy6V.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 +224 -141
  394. package/dist/testing/index.js +299 -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-BIPIDa6a.d.ts +50 -0
  407. package/dist/{types-DBHftjgS.d.ts → types-AMJ5qoU_.d.ts} +45 -33
  408. package/dist/{types-CfiKC5aN.d.ts → types-B2mlGuhW.d.ts} +14 -11
  409. package/dist/{types-D3A19w4A.d.ts → types-B4uqKDnp.d.ts} +22 -13
  410. package/dist/{types-CQVEQawv.d.ts → types-BJk0BKRX.d.ts} +24 -14
  411. package/dist/types-B_d_g7T3.d.ts +262 -0
  412. package/dist/{types-DC44-hqb.d.ts → types-B_tiYvk8.d.ts} +59 -32
  413. package/dist/{types-DqzsnlSA.js → types-CcUXciSj.js} +17 -5
  414. package/dist/{types-BWZybqs9.d.ts → types-DC1Loeh3.d.ts} +381 -202
  415. package/dist/{types-CIeZcG8v.d.ts → types-DHKPcqzr.d.ts} +2 -2
  416. package/dist/{types-cTos-H7p.d.ts → types-DjuMBNF9.d.ts} +68 -32
  417. package/dist/{types-CeIscIKp.d.ts → types-HzqOtvsJ.d.ts} +23 -12
  418. package/dist/{types-BXMYB7BY.d.ts → types-ZzRGoViD.d.ts} +77 -24
  419. package/dist/{types-BfVmNJO5.d.ts → types-ah9NlU6j.d.ts} +128 -50
  420. package/dist/{types-DXmwu78Z.d.ts → types-djVzLlIV.d.ts} +31 -14
  421. package/dist/{types-g7Oy6Zg4.d.ts → types-yUuPR5Hy.d.ts} +47 -24
  422. package/dist/unplugin/index.d.ts +1 -1
  423. package/dist/unplugin/index.js +2 -2
  424. package/dist/usage-CYeXek0p.js +1 -0
  425. package/dist/{usage-Bybmck7f.js → usage-CxEzS4ey.js} +50 -26
  426. package/dist/{usage-CDaLXCfL.js → usage-ab0PdusX.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-YGg2mXyH.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-DZeqoWu5.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-Bu9zAlE0.d.ts} +13 -10
  439. package/dist/{waiter-BGUtGYoU.js → waiter-aBLM63_f.js} +1 -1
  440. package/dist/{watch-C-4VmFlL.js → watch-Cx_WciLE.js} +8 -8
  441. package/dist/watch-DB42U1ib.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-rI7dCR9Q.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-DlJE3gS_.d.ts} +8 -5
  452. package/package.json +7 -7
  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 +14 -22
  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
@@ -0,0 +1 @@
1
+ export { i as runSupabase } from "./supabase-hook-B-yXnzUl.js";
@@ -1,20 +1,22 @@
1
- import { c as listPermissions, u as renamedKeys } from "./permission-registry-DpPtSKNZ.js";
2
- import { f as scopeList, s as resolveScope } from "./scopes-BHsc-wp-.js";
3
- import { o as flattenGrantee } from "./grantee-BrRANrpT.js";
4
- import { c as policyLevels } from "./policy-DaJy4nK4.js";
5
- import { a as describeError, i as configError } from "./errors-DpP_U6Bf.js";
6
- import { d as sqlTextArray, i as qualifySqlTable } from "./sql-B96movIM.js";
7
- import "./budget-NbEtbJC_.js";
8
- import { l as roleColumn } from "./sources-B-zYB4GS.js";
1
+ import { c as listPermissions, u as renamedKeys } from "./permission-registry-B8tYxPIt.js";
2
+ import { f as scopeList, s as resolveScope } from "./scopes-0Up_UA2t.js";
3
+ import { o as flattenGrantee } from "./grantee-Dke-9rd1.js";
4
+ import { l as policyLevels } from "./policy-CLQ8__GF.js";
5
+ import { a as describeError, i as configError } from "./errors-Vpu6rKHl.js";
6
+ import { d as sqlTextArray, i as qualifySqlTable } from "./sql-0WjxIp9g.js";
7
+ import "./budget-BELja5A9.js";
8
+ import { l as roleColumn } from "./sources-CMAM-2A3.js";
9
9
  import { t as beforeFirst } from "./text-BMFRfBqc.js";
10
- import { c as parseSplit } from "./output-files-CCMdcFWb.js";
11
- import { x as resolveAuthorize } from "./supabase-hook-Dg0SrQWR.js";
12
- import { A as quoteQualified, C as parseMembershipsFlag, D as qualified, L as tenantTypeOf, O as quoteIdent, a as customRolesOn, j as quoteTable, k as quoteLiteral, t as CUSTOM_ROLES } from "./shared-fMKOv8hP.js";
13
- import { D as byKey, E as byCodeUnit, I as roleNames, M as assignableRoles, T as rolesTableScope, U as graphSqlName, b as tokenScopesPlan, j as apiKeysPlan, ot as checkSuspension, r as unsatisfiedKinds, t as ownershipRules, w as currentKeyExpr } from "./ownership-Z2LpxsGa.js";
10
+ import { c as parseSplit } from "./output-files-BIQ_9pIs.js";
11
+ import { b as resolveAuthorize } from "./supabase-hook-B-yXnzUl.js";
12
+ import { A as quoteQualified, C as parseMembershipsFlag, D as qualified, F as firstScopeType, O as quoteIdent, R as tenantTypeOf, a as customRolesOn, j as quoteTable, k as quoteLiteral, s as signedIn, t as CUSTOM_ROLES } from "./shared-Afctg7B0.js";
13
+ import { G as byKey, H as rolesTableScope, O as tokenScopesPlan, Q as graphSqlName, V as raiseSql, W as byCodeUnit, Y as apiKeysPlan, a as closureDepths, bt as checkSuspension, i as tablelessResources, o as graphPlan, r as tableNames, t as resolveVias, z as currentKeyExpr } from "./tables-DeMNEy6V.js";
14
+ import { o as assignableRoles, r as unsatisfiedKinds, t as ownershipRules, u as roleNames } from "./ownership-B4L59T9u.js";
14
15
  import { t as membershipSourcesOf } from "./sources-qoIJQrJv.js";
15
- import { i as group, o as sqlStatements } from "./deciding-columns-DRo2QM6E.js";
16
- import { c as branchClauses, i as orSql } from "./policies-B2lZIurj.js";
17
- import { d as tableNames, f as tablelessResources, i as graphPlan, l as resolveVias, r as closureDepths, x as tableFor } from "./verify-pe8rL_Qw.js";
16
+ import { i as group, o as sqlStatements } from "./deciding-columns-NB4wcyBf.js";
17
+ import { t as resolveNames } from "./resolve-names-CF7xXLSG.js";
18
+ import { d as orSql, h as branchClauses } from "./fields-D0vUI6dq.js";
19
+ import { m as tableFor } from "./verify-DZeqoWu5.js";
18
20
  //#region src/cli/rls/custom-role-rebuild.ts
19
21
  const PREFIX = "PermDock CLI";
20
22
  /** A column of the roles-table row `r`. */
@@ -24,7 +26,10 @@ function col(name) {
24
26
  function schemaOf(table) {
25
27
  return table.includes(".") ? beforeFirst(table, ".") : "public";
26
28
  }
27
- /** The roles-table column a reference joins on, after checking it points at `roles`. */
29
+ /**
30
+ * The roles-table column a reference joins on, after checking it points at
31
+ * `roles`.
32
+ */
28
33
  function roleRef(role, table, roles, label) {
29
34
  const pairs = Object.entries(role.on);
30
35
  const [pair] = pairs;
@@ -104,9 +109,9 @@ function rebuildPlan(ctx, from, migrate) {
104
109
  const iRef = i === void 0 || iTable === void 0 ? void 0 : roleRef(i.role, i.table, roles, "rls.customRoles.from.includes.role");
105
110
  const included = i === void 0 || iTable === void 0 ? void 0 : sourceSql(i.include, iTable, "rls.customRoles.from.includes.include");
106
111
  const refs = [`${col(pRef.id)} as permissions_ref`, ...iRef === void 0 ? [] : [`${col(iRef.id)} as includes_ref`]].join(", ");
107
- const includeBlock = i === void 0 || iTable === void 0 || iRef === void 0 || included === void 0 ? " v_include := null;" : ` with raw as (
112
+ const includeBlock = (rows) => i === void 0 || iTable === void 0 || iRef === void 0 || included === void 0 || rows === void 0 ? " v_include := null;" : ` with raw as (
108
113
  select ${included} as role
109
- from ${quoteTable(iTable)} x
114
+ from ${rows}
110
115
  where x.${quoteIdent(iRef.ref)} = v.includes_ref
111
116
  ),
112
117
  judged as (
@@ -125,9 +130,9 @@ function rebuildPlan(ctx, from, migrate) {
125
130
  into v_include, v_lost
126
131
  from judged j;
127
132
  v_dropped := v_dropped || coalesce(v_lost, '{}'::text[]);`;
128
- const collect = ` with raw as (
133
+ const permissionsBlock = (rows) => ` with raw as (
129
134
  select ${legacy} as legacy, ${effect} as effect, ${level} as level
130
- from ${quoteTable(pTable)} x
135
+ from ${rows}
131
136
  where x.${quoteIdent(pRef.ref)} = v.permissions_ref
132
137
  ),
133
138
  mapped as (
@@ -147,8 +152,9 @@ function rebuildPlan(ctx, from, migrate) {
147
152
  array_agg(v.role || ': ' || coalesce(j.legacy, 'null') || ', ' || j.dropped) filter (where j.dropped is not null)
148
153
  into v_allow, v_deny, v_lost
149
154
  from judged j;
150
- v_dropped := v_dropped || coalesce(v_lost, '{}'::text[]);
151
- ${includeBlock}`;
155
+ v_dropped := v_dropped || coalesce(v_lost, '{}'::text[]);`;
156
+ const legacyRows = iTable === void 0 ? void 0 : `${quoteTable(iTable)} x`;
157
+ const newRow = "(select new.*) x";
152
158
  return {
153
159
  rolesTable,
154
160
  identity: `select ${tenant} as tenant_id, ${scope} as scope, ${scopeId} as scope_id, ${col(roles.key)}::text as role, ${refs}`,
@@ -156,7 +162,15 @@ ${includeBlock}`;
156
162
  permsRef: pRef,
157
163
  includesRef: iRef,
158
164
  scopes,
159
- collect,
165
+ collect: `${permissionsBlock(`${quoteTable(pTable)} x`)}
166
+ ${includeBlock(legacyRows)}`,
167
+ collectNew: {
168
+ permissions: `${permissionsBlock(newRow)}
169
+ v_include := null;`,
170
+ includes: ` v_allow := null;
171
+ v_deny := null;
172
+ ${includeBlock(newRow)}`
173
+ },
160
174
  replace,
161
175
  perms,
162
176
  includes,
@@ -164,7 +178,10 @@ ${includeBlock}`;
164
178
  roles
165
179
  };
166
180
  }
167
- /** `v_dropped` grouped per legacy role (`role: a, b; other: c`), capped at 50 entries. */
181
+ /**
182
+ * `v_dropped` grouped per legacy role (`role: a, b; other: c`), capped at 50
183
+ * entries.
184
+ */
168
185
  const DROPPED_LIST = `(select string_agg(g.role || ': ' || g.items, '; ' order by g.role)
169
186
  from (
170
187
  select split_part(l.d, ': ', 1) as role, string_agg(substr(l.d, strpos(l.d, ': ') + 2), ', ' order by l.d) as items
@@ -176,14 +193,20 @@ const DROPPED_LIST = `(select string_agg(g.role || ': ' || g.items, '; ' order b
176
193
  /**
177
194
  * `rls.customRoles.from.sync: 'trigger'`: after-row triggers on the legacy
178
195
  * permissions table, and on the includes table when mapped, rebuild each
179
- * affected role through `permdock_trusted_replace_custom_role_grants`, with
180
- * the same reads the backfill uses. An entry outside the ceiling is dropped
181
- * with a warning rather than aborting the legacy write, and a tenant role
182
- * whose name a shared role holds is skipped with a warning (`name-taken`).
196
+ * affected role through `permdock_trusted_replace_custom_role_grants`, with the
197
+ * same reads the backfill uses. An entry outside the ceiling is dropped with a
198
+ * warning rather than aborting the legacy write, and a tenant role whose name a
199
+ * shared role holds is skipped with a warning (`name-taken`). Before-row
200
+ * triggers hold a signed-in caller at trigger depth 1 to the checks of
201
+ * `permdock_replace_custom_role_grants`: `permdock_custom_role_guard` on each
202
+ * role the row names, then `permdock_custom_role_beyond` on the entry it adds;
203
+ * a refusal aborts the write.
183
204
  */
184
205
  function customRoleSyncSql(ctx, from, migrate) {
185
206
  const plan = rebuildPlan(ctx, from, migrate);
186
207
  const shared = qualified(ctx, CUSTOM_ROLES.shared);
208
+ const guard = qualified(ctx, CUSTOM_ROLES.guard);
209
+ const beyond = qualified(ctx, CUSTOM_ROLES.beyond);
187
210
  const keepIncludes = plan.includesRef === void 0 ? `
188
211
  v_include := array(select c.include_role from ${plan.includes} c where c.tenant_id is not distinct from v.tenant_id and c.scope = v.scope and c.scope_id is not distinct from v.scope_id and c.role = v.role);` : "";
189
212
  const one = (name, table, ref) => {
@@ -238,13 +261,80 @@ create trigger ${quoteIdent(trigger)}
238
261
  after insert or update or delete on ${target}
239
262
  for each row execute function ${fn}();`;
240
263
  };
241
- const chunks = [`-- rls.customRoles.from.sync: a write to the application's role tables rebuilds the role's PermDock grants`, one("permissions", from.permissions.table, plan.permsRef)];
242
- if (from.includes !== void 0 && plan.includesRef !== void 0) chunks.push(one("includes", from.includes.table, plan.includesRef));
264
+ const guardOne = (name, table, ref) => {
265
+ const fn = qualified(ctx, `${CUSTOM_ROLES.syncGuard}_${name}`);
266
+ const target = quoteTable(qualifySqlTable(table));
267
+ const trigger = `${CUSTOM_ROLES.syncGuard}_${name}`;
268
+ return `create or replace function ${fn}()
269
+ returns trigger
270
+ language plpgsql
271
+ volatile
272
+ security definer
273
+ set search_path = ''
274
+ as $$
275
+ declare
276
+ v record;
277
+ v_allow text[];
278
+ v_deny text[];
279
+ v_include text[];
280
+ v_lost text[];
281
+ v_dropped text[];
282
+ v_beyond text;
283
+ v_refs text[] := array[
284
+ case when tg_op <> 'INSERT' then old.${quoteIdent(ref.ref)}::text end,
285
+ case when tg_op <> 'DELETE' then new.${quoteIdent(ref.ref)}::text end
286
+ ];
287
+ begin
288
+ if not (${signedIn(ctx)} and pg_trigger_depth() = 1) then
289
+ return coalesce(new, old);
290
+ end if;
291
+ for v in
292
+ ${plan.identity}
293
+ from ${plan.rolesTable} r
294
+ where ${plan.eligible} and r.${quoteIdent(ref.id)}::text = any(v_refs)
295
+ loop
296
+ if v.role is null or not (v.scope = 'global' or v.scope = any(${plan.scopes})) then
297
+ continue;
298
+ end if;
299
+ if v.tenant_id is not null and ${shared}(v.scope, v.role) then
300
+ continue;
301
+ end if;
302
+ perform ${guard}(v.tenant_id, v.scope, v.scope_id, v.role);
303
+ if tg_op = 'DELETE' then
304
+ continue;
305
+ end if;
306
+ v_dropped := '{}'::text[];
307
+ ${plan.collectNew[name]}
308
+ select string_agg(b, ', ' order by b) into v_beyond
309
+ from ${beyond}(v.tenant_id, v.scope, v.scope_id, v_allow, v_deny, v_include) b;
310
+ if v_beyond is not null then
311
+ ${raiseSql(" ", "42501", `'permdock: ' || v.role || ' would allow ' || v_beyond || ', which the caller may not hand out'`, "not-assignable-by")}
312
+ end if;
313
+ end loop;
314
+ return coalesce(new, old);
315
+ end;
316
+ $$;
317
+ revoke execute on function ${fn}() from public, anon, authenticated;
318
+ drop trigger if exists ${quoteIdent(trigger)} on ${target};
319
+ create trigger ${quoteIdent(trigger)}
320
+ before insert or update or delete on ${target}
321
+ for each row execute function ${fn}();`;
322
+ };
323
+ const chunks = [
324
+ `-- rls.customRoles.from.sync: a write to the application's role tables rebuilds the role's PermDock grants`,
325
+ one("permissions", from.permissions.table, plan.permsRef),
326
+ `-- a signed-in caller writes only what the guarded replace would accept`,
327
+ guardOne("permissions", from.permissions.table, plan.permsRef)
328
+ ];
329
+ if (from.includes !== void 0 && plan.includesRef !== void 0) chunks.push(one("includes", from.includes.table, plan.includesRef), guardOne("includes", from.includes.table, plan.includesRef));
243
330
  return `${chunks.join("\n\n")}\n`;
244
331
  }
245
332
  //#endregion
246
333
  //#region src/cli/rls/generate-context.ts
247
- /** The scopes an `rls.migrate` `role` helper names, so `rls generate` writes their role-filtered member helper. */
334
+ /**
335
+ * The scopes an `rls.migrate` `role` helper names, so `rls generate` writes
336
+ * their role-filtered member helper.
337
+ */
248
338
  function roleMemberScopesOf(migrate) {
249
339
  const scopes = [...new Set(Object.values(migrate?.helpers ?? {}).flatMap((helper) => helper.form === "role" ? [helper.scope] : []))].toSorted();
250
340
  return scopes.length === 0 ? {} : { roleMemberScopes: scopes };
@@ -285,7 +375,10 @@ function skippedOwnershipTriggers(triggers, scopes) {
285
375
  return name;
286
376
  });
287
377
  }
288
- /** The SQL context every emitter reads, from the flags, `rls` config and the policy. */
378
+ /**
379
+ * The SQL context every emitter reads, from the flags, `rls` config and the
380
+ * policy.
381
+ */
289
382
  function buildContext(input, policy, options) {
290
383
  const rls = input.config.rls;
291
384
  const memberships = parseMembershipsFlag(input.memberships) ?? rls?.memberships;
@@ -342,8 +435,7 @@ function buildContext(input, policy, options) {
342
435
  schema,
343
436
  authorize,
344
437
  roleClaim: rls?.roleClaim ?? "user_role",
345
- tenantType: input.tenantType ?? rls?.tenantType ?? "uuid",
346
- ...rls?.teamType === void 0 ? {} : { teamType: rls.teamType },
438
+ tenantType: input.tenantType ?? firstScopeType(rls?.scopeTypes, scopes),
347
439
  ...rls?.scopeTypes === void 0 ? {} : { scopeTypes: rls.scopeTypes },
348
440
  ...memberships === void 0 ? {} : { memberships },
349
441
  ...sources === void 0 || sources.length === 0 ? {} : { sources },
@@ -388,8 +480,14 @@ function buildContext(input, policy, options) {
388
480
  }
389
481
  const [unsatisfied] = unsatisfiedKinds(ctx, policy);
390
482
  if (unsatisfied !== void 0) return { refusal: `role ${unsatisfied.role} is for ${unsatisfied.for.join(", ")}, but its membership sources hold ${unsatisfied.sources.join(", ")}: no membership can hold it; set via on a source to one of those kinds` };
483
+ const names = resolveNames(policy, input.config, {
484
+ schema,
485
+ gucPrefix: ctx.gucPrefix,
486
+ tenantClaim: ctx.tenantClaim
487
+ });
391
488
  return {
392
489
  ctx,
490
+ names,
393
491
  graph,
394
492
  ownership,
395
493
  schema,
@@ -413,21 +511,30 @@ function generateOptions(input) {
413
511
  revokeColumns
414
512
  };
415
513
  }
416
- /** Whether `--split` names `part`, which then leaves the helpers or the warnings. */
514
+ /**
515
+ * Whether `--split` names `part`, which then leaves the helpers or the
516
+ * warnings.
517
+ */
417
518
  function splitsPart(raw, part) {
418
519
  const split = parseSplit(raw);
419
520
  return typeof split !== "string" && split?.includes(part) === true;
420
521
  }
421
522
  //#endregion
422
523
  //#region src/cli/rls/rows.ts
423
- /** `permitted_<resource>_rows(p_permission)`: the resource's row ids the subject may act on with one permission. */
524
+ /**
525
+ * `permitted_<resource>_rows(p_permission)`: the resource's row ids the subject
526
+ * may act on with one permission.
527
+ */
424
528
  function rowsHelper(resource) {
425
529
  const name = graphSqlName(resource);
426
530
  const helper = `permitted_${name ?? resource}_rows`;
427
531
  if (name === void 0 || new TextEncoder().encode(`${helper}_for`).length > 63) throw configError(`PermDock CLI: rls.rowHelpers cannot name a helper for resource '${resource}'; use a SQL name of at most 45 bytes`);
428
532
  return helper;
429
533
  }
430
- /** Every declared `<permission>@<level>` of an instance permission on a resource with levels. */
534
+ /**
535
+ * Every declared `<permission>@<level>` of an instance permission on a resource
536
+ * with levels.
537
+ */
431
538
  function levelKeys(policy) {
432
539
  const out = [];
433
540
  for (const leaf of listPermissions(policy.vocabulary.permissions)) {
@@ -441,7 +548,10 @@ function levelKeys(policy) {
441
548
  }
442
549
  return out;
443
550
  }
444
- /** The branches a row check of a permission reads: its allows and denies, inserts included, for signed-in callers. */
551
+ /**
552
+ * The branches a row check of a permission reads: its allows and denies,
553
+ * inserts included, for signed-in callers.
554
+ */
445
555
  function rowBranchesOf(branches, resource) {
446
556
  const out = /* @__PURE__ */ new Map();
447
557
  for (const branch of branches) {
@@ -450,7 +560,10 @@ function rowBranchesOf(branches, resource) {
450
560
  }
451
561
  return out;
452
562
  }
453
- /** What a branch asks of a row: the `with check` of an insert, which sees the new row, the `using` of every other command. */
563
+ /**
564
+ * What a branch asks of a row: the `with check` of an insert, which sees the
565
+ * new row, the `using` of every other command.
566
+ */
454
567
  function clauseOf(branch) {
455
568
  const clauses = branchClauses(branch);
456
569
  return (branch.command === "insert" ? clauses.check : clauses.using) ?? "true";
@@ -573,9 +686,9 @@ ${rowSql(ctx, name, table, where)}`;
573
686
  ${forUserSql(ctx, qualified(ctx, `${name}_for`), fn)}`;
574
687
  }
575
688
  /**
576
- * `permitted_<resource>_rows(p_permission)` for each resource `select`
577
- * names (or every resource a grant reaches with `true`): the ids of its rows
578
- * the caller may read, update or delete with that permission, from the same
689
+ * `permitted_<resource>_rows(p_permission)` for each resource `select` names
690
+ * (or every resource a grant reaches with `true`): the ids of its rows the
691
+ * caller may read, update or delete with that permission, from the same
579
692
  * compiled allows and denies the table policies use, so closure walks, link
580
693
  * hops, the restricted stop, `includes`, groups and `requires` all apply. A
581
694
  * `security definer` helper, so hand-written policies and functions call it
@@ -598,7 +711,10 @@ function rowHelpersSql(ctx, policy, branches, select, tables, warnings) {
598
711
  }
599
712
  //#endregion
600
713
  //#region src/cli/sql/supautils.ts
601
- /** `supautils.reserved_roles` of supabase/postgres 17.11.0.002 (supautils 3.4.4). */
714
+ /**
715
+ * `supautils.reserved_roles` of supabase/postgres 17.11.0.002 (supautils
716
+ * 3.4.4).
717
+ */
602
718
  const RESERVED_ROLES = /* @__PURE__ */ new Set([
603
719
  "supabase_admin",
604
720
  "supabase_auth_admin",
@@ -615,7 +731,10 @@ const RESERVED_ROLES = /* @__PURE__ */ new Set([
615
731
  "authenticated",
616
732
  "anon"
617
733
  ]);
618
- /** The `*` entries of `reserved_roles`: `postgres` may still `set` or `reset` their settings. */
734
+ /**
735
+ * The `*` entries of `reserved_roles`: `postgres` may still `set` or `reset`
736
+ * their settings.
737
+ */
619
738
  const CONFIGURABLE_ROLES = /* @__PURE__ */ new Set([
620
739
  "service_role",
621
740
  "authenticator",
@@ -672,9 +791,9 @@ function rejection(text) {
672
791
  return role === void 0 ? void 0 : `grants membership in the reserved role ${role}`;
673
792
  }
674
793
  /**
675
- * The statements of `sql` that supautils rejects for a non-superuser:
676
- * changing or dropping a reserved role, other than `set` or `reset` on the
677
- * four API roles, and granting a reserved membership.
794
+ * The statements of `sql` that supautils rejects for a non-superuser: changing
795
+ * or dropping a reserved role, other than `set` or `reset` on the four API
796
+ * roles, and granting a reserved membership.
678
797
  */
679
798
  function supautilsRejections(sql) {
680
799
  return sqlStatements(sql).flatMap(({ line, text }) => {
@@ -1,12 +1,12 @@
1
1
  import { t as compact } from "./compact-CAf557ZB.js";
2
- import { n as freezeDeep } from "./freeze-CrU8nQeX.js";
3
- import { a as ownRecord } from "./paths-DXSHAMIa.js";
4
- import { a as isId, r as idList } from "./expiry-D4_YKRKD.js";
5
- import { n as internalsOf } from "./internals-Dk8A8fX3.js";
6
- import { c as listPermissions, m as annotationsFor, n as findPermission } from "./permission-registry-DpPtSKNZ.js";
7
- import { g as secondsOf, l as isRfc3339, m as rfc3339, p as nowSeconds } from "./time-DkWjdL98.js";
2
+ import { n as freezeDeep } from "./freeze-jjan0lCv.js";
3
+ import { a as ownRecord } from "./paths-CUvURzHp.js";
4
+ import { a as isId, r as idList } from "./expiry-6XByK0dm.js";
5
+ import { n as internalsOf } from "./internals-B3IgHrvo.js";
6
+ import { c as listPermissions, m as annotationsFor, n as findPermission } from "./permission-registry-B8tYxPIt.js";
7
+ import { g as secondsOf, l as isRfc3339, m as rfc3339, p as nowSeconds } from "./time-nR1JesoH.js";
8
8
  import { t as canonicalJson } from "./canonical-json-DwilZ1iB.js";
9
- import { r as sha256Digest } from "./sha256-D9ihqmvd.js";
9
+ import { r as sha256Digest } from "./sha256-C-4WXKIu.js";
10
10
  //#region src/core/support-session.ts
11
11
  const DEFAULT_TTL = 3600;
12
12
  const MAX_TTL = 86400;
@@ -15,8 +15,8 @@ function isReason(value) {
15
15
  return typeof value === "string" && value.trim().length > 0 && value.length <= MAX_REASON;
16
16
  }
17
17
  /**
18
- * Validates an untrusted support-session record and returns a frozen copy
19
- * with only the v1 fields, or `undefined`.
18
+ * Validates an untrusted support-session record and returns a frozen copy with
19
+ * only the v1 fields, or `undefined`.
20
20
  */
21
21
  function parseSupportSession(input) {
22
22
  const value = ownRecord(input);
@@ -62,21 +62,21 @@ function sessionToken(request, actor, tenant, permissions, ttl) {
62
62
  }));
63
63
  }
64
64
  /**
65
- * Decides whether the subject of `permdock` may start the support session
66
- * in `request`. The actor must be a signed-in person acting for themselves
65
+ * Decides whether the subject of `permdock` may start the support session in
66
+ * `request`. The actor must be a signed-in person acting for themselves
67
67
  * (`exceeds-creator` otherwise), give a `reason` (`reason-required`), be a
68
- * member of the tenant (`tenant-mismatch`) and be able to use every
69
- * permission (`exceeds-creator`). Without `permissions` the session gets the
70
- * actor's read-only permissions. The tenant's `supportSessions` policy then
71
- * applies, and the result is `approval-required` until `approved` carries
72
- * its token and `approvedBy` names someone other than the actor.
68
+ * member of the tenant (`tenant-mismatch`) and be able to use every permission
69
+ * (`exceeds-creator`). Without `permissions` the session gets the actor's
70
+ * read-only permissions. The tenant's `supportSessions` policy then applies,
71
+ * and the result is `approval-required` until `approved` carries its token and
72
+ * `approvedBy` names someone other than the actor.
73
73
  */
74
74
  /**
75
- * Decides whether the subject of `permdock` may start the support session
76
- * in `request` and returns the record to sign: a stated reason, membership
77
- * of the tenant, the actor's own reach, the tenant's `supportSessions`
78
- * policy and approval by someone else. An instance built from a snapshot
79
- * denies with `unsupported`.
75
+ * Decides whether the subject of `permdock` may start the support session in
76
+ * `request` and returns the record to sign: a stated reason, membership of the
77
+ * tenant, the actor's own reach, the tenant's `supportSessions` policy and
78
+ * approval by someone else. An instance built from a snapshot denies with
79
+ * `unsupported`.
80
80
  */
81
81
  function decideSupportSession(permdock, request, options = {}) {
82
82
  const internals = internalsOf(permdock);
@@ -1,10 +1,6 @@
1
1
  <script lang="ts">
2
- import {
3
- boundaryDigest,
4
- boundaryFallback,
5
- type PermissionBoundaryProps,
6
- type PermissionBoundaryState,
7
- } from './runtime.js';
2
+ import { boundaryDigest, boundaryFallback } from './runtime.js';
3
+ import type { PermissionBoundaryProps, PermissionBoundaryState } from './runtime.ts';
8
4
 
9
5
  let { children, denied, approval }: PermissionBoundaryProps = $props();
10
6
 
@@ -1,14 +1,8 @@
1
1
  <script lang="ts">
2
2
  import { onDestroy } from 'svelte';
3
3
 
4
- import {
5
- getStore,
6
- getUi,
7
- scopedFor,
8
- slotContent,
9
- viewFor,
10
- type ProtectedProps,
11
- } from './runtime.js';
4
+ import { getStore, getUi, scopedFor, slotContent, viewFor } from './runtime.js';
5
+ import type { ProtectedProps } from './runtime.ts';
12
6
 
13
7
  let {
14
8
  permission,
@@ -1,13 +1,14 @@
1
- import { n as requiredPlans } from "../problem-details-Tcfmj3bV.js";
2
- import { i as describe } from "../describe-O0SwYIK8.js";
3
- import { t as PermissionBoundaryState } from "../boundary-BmHxVH1J.js";
4
- import { t as approvalHeaders } from "../headers-CIbDTUTK.js";
5
- import { a as FilterResult, c as PermissionSet, d as RolesOptions, f as SubjectView, i as ClientStatus, l as PermissionState, n as ApprovalState, p as TenantView, r as ClientPermDock, t as ApprovalHandle } from "../types-CKV71kKh.js";
6
- import { n as SveltePermDockOptions, o as PermissionBoundaryProps, r as ProtectedProps, t as PermDockDefaults } from "../types-DXmwu78Z.js";
7
- import { a as getDescribe, c as permission, d as setPermDock, f as subject, i as filtered, l as permissions, n as assignable, o as getPermDock, p as tenant, r as assignablePermissions, s as memberships, t as approval, u as roles } from "../stores-BAZwSYZA.js";
1
+ import { c as requiredPlans } from "../errors-zi_4T-rx.js";
2
+ import { i as describe } from "../describe-ByS9LgHK.js";
3
+ import { t as PermissionBoundaryState } from "../boundary-C9ck-3uK.js";
4
+ import { n as ProtectedAction, t as ActionResult } from "../action-result-CL-QCITA.js";
5
+ import { t as approvalHeaders } from "../headers-B9jQxjtW.js";
6
+ import { a as FilterResult, b as eventSourceRefresh, c as PermissionSet, d as ProtectedActionView, h as TenantView, i as ClientStatus, l as PermissionState, m as SubjectView, n as ApprovalState, o as GateMode, p as RolesOptions, r as ClientPermDock, s as GateView, t as ApprovalHandle, v as EventSourceRefreshOptions, y as RefreshTrigger } from "../types-B_d_g7T3.js";
7
+ import { i as ProtectedProps, n as ProtectedActionReadable, r as SveltePermDockOptions, s as PermissionBoundaryProps, t as PermDockDefaults } from "../types-djVzLlIV.js";
8
+ import { a as gate, c as memberships, d as protectedAction, f as roles, h as tenant, i as filtered, l as permission, m as subject, n as assignable, o as getDescribe, p as setPermDock, r as assignablePermissions, s as getPermDock, t as approval, u as permissions } from "../stores-C0Kta5Ft.js";
8
9
  import { Component } from "svelte";
9
10
  //#region src/svelte/index.d.ts
10
11
  export declare const Protected: Component<ProtectedProps>;
11
12
  export declare const PermissionBoundary: Component<PermissionBoundaryProps>;
12
13
  //#endregion
13
- export { type ApprovalHandle, type ApprovalState, type ClientPermDock, type ClientStatus, type FilterResult, type PermDockDefaults, type PermissionBoundaryProps, type PermissionBoundaryState, type PermissionSet, type PermissionState, type ProtectedProps, type RolesOptions, type SubjectView, type SveltePermDockOptions, type TenantView, approval, approvalHeaders, assignable, assignablePermissions, describe, filtered, getDescribe, getPermDock, memberships, permission, permissions, requiredPlans, roles, setPermDock, subject, tenant };
14
+ export { type ActionResult, type ApprovalHandle, type ApprovalState, type ClientPermDock, type ClientStatus, type EventSourceRefreshOptions, type FilterResult, type GateMode, type GateView, type PermDockDefaults, type PermissionBoundaryProps, type PermissionBoundaryState, type PermissionSet, type PermissionState, type ProtectedAction, type ProtectedActionReadable, type ProtectedActionView, type ProtectedProps, type RefreshTrigger, type RolesOptions, type SubjectView, type SveltePermDockOptions, type TenantView, approval, approvalHeaders, assignable, assignablePermissions, describe, eventSourceRefresh, filtered, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant };
@@ -1,11 +1,12 @@
1
- import { r as requiredPlans } from "../problem-details-cn5X30gZ.js";
2
- import { t as describe } from "../describe-DZlnEtLy.js";
3
- import { n as boundaryFallback, t as boundaryDigest } from "../boundary-BM8a_P6E.js";
4
- import { t as approvalHeaders } from "../headers-BIjfMaoC.js";
5
- import { u as slotContent } from "../views-BB8E9dTP.js";
6
- import { n as getUi, t as getStore } from "../context--uM9V3Ui.js";
7
- import { n as viewFor, t as scopedFor } from "../runtime-Vif3_-zf.js";
8
- import { a as getDescribe, c as permission, d as setPermDock, f as subject, i as filtered, l as permissions, n as assignable, o as getPermDock, p as tenant, r as assignablePermissions, s as memberships, t as approval, u as roles } from "../stores-BqEuHC05.js";
1
+ import { r as requiredPlans } from "../problem-details-CLDgX1KV.js";
2
+ import { n as describe } from "../describe-Bb4hGK5d.js";
3
+ import { n as boundaryFallback, t as boundaryDigest } from "../boundary-BV3O1eud.js";
4
+ import { r as approvalHeaders } from "../protected-action-DUYqb-Ma.js";
5
+ import { u as slotContent } from "../views-CD8wuL4Z.js";
6
+ import { r as eventSourceRefresh } from "../store-options-Dil3lraY.js";
7
+ import { n as getUi, t as getStore } from "../context-BnIzxTNE.js";
8
+ import { n as viewFor, t as scopedFor } from "../runtime-BGnrOkVH.js";
9
+ import { a as gate, c as memberships, d as protectedAction, f as roles, h as tenant, i as filtered, l as permission, m as subject, n as assignable, o as getDescribe, p as setPermDock, r as assignablePermissions, s as getPermDock, t as approval, u as permissions } from "../stores-DxZWDXCs.js";
9
10
  import "svelte/internal/disclose-version";
10
11
  import * as $ from "svelte/internal/client";
11
12
  import { onDestroy } from "svelte";
@@ -118,4 +119,4 @@ function Protected$1($$anchor, $$props) {
118
119
  const Protected = Protected$1;
119
120
  const PermissionBoundary = PermissionBoundary$1;
120
121
  //#endregion
121
- export { PermissionBoundary, Protected, approval, approvalHeaders, assignable, assignablePermissions, describe, filtered, getDescribe, getPermDock, memberships, permission, permissions, requiredPlans, roles, setPermDock, subject, tenant };
122
+ export { PermissionBoundary, Protected, approval, approvalHeaders, assignable, assignablePermissions, describe, eventSourceRefresh, filtered, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant };
@@ -1,7 +1,7 @@
1
- import { n as DescribeMessages } from "../describe-O0SwYIK8.js";
2
- import { n as boundaryDigest, r as boundaryFallback, t as PermissionBoundaryState } from "../boundary-BmHxVH1J.js";
3
- import { m as ClientStore } from "../types-CKV71kKh.js";
4
- import { a as viewFor, i as scopedFor, o as PermissionBoundaryProps, r as ProtectedProps, s as slotContent, t as PermDockDefaults } from "../types-DXmwu78Z.js";
1
+ import { n as DescribeMessages } from "../describe-ByS9LgHK.js";
2
+ import { n as boundaryDigest, r as boundaryFallback, t as PermissionBoundaryState } from "../boundary-C9ck-3uK.js";
3
+ import { g as ClientStore } from "../types-B_d_g7T3.js";
4
+ import { a as scopedFor, c as slotContent, i as ProtectedProps, o as viewFor, s as PermissionBoundaryProps, t as PermDockDefaults } from "../types-djVzLlIV.js";
5
5
  //#region src/svelte/context.d.ts
6
6
  /** The provider's `defaults` and `messages`. */
7
7
  type PermDockUi = {
@@ -1,5 +1,5 @@
1
- import { n as boundaryFallback, t as boundaryDigest } from "../boundary-BM8a_P6E.js";
2
- import { u as slotContent } from "../views-BB8E9dTP.js";
3
- import { n as getUi, t as getStore } from "../context--uM9V3Ui.js";
4
- import { n as viewFor, t as scopedFor } from "../runtime-Vif3_-zf.js";
1
+ import { n as boundaryFallback, t as boundaryDigest } from "../boundary-BV3O1eud.js";
2
+ import { u as slotContent } from "../views-CD8wuL4Z.js";
3
+ import { n as getUi, t as getStore } from "../context-BnIzxTNE.js";
4
+ import { n as viewFor, t as scopedFor } from "../runtime-BGnrOkVH.js";
5
5
  export { boundaryDigest, boundaryFallback, getStore, getUi, scopedFor, slotContent, viewFor };
@@ -1,13 +1,14 @@
1
- import { n as requiredPlans } from "../problem-details-Tcfmj3bV.js";
2
- import { i as describe } from "../describe-O0SwYIK8.js";
3
- import { t as PermissionBoundaryState } from "../boundary-BmHxVH1J.js";
4
- import { t as approvalHeaders } from "../headers-CIbDTUTK.js";
5
- import { a as FilterResult, c as PermissionSet, d as RolesOptions, f as SubjectView, i as ClientStatus, l as PermissionState, n as ApprovalState, p as TenantView, r as ClientPermDock, t as ApprovalHandle } from "../types-CKV71kKh.js";
6
- import { n as SveltePermDockOptions, o as PermissionBoundaryProps, r as ProtectedProps, t as PermDockDefaults } from "../types-DXmwu78Z.js";
7
- import { a as getDescribe, c as permission, d as setPermDock, f as subject, i as filtered, l as permissions, n as assignable, o as getPermDock, p as tenant, r as assignablePermissions, s as memberships, t as approval, u as roles } from "../stores-BAZwSYZA.js";
1
+ import { c as requiredPlans } from "../errors-zi_4T-rx.js";
2
+ import { i as describe } from "../describe-ByS9LgHK.js";
3
+ import { t as PermissionBoundaryState } from "../boundary-C9ck-3uK.js";
4
+ import { n as ProtectedAction, t as ActionResult } from "../action-result-CL-QCITA.js";
5
+ import { t as approvalHeaders } from "../headers-B9jQxjtW.js";
6
+ import { a as FilterResult, b as eventSourceRefresh, c as PermissionSet, d as ProtectedActionView, h as TenantView, i as ClientStatus, l as PermissionState, m as SubjectView, n as ApprovalState, o as GateMode, p as RolesOptions, r as ClientPermDock, s as GateView, t as ApprovalHandle, v as EventSourceRefreshOptions, y as RefreshTrigger } from "../types-B_d_g7T3.js";
7
+ import { i as ProtectedProps, n as ProtectedActionReadable, r as SveltePermDockOptions, s as PermissionBoundaryProps, t as PermDockDefaults } from "../types-djVzLlIV.js";
8
+ import { a as gate, c as memberships, d as protectedAction, f as roles, h as tenant, i as filtered, l as permission, m as subject, n as assignable, o as getDescribe, p as setPermDock, r as assignablePermissions, s as getPermDock, t as approval, u as permissions } from "../stores-C0Kta5Ft.js";
8
9
  import { Component } from "svelte";
9
10
  //#region src/svelte/source.d.ts
10
11
  export declare const Protected: Component<ProtectedProps>;
11
12
  export declare const PermissionBoundary: Component<PermissionBoundaryProps>;
12
13
  //#endregion
13
- export { type ApprovalHandle, type ApprovalState, type ClientPermDock, type ClientStatus, type FilterResult, type PermDockDefaults, type PermissionBoundaryProps, type PermissionBoundaryState, type PermissionSet, type PermissionState, type ProtectedProps, type RolesOptions, type SubjectView, type SveltePermDockOptions, type TenantView, approval, approvalHeaders, assignable, assignablePermissions, describe, filtered, getDescribe, getPermDock, memberships, permission, permissions, requiredPlans, roles, setPermDock, subject, tenant };
14
+ export { type ActionResult, type ApprovalHandle, type ApprovalState, type ClientPermDock, type ClientStatus, type EventSourceRefreshOptions, type FilterResult, type GateMode, type GateView, type PermDockDefaults, type PermissionBoundaryProps, type PermissionBoundaryState, type PermissionSet, type PermissionState, type ProtectedAction, type ProtectedActionReadable, type ProtectedActionView, type ProtectedProps, type RefreshTrigger, type RolesOptions, type SubjectView, type SveltePermDockOptions, type TenantView, approval, approvalHeaders, assignable, assignablePermissions, describe, eventSourceRefresh, filtered, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant };
@@ -1,11 +1,12 @@
1
- import { r as requiredPlans } from "../problem-details-cn5X30gZ.js";
2
- import { t as describe } from "../describe-DZlnEtLy.js";
3
- import { t as approvalHeaders } from "../headers-BIjfMaoC.js";
4
- import { a as getDescribe, c as permission, d as setPermDock, f as subject, i as filtered, l as permissions, n as assignable, o as getPermDock, p as tenant, r as assignablePermissions, s as memberships, t as approval, u as roles } from "../stores-BqEuHC05.js";
1
+ import { r as requiredPlans } from "../problem-details-CLDgX1KV.js";
2
+ import { n as describe } from "../describe-Bb4hGK5d.js";
3
+ import { r as approvalHeaders } from "../protected-action-DUYqb-Ma.js";
4
+ import { r as eventSourceRefresh } from "../store-options-Dil3lraY.js";
5
+ import { a as gate, c as memberships, d as protectedAction, f as roles, h as tenant, i as filtered, l as permission, m as subject, n as assignable, o as getDescribe, p as setPermDock, r as assignablePermissions, s as getPermDock, t as approval, u as permissions } from "../stores-DxZWDXCs.js";
5
6
  import PermissionBoundaryComponent from "./PermissionBoundary.svelte";
6
7
  import ProtectedComponent from "./Protected.svelte";
7
8
  //#region src/svelte/source.ts
8
9
  const Protected = ProtectedComponent;
9
10
  const PermissionBoundary = PermissionBoundaryComponent;
10
11
  //#endregion
11
- export { PermissionBoundary, Protected, approval, approvalHeaders, assignable, assignablePermissions, describe, filtered, getDescribe, getPermDock, memberships, permission, permissions, requiredPlans, roles, setPermDock, subject, tenant };
12
+ export { PermissionBoundary, Protected, approval, approvalHeaders, assignable, assignablePermissions, describe, eventSourceRefresh, filtered, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant };