permdock 0.16.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/dist/a2a/index.d.ts +4 -4
  2. package/dist/a2a/index.js +3 -3
  3. package/dist/{adapter-context-CIQpQxbE.js → adapter-context-OHikyRqV.js} +1 -1
  4. package/dist/{adoption-scan-C2BCiUEG.js → adoption-scan-Ci0xiJ3T.js} +1 -1
  5. package/dist/agent/index.d.ts +2 -2
  6. package/dist/agent/index.js +1 -1
  7. package/dist/ai-sdk/index.d.ts +3 -3
  8. package/dist/ai-sdk/index.js +3 -3
  9. package/dist/approval-normalize-4KxMRdJC.js +189 -0
  10. package/dist/approval-policies-9VagPixq.d.ts +138 -0
  11. package/dist/{approval-prompt-3BqWczTt.d.ts → approval-prompt-BSh-yxbH.d.ts} +1 -1
  12. package/dist/approvals/index.d.ts +5 -4
  13. package/dist/approvals/index.js +7 -6
  14. package/dist/{approvals-DnIBTuXE.js → approvals-DdFcTncq.js} +3 -3
  15. package/dist/{approvers-B4r0N_Uz.js → approvers-CNtl4Vc5.js} +22 -1
  16. package/dist/{arazzo-CHoYnQXO.js → arazzo-7kbeh1yi.js} +2 -2
  17. package/dist/{arazzo-ClYz2Z0W.js → arazzo-_zUmT8ZT.js} +4 -4
  18. package/dist/{args-0FrVs5EH.js → args-iafbHiXn.js} +2 -5
  19. package/dist/astro/index.d.ts +4 -4
  20. package/dist/astro/index.js +2 -2
  21. package/dist/{audience-DTjR8xet.js → audience-jRO819i3.js} +1 -1
  22. package/dist/{auth--yPyZNgr.js → auth-j3Eu-j4h.js} +1 -1
  23. package/dist/authz-topic-Dbc-HDOS.js +15 -0
  24. package/dist/authzen/index.d.ts +5 -5
  25. package/dist/authzen/index.js +2 -2
  26. package/dist/{automation-C6Jg75xq.d.ts → automation-DCWuVKtd.d.ts} +1 -1
  27. package/dist/better-auth/index.d.ts +1 -1
  28. package/dist/better-auth/index.js +10 -8
  29. package/dist/better-supabase/index.d.ts +273 -38
  30. package/dist/better-supabase/index.js +493 -102
  31. package/dist/{better-supabase-Dirf_8Ec.js → better-supabase-BJtQ-kNf.js} +26 -10
  32. package/dist/{bind-BNQA9JK9.js → bind-BJFeLX1V.js} +6 -6
  33. package/dist/{bind-YYjvfpB9.d.ts → bind-DjFNX0Pq.d.ts} +7 -7
  34. package/dist/{budget-BELja5A9.js → budget-BBCPDOGP.js} +1 -1
  35. package/dist/{budget-hYsPz_yE.d.ts → budget-CNLsV2SL.d.ts} +1 -1
  36. package/dist/{build-instance-BWXqwQYU.js → build-instance-lye7oEqf.js} +3 -2
  37. package/dist/{capability-Di9tiUvi.d.ts → capability-BzjWdKmP.d.ts} +1 -1
  38. package/dist/{capability-BqX94r07.js → capability-zN6T9fxe.js} +2 -3
  39. package/dist/{casbin-C9EvElBb.js → casbin-C3O_O9nu.js} +2 -2
  40. package/dist/{casbin-D_rVQ31U.js → casbin-DFzk_so3.js} +2 -2
  41. package/dist/{casl-C4OINZHI.js → casl-CjBVJj8R.js} +2 -2
  42. package/dist/{casl-CHHoCldP.js → casl-CkBssiB1.js} +1 -1
  43. package/dist/catalog/index.d.ts +5 -5
  44. package/dist/catalog/index.js +6 -6
  45. package/dist/catalog-BpnjesqX.js +1 -0
  46. package/dist/{catalog-CGlSwU6j.js → catalog-DGDd_ww1.js} +5 -5
  47. package/dist/{catalog-amPDr0JQ.js → catalog-DJJIkR9P.js} +3 -3
  48. package/dist/{catalog-doc-DjMKzJp9.js → catalog-doc-C4DGfJCO.js} +3 -3
  49. package/dist/{catalog-operations-DeHTrJSV.js → catalog-operations-DVI5QO5R.js} +3 -3
  50. package/dist/{challenge-DImNcR7B.js → challenge-M_ghKJnT.js} +2 -2
  51. package/dist/chat/index.d.ts +1 -1
  52. package/dist/chat/index.js +2 -2
  53. package/dist/chat-sdk/index.d.ts +3 -3
  54. package/dist/{checks-CGkP3Z7A.js → checks-fyDOhcz0.js} +33 -1
  55. package/dist/claude-agent/index.d.ts +3 -3
  56. package/dist/claude-agent/index.js +2 -2
  57. package/dist/clerk/index.d.ts +2 -2
  58. package/dist/clerk/index.js +10 -7
  59. package/dist/cli/bin.js +1 -1
  60. package/dist/cli/index.d.ts +5 -5
  61. package/dist/cli/index.js +3 -3
  62. package/dist/cloud/index.d.ts +8 -8
  63. package/dist/cloud/index.js +1 -1
  64. package/dist/{cloud-DdaJ7ILM.js → cloud-DYqzmh5i.js} +4 -4
  65. package/dist/{codemod-ammy6wv4.js → codemod-DNGMGqBS.js} +395 -8
  66. package/dist/{codemod-B1USJS7a.js → codemod-DqB9klYI.js} +3 -3
  67. package/dist/{collect-DnXL4B8c.js → collect-C44RrKCI.js} +4 -4
  68. package/dist/collect-CAibhmCi.js +1 -0
  69. package/dist/{collect-WCl8cJQV.js → collect-HfJXl8Tr.js} +4 -4
  70. package/dist/compile/index.d.ts +1 -1
  71. package/dist/compile/index.js +1 -1
  72. package/dist/{compile-EzEMB-7v.js → compile-B_oJqmIg.js} +4 -4
  73. package/dist/{compile-BEklRUYo.d.ts → compile-BxiwRotu.d.ts} +2 -2
  74. package/dist/{completion--Y4YItFZ.js → completion-pwVjJlek.js} +3 -3
  75. package/dist/{config-CcLlvEYW.js → config-COHmivz9.js} +4 -4
  76. package/dist/{config-BQ77xMZk.js → config-DnfH6_eT.js} +2 -2
  77. package/dist/{config-report-DVMOLJ7F.js → config-report-C1jl7Na-.js} +2 -2
  78. package/dist/{context-BnIzxTNE.js → context-DeammvFl.js} +2 -2
  79. package/dist/convex/index.d.ts +4 -4
  80. package/dist/convex/index.js +3 -3
  81. package/dist/{core-CFepFiDP.d.ts → core-0iYZ5HUx.d.ts} +2 -2
  82. package/dist/{core-lxoANyai.js → core-W5f4Rjt0.js} +7 -7
  83. package/dist/{create-DBvUsgzK.d.ts → create-DNN3OtsO.d.ts} +4 -4
  84. package/dist/{create-CDd9c22W.d.ts → create-DrHUmKvG.d.ts} +6 -6
  85. package/dist/{create-BPUopdfL.d.ts → create-bzQlBzG4.d.ts} +7 -7
  86. package/dist/{create-Coq5fIrq.js → create-gqtDb1nU.js} +5 -5
  87. package/dist/{create-BLPKnJKa.js → create-jCPwPWXf.js} +6 -5
  88. package/dist/{credential-CyyyvCsL.js → credential-B3Hj4puZ.js} +4 -3
  89. package/dist/{credentials-CdDxp7jN.js → credentials-dkycUsY3.js} +1 -1
  90. package/dist/decision-CaG5_eNJ.js +21 -0
  91. package/dist/{delegation-CDB6_keF.js → delegation-aK4T_5WU.js} +3 -3
  92. package/dist/delivery/index.d.ts +4 -4
  93. package/dist/delivery/index.js +1 -1
  94. package/dist/{denied-text-DHldhVUv.d.ts → denied-text-DyzWwxEB.d.ts} +1 -1
  95. package/dist/{describe-Bb4hGK5d.js → describe-CogP1loh.js} +2 -1
  96. package/dist/{describe-BbFPBSms.d.ts → describe-nalX_HHE.d.ts} +1 -1
  97. package/dist/{diff-DfmYaIhB.js → diff-BTsLiW59.js} +7 -7
  98. package/dist/{diff-CxtbOi2l.js → diff-CcxYooMu.js} +2 -2
  99. package/dist/{doctor-CwYc2lJb.js → doctor-BNRhJegR.js} +3 -3
  100. package/dist/{doctor-D1Xnmy6u.js → doctor-DS-9ApID.js} +195 -30
  101. package/dist/drizzle/index.d.ts +3 -3
  102. package/dist/drizzle/index.js +1 -1
  103. package/dist/elysia/index.d.ts +4 -4
  104. package/dist/elysia/index.js +3 -3
  105. package/dist/{errors-Vpu6rKHl.js → errors-BhRkoNS7.js} +0 -2
  106. package/dist/{errors-BIM4MFsJ.d.ts → errors-Dc9FdamT.d.ts} +1 -1
  107. package/dist/{evaluate-BAmf_AQd.js → evaluate-CsjXeLRo.js} +18 -15
  108. package/dist/{evaluations-DOWuBpWv.d.ts → evaluations-BasA9zXp.d.ts} +3 -3
  109. package/dist/{evaluations-IBceAeKT.js → evaluations-DG40eSJa.js} +3 -22
  110. package/dist/eve/index.d.ts +4 -4
  111. package/dist/eve/index.js +3 -3
  112. package/dist/express/index.d.ts +4 -4
  113. package/dist/express/index.js +3 -3
  114. package/dist/fastify/index.d.ts +4 -4
  115. package/dist/fastify/index.js +3 -3
  116. package/dist/{fetch-adapter-BIbBAtPZ.d.ts → fetch-adapter-BgqpOOpd.d.ts} +2 -2
  117. package/dist/{fetch-adapter-dPTgJVHd.js → fetch-adapter-UZOW0PRC.js} +2 -2
  118. package/dist/{fields-DI8s3cPl.js → fields-CrjL6A49.js} +3 -3
  119. package/dist/{files-B3AA05f1.js → files-CfiRtQ-m.js} +1 -1
  120. package/dist/{fixtures-Bm4_K1ke.js → fixtures-0VTW5oNq.js} +2 -2
  121. package/dist/{flags-DXjoTVbS.js → flags-BlmpmXoY.js} +2 -2
  122. package/dist/{from-snapshot-DCakWRsr.js → from-snapshot-DMlSSo9b.js} +14 -12
  123. package/dist/{gen-DwgCSC6V.js → gen-CNCzG4sB.js} +2 -2
  124. package/dist/{gen-DuAhghDw.js → gen-DnpZwQPo.js} +9 -9
  125. package/dist/{generate-CRVV5V7l.js → generate-BqkZq8Dr.js} +2 -2
  126. package/dist/{grantee-conditions-BrYPe-w0.js → grantee-conditions-DX4K_gGI.js} +1 -1
  127. package/dist/{grantee-match-7RZZvoT_.js → grantee-match-BP-k4vRJ.js} +2 -2
  128. package/dist/h3/index.d.ts +4 -4
  129. package/dist/h3/index.js +3 -3
  130. package/dist/{helpers-DJicaG6f.js → helpers-DNnZffrI.js} +76 -12
  131. package/dist/hono/index.d.ts +4 -4
  132. package/dist/hono/index.js +3 -3
  133. package/dist/{hosted-DVxlLZMe.d.ts → hosted-DxRLLiFU.d.ts} +1 -1
  134. package/dist/{hosted-D0IzESu_.js → hosted-tPZnyjQS.js} +12 -10
  135. package/dist/{http-DOL33cO0.js → http-DhMWeB_h.js} +1 -1
  136. package/dist/{import-Dfe2unKO.js → import-BYVbSKx0.js} +3 -3
  137. package/dist/{import-CNBF96hB.js → import-C1XXpG_m.js} +4 -4
  138. package/dist/{index-Cay5-Kvx.d.ts → index-Bt-UoBWu.d.ts} +11 -10
  139. package/dist/{index-DJwEgYzA.d.ts → index-CXXUFWtG.d.ts} +17 -11
  140. package/dist/{index-Dj2qF9VC.d.ts → index-CZ5mixHO.d.ts} +1 -1
  141. package/dist/{index-ymept53A.d.ts → index-DFwUOkvt.d.ts} +4 -4
  142. package/dist/{index-CV-7DWeD.d.ts → index-DtGtDzjb.d.ts} +4 -4
  143. package/dist/{index-BinlXeU-.d.ts → index-z44pfWar.d.ts} +2 -2
  144. package/dist/index.d.ts +18 -16
  145. package/dist/index.js +20 -18
  146. package/dist/{init-C6cWP3xW.js → init-Dr1qAStu.js} +5 -5
  147. package/dist/{init-BUo2G-FI.js → init-YSDySeMy.js} +5 -5
  148. package/dist/{instance-options-CoHn-0e8.d.ts → instance-options-BOCRxEFb.d.ts} +2 -2
  149. package/dist/{instance-snapshot-DuWf1cT3.js → instance-snapshot-BgOGtyCy.js} +15 -12
  150. package/dist/jwt/index.d.ts +4 -4
  151. package/dist/jwt/index.js +3 -3
  152. package/dist/{kernel-BD8QuMnv.js → kernel-CDDU93dI.js} +10 -10
  153. package/dist/kysely/index.d.ts +3 -3
  154. package/dist/kysely/index.js +1 -1
  155. package/dist/{load-DjSU5KXO.js → load-BaEamml-.js} +1 -1
  156. package/dist/load-CjnlPxpL.js +1 -0
  157. package/dist/{login-D1MHOomI.js → login-CXgEKLaW.js} +4 -4
  158. package/dist/{login-DCKE5pVy.js → login-DEVXDTX8.js} +4 -4
  159. package/dist/{manifest-Cft51TLK.js → manifest-Dij1U0hx.js} +37 -37
  160. package/dist/{map-claims-C-nv08_n.js → map-claims-PQwHynxV.js} +25 -11
  161. package/dist/{map-error-pasIGqMT.js → map-error-B_f3C5cs.js} +1 -1
  162. package/dist/mcp/index.d.ts +8 -8
  163. package/dist/mcp/index.js +9 -9
  164. package/dist/{migrate-BJHxQqT5.js → migrate-BbY5-Khy.js} +4 -4
  165. package/dist/{module-values-B1EVTkHP.js → module-values-B8tNIxdd.js} +2 -2
  166. package/dist/nest/index.d.ts +4 -4
  167. package/dist/nest/index.js +3 -3
  168. package/dist/next/index.d.ts +32 -13
  169. package/dist/next/index.js +43 -25
  170. package/dist/next/plugin.d.ts +1 -1
  171. package/dist/next/plugin.js +2 -2
  172. package/dist/node/index.d.ts +4 -4
  173. package/dist/node/index.js +2 -2
  174. package/dist/openai/index.d.ts +4 -4
  175. package/dist/openai/index.js +3 -3
  176. package/dist/openapi/index.d.ts +2 -2
  177. package/dist/{openapi-BwWkHxvW.js → openapi-D3wkvOoU.js} +4 -4
  178. package/dist/{openapi-DSzQN7Zu.js → openapi-GM-kTdkq.js} +5 -5
  179. package/dist/orpc/index.d.ts +5 -5
  180. package/dist/orpc/index.js +3 -3
  181. package/dist/otel/index.d.ts +3 -3
  182. package/dist/otel/index.js +1 -1
  183. package/dist/{output-DlICTjBh.js → output-DhTpe8v1.js} +1 -1
  184. package/dist/output-files-BYscrQl-.js +1 -0
  185. package/dist/{output-files-BIQ_9pIs.js → output-files-CM0BnH05.js} +1 -1
  186. package/dist/{ownership-qqBuGJXr.js → ownership-moSRhxl_.js} +6 -6
  187. package/dist/{parse-1_ZheTW5.js → parse-UTC-sDrt.js} +2 -2
  188. package/dist/{parse-local-manifest-CCmbhnxP.d.ts → parse-local-manifest-BgTYdR3q.d.ts} +1 -1
  189. package/dist/{parse-request-CwCZpyjV.js → parse-request-DOBVaeiQ.js} +1 -1
  190. package/dist/pdp/index.d.ts +3 -3
  191. package/dist/pdp/index.js +3 -3
  192. package/dist/{peer-Q0fuZ6hx.js → peer-BuK9F53f.js} +1 -1
  193. package/dist/{peer-C9LvBCcb.js → peer-n-swIV4H.js} +1 -1
  194. package/dist/{permdock-CprAPN3w.d.ts → permdock-DUWZEOLR.d.ts} +88 -131
  195. package/dist/{permdock-BvjivVb9.js → permdock-DdzMv5-F.js} +195 -102
  196. package/dist/{permissions-CYcHj_w7.js → permissions-CvpPtz5O.js} +1 -1
  197. package/dist/{pg-DQTqRrou.js → pg-Ddxsd5ZB.js} +2 -2
  198. package/dist/{policy-BycVKnXv.d.ts → policy-CTNl7pvN.d.ts} +1 -1
  199. package/dist/{policy-CLQ8__GF.js → policy-DxQyHKPB.js} +5 -4
  200. package/dist/{policy-from-catalog-CU3An8uP.js → policy-from-catalog-DVa1faOr.js} +8 -7
  201. package/dist/{policy-types-DGIO_gxq.d.ts → policy-types-IRJVABmm.d.ts} +63 -19
  202. package/dist/{postgrest-D5nUGm-c.d.ts → postgrest-B_cEDd4e.d.ts} +12 -7
  203. package/dist/{postgrest-DAxFltvO.js → postgrest-BrjrckDG.js} +74 -19
  204. package/dist/{powersync-DAfo0EL5.js → powersync-BZxw_v-A.js} +3 -3
  205. package/dist/{powersync-CBhTBhG2.js → powersync-C0nsyULQ.js} +15 -15
  206. package/dist/powersync-Cqzx25dI.js +1 -0
  207. package/dist/preset/index.js +1 -1
  208. package/dist/{preset-BjLzeFpp.js → preset-pPrVyGU5.js} +74 -7
  209. package/dist/prisma/index.d.ts +2 -2
  210. package/dist/prisma/index.js +1 -1
  211. package/dist/{protected-action-DUYqb-Ma.js → protected-action-B6n6w7Rl.js} +1 -1
  212. package/dist/{protected-action-D8x73IGm.d.ts → protected-action-D3S9U4nc.d.ts} +14 -7
  213. package/dist/{protected-action-QEA8arRB.js → protected-action-qowj6nxN.js} +15 -5
  214. package/dist/{provider-C55OGXJ7.js → provider-CY4TSSJo.js} +2 -2
  215. package/dist/{provider-DfLeek9O.d.ts → provider-CjAu39fJ.d.ts} +1 -1
  216. package/dist/{provider-store-CaTv00tr.js → provider-store-BQP_pp8s.js} +2 -2
  217. package/dist/pull-CUVdB04v.js +1 -0
  218. package/dist/{pull-CQCGy1gv.js → pull-DVoZ0V9_.js} +6 -6
  219. package/dist/{push-Dq_ca4-j.js → push-eJl1Tvqm.js} +7 -7
  220. package/dist/{pushed-policy-CryQheKq.d.ts → pushed-policy-CUQuvlS3.d.ts} +1 -1
  221. package/dist/{pushed-policy-CDuOL2de.js → pushed-policy-DMXAOmEW.js} +1 -1
  222. package/dist/react/index.d.ts +8 -8
  223. package/dist/react/index.js +6 -6
  224. package/dist/react/provider-client.d.ts +1 -1
  225. package/dist/react/provider-client.js +1 -1
  226. package/dist/react-native/index.d.ts +10 -10
  227. package/dist/react-native/index.js +9 -9
  228. package/dist/refresh-on-L9UOwATg.d.ts +49 -0
  229. package/dist/{replay-Bs9Df2fQ.d.ts → replay-Dc3d8LhG.d.ts} +1 -1
  230. package/dist/{request-context-Duzdf0cd.js → request-context-Ch052blg.js} +2 -2
  231. package/dist/{request-schema-DhX7UbfQ.js → request-schema-CMP8Cmxd.js} +5 -0
  232. package/dist/resend/index.d.ts +4 -4
  233. package/dist/{resolve-names-Y1Cb22cp.js → resolve-names-1nCei24V.js} +6 -6
  234. package/dist/{rls-C5ZGzR_B.js → rls-BVzoZCn3.js} +4 -4
  235. package/dist/{rls-tHu7N_Pe.js → rls-ClJRblnR.js} +19 -19
  236. package/dist/{role-builder-BK2-T6oD.js → role-builder-BrmOcXch.js} +3 -157
  237. package/dist/{rpc-vHIwyXCp.js → rpc-BOu3FD6X.js} +2 -2
  238. package/dist/{run-DUq1xU4K.js → run-CnCaTjWX.js} +8 -40
  239. package/dist/run-D9N6V5WQ.js +1 -0
  240. package/dist/{run-ticket-ylovhyFQ.d.ts → run-ticket-C6lXvHM_.d.ts} +2 -2
  241. package/dist/{run-ticket-DfnZCh-u.js → run-ticket-CjvXr6wj.js} +1 -1
  242. package/dist/{runtime-BGnrOkVH.js → runtime-CBXkOcg9.js} +1 -1
  243. package/dist/{saas-DK4V-3Is.js → saas-BqM9mJkk.js} +13 -10
  244. package/dist/{scan-C3HRH9Fs.js → scan-CepUXrFt.js} +1 -1
  245. package/dist/{schema-DvXvxPhQ.js → schema-9_NDz8fx.js} +1 -1
  246. package/dist/{schema-BOJjqlWL.js → schema-CuX70xgH.js} +15 -2
  247. package/dist/scim/index.d.ts +1 -1
  248. package/dist/scim/index.js +1 -1
  249. package/dist/{scim-jJBJ7g1Z.js → scim-C30QBBoF.js} +2 -1
  250. package/dist/{scim-D8YupzX1.js → scim-CovliQUg.js} +2 -2
  251. package/dist/{scopes-0Up_UA2t.js → scopes-BSdYaGHs.js} +9 -40
  252. package/dist/server/index.d.ts +11 -11
  253. package/dist/server/index.js +8 -8
  254. package/dist/{server-3cVlTLde.js → server-D0PW6ZCw.js} +2 -2
  255. package/dist/{server-types-CyRN0-Cd.d.ts → server-types-Bw-lWqzR.d.ts} +8 -8
  256. package/dist/{shared-l0oGGetg.js → shared-BRmCJxDK.js} +2 -2
  257. package/dist/{shared-DrGLwM3s.js → shared-DyYVEjKC.js} +2 -2
  258. package/dist/{sink-B5zoUW_O.d.ts → sink-DUzt0e4B.d.ts} +2 -2
  259. package/dist/{skills-Celu2W6v.js → skills-BUuH-QFt.js} +2 -2
  260. package/dist/{skills-B2qTbaQa.js → skills-a4N6Y2Xm.js} +2 -2
  261. package/dist/{snapshot-CXlzi69u.js → snapshot-DN_8J27z.js} +6 -2
  262. package/dist/{snapshot-cache-Bx_4xC_6.js → snapshot-cache-B66h7FBK.js} +25 -8
  263. package/dist/{snapshot-cache-BjAWkchD.d.ts → snapshot-cache-Dbk-Gnij.d.ts} +20 -6
  264. package/dist/solid/index.d.ts +7 -7
  265. package/dist/solid/index.js +6 -6
  266. package/dist/solid-start/index.d.ts +4 -4
  267. package/dist/solid-start/index.js +3 -3
  268. package/dist/{sources-oB1Hg1Fm.d.ts → sources-CXY05xtB.d.ts} +1 -1
  269. package/dist/{src-C_pi2Rnh.js → src-nYNBfmgq.js} +187 -39
  270. package/dist/ssf/index.d.ts +3 -3
  271. package/dist/ssf/index.js +1 -1
  272. package/dist/{standard-webhooks-DOYEuOLx.d.ts → standard-webhooks-BFeEpjxy.d.ts} +2 -2
  273. package/dist/{store-RNFvaJJv.js → store-XgBMbfDy.js} +13 -7
  274. package/dist/{types-tQB2CEnY.d.ts → store-g5ctUrOI.d.ts} +114 -113
  275. package/dist/{store-options-Dil3lraY.js → store-options--zWn48PK.js} +76 -7
  276. package/dist/{stores-DxZWDXCs.js → stores-53_kOwPi.js} +3 -3
  277. package/dist/{stores-DZJvxFIZ.d.ts → stores-BtdN3eDO.d.ts} +5 -6
  278. package/dist/{stream-9y9qw51m.d.ts → stream-BMJg56jU.d.ts} +1 -1
  279. package/dist/{subject-BGoM5o8B.js → subject-C7RddW0G.js} +8 -1
  280. package/dist/supabase/client.d.ts +31 -0
  281. package/dist/supabase/client.js +21 -0
  282. package/dist/supabase/index.d.ts +37 -6
  283. package/dist/supabase/index.js +5 -4
  284. package/dist/supabase/middleware.d.ts +8 -7
  285. package/dist/supabase/middleware.js +6 -6
  286. package/dist/{supabase-DYWnT800.js → supabase-C6FyUeSh.js} +3 -3
  287. package/dist/{supabase-CDHMsDD0.js → supabase-C8cNzp4i.js} +31 -8
  288. package/dist/supabase-hook-CPBX4dy5.js +1 -0
  289. package/dist/{supabase-hook-HPgwYb9V.js → supabase-hook-Cj85nccs.js} +167 -21
  290. package/dist/{supautils-SwE642N1.js → supautils-BP_5WAIc.js} +12 -12
  291. package/dist/svelte/index.d.ts +7 -7
  292. package/dist/svelte/index.js +8 -8
  293. package/dist/svelte/runtime.d.ts +3 -3
  294. package/dist/svelte/runtime.js +3 -3
  295. package/dist/svelte/source.d.ts +7 -7
  296. package/dist/svelte/source.js +5 -5
  297. package/dist/sveltekit/index.d.ts +4 -4
  298. package/dist/sveltekit/index.js +2 -2
  299. package/dist/{tables-DimBcVWY.js → tables-BsGE6HBR.js} +7 -7
  300. package/dist/tanstack-start/index.d.ts +4 -4
  301. package/dist/tanstack-start/index.js +2 -2
  302. package/dist/{tenancy-5d1zVBvK.js → tenancy-DvOHHk3-.js} +1 -1
  303. package/dist/terminal/index.d.ts +5 -5
  304. package/dist/terminal/index.js +6 -6
  305. package/dist/testing/core.d.ts +1 -1
  306. package/dist/testing/core.js +1 -1
  307. package/dist/testing/fixtures/index.d.ts +1 -1
  308. package/dist/testing/fixtures/index.js +1 -1
  309. package/dist/testing/index.d.ts +29 -22
  310. package/dist/testing/index.js +118 -46
  311. package/dist/testing/saas/index.d.ts +3 -3
  312. package/dist/testing/saas/index.js +2 -2
  313. package/dist/testing/saas/permissions.js +1 -1
  314. package/dist/token-D6pWn8Uj.d.ts +11 -0
  315. package/dist/{token-DC9EQiet.js → token-DaMnIU9O.js} +24 -8
  316. package/dist/{tool-refusal-Qpjs_W6M.js → tool-refusal-C1UlhU0V.js} +1 -1
  317. package/dist/trpc/index.d.ts +5 -5
  318. package/dist/trpc/index.js +3 -3
  319. package/dist/{type-helpers-c7Xo_2Cu.d.ts → type-helpers-C_OnZW8c.d.ts} +1 -1
  320. package/dist/{types-B2efzoSX.d.ts → types-AOP5HQku.d.ts} +1 -1
  321. package/dist/{types-DlelvQk4.d.ts → types-B3BOcI0J.d.ts} +2 -2
  322. package/dist/{types-DLvhVm1r.d.ts → types-BvBbkAu1.d.ts} +16 -7
  323. package/dist/{types-BB-zWDcR.d.ts → types-CA-A33Q5.d.ts} +5 -5
  324. package/dist/{types-Cklw5hJo.d.ts → types-CAAN7evk.d.ts} +24 -1
  325. package/dist/{types-DsHGPtkR.d.ts → types-CJC1aaoJ.d.ts} +2 -2
  326. package/dist/{types-CWBsAwqn.d.ts → types-D29K5ZNP.d.ts} +4 -4
  327. package/dist/{types-CEinc15V.d.ts → types-DVZNTkU0.d.ts} +3 -4
  328. package/dist/{types-ZzRGoViD.d.ts → types-NYoj8JBm.d.ts} +2 -2
  329. package/dist/{types-B6ExllNo.d.ts → types-Sj1U8HMm.d.ts} +2 -2
  330. package/dist/{types-CN0LsqbK.d.ts → types-UfpcY575.d.ts} +3 -3
  331. package/dist/{types-rCRV4Ge-.d.ts → types-e82uzrTn.d.ts} +4 -4
  332. package/dist/unplugin/index.d.ts +1 -1
  333. package/dist/unplugin/index.js +2 -2
  334. package/dist/{usage-CPXeuAdT.js → usage-COsGLht5.js} +6 -6
  335. package/dist/{usage-CfZCQd0F.js → usage-CqcMeQgX.js} +2 -2
  336. package/dist/usage-D1cpHO7p.js +1 -0
  337. package/dist/{validation-error-uvp-kyfO.d.ts → validation-error-DpvsBwZJ.d.ts} +1 -1
  338. package/dist/{verify-DfT0QYNh.js → verify-C8G8D5mk.js} +19 -19
  339. package/dist/{version-cache-Df11C2Qp.d.ts → version-cache-9Vq5QVFC.d.ts} +9 -3
  340. package/dist/{views-CD8wuL4Z.js → views-TrZYlDnM.js} +1 -1
  341. package/dist/vue/index.d.ts +7 -7
  342. package/dist/vue/index.js +6 -6
  343. package/dist/{waiter-CqUKX6CY.d.ts → waiter-C2cXXLFZ.d.ts} +2 -2
  344. package/dist/{watch-DAkjm75Y.js → watch-DXRDBSCu.js} +3 -3
  345. package/dist/watch-DnymTAfe.js +1 -0
  346. package/dist/webmcp/index.d.ts +1 -1
  347. package/dist/webmcp/index.js +1 -1
  348. package/dist/{where-scope-DlCdCM_8.js → where-scope-BKrqUDVk.js} +5 -5
  349. package/dist/{who-can-BoDJm0Nc.js → who-can-BY5d3HPw.js} +4 -4
  350. package/dist/workflow/index.d.ts +3 -3
  351. package/dist/workflow/index.js +5 -4
  352. package/dist/workflow-sdk/index.d.ts +4 -4
  353. package/dist/{wrap-B2wziJI_.js → wrap-C5PWzgkq.js} +1 -1
  354. package/dist/{wrap-DxXB54Wu.d.ts → wrap-DpZAbxuD.d.ts} +2 -2
  355. package/package.json +8 -5
  356. package/schemas/approval-request-v1.json +5 -0
  357. package/schemas/catalog-v1.json +18 -2
  358. package/schemas/cli-result-v1.json +0 -2
  359. package/schemas/snapshot-v1.json +9 -0
  360. package/skills/permdock-approvals/SKILL.md +8 -8
  361. package/skills/permdock-approvals/references/stores-and-resume.md +7 -3
  362. package/skills/permdock-audit/SKILL.md +1 -1
  363. package/dist/action-result-BcudBQOF.d.ts +0 -19
  364. package/dist/catalog-D3oS2GH3.js +0 -1
  365. package/dist/collect-D-eroIfV.js +0 -1
  366. package/dist/load-Dm0pSYH3.js +0 -1
  367. package/dist/output-files-BHOIlrfD.js +0 -1
  368. package/dist/powersync-0QVP_DuR.js +0 -1
  369. package/dist/pull-CCAChKuy.js +0 -1
  370. package/dist/renames-CGj7YwcQ.js +0 -175
  371. package/dist/run-C5P3x1EI.js +0 -1
  372. package/dist/supabase-hook-qsewAVZY.js +0 -1
  373. package/dist/usage-DmmO_xjJ.js +0 -1
  374. package/dist/watch-CuPz0D2M.js +0 -1
@@ -1,6 +1,7 @@
1
- import { n as supabaseTenantClaim, t as supabaseMembershipsBudget } from "../budget-BELja5A9.js";
2
- import { a as supabaseClaims, i as supabaseApprovalStore, n as supabaseRls, o as exchangeCapability, r as tableApprovalDelegationSource, t as authorizeSql } from "../supabase-CDHMsDD0.js";
1
+ import { n as supabaseTenantClaim, t as supabaseMembershipsBudget } from "../budget-BBCPDOGP.js";
2
+ import { n as AUTHZ_TOPIC, r as authzUserTopic, t as AUTHZ_EVENT } from "../authz-topic-Dbc-HDOS.js";
3
+ import { a as supabaseApprovalStore, i as tableApprovalPolicySource, n as supabaseRls, o as supabaseClaims, r as tableApprovalDelegationSource, s as exchangeCapability, t as authorizeSql } from "../supabase-C8cNzp4i.js";
3
4
  import { c as tableMembershipSource, i as authzVersion, o as junctionMembershipSource, s as supabasePostgresQuery, t as AUTHZ_VERSION_TABLE } from "../sources-C4vkzZJV.js";
4
- import { a as delegationOf, c as subjectFromSupabaseSession, i as actorOf, n as postgrestSources, r as readSubjectRecord, s as subjectFromSupabase } from "../postgrest-DAxFltvO.js";
5
+ import { a as delegationOf, c as subjectFromSupabaseSession, i as actorOf, n as postgrestSources, r as readSubjectRecord, s as subjectFromSupabase } from "../postgrest-BrjrckDG.js";
5
6
  import { n as parseSupabaseManifest, t as hasTokenHook } from "../manifest-BXTbHNIV.js";
6
- export { AUTHZ_VERSION_TABLE, actorOf, authorizeSql, authzVersion, delegationOf, exchangeCapability, hasTokenHook, junctionMembershipSource, parseSupabaseManifest, postgrestSources, readSubjectRecord, subjectFromSupabase, subjectFromSupabaseSession, supabaseApprovalStore, supabaseClaims, supabaseMembershipsBudget, supabasePostgresQuery, supabaseRls, supabaseTenantClaim, tableApprovalDelegationSource, tableMembershipSource };
7
+ export { AUTHZ_EVENT, AUTHZ_TOPIC, AUTHZ_VERSION_TABLE, actorOf, authorizeSql, authzUserTopic, authzVersion, delegationOf, exchangeCapability, hasTokenHook, junctionMembershipSource, parseSupabaseManifest, postgrestSources, readSubjectRecord, subjectFromSupabase, subjectFromSupabaseSession, supabaseApprovalStore, supabaseClaims, supabaseMembershipsBudget, supabasePostgresQuery, supabaseRls, supabaseTenantClaim, tableApprovalDelegationSource, tableApprovalPolicySource, tableMembershipSource };
@@ -1,11 +1,11 @@
1
- import { T as Policy, hr as Subject, j as PolicyVocabulary, pr as Principal } from "../policy-types-DGIO_gxq.js";
1
+ import { E as Policy, M as PolicyVocabulary, _r as Principal, yr as Subject } from "../policy-types-IRJVABmm.js";
2
2
  import { u as Permission } from "../permission-types-CAY-GU7e.js";
3
- import { a as PermDock } from "../permdock-CprAPN3w.js";
4
- import { t as InstanceOptions } from "../instance-options-CoHn-0e8.js";
3
+ import { a as PermDock } from "../permdock-DUWZEOLR.js";
4
+ import { t as InstanceOptions } from "../instance-options-BOCRxEFb.js";
5
5
  import { t as RequestContext } from "../request-context-C2_1lchh.js";
6
- import { i as OpenApiHooks } from "../server-types-CyRN0-Cd.js";
7
- import { n as ServerAdapterServices } from "../bind-YYjvfpB9.js";
8
- import { Middleware } from "@supabase/middleware";
6
+ import { i as OpenApiHooks } from "../server-types-Bw-lWqzR.js";
7
+ import { n as ServerAdapterServices } from "../bind-DjFNX0Pq.js";
8
+ import { FetchHandler, Middleware } from "@supabase/middleware";
9
9
  //#region src/supabase/middleware.d.ts
10
10
  /**
11
11
  * The verified Supabase Auth access-token payload as `@supabase/server`
@@ -92,4 +92,5 @@ export type SupabaseMiddlewarePermDock<V extends PolicyVocabulary = PolicyVocabu
92
92
  readonly openapi: OpenApiHooks;
93
93
  };
94
94
  export declare function createPermDock<TUser, TPrincipal extends Principal = Principal, V extends PolicyVocabulary = PolicyVocabulary>(policy: Policy<TUser, TPrincipal, V>, given: SupabaseMiddlewarePermDockOptions<TUser>): SupabaseMiddlewarePermDock<V>;
95
- //#endregion
95
+ //#endregion
96
+ export type { FetchHandler };
@@ -1,11 +1,11 @@
1
1
  import { t as compact } from "../compact-CAf557ZB.js";
2
- import { l as withApp } from "../permdock-BvjivVb9.js";
3
- import { t as composeWraps } from "../wrap-B2wziJI_.js";
4
- import { r as credentialSubject } from "../credential-CyyyvCsL.js";
2
+ import { l as withApp } from "../permdock-DdzMv5-F.js";
3
+ import { t as composeWraps } from "../wrap-C5PWzgkq.js";
4
+ import { r as credentialSubject } from "../credential-B3Hj4puZ.js";
5
5
  import { o as methodNotAllowed } from "../problem-BVLHFK33.js";
6
- import { r as instanceOptions } from "../build-instance-BWXqwQYU.js";
7
- import { t as createPermDock$1 } from "../create-BLPKnJKa.js";
8
- import { n as attached } from "../bind-BNQA9JK9.js";
6
+ import { r as instanceOptions } from "../build-instance-lye7oEqf.js";
7
+ import { t as createPermDock$1 } from "../create-jCPwPWXf.js";
8
+ import { n as attached } from "../bind-BJFeLX1V.js";
9
9
  import { defineMiddleware } from "@supabase/middleware";
10
10
  //#region src/supabase/middleware.ts
11
11
  const SECRET_KEY_NAME = /^[A-Za-z0-9_-]+$/u;
@@ -1,5 +1,5 @@
1
1
  import { t as defineLeaf } from "./command-L8EstFNm.js";
2
- import { c as given, n as dbUrl, o as fileOut, r as dbUrlFlags, t as checkFlag } from "./flags-DXjoTVbS.js";
2
+ import { c as given, n as dbUrl, o as fileOut, r as dbUrlFlags, t as checkFlag } from "./flags-BlmpmXoY.js";
3
3
  //#region src/cli/commands/supabase.ts
4
4
  const hookGenerate = defineLeaf({
5
5
  flags: {
@@ -47,7 +47,7 @@ const hookGenerate = defineLeaf({
47
47
  const budget = given(flags.budget);
48
48
  const schema = given(flags.schema);
49
49
  const grantsOut = given(flags["grants-out"]);
50
- const { runSupabase } = await import("./supabase-hook-qsewAVZY.js");
50
+ const { runSupabase } = await import("./supabase-hook-CPBX4dy5.js");
51
51
  return runSupabase({
52
52
  cwd: ctx.cwd,
53
53
  config: ctx.config,
@@ -76,7 +76,7 @@ const inspect = defineLeaf({
76
76
  },
77
77
  async run(ctx, { flags }) {
78
78
  const out = flags.out === "" ? true : flags.out === "-" ? void 0 : flags.out;
79
- const { runSupabase } = await import("./supabase-hook-qsewAVZY.js");
79
+ const { runSupabase } = await import("./supabase-hook-CPBX4dy5.js");
80
80
  return runSupabase({
81
81
  cwd: ctx.cwd,
82
82
  config: ctx.config,
@@ -2,13 +2,13 @@ import { r as isRecord, t as compact } from "./compact-CAf557ZB.js";
2
2
  import { d as isoNow, i as dateAt, p as nowSeconds, u as isoAt } from "./time-nR1JesoH.js";
3
3
  import { t as canonicalJson } from "./canonical-json-DwilZ1iB.js";
4
4
  import { s as ApprovalError } from "./types-CcUXciSj.js";
5
- import { c as decodeApprovalCursor, l as encodeApprovalCursor, s as approvalPageSize, t as applyApprovalVerdict } from "./store-RNFvaJJv.js";
6
- import { a as parseCapability } from "./capability-BqX94r07.js";
5
+ import { c as decodeApprovalCursor, l as encodeApprovalCursor, s as approvalPageSize, t as applyApprovalVerdict } from "./store-XgBMbfDy.js";
6
+ import { a as parseCapability } from "./capability-zN6T9fxe.js";
7
7
  import { t as loadJose } from "./load-jose-DZ4dnjri.js";
8
- import "./budget-BELja5A9.js";
8
+ import "./budget-BBCPDOGP.js";
9
9
  import { a as quoteQualifiedTable, c as quoteSqlTable, d as sqlTextArray, i as qualifySqlTable, o as quoteSqlIdent, s as quoteSqlLiteral } from "./sql-0WjxIp9g.js";
10
10
  import { d as keptKeys, l as roleColumn } from "./sources-C4vkzZJV.js";
11
- import { t as callRpc } from "./postgrest-DAxFltvO.js";
11
+ import { t as callRpc } from "./postgrest-BrjrckDG.js";
12
12
  //#region src/supabase/capability.ts
13
13
  const DEFAULT_TTL = 300;
14
14
  const MAX_TTL = 3600;
@@ -96,8 +96,6 @@ function checkMembership(item, path, issues) {
96
96
  for (const key of [
97
97
  "scope",
98
98
  "id",
99
- "tenant",
100
- "team",
101
99
  "via",
102
100
  "granted_by",
103
101
  "reason"
@@ -110,7 +108,7 @@ function checkMembership(item, path, issues) {
110
108
  optional(item, "entitlements", path, issues, isStrings, "an array of strings");
111
109
  optional(item, "keep", path, issues, isStrings, "an array of strings");
112
110
  optional(item, "grants", path, issues, isRecord, "an object");
113
- if (!(own(item, "scope") !== void 0 && own(item, "id") !== void 0 || own(item, "tenant") !== void 0 || own(item, "team") !== void 0 || own(item, "on") !== void 0)) issue(issues, path, "Expected scope and id, tenant, team or on");
111
+ if (!(own(item, "scope") !== void 0 && own(item, "id") !== void 0 || own(item, "on") !== void 0)) issue(issues, path, "Expected scope and id, or on");
114
112
  }
115
113
  function checkPermDockClaims(record, tenantClaim, path, issues) {
116
114
  optional(record, "user_role", path, issues, (value) => value === null || typeof value === "string" || isStrings(value), "a string, an array of strings or null");
@@ -341,6 +339,31 @@ function supabaseApprovalStore(client, options = {}) {
341
339
  };
342
340
  }
343
341
  //#endregion
342
+ //#region src/supabase/approval-policies.ts
343
+ function rowsOf$1(result) {
344
+ return Array.isArray(result) ? result : result.rows;
345
+ }
346
+ /**
347
+ * Approval policies from the table `rls.approvals.tenantPolicies` generates:
348
+ * the subject's tenants' enabled rows and every platform floor. A row whose
349
+ * body is not an object throws, and the evaluator checks every entry with
350
+ * `validateApprovalPolicy`, so a bad row denies every call an allow would grant
351
+ * until it is fixed.
352
+ */
353
+ function tableApprovalPolicySource(options) {
354
+ const fn = quoteQualifiedTable(`${options.schema ?? "permdock"}.permdock_approval_policies_for`);
355
+ return {
356
+ name: "table",
357
+ async approvalPoliciesFor(query) {
358
+ return rowsOf$1(await options.query(`select p.body from ${fn}($1::text[]) p(body)`, [[...query.tenants]])).map((row) => {
359
+ const body = row["body"];
360
+ if (!isRecord(body)) throw new TypeError("PermDock: an approval_policies row has a body that is not an object");
361
+ return body;
362
+ });
363
+ }
364
+ };
365
+ }
366
+ //#endregion
344
367
  //#region src/supabase/approval-delegations.ts
345
368
  function rowsOf(result) {
346
369
  return Array.isArray(result) ? result : result.rows;
@@ -697,4 +720,4 @@ grant execute on function ${signature} to authenticated;
697
720
  `;
698
721
  }
699
722
  //#endregion
700
- export { supabaseClaims as a, supabaseApprovalStore as i, supabaseRls as n, exchangeCapability as o, tableApprovalDelegationSource as r, authorizeSql as t };
723
+ export { supabaseApprovalStore as a, tableApprovalPolicySource as i, supabaseRls as n, supabaseClaims as o, tableApprovalDelegationSource as r, exchangeCapability as s, authorizeSql as t };
@@ -0,0 +1 @@
1
+ export { i as runSupabase } from "./supabase-hook-Cj85nccs.js";
@@ -1,30 +1,31 @@
1
1
  import { r as isRecord } from "./compact-CAf557ZB.js";
2
2
  import { o as hasConditionOp } from "./refs-C8BKxc_e.js";
3
- import { f as scopeList, l as rootScope, s as resolveScope, u as scopeChain } from "./scopes-0Up_UA2t.js";
4
- import { t as APPROVAL_REQUEST_SCHEMA } from "./request-schema-DhX7UbfQ.js";
5
- import { a as describeError, i as configError } from "./errors-Vpu6rKHl.js";
3
+ import { c as rootScope, d as scopeList, l as scopeChain, s as resolveScope } from "./scopes-BSdYaGHs.js";
4
+ import { t as APPROVAL_REQUEST_SCHEMA } from "./request-schema-CMP8Cmxd.js";
5
+ import { a as describeError, i as configError } from "./errors-BhRkoNS7.js";
6
6
  import { i as readJsonFile, o as sqlFiles, s as writeFileEnsuringDir } from "./files-BSjrtIHw.js";
7
7
  import { a as SUPABASE_MANIFEST_SCHEMA } from "./version-DMQ0dnN5.js";
8
- import { c as requirePolicy } from "./load-DjSU5KXO.js";
9
- import "./budget-BELja5A9.js";
8
+ import { c as requirePolicy } from "./load-BaEamml-.js";
9
+ import "./budget-BBCPDOGP.js";
10
10
  import { i as qualifySqlTable } from "./sql-0WjxIp9g.js";
11
- import { i as scopeColumn } from "./compile-EzEMB-7v.js";
12
- import { t as authorizeSql } from "./supabase-CDHMsDD0.js";
11
+ import { i as scopeColumn } from "./compile-B_oJqmIg.js";
12
+ import { t as AUTHZ_EVENT } from "./authz-topic-Dbc-HDOS.js";
13
+ import { t as authorizeSql } from "./supabase-C8cNzp4i.js";
13
14
  import { a as hookApiNames, d as keptKeys, t as AUTHZ_VERSION_TABLE, u as roleManifest } from "./sources-C4vkzZJV.js";
14
- import { o as readMemberships } from "./postgrest-DAxFltvO.js";
15
+ import { o as readMemberships } from "./postgrest-BrjrckDG.js";
15
16
  import { t as beforeFirst } from "./text-BMFRfBqc.js";
16
17
  import { n as GRANTS_MARKER, r as HOOK_MARKER, s as hookMarkerFields } from "./markers-BeHZ4x9Q.js";
17
18
  import { n as formatManifestJson, t as MANIFEST_FILE } from "./manifest-json-CAGzls-C.js";
18
19
  import { n as MIGRATION_DIRS } from "./constants-DcJABbLW.js";
19
- import { f as writeOutputFiles, l as partPath, r as driftOf, u as pgDeltaPath } from "./output-files-BIQ_9pIs.js";
20
- import { A as quoteQualified, D as qualified, F as firstScopeType, I as scopeTypeOf, O as quoteIdent, R as tenantTypeOf, a as customRolesOn, j as quoteTable, k as quoteLiteral, l as USER_ID_HELPER, r as HELPERS, y as subjectIdSql } from "./shared-DrGLwM3s.js";
21
- import { E as TOKEN_SCOPE_ALLOWS, J as apiKeyFields, K as API_KEY_ALLOWS, R as globalRoleSource, _ as PERMISSION_HELPERS, at as memberForHelper, b as permissionKeysForHelper, bt as checkSuspension, ct as memberIdsHelper, dt as permittedForHelper, et as hasMemberFor, ft as permittedIdsHelper, g as OWNERSHIP, h as ASSIGNMENTS, lt as memberOfHelper, ot as memberForSources, rt as isTeamScope, st as memberForTable, tt as hasPermittedUsers, ut as memberRoleOf, v as checkName, vt as activeRowSql, x as permittedByPermissionHelper } from "./tables-DimBcVWY.js";
22
- import { a as guardedTables, t as ownershipRules, u as roleNames } from "./ownership-qqBuGJXr.js";
20
+ import { f as writeOutputFiles, l as partPath, r as driftOf, u as pgDeltaPath } from "./output-files-CM0BnH05.js";
21
+ import { A as quoteQualified, D as qualified, F as firstScopeType, I as scopeTypeOf, O as quoteIdent, R as tenantTypeOf, a as customRolesOn, j as quoteTable, k as quoteLiteral, l as USER_ID_HELPER, r as HELPERS, y as subjectIdSql } from "./shared-DyYVEjKC.js";
22
+ import { E as TOKEN_SCOPE_ALLOWS, J as apiKeyFields, K as API_KEY_ALLOWS, R as globalRoleSource, _ as PERMISSION_HELPERS, at as memberForHelper, b as permissionKeysForHelper, bt as checkSuspension, ct as memberIdsHelper, dt as permittedForHelper, et as hasMemberFor, ft as permittedIdsHelper, g as OWNERSHIP, h as ASSIGNMENTS, lt as memberOfHelper, ot as memberForSources, rt as isTeamScope, st as memberForTable, tt as hasPermittedUsers, ut as memberRoleOf, v as checkName, vt as activeRowSql, x as permittedByPermissionHelper } from "./tables-BsGE6HBR.js";
23
+ import { a as guardedTables, t as ownershipRules, u as roleNames } from "./ownership-moSRhxl_.js";
23
24
  import { t as membershipSourcesOf } from "./sources-qoIJQrJv.js";
24
25
  import { a as splitUndiffed, r as tableKey, t as decidingColumns } from "./deciding-columns-NB4wcyBf.js";
25
- import { n as pgConnector } from "./pg-DQTqRrou.js";
26
- import { c as ACTOR_MAY_WRITE, f as readOnlyActorKinds } from "./fields-DI8s3cPl.js";
27
- import { r as permittedUsersHelper, t as resolveNames } from "./resolve-names-Y1Cb22cp.js";
26
+ import { n as pgConnector } from "./pg-Ddxsd5ZB.js";
27
+ import { c as ACTOR_MAY_WRITE, f as readOnlyActorKinds } from "./fields-CrjL6A49.js";
28
+ import { r as permittedUsersHelper, t as resolveNames } from "./resolve-names-1nCei24V.js";
28
29
  import { existsSync, readFileSync, readdirSync } from "node:fs";
29
30
  import { dirname, join, posix, resolve } from "node:path";
30
31
  //#region ../../node_modules/.pnpm/smol-toml@1.9.1/node_modules/smol-toml/dist/error.js
@@ -1885,6 +1886,94 @@ function customRolesOfSql(parts) {
1885
1886
  );`;
1886
1887
  }
1887
1888
  //#endregion
1889
+ //#region src/cli/rls/approval-policies.ts
1890
+ /**
1891
+ * The objects `rls.approvals.tenantPolicies` adds; `tableApprovalPolicySource`
1892
+ * calls the function.
1893
+ */
1894
+ const APPROVAL_POLICIES = {
1895
+ table: "approval_policies",
1896
+ read: "permdock_approval_policies_for"
1897
+ };
1898
+ const KEY = /^[A-Za-z][\w-]*(?:\.[A-Za-z][\w-]*)+$/u;
1899
+ /**
1900
+ * `rls.approvals.tenantPolicies`: one table of `ApprovalPolicy` bodies, a
1901
+ * tenant row per requirement a tenant adds and platform floors with `tenant`
1902
+ * null. Members read their tenants' rows and the floors; a holder of `manage`
1903
+ * in a tenant writes that tenant's rows; nobody but the owner writes a floor.
1904
+ * `permdock_approval_policies_for(p_tenants)` answers the enabled bodies with
1905
+ * the row's tenant set, floors first, and only the owner may execute it, since
1906
+ * it reads every tenant.
1907
+ */
1908
+ function approvalPoliciesSql(ctx, options, actorMayWrite = false) {
1909
+ if (options === null || typeof options !== "object" || !("manage" in options) || typeof options.manage !== "string" || !KEY.test(options.manage)) throw configError("PermDock CLI: rls.approvals.tenantPolicies needs { manage: '<permission key>' }, the permission whose holders in a tenant edit its approval policies");
1910
+ const root = ctx.scopes[0]?.name;
1911
+ if (root === void 0) throw configError("PermDock CLI: rls.approvals.tenantPolicies needs a tenant scope; declare one in the policy's scopes");
1912
+ const table = qualified(ctx, APPROVAL_POLICIES.table);
1913
+ const fn = qualified(ctx, APPROVAL_POLICIES.read);
1914
+ const member = `tenant in (select m.id::text from ${qualified(ctx, memberIdsHelper(root))}() m(id))`;
1915
+ const manages = `exists (
1916
+ select 1
1917
+ from ${qualified(ctx, checkName(permittedByPermissionHelper(root)))}(${quoteLiteral(options.manage)}) i(id)
1918
+ where i.id::text = tenant
1919
+ )`;
1920
+ const writable = actorMayWrite ? ` and (select ${qualified(ctx, ACTOR_MAY_WRITE)}())` : "";
1921
+ const own = `tenant is not null and ${subjectIdSql(ctx)} is not null and ${manages}${writable}`;
1922
+ const policy = (name) => quoteIdent(`${APPROVAL_POLICIES.table}_${name}`);
1923
+ return `
1924
+ -- approval policies: requirements a tenant keeps as data, plus platform floors (tenant null); tableApprovalPolicySource reads them
1925
+ create table if not exists ${table} (
1926
+ id text primary key default gen_random_uuid()::text,
1927
+ tenant text,
1928
+ name text not null,
1929
+ body jsonb not null,
1930
+ enabled boolean not null default true,
1931
+ created_at timestamptz not null default now(),
1932
+ updated_at timestamptz not null default now(),
1933
+ constraint ${quoteIdent(`${APPROVAL_POLICIES.table}_body`)} check (jsonb_typeof(body) = 'object' and body ? 'approval')
1934
+ );
1935
+ create index if not exists ${quoteIdent(`${APPROVAL_POLICIES.table}_tenant`)} on ${table} (tenant);
1936
+ alter table ${table} enable row level security;
1937
+ revoke all on table ${table} from anon, public;
1938
+ grant select, insert, update, delete on table ${table} to authenticated;
1939
+ drop policy if exists ${policy("read")} on ${table};
1940
+ create policy ${policy("read")} on ${table}
1941
+ for select to authenticated
1942
+ using (tenant is null or ${member});
1943
+ drop policy if exists ${policy("insert")} on ${table};
1944
+ create policy ${policy("insert")} on ${table}
1945
+ for insert to authenticated
1946
+ with check (${own});
1947
+ drop policy if exists ${policy("update")} on ${table};
1948
+ create policy ${policy("update")} on ${table}
1949
+ for update to authenticated
1950
+ using (${own})
1951
+ with check (${own});
1952
+ drop policy if exists ${policy("delete")} on ${table};
1953
+ create policy ${policy("delete")} on ${table}
1954
+ for delete to authenticated
1955
+ using (${own});
1956
+
1957
+ -- approval policies: the enabled bodies for p_tenants and every floor, with the row's tenant; only the owner executes it
1958
+ create or replace function ${fn}(p_tenants text[])
1959
+ returns setof jsonb
1960
+ language sql
1961
+ stable
1962
+ set search_path = ''
1963
+ as $$
1964
+ select case
1965
+ when p.tenant is null then p.body - 'tenant'
1966
+ else p.body || jsonb_build_object('tenant', p.tenant)
1967
+ end
1968
+ from ${table} p
1969
+ where p.enabled
1970
+ and (p.tenant is null or p.tenant = any(coalesce(p_tenants, '{}')))
1971
+ order by p.tenant nulls first, p.created_at, p.id;
1972
+ $$;
1973
+ revoke execute on function ${fn}(text[]) from public, anon, authenticated;
1974
+ `;
1975
+ }
1976
+ //#endregion
1888
1977
  //#region src/cli/rls/approvals.ts
1889
1978
  /**
1890
1979
  * `rls.approvals`' approver check; better-supabase's `isApprover` template
@@ -2188,14 +2277,14 @@ grant execute on function ${fn}(jsonb, text) to authenticated;
2188
2277
  }
2189
2278
  /**
2190
2279
  * Everything `rls.approvals` writes: the generated or adopted store, the
2191
- * approver check and, with `delegations: true`, the covers. With
2192
- * `actorMayWrite`, the covers' write policies call
2193
- * `permdock_actor_may_write()`.
2280
+ * approver check, with `delegations: true` the covers, and with
2281
+ * `tenantPolicies` the tenant approval policies. With `actorMayWrite`, the
2282
+ * covers' write policies call `permdock_actor_may_write()`.
2194
2283
  */
2195
2284
  function approvalsSql(ctx, approvals, jsonSchema, actorMayWrite = false) {
2196
2285
  if (approvals === void 0 || approvals === false) return;
2197
2286
  if (approvals === true) return approvalStoreSql(ctx, jsonSchema) + isApproverSql(ctx);
2198
- const { table, delegations } = approvals;
2287
+ const { table, delegations, tenantPolicies } = approvals;
2199
2288
  if (delegations !== void 0 && typeof delegations !== "boolean") throw new TypeError("PermDock CLI: rls.approvals.delegations must be a boolean");
2200
2289
  let store;
2201
2290
  if (table === void 0) {
@@ -2212,7 +2301,7 @@ function approvalsSql(ctx, approvals, jsonSchema, actorMayWrite = false) {
2212
2301
  ...approvals,
2213
2302
  table
2214
2303
  }, jsonSchema);
2215
- return store + isApproverSql(ctx) + (delegations === true ? approvalDelegationsSql(ctx, actorMayWrite) : "");
2304
+ return store + isApproverSql(ctx) + (delegations === true ? approvalDelegationsSql(ctx, actorMayWrite) : "") + (tenantPolicies === void 0 ? "" : approvalPoliciesSql(ctx, tenantPolicies, actorMayWrite));
2216
2305
  }
2217
2306
  /**
2218
2307
  * The objects `rls.approvals.delegations` adds; `tableApprovalDelegationSource`
@@ -2847,6 +2936,10 @@ function hookParts(scopes, config, overrides) {
2847
2936
  sources: hook.memberships,
2848
2937
  budget: positiveInteger(overrides.budget ?? hook.budget ?? 1024, "budget"),
2849
2938
  version: hook.version !== false,
2939
+ broadcast: hook.version === false || hook.broadcast === false ? void 0 : {
2940
+ topic: hook.broadcast?.topic ?? "permdock:authz",
2941
+ receivePolicy: hook.broadcast?.receivePolicy ?? true
2942
+ },
2850
2943
  jwtExpiry: positiveInteger(hook.jwtExpiry ?? 900, "jwtExpiry"),
2851
2944
  tenantClaim,
2852
2945
  users: suspension?.users,
@@ -2964,7 +3057,60 @@ revoke execute on function ${bump}() from public, anon, authenticated;
2964
3057
  ${tables.map(([name, user]) => `drop trigger if exists ${quoteIdent(VERSION_TRIGGER)} on ${quoteQualified(name)};
2965
3058
  create trigger ${quoteIdent(VERSION_TRIGGER)}
2966
3059
  after insert or update or delete on ${quoteQualified(name)}
2967
- for each row execute function ${bump}(${quoteLiteral(user)});`).join("\n")}${memberUsersVersionSql(parts, bumpFor)}${roleKeysVersionSql(parts, versionTable)}`;
3060
+ for each row execute function ${bump}(${quoteLiteral(user)});`).join("\n")}${broadcastSql(parts, versionTable)}${memberUsersVersionSql(parts, bumpFor)}${roleKeysVersionSql(parts, versionTable)}`;
3061
+ }
3062
+ /**
3063
+ * Every version row written is sent as `{ user_id, version }` on the server
3064
+ * topic and on the user's `authz:<uid>`, in the shape better-supabase's
3065
+ * `subscribeAuthzVersions` and `SessionProvider` read.
3066
+ */
3067
+ function broadcastSql(parts, versionTable) {
3068
+ const broadcast = parts.broadcast;
3069
+ if (broadcast === void 0) return "";
3070
+ const send = `${quoteIdent(parts.schema)}.permdock_broadcast_authz_version`;
3071
+ const payload = "jsonb_build_object('user_id', new.user_id, 'version', new.version)";
3072
+ const event = quoteLiteral(AUTHZ_EVENT);
3073
+ const receive = broadcast.receivePolicy ? `
3074
+
3075
+ -- each user receives their own authz:<uid> topic, and no user may join the server topic
3076
+ do $$
3077
+ begin
3078
+ if to_regclass('realtime.messages') is not null and not exists (
3079
+ select 1 from pg_policies
3080
+ where schemaname = 'realtime' and tablename = 'messages'
3081
+ and policyname = 'permdock_authz_version_receive'
3082
+ ) then
3083
+ create policy permdock_authz_version_receive on realtime.messages
3084
+ for select to authenticated
3085
+ using (
3086
+ realtime.messages.extension = 'broadcast'
3087
+ and (select realtime.topic()) = 'authz:' || (select auth.uid())::text
3088
+ );
3089
+ end if;
3090
+ end;
3091
+ $$;` : "";
3092
+ return `
3093
+
3094
+ -- sends every version bump on the server topic and on the user's authz:<uid>
3095
+ create or replace function ${send}()
3096
+ returns trigger
3097
+ language plpgsql
3098
+ security definer
3099
+ set search_path = ''
3100
+ as $$
3101
+ begin
3102
+ if to_regprocedure('realtime.send(jsonb, text, text, boolean)') is not null then
3103
+ perform realtime.send(${payload}, ${event}, ${quoteLiteral(broadcast.topic)}, true);
3104
+ perform realtime.send(${payload}, ${event}, 'authz:' || new.user_id::text, true);
3105
+ end if;
3106
+ return null;
3107
+ end;
3108
+ $$;
3109
+ revoke execute on function ${send}() from public, anon, authenticated;
3110
+ drop trigger if exists permdock_authz_version_broadcast on ${versionTable};
3111
+ create trigger permdock_authz_version_broadcast
3112
+ after insert or update on ${versionTable}
3113
+ for each row execute function ${send}();${receive}`;
2968
3114
  }
2969
3115
  function signedUp(user) {
2970
3116
  return `exists (select 1 from auth.users a where a.id = ${user})`;
@@ -1,22 +1,22 @@
1
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";
2
+ import { d as scopeList, s as resolveScope } from "./scopes-BSdYaGHs.js";
3
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 "./budget-BELja5A9.js";
4
+ import { l as policyLevels } from "./policy-DxQyHKPB.js";
5
+ import { a as describeError, i as configError } from "./errors-BhRkoNS7.js";
6
+ import "./budget-BBCPDOGP.js";
7
7
  import { d as sqlTextArray, i as qualifySqlTable } from "./sql-0WjxIp9g.js";
8
8
  import { l as roleColumn } from "./sources-C4vkzZJV.js";
9
9
  import { t as beforeFirst } from "./text-BMFRfBqc.js";
10
- import { c as parseSplit } from "./output-files-BIQ_9pIs.js";
11
- import { x as resolveAuthorize } from "./supabase-hook-HPgwYb9V.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-DrGLwM3s.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-DimBcVWY.js";
14
- import { o as assignableRoles, r as unsatisfiedKinds, t as ownershipRules, u as roleNames } from "./ownership-qqBuGJXr.js";
10
+ import { c as parseSplit } from "./output-files-CM0BnH05.js";
11
+ import { x as resolveAuthorize } from "./supabase-hook-Cj85nccs.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-DyYVEjKC.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-BsGE6HBR.js";
14
+ import { o as assignableRoles, r as unsatisfiedKinds, t as ownershipRules, u as roleNames } from "./ownership-moSRhxl_.js";
15
15
  import { t as membershipSourcesOf } from "./sources-qoIJQrJv.js";
16
16
  import { i as group, o as sqlStatements } from "./deciding-columns-NB4wcyBf.js";
17
- import { d as orSql, h as branchClauses } from "./fields-DI8s3cPl.js";
18
- import { t as resolveNames } from "./resolve-names-Y1Cb22cp.js";
19
- import { m as tableFor } from "./verify-DfT0QYNh.js";
17
+ import { d as orSql, h as branchClauses } from "./fields-CrjL6A49.js";
18
+ import { t as resolveNames } from "./resolve-names-1nCei24V.js";
19
+ import { m as tableFor } from "./verify-C8G8D5mk.js";
20
20
  //#region src/cli/rls/custom-role-rebuild.ts
21
21
  const PREFIX = "PermDock CLI";
22
22
  /** A column of the roles-table row `r`. */
@@ -1,14 +1,14 @@
1
- import { c as requiredPlans } from "../errors-BIM4MFsJ.js";
2
- import { i as describe } from "../describe-BbFPBSms.js";
1
+ import { c as requiredPlans } from "../errors-Dc9FdamT.js";
2
+ import { i as describe } from "../describe-nalX_HHE.js";
3
3
  import { t as PermissionBoundaryState } from "../boundary-C9ck-3uK.js";
4
- import { n as ProtectedAction, t as ActionResult } from "../action-result-BcudBQOF.js";
4
+ import { _ as TenantView, a as ClientPermDock, c as GateMode, d as PermissionState, g as SubjectView, h as RolesOptions, i as ApprovalState, l as GateView, o as ClientStatus, p as ProtectedActionView, r as ApprovalHandle, s as FilterResult, u as PermissionSet, v as ActionResult, y as ProtectedAction } from "../store-g5ctUrOI.js";
5
+ import { a as broadcastChannelRefresh, c as visibilityRefresh, i as authzChangeRefresh, n as EventSourceRefreshOptions, o as eventSourceRefresh, r as RefreshTrigger, s as focusRefresh, t as AuthzChangeRefresh } from "../refresh-on-L9UOwATg.js";
5
6
  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-tQB2CEnY.js";
7
- import { i as ProtectedProps, n as ProtectedActionReadable, r as SveltePermDockOptions, s as PermissionBoundaryProps, t as PermDockDefaults } from "../types-CEinc15V.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-DZJvxFIZ.js";
7
+ import { i as ProtectedProps, n as ProtectedActionReadable, r as SveltePermDockOptions, s as PermissionBoundaryProps, t as PermDockDefaults } from "../types-DVZNTkU0.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-BtdN3eDO.js";
9
9
  import { Component } from "svelte";
10
10
  //#region src/svelte/index.d.ts
11
11
  export declare const Protected: Component<ProtectedProps>;
12
12
  export declare const PermissionBoundary: Component<PermissionBoundaryProps>;
13
13
  //#endregion
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 };
14
+ export { type ActionResult, type ApprovalHandle, type ApprovalState, type AuthzChangeRefresh, 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, authzChangeRefresh, broadcastChannelRefresh, describe, eventSourceRefresh, filtered, focusRefresh, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant, visibilityRefresh };
@@ -1,12 +1,12 @@
1
1
  import { r as requiredPlans } from "../problem-details-CLDgX1KV.js";
2
- import { n as describe } from "../describe-Bb4hGK5d.js";
2
+ import { n as describe } from "../describe-CogP1loh.js";
3
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";
4
+ import { r as approvalHeaders } from "../protected-action-B6n6w7Rl.js";
5
+ import { u as slotContent } from "../views-TrZYlDnM.js";
6
+ import { a as eventSourceRefresh, i as broadcastChannelRefresh, o as focusRefresh, r as authzChangeRefresh, s as visibilityRefresh } from "../store-options--zWn48PK.js";
7
+ import { n as getUi, t as getStore } from "../context-DeammvFl.js";
8
+ import { n as viewFor, t as scopedFor } from "../runtime-CBXkOcg9.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-53_kOwPi.js";
10
10
  import "svelte/internal/disclose-version";
11
11
  import * as $ from "svelte/internal/client";
12
12
  import { onDestroy } from "svelte";
@@ -119,4 +119,4 @@ function Protected$1($$anchor, $$props) {
119
119
  const Protected = Protected$1;
120
120
  const PermissionBoundary = PermissionBoundary$1;
121
121
  //#endregion
122
- export { PermissionBoundary, Protected, approval, approvalHeaders, assignable, assignablePermissions, describe, eventSourceRefresh, filtered, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant };
122
+ export { PermissionBoundary, Protected, approval, approvalHeaders, assignable, assignablePermissions, authzChangeRefresh, broadcastChannelRefresh, describe, eventSourceRefresh, filtered, focusRefresh, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant, visibilityRefresh };
@@ -1,7 +1,7 @@
1
- import { n as DescribeMessages } from "../describe-BbFPBSms.js";
1
+ import { n as DescribeMessages } from "../describe-nalX_HHE.js";
2
2
  import { n as boundaryDigest, r as boundaryFallback, t as PermissionBoundaryState } from "../boundary-C9ck-3uK.js";
3
- import { g as ClientStore } from "../types-tQB2CEnY.js";
4
- import { a as scopedFor, c as slotContent, i as ProtectedProps, o as viewFor, s as PermissionBoundaryProps, t as PermDockDefaults } from "../types-CEinc15V.js";
3
+ import { t as ClientStore } from "../store-g5ctUrOI.js";
4
+ import { a as scopedFor, c as slotContent, i as ProtectedProps, o as viewFor, s as PermissionBoundaryProps, t as PermDockDefaults } from "../types-DVZNTkU0.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
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";
2
+ import { u as slotContent } from "../views-TrZYlDnM.js";
3
+ import { n as getUi, t as getStore } from "../context-DeammvFl.js";
4
+ import { n as viewFor, t as scopedFor } from "../runtime-CBXkOcg9.js";
5
5
  export { boundaryDigest, boundaryFallback, getStore, getUi, scopedFor, slotContent, viewFor };
@@ -1,14 +1,14 @@
1
- import { c as requiredPlans } from "../errors-BIM4MFsJ.js";
2
- import { i as describe } from "../describe-BbFPBSms.js";
1
+ import { c as requiredPlans } from "../errors-Dc9FdamT.js";
2
+ import { i as describe } from "../describe-nalX_HHE.js";
3
3
  import { t as PermissionBoundaryState } from "../boundary-C9ck-3uK.js";
4
- import { n as ProtectedAction, t as ActionResult } from "../action-result-BcudBQOF.js";
4
+ import { _ as TenantView, a as ClientPermDock, c as GateMode, d as PermissionState, g as SubjectView, h as RolesOptions, i as ApprovalState, l as GateView, o as ClientStatus, p as ProtectedActionView, r as ApprovalHandle, s as FilterResult, u as PermissionSet, v as ActionResult, y as ProtectedAction } from "../store-g5ctUrOI.js";
5
+ import { a as broadcastChannelRefresh, c as visibilityRefresh, i as authzChangeRefresh, n as EventSourceRefreshOptions, o as eventSourceRefresh, r as RefreshTrigger, s as focusRefresh, t as AuthzChangeRefresh } from "../refresh-on-L9UOwATg.js";
5
6
  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-tQB2CEnY.js";
7
- import { i as ProtectedProps, n as ProtectedActionReadable, r as SveltePermDockOptions, s as PermissionBoundaryProps, t as PermDockDefaults } from "../types-CEinc15V.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-DZJvxFIZ.js";
7
+ import { i as ProtectedProps, n as ProtectedActionReadable, r as SveltePermDockOptions, s as PermissionBoundaryProps, t as PermDockDefaults } from "../types-DVZNTkU0.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-BtdN3eDO.js";
9
9
  import { Component } from "svelte";
10
10
  //#region src/svelte/source.d.ts
11
11
  export declare const Protected: Component<ProtectedProps>;
12
12
  export declare const PermissionBoundary: Component<PermissionBoundaryProps>;
13
13
  //#endregion
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 };
14
+ export { type ActionResult, type ApprovalHandle, type ApprovalState, type AuthzChangeRefresh, 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, authzChangeRefresh, broadcastChannelRefresh, describe, eventSourceRefresh, filtered, focusRefresh, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant, visibilityRefresh };
@@ -1,12 +1,12 @@
1
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";
2
+ import { n as describe } from "../describe-CogP1loh.js";
3
+ import { r as approvalHeaders } from "../protected-action-B6n6w7Rl.js";
4
+ import { a as eventSourceRefresh, i as broadcastChannelRefresh, o as focusRefresh, r as authzChangeRefresh, s as visibilityRefresh } from "../store-options--zWn48PK.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-53_kOwPi.js";
6
6
  import PermissionBoundaryComponent from "./PermissionBoundary.svelte";
7
7
  import ProtectedComponent from "./Protected.svelte";
8
8
  //#region src/svelte/source.ts
9
9
  const Protected = ProtectedComponent;
10
10
  const PermissionBoundary = PermissionBoundaryComponent;
11
11
  //#endregion
12
- export { PermissionBoundary, Protected, approval, approvalHeaders, assignable, assignablePermissions, describe, eventSourceRefresh, filtered, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant };
12
+ export { PermissionBoundary, Protected, approval, approvalHeaders, assignable, assignablePermissions, authzChangeRefresh, broadcastChannelRefresh, describe, eventSourceRefresh, filtered, focusRefresh, gate, getDescribe, getPermDock, memberships, permission, permissions, protectedAction, requiredPlans, roles, setPermDock, subject, tenant, visibilityRefresh };
@@ -1,9 +1,9 @@
1
- import { T as Policy, Zt as Snapshot, j as PolicyVocabulary, pr as Principal } from "../policy-types-DGIO_gxq.js";
1
+ import { $t as Snapshot, E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-IRJVABmm.js";
2
2
  import { u as Permission } from "../permission-types-CAY-GU7e.js";
3
3
  import { a as OperationInput, t as Operation } from "../operations-Ci_rT6Uo.js";
4
- import { a as PermDock } from "../permdock-CprAPN3w.js";
5
- import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, u as SnapshotQuery, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-CyRN0-Cd.js";
6
- import { a as ProtectTarget, i as PermDockHandlers, n as FetchAdapterOptions, t as ContextReader } from "../fetch-adapter-BIbBAtPZ.js";
4
+ import { a as PermDock } from "../permdock-DUWZEOLR.js";
5
+ import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, u as SnapshotQuery, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-Bw-lWqzR.js";
6
+ import { a as ProtectTarget, i as PermDockHandlers, n as FetchAdapterOptions, t as ContextReader } from "../fetch-adapter-BgqpOOpd.js";
7
7
  import { RequestEvent } from "@sveltejs/kit";
8
8
  //#region src/sveltekit/create.d.ts
9
9
  /**
@@ -1,5 +1,5 @@
1
- import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-IBceAeKT.js";
2
- import { n as guardedRoute, r as instanceRoute, t as fetchAdapter } from "../fetch-adapter-dPTgJVHd.js";
1
+ import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-DG40eSJa.js";
2
+ import { n as guardedRoute, r as instanceRoute, t as fetchAdapter } from "../fetch-adapter-UZOW0PRC.js";
3
3
  //#region src/sveltekit/create.ts
4
4
  const route = {
5
5
  context: (event) => event,