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
@@ -30,20 +30,20 @@ const SECTIONS = [
30
30
  docs: "init",
31
31
  effects: ["files"],
32
32
  config: false,
33
- load: async () => (await import("./init-Buibrl9h.js")).init
33
+ load: async () => (await import("./init-Dr1qAStu.js")).init
34
34
  }),
35
35
  group("preset", "Decode a preset code, or print its permdock.com/create link", "preset", [leaf("decode", "Print what a preset code holds", {
36
36
  examples: ["permdock preset decode p1AQIDBAc"],
37
37
  docs: "preset",
38
38
  effects: [],
39
39
  config: false,
40
- load: async () => (await import("./init-Buibrl9h.js")).presetDecode
40
+ load: async () => (await import("./init-Dr1qAStu.js")).presetDecode
41
41
  }), leaf("url", "Print the permdock.com/create link that opens a code", {
42
42
  examples: ["permdock preset url p1AQIDBAc"],
43
43
  docs: "preset",
44
44
  effects: [],
45
45
  config: false,
46
- load: async () => (await import("./init-Buibrl9h.js")).presetUrl
46
+ load: async () => (await import("./init-Dr1qAStu.js")).presetUrl
47
47
  })]),
48
48
  group("skills", "Install, update or list the PermDock Agent Skills", "skills", [
49
49
  leaf("install", "Copy the Agent Skills into the agent folders", {
@@ -55,21 +55,21 @@ const SECTIONS = [
55
55
  docs: "skills",
56
56
  effects: ["files"],
57
57
  config: false,
58
- load: async () => (await import("./skills-BIsm1n26.js")).install
58
+ load: async () => (await import("./skills-a4N6Y2Xm.js")).install
59
59
  }),
60
60
  leaf("update", "Replace installed skills with this version's", {
61
61
  examples: ["permdock skills update"],
62
62
  docs: "skills",
63
63
  effects: ["files"],
64
64
  config: false,
65
- load: async () => (await import("./skills-BIsm1n26.js")).update
65
+ load: async () => (await import("./skills-a4N6Y2Xm.js")).update
66
66
  }),
67
67
  leaf("list", "List the skills and where each is installed", {
68
68
  examples: ["permdock skills list"],
69
69
  docs: "skills",
70
70
  effects: [],
71
71
  config: false,
72
- load: async () => (await import("./skills-BIsm1n26.js")).list
72
+ load: async () => (await import("./skills-a4N6Y2Xm.js")).list
73
73
  })
74
74
  ]),
75
75
  leaf("doctor", "Check a PermDock installation and print a fix for each finding", {
@@ -82,7 +82,7 @@ const SECTIONS = [
82
82
  effects: ["files"],
83
83
  config: true,
84
84
  findings: true,
85
- load: async () => (await import("./doctor-gIO9WTYo.js")).doctor
85
+ load: async () => (await import("./doctor-BNRhJegR.js")).doctor
86
86
  }),
87
87
  leaf("completion", "Print the shell completion script for bash, zsh or fish", {
88
88
  examples: ["permdock completion zsh > ~/.zfunc/_permdock", "eval \"$(permdock completion bash)\""],
@@ -90,7 +90,7 @@ const SECTIONS = [
90
90
  effects: [],
91
91
  config: false,
92
92
  shellOutput: true,
93
- load: async () => (await import("./completion-DCza8aQY.js")).completion
93
+ load: async () => (await import("./completion-pwVjJlek.js")).completion
94
94
  })
95
95
  ]
96
96
  },
@@ -106,14 +106,14 @@ const SECTIONS = [
106
106
  docs: "collect",
107
107
  effects: ["files"],
108
108
  config: true,
109
- load: async () => (await import("./collect-DnXL4B8c.js")).collect
109
+ load: async () => (await import("./collect-C44RrKCI.js")).collect
110
110
  }),
111
111
  leaf("catalog", "Export the catalog as catalog JSON, JSON Schema or Markdown", {
112
112
  examples: ["permdock catalog --out permissions.catalog.json", "permdock catalog --kind markdown"],
113
113
  docs: "catalog",
114
114
  effects: ["files"],
115
115
  config: true,
116
- load: async () => (await import("./catalog-amPDr0JQ.js")).catalog
116
+ load: async () => (await import("./catalog-DJJIkR9P.js")).catalog
117
117
  }),
118
118
  leaf("gen", "Write typed constants, schemas, factories, hooks and messages from the policy", {
119
119
  examples: [
@@ -124,7 +124,7 @@ const SECTIONS = [
124
124
  docs: "gen",
125
125
  effects: ["files"],
126
126
  config: true,
127
- load: async () => (await import("./gen-DwgCSC6V.js")).gen
127
+ load: async () => (await import("./gen-CNCzG4sB.js")).gen
128
128
  }),
129
129
  leaf("usage", "Report unused, ungranted and role-less permissions and conditions on undeclared fields", {
130
130
  examples: ["permdock usage", "permdock usage --fail-on warning"],
@@ -132,14 +132,14 @@ const SECTIONS = [
132
132
  effects: [],
133
133
  config: true,
134
134
  findings: true,
135
- load: async () => (await import("./usage-DBNrpwoT.js")).usage
135
+ load: async () => (await import("./usage-CqcMeQgX.js")).usage
136
136
  }),
137
137
  leaf("diff", "Compare two policies or catalogs; exit 1 on a breaking change", {
138
138
  examples: ["permdock diff main.catalog.json permissions.catalog.json", "permdock diff ./old-policy.ts ./src/policy.ts --impact"],
139
139
  docs: "diff",
140
140
  effects: [],
141
141
  config: true,
142
- load: async () => (await import("./diff-CxtbOi2l.js")).diff
142
+ load: async () => (await import("./diff-CcxYooMu.js")).diff
143
143
  }),
144
144
  leaf("config", "Check permdock.config.ts for unknown keys, or print the effective config", {
145
145
  examples: ["permdock config", "permdock config --print"],
@@ -147,7 +147,7 @@ const SECTIONS = [
147
147
  effects: [],
148
148
  config: true,
149
149
  findings: true,
150
- load: async () => (await import("./config-BAM3a3z8.js")).config
150
+ load: async () => (await import("./config-DnfH6_eT.js")).config
151
151
  })
152
152
  ]
153
153
  },
@@ -164,14 +164,14 @@ const SECTIONS = [
164
164
  "network"
165
165
  ],
166
166
  config: true,
167
- load: async () => (await import("./rls-yK2nZUcm.js")).generate
167
+ load: async () => (await import("./rls-BVzoZCn3.js")).generate
168
168
  }),
169
169
  leaf("import", "Turn existing RLS policies into a generated definition", {
170
170
  examples: ["permdock rls import --sql schema.sql --out src/permissions.generated.ts", "permdock rls import --db-url-stdin --out src/permissions.generated.ts"],
171
171
  docs: "rls",
172
172
  effects: ["files", "database:read"],
173
173
  config: true,
174
- load: async () => (await import("./rls-yK2nZUcm.js")).importPolicies
174
+ load: async () => (await import("./rls-BVzoZCn3.js")).importPolicies
175
175
  }),
176
176
  leaf("verify", "Run the fixtures against the policies, or compare a live database", {
177
177
  examples: [
@@ -183,21 +183,21 @@ const SECTIONS = [
183
183
  effects: ["files", "database:read"],
184
184
  config: true,
185
185
  findings: true,
186
- load: async () => (await import("./rls-yK2nZUcm.js")).verify
186
+ load: async () => (await import("./rls-BVzoZCn3.js")).verify
187
187
  }),
188
188
  leaf("migrate", "Rewrite hand-written policies onto the generated helpers", {
189
189
  examples: ["permdock rls migrate --sql supabase/migrations --dry-run", "permdock rls migrate --sql supabase/migrations"],
190
190
  docs: "rls",
191
191
  effects: ["rewrite", "files"],
192
192
  config: true,
193
- load: async () => (await import("./rls-yK2nZUcm.js")).migrate
193
+ load: async () => (await import("./rls-BVzoZCn3.js")).migrate
194
194
  }),
195
195
  leaf("explain", "Show the tables, membership sources and triggers the SQL binds to", {
196
196
  examples: ["permdock rls explain", "permdock rls explain --db-url-stdin --json"],
197
197
  docs: "rls",
198
198
  effects: ["database:read"],
199
199
  config: true,
200
- load: async () => (await import("./rls-yK2nZUcm.js")).explain
200
+ load: async () => (await import("./rls-BVzoZCn3.js")).explain
201
201
  })
202
202
  ]),
203
203
  group("supabase", "Generate the Supabase Custom Access Token Hook, or inspect its manifest", "supabase", [group("hook", "The Custom Access Token Hook", "supabase", [leaf("generate", "Compile the membership sources into the hook migration", {
@@ -205,26 +205,26 @@ const SECTIONS = [
205
205
  docs: "supabase",
206
206
  effects: ["files", "database:read"],
207
207
  config: true,
208
- load: async () => (await import("./supabase-DYWnT800.js")).hookGenerate
208
+ load: async () => (await import("./supabase-C6FyUeSh.js")).hookGenerate
209
209
  })]), leaf("inspect", "Print or write the hook and helper manifest", {
210
210
  examples: ["permdock supabase inspect", "permdock supabase inspect --out"],
211
211
  docs: "supabase",
212
212
  effects: ["files"],
213
213
  config: true,
214
- load: async () => (await import("./supabase-DYWnT800.js")).inspect
214
+ load: async () => (await import("./supabase-C6FyUeSh.js")).inspect
215
215
  })]),
216
216
  group("powersync", "Generate PowerSync Sync Streams from the policy, or verify them", "powersync", [leaf("generate", "Compile the read grants into sync-config.yaml", {
217
217
  examples: ["permdock powersync generate", "permdock powersync generate --check"],
218
218
  docs: "powersync",
219
219
  effects: ["files"],
220
220
  config: true,
221
- load: async () => (await import("./powersync-CFWILHjb.js")).generate
221
+ load: async () => (await import("./powersync-BZxw_v-A.js")).generate
222
222
  }), leaf("verify", "Fail on stale streams or a stream that syncs a denied row", {
223
223
  examples: ["permdock powersync verify", "permdock powersync verify --db-url-stdin"],
224
224
  docs: "powersync",
225
225
  effects: ["database:read"],
226
226
  config: true,
227
- load: async () => (await import("./powersync-CFWILHjb.js")).verify
227
+ load: async () => (await import("./powersync-BZxw_v-A.js")).verify
228
228
  })]),
229
229
  group("scim", "Generate the Postgres tables postgresDirectoryStore keeps a SCIM directory in", "scim", [leaf("generate", "Write the tenant-keyed users, groups and members tables", {
230
230
  examples: [
@@ -235,7 +235,7 @@ const SECTIONS = [
235
235
  docs: "scim",
236
236
  effects: ["files"],
237
237
  config: true,
238
- load: async () => (await import("./scim-D8YupzX1.js")).generate
238
+ load: async () => (await import("./scim-CovliQUg.js")).generate
239
239
  })])
240
240
  ]
241
241
  },
@@ -247,13 +247,13 @@ const SECTIONS = [
247
247
  docs: "openapi",
248
248
  effects: ["files"],
249
249
  config: true,
250
- load: async () => (await import("./openapi-eHZ5hwUJ.js")).emit
250
+ load: async () => (await import("./openapi-D3wkvOoU.js")).emit
251
251
  }), leaf("import", "Turn an OpenAPI document into a generated definition", {
252
252
  examples: ["permdock openapi import --doc openapi.yaml --out src/permissions.generated.ts"],
253
253
  docs: "openapi",
254
254
  effects: ["files", "network"],
255
255
  config: false,
256
- load: async () => (await import("./openapi-eHZ5hwUJ.js")).importDocument
256
+ load: async () => (await import("./openapi-D3wkvOoU.js")).importDocument
257
257
  })]),
258
258
  group("arazzo", "Check Arazzo workflows against the permissions", "arazzo", [leaf("check", "Resolve every Arazzo step to x-permdock-permissions", {
259
259
  examples: ["permdock arazzo check --doc arazzo.json --openapi openapi.json"],
@@ -261,7 +261,7 @@ const SECTIONS = [
261
261
  effects: [],
262
262
  config: true,
263
263
  findings: true,
264
- load: async () => (await import("./arazzo-CL8CZnpL.js")).check
264
+ load: async () => (await import("./arazzo-7kbeh1yi.js")).check
265
265
  })]),
266
266
  leaf("scan", "List authorization checks written without PermDock, to adopt it in an existing app", {
267
267
  examples: ["permdock scan", "permdock scan --src app,lib --pattern isBeta"],
@@ -269,21 +269,21 @@ const SECTIONS = [
269
269
  effects: [],
270
270
  config: true,
271
271
  findings: true,
272
- load: async () => (await import("./scan-CzdMtHnq.js")).scan
272
+ load: async () => (await import("./scan-CepUXrFt.js")).scan
273
273
  }),
274
274
  group("casl", "Import CASL rules into a generated module", "casl", [leaf("import", "Turn CASL rules per role into a permissions and policy module", {
275
275
  examples: ["permdock casl import --rules rules.json --out src/permissions.generated.ts"],
276
276
  docs: "casl",
277
277
  effects: ["files"],
278
278
  config: false,
279
- load: async () => (await import("./casl-C4OINZHI.js")).caslImport
279
+ load: async () => (await import("./casl-CjBVJj8R.js")).caslImport
280
280
  })]),
281
281
  group("casbin", "Import a Casbin model and policy into a generated module", "casbin", [leaf("import", "Turn a Casbin RBAC model and policy into a permissions and policy module", {
282
282
  examples: ["permdock casbin import --model model.conf --policy policy.csv --out src/permissions.generated.ts"],
283
283
  docs: "casbin",
284
284
  effects: ["files"],
285
285
  config: false,
286
- load: async () => (await import("./casbin-DRFwgVIP.js")).casbinImport
286
+ load: async () => (await import("./casbin-DFzk_so3.js")).casbinImport
287
287
  })])
288
288
  ]
289
289
  },
@@ -295,34 +295,34 @@ const SECTIONS = [
295
295
  docs: "login",
296
296
  effects: ["network", "files"],
297
297
  config: false,
298
- load: async () => (await import("./login-VVpkkund.js")).login
298
+ load: async () => (await import("./login-DEVXDTX8.js")).login
299
299
  }),
300
300
  leaf("logout", "Revoke and delete the stored PermDock Cloud login", {
301
301
  examples: ["permdock logout"],
302
302
  docs: "login",
303
303
  effects: ["network", "files"],
304
304
  config: false,
305
- load: async () => (await import("./login-VVpkkund.js")).logout
305
+ load: async () => (await import("./login-DEVXDTX8.js")).logout
306
306
  }),
307
307
  leaf("whoami", "Print the PermDock Cloud identity the CLI acts as", {
308
308
  examples: ["permdock whoami", "permdock whoami --json"],
309
309
  docs: "login",
310
310
  effects: [],
311
311
  config: false,
312
- load: async () => (await import("./login-VVpkkund.js")).whoami
312
+ load: async () => (await import("./login-DEVXDTX8.js")).whoami
313
313
  }),
314
314
  group("cloud", "Publish to or pull from a PermDock Cloud project", "cloud", [leaf("push", "Publish the catalog, policy and manifest to a Cloud project", {
315
315
  examples: ["permdock cloud push --dry-run", "permdock cloud push --project prj_123"],
316
316
  docs: "cloud",
317
317
  effects: ["network", "cloud:write"],
318
318
  config: true,
319
- load: async () => (await import("./cloud-eOtmuonF.js")).push
319
+ load: async () => (await import("./cloud-DYqzmh5i.js")).push
320
320
  }), leaf("pull", "Write a Cloud project's published catalog and manifest", {
321
321
  examples: ["permdock cloud pull --project prj_123"],
322
322
  docs: "cloud",
323
323
  effects: ["network", "files"],
324
324
  config: true,
325
- load: async () => (await import("./cloud-eOtmuonF.js")).pull
325
+ load: async () => (await import("./cloud-DYqzmh5i.js")).pull
326
326
  })])
327
327
  ]
328
328
  },
@@ -333,7 +333,7 @@ const SECTIONS = [
333
333
  docs: "codemod",
334
334
  effects: ["rewrite"],
335
335
  config: false,
336
- load: async () => (await import("./codemod-D6NYu4AK.js")).codemod
336
+ load: async () => (await import("./codemod-DqB9klYI.js")).codemod
337
337
  })]
338
338
  }
339
339
  ];
@@ -345,7 +345,7 @@ const COMPLETE_LEAF = leaf("__complete", "Print completion candidates for a part
345
345
  config: false,
346
346
  shellOutput: true,
347
347
  hidden: true,
348
- load: async () => (await import("./completion-DCza8aQY.js")).complete
348
+ load: async () => (await import("./completion-pwVjJlek.js")).complete
349
349
  });
350
350
  const ROOT = group("permdock", "Collect, export, diff and check the permissions a PermDock policy declares", "", [...SECTIONS.flatMap((section) => section.entries), COMPLETE_LEAF]);
351
351
  /** Each leaf with its path from the root, in manifest order. */
@@ -3,7 +3,7 @@ import { n as freezeDeep } from "./freeze-jjan0lCv.js";
3
3
  import { n as isForbiddenKey, o as readPath } from "./paths-CUvURzHp.js";
4
4
  import { n as expirySeconds } from "./expiry-6XByK0dm.js";
5
5
  import { r as validateRecord } from "./thenable-BNSM1U2R.js";
6
- import { t as anonymousSubject } from "./subject-BGoM5o8B.js";
6
+ import { t as anonymousSubject } from "./subject-C7RddW0G.js";
7
7
  import { t as readClaim } from "./claims-map-CKkoAAYF.js";
8
8
  import { t as clientNameOf } from "./clients-DYr3U86j.js";
9
9
  //#region src/jwt/map-claims.ts
@@ -107,7 +107,8 @@ function bindingOf(claims) {
107
107
  function membershipsFromGroups(groups, groupRoles, tenant) {
108
108
  if (tenant === void 0) return [];
109
109
  return groups.map((group) => compact({
110
- tenant,
110
+ scope: "tenant",
111
+ id: tenant,
111
112
  roles: groupRoles?.[group] ?? [],
112
113
  via: `group:${group}`
113
114
  }));
@@ -142,18 +143,29 @@ function membershipsFromClaim(value) {
142
143
  roles: asStringArray(record["roles"]),
143
144
  ...claimExtras(record)
144
145
  })];
145
- if (typeof record["tenant"] === "string" || typeof record["org_id"] === "string") return [compact({
146
- tenant: typeof record["tenant"] === "string" ? record["tenant"] : String(record["org_id"]),
147
- roles: asStringArray(record["roles"]),
148
- team: typeof record["team"] === "string" ? record["team"] : void 0,
149
- ...claimExtras(record)
150
- })];
146
+ if (typeof record["tenant"] === "string" || typeof record["org_id"] === "string") {
147
+ const tenant = typeof record["tenant"] === "string" ? record["tenant"] : String(record["org_id"]);
148
+ const located = typeof record["team"] === "string" ? {
149
+ scope: "team",
150
+ id: record["team"],
151
+ within: { tenant }
152
+ } : {
153
+ scope: "tenant",
154
+ id: tenant
155
+ };
156
+ return [compact({
157
+ ...located,
158
+ roles: asStringArray(record["roles"]),
159
+ ...claimExtras(record)
160
+ })];
161
+ }
151
162
  const out = [];
152
163
  const byOrganisation = /* @__PURE__ */ new Map();
153
164
  for (const [tenant, entry] of Object.entries(record)) {
154
165
  if (Array.isArray(entry)) {
155
166
  out.push(compact({
156
- tenant,
167
+ scope: "tenant",
168
+ id: tenant,
157
169
  roles: asStringArray(entry)
158
170
  }));
159
171
  continue;
@@ -169,13 +181,15 @@ function membershipsFromClaim(value) {
169
181
  continue;
170
182
  }
171
183
  out.push(compact({
172
- tenant,
184
+ scope: "tenant",
185
+ id: tenant,
173
186
  roles: asStringArray(nested["roles"] ?? nested)
174
187
  }));
175
188
  }
176
189
  }
177
190
  for (const [tenant, roles] of byOrganisation) out.push({
178
- tenant,
191
+ scope: "tenant",
192
+ id: tenant,
179
193
  roles
180
194
  });
181
195
  return out;
@@ -2,7 +2,7 @@ import { t as compact } from "./compact-CAf557ZB.js";
2
2
  import { n as PermDockValidationError } from "./validation-error-CYg2kJEw.js";
3
3
  import { n as PermDockDeniedError, r as PermDockRevokedError, t as PermDockApprovalRequiredError } from "./errors-B6R_lg2a.js";
4
4
  import { a as decisionResponse, l as problemResponse } from "./problem-BVLHFK33.js";
5
- import { l as InvalidSignatureError } from "./evaluations-IBceAeKT.js";
5
+ import { l as InvalidSignatureError } from "./evaluations-DG40eSJa.js";
6
6
  //#region src/server/map-error.ts
7
7
  /**
8
8
  * Turns a thrown PermDock error into its Problem Details response, with the
@@ -1,14 +1,14 @@
1
- import { T as Policy, Z as JwtClaims, hr as Subject, ht as TokenVerifier, lr as Delegation, pr as Principal } from "../policy-types-DGIO_gxq.js";
1
+ import { E as Policy, Q as JwtClaims, _r as Principal, _t as TokenVerifier, pr as Delegation, yr as Subject } from "../policy-types-IRJVABmm.js";
2
2
  import { u as Permission } from "../permission-types-CAY-GU7e.js";
3
- import { m as ApprovalStore } from "../types-DLvhVm1r.js";
4
- import { t as ApprovalHint } from "../errors-BIM4MFsJ.js";
5
- import { t as InstanceOptions } from "../instance-options-CoHn-0e8.js";
3
+ import { m as ApprovalStore } from "../types-BvBbkAu1.js";
4
+ import { t as ApprovalHint } from "../errors-Dc9FdamT.js";
5
+ import { t as InstanceOptions } from "../instance-options-BOCRxEFb.js";
6
6
  import { t as RequestContext } from "../request-context-C2_1lchh.js";
7
- import { n as PermDockWrap } from "../wrap-DxXB54Wu.js";
8
- import { o as OtelWrap } from "../types-B6ExllNo.js";
9
- import { n as DeniedTextEvent, t as DeniedText } from "../denied-text-DHldhVUv.js";
7
+ import { n as PermDockWrap } from "../wrap-DpZAbxuD.js";
8
+ import { o as OtelWrap } from "../types-Sj1U8HMm.js";
9
+ import { n as DeniedTextEvent, t as DeniedText } from "../denied-text-DyzWwxEB.js";
10
10
  import { t as ClientNames } from "../clients-C_NOET3z.js";
11
- import { U as JwtSubjectOptions } from "../types-DsHGPtkR.js";
11
+ import { U as JwtSubjectOptions } from "../types-CJC1aaoJ.js";
12
12
  import { CacheHint, Icon, McpServer, PromptCallback, ReadResourceCallback, ReadResourceTemplateCallback, RegisteredPrompt, RegisteredResource, RegisteredResourceTemplate, RegisteredTool, ResourceMetadata, ResourceTemplate, ScopeChallengeHandler, StandardSchemaWithJSON, ToolAnnotations, ToolCallback, Variables } from "@modelcontextprotocol/server";
13
13
  //#region src/mcp/types.d.ts
14
14
  /**
package/dist/mcp/index.js CHANGED
@@ -1,21 +1,21 @@
1
1
  import { r as isRecord, t as compact } from "../compact-CAf557ZB.js";
2
2
  import { n as freezeDeep } from "../freeze-jjan0lCv.js";
3
3
  import { i as stepUpOf, o as statusProblem } from "../problem-details-CLDgX1KV.js";
4
- import { n as describe } from "../describe-Bb4hGK5d.js";
4
+ import { n as describe } from "../describe-CogP1loh.js";
5
5
  import { m as annotationsFor } from "../permission-registry-B8tYxPIt.js";
6
- import { t as actorMayCallTool } from "../delegation-CDB6_keF.js";
6
+ import { t as actorMayCallTool } from "../delegation-aK4T_5WU.js";
7
+ import { t as anonymousSubject } from "../subject-C7RddW0G.js";
7
8
  import { n as resourceRef } from "../resource-ref-CaS9yVPi.js";
8
- import { i as challengeScope, l as withApp, o as hasScope, s as scopesReaching } from "../permdock-BvjivVb9.js";
9
- import { t as anonymousSubject } from "../subject-BGoM5o8B.js";
10
- import { t as composeWraps } from "../wrap-B2wziJI_.js";
9
+ import { i as challengeScope, l as withApp, o as hasScope, s as scopesReaching } from "../permdock-DdzMv5-F.js";
10
+ import { t as composeWraps } from "../wrap-C5PWzgkq.js";
11
11
  import { l as problemResponse, o as methodNotAllowed, r as bearerChallenge, u as protectedResourceMetadataUrl } from "../problem-BVLHFK33.js";
12
12
  import { t as clientNameOf } from "../clients-DYr3U86j.js";
13
- import { r as mapClaimsToSubject } from "../map-claims-C-nv08_n.js";
14
- import { r as instanceOptions } from "../build-instance-BWXqwQYU.js";
15
- import { i as refusalText, n as createAgentKernel } from "../kernel-BD8QuMnv.js";
13
+ import { r as mapClaimsToSubject } from "../map-claims-PQwHynxV.js";
14
+ import { r as instanceOptions } from "../build-instance-lye7oEqf.js";
15
+ import { i as refusalText, n as createAgentKernel } from "../kernel-CDDU93dI.js";
16
16
  import { t as boundedMap } from "../lru-8q4WZjBV.js";
17
17
  import { t as delegationFrom } from "../delegation-input-FTxMK3ji.js";
18
- import { n as deniedToolRefusal, r as toolErrorResult, t as approvalToolRefusal } from "../tool-refusal-Qpjs_W6M.js";
18
+ import { n as deniedToolRefusal, r as toolErrorResult, t as approvalToolRefusal } from "../tool-refusal-C1UlhU0V.js";
19
19
  //#region src/mcp/mcp-auth.ts
20
20
  /**
21
21
  * `_meta` key on `tools/call`, `resources/read` and `prompts/get` carrying an
@@ -1,13 +1,13 @@
1
1
  import { r as isRecord } from "./compact-CAf557ZB.js";
2
2
  import { i as dateAt } from "./time-nR1JesoH.js";
3
- import { a as describeError } from "./errors-Vpu6rKHl.js";
3
+ import { a as describeError } from "./errors-BhRkoNS7.js";
4
4
  import { o as sqlFiles } from "./files-BSjrtIHw.js";
5
5
  import { r as escapeSqlIdent, s as quoteSqlLiteral } from "./sql-0WjxIp9g.js";
6
6
  import "./sources-C4vkzZJV.js";
7
7
  import { a as RETIRE_MARKER } from "./markers-BeHZ4x9Q.js";
8
- import { i as refuseDirty, t as applyFiles } from "./files-B3AA05f1.js";
9
- import { f as writeOutputFiles, n as dataMigrationFile } from "./output-files-BIQ_9pIs.js";
10
- import { r as HELPERS } from "./shared-DrGLwM3s.js";
8
+ import { i as refuseDirty, t as applyFiles } from "./files-CfiRtQ-m.js";
9
+ import { f as writeOutputFiles, n as dataMigrationFile } from "./output-files-CM0BnH05.js";
10
+ import { r as HELPERS } from "./shared-DyYVEjKC.js";
11
11
  import { o as sqlStatements } from "./deciding-columns-NB4wcyBf.js";
12
12
  import { i as retireSql, r as retirePlan } from "./retire-B2xffQgY.js";
13
13
  import { existsSync, readFileSync } from "node:fs";
@@ -1,6 +1,6 @@
1
1
  import { c as listPermissions } from "./permission-registry-B8tYxPIt.js";
2
- import { i as configError } from "./errors-Vpu6rKHl.js";
3
- import { a as loadModule, s as pickNamed, t as asPermissionTree } from "./load-DjSU5KXO.js";
2
+ import { i as configError } from "./errors-BhRkoNS7.js";
3
+ import { a as loadModule, s as pickNamed, t as asPermissionTree } from "./load-BaEamml-.js";
4
4
  import { i as isModuleKey, n as MODULE_KEYS } from "./config-shape-tsxHx71E.js";
5
5
  import { existsSync, readFileSync, statSync } from "node:fs";
6
6
  import { dirname, relative, resolve } from "node:path";
@@ -1,9 +1,9 @@
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, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-CyRN0-Cd.js";
6
- import { t as ServerAdapterOptions } from "../bind-YYjvfpB9.js";
5
+ import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-Bw-lWqzR.js";
6
+ import { t as ServerAdapterOptions } from "../bind-DjFNX0Pq.js";
7
7
  import { r as sendResponse, t as NodeRequest } from "../http-B_LphE5Y.js";
8
8
  import { CanActivate, DynamicModule, ExceptionFilter, ExecutionContext, Type } from "@nestjs/common";
9
9
  //#region src/nest/http.d.ts
@@ -2,9 +2,9 @@ import { t as compact } from "../compact-CAf557ZB.js";
2
2
  import { n as PermDockValidationError } from "../validation-error-CYg2kJEw.js";
3
3
  import { n as PermDockDeniedError, r as PermDockRevokedError, t as PermDockApprovalRequiredError } from "../errors-B6R_lg2a.js";
4
4
  import { c as writeReply, r as hasCredentials } from "../http-DKLXrFGk.js";
5
- import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-IBceAeKT.js";
6
- import { t as problemFromError } from "../map-error-pasIGqMT.js";
7
- import { a as socketConnection, r as bindKernel } from "../bind-BNQA9JK9.js";
5
+ import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-DG40eSJa.js";
6
+ import { t as problemFromError } from "../map-error-B_f3C5cs.js";
7
+ import { a as socketConnection, r as bindKernel } from "../bind-BJFeLX1V.js";
8
8
  import { a as onRevoked, n as closeReason, t as POLICY_VIOLATION } from "../stream-CDvF0sJm.js";
9
9
  import { n as sendResponse, r as toRequest$1, t as isServerResponse } from "../http-DH94eh6f.js";
10
10
  import { Catch, Controller, Get, Inject, Injectable, Module, Post, Req, Res, createParamDecorator } from "@nestjs/common";
@@ -1,13 +1,14 @@
1
- import { Kn as DenialReason, T as Policy, Un as Decision, X as Intent, Zt as Snapshot, hr as Subject, j as PolicyVocabulary, pr as Principal } from "../policy-types-DGIO_gxq.js";
1
+ import { $t as Snapshot, E as Policy, M as PolicyVocabulary, Xn as DenialReason, Z as Intent, _r as Principal, qn as Decision, 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, d as UncheckedData, s as RowData } from "../permdock-CprAPN3w.js";
4
- import { m as ApprovalStore } from "../types-DLvhVm1r.js";
5
- import { t as InstanceOptions } from "../instance-options-CoHn-0e8.js";
6
- import { n as PermDockWrap } from "../wrap-DxXB54Wu.js";
7
- import { o as OtelWrap } from "../types-B6ExllNo.js";
8
- import { n as DescribeMessages } from "../describe-BbFPBSms.js";
9
- import { a as snapshotHeaders, i as cacheLifeFor, n as SnapshotHeaders, o as snapshotTag, r as SnapshotHeadersOptions, t as CacheLifeForOptions } from "../snapshot-cache-BjAWkchD.js";
10
- import { n as ProtectedAction, t as ActionResult } from "../action-result-BcudBQOF.js";
3
+ import { O as PermissionCheck, a as PermDock, d as UncheckedData, k as PermissionState, s as RowData } from "../permdock-DUWZEOLR.js";
4
+ import { m as ApprovalStore } from "../types-BvBbkAu1.js";
5
+ import { t as InstanceOptions } from "../instance-options-BOCRxEFb.js";
6
+ import { n as PermDockWrap } from "../wrap-DpZAbxuD.js";
7
+ import { o as OtelWrap } from "../types-Sj1U8HMm.js";
8
+ import { n as DescribeMessages } from "../describe-nalX_HHE.js";
9
+ import { a as snapshotHeaders, i as cacheLifeFor, n as SnapshotHeaders, o as snapshotKey, r as SnapshotHeadersOptions, s as snapshotTag, t as CacheLifeForOptions } from "../snapshot-cache-Dbk-Gnij.js";
10
+ import { v as ActionResult, y as ProtectedAction } from "../store-g5ctUrOI.js";
11
+ import { n as PermDockProviderProps } from "../types-e82uzrTn.js";
11
12
  import { ReactElement, ReactNode } from "react";
12
13
  import { StandardSchemaV1 } from "@standard-schema/spec";
13
14
  //#region src/next/types.d.ts
@@ -52,6 +53,11 @@ type GetSnapshotQuery = GetPermDockQuery & {
52
53
  * tag.
53
54
  */
54
55
  readonly tags?: readonly string[];
56
+ /**
57
+ * `cacheLifeFor` options; `{ capToToken: true }` caps the entry at the
58
+ * token's expiry. Default 300 seconds.
59
+ */
60
+ readonly cacheLife?: CacheLifeForOptions;
55
61
  };
56
62
  type PermissionRequirementOptions = GetPermDockQuery & {
57
63
  /**
@@ -82,7 +88,12 @@ type NextPermDockProviderProps = NextPermDockProviderDisplay & ({
82
88
  })[];
83
89
  readonly tenants?: "all";
84
90
  });
85
- type NextPermDockProviderDisplay = {
91
+ /**
92
+ * Function props of the React provider: a Server Component cannot pass them to
93
+ * the client, so `useRefreshOn` from `permdock/react` adds triggers instead.
94
+ */
95
+ type ClientOnlyProp = "fetch" | "verifier" | "onSnapshot" | "onClear" | "refreshOn";
96
+ type NextPermDockProviderDisplay = Omit<PermDockProviderProps, "snapshot" | "snapshotPromise" | "children" | "defaults" | "messages" | ClientOnlyProp> & {
86
97
  readonly children: ReactNode;
87
98
  readonly tenant?: string;
88
99
  /** Overrides the factory's `endpoint`; `false` is snapshot-only. */
@@ -139,10 +150,18 @@ type NextPermDock<V extends PolicyVocabulary = PolicyVocabulary> = {
139
150
  <D>(permission: Permission, data?: UncheckedData<D>, query?: GetPermDockQuery): Promise<ServerPermissionState>;
140
151
  <P extends Permission>(permission: P, data?: RowData<P>, query?: GetPermDockQuery): Promise<ServerPermissionState>;
141
152
  };
153
+ /**
154
+ * One `{ allowed, outcome, reason? }` per named check, from one instance:
155
+ * frozen plain JSON an island can return from `'use cache: private'`. A check
156
+ * that throws denies its entry; an instance that cannot be built denies them
157
+ * all.
158
+ */
159
+ readonly getPermissions: <K extends string>(checks: Readonly<Record<K, PermissionCheck>>, query?: GetPermDockQuery) => Promise<Readonly<Record<K, PermissionState>>>;
142
160
  /**
143
161
  * The session's snapshot for a `'use cache: private'` function the app owns:
144
- * calls `cacheLife(cacheLifeFor(snapshot))` and `cacheTag(snapshotTag(sub),
145
- * ...tags)` in that scope, and throws outside one.
162
+ * calls `cacheLife(cacheLifeFor(snapshot, query.cacheLife))` and
163
+ * `cacheTag(snapshotTag(sub), ...tags)` in that scope, and throws outside
164
+ * one.
146
165
  */
147
166
  readonly getSnapshot: (query?: GetSnapshotQuery) => Promise<Snapshot>;
148
167
  /**
@@ -176,4 +195,4 @@ type NextPermDock<V extends PolicyVocabulary = PolicyVocabulary> = {
176
195
  //#region src/next/create.d.ts
177
196
  export declare function createPermDock<TUser = NextSubjectInput, TPrincipal extends Principal = Principal, V extends PolicyVocabulary = PolicyVocabulary>(policy: Policy<TUser, TPrincipal, V>, given: NextPermDockOptions<TUser>): NextPermDock<V>;
178
197
  //#endregion
179
- export { type ActionResult, type CacheLifeForOptions, type GetPermDockQuery, type GetSnapshotQuery, type NextPermDock, type NextPermDockOptions, type NextPermDockProviderProps, type PermDockHandler, type PermissionRequirementOptions, type ProtectAction, type ProtectActionOptions, type ProtectedAction, type ProtectedActionContext, type ProtectedActionHandler, type ServerPermissionState, type SnapshotHeaders, type SnapshotHeadersOptions, cacheLifeFor, snapshotHeaders, snapshotTag };
198
+ export { type ActionResult, type CacheLifeForOptions, type GetPermDockQuery, type GetSnapshotQuery, type NextPermDock, type NextPermDockOptions, type NextPermDockProviderProps, type PermDockHandler, type PermissionRequirementOptions, type ProtectAction, type ProtectActionOptions, type ProtectedAction, type ProtectedActionContext, type ProtectedActionHandler, type ServerPermissionState, type SnapshotHeaders, type SnapshotHeadersOptions, cacheLifeFor, snapshotHeaders, snapshotKey, snapshotTag };