permdock 0.15.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 (375) 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-DLel53Oa.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-CL8CZnpL.js → arazzo-7kbeh1yi.js} +2 -2
  17. package/dist/{arazzo-CHK9NT6u.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-iAEXjmca.js → casbin-C3O_O9nu.js} +2 -2
  40. package/dist/{casbin-DRFwgVIP.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-eOtmuonF.js → cloud-DYqzmh5i.js} +4 -4
  65. package/dist/{codemod-KEDj_3zl.js → codemod-DNGMGqBS.js} +395 -8
  66. package/dist/{codemod-D6NYu4AK.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-DCza8aQY.js → completion-pwVjJlek.js} +3 -3
  75. package/dist/{config-CcLlvEYW.js → config-COHmivz9.js} +4 -4
  76. package/dist/{config-BAM3a3z8.js → config-DnfH6_eT.js} +2 -2
  77. package/dist/{config-report-VZcQ0ZpS.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-gIO9WTYo.js → doctor-BNRhJegR.js} +3 -3
  100. package/dist/{doctor-CMqPKuN_.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-DK_J8tVE.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-Buibrl9h.js → init-Dr1qAStu.js} +5 -5
  147. package/dist/{init-jLSyPMM7.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-CB55O4Gv.js → login-CXgEKLaW.js} +4 -4
  158. package/dist/{login-VVpkkund.js → login-DEVXDTX8.js} +4 -4
  159. package/dist/{manifest-CbEyvPN2.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-eHZ5hwUJ.js → openapi-D3wkvOoU.js} +4 -4
  178. package/dist/{openapi-CleDZYVf.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-BVZpQDad.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-CFWILHjb.js → powersync-BZxw_v-A.js} +3 -3
  205. package/dist/{powersync-uqYWxTjq.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-BBmCxnqX.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-yK2nZUcm.js → rls-BVzoZCn3.js} +4 -4
  235. package/dist/{rls-BwKXdVEW.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-D5WIJfs7.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-CzdMtHnq.js → scan-CepUXrFt.js} +1 -1
  245. package/dist/{schema-BDGEVO4g.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-BZxPQ_09.js → skills-BUuH-QFt.js} +2 -2
  260. package/dist/{skills-BIsm1n26.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-CGk4YpvC.js → supautils-BP_5WAIc.js} +20 -18
  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-e6M1Mls1.js → usage-COsGLht5.js} +6 -6
  335. package/dist/{usage-DBNrpwoT.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-CgIpJRcG.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/skills/permdock-data/references/queries-and-rls.md +1 -1
  364. package/dist/action-result-BcudBQOF.d.ts +0 -19
  365. package/dist/catalog-D3oS2GH3.js +0 -1
  366. package/dist/collect-D-eroIfV.js +0 -1
  367. package/dist/load-Dm0pSYH3.js +0 -1
  368. package/dist/output-files-BHOIlrfD.js +0 -1
  369. package/dist/powersync-CnGzxvEl.js +0 -1
  370. package/dist/pull-D6dloyrc.js +0 -1
  371. package/dist/renames-CGj7YwcQ.js +0 -175
  372. package/dist/run-DlQYPtPv.js +0 -1
  373. package/dist/supabase-hook-qsewAVZY.js +0 -1
  374. package/dist/usage-D3KJyaNS.js +0 -1
  375. package/dist/watch-CuPz0D2M.js +0 -1
@@ -1,5 +1,5 @@
1
1
  import { t as canonicalJson } from "./canonical-json-DwilZ1iB.js";
2
- import { r as sha256Digest } from "./sha256-C-4WXKIu.js";
2
+ import { n as sha256, r as sha256Digest } from "./sha256-C-4WXKIu.js";
3
3
  //#region src/core/token.ts
4
4
  /**
5
5
  * Only stable identity goes into the token, so refreshing a session (new roles,
@@ -23,6 +23,18 @@ function versionOf(row, field) {
23
23
  if (value instanceof Date) return Number.isNaN(value.getTime()) ? null : value.toISOString();
24
24
  return typeof value === "string" || typeof value === "number" || typeof value === "bigint" || typeof value === "boolean" ? String(value) : null;
25
25
  }
26
+ /**
27
+ * The hex SHA-256 of `value` as sorted-key JSON: the same string
28
+ * better-supabase's `approvalFingerprint` resolves to, returned synchronously.
29
+ * Pass the exact operation an approval covers (the subject, the action and its
30
+ * arguments) as `fingerprint` so an approval for one change cannot run
31
+ * another.
32
+ */
33
+ function approvalFingerprint(value) {
34
+ let hex = "";
35
+ for (const byte of sha256(canonicalJson(value))) hex += byte.toString(16).padStart(2, "0");
36
+ return hex;
37
+ }
26
38
  /** The digest that binds a token to the call's data when no row id does. */
27
39
  function payloadDigest(data) {
28
40
  return sha256Digest(canonicalJson(data));
@@ -37,10 +49,13 @@ function tokenPayload(resourceId, data, args) {
37
49
  return resourceId === "*" && data !== void 0 ? payloadDigest(data) : void 0;
38
50
  }
39
51
  /**
40
- * `version` is set only for an approval that goes stale on a resource change;
41
- * without it the payload, and so every other token, is unchanged. `payload` is
42
- * set when `resourceId` is `*` (a collection action or a row without an id), so
43
- * an approval covers the arguments it was given and no others.
52
+ * `source` names what decided: the policy fingerprint, `snapshot:<issuedAt>` or
53
+ * the PDP provider. `version` is set only for an approval that goes stale on a
54
+ * resource change; without it the payload, and so every other token, is
55
+ * unchanged. `payload` is set when `resourceId` is `*` (a collection action or
56
+ * a row without an id), so an approval covers the arguments it was given and no
57
+ * others. `fingerprint` is the caller's `approvalFingerprint` of the exact
58
+ * operation, bound only when given.
44
59
  */
45
60
  function decisionToken(input) {
46
61
  const payload = canonicalJson({
@@ -51,11 +66,12 @@ function decisionToken(input) {
51
66
  id: input.actor.id,
52
67
  kind: input.actor.kind
53
68
  },
54
- fingerprint: input.fingerprint,
69
+ source: input.source,
55
70
  ...input.version === void 0 ? {} : { version: input.version },
56
- ...input.payload === void 0 ? {} : { payload: input.payload }
71
+ ...input.payload === void 0 ? {} : { payload: input.payload },
72
+ ...input.fingerprint === void 0 ? {} : { fingerprint: input.fingerprint }
57
73
  });
58
74
  return sha256Digest(payload);
59
75
  }
60
76
  //#endregion
61
- export { versionOf as i, payloadDigest as n, tokenPayload as r, decisionToken as t };
77
+ export { versionOf as a, tokenPayload as i, decisionToken as n, payloadDigest as r, approvalFingerprint as t };
@@ -1,5 +1,5 @@
1
1
  import { t as wireDenials } from "./wire-denial-C7PaVYEM.js";
2
- import { n as describe } from "./describe-Bb4hGK5d.js";
2
+ import { n as describe } from "./describe-CogP1loh.js";
3
3
  //#region src/core/tool-refusal.ts
4
4
  function deniedToolRefusal(decision, permission, resource) {
5
5
  const alternatives = decision.alternatives.map((leaf) => leaf.key);
@@ -1,10 +1,10 @@
1
- import { T as Policy, pr as Principal } from "../policy-types-DGIO_gxq.js";
1
+ import { E as Policy, _r as Principal } 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";
3
+ import { a as PermDock } from "../permdock-DUWZEOLR.js";
4
4
  import { n as RevocationFeed } from "../revocations-BaUXHM1N.js";
5
- import { D as ConnectionOptions, T as Connection, i as OpenApiHooks } from "../server-types-CyRN0-Cd.js";
6
- import { t as ServerAdapterOptions } from "../bind-YYjvfpB9.js";
7
- import { t as StreamProtectOptions } from "../stream-9y9qw51m.js";
5
+ import { D as ConnectionOptions, T as Connection, i as OpenApiHooks } from "../server-types-Bw-lWqzR.js";
6
+ import { t as ServerAdapterOptions } from "../bind-DjFNX0Pq.js";
7
+ import { t as StreamProtectOptions } from "../stream-BMJg56jU.js";
8
8
  import { AnyTRPCMiddlewareFunction } from "@trpc/server";
9
9
  //#region src/trpc/create.d.ts
10
10
  type TrpcMiddlewareOpts<TCtx = object, TInput = unknown> = {
@@ -1,8 +1,8 @@
1
1
  import { o as problemMessage } from "../http-DKLXrFGk.js";
2
- import { t as problemFromError } from "../map-error-pasIGqMT.js";
3
- import { n as attached } from "../bind-BNQA9JK9.js";
2
+ import { t as problemFromError } from "../map-error-B_f3C5cs.js";
3
+ import { n as attached } from "../bind-BJFeLX1V.js";
4
4
  import { i as isAsyncIterable, o as reloadAfter } from "../stream-CDvF0sJm.js";
5
- import { i as rpcCode, n as guardStream, r as problemBody, t as bindRpcKernel } from "../rpc-vHIwyXCp.js";
5
+ import { i as rpcCode, n as guardStream, r as problemBody, t as bindRpcKernel } from "../rpc-BOu3FD6X.js";
6
6
  import { TRPCError, isTrackedEnvelope } from "@trpc/server";
7
7
  //#region src/trpc/create.ts
8
8
  const PROBLEM = Symbol.for("permdock.problem");
@@ -1,4 +1,4 @@
1
- import { bn as ScopeNames, j as PolicyVocabulary } from "./policy-types-DGIO_gxq.js";
1
+ import { M as PolicyVocabulary, Sn as ScopeNames } from "./policy-types-IRJVABmm.js";
2
2
  import { k as POLICY_SCOPES, u as Permission } from "./permission-types-CAY-GU7e.js";
3
3
  import { n as PlanTree } from "./vocabulary-DEJ5j4mR.js";
4
4
  import { o as OperationMap } from "./operations-Ci_rT6Uo.js";
@@ -1,4 +1,4 @@
1
- import { Sn as Approver } from "./policy-types-DGIO_gxq.js";
1
+ import { wn as Approver } from "./policy-types-IRJVABmm.js";
2
2
  //#region src/approvals/access-reviews/types.d.ts
3
3
  type AccessReviewStatus = "open" | "closed";
4
4
  type AccessReviewItemStatus = "pending" | "kept" | "revoked";
@@ -1,6 +1,6 @@
1
- import { Jn as ExplainedDecision, T as Policy, Un as Decision, fr as Membership, hr as Subject, j as PolicyVocabulary, pr as Principal } from "./policy-types-DGIO_gxq.js";
1
+ import { E as Policy, M as PolicyVocabulary, Qn as ExplainedDecision, _r as Principal, gr as Membership, qn as Decision, yr as Subject } from "./policy-types-IRJVABmm.js";
2
2
  import { f as PermissionTree, u as Permission } from "./permission-types-CAY-GU7e.js";
3
- import { C as PermissionCheck, a as PermDock, f as WhereResult, l as SimulateOptions, n as DecideOptions, o as PermDockOptions, r as DeriveOptions } from "./permdock-CprAPN3w.js";
3
+ import { O as PermissionCheck, a as PermDock, f as WhereResult, l as SimulateOptions, n as DecideOptions, o as PermDockOptions, r as DeriveOptions } from "./permdock-DUWZEOLR.js";
4
4
  //#region src/pdp/types.d.ts
5
5
  type RemotePdpAuth = {
6
6
  readonly bearer: string | (() => string | Promise<string>);
@@ -1,15 +1,18 @@
1
- import { Nn as RelationGrantee, Sn as Approver, Wt as Instant, fr as Membership, gn as WireDelegation, hr as Subject, o as ApprovalStage, r as ApprovalMode, vr as AdapterId } from "./policy-types-DGIO_gxq.js";
1
+ import { Kt as Instant, Ln as RelationGrantee, Sr as AdapterId, gr as Membership, i as ApprovalMode, n as ApprovalCombine, s as ApprovalStage, vn as WireDelegation, wn as Approver, yr as Subject } from "./policy-types-IRJVABmm.js";
2
2
  import { M as AppData } from "./permission-types-CAY-GU7e.js";
3
3
  //#region src/approvals/types.d.ts
4
4
  type ApprovalStatus = "pending" | "approved" | "rejected" | "expired";
5
5
  type ApprovalApprovers = {
6
- /** Under `mode: 'any'` (the default). */
6
+ /** Under `combine: 'any'` (the default). */
7
7
  readonly by?: Approver | readonly Approver[];
8
- readonly mode?: ApprovalMode;
9
- /** Under `mode: 'all'` or `'sequential'`. */
8
+ readonly combine?: ApprovalCombine;
9
+ /** Under `combine: 'all'` or `'sequential'`. */
10
10
  readonly stages?: readonly ApprovalStage[];
11
- /** `false` lets the request's principal approve it; absent means `true`. */
12
- readonly distinct?: boolean;
11
+ /**
12
+ * `'confirm'` lets the request's principal approve it; absent means
13
+ * `'authorize'`.
14
+ */
15
+ readonly mode?: ApprovalMode;
13
16
  /** Set when the approval no longer applies once the row's `version` changes. */
14
17
  readonly staleOn?: "resource-change";
15
18
  /**
@@ -123,6 +126,12 @@ type ApprovalRequest = {
123
126
  readonly vouched?: string;
124
127
  readonly note?: string;
125
128
  readonly consumedAt?: string;
129
+ /**
130
+ * The caller's `approvalFingerprint` of the exact operation, from the
131
+ * decision's `fingerprint`. Consuming or resuming under another one fails
132
+ * with `approval-fingerprint-mismatch`.
133
+ */
134
+ readonly fingerprint?: string;
126
135
  /**
127
136
  * The application's own data, set when the request opens; plain JSON, never
128
137
  * read by a decision.
@@ -213,7 +222,7 @@ type ApprovalStore = {
213
222
  consume: (token: string, now?: Instant) => Promise<ApprovalRequest | null> | ApprovalRequest | null;
214
223
  cancel?: (filter: ApprovalListFilter, meta: ApprovalCancelMeta) => Promise<number> | number;
215
224
  };
216
- type ApprovalResumeFailureCause = "approval-not-found" | "approval-pending" | "approval-rejected" | "approval-expired" | "approval-consumed";
225
+ type ApprovalResumeFailureCause = "approval-not-found" | "approval-pending" | "approval-rejected" | "approval-expired" | "approval-consumed" | "approval-fingerprint-mismatch";
217
226
  type ApprovalInspectResult = {
218
227
  readonly ok: true;
219
228
  readonly request: ApprovalRequest;
@@ -1,8 +1,8 @@
1
- import { J as DecisionSink, ct as SnapshotSource, hr as Subject, ht as TokenVerifier, mt as TokenSigner } from "./policy-types-DGIO_gxq.js";
2
- import { s as PolicySource } from "./hosted-DVxlLZMe.js";
3
- import { m as ApprovalStore, u as ApprovalRequest } from "./types-DLvhVm1r.js";
4
- import { a as CatalogDocument } from "./types-ZzRGoViD.js";
5
- import { a as CatalogFinding } from "./sink-B5zoUW_O.js";
1
+ import { Y as DecisionSink, _t as TokenVerifier, gt as TokenSigner, lt as SnapshotSource, yr as Subject } from "./policy-types-IRJVABmm.js";
2
+ import { s as PolicySource } from "./hosted-DxRLLiFU.js";
3
+ import { m as ApprovalStore, u as ApprovalRequest } from "./types-BvBbkAu1.js";
4
+ import { a as CatalogDocument } from "./types-NYoj8JBm.js";
5
+ import { a as CatalogFinding } from "./sink-DUzt0e4B.js";
6
6
  //#region src/cloud/types.d.ts
7
7
  type CloudEndpointOptions = {
8
8
  readonly url?: string;
@@ -1,4 +1,4 @@
1
- import { h as RoleThrough, m as RoleMap, s as SqlMembershipSource } from "./sources-oB1Hg1Fm.js";
1
+ import { h as RoleThrough, m as RoleMap, s as SqlMembershipSource } from "./sources-CXY05xtB.js";
2
2
  //#region src/cli/core/errors.d.ts
3
3
  /**
4
4
  * 0 success, 1 failure, 2 usage, 3 action required, 130 interrupted (SIGINT or
@@ -454,6 +454,16 @@ type RlsApprovalsAdopt = {
454
454
  * same rows for `approvalsHandler`. Off by default.
455
455
  */
456
456
  readonly delegations?: boolean;
457
+ /**
458
+ * Add `approval_policies`, the approval requirements a tenant keeps as data,
459
+ * and `permdock_approval_policies_for`, which `tableApprovalPolicySource`
460
+ * reads. A holder of the `manage` permission key in a tenant writes that
461
+ * tenant's rows; rows with `tenant` null are platform floors, written only by
462
+ * the table owner. Off by default.
463
+ */
464
+ readonly tenantPolicies?: {
465
+ readonly manage: string;
466
+ };
457
467
  /** A text column unique per request. Default `token`. */
458
468
  readonly token?: string;
459
469
  /** A jsonb column holding the `ApprovalRequest`. Default `body`. */
@@ -811,6 +821,19 @@ type SupabaseHookConfig = {
811
821
  * `true`.
812
822
  */
813
823
  readonly version?: boolean;
824
+ /**
825
+ * Broadcast every version bump as `{ user_id, version }` with event `changed`
826
+ * on `topic`, which no user may join, and on the user's own `authz:<uid>`.
827
+ * `topic` defaults to `better_supabase:authz` in a better-supabase project,
828
+ * else `permdock:authz`. `receivePolicy` writes the `realtime.messages`
829
+ * policy that lets a user receive `authz:<uid>`; it defaults to `true`, and
830
+ * to `false` when better-supabase's `sessions.authzVersions` writes the same
831
+ * policy. `false` sends nothing.
832
+ */
833
+ readonly broadcast?: false | {
834
+ readonly topic?: string;
835
+ readonly receivePolicy?: boolean;
836
+ };
814
837
  /**
815
838
  * Write PostgREST wrappers for `subject_for`, `members_of` and
816
839
  * `authz_version_for` into `schema` (default `public`), named
@@ -1,5 +1,5 @@
1
- import { Z as JwtClaims, hr as Subject, ht as TokenVerifier, nt as MembershipSource, pr as Principal, pt as TokenFailureCause, rn as AuthEvent, rr as Actor } from "./policy-types-DGIO_gxq.js";
2
- import { m as ApprovalStore } from "./types-DLvhVm1r.js";
1
+ import { Q as JwtClaims, _r as Principal, _t as TokenVerifier, an as AuthEvent, ht as TokenFailureCause, rt as MembershipSource, sr as Actor, yr as Subject } from "./policy-types-IRJVABmm.js";
2
+ import { m as ApprovalStore } from "./types-BvBbkAu1.js";
3
3
  import { n as RevocationFeed } from "./revocations-BaUXHM1N.js";
4
4
  import { t as ClaimsMap } from "./claims-map-D1Pb5oRq.js";
5
5
  import { t as ClientNames } from "./clients-C_NOET3z.js";
@@ -1,7 +1,7 @@
1
- import { Zt as Snapshot, ct as SnapshotSource, ht as TokenVerifier } from "./policy-types-DGIO_gxq.js";
2
- import { n as DescribeMessages } from "./describe-BbFPBSms.js";
3
- import { _ as ClientStoreOptions } from "./types-tQB2CEnY.js";
4
- import { t as PermDockDefaults } from "./types-rCRV4Ge-.js";
1
+ import { $t as Snapshot, _t as TokenVerifier, lt as SnapshotSource } from "./policy-types-IRJVABmm.js";
2
+ import { n as DescribeMessages } from "./describe-nalX_HHE.js";
3
+ import { n as ClientStoreOptions } from "./store-g5ctUrOI.js";
4
+ import { t as PermDockDefaults } from "./types-e82uzrTn.js";
5
5
  import { ReactNode } from "react";
6
6
  //#region src/react-native/types.d.ts
7
7
  type SnapshotStorage = {
@@ -1,9 +1,8 @@
1
- import { Hn as ApprovalRequiredDecision, Un as Decision, Yn as GrantedDecision, Zt as Snapshot, ht as TokenVerifier } from "./policy-types-DGIO_gxq.js";
1
+ import { $n as GrantedDecision, $t as Snapshot, Kn as ApprovalRequiredDecision, _t as TokenVerifier, qn as Decision } 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";
3
+ import { a as PermDock } from "./permdock-DUWZEOLR.js";
4
4
  import { t as PermissionBoundaryState } from "./boundary-C9ck-3uK.js";
5
- import { t as ActionResult } from "./action-result-BcudBQOF.js";
6
- import { d as ProtectedActionView, f as ProviderOptionsBase, g as ClientStore, l as PermissionState } from "./types-tQB2CEnY.js";
5
+ import { d as PermissionState, m as ProviderOptionsBase, p as ProtectedActionView, t as ClientStore, v as ActionResult } from "./store-g5ctUrOI.js";
7
6
  import { Snippet } from "svelte";
8
7
  import { Readable } from "svelte/store";
9
8
  //#region src/client/views.d.ts
@@ -56,12 +56,12 @@ type CatalogBreakGlass = {
56
56
  };
57
57
  type CatalogApproval = "human" | {
58
58
  readonly by?: unknown;
59
- readonly mode?: "any" | "all" | "sequential";
59
+ readonly combine?: "any" | "all" | "sequential";
60
60
  readonly stages?: readonly {
61
61
  readonly by: unknown;
62
62
  readonly quorum?: number;
63
63
  }[];
64
- readonly distinct?: boolean;
64
+ readonly mode?: "confirm" | "authorize";
65
65
  readonly staleOn?: "resource-change";
66
66
  readonly quorum?: number;
67
67
  /** Seconds. */
@@ -1,5 +1,5 @@
1
- import { j as PolicyVocabulary, on as DecisionEvent } from "./policy-types-DGIO_gxq.js";
2
- import { a as PermDock } from "./permdock-CprAPN3w.js";
1
+ import { M as PolicyVocabulary, cn as DecisionEvent } from "./policy-types-IRJVABmm.js";
2
+ import { a as PermDock } from "./permdock-DUWZEOLR.js";
3
3
  //#region src/otel/types.d.ts
4
4
  declare const GENAI_SEMCONV_PIN = "1.37.0";
5
5
  declare const GEN_AI_TOOL_NAME = "gen_ai.tool.name";
@@ -1,6 +1,6 @@
1
- import { Yn as GrantedDecision, cn as DeliveryEvent, dn as EmailCategory, ln as DeliveryFailureCause, sn as DeliveryChannel } from "./policy-types-DGIO_gxq.js";
2
- import { s as CloudEvent } from "./sink-B5zoUW_O.js";
3
- import { t as ApprovalPrompt } from "./approval-prompt-3BqWczTt.js";
1
+ import { $n as GrantedDecision, dn as DeliveryFailureCause, ln as DeliveryChannel, pn as EmailCategory, un as DeliveryEvent } from "./policy-types-IRJVABmm.js";
2
+ import { s as CloudEvent } from "./sink-DUzt0e4B.js";
3
+ import { t as ApprovalPrompt } from "./approval-prompt-BSh-yxbH.js";
4
4
  //#region src/delivery/types.d.ts
5
5
  /**
6
6
  * Who a delivery goes to. `{ principal }` names an app principal and the
@@ -1,8 +1,8 @@
1
- import { Hn as ApprovalRequiredDecision, Un as Decision, Yn as GrantedDecision, Zt as Snapshot, ht as TokenVerifier } from "./policy-types-DGIO_gxq.js";
1
+ import { $n as GrantedDecision, $t as Snapshot, Kn as ApprovalRequiredDecision, _t as TokenVerifier, qn as Decision } from "./policy-types-IRJVABmm.js";
2
2
  import { u as Permission } from "./permission-types-CAY-GU7e.js";
3
- import { s as RowData } from "./permdock-CprAPN3w.js";
4
- import { n as DescribeMessages } from "./describe-BbFPBSms.js";
5
- import { _ as ClientStoreOptions } from "./types-tQB2CEnY.js";
3
+ import { s as RowData } from "./permdock-DUWZEOLR.js";
4
+ import { n as DescribeMessages } from "./describe-nalX_HHE.js";
5
+ import { n as ClientStoreOptions } from "./store-g5ctUrOI.js";
6
6
  import { ReactNode } from "react";
7
7
  //#region src/react/types.d.ts
8
8
  type PermDockProviderProps = ({
@@ -1,4 +1,4 @@
1
- import { s as PermDockPluginOptions } from "../types-Cklw5hJo.js";
1
+ import { s as PermDockPluginOptions } from "../types-CAAN7evk.js";
2
2
  import { createUnplugin } from "unplugin";
3
3
  //#region src/unplugin/index.d.ts
4
4
  type CreateUnplugin = typeof createUnplugin<PermDockPluginOptions | undefined>;
@@ -1,5 +1,5 @@
1
- import { n as createCollectScheduler, r as report } from "../watch-DAkjm75Y.js";
2
- import { r as peerHint } from "../peer-Q0fuZ6hx.js";
1
+ import { n as createCollectScheduler, r as report } from "../watch-DXRDBSCu.js";
2
+ import { r as peerHint } from "../peer-BuK9F53f.js";
3
3
  import { createRequire } from "node:module";
4
4
  //#region src/unplugin/index.ts
5
5
  function loadCreateUnplugin() {
@@ -1,13 +1,13 @@
1
1
  import { a as getResource } from "./permission-registry-B8tYxPIt.js";
2
- import { u as usageResult } from "./errors-Vpu6rKHl.js";
2
+ import { u as usageResult } from "./errors-BhRkoNS7.js";
3
3
  import { a as rel, r as listSourceFiles } from "./files-BSjrtIHw.js";
4
4
  import { o as USAGE_REPORT_SCHEMA } from "./version-DMQ0dnN5.js";
5
- import { c as jsonSchemaOf } from "./catalog-doc-DjMKzJp9.js";
6
- import { a as loadModule, n as asPolicy, s as pickNamed } from "./load-DjSU5KXO.js";
7
- import { r as runCollect } from "./collect-WCl8cJQV.js";
5
+ import { c as jsonSchemaOf } from "./catalog-doc-C4DGfJCO.js";
6
+ import { a as loadModule, n as asPolicy, s as pickNamed } from "./load-BaEamml-.js";
7
+ import { r as runCollect } from "./collect-HfJXl8Tr.js";
8
8
  import { t as beforeFirst } from "./text-BMFRfBqc.js";
9
- import { t as DOCS_BASE } from "./manifest-CbEyvPN2.js";
10
- import { r as findingOf } from "./output-BVZpQDad.js";
9
+ import { t as DOCS_BASE } from "./manifest-Dij1U0hx.js";
10
+ import { r as findingOf } from "./output-DhTpe8v1.js";
11
11
  import { existsSync, readFileSync, realpathSync } from "node:fs";
12
12
  import { dirname, resolve } from "node:path";
13
13
  import { fileURLToPath, pathToFileURL } from "node:url";
@@ -1,5 +1,5 @@
1
1
  import { t as defineLeaf } from "./command-L8EstFNm.js";
2
- import { a as failOnFlag } from "./flags-DXjoTVbS.js";
2
+ import { a as failOnFlag } from "./flags-BlmpmXoY.js";
3
3
  //#region src/cli/commands/usage.ts
4
4
  const usage = defineLeaf({
5
5
  flags: {
@@ -16,7 +16,7 @@ const usage = defineLeaf({
16
16
  }
17
17
  },
18
18
  async run(ctx, { flags }) {
19
- return (await import("./usage-D3KJyaNS.js")).runUsage({
19
+ return (await import("./usage-D1cpHO7p.js")).runUsage({
20
20
  cwd: ctx.cwd,
21
21
  config: ctx.config,
22
22
  ignore: flags.ignore,
@@ -0,0 +1 @@
1
+ export { t as runUsage } from "./usage-COsGLht5.js";
@@ -1,4 +1,4 @@
1
- import { a as ProblemDetails } from "./errors-BIM4MFsJ.js";
1
+ import { a as ProblemDetails } from "./errors-Dc9FdamT.js";
2
2
  import { StandardSchemaV1 } from "@standard-schema/spec";
3
3
  //#region src/core/validation-error.d.ts
4
4
  /**
@@ -1,35 +1,35 @@
1
1
  import { a as sole, r as isRecord } from "./compact-CAf557ZB.js";
2
2
  import { l as isConditionRef, o as hasConditionOp } from "./refs-C8BKxc_e.js";
3
- import { j as memoryCustomRoleSource, x as memoryRelationSource } from "./src-C_pi2Rnh.js";
3
+ import { M as memoryCustomRoleSource, S as memoryRelationSource } from "./src-nYNBfmgq.js";
4
4
  import { c as listPermissions, h as formerKeys, n as findPermission } from "./permission-registry-B8tYxPIt.js";
5
5
  import { c as isEdgeRelation, l as isFieldRelation, u as isPrincipalRelation } from "./resource-relations-8-pCScBO.js";
6
6
  import { f as nowMillis, u as isoAt } from "./time-nR1JesoH.js";
7
7
  import { t as canonicalJson } from "./canonical-json-DwilZ1iB.js";
8
- import { f as scopeList, l as rootScope, o as normalizeMemberships } from "./scopes-0Up_UA2t.js";
9
- import { o as requiresStandIn } from "./delegation-CDB6_keF.js";
10
- import { p as scopeField } from "./tenancy-5d1zVBvK.js";
11
- import { l as policyLevels, t as coveredLevels } from "./policy-CLQ8__GF.js";
8
+ import { c as rootScope, d as scopeList, o as normalizeMemberships } from "./scopes-BSdYaGHs.js";
9
+ import { o as requiresStandIn } from "./delegation-aK4T_5WU.js";
10
+ import { p as scopeField } from "./tenancy-DvOHHk3-.js";
11
+ import { l as policyLevels, t as coveredLevels } from "./policy-DxQyHKPB.js";
12
12
  import { t as requiresApproval } from "./approval-required-TzNB9oQA.js";
13
- import { c as andWhere, m as customRoleScope, v as leveled, y as membershipsClaim } from "./evaluate-BAmf_AQd.js";
14
- import { t as getPermDock } from "./permdock-BvjivVb9.js";
15
- import { a as describeError, i as configError, u as usageResult } from "./errors-Vpu6rKHl.js";
13
+ import { c as andWhere, m as customRoleScope, v as leveled, y as membershipsClaim } from "./evaluate-CsjXeLRo.js";
14
+ import { t as getPermDock } from "./permdock-DdzMv5-F.js";
15
+ import { a as describeError, i as configError, u as usageResult } from "./errors-BhRkoNS7.js";
16
16
  import { t as policyRowConditionKeys } from "./row-conditions-BAGHOmVq.js";
17
17
  import { s as writeFileEnsuringDir } from "./files-BSjrtIHw.js";
18
- import { c as jsonSchemaOf } from "./catalog-doc-DjMKzJp9.js";
19
- import { o as loadPolicyAt } from "./load-DjSU5KXO.js";
20
- import "./budget-BELja5A9.js";
18
+ import { c as jsonSchemaOf } from "./catalog-doc-C4DGfJCO.js";
19
+ import { o as loadPolicyAt } from "./load-BaEamml-.js";
20
+ import "./budget-BBCPDOGP.js";
21
21
  import { i as qualifySqlTable, n as defaultSqlCommand, t as SQL_IDENT } from "./sql-0WjxIp9g.js";
22
- import { a as scopeMembershipTable, i as scopeColumn } from "./compile-EzEMB-7v.js";
22
+ import { a as scopeMembershipTable, i as scopeColumn } from "./compile-B_oJqmIg.js";
23
23
  import "./sources-C4vkzZJV.js";
24
24
  import { t as beforeFirst } from "./text-BMFRfBqc.js";
25
- import { t as DOCS_BASE } from "./manifest-CbEyvPN2.js";
26
- import { n as fixtureSubject, r as loadFixtures, t as fixtureRow } from "./fixtures-Bm4_K1ke.js";
27
- import { A as quoteQualified, N as arrayColumnsOf, O as quoteIdent, P as columnTypesOf, _ as subjectClaimJsonSql, a as customRolesOn, j as quoteTable, k as quoteLiteral, r as HELPERS, v as subjectClaimSql } from "./shared-DrGLwM3s.js";
28
- import { C as accessSql, D as tokenScopeAllowsCall, S as requiresSql, ht as scopeTable, k as capabilityAccessSql, n as tableNameOf, o as graphPlan, q as apiKeyAllowsCall, r as tableNames } from "./tables-DimBcVWY.js";
29
- import { c as breakGlassKey, f as compileConditionSql, l as collectGrants, m as sqlFunctionNames, p as contextRefs, s as breakGlassHolder } from "./ownership-qqBuGJXr.js";
25
+ import { t as DOCS_BASE } from "./manifest-Dij1U0hx.js";
26
+ import { n as fixtureSubject, r as loadFixtures, t as fixtureRow } from "./fixtures-0VTW5oNq.js";
27
+ import { A as quoteQualified, N as arrayColumnsOf, O as quoteIdent, P as columnTypesOf, _ as subjectClaimJsonSql, a as customRolesOn, j as quoteTable, k as quoteLiteral, r as HELPERS, v as subjectClaimSql } from "./shared-DyYVEjKC.js";
28
+ import { C as accessSql, D as tokenScopeAllowsCall, S as requiresSql, ht as scopeTable, k as capabilityAccessSql, n as tableNameOf, o as graphPlan, q as apiKeyAllowsCall, r as tableNames } from "./tables-BsGE6HBR.js";
29
+ import { c as breakGlassKey, f as compileConditionSql, l as collectGrants, m as sqlFunctionNames, p as contextRefs, s as breakGlassHolder } from "./ownership-moSRhxl_.js";
30
30
  import { t as membershipSourcesOf } from "./sources-qoIJQrJv.js";
31
- import { n as pgConnector, t as connectPgPool } from "./pg-DQTqRrou.js";
32
- import { _ as wrapSql, g as validitySql, m as andSql, s as viewName, t as FIELD_VIEWS } from "./fields-DI8s3cPl.js";
31
+ import { n as pgConnector, t as connectPgPool } from "./pg-Ddxsd5ZB.js";
32
+ import { _ as wrapSql, g as validitySql, m as andSql, s as viewName, t as FIELD_VIEWS } from "./fields-CrjL6A49.js";
33
33
  import { resolve } from "node:path";
34
34
  import { createHash, randomUUID } from "node:crypto";
35
35
  //#region src/cli/rls/indexes.ts
@@ -1,4 +1,4 @@
1
- import { Wt as Instant, yt as VersionQuery } from "./policy-types-DGIO_gxq.js";
1
+ import { Kt as Instant, xt as VersionQuery } from "./policy-types-IRJVABmm.js";
2
2
  //#region src/core/version-cache.d.ts
3
3
  type VersionCacheStats = {
4
4
  /** Version reads the cache started. */
@@ -20,12 +20,18 @@ type VersionCache = {
20
20
  readonly maxStaleMs: number;
21
21
  /**
22
22
  * The current version of `principal`. With `live: false`, an entry at most
23
- * `maxStaleMs` old answers, a read in flight is shared, and a token claim
24
- * newer than the entry raises it; with `live: true`, `read` runs.
23
+ * `maxStaleMs` old answers and a read in flight is shared; with `live: true`,
24
+ * `read` runs.
25
25
  */
26
26
  current: (principal: VersionQuery, read: () => number | undefined | Promise<number | undefined>, options: {
27
27
  readonly live: boolean;
28
28
  }) => number | undefined | Promise<number | undefined>;
29
+ /**
30
+ * Stores a version read at `at` (default now): `bsb.bootstrap()`'s
31
+ * `authz_ver`, or a token claim dated by its `iat`. A seed never lowers a
32
+ * cached version, and one dated in the future is ignored.
33
+ */
34
+ seed: (principal: string, version: number, at?: Instant) => void;
29
35
  /** Drops `principal`'s entry, so the next instance reads the version. */
30
36
  evict: (principal: string) => void;
31
37
  stats: () => VersionCacheStats;
@@ -1,5 +1,5 @@
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
  //#region src/client/views.ts
4
4
  function permissionSet(store, permissions, data) {
5
5
  const granted = [];
@@ -1,13 +1,13 @@
1
- import { Hn as ApprovalRequiredDecision, Un as Decision, Zt as Snapshot, fr as Membership, ht as TokenVerifier, j as PolicyVocabulary } from "../policy-types-DGIO_gxq.js";
1
+ import { $t as Snapshot, Kn as ApprovalRequiredDecision, M as PolicyVocabulary, _t as TokenVerifier, gr as Membership, qn as Decision } from "../policy-types-IRJVABmm.js";
2
2
  import { u as Permission } from "../permission-types-CAY-GU7e.js";
3
3
  import { r as Role } from "../vocabulary-DEJ5j4mR.js";
4
- import { d as UncheckedData, s as RowData } from "../permdock-CprAPN3w.js";
5
- import { c as requiredPlans } from "../errors-BIM4MFsJ.js";
6
- import { i as describe, r as DescribeOptions, t as DecisionDescription } from "../describe-BbFPBSms.js";
4
+ import { d as UncheckedData, s as RowData } from "../permdock-DUWZEOLR.js";
5
+ import { c as requiredPlans } from "../errors-Dc9FdamT.js";
6
+ import { i as describe, r as DescribeOptions, t as DecisionDescription } from "../describe-nalX_HHE.js";
7
7
  import { t as PermissionBoundaryState } from "../boundary-C9ck-3uK.js";
8
- import { n as ProtectedAction, t as ActionResult } from "../action-result-BcudBQOF.js";
8
+ import { _ as TenantView, a as ClientPermDock, c as GateMode, d as PermissionState, g as SubjectView, h as RolesOptions, i as ApprovalState, l as GateView, m as ProviderOptionsBase, 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";
9
+ 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";
9
10
  import { t as approvalHeaders } from "../headers-B9jQxjtW.js";
10
- import { a as FilterResult, b as eventSourceRefresh, c as PermissionSet, d as ProtectedActionView, f as ProviderOptionsBase, 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";
11
11
  import { ComputedRef, DefineComponent, MaybeRefOrGetter, Plugin, VNode } from "vue";
12
12
  //#region src/vue/types.d.ts
13
13
  type PermDockPluginOptions = ProviderOptionsBase & {
@@ -130,4 +130,4 @@ type ProtectedProps = {
130
130
  };
131
131
  export declare const Protected: DefineComponent<ProtectedProps>;
132
132
  //#endregion
133
- export { type ActionResult, type ApprovalHandle, type ApprovalState, type ClientPermDock, type ClientStatus, type EventSourceRefreshOptions, type FilterResult, type GateMode, type GateView, type PermDockDefaults, type PermDockPluginOptions, type PermissionBoundaryState, type PermissionSet, type PermissionState, type ProtectedAction, type ProtectedActionRefs, type ProtectedActionView, type ProtectedProps, type RefreshTrigger, type RolesOptions, type SubjectView, type TenantView, approvalHeaders, describe, eventSourceRefresh, requiredPlans };
133
+ export { type ActionResult, type ApprovalHandle, type ApprovalState, type AuthzChangeRefresh, type ClientPermDock, type ClientStatus, type EventSourceRefreshOptions, type FilterResult, type GateMode, type GateView, type PermDockDefaults, type PermDockPluginOptions, type PermissionBoundaryState, type PermissionSet, type PermissionState, type ProtectedAction, type ProtectedActionRefs, type ProtectedActionView, type ProtectedProps, type RefreshTrigger, type RolesOptions, type SubjectView, type TenantView, approvalHeaders, authzChangeRefresh, broadcastChannelRefresh, describe, eventSourceRefresh, focusRefresh, requiredPlans, visibilityRefresh };
package/dist/vue/index.js CHANGED
@@ -1,10 +1,10 @@
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 { n as actionRunner, r as approvalHeaders, t as actionApproval } from "../protected-action-DUYqb-Ma.js";
5
- import { a as livePermDock, c as rolesView, d as subjectView, f as tenantView, i as gateView, l as scopedTenant, n as describeWith, o as permissionSet, r as filterResult, s as protectedView, t as approvalHandle, u as slotContent } from "../views-CD8wuL4Z.js";
6
- import { a as isPromiseLike, r as eventSourceRefresh } from "../store-options-Dil3lraY.js";
7
- import { n as switchTenant, t as providerStore } from "../provider-store-CaTv00tr.js";
4
+ import { n as actionRunner, r as approvalHeaders, t as actionApproval } from "../protected-action-B6n6w7Rl.js";
5
+ import { a as livePermDock, c as rolesView, d as subjectView, f as tenantView, i as gateView, l as scopedTenant, n as describeWith, o as permissionSet, r as filterResult, s as protectedView, t as approvalHandle, u as slotContent } from "../views-TrZYlDnM.js";
6
+ import { a as eventSourceRefresh, i as broadcastChannelRefresh, l as isPromiseLike, o as focusRefresh, r as authzChangeRefresh, s as visibilityRefresh } from "../store-options--zWn48PK.js";
7
+ import { n as switchTenant, t as providerStore } from "../provider-store-BQP_pp8s.js";
8
8
  import { computed, defineComponent, effectScope, getCurrentScope, inject, isRef, onErrorCaptured, onScopeDispose, provide, shallowRef, toValue, watch } from "vue";
9
9
  //#region src/vue/context.ts
10
10
  const permDockKey = Symbol("permdock");
@@ -246,4 +246,4 @@ const Protected = defineComponent({
246
246
  }
247
247
  });
248
248
  //#endregion
249
- export { PermissionBoundary, Protected, approvalHeaders, describe, eventSourceRefresh, permdockPlugin, requiredPlans, useApproval, useAssignablePermissions, useAssignableRoles, useDescribe, useFilter, useGate, useMemberships, usePermDock, usePermission, usePermissionBoundary, usePermissions, useProtectedAction, useRoles, useSubject, useTenant };
249
+ export { PermissionBoundary, Protected, approvalHeaders, authzChangeRefresh, broadcastChannelRefresh, describe, eventSourceRefresh, focusRefresh, permdockPlugin, requiredPlans, useApproval, useAssignablePermissions, useAssignableRoles, useDescribe, useFilter, useGate, useMemberships, usePermDock, usePermission, usePermissionBoundary, usePermissions, useProtectedAction, useRoles, useSubject, useTenant, visibilityRefresh };
@@ -1,5 +1,5 @@
1
- import { Wt as Instant } from "./policy-types-DGIO_gxq.js";
2
- import { m as ApprovalStore } from "./types-DLvhVm1r.js";
1
+ import { Kt as Instant } from "./policy-types-IRJVABmm.js";
2
+ import { m as ApprovalStore } from "./types-BvBbkAu1.js";
3
3
  //#region src/workflow/waiter.d.ts
4
4
  type ApprovalWaitOptions = {
5
5
  /**
@@ -1,8 +1,8 @@
1
1
  import { i as dateAt } from "./time-nR1JesoH.js";
2
- import { a as describeError } from "./errors-Vpu6rKHl.js";
2
+ import { a as describeError } from "./errors-BhRkoNS7.js";
3
3
  import { t as defaultSrcPath } from "./files-BSjrtIHw.js";
4
- import { r as runCollect } from "./collect-WCl8cJQV.js";
5
- import { n as isConfigFile, r as loadConfig } from "./config-CcLlvEYW.js";
4
+ import { r as runCollect } from "./collect-HfJXl8Tr.js";
5
+ import { n as isConfigFile, r as loadConfig } from "./config-COHmivz9.js";
6
6
  import { watch } from "node:fs";
7
7
  import { basename, dirname, relative, resolve, sep } from "node:path";
8
8
  //#region src/cli/watch.ts
@@ -0,0 +1 @@
1
+ export { i as watchCollect } from "./watch-DXRDBSCu.js";
@@ -1,4 +1,4 @@
1
- import { Un as Decision, Zt as Snapshot } from "../policy-types-DGIO_gxq.js";
1
+ import { $t as Snapshot, qn as Decision } from "../policy-types-IRJVABmm.js";
2
2
  import { f as PermissionTree, u as Permission } from "../permission-types-CAY-GU7e.js";
3
3
  import { StandardSchemaV1 } from "@standard-schema/spec";
4
4
  //#region src/webmcp/types.d.ts
@@ -3,7 +3,7 @@ import { n as PermDockValidationError } from "../validation-error-CYg2kJEw.js";
3
3
  import { c as listPermissions, f as resourceOfNode, i as getRegistry, m as annotationsFor, s as isRegistryTree } from "../permission-registry-B8tYxPIt.js";
4
4
  import { n as isThenable, t as ignoreRejection } from "../thenable-BNSM1U2R.js";
5
5
  import { n as resourceRef } from "../resource-ref-CaS9yVPi.js";
6
- import { n as deniedToolRefusal, r as toolErrorResult, t as approvalToolRefusal } from "../tool-refusal-Qpjs_W6M.js";
6
+ import { n as deniedToolRefusal, r as toolErrorResult, t as approvalToolRefusal } from "../tool-refusal-C1UlhU0V.js";
7
7
  //#region src/webmcp/register.ts
8
8
  const MISSING_CONTEXT = "permdock/webmcp: document.modelContext is absent; registerTools is a no-op.";
9
9
  const CURRENT = Symbol.for("permdock.current");
@@ -2,12 +2,12 @@ import { a as sole, r as isRecord, t as compact } from "./compact-CAf557ZB.js";
2
2
  import { n as freezeDeep } from "./freeze-jjan0lCv.js";
3
3
  import { t as loadPrincipal } from "./principal-source-C6N60GtM.js";
4
4
  import { g as secondsOf, m as rfc3339 } from "./time-nR1JesoH.js";
5
- import { d as scopeIdOf, f as scopeList, h as tenantOf, r as findScope, s as resolveScope, t as activeFor, u as scopeChain } from "./scopes-0Up_UA2t.js";
6
- import { a as readOnlyActorRefuses, n as coveredByDelegation } from "./delegation-CDB6_keF.js";
5
+ import { d as scopeList, l as scopeChain, p as tenantOf, r as findScope, s as resolveScope, t as activeFor, u as scopeIdOf } from "./scopes-BSdYaGHs.js";
6
+ import { a as readOnlyActorRefuses, n as coveredByDelegation } from "./delegation-aK4T_5WU.js";
7
7
  import { r as readWireValidity, t as isActive } from "./validity-Buc7w8E9.js";
8
- import { o as resourceRoleCondition } from "./grantee-conditions-BrYPe-w0.js";
9
- import { c as nowSeconds, n as inTeam, o as membershipField, r as isMembershipExpired } from "./tenancy-5d1zVBvK.js";
10
- import { a as bindConditionRefs, n as parseSnapshot } from "./snapshot-CXlzi69u.js";
8
+ import { o as resourceRoleCondition } from "./grantee-conditions-DX4K_gGI.js";
9
+ import { c as nowSeconds, n as inTeam, o as membershipField, r as isMembershipExpired } from "./tenancy-DvOHHk3-.js";
10
+ import { a as bindConditionRefs, n as parseSnapshot } from "./snapshot-DN_8J27z.js";
11
11
  //#region src/core/snapshot-sign.ts
12
12
  /**
13
13
  * The claims `signSnapshot` signs for `snapshot`. `issuedAt` and `expiresAt`