permdock 0.7.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/README.md +1 -3
  2. package/dist/a2a/index.d.ts +7 -7
  3. package/dist/a2a/index.js +8 -8
  4. package/dist/action-result-BcudBQOF.d.ts +19 -0
  5. package/dist/{adapter-context-CRhqyzCk.js → adapter-context-CIQpQxbE.js} +8 -2
  6. package/dist/{adoption-scan-D-feE7BE.js → adoption-scan-Ch07MdxN.js} +5 -5
  7. package/dist/agent/index.d.ts +2 -2
  8. package/dist/agent/index.js +1 -1
  9. package/dist/ai-sdk/index.d.ts +19 -13
  10. package/dist/ai-sdk/index.js +6 -6
  11. package/dist/{app-data-MuyzVqX8.js → app-data-UNNm07jV.js} +10 -7
  12. package/dist/{approval-header-CJACtHkv.js → approval-header-8QV6MU4H.js} +6 -3
  13. package/dist/{approval-prompt-K0faOLFp.d.ts → approval-prompt-3BqWczTt.d.ts} +13 -11
  14. package/dist/{approval-prompt-Dg5LeAcT.js → approval-prompt-B8hQY69x.js} +5 -6
  15. package/dist/approvals/index.d.ts +4 -4
  16. package/dist/approvals/index.js +6 -6
  17. package/dist/{approvals-CMRfsbBh.js → approvals-DnIBTuXE.js} +66 -42
  18. package/dist/{approvers-CqPOLD-o.js → approvers-B4r0N_Uz.js} +8 -2
  19. package/dist/{arazzo-ClrF3PVb.js → arazzo-BpS7LnV0.js} +2 -2
  20. package/dist/{arazzo-rdeJ8n1J.js → arazzo-CmQaGPkM.js} +6 -6
  21. package/dist/{args-CC3OwyHW.js → args-0FrVs5EH.js} +14 -7
  22. package/dist/astro/index.d.ts +30 -12
  23. package/dist/astro/index.js +2 -2
  24. package/dist/{audience-BrMs8c4o.js → audience-DTjR8xet.js} +8 -8
  25. package/dist/{auth-CscUX8Sy.js → auth--yPyZNgr.js} +19 -7
  26. package/dist/authzen/index.d.ts +34 -28
  27. package/dist/authzen/index.js +23 -20
  28. package/dist/{automation-DOtAFWdy.d.ts → automation-C6Jg75xq.d.ts} +42 -32
  29. package/dist/{automation-ySsxp_Yp.js → automation-x3KEUusw.js} +22 -21
  30. package/dist/better-auth/index.d.ts +2 -2
  31. package/dist/better-auth/index.js +13 -7
  32. package/dist/better-supabase/index.d.ts +357 -227
  33. package/dist/better-supabase/index.js +219 -140
  34. package/dist/{bind-D1nO6fiC.js → bind-BNQA9JK9.js} +26 -10
  35. package/dist/{bind-JDuvxjuW.d.ts → bind-YYjvfpB9.d.ts} +32 -12
  36. package/dist/{body-CH5of8Ne.js → body-CJQwYVa8.js} +3 -3
  37. package/dist/{body-text-QcXok_SI.js → body-text-DQhcmqdY.js} +8 -4
  38. package/dist/{boundary-BM8a_P6E.js → boundary-BV3O1eud.js} +8 -2
  39. package/dist/{boundary-BmHxVH1J.d.ts → boundary-C9ck-3uK.d.ts} +13 -4
  40. package/dist/{budget-NbEtbJC_.js → budget-BELja5A9.js} +6 -3
  41. package/dist/{budget-JqcRqyhK.d.ts → budget-hYsPz_yE.d.ts} +6 -3
  42. package/dist/{build-instance-DxE7czo9.js → build-instance-BWXqwQYU.js} +3 -3
  43. package/dist/{capability-L7NnfhiE.js → capability-BqX94r07.js} +31 -25
  44. package/dist/{capability-D4UC9TTW.d.ts → capability-Di9tiUvi.d.ts} +41 -29
  45. package/dist/{casbin-BHijLuHY.js → casbin-B7_yS-oo.js} +2 -2
  46. package/dist/{casbin-BW9pS47J.js → casbin-bHyIxTNQ.js} +16 -8
  47. package/dist/{casl-CmJlgziS.js → casl-C4OINZHI.js} +2 -2
  48. package/dist/{casl-UbI8v-Wq.js → casl-CHHoCldP.js} +19 -10
  49. package/dist/catalog/index.d.ts +51 -30
  50. package/dist/catalog/index.js +18 -15
  51. package/dist/{catalog-D69WhFii.js → catalog-CGlSwU6j.js} +20 -19
  52. package/dist/catalog-D3oS2GH3.js +1 -0
  53. package/dist/{catalog-BaMQfQ6Y.js → catalog-amPDr0JQ.js} +3 -3
  54. package/dist/{catalog-doc-CV9s6B1S.js → catalog-doc-DjMKzJp9.js} +28 -14
  55. package/dist/{catalog-fingerprint-C144oW4M.js → catalog-fingerprint-e6aCWosn.js} +18 -14
  56. package/dist/catalog-operations-DeHTrJSV.js +60 -0
  57. package/dist/{challenge-nGWma08S.js → challenge-DImNcR7B.js} +48 -27
  58. package/dist/chat/index.d.ts +1 -1
  59. package/dist/chat/index.js +13 -10
  60. package/dist/chat-sdk/index.d.ts +44 -26
  61. package/dist/chat-sdk/index.js +17 -17
  62. package/dist/{checks-BC_0mPIq.js → checks-CGkP3Z7A.js} +4 -1
  63. package/dist/{claims-map-7oQ3ue4X.js → claims-map-CKkoAAYF.js} +5 -2
  64. package/dist/{claims-map-Ca-QX8C6.d.ts → claims-map-D1Pb5oRq.d.ts} +8 -5
  65. package/dist/claude-agent/index.d.ts +6 -6
  66. package/dist/claude-agent/index.js +6 -3
  67. package/dist/clerk/index.d.ts +11 -7
  68. package/dist/clerk/index.js +6 -6
  69. package/dist/cli/bin.js +4 -4
  70. package/dist/cli/index.d.ts +82 -7
  71. package/dist/cli/index.js +6 -6
  72. package/dist/{clients-C7zLFuWT.d.ts → clients-C_NOET3z.d.ts} +5 -5
  73. package/dist/{clients-DjU5ABMy.js → clients-DYr3U86j.js} +3 -3
  74. package/dist/cloud/index.d.ts +84 -52
  75. package/dist/cloud/index.js +53 -39
  76. package/dist/{cloud-CO8pYtwr.js → cloud-3kWfjnYy.js} +4 -5
  77. package/dist/{codemod-BP6n8N9L.js → codemod-Bv5i-Mzo.js} +523 -201
  78. package/dist/{codemod-i4N2BhDc.js → codemod-D9Aiii1r.js} +3 -4
  79. package/dist/{collect-DNm3oKOk.js → collect-B80GYEot.js} +4 -5
  80. package/dist/collect-D-eroIfV.js +1 -0
  81. package/dist/{collect-BaWeMjwV.js → collect-WCl8cJQV.js} +26 -63
  82. package/dist/{compare-pfyVnBjE.js → compare-DTfyUunF.js} +2 -2
  83. package/dist/compile/index.d.ts +2 -2
  84. package/dist/compile/index.js +1 -1
  85. package/dist/{compile-COM2VKuN.d.ts → compile-BEklRUYo.d.ts} +36 -12
  86. package/dist/{compile-BAEO5bOk.js → compile-EzEMB-7v.js} +77 -33
  87. package/dist/{completion-BNdVf7X2.js → completion-_bc0OUQ-.js} +17 -8
  88. package/dist/config-BwPBfN0t.js +108 -0
  89. package/dist/{config-DGZzMV1B.js → config-D5XrLWpk.js} +2 -2
  90. package/dist/{config-report-Cm7UITNA.js → config-report-BmWIskD7.js} +9 -6
  91. package/dist/config-shape-ykV0Vm2n.js +134 -0
  92. package/dist/{connection-DjhIJSs2.js → connection-B72dg5Q2.js} +23 -22
  93. package/dist/{connector-schema-_VCSsdtD.js → connector-schema-CYLQNMYq.js} +3 -2
  94. package/dist/{context--uM9V3Ui.js → context-BnIzxTNE.js} +4 -3
  95. package/dist/convex/index.d.ts +13 -7
  96. package/dist/convex/index.js +9 -6
  97. package/dist/{core-CQkE8Esr.d.ts → core-CFepFiDP.d.ts} +49 -22
  98. package/dist/{core-B5-w6Kw9.js → core-DzVINFbU.js} +26 -20
  99. package/dist/{create-Cb86Z8Im.js → create-6EwRQlig.js} +10 -7
  100. package/dist/{create-DJrlhEp9.js → create-BLPKnJKa.js} +35 -25
  101. package/dist/{create-UTnUVETj.d.ts → create-BPUopdfL.d.ts} +70 -37
  102. package/dist/{create-QHuuPw3q.d.ts → create-BamXmeob.d.ts} +37 -29
  103. package/dist/{create-B2-CQqCI.d.ts → create-DBvUsgzK.d.ts} +49 -28
  104. package/dist/{credential-CIM7wHwA.js → credential-CyyyvCsL.js} +41 -38
  105. package/dist/{credentials-BpuTwd7a.js → credentials-CdDxp7jN.js} +6 -6
  106. package/dist/{deciding-columns-DRo2QM6E.js → deciding-columns-NB4wcyBf.js} +2 -2
  107. package/dist/{delegation-C5rOdTp5.js → delegation-CDB6_keF.js} +31 -22
  108. package/dist/delivery/index.d.ts +4 -4
  109. package/dist/delivery/index.js +5 -5
  110. package/dist/{delivery-rwOKLWRm.js → delivery-BupfvJIV.js} +34 -22
  111. package/dist/{delivery-event-xX4obB8F.js → delivery-event-JioK5YbS.js} +6 -6
  112. package/dist/denied-text-DHldhVUv.d.ts +22 -0
  113. package/dist/{describe-DZlnEtLy.js → describe-Bb4hGK5d.js} +5 -5
  114. package/dist/{describe-O0SwYIK8.d.ts → describe-BbFPBSms.d.ts} +5 -5
  115. package/dist/{device-BARQ8eYG.js → device-BwbJNmb2.js} +11 -8
  116. package/dist/{diff-Btr1c1Ow.js → diff-BwR1JdP2.js} +2 -2
  117. package/dist/{diff-DzT-xD13.js → diff-CQegtBAo.js} +22 -13
  118. package/dist/{digest-B3kc_PgQ.d.ts → digest-8Yx2CchM.d.ts} +3 -3
  119. package/dist/{doctor-BU1szn63.js → doctor-ClRVAtXQ.js} +287 -135
  120. package/dist/{doctor-BoK_y0KO.js → doctor-LPMYjSqO.js} +4 -4
  121. package/dist/drizzle/index.d.ts +33 -19
  122. package/dist/drizzle/index.js +17 -9
  123. package/dist/elysia/index.d.ts +17 -11
  124. package/dist/elysia/index.js +5 -5
  125. package/dist/{errors-BKy0EfhN.js → errors-B6R_lg2a.js} +13 -4
  126. package/dist/{errors-B_Qg9D3e.d.ts → errors-BIM4MFsJ.d.ts} +22 -6
  127. package/dist/{errors-BWXBMaKK.d.ts → errors-CHwoRRpB.d.ts} +4 -1
  128. package/dist/{errors-DpP_U6Bf.js → errors-Vpu6rKHl.js} +13 -10
  129. package/dist/{evaluate-B_oqFbWC.js → evaluate-BAmf_AQd.js} +153 -82
  130. package/dist/{evaluations-BCddEOfO.d.ts → evaluations-DOWuBpWv.d.ts} +11 -5
  131. package/dist/{evaluations-DReoiVBw.js → evaluations-IBceAeKT.js} +40 -19
  132. package/dist/eve/index.d.ts +9 -6
  133. package/dist/eve/index.js +4 -4
  134. package/dist/{event-time-CsegxXxB.js → event-time-BGy48400.js} +8 -4
  135. package/dist/{expiry-D4_YKRKD.js → expiry-6XByK0dm.js} +8 -5
  136. package/dist/express/index.d.ts +9 -6
  137. package/dist/express/index.js +9 -6
  138. package/dist/fastify/index.d.ts +16 -10
  139. package/dist/fastify/index.js +8 -5
  140. package/dist/{fetch-adapter-CuhyYwC1.d.ts → fetch-adapter-BIbBAtPZ.d.ts} +9 -6
  141. package/dist/{fetch-adapter-De-u6vhJ.js → fetch-adapter-dPTgJVHd.js} +14 -11
  142. package/dist/fields-D0vUI6dq.js +498 -0
  143. package/dist/{files-acUbNwWt.js → files-B3AA05f1.js} +8 -5
  144. package/dist/{files-D_JIzUrP.js → files-BSjrtIHw.js} +11 -4
  145. package/dist/{fixtures-BTMW6zgU.js → fixtures-A1_sp_tR.js} +15 -6
  146. package/dist/{flags-aaeRAdiD.js → flags-DXjoTVbS.js} +2 -2
  147. package/dist/{freeze-CrU8nQeX.js → freeze-jjan0lCv.js} +4 -1
  148. package/dist/{from-snapshot-Bz469dIh.js → from-snapshot-DCakWRsr.js} +18 -15
  149. package/dist/gen-BFfzZSLH.js +58 -0
  150. package/dist/gen-BtfFWGbz.js +827 -0
  151. package/dist/{generate-3FNO5P5Q.js → generate-CRVV5V7l.js} +14 -8
  152. package/dist/generate-CezbCaTI.js +275 -0
  153. package/dist/{grantee-BrRANrpT.js → grantee-Dke-9rd1.js} +4 -4
  154. package/dist/{grantee-conditions-C6P1Tvol.js → grantee-conditions-BrYPe-w0.js} +12 -12
  155. package/dist/{grantee-match-0RtHWQDx.js → grantee-match-7RZZvoT_.js} +12 -6
  156. package/dist/{graph-sql-B-dsAT6j.d.ts → graph-sql-BwFC4Qjs.d.ts} +3 -3
  157. package/dist/h3/index.d.ts +10 -7
  158. package/dist/h3/index.js +3 -3
  159. package/dist/headers-B9jQxjtW.d.ts +10 -0
  160. package/dist/{helpers-DY3vXuGs.js → helpers-DJicaG6f.js} +40 -28
  161. package/dist/hono/index.d.ts +16 -10
  162. package/dist/hono/index.js +5 -5
  163. package/dist/{hosted-XBgU6RGT.js → hosted-D0IzESu_.js} +42 -21
  164. package/dist/{hosted-BmjzxQhp.d.ts → hosted-DVxlLZMe.d.ts} +33 -21
  165. package/dist/{http-ujKm0JXE.js → http-DH94eh6f.js} +4 -4
  166. package/dist/{http-BBoKefeS.js → http-DKLXrFGk.js} +13 -7
  167. package/dist/{http-Ca3Sr5x1.js → http-DOL33cO0.js} +11 -8
  168. package/dist/{import-DB2EG_iy.js → import-ACkOrv6g.js} +6 -6
  169. package/dist/{import-Bz0GefWg.js → import-CST57XLp.js} +64 -51
  170. package/dist/{index-CMiPH2Tv.d.ts → index-BinlXeU-.d.ts} +64 -37
  171. package/dist/{index-BSfRl0hZ.d.ts → index-CV-7DWeD.d.ts} +64 -52
  172. package/dist/{index-BE8y3moU.d.ts → index-DJwEgYzA.d.ts} +127 -82
  173. package/dist/{index-DH9DUDEM.d.ts → index-Dj2qF9VC.d.ts} +54 -30
  174. package/dist/{index-BTkwrK7v.d.ts → index-vYjMrXyK.d.ts} +336 -173
  175. package/dist/{index-DLwcuCN_.d.ts → index-ymept53A.d.ts} +51 -30
  176. package/dist/index.d.ts +22 -22
  177. package/dist/index.js +34 -34
  178. package/dist/{init-B-4t1NzC.js → init-BjuFDYT1.js} +10 -10
  179. package/dist/{init-5TXNji88.js → init-txYTuW9u.js} +5 -5
  180. package/dist/{instance-options-CU0YQCLH.d.ts → instance-options-CoHn-0e8.d.ts} +4 -4
  181. package/dist/{instance-snapshot-CjcwnEiV.js → instance-snapshot-DuWf1cT3.js} +86 -61
  182. package/dist/{instant-BluqDvyS.js → instant-DK3Iz83e.js} +2 -2
  183. package/dist/{internals-Dk8A8fX3.js → internals-B3IgHrvo.js} +6 -3
  184. package/dist/{json-schema-B-vAwlde.js → json-schema-BPGa-RjQ.js} +9 -3
  185. package/dist/{json-schema-CN_iLFH2.d.ts → json-schema-BfXgnRNT.d.ts} +4 -4
  186. package/dist/jwt/index.d.ts +57 -27
  187. package/dist/jwt/index.js +24 -21
  188. package/dist/{kernel-DVExUwkp.js → kernel-qv4cr9w8.js} +32 -23
  189. package/dist/kysely/index.d.ts +49 -33
  190. package/dist/kysely/index.js +9 -7
  191. package/dist/{live-options-BaAFCIiu.js → live-options-BBIT68le.js} +2 -2
  192. package/dist/{load-DxroEzH1.js → load-DjSU5KXO.js} +6 -6
  193. package/dist/load-Dm0pSYH3.js +1 -0
  194. package/dist/{login-ClSJh5t5.js → login-CfImTJGb.js} +4 -4
  195. package/dist/{login-WC9HPJpU.js → login-CgfCTO3F.js} +16 -9
  196. package/dist/{manifest-Dv6q4i5s.js → manifest-B2QPh19C.js} +49 -38
  197. package/dist/{manifest-BVhExYhw.d.ts → manifest-CzzWtnAb.d.ts} +126 -31
  198. package/dist/{manifest-schema-Cv492Qev.js → manifest-schema-2r37XRhD.js} +44 -3
  199. package/dist/{manifest-B79YuF2T.js → manifest-wg8WkkpD.js} +6 -6
  200. package/dist/{map-claims-etGIS_Dv.js → map-claims-C-nv08_n.js} +16 -9
  201. package/dist/{map-error-BQGyDm_M.js → map-error-pasIGqMT.js} +7 -7
  202. package/dist/{markers-C6joDI3o.js → markers-BeHZ4x9Q.js} +20 -5
  203. package/dist/mcp/index.d.ts +114 -61
  204. package/dist/mcp/index.js +70 -40
  205. package/dist/{migrate-Dodel0IJ.js → migrate-B7oP_sQU.js} +35 -17
  206. package/dist/module-values-BJTBdo6y.js +107 -0
  207. package/dist/nest/index.d.ts +23 -13
  208. package/dist/nest/index.js +18 -11
  209. package/dist/next/client.d.ts +5 -2
  210. package/dist/next/client.js +1 -1
  211. package/dist/next/index.d.ts +79 -26
  212. package/dist/next/index.js +121 -10
  213. package/dist/next/plugin.d.ts +1 -1
  214. package/dist/next/plugin.js +4 -3
  215. package/dist/node/index.d.ts +5 -5
  216. package/dist/node/index.js +3 -3
  217. package/dist/{ocsf-BFp-PZZA.js → ocsf-TcjRBgIs.js} +15 -5
  218. package/dist/openai/index.d.ts +13 -7
  219. package/dist/openai/index.js +3 -3
  220. package/dist/openapi/index.d.ts +51 -30
  221. package/dist/openapi/index.js +2 -2
  222. package/dist/{openapi-ztVaux6j.js → openapi-BGeuunWC.js} +23 -14
  223. package/dist/{openapi-DMocl1bh.js → openapi-BIpw3Mb7.js} +4 -5
  224. package/dist/{openapi-Ddb4628T.js → openapi-BOsx0xn9.js} +33 -18
  225. package/dist/{operation-findings-kRcEp8lE.js → operation-findings-CXtFzlKJ.js} +3 -3
  226. package/dist/{operations-BNLes61x.d.ts → operations-Ci_rT6Uo.d.ts} +10 -7
  227. package/dist/orpc/index.d.ts +68 -14
  228. package/dist/orpc/index.js +62 -13
  229. package/dist/otel/index.d.ts +7 -4
  230. package/dist/otel/index.js +8 -5
  231. package/dist/{output-DgSDLrta.js → output-DV5dwOTs.js} +9 -5
  232. package/dist/output-files-BHOIlrfD.js +1 -0
  233. package/dist/{output-files-CCMdcFWb.js → output-files-BIQ_9pIs.js} +29 -17
  234. package/dist/ownership-DA5YdYTm.js +1059 -0
  235. package/dist/{parse-Ddhz2xf4.js → parse-1_ZheTW5.js} +16 -13
  236. package/dist/parse-local-manifest-CCmbhnxP.d.ts +10 -0
  237. package/dist/{parse-local-manifest-T1Q8X3A2.js → parse-local-manifest-DEiCF4ah.js} +19 -7
  238. package/dist/{parse-request-D_tUXG6M.js → parse-request-CwCZpyjV.js} +7 -8
  239. package/dist/{paths-DXSHAMIa.js → paths-CUvURzHp.js} +4 -1
  240. package/dist/pdp/index.d.ts +9 -6
  241. package/dist/pdp/index.js +20 -13
  242. package/dist/{peer-DOzzMfZL.js → peer-C9LvBCcb.js} +1 -1
  243. package/dist/{peer-12Q5I_RH.js → peer-Q0fuZ6hx.js} +9 -3
  244. package/dist/{permdock-BfWEeMqk.js → permdock-BvjivVb9.js} +200 -140
  245. package/dist/{permdock-Dco6dyCK.d.ts → permdock-CprAPN3w.d.ts} +260 -129
  246. package/dist/{permission-registry-DpPtSKNZ.js → permission-registry-B8tYxPIt.js} +23 -10
  247. package/dist/{permission-types-DhNEmoRG.d.ts → permission-types-CAY-GU7e.d.ts} +127 -41
  248. package/dist/{permissions-CoqCOfJ3.d.ts → permissions-Bx6UI8n1.d.ts} +6 -3
  249. package/dist/{permissions-CyH2MV_B.js → permissions-CVXmRILq.js} +3 -3
  250. package/dist/{permissions-DArULThq.js → permissions-CYcHj_w7.js} +8 -5
  251. package/dist/pg-DQTqRrou.js +60 -0
  252. package/dist/{pins-8ILTftC9.js → pins-nqarl3oE.js} +4 -1
  253. package/dist/{pkce-5h8NgMQJ.js → pkce-CnmmYqUZ.js} +1 -1
  254. package/dist/{policy-B7dg_yzu.d.ts → policy-BycVKnXv.d.ts} +5 -5
  255. package/dist/{policy-DaJy4nK4.js → policy-CLQ8__GF.js} +43 -23
  256. package/dist/{policy-from-catalog-DFWYkNdu.js → policy-from-catalog-CU3An8uP.js} +28 -25
  257. package/dist/{policy-module-CTlwMvLI.js → policy-module-xym9fnSq.js} +12 -6
  258. package/dist/{policy-types-B-F-qAZk.d.ts → policy-types-DGIO_gxq.d.ts} +782 -357
  259. package/dist/{postgres-store-BL9M_CA1.js → postgres-store-DcyrPS-r.js} +43 -16
  260. package/dist/{postgrest-r5faDIzD.js → postgrest-5Dr3W64L.js} +84 -86
  261. package/dist/{postgrest-CYacM_u7.d.ts → postgrest-D5nUGm-c.d.ts} +55 -35
  262. package/dist/powersync-B701tvhE.js +1 -0
  263. package/dist/{powersync-13odBwiM.js → powersync-Bg8u-JcR.js} +3 -3
  264. package/dist/{powersync-53ryOZip.js → powersync-CJrT1DSc.js} +127 -69
  265. package/dist/preset/index.d.ts +38 -28
  266. package/dist/preset/index.js +1 -1
  267. package/dist/{preset-CHTbd-DQ.js → preset-BjLzeFpp.js} +56 -32
  268. package/dist/{principal-source-pHneukrx.js → principal-source-C6N60GtM.js} +10 -10
  269. package/dist/prisma/index.d.ts +69 -41
  270. package/dist/prisma/index.js +21 -17
  271. package/dist/{problem-CTviyH5L.js → problem-BVLHFK33.js} +41 -21
  272. package/dist/{problem-details-cn5X30gZ.js → problem-details-CLDgX1KV.js} +13 -4
  273. package/dist/{problem-types-CJ2325SZ.js → problem-types-DSsRfONQ.js} +4 -1
  274. package/dist/{prompt-DwtVemER.js → prompt-BYc6drYW.js} +4 -1
  275. package/dist/protected-action-D8x73IGm.d.ts +58 -0
  276. package/dist/protected-action-DUYqb-Ma.js +80 -0
  277. package/dist/{protected-DXE3cQYg.js → protected-action-QEA8arRB.js} +48 -14
  278. package/dist/{provider-BQsTYYy0.js → provider-C55OGXJ7.js} +5 -4
  279. package/dist/{provider-Csk-THAn.d.ts → provider-DfLeek9O.d.ts} +1 -1
  280. package/dist/{provider-store-IgqQipCO.js → provider-store-CaTv00tr.js} +13 -9
  281. package/dist/{pull-CN5OLxrF.js → pull-2nJr0qg_.js} +12 -11
  282. package/dist/pull-C3EEGzSw.js +1 -0
  283. package/dist/{push-tVdG8dUL.js → push-Bn-lMEmI.js} +19 -13
  284. package/dist/{pushed-policy-CmYeSQqq.js → pushed-policy-CDuOL2de.js} +10 -7
  285. package/dist/{pushed-policy-BbcY9r_4.d.ts → pushed-policy-CryQheKq.d.ts} +12 -6
  286. package/dist/react/index.d.ts +9 -8
  287. package/dist/react/index.js +7 -6
  288. package/dist/react/provider-client.d.ts +1 -1
  289. package/dist/react/provider-client.js +1 -1
  290. package/dist/react-native/index.d.ts +94 -55
  291. package/dist/react-native/index.js +200 -61
  292. package/dist/{refs-CNJBiTFo.js → refs-C8BKxc_e.js} +2 -2
  293. package/dist/{relation-walk-3OyDBF0S.js → relation-walk-DK_gkgL7.js} +12 -9
  294. package/dist/{relations-BnCWnJGI.js → relations-BxvRvDHK.js} +3 -3
  295. package/dist/{replay-Du1tJjG7.js → replay-BU09ad4L.js} +1 -1
  296. package/dist/{replay-DCDD_ZfL.d.ts → replay-Bs9Df2fQ.d.ts} +1 -1
  297. package/dist/{request-context-BykKLmyE.js → request-context-Duzdf0cd.js} +8 -8
  298. package/dist/{request-schema-CMreVuFM.js → request-schema-DhX7UbfQ.js} +4 -1
  299. package/dist/resend/index.d.ts +34 -28
  300. package/dist/resend/index.js +29 -29
  301. package/dist/resolve-names-ConCSj1y.js +201 -0
  302. package/dist/{resource-relations-D_jw0BFx.js → resource-relations-8-pCScBO.js} +18 -9
  303. package/dist/{retire-Wj6dkyDE.js → retire-B2xffQgY.js} +15 -6
  304. package/dist/{revocations-R07lFBnX.d.ts → revocations-BaUXHM1N.d.ts} +6 -3
  305. package/dist/{rls-Ck_PocSp.js → rls-Ba9wN0SP.js} +13 -6
  306. package/dist/{rls-CxBZb4rZ.js → rls-Cx0dtsB7.js} +310 -128
  307. package/dist/{role-builder-C1VJzvcr.js → role-builder-BK2-T6oD.js} +41 -20
  308. package/dist/{row-conditions-h2HythXQ.js → row-conditions-BAGHOmVq.js} +4 -3
  309. package/dist/{rpc-Bk1bE-ch.js → rpc-vHIwyXCp.js} +8 -5
  310. package/dist/run-Ck22anC2.js +1 -0
  311. package/dist/{run-uLD2aWuO.js → run-PbRlXTfh.js} +26 -23
  312. package/dist/{run-ticket-BpNi7BCi.d.ts → run-ticket-B2o2Kxz8.d.ts} +29 -14
  313. package/dist/{run-ticket-B5d_63Ma.js → run-ticket-Dv7aF7Dk.js} +9 -9
  314. package/dist/{runtime-Vif3_-zf.js → runtime-BGnrOkVH.js} +5 -2
  315. package/dist/{saas-Az_Kz-4D.js → saas-DK4V-3Is.js} +42 -29
  316. package/dist/{scan-DSljDE1Y.js → scan-CRTj6fke.js} +1 -1
  317. package/dist/{schema-B4v0Qrac.js → schema-BOJjqlWL.js} +3 -2
  318. package/dist/{schema-gIcCx7zM.js → schema-BTsE1WRT.js} +8 -4
  319. package/dist/scim/index.d.ts +2 -2
  320. package/dist/scim/index.js +2 -2
  321. package/dist/{scim-C7JYhySg.js → scim-D8YupzX1.js} +2 -2
  322. package/dist/{scim-YNieBO1U.js → scim-jJBJ7g1Z.js} +33 -15
  323. package/dist/{scopes-BHsc-wp-.js → scopes-0Up_UA2t.js} +41 -23
  324. package/dist/server/index.d.ts +11 -11
  325. package/dist/server/index.js +12 -12
  326. package/dist/{server-Bnga6I50.js → server-3cVlTLde.js} +31 -31
  327. package/dist/{server-types-C4gZUEZy.d.ts → server-types-CyRN0-Cd.d.ts} +88 -46
  328. package/dist/{sha256-D9ihqmvd.js → sha256-C-4WXKIu.js} +4 -3
  329. package/dist/{shared-fMKOv8hP.js → shared-Afctg7B0.js} +65 -32
  330. package/dist/{shared-C8LjUdVU.js → shared-l0oGGetg.js} +9 -6
  331. package/dist/{signals-D3NcTKUS.js → signals-B1vHR3fN.js} +2 -2
  332. package/dist/{sink-Cp_Eot9W.d.ts → sink-B5zoUW_O.d.ts} +44 -20
  333. package/dist/{sink-BEZSlMS_.js → sink-D9_vh372.js} +32 -21
  334. package/dist/{skills-g_3BS9NC.js → skills-C9uKfSF5.js} +3 -3
  335. package/dist/{skills-Dcjw9_1C.js → skills-CQQcuGBi.js} +12 -8
  336. package/dist/{snapshot-CbGmYiJx.js → snapshot-CXlzi69u.js} +21 -18
  337. package/dist/{snapshot-cache-Pahd3IYJ.d.ts → snapshot-cache-BjAWkchD.d.ts} +21 -12
  338. package/dist/{snapshot-cache-DT2Kx1F8.js → snapshot-cache-Bx_4xC_6.js} +14 -11
  339. package/dist/solid/index.d.ts +55 -16
  340. package/dist/solid/index.js +46 -12
  341. package/dist/solid-start/index.d.ts +30 -12
  342. package/dist/solid-start/index.js +3 -3
  343. package/dist/{sources-B-zYB4GS.js → sources-CMAM-2A3.js} +46 -27
  344. package/dist/{sources-DEEuGb8S.d.ts → sources-CWG32C0G.d.ts} +126 -53
  345. package/dist/{sql-B96movIM.js → sql-0WjxIp9g.js} +28 -7
  346. package/dist/{sql-CDEPCA0g.d.ts → sql-B80DFdpG.d.ts} +2 -2
  347. package/dist/{src-DLFrtrrC.js → src-C_pi2Rnh.js} +292 -101
  348. package/dist/ssf/index.d.ts +3 -3
  349. package/dist/ssf/index.js +47 -35
  350. package/dist/{standard-webhooks-DgFFD-Ga.js → standard-webhooks-D67a3nzk.js} +5 -5
  351. package/dist/{standard-webhooks-B_qRg0ws.d.ts → standard-webhooks-DOYEuOLx.d.ts} +7 -7
  352. package/dist/{store-DSP9oGvh.js → store-RNFvaJJv.js} +32 -26
  353. package/dist/{store-options-B_poyYvg.js → store-options-Dil3lraY.js} +105 -15
  354. package/dist/stores-DZJvxFIZ.d.ts +59 -0
  355. package/dist/{stores-BqEuHC05.js → stores-DxZWDXCs.js} +42 -5
  356. package/dist/{stream-2Vwhl7Er.d.ts → stream-9y9qw51m.d.ts} +4 -3
  357. package/dist/{stream-CvdUS9V1.js → stream-CDvF0sJm.js} +5 -5
  358. package/dist/{style-Ds1gNm77.js → style-DblOtSga.js} +1 -1
  359. package/dist/{style-Cqo7-73x.js → style-Ds11Hmk4.js} +2 -1
  360. package/dist/{subject-settings-CkEwrw3W.js → subject-settings-8sH5HlII.js} +8 -4
  361. package/dist/{row-check-Dt35czLy.d.ts → subject-settings-vNW8qmUH.d.ts} +30 -18
  362. package/dist/supabase/index.d.ts +48 -38
  363. package/dist/supabase/index.js +5 -5
  364. package/dist/supabase/middleware.d.ts +19 -13
  365. package/dist/supabase/middleware.js +7 -7
  366. package/dist/{supabase--0aJdLEd.js → supabase-DnMMg5Fn.js} +79 -35
  367. package/dist/{supabase-Bqp7iIY2.js → supabase-SBs3MYUE.js} +3 -3
  368. package/dist/supabase-hook-C0FyEACZ.js +1 -0
  369. package/dist/{supabase-hook-Dg0SrQWR.js → supabase-hook-CrgU06WH.js} +175 -196
  370. package/dist/{supautils-MESd81bF.js → supautils-ByezN3b8.js} +385 -219
  371. package/dist/{support-session-Cna49-3f.js → support-session-BsmPCbz8.js} +21 -21
  372. package/dist/svelte/PermissionBoundary.svelte +2 -6
  373. package/dist/svelte/Protected.svelte +2 -8
  374. package/dist/svelte/index.d.ts +9 -8
  375. package/dist/svelte/index.js +10 -9
  376. package/dist/svelte/runtime.d.ts +4 -4
  377. package/dist/svelte/runtime.js +4 -4
  378. package/dist/svelte/source.d.ts +9 -8
  379. package/dist/svelte/source.js +6 -5
  380. package/dist/sveltekit/index.d.ts +30 -12
  381. package/dist/sveltekit/index.js +2 -2
  382. package/dist/{ownership-Z2LpxsGa.js → tables-BqrxBCir.js} +641 -1104
  383. package/dist/tanstack-start/index.d.ts +22 -10
  384. package/dist/tanstack-start/index.js +2 -2
  385. package/dist/{target-Bw37TFNA.js → target-qdEAnnhU.js} +6 -6
  386. package/dist/{tenancy-CmeBQ6Nv.js → tenancy-5d1zVBvK.js} +25 -19
  387. package/dist/terminal/index.d.ts +23 -14
  388. package/dist/terminal/index.js +17 -20
  389. package/dist/testing/core.d.ts +1 -1
  390. package/dist/testing/core.js +1 -1
  391. package/dist/testing/fixtures/index.d.ts +8 -5
  392. package/dist/testing/fixtures/index.js +78 -17
  393. package/dist/testing/index.d.ts +225 -141
  394. package/dist/testing/index.js +352 -234
  395. package/dist/testing/saas/index.d.ts +43 -27
  396. package/dist/testing/saas/index.js +2 -2
  397. package/dist/testing/saas/permissions.d.ts +1 -1
  398. package/dist/testing/saas/permissions.js +1 -1
  399. package/dist/{text-diff-DhITNCnD.js → text-diff-BtfSmdUo.js} +2 -2
  400. package/dist/{thenable-yD7SabqG.js → thenable-BNSM1U2R.js} +12 -3
  401. package/dist/{time-DkWjdL98.js → time-nR1JesoH.js} +32 -8
  402. package/dist/{token-2qYDvXz2.js → token-DC9EQiet.js} +14 -12
  403. package/dist/{tool-refusal-reAhIzdl.js → tool-refusal-Qpjs_W6M.js} +5 -2
  404. package/dist/trpc/index.d.ts +11 -8
  405. package/dist/trpc/index.js +15 -9
  406. package/dist/type-helpers-c7Xo_2Cu.d.ts +50 -0
  407. package/dist/{types-CfiKC5aN.d.ts → types-B2efzoSX.d.ts} +14 -11
  408. package/dist/{types-CIeZcG8v.d.ts → types-B6ExllNo.d.ts} +2 -2
  409. package/dist/{types-DBHftjgS.d.ts → types-BB-zWDcR.d.ts} +45 -33
  410. package/dist/{types-BfVmNJO5.d.ts → types-BMVDHvI0.d.ts} +128 -50
  411. package/dist/{types-DXmwu78Z.d.ts → types-CEinc15V.d.ts} +31 -14
  412. package/dist/{types-g7Oy6Zg4.d.ts → types-CN0LsqbK.d.ts} +47 -24
  413. package/dist/{types-CeIscIKp.d.ts → types-CWBsAwqn.d.ts} +23 -12
  414. package/dist/{types-DqzsnlSA.js → types-CcUXciSj.js} +17 -5
  415. package/dist/{types-BWZybqs9.d.ts → types-CzOeVvcC.d.ts} +384 -203
  416. package/dist/{types-DC44-hqb.d.ts → types-DLvhVm1r.d.ts} +59 -32
  417. package/dist/{types-D3A19w4A.d.ts → types-DlelvQk4.d.ts} +22 -13
  418. package/dist/{types-cTos-H7p.d.ts → types-DsHGPtkR.d.ts} +68 -32
  419. package/dist/{types-BXMYB7BY.d.ts → types-ZzRGoViD.d.ts} +77 -24
  420. package/dist/{types-CQVEQawv.d.ts → types-rCRV4Ge-.d.ts} +24 -14
  421. package/dist/types-tQB2CEnY.d.ts +262 -0
  422. package/dist/unplugin/index.d.ts +1 -1
  423. package/dist/unplugin/index.js +2 -2
  424. package/dist/usage-0hjZPIRX.js +1 -0
  425. package/dist/{usage-Bybmck7f.js → usage-B9EtHWLa.js} +50 -26
  426. package/dist/{usage-CDaLXCfL.js → usage-CBzgwfIs.js} +2 -2
  427. package/dist/{validation-error-ZfUHbKvf.js → validation-error-CYg2kJEw.js} +4 -1
  428. package/dist/{validation-error-CQpoquwj.d.ts → validation-error-uvp-kyfO.d.ts} +5 -2
  429. package/dist/{validity-CZ7-y0Cj.js → validity-Buc7w8E9.js} +13 -10
  430. package/dist/{verifier-DHuh-okk.js → verifier-DUV6pLqZ.js} +10 -4
  431. package/dist/{verify-pe8rL_Qw.js → verify-DlUcTDBz.js} +148 -487
  432. package/dist/version-DMQ0dnN5.js +48 -0
  433. package/dist/version-DizhmD72.js +1 -0
  434. package/dist/{views-BB8E9dTP.js → views-CD8wuL4Z.js} +19 -6
  435. package/dist/{vocabulary-Bg3eeT2H.d.ts → vocabulary-DEJ5j4mR.d.ts} +7 -4
  436. package/dist/vue/index.d.ts +71 -22
  437. package/dist/vue/index.js +50 -13
  438. package/dist/{waiter-DwEyouan.d.ts → waiter-CqUKX6CY.d.ts} +13 -10
  439. package/dist/{waiter-BGUtGYoU.js → waiter-aBLM63_f.js} +1 -1
  440. package/dist/{watch-C-4VmFlL.js → watch-BFDKqmUa.js} +8 -8
  441. package/dist/watch-ClLuO2TL.js +1 -0
  442. package/dist/webmcp/index.d.ts +11 -11
  443. package/dist/webmcp/index.js +8 -5
  444. package/dist/{where-scope-wq2coopv.js → where-scope-DlCdCM_8.js} +24 -18
  445. package/dist/{who-can-BwNsI_Js.js → who-can-BoDJm0Nc.js} +23 -20
  446. package/dist/workflow/index.d.ts +3 -3
  447. package/dist/workflow/index.js +13 -13
  448. package/dist/workflow-sdk/index.d.ts +19 -13
  449. package/dist/workflow-sdk/index.js +6 -6
  450. package/dist/{wrap-CiSc_KCq.js → wrap-B2wziJI_.js} +4 -4
  451. package/dist/{wrap-B6R0cMRL.d.ts → wrap-DxXB54Wu.d.ts} +8 -5
  452. package/package.json +8 -8
  453. package/schemas/catalog-v1.json +3 -0
  454. package/schemas/supabase-manifest-v1.json +33 -1
  455. package/skills/permdock-credentials/references/tokens-keys-links.md +8 -6
  456. package/skills/permdock-data/references/queries-and-rls.md +2 -1
  457. package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +2 -2
  458. package/skills/permdock-wire/references/adapters.md +16 -23
  459. package/dist/catalog-BCCjSAdH.js +0 -1
  460. package/dist/collect-k_Dulxr5.js +0 -1
  461. package/dist/config-CoQHDrDi.js +0 -166
  462. package/dist/denied-text-D4qkEtFz.d.ts +0 -19
  463. package/dist/fields-ClcQLrVc.js +0 -238
  464. package/dist/generate-CNU1pIOo.js +0 -171
  465. package/dist/headers-BIjfMaoC.js +0 -8
  466. package/dist/headers-CIbDTUTK.d.ts +0 -7
  467. package/dist/load-DrMHXzgN.js +0 -1
  468. package/dist/output-files-DPAY7-GX.js +0 -1
  469. package/dist/package-root-Dk_ETdkp.js +0 -31
  470. package/dist/parse-local-manifest-e4mdwAKd.d.ts +0 -10
  471. package/dist/policies-B2lZIurj.js +0 -295
  472. package/dist/powersync-CExtTLyA.js +0 -1
  473. package/dist/problem-details-Tcfmj3bV.d.ts +0 -7
  474. package/dist/protected-BwZYL1X_.d.ts +0 -39
  475. package/dist/pull-Cty6Ovyu.js +0 -1
  476. package/dist/run-Bz7DXGEv.js +0 -1
  477. package/dist/stores-BAZwSYZA.d.ts +0 -31
  478. package/dist/supabase-hook-DJxC4PoP.js +0 -1
  479. package/dist/types-CKV71kKh.d.ts +0 -172
  480. package/dist/usage-y-kBNdqs.js +0 -1
  481. package/dist/version-CEbQ5UeM.js +0 -18
  482. package/dist/version-DXkYUISx.js +0 -1
  483. package/dist/watch-Bd9mx3rd.js +0 -1
@@ -1,7 +1,7 @@
1
- import { n as freezeDeep } from "./freeze-CrU8nQeX.js";
2
- import { n as PermDockValidationError } from "./validation-error-ZfUHbKvf.js";
3
- import { n as copyJson, t as checkSchema } from "./json-schema-B-vAwlde.js";
4
- import { t as supabaseManifestSchema } from "./manifest-schema-Cv492Qev.js";
1
+ import { n as freezeDeep } from "./freeze-jjan0lCv.js";
2
+ import { n as PermDockValidationError } from "./validation-error-CYg2kJEw.js";
3
+ import { n as copyJson, t as checkSchema } from "./json-schema-BPGa-RjQ.js";
4
+ import { t as supabaseManifestSchema } from "./manifest-schema-2r37XRhD.js";
5
5
  //#region src/supabase/manifest.ts
6
6
  /** Whether the manifest describes a token hook. */
7
7
  function hasTokenHook(manifest) {
@@ -10,8 +10,8 @@ function hasTokenHook(manifest) {
10
10
  /**
11
11
  * Reads a `permdock.manifest.json` document (parsed, or the JSON text) and
12
12
  * validates it against `schemas/supabase-manifest-v1.json`. Returns a
13
- * deep-frozen copy built from own keys; throws `PermDockValidationError`
14
- * with every issue, so a manifest of another major is refused.
13
+ * deep-frozen copy built from own keys; throws `PermDockValidationError` with
14
+ * every issue, so a manifest of another major is refused.
15
15
  */
16
16
  function parseSupabaseManifest(json) {
17
17
  const issues = [];
@@ -1,11 +1,11 @@
1
1
  import { r as isRecord, t as compact } from "./compact-CAf557ZB.js";
2
- import { n as freezeDeep } from "./freeze-CrU8nQeX.js";
3
- import { n as isForbiddenKey, o as readPath } from "./paths-DXSHAMIa.js";
4
- import { n as expirySeconds } from "./expiry-D4_YKRKD.js";
5
- import { r as validateRecord } from "./thenable-yD7SabqG.js";
2
+ import { n as freezeDeep } from "./freeze-jjan0lCv.js";
3
+ import { n as isForbiddenKey, o as readPath } from "./paths-CUvURzHp.js";
4
+ import { n as expirySeconds } from "./expiry-6XByK0dm.js";
5
+ import { r as validateRecord } from "./thenable-BNSM1U2R.js";
6
6
  import { t as anonymousSubject } from "./subject-BGoM5o8B.js";
7
- import { t as readClaim } from "./claims-map-7oQ3ue4X.js";
8
- import { t as clientNameOf } from "./clients-DjU5ABMy.js";
7
+ import { t as readClaim } from "./claims-map-CKkoAAYF.js";
8
+ import { t as clientNameOf } from "./clients-DYr3U86j.js";
9
9
  //#region src/jwt/map-claims.ts
10
10
  /** OpenID Connect Core section 5.1: profile data the provider owns. */
11
11
  const PROFILE_CLAIMS = [
@@ -180,7 +180,10 @@ function membershipsFromClaim(value) {
180
180
  });
181
181
  return out;
182
182
  }
183
- /** Zitadel's `role -> { orgId: orgDomain }` form: string values and no `roles` key. */
183
+ /**
184
+ * Zitadel's `role -> { orgId: orgDomain }` form: string values and no `roles`
185
+ * key.
186
+ */
184
187
  function isRoleToOrganisations(value) {
185
188
  const entries = Object.entries(value);
186
189
  return entries.length > 0 && !("roles" in value) && entries.every(([key, item]) => typeof item === "string" && !isForbiddenKey(key));
@@ -332,13 +335,17 @@ function mapClaimsToSubject(claims, options) {
332
335
  delegation: options.accept === "id-token" ? void 0 : delegationOf(claims, options, act.status === "ok" ? act.chain : void 0),
333
336
  context: {},
334
337
  session: typeof sessionValue === "string" ? sessionValue : void 0,
335
- expiresAt
338
+ expiresAt,
339
+ issuedAt: typeof claims.iat === "number" && Number.isFinite(claims.iat) ? claims.iat : void 0
336
340
  })),
337
341
  invalidClaims,
338
342
  invalidChain: false
339
343
  };
340
344
  }
341
- /** `true` when a verified token is not an OpenID Connect ID token for one of `clients`. */
345
+ /**
346
+ * `true` when a verified token is not an OpenID Connect ID token for one of
347
+ * `clients`.
348
+ */
342
349
  function idTokenMismatch(claims, headerTyp, clients) {
343
350
  const typ = headerTyp?.toLowerCase();
344
351
  if (typ !== void 0 && typ !== "jwt" && typ !== "application/jwt") return true;
@@ -1,14 +1,14 @@
1
1
  import { t as compact } from "./compact-CAf557ZB.js";
2
- import { n as PermDockValidationError } from "./validation-error-ZfUHbKvf.js";
3
- import { n as PermDockDeniedError, r as PermDockRevokedError, t as PermDockApprovalRequiredError } from "./errors-BKy0EfhN.js";
4
- import { c as problemResponse, i as decisionResponse } from "./problem-CTviyH5L.js";
5
- import { l as InvalidSignatureError } from "./evaluations-DReoiVBw.js";
2
+ import { n as PermDockValidationError } from "./validation-error-CYg2kJEw.js";
3
+ import { n as PermDockDeniedError, r as PermDockRevokedError, t as PermDockApprovalRequiredError } from "./errors-B6R_lg2a.js";
4
+ import { a as decisionResponse, l as problemResponse } from "./problem-BVLHFK33.js";
5
+ import { l as InvalidSignatureError } from "./evaluations-IBceAeKT.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
9
- * status, `WWW-Authenticate` and rate-limit fields `protect` sends for the
10
- * same decision. Returns `undefined` for anything else so the framework's own
11
- * error path takes over.
9
+ * status, `WWW-Authenticate` and rate-limit fields `protect` sends for the same
10
+ * decision. Returns `undefined` for anything else so the framework's own error
11
+ * path takes over.
12
12
  */
13
13
  function problemFromError(error, options = {}) {
14
14
  if (error instanceof InvalidSignatureError) return error.response;
@@ -3,13 +3,25 @@ import { t as beforeFirst } from "./text-BMFRfBqc.js";
3
3
  const HOOK_MARKER = "-- permdock:hook v1";
4
4
  /** The first line of a `--grants-out` file. */
5
5
  const GRANTS_MARKER = "-- permdock:grants v1";
6
- /** The first line of the `seeds` part: the `role_permissions` rows, a versioned migration. */
6
+ /**
7
+ * The first line of the `seeds` part: the `role_permissions` rows, a versioned
8
+ * migration.
9
+ */
7
10
  const SEEDS_MARKER = "-- permdock:seeds v1";
8
- /** The first line of the `indexes` part: the indexes the policies and helpers read through. */
11
+ /**
12
+ * The first line of the `indexes` part: the indexes the policies and helpers
13
+ * read through.
14
+ */
9
15
  const INDEXES_MARKER = "-- permdock:indexes v1";
10
- /** The first line of a `--backfill-out` migration: existing custom roles copied into the custom-role tables. */
16
+ /**
17
+ * The first line of a `--backfill-out` migration: existing custom roles copied
18
+ * into the custom-role tables.
19
+ */
11
20
  const BACKFILL_MARKER = "-- permdock:backfill v1";
12
- /** The first line of a `rls migrate --retire-out` migration: a materialised permissions table and its refresh triggers dropped. */
21
+ /**
22
+ * The first line of a `rls migrate --retire-out` migration: a materialised
23
+ * permissions table and its refresh triggers dropped.
24
+ */
13
25
  const RETIRE_MARKER = "-- permdock:retire v1";
14
26
  const HOOK_LINE = /^-- permdock:hook v(?<version>[1-9]\d*)(?: (?<rest>.*))?$/u;
15
27
  const GRANTS_LINE = /^-- permdock:grants v(?<version>[1-9]\d*)(?: (?<rest>.*))?$/u;
@@ -25,7 +37,10 @@ function pairs(rest) {
25
37
  }
26
38
  return fields;
27
39
  }
28
- /** The fields of a hook marker line, or undefined when `sql` does not start with one. */
40
+ /**
41
+ * The fields of a hook marker line, or undefined when `sql` does not start with
42
+ * one.
43
+ */
29
44
  function hookMarkerFields(sql) {
30
45
  const line = firstLine(sql);
31
46
  return line.startsWith(`-- permdock:hook v1 `) ? pairs(line.slice(20)) : void 0;
@@ -1,24 +1,30 @@
1
- import { T as Policy, Y as JwtClaims, dt as TokenVerifier, lr as Subject, rr as Delegation, sr as Principal } from "../policy-types-B-F-qAZk.js";
2
- import { u as Permission } from "../permission-types-DhNEmoRG.js";
3
- import { m as ApprovalStore } from "../types-DC44-hqb.js";
4
- import { t as ApprovalHint } from "../errors-B_Qg9D3e.js";
5
- import { t as InstanceOptions } from "../instance-options-CU0YQCLH.js";
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";
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";
6
6
  import { t as RequestContext } from "../request-context-C2_1lchh.js";
7
- import { n as PermDockWrap } from "../wrap-B6R0cMRL.js";
8
- import { o as OtelWrap } from "../types-CIeZcG8v.js";
9
- import { n as DeniedTextEvent, t as DeniedText } from "../denied-text-D4qkEtFz.js";
10
- import { t as ClientNames } from "../clients-C7zLFuWT.js";
11
- import { U as JwtSubjectOptions } from "../types-cTos-H7p.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";
10
+ import { t as ClientNames } from "../clients-C_NOET3z.js";
11
+ import { U as JwtSubjectOptions } from "../types-DsHGPtkR.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
- /** The verified `AuthInfo` the MCP SDK's bearer auth puts on `ctx.http.authInfo`. */
14
+ /**
15
+ * The verified `AuthInfo` the MCP SDK's bearer auth puts on
16
+ * `ctx.http.authInfo`.
17
+ */
15
18
  type McpAuthInfo = {
16
19
  readonly token?: string;
17
20
  readonly clientId?: string;
18
21
  readonly scopes?: readonly string[];
19
22
  readonly expiresAt?: number;
20
23
  readonly resource?: URL;
21
- /** Stamped by the SDK's bearer-auth helpers from their `resourceMetadataUrl` option. */
24
+ /**
25
+ * Stamped by the SDK's bearer-auth helpers from their `resourceMetadataUrl`
26
+ * option.
27
+ */
22
28
  readonly resourceMetadataUrl?: string;
23
29
  readonly extra?: Readonly<Record<string, unknown>>;
24
30
  };
@@ -44,9 +50,9 @@ type McpToolConfig<TInput extends StandardSchemaWithJSON | undefined = undefined
44
50
  readonly oauthScopes?: readonly string[];
45
51
  readonly _meta?: Record<string, unknown>;
46
52
  /**
47
- * Decide again when the handler resolves, without consuming quota, and
48
- * return the refusal instead of the result unless the call is still
49
- * allowed. The re-check withholds the result; it cannot undo the work.
53
+ * Decide again when the handler resolves, without consuming quota, and return
54
+ * the refusal instead of the result unless the call is still allowed. The
55
+ * re-check withholds the result; it cannot undo the work.
50
56
  */
51
57
  readonly longRunning?: boolean;
52
58
  };
@@ -56,7 +62,8 @@ type McpResourceConfig<TArgs extends readonly unknown[]> = Guard<TArgs> & Resour
56
62
  };
57
63
  /**
58
64
  * An MCP Apps view (`ui://`). Without `permission` it takes the permission of
59
- * the tool whose `_meta.ui.resourceUri` names it, and denies while no tool does.
65
+ * the tool whose `_meta.ui.resourceUri` names it, and denies while no tool
66
+ * does.
60
67
  */
61
68
  type McpUiResourceConfig = Omit<McpResourceConfig<[uri: URL]>, "permission"> & {
62
69
  readonly permission?: Permission;
@@ -71,45 +78,57 @@ type McpPromptConfig<TArgs extends StandardSchemaWithJSON | undefined = undefine
71
78
  };
72
79
  /** `McpServer` whose `register*` methods take a `permission` and decide first. */
73
80
  type GuardedMcpServer = Omit<McpServer, "registerTool" | "registerResource" | "registerPrompt"> & {
74
- registerTool<TInput extends StandardSchemaWithJSON | undefined = undefined, TOutput extends StandardSchemaWithJSON | undefined = undefined>(name: string, config: McpToolConfig<TInput, TOutput>, handler: ToolCallback<TInput>): RegisteredTool;
75
- registerResource(name: string, uri: `ui://${string}`, config: McpUiResourceConfig, read: ReadResourceCallback): RegisteredResource;
76
- registerResource(name: string, uri: string, config: McpResourceConfig<[uri: URL]>, read: ReadResourceCallback): RegisteredResource;
77
- registerResource(name: string, template: ResourceTemplate, config: McpResourceConfig<[uri: URL, variables: Variables]>, read: ReadResourceTemplateCallback): RegisteredResourceTemplate;
78
- registerPrompt<TArgs extends StandardSchemaWithJSON | undefined = undefined>(name: string, config: McpPromptConfig<TArgs>, handler: PromptCallback<TArgs>): RegisteredPrompt;
81
+ registerTool: <TInput extends StandardSchemaWithJSON | undefined = undefined, TOutput extends StandardSchemaWithJSON | undefined = undefined>(name: string, config: McpToolConfig<TInput, TOutput>, handler: ToolCallback<TInput>) => RegisteredTool;
82
+ registerResource: {
83
+ (name: string, uri: `ui://${string}`, config: McpUiResourceConfig, read: ReadResourceCallback): RegisteredResource;
84
+ (name: string, uri: string, config: McpResourceConfig<[uri: URL]>, read: ReadResourceCallback): RegisteredResource;
85
+ (name: string, template: ResourceTemplate, config: McpResourceConfig<[uri: URL, variables: Variables]>, read: ReadResourceTemplateCallback): RegisteredResourceTemplate;
86
+ };
87
+ registerPrompt: <TArgs extends StandardSchemaWithJSON | undefined = undefined>(name: string, config: McpPromptConfig<TArgs>, handler: PromptCallback<TArgs>) => RegisteredPrompt;
79
88
  };
80
89
  /** A tool config when the tool's own procedure decides: no loader, no re-check. */
81
90
  type McpProcedureToolConfig<TInput extends StandardSchemaWithJSON | undefined = undefined, TOutput extends StandardSchemaWithJSON | undefined = undefined> = Omit<McpToolConfig<TInput, TOutput>, "permission" | "data" | "longRunning"> & {
82
91
  /** Overrides `permissionFor(name)`. */
83
92
  readonly permission?: Permission;
84
93
  };
85
- /** `GuardedMcpServer` whose tools are listed and annotated by permission but decided by the procedure they call. */
94
+ /**
95
+ * `GuardedMcpServer` whose tools are listed and annotated by permission but
96
+ * decided by the procedure they call.
97
+ */
86
98
  type ProcedureMcpServer = Omit<GuardedMcpServer, "registerTool"> & {
87
- registerTool<TInput extends StandardSchemaWithJSON | undefined = undefined, TOutput extends StandardSchemaWithJSON | undefined = undefined>(name: string, config: McpProcedureToolConfig<TInput, TOutput>, handler: ToolCallback<TInput>): RegisteredTool;
99
+ registerTool: <TInput extends StandardSchemaWithJSON | undefined = undefined, TOutput extends StandardSchemaWithJSON | undefined = undefined>(name: string, config: McpProcedureToolConfig<TInput, TOutput>, handler: ToolCallback<TInput>) => RegisteredTool;
88
100
  };
89
101
  /**
90
- * Tools whose handler calls a procedure that already runs `protect`, such as
91
- * an oRPC procedure through `call()`. `tools/list` and annotations use the
102
+ * Tools whose handler calls a procedure that already runs `protect`, such as an
103
+ * oRPC procedure through `call()`. `tools/list` and annotations use the
92
104
  * permission; the call itself is not guarded, so each call decides once.
93
105
  */
94
106
  type McpProcedureEnforcement = {
95
107
  readonly enforce: "procedure";
96
- /** The permission of the tool `name`; `permissionOf(procedure)` from `permdock/orpc` reads it. `undefined` throws at registration. */
108
+ /**
109
+ * The permission of the tool `name`; `permissionOf(procedure)` from
110
+ * `permdock/orpc` reads it. `undefined` throws at registration.
111
+ */
97
112
  readonly permissionFor: (name: string) => Permission | undefined;
98
113
  readonly oauthScopesFor?: (name: string) => readonly string[] | undefined;
99
114
  };
100
115
  type McpPermDockOptions<TUser = unknown> = InstanceOptions & {
101
- /** Receives the verified auth info, or `{}` on a transport without one (stdio). */
116
+ /**
117
+ * Receives the verified auth info, or `{}` on a transport without one
118
+ * (stdio).
119
+ */
102
120
  readonly subject: (authInfo: McpAuthInfo) => TUser | Promise<TUser>;
103
121
  /**
104
- * The `kind` of the actor built from `authInfo.clientId`; `'mcp-client'`
105
- * when absent. `'oauth-client'` decides the token under the kind
122
+ * The `kind` of the actor built from `authInfo.clientId`; `'mcp-client'` when
123
+ * absent. `'oauth-client'` decides the token under the kind
106
124
  * `subjectFromSupabase`, `subjectFromJwt` and `permdock/a2a` give an OAuth
107
125
  * client, so one policy delegation covers the token on every surface.
108
126
  */
109
127
  readonly actorKind?: string;
110
128
  /**
111
129
  * Replaces the actor built from `authInfo.clientId`, `actorKind` and
112
- * `clients`. Read it from the verified `authInfo`, never from tool arguments.
130
+ * `clients`. Read it from the verified `authInfo`, never from tool
131
+ * arguments.
113
132
  */
114
133
  readonly actor?: (authInfo: McpAuthInfo) => unknown;
115
134
  /**
@@ -117,28 +136,36 @@ type McpPermDockOptions<TUser = unknown> = InstanceOptions & {
117
136
  * `authInfo.extra.authorization_details`.
118
137
  */
119
138
  readonly delegation?: (authInfo: McpAuthInfo) => Delegation | undefined | Promise<Delegation | undefined>;
120
- /** Names for OAuth client ids (`ClientNames`): the actor gets `client` set to the name of `authInfo.clientId`, which a policy delegation matches with `to: { kind, client }`. */
139
+ /**
140
+ * Names for OAuth client ids (`ClientNames`): the actor gets `client` set to
141
+ * the name of `authInfo.clientId`, which a policy delegation matches with
142
+ * `to: { kind, client }`.
143
+ */
121
144
  readonly clients?: ClientNames;
122
145
  readonly tenant?: string | ((authInfo: McpAuthInfo) => string | undefined | Promise<string | undefined>);
123
146
  /** Deny every call and list nothing when the transport carries no auth info. */
124
147
  readonly requireAuthInfo?: boolean;
125
148
  /**
126
149
  * This server's RFC 8707 resource identifier. A token whose
127
- * `authInfo.resource` is absent or different is refused with `invalid_token`.
150
+ * `authInfo.resource` is absent or different is refused with
151
+ * `invalid_token`.
128
152
  */
129
153
  readonly resource?: string | URL;
130
154
  /**
131
- * Where a human approves. With `at` set, `approval-required` answers a
132
- * client that supports URL elicitation with an `input_required` result.
155
+ * Where a human approves. With `at` set, `approval-required` answers a client
156
+ * that supports URL elicitation with an `input_required` result.
133
157
  */
134
158
  readonly approval?: ApprovalHint;
135
- /** Where the user re-authenticates; `acr_values` and `max_age` are appended to `at`. */
159
+ /**
160
+ * Where the user re-authenticates; `acr_values` and `max_age` are appended to
161
+ * `at`.
162
+ */
136
163
  readonly stepUp?: {
137
164
  readonly at: string;
138
165
  };
139
166
  /**
140
- * Seals the approval token into `requestState`. Pass the codec from the
141
- * SDK's `createRequestStateCodec` when the server verifies request state.
167
+ * Seals the approval token into `requestState`. Pass the codec from the SDK's
168
+ * `createRequestStateCodec` when the server verifies request state.
142
169
  */
143
170
  readonly requestState?: {
144
171
  readonly mint: (token: string, context?: never) => Promise<string>;
@@ -146,11 +173,14 @@ type McpPermDockOptions<TUser = unknown> = InstanceOptions & {
146
173
  readonly store?: ApprovalStore;
147
174
  /** `(permdock) => withOtel(permdock, options)` from `permdock/otel`. */
148
175
  readonly otel?: OtelWrap;
149
- /** Wraps each instance after `otel`; build it with `wrapPermDock` to cover derived instances. */
176
+ /**
177
+ * Wraps each instance after `otel`; build it with `wrapPermDock` to cover
178
+ * derived instances.
179
+ */
150
180
  readonly wrap?: PermDockWrap;
151
181
  /**
152
- * Request values merged into `subject.context`, under `policy.context`.
153
- * Read them from the verified `authInfo`, never from tool arguments.
182
+ * Request values merged into `subject.context`, under `policy.context`. Read
183
+ * them from the verified `authInfo`, never from tool arguments.
154
184
  */
155
185
  readonly context?: (authInfo: McpAuthInfo) => RequestContext | undefined | Promise<RequestContext | undefined>;
156
186
  /**
@@ -160,7 +190,10 @@ type McpPermDockOptions<TUser = unknown> = InstanceOptions & {
160
190
  readonly deniedText?: DeniedText;
161
191
  };
162
192
  type McpPermDock = {
163
- /** Call before registering anything: later `register*` calls must carry a `permission`. */
193
+ /**
194
+ * Call before registering anything: later `register*` calls must carry a
195
+ * `permission`.
196
+ */
164
197
  readonly protectServer: {
165
198
  (server: McpServer): GuardedMcpServer;
166
199
  (server: McpServer, options: McpProcedureEnforcement): ProcedureMcpServer;
@@ -171,21 +204,36 @@ type McpPermDock = {
171
204
  export declare function createPermDock<TUser, TPrincipal extends Principal = Principal>(policy: Policy<TUser, TPrincipal>, given: McpPermDockOptions<TUser>): McpPermDock;
172
205
  //#endregion
173
206
  //#region src/mcp/mcp-auth.d.ts
174
- /** `_meta` key on `tools/call`, `resources/read` and `prompts/get` carrying an approval token. */
207
+ /**
208
+ * `_meta` key on `tools/call`, `resources/read` and `prompts/get` carrying an
209
+ * approval token.
210
+ */
175
211
  export declare const APPROVAL_META_KEY = "dev.permdock/approval";
176
212
  //#endregion
177
213
  //#region src/mcp/resource-guard.d.ts
178
214
  type McpResourceGuardOptions = {
179
- /** The MCP server's resource identifier (RFC 8707); a token's `aud` must contain it. */
215
+ /**
216
+ * The MCP server's resource identifier (RFC 8707); a token's `aud` must
217
+ * contain it.
218
+ */
180
219
  readonly resource: string | URL;
181
- /** Scopes every request needs; a token without one of them gets `403 insufficient_scope`. */
220
+ /**
221
+ * Scopes every request needs; a token without one of them gets `403
222
+ * insufficient_scope`.
223
+ */
182
224
  readonly scopes?: readonly string[];
183
225
  readonly verifier: TokenVerifier;
184
- /** The authorization server's issuer, when the verifier does not check `iss` itself. */
226
+ /**
227
+ * The authorization server's issuer, when the verifier does not check `iss`
228
+ * itself.
229
+ */
185
230
  readonly issuer?: string;
186
231
  /** `true` for a revoked token; a throw also refuses it. */
187
232
  readonly revoked?: (claims: JwtClaims) => boolean | Promise<boolean>;
188
- /** The RFC 9728 metadata URL in challenges; default `<origin>/.well-known/oauth-protected-resource<path>`. */
233
+ /**
234
+ * The RFC 9728 metadata URL in challenges; default
235
+ * `<origin>/.well-known/oauth-protected-resource<path>`.
236
+ */
189
237
  readonly resourceMetadataUrl?: string;
190
238
  };
191
239
  type McpResourceGuardResult = {
@@ -199,41 +247,46 @@ type ProtectedResourceMetadataOptions = {
199
247
  readonly resource: string | URL;
200
248
  /** `authorization_servers`: the issuers whose tokens the resource accepts. */
201
249
  readonly authorizationServers: readonly string[];
202
- /** `scopes_supported`; list every permission's `scope` so clients can ask for them up front. */
250
+ /**
251
+ * `scopes_supported`; list every permission's `scope` so clients can ask for
252
+ * them up front.
253
+ */
203
254
  readonly scopesSupported?: readonly string[];
204
255
  readonly resourceName?: string;
205
256
  readonly resourceDocumentation?: string;
206
257
  };
207
258
  /**
208
- * The resource-server check in front of an MCP endpoint (MCP authorization,
209
- * RFC 6750, RFC 9728): reads the bearer token from `Authorization`, verifies
210
- * it for `resource`, refuses a revoked one and checks `scopes`. It answers
211
- * the `McpAuthInfo` the SDK's handlers read, or the `401` or `403` response
212
- * with a `WWW-Authenticate` challenge naming the metadata URL. A token in the
213
- * query string is never read. Never throws.
259
+ * The resource-server check in front of an MCP endpoint (MCP authorization, RFC
260
+ * 6750, RFC 9728): reads the bearer token from `Authorization`, verifies it for
261
+ * `resource`, refuses a revoked one and checks `scopes`. It answers the
262
+ * `McpAuthInfo` the SDK's handlers read, or the `401` or `403` response with a
263
+ * `WWW-Authenticate` challenge naming the metadata URL. A token in the query
264
+ * string is never read. Never throws.
214
265
  */
215
266
  export declare function mcpResourceGuard(options: McpResourceGuardOptions): (request: Request) => Promise<McpResourceGuardResult>;
216
267
  /**
217
268
  * The RFC 9728 Protected Resource Metadata document as a Fetch handler, for
218
- * `/.well-known/oauth-protected-resource<path>`. `bearer_methods_supported`
219
- * is `header`, the only method `mcpResourceGuard` reads. Any origin may read it.
269
+ * `/.well-known/oauth-protected-resource<path>`. `bearer_methods_supported` is
270
+ * `header`, the only method `mcpResourceGuard` reads. Any origin may read it.
220
271
  */
221
272
  export declare function protectedResourceMetadata(options: ProtectedResourceMetadataOptions): (request: Request) => Response;
222
273
  //#endregion
223
274
  //#region src/mcp/subject.d.ts
224
275
  type McpSubjectOptions = Pick<JwtSubjectOptions, "claims" | "groupRoles" | "schema" | "delegation"> & {
225
- /** The `kind` of the actor built from `authInfo.clientId`; `'mcp-client'` when absent. Match `createPermDock`'s `actorKind`. */
276
+ /**
277
+ * The `kind` of the actor built from `authInfo.clientId`; `'mcp-client'` when
278
+ * absent. Match `createPermDock`'s `actorKind`.
279
+ */
226
280
  readonly actorKind?: string;
227
281
  /** Names for OAuth client ids; match `createPermDock`'s `clients`. */
228
282
  readonly clients?: ClientNames;
229
283
  };
230
284
  /**
231
285
  * Maps the `AuthInfo` the MCP SDK's bearer verification produced to a
232
- * `Subject`: the principal from the verified claims in `extra`, the client
233
- * as an actor of kind `actorKind` (`mcp-client` by default), the granted
234
- * scopes as the delegation. Never verifies and never throws; anything
235
- * unusable, including an `actorKind` that is not a non-empty string, is
236
- * the anonymous subject.
286
+ * `Subject`: the principal from the verified claims in `extra`, the client as
287
+ * an actor of kind `actorKind` (`mcp-client` by default), the granted scopes as
288
+ * the delegation. Never verifies and never throws; anything unusable, including
289
+ * an `actorKind` that is not a non-empty string, is the anonymous subject.
237
290
  */
238
291
  export declare function subjectFromMcp(authInfo: McpAuthInfo | undefined, options?: McpSubjectOptions): Subject<McpPrincipal>;
239
292
  //#endregion