permdock 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/README.md +1 -3
  2. package/dist/a2a/index.d.ts +7 -7
  3. package/dist/a2a/index.js +8 -8
  4. package/dist/action-result-CL-QCITA.d.ts +19 -0
  5. package/dist/{adapter-context-CRhqyzCk.js → adapter-context-CIQpQxbE.js} +8 -2
  6. package/dist/{adoption-scan-D-feE7BE.js → adoption-scan-BLs67P1l.js} +5 -5
  7. package/dist/agent/index.d.ts +2 -2
  8. package/dist/agent/index.js +1 -1
  9. package/dist/ai-sdk/index.d.ts +19 -13
  10. package/dist/ai-sdk/index.js +6 -6
  11. package/dist/{app-data-MuyzVqX8.js → app-data-UNNm07jV.js} +10 -7
  12. package/dist/{approval-header-CJACtHkv.js → approval-header-8QV6MU4H.js} +6 -3
  13. package/dist/{approval-prompt-Dg5LeAcT.js → approval-prompt-B8hQY69x.js} +5 -6
  14. package/dist/{approval-prompt-K0faOLFp.d.ts → approval-prompt-PYagyQUj.d.ts} +13 -11
  15. package/dist/approvals/index.d.ts +4 -4
  16. package/dist/approvals/index.js +6 -6
  17. package/dist/{approvals-CMRfsbBh.js → approvals-DnIBTuXE.js} +66 -42
  18. package/dist/{approvers-CqPOLD-o.js → approvers-B4r0N_Uz.js} +8 -2
  19. package/dist/{arazzo-ClrF3PVb.js → arazzo-3RhGfkAK.js} +2 -2
  20. package/dist/{arazzo-rdeJ8n1J.js → arazzo-B5-ulWif.js} +6 -6
  21. package/dist/{args-CC3OwyHW.js → args-0FrVs5EH.js} +14 -7
  22. package/dist/astro/index.d.ts +30 -12
  23. package/dist/astro/index.js +2 -2
  24. package/dist/{audience-BrMs8c4o.js → audience-BAkBDMqn.js} +8 -8
  25. package/dist/{auth-CscUX8Sy.js → auth--yPyZNgr.js} +19 -7
  26. package/dist/authzen/index.d.ts +34 -28
  27. package/dist/authzen/index.js +23 -20
  28. package/dist/{automation-DOtAFWdy.d.ts → automation-DqEoWHBc.d.ts} +42 -32
  29. package/dist/{automation-ySsxp_Yp.js → automation-x3KEUusw.js} +22 -21
  30. package/dist/better-auth/index.d.ts +2 -2
  31. package/dist/better-auth/index.js +13 -7
  32. package/dist/better-supabase/index.d.ts +357 -227
  33. package/dist/better-supabase/index.js +219 -140
  34. package/dist/{bind-JDuvxjuW.d.ts → bind-Cp2hBHzP.d.ts} +27 -12
  35. package/dist/{bind-D1nO6fiC.js → bind-D_sZSVA3.js} +22 -10
  36. package/dist/{body-CH5of8Ne.js → body-CJQwYVa8.js} +3 -3
  37. package/dist/{body-text-QcXok_SI.js → body-text-DQhcmqdY.js} +8 -4
  38. package/dist/{boundary-BM8a_P6E.js → boundary-BV3O1eud.js} +8 -2
  39. package/dist/{boundary-BmHxVH1J.d.ts → boundary-C9ck-3uK.d.ts} +13 -4
  40. package/dist/{budget-NbEtbJC_.js → budget-BELja5A9.js} +6 -3
  41. package/dist/{budget-JqcRqyhK.d.ts → budget-hYsPz_yE.d.ts} +6 -3
  42. package/dist/{build-instance-DxE7czo9.js → build-instance-CNWaYJyr.js} +3 -3
  43. package/dist/{capability-L7NnfhiE.js → capability-BqX94r07.js} +31 -25
  44. package/dist/{capability-D4UC9TTW.d.ts → capability-ChuiONQU.d.ts} +41 -29
  45. package/dist/{casbin-BW9pS47J.js → casbin-H0rKxBx2.js} +16 -8
  46. package/dist/{casbin-BHijLuHY.js → casbin-cbSbhT_k.js} +2 -2
  47. package/dist/{casl-CmJlgziS.js → casl-C4OINZHI.js} +2 -2
  48. package/dist/{casl-UbI8v-Wq.js → casl-CHHoCldP.js} +19 -10
  49. package/dist/catalog/index.d.ts +51 -30
  50. package/dist/catalog/index.js +18 -15
  51. package/dist/{catalog-D69WhFii.js → catalog-BFpz2EmT.js} +20 -19
  52. package/dist/{catalog-BaMQfQ6Y.js → catalog-DCspHDc8.js} +3 -3
  53. package/dist/{catalog-doc-CV9s6B1S.js → catalog-doc-DjMKzJp9.js} +28 -14
  54. package/dist/{catalog-fingerprint-C144oW4M.js → catalog-fingerprint-e6aCWosn.js} +18 -14
  55. package/dist/catalog-mRQQQhNK.js +1 -0
  56. package/dist/catalog-operations-Dadrl7Z-.js +60 -0
  57. package/dist/{challenge-nGWma08S.js → challenge-DImNcR7B.js} +48 -27
  58. package/dist/chat/index.d.ts +1 -1
  59. package/dist/chat/index.js +13 -10
  60. package/dist/chat-sdk/index.d.ts +44 -26
  61. package/dist/chat-sdk/index.js +17 -17
  62. package/dist/{checks-BC_0mPIq.js → checks-CGkP3Z7A.js} +4 -1
  63. package/dist/{claims-map-7oQ3ue4X.js → claims-map-CKkoAAYF.js} +5 -2
  64. package/dist/{claims-map-Ca-QX8C6.d.ts → claims-map-D1Pb5oRq.d.ts} +8 -5
  65. package/dist/claude-agent/index.d.ts +6 -6
  66. package/dist/claude-agent/index.js +6 -3
  67. package/dist/clerk/index.d.ts +11 -7
  68. package/dist/clerk/index.js +6 -6
  69. package/dist/cli/bin.js +4 -4
  70. package/dist/cli/index.d.ts +82 -7
  71. package/dist/cli/index.js +6 -6
  72. package/dist/{clients-C7zLFuWT.d.ts → clients-C_NOET3z.d.ts} +5 -5
  73. package/dist/{clients-DjU5ABMy.js → clients-DYr3U86j.js} +3 -3
  74. package/dist/cloud/index.d.ts +84 -52
  75. package/dist/cloud/index.js +53 -39
  76. package/dist/{cloud-CO8pYtwr.js → cloud-BFlGMaak.js} +4 -5
  77. package/dist/{codemod-i4N2BhDc.js → codemod-DLQ9Zpo4.js} +3 -4
  78. package/dist/{codemod-BP6n8N9L.js → codemod-DWSN2erG.js} +523 -201
  79. package/dist/collect-B5BL3klN.js +1 -0
  80. package/dist/{collect-BaWeMjwV.js → collect-B7ZFAJU3.js} +26 -63
  81. package/dist/{collect-DNm3oKOk.js → collect-Bzv3le0A.js} +4 -5
  82. package/dist/{compare-pfyVnBjE.js → compare-DTfyUunF.js} +2 -2
  83. package/dist/compile/index.d.ts +2 -2
  84. package/dist/compile/index.js +1 -1
  85. package/dist/{compile-COM2VKuN.d.ts → compile-BFzysW3o.d.ts} +36 -12
  86. package/dist/{compile-BAEO5bOk.js → compile-EzEMB-7v.js} +77 -33
  87. package/dist/{completion-BNdVf7X2.js → completion-saoYiRFO.js} +17 -8
  88. package/dist/config-BwPBfN0t.js +108 -0
  89. package/dist/{config-DGZzMV1B.js → config-DBeXXmBF.js} +2 -2
  90. package/dist/{config-report-Cm7UITNA.js → config-report-BipSWA6V.js} +9 -6
  91. package/dist/config-shape-ykV0Vm2n.js +134 -0
  92. package/dist/{connection-DjhIJSs2.js → connection-B72dg5Q2.js} +23 -22
  93. package/dist/{connector-schema-_VCSsdtD.js → connector-schema-CYLQNMYq.js} +3 -2
  94. package/dist/{context--uM9V3Ui.js → context-BnIzxTNE.js} +4 -3
  95. package/dist/convex/index.d.ts +13 -7
  96. package/dist/convex/index.js +9 -6
  97. package/dist/{core-B5-w6Kw9.js → core-H-mbhpZc.js} +26 -20
  98. package/dist/{core-CQkE8Esr.d.ts → core-hWIARPDz.d.ts} +49 -22
  99. package/dist/{create-UTnUVETj.d.ts → create-BSNrVuxh.d.ts} +70 -37
  100. package/dist/{create-B2-CQqCI.d.ts → create-BVq1lNQE.d.ts} +49 -28
  101. package/dist/{create-QHuuPw3q.d.ts → create-CM1FciYG.d.ts} +37 -29
  102. package/dist/{create-Cb86Z8Im.js → create-Cq4Uox0f.js} +10 -7
  103. package/dist/{create-DJrlhEp9.js → create-_noSrY1T.js} +15 -21
  104. package/dist/{credential-CIM7wHwA.js → credential-CyyyvCsL.js} +41 -38
  105. package/dist/{credentials-BpuTwd7a.js → credentials-CdDxp7jN.js} +6 -6
  106. package/dist/{deciding-columns-DRo2QM6E.js → deciding-columns-NB4wcyBf.js} +2 -2
  107. package/dist/{delegation-C5rOdTp5.js → delegation-CDB6_keF.js} +31 -22
  108. package/dist/delivery/index.d.ts +4 -4
  109. package/dist/delivery/index.js +5 -5
  110. package/dist/{delivery-rwOKLWRm.js → delivery-BupfvJIV.js} +34 -22
  111. package/dist/{delivery-event-xX4obB8F.js → delivery-event-JioK5YbS.js} +6 -6
  112. package/dist/denied-text-CHNlVInN.d.ts +22 -0
  113. package/dist/{describe-DZlnEtLy.js → describe-Bb4hGK5d.js} +5 -5
  114. package/dist/{describe-O0SwYIK8.d.ts → describe-ByS9LgHK.d.ts} +5 -5
  115. package/dist/{device-BARQ8eYG.js → device-BwbJNmb2.js} +11 -8
  116. package/dist/{diff-Btr1c1Ow.js → diff-CN8IYhC_.js} +2 -2
  117. package/dist/{diff-DzT-xD13.js → diff-iZWV65nC.js} +22 -13
  118. package/dist/{digest-B3kc_PgQ.d.ts → digest-8Yx2CchM.d.ts} +3 -3
  119. package/dist/{doctor-BU1szn63.js → doctor-CHD1M9R5.js} +287 -135
  120. package/dist/{doctor-BoK_y0KO.js → doctor-D3wo-yuz.js} +4 -4
  121. package/dist/drizzle/index.d.ts +33 -19
  122. package/dist/drizzle/index.js +17 -9
  123. package/dist/elysia/index.d.ts +17 -11
  124. package/dist/elysia/index.js +5 -5
  125. package/dist/{errors-BKy0EfhN.js → errors-B6R_lg2a.js} +13 -4
  126. package/dist/{errors-BWXBMaKK.d.ts → errors-CHwoRRpB.d.ts} +4 -1
  127. package/dist/{errors-DpP_U6Bf.js → errors-Vpu6rKHl.js} +13 -10
  128. package/dist/{errors-B_Qg9D3e.d.ts → errors-zi_4T-rx.d.ts} +22 -6
  129. package/dist/{evaluate-B_oqFbWC.js → evaluate-Dd8Ta0Ie.js} +140 -78
  130. package/dist/{evaluations-DReoiVBw.js → evaluations-IBceAeKT.js} +40 -19
  131. package/dist/{evaluations-BCddEOfO.d.ts → evaluations-z8dQFDaN.d.ts} +11 -5
  132. package/dist/eve/index.d.ts +9 -6
  133. package/dist/eve/index.js +4 -4
  134. package/dist/{event-time-CsegxXxB.js → event-time-BGy48400.js} +8 -4
  135. package/dist/{expiry-D4_YKRKD.js → expiry-6XByK0dm.js} +8 -5
  136. package/dist/express/index.d.ts +9 -6
  137. package/dist/express/index.js +9 -6
  138. package/dist/fastify/index.d.ts +16 -10
  139. package/dist/fastify/index.js +8 -5
  140. package/dist/{fetch-adapter-CuhyYwC1.d.ts → fetch-adapter-C1DCvpqV.d.ts} +9 -6
  141. package/dist/{fetch-adapter-De-u6vhJ.js → fetch-adapter-JL43jD3E.js} +14 -11
  142. package/dist/fields-D0vUI6dq.js +498 -0
  143. package/dist/{files-acUbNwWt.js → files-B3AA05f1.js} +8 -5
  144. package/dist/{files-D_JIzUrP.js → files-BSjrtIHw.js} +11 -4
  145. package/dist/{fixtures-BTMW6zgU.js → fixtures-A1_sp_tR.js} +15 -6
  146. package/dist/{flags-aaeRAdiD.js → flags-DXjoTVbS.js} +2 -2
  147. package/dist/{freeze-CrU8nQeX.js → freeze-jjan0lCv.js} +4 -1
  148. package/dist/{from-snapshot-Bz469dIh.js → from-snapshot-DCakWRsr.js} +18 -15
  149. package/dist/gen-B5kvbAoZ.js +58 -0
  150. package/dist/gen-DWCYcMQM.js +827 -0
  151. package/dist/{generate-3FNO5P5Q.js → generate-CRVV5V7l.js} +14 -8
  152. package/dist/generate-CezbCaTI.js +275 -0
  153. package/dist/{grantee-BrRANrpT.js → grantee-Dke-9rd1.js} +4 -4
  154. package/dist/{grantee-conditions-C6P1Tvol.js → grantee-conditions-BrYPe-w0.js} +12 -12
  155. package/dist/{grantee-match-0RtHWQDx.js → grantee-match-7RZZvoT_.js} +12 -6
  156. package/dist/{graph-sql-B-dsAT6j.d.ts → graph-sql-BwFC4Qjs.d.ts} +3 -3
  157. package/dist/h3/index.d.ts +10 -7
  158. package/dist/h3/index.js +3 -3
  159. package/dist/headers-B9jQxjtW.d.ts +10 -0
  160. package/dist/{helpers-DY3vXuGs.js → helpers-DJicaG6f.js} +40 -28
  161. package/dist/hono/index.d.ts +16 -10
  162. package/dist/hono/index.js +5 -5
  163. package/dist/{hosted-BmjzxQhp.d.ts → hosted-Cmtxogd0.d.ts} +33 -21
  164. package/dist/{hosted-XBgU6RGT.js → hosted-D0IzESu_.js} +42 -21
  165. package/dist/{http-ujKm0JXE.js → http-DH94eh6f.js} +4 -4
  166. package/dist/{http-BBoKefeS.js → http-DKLXrFGk.js} +13 -7
  167. package/dist/{http-Ca3Sr5x1.js → http-DOL33cO0.js} +11 -8
  168. package/dist/{import-Bz0GefWg.js → import-CST57XLp.js} +64 -51
  169. package/dist/{import-DB2EG_iy.js → import-_YqhhwvX.js} +6 -6
  170. package/dist/{index-BSfRl0hZ.d.ts → index-B8s204GL.d.ts} +64 -52
  171. package/dist/{index-DH9DUDEM.d.ts → index-BT5-1VsX.d.ts} +54 -30
  172. package/dist/{index-BTkwrK7v.d.ts → index-BW_0MZOS.d.ts} +282 -172
  173. package/dist/{index-CMiPH2Tv.d.ts → index-BhxEUY9J.d.ts} +64 -37
  174. package/dist/{index-DLwcuCN_.d.ts → index-Bv5iXPqU.d.ts} +51 -30
  175. package/dist/{index-BE8y3moU.d.ts → index-_9UiQIkt.d.ts} +127 -82
  176. package/dist/index.d.ts +22 -22
  177. package/dist/index.js +33 -33
  178. package/dist/{init-5TXNji88.js → init-Dz_PsHdv.js} +5 -5
  179. package/dist/{init-B-4t1NzC.js → init-cE3A8aXq.js} +10 -10
  180. package/dist/{instance-options-CU0YQCLH.d.ts → instance-options-B0KXqTrJ.d.ts} +4 -4
  181. package/dist/{instance-snapshot-CjcwnEiV.js → instance-snapshot--JWiTrvO.js} +75 -55
  182. package/dist/{instant-BluqDvyS.js → instant-DK3Iz83e.js} +2 -2
  183. package/dist/{internals-Dk8A8fX3.js → internals-B3IgHrvo.js} +6 -3
  184. package/dist/{json-schema-B-vAwlde.js → json-schema-BPGa-RjQ.js} +9 -3
  185. package/dist/{json-schema-CN_iLFH2.d.ts → json-schema-BfXgnRNT.d.ts} +4 -4
  186. package/dist/jwt/index.d.ts +57 -27
  187. package/dist/jwt/index.js +24 -21
  188. package/dist/{kernel-DVExUwkp.js → kernel-C-fYydV2.js} +32 -23
  189. package/dist/kysely/index.d.ts +49 -33
  190. package/dist/kysely/index.js +9 -7
  191. package/dist/{live-options-BaAFCIiu.js → live-options-BBIT68le.js} +2 -2
  192. package/dist/{load-DxroEzH1.js → load-DjSU5KXO.js} +6 -6
  193. package/dist/load-Dm0pSYH3.js +1 -0
  194. package/dist/{login-ClSJh5t5.js → login-D-8tMqzo.js} +4 -4
  195. package/dist/{login-WC9HPJpU.js → login-DplQ0s84.js} +16 -9
  196. package/dist/{manifest-Dv6q4i5s.js → manifest-Cgiq5oqc.js} +49 -38
  197. package/dist/{manifest-BVhExYhw.d.ts → manifest-CzzWtnAb.d.ts} +126 -31
  198. package/dist/{manifest-schema-Cv492Qev.js → manifest-schema-2r37XRhD.js} +44 -3
  199. package/dist/{manifest-B79YuF2T.js → manifest-wg8WkkpD.js} +6 -6
  200. package/dist/{map-claims-etGIS_Dv.js → map-claims-BNWCJtmP.js} +14 -8
  201. package/dist/{map-error-BQGyDm_M.js → map-error-pasIGqMT.js} +7 -7
  202. package/dist/{markers-C6joDI3o.js → markers-BeHZ4x9Q.js} +20 -5
  203. package/dist/mcp/index.d.ts +114 -61
  204. package/dist/mcp/index.js +70 -40
  205. package/dist/{migrate-Dodel0IJ.js → migrate-B7oP_sQU.js} +35 -17
  206. package/dist/module-values-BJTBdo6y.js +107 -0
  207. package/dist/nest/index.d.ts +23 -13
  208. package/dist/nest/index.js +18 -11
  209. package/dist/next/client.d.ts +5 -2
  210. package/dist/next/client.js +1 -1
  211. package/dist/next/index.d.ts +72 -26
  212. package/dist/next/index.js +110 -6
  213. package/dist/next/plugin.d.ts +1 -1
  214. package/dist/next/plugin.js +4 -3
  215. package/dist/node/index.d.ts +5 -5
  216. package/dist/node/index.js +3 -3
  217. package/dist/{ocsf-BFp-PZZA.js → ocsf-TcjRBgIs.js} +15 -5
  218. package/dist/openai/index.d.ts +13 -7
  219. package/dist/openai/index.js +3 -3
  220. package/dist/openapi/index.d.ts +51 -30
  221. package/dist/openapi/index.js +2 -2
  222. package/dist/{openapi-Ddb4628T.js → openapi-BOsx0xn9.js} +33 -18
  223. package/dist/{openapi-DMocl1bh.js → openapi-CBZUhA3l.js} +4 -5
  224. package/dist/{openapi-ztVaux6j.js → openapi-VeHHU2l9.js} +23 -14
  225. package/dist/{operation-findings-kRcEp8lE.js → operation-findings-CXtFzlKJ.js} +3 -3
  226. package/dist/{operations-BNLes61x.d.ts → operations-Ci_rT6Uo.d.ts} +10 -7
  227. package/dist/orpc/index.d.ts +68 -14
  228. package/dist/orpc/index.js +62 -13
  229. package/dist/otel/index.d.ts +7 -4
  230. package/dist/otel/index.js +8 -5
  231. package/dist/output-files-BHOIlrfD.js +1 -0
  232. package/dist/{output-files-CCMdcFWb.js → output-files-BIQ_9pIs.js} +29 -17
  233. package/dist/{output-DgSDLrta.js → output-tkju6U7R.js} +9 -5
  234. package/dist/ownership-B4L59T9u.js +1054 -0
  235. package/dist/{parse-Ddhz2xf4.js → parse-1_ZheTW5.js} +16 -13
  236. package/dist/parse-local-manifest-BQhTlLQS.d.ts +10 -0
  237. package/dist/{parse-local-manifest-T1Q8X3A2.js → parse-local-manifest-DEiCF4ah.js} +19 -7
  238. package/dist/{parse-request-D_tUXG6M.js → parse-request-CwCZpyjV.js} +7 -8
  239. package/dist/{paths-DXSHAMIa.js → paths-CUvURzHp.js} +4 -1
  240. package/dist/pdp/index.d.ts +9 -6
  241. package/dist/pdp/index.js +20 -13
  242. package/dist/{peer-DOzzMfZL.js → peer-C9LvBCcb.js} +1 -1
  243. package/dist/{peer-12Q5I_RH.js → peer-Q0fuZ6hx.js} +9 -3
  244. package/dist/{permdock-Dco6dyCK.d.ts → permdock-B6Sf4T_S.d.ts} +253 -129
  245. package/dist/{permdock-BfWEeMqk.js → permdock-L-_I_3zP.js} +59 -35
  246. package/dist/{permission-registry-DpPtSKNZ.js → permission-registry-B8tYxPIt.js} +23 -10
  247. package/dist/{permission-types-DhNEmoRG.d.ts → permission-types-CAY-GU7e.d.ts} +127 -41
  248. package/dist/{permissions-CoqCOfJ3.d.ts → permissions-Bx6UI8n1.d.ts} +6 -3
  249. package/dist/{permissions-CyH2MV_B.js → permissions-CVXmRILq.js} +3 -3
  250. package/dist/{permissions-DArULThq.js → permissions-mDcTWoBs.js} +8 -5
  251. package/dist/pg-DQTqRrou.js +60 -0
  252. package/dist/{pins-8ILTftC9.js → pins-nqarl3oE.js} +4 -1
  253. package/dist/{pkce-5h8NgMQJ.js → pkce-CnmmYqUZ.js} +1 -1
  254. package/dist/{policy-B7dg_yzu.d.ts → policy-Ba4bDhaj.d.ts} +5 -5
  255. package/dist/{policy-DaJy4nK4.js → policy-CLQ8__GF.js} +43 -23
  256. package/dist/{policy-from-catalog-DFWYkNdu.js → policy-from-catalog-CJgOm6aq.js} +28 -25
  257. package/dist/{policy-module-CTlwMvLI.js → policy-module-xym9fnSq.js} +12 -6
  258. package/dist/{policy-types-B-F-qAZk.d.ts → policy-types-CCiDRZBH.d.ts} +738 -349
  259. package/dist/{postgres-store-BL9M_CA1.js → postgres-store-DcyrPS-r.js} +43 -16
  260. package/dist/{postgrest-r5faDIzD.js → postgrest-D4nuPXIQ.js} +52 -33
  261. package/dist/{postgrest-CYacM_u7.d.ts → postgrest-DicQyqm-.d.ts} +54 -35
  262. package/dist/{powersync-53ryOZip.js → powersync-DHNQX06W.js} +127 -69
  263. package/dist/{powersync-13odBwiM.js → powersync-DXqGuq9A.js} +3 -3
  264. package/dist/powersync-Djf-zCpB.js +1 -0
  265. package/dist/preset/index.d.ts +38 -28
  266. package/dist/preset/index.js +1 -1
  267. package/dist/{preset-CHTbd-DQ.js → preset-BjLzeFpp.js} +56 -32
  268. package/dist/{principal-source-pHneukrx.js → principal-source-C6N60GtM.js} +10 -10
  269. package/dist/prisma/index.d.ts +69 -41
  270. package/dist/prisma/index.js +21 -17
  271. package/dist/{problem-CTviyH5L.js → problem-BVLHFK33.js} +41 -21
  272. package/dist/{problem-details-cn5X30gZ.js → problem-details-CLDgX1KV.js} +13 -4
  273. package/dist/{problem-types-CJ2325SZ.js → problem-types-DSsRfONQ.js} +4 -1
  274. package/dist/{prompt-DwtVemER.js → prompt-BYc6drYW.js} +4 -1
  275. package/dist/protected-action-BE7N_Luo.d.ts +58 -0
  276. package/dist/protected-action-DUYqb-Ma.js +80 -0
  277. package/dist/{protected-DXE3cQYg.js → protected-action-QEA8arRB.js} +48 -14
  278. package/dist/{provider-BQsTYYy0.js → provider-C55OGXJ7.js} +5 -4
  279. package/dist/{provider-Csk-THAn.d.ts → provider-DXfq5c2d.d.ts} +1 -1
  280. package/dist/{provider-store-IgqQipCO.js → provider-store-CaTv00tr.js} +13 -9
  281. package/dist/pull-B65ndFNZ.js +1 -0
  282. package/dist/{pull-CN5OLxrF.js → pull-CwpGaQSi.js} +12 -11
  283. package/dist/{push-tVdG8dUL.js → push-DgssgzkK.js} +19 -13
  284. package/dist/{pushed-policy-BbcY9r_4.d.ts → pushed-policy-D1Eoi6NM.d.ts} +12 -6
  285. package/dist/{pushed-policy-CmYeSQqq.js → pushed-policy-ITwYKvvH.js} +10 -7
  286. package/dist/react/index.d.ts +9 -8
  287. package/dist/react/index.js +7 -6
  288. package/dist/react/provider-client.d.ts +1 -1
  289. package/dist/react/provider-client.js +1 -1
  290. package/dist/react-native/index.d.ts +94 -55
  291. package/dist/react-native/index.js +200 -61
  292. package/dist/{refs-CNJBiTFo.js → refs-C8BKxc_e.js} +2 -2
  293. package/dist/{relation-walk-3OyDBF0S.js → relation-walk-DK_gkgL7.js} +12 -9
  294. package/dist/{relations-BnCWnJGI.js → relations-BxvRvDHK.js} +3 -3
  295. package/dist/{replay-Du1tJjG7.js → replay-BU09ad4L.js} +1 -1
  296. package/dist/{replay-DCDD_ZfL.d.ts → replay-DNftIb_R.d.ts} +1 -1
  297. package/dist/{request-context-BykKLmyE.js → request-context-C25ilqiJ.js} +8 -8
  298. package/dist/{request-schema-CMreVuFM.js → request-schema-DhX7UbfQ.js} +4 -1
  299. package/dist/resend/index.d.ts +34 -28
  300. package/dist/resend/index.js +29 -29
  301. package/dist/resolve-names-CF7xXLSG.js +201 -0
  302. package/dist/{resource-relations-D_jw0BFx.js → resource-relations-8-pCScBO.js} +18 -9
  303. package/dist/{retire-Wj6dkyDE.js → retire-B2xffQgY.js} +15 -6
  304. package/dist/{revocations-R07lFBnX.d.ts → revocations-BaUXHM1N.d.ts} +6 -3
  305. package/dist/{rls-CxBZb4rZ.js → rls-CNEH2_BG.js} +299 -124
  306. package/dist/{rls-Ck_PocSp.js → rls-Ca8Jz9b5.js} +13 -6
  307. package/dist/{role-builder-C1VJzvcr.js → role-builder-BK2-T6oD.js} +41 -20
  308. package/dist/{row-conditions-h2HythXQ.js → row-conditions-BAGHOmVq.js} +4 -3
  309. package/dist/{rpc-Bk1bE-ch.js → rpc-fNqAIqQk.js} +8 -5
  310. package/dist/{run-uLD2aWuO.js → run-Bz26OTfO.js} +26 -23
  311. package/dist/run-D-JE8QWb.js +1 -0
  312. package/dist/{run-ticket-BpNi7BCi.d.ts → run-ticket-DbWI9f99.d.ts} +29 -14
  313. package/dist/{run-ticket-B5d_63Ma.js → run-ticket-Dv7aF7Dk.js} +9 -9
  314. package/dist/{runtime-Vif3_-zf.js → runtime-BGnrOkVH.js} +5 -2
  315. package/dist/{saas-Az_Kz-4D.js → saas-iWnUdwCt.js} +42 -29
  316. package/dist/{scan-DSljDE1Y.js → scan-DCj1KQfn.js} +1 -1
  317. package/dist/{schema-B4v0Qrac.js → schema-BOJjqlWL.js} +3 -2
  318. package/dist/{schema-gIcCx7zM.js → schema-Dst9I9Gs.js} +8 -4
  319. package/dist/scim/index.d.ts +2 -2
  320. package/dist/scim/index.js +2 -2
  321. package/dist/{scim-C7JYhySg.js → scim-D8YupzX1.js} +2 -2
  322. package/dist/{scim-YNieBO1U.js → scim-jJBJ7g1Z.js} +33 -15
  323. package/dist/{scopes-BHsc-wp-.js → scopes-0Up_UA2t.js} +41 -23
  324. package/dist/server/index.d.ts +11 -11
  325. package/dist/server/index.js +12 -12
  326. package/dist/{server-Bnga6I50.js → server-3cVlTLde.js} +31 -31
  327. package/dist/{server-types-C4gZUEZy.d.ts → server-types-CIlpSA2G.d.ts} +81 -46
  328. package/dist/{sha256-D9ihqmvd.js → sha256-C-4WXKIu.js} +4 -3
  329. package/dist/{shared-fMKOv8hP.js → shared-Afctg7B0.js} +65 -32
  330. package/dist/{shared-C8LjUdVU.js → shared-l0oGGetg.js} +9 -6
  331. package/dist/{signals-D3NcTKUS.js → signals-B1vHR3fN.js} +2 -2
  332. package/dist/{sink-BEZSlMS_.js → sink-D9_vh372.js} +32 -21
  333. package/dist/{sink-Cp_Eot9W.d.ts → sink-Dvi7YZG_.d.ts} +44 -20
  334. package/dist/{skills-Dcjw9_1C.js → skills-Bjj7BNEQ.js} +12 -8
  335. package/dist/{skills-g_3BS9NC.js → skills-OuoMR49L.js} +3 -3
  336. package/dist/{snapshot-CbGmYiJx.js → snapshot-CXlzi69u.js} +21 -18
  337. package/dist/{snapshot-cache-Pahd3IYJ.d.ts → snapshot-cache-BAXZ0KOp.d.ts} +21 -12
  338. package/dist/{snapshot-cache-DT2Kx1F8.js → snapshot-cache-Bx_4xC_6.js} +14 -11
  339. package/dist/solid/index.d.ts +55 -16
  340. package/dist/solid/index.js +46 -12
  341. package/dist/solid-start/index.d.ts +30 -12
  342. package/dist/solid-start/index.js +3 -3
  343. package/dist/{sources-DEEuGb8S.d.ts → sources-B1Os_YUu.d.ts} +126 -53
  344. package/dist/{sources-B-zYB4GS.js → sources-CMAM-2A3.js} +46 -27
  345. package/dist/{sql-B96movIM.js → sql-0WjxIp9g.js} +28 -7
  346. package/dist/{sql-CDEPCA0g.d.ts → sql-B80DFdpG.d.ts} +2 -2
  347. package/dist/{src-DLFrtrrC.js → src-DZ0l9UAg.js} +190 -100
  348. package/dist/ssf/index.d.ts +3 -3
  349. package/dist/ssf/index.js +47 -35
  350. package/dist/{standard-webhooks-B_qRg0ws.d.ts → standard-webhooks-C-qX4mJW.d.ts} +7 -7
  351. package/dist/{standard-webhooks-DgFFD-Ga.js → standard-webhooks-D67a3nzk.js} +5 -5
  352. package/dist/{store-DSP9oGvh.js → store-RNFvaJJv.js} +32 -26
  353. package/dist/{store-options-B_poyYvg.js → store-options-Dil3lraY.js} +105 -15
  354. package/dist/stores-C0Kta5Ft.d.ts +59 -0
  355. package/dist/{stores-BqEuHC05.js → stores-DxZWDXCs.js} +42 -5
  356. package/dist/{stream-CvdUS9V1.js → stream-CDvF0sJm.js} +5 -5
  357. package/dist/{stream-2Vwhl7Er.d.ts → stream-ltuLdtTG.d.ts} +4 -3
  358. package/dist/{style-Ds1gNm77.js → style-DblOtSga.js} +1 -1
  359. package/dist/{style-Cqo7-73x.js → style-Ds11Hmk4.js} +2 -1
  360. package/dist/{subject-settings-CkEwrw3W.js → subject-settings-8sH5HlII.js} +8 -4
  361. package/dist/{row-check-Dt35czLy.d.ts → subject-settings-vNW8qmUH.d.ts} +30 -18
  362. package/dist/supabase/index.d.ts +48 -38
  363. package/dist/supabase/index.js +5 -5
  364. package/dist/supabase/middleware.d.ts +19 -13
  365. package/dist/supabase/middleware.js +7 -7
  366. package/dist/{supabase--0aJdLEd.js → supabase-BL1qJzzY.js} +79 -35
  367. package/dist/{supabase-Bqp7iIY2.js → supabase-D39cuGPt.js} +3 -3
  368. package/dist/{supabase-hook-Dg0SrQWR.js → supabase-hook-B-yXnzUl.js} +175 -196
  369. package/dist/supabase-hook-H-MtE9Wd.js +1 -0
  370. package/dist/{supautils-MESd81bF.js → supautils-BU-pAEpf.js} +166 -47
  371. package/dist/{support-session-Cna49-3f.js → support-session-BsmPCbz8.js} +21 -21
  372. package/dist/svelte/PermissionBoundary.svelte +2 -6
  373. package/dist/svelte/Protected.svelte +2 -8
  374. package/dist/svelte/index.d.ts +9 -8
  375. package/dist/svelte/index.js +10 -9
  376. package/dist/svelte/runtime.d.ts +4 -4
  377. package/dist/svelte/runtime.js +4 -4
  378. package/dist/svelte/source.d.ts +9 -8
  379. package/dist/svelte/source.js +6 -5
  380. package/dist/sveltekit/index.d.ts +30 -12
  381. package/dist/sveltekit/index.js +2 -2
  382. package/dist/{ownership-Z2LpxsGa.js → tables-DeMNEy6V.js} +641 -1104
  383. package/dist/tanstack-start/index.d.ts +22 -10
  384. package/dist/tanstack-start/index.js +2 -2
  385. package/dist/{target-Bw37TFNA.js → target-qdEAnnhU.js} +6 -6
  386. package/dist/{tenancy-CmeBQ6Nv.js → tenancy-5d1zVBvK.js} +25 -19
  387. package/dist/terminal/index.d.ts +23 -14
  388. package/dist/terminal/index.js +17 -20
  389. package/dist/testing/core.d.ts +1 -1
  390. package/dist/testing/core.js +1 -1
  391. package/dist/testing/fixtures/index.d.ts +8 -5
  392. package/dist/testing/fixtures/index.js +78 -17
  393. package/dist/testing/index.d.ts +224 -141
  394. package/dist/testing/index.js +299 -234
  395. package/dist/testing/saas/index.d.ts +43 -27
  396. package/dist/testing/saas/index.js +2 -2
  397. package/dist/testing/saas/permissions.d.ts +1 -1
  398. package/dist/testing/saas/permissions.js +1 -1
  399. package/dist/{text-diff-DhITNCnD.js → text-diff-BtfSmdUo.js} +2 -2
  400. package/dist/{thenable-yD7SabqG.js → thenable-BNSM1U2R.js} +12 -3
  401. package/dist/{time-DkWjdL98.js → time-nR1JesoH.js} +32 -8
  402. package/dist/{token-2qYDvXz2.js → token-DC9EQiet.js} +14 -12
  403. package/dist/{tool-refusal-reAhIzdl.js → tool-refusal-Qpjs_W6M.js} +5 -2
  404. package/dist/trpc/index.d.ts +11 -8
  405. package/dist/trpc/index.js +15 -9
  406. package/dist/type-helpers-BIPIDa6a.d.ts +50 -0
  407. package/dist/{types-DBHftjgS.d.ts → types-AMJ5qoU_.d.ts} +45 -33
  408. package/dist/{types-CfiKC5aN.d.ts → types-B2mlGuhW.d.ts} +14 -11
  409. package/dist/{types-D3A19w4A.d.ts → types-B4uqKDnp.d.ts} +22 -13
  410. package/dist/{types-CQVEQawv.d.ts → types-BJk0BKRX.d.ts} +24 -14
  411. package/dist/types-B_d_g7T3.d.ts +262 -0
  412. package/dist/{types-DC44-hqb.d.ts → types-B_tiYvk8.d.ts} +59 -32
  413. package/dist/{types-DqzsnlSA.js → types-CcUXciSj.js} +17 -5
  414. package/dist/{types-BWZybqs9.d.ts → types-DC1Loeh3.d.ts} +381 -202
  415. package/dist/{types-CIeZcG8v.d.ts → types-DHKPcqzr.d.ts} +2 -2
  416. package/dist/{types-cTos-H7p.d.ts → types-DjuMBNF9.d.ts} +68 -32
  417. package/dist/{types-CeIscIKp.d.ts → types-HzqOtvsJ.d.ts} +23 -12
  418. package/dist/{types-BXMYB7BY.d.ts → types-ZzRGoViD.d.ts} +77 -24
  419. package/dist/{types-BfVmNJO5.d.ts → types-ah9NlU6j.d.ts} +128 -50
  420. package/dist/{types-DXmwu78Z.d.ts → types-djVzLlIV.d.ts} +31 -14
  421. package/dist/{types-g7Oy6Zg4.d.ts → types-yUuPR5Hy.d.ts} +47 -24
  422. package/dist/unplugin/index.d.ts +1 -1
  423. package/dist/unplugin/index.js +2 -2
  424. package/dist/usage-CYeXek0p.js +1 -0
  425. package/dist/{usage-Bybmck7f.js → usage-CxEzS4ey.js} +50 -26
  426. package/dist/{usage-CDaLXCfL.js → usage-ab0PdusX.js} +2 -2
  427. package/dist/{validation-error-ZfUHbKvf.js → validation-error-CYg2kJEw.js} +4 -1
  428. package/dist/{validation-error-CQpoquwj.d.ts → validation-error-YGg2mXyH.d.ts} +5 -2
  429. package/dist/{validity-CZ7-y0Cj.js → validity-Buc7w8E9.js} +13 -10
  430. package/dist/{verifier-DHuh-okk.js → verifier-DUV6pLqZ.js} +10 -4
  431. package/dist/{verify-pe8rL_Qw.js → verify-DZeqoWu5.js} +148 -487
  432. package/dist/version-DMQ0dnN5.js +48 -0
  433. package/dist/version-DizhmD72.js +1 -0
  434. package/dist/{views-BB8E9dTP.js → views-CD8wuL4Z.js} +19 -6
  435. package/dist/{vocabulary-Bg3eeT2H.d.ts → vocabulary-DEJ5j4mR.d.ts} +7 -4
  436. package/dist/vue/index.d.ts +71 -22
  437. package/dist/vue/index.js +50 -13
  438. package/dist/{waiter-DwEyouan.d.ts → waiter-Bu9zAlE0.d.ts} +13 -10
  439. package/dist/{waiter-BGUtGYoU.js → waiter-aBLM63_f.js} +1 -1
  440. package/dist/{watch-C-4VmFlL.js → watch-Cx_WciLE.js} +8 -8
  441. package/dist/watch-DB42U1ib.js +1 -0
  442. package/dist/webmcp/index.d.ts +11 -11
  443. package/dist/webmcp/index.js +8 -5
  444. package/dist/{where-scope-wq2coopv.js → where-scope-DlCdCM_8.js} +24 -18
  445. package/dist/{who-can-BwNsI_Js.js → who-can-rI7dCR9Q.js} +23 -20
  446. package/dist/workflow/index.d.ts +3 -3
  447. package/dist/workflow/index.js +13 -13
  448. package/dist/workflow-sdk/index.d.ts +19 -13
  449. package/dist/workflow-sdk/index.js +6 -6
  450. package/dist/{wrap-CiSc_KCq.js → wrap-B2wziJI_.js} +4 -4
  451. package/dist/{wrap-B6R0cMRL.d.ts → wrap-DlJE3gS_.d.ts} +8 -5
  452. package/package.json +7 -7
  453. package/schemas/catalog-v1.json +3 -0
  454. package/schemas/supabase-manifest-v1.json +33 -1
  455. package/skills/permdock-credentials/references/tokens-keys-links.md +8 -6
  456. package/skills/permdock-data/references/queries-and-rls.md +2 -1
  457. package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +2 -2
  458. package/skills/permdock-wire/references/adapters.md +14 -22
  459. package/dist/catalog-BCCjSAdH.js +0 -1
  460. package/dist/collect-k_Dulxr5.js +0 -1
  461. package/dist/config-CoQHDrDi.js +0 -166
  462. package/dist/denied-text-D4qkEtFz.d.ts +0 -19
  463. package/dist/fields-ClcQLrVc.js +0 -238
  464. package/dist/generate-CNU1pIOo.js +0 -171
  465. package/dist/headers-BIjfMaoC.js +0 -8
  466. package/dist/headers-CIbDTUTK.d.ts +0 -7
  467. package/dist/load-DrMHXzgN.js +0 -1
  468. package/dist/output-files-DPAY7-GX.js +0 -1
  469. package/dist/package-root-Dk_ETdkp.js +0 -31
  470. package/dist/parse-local-manifest-e4mdwAKd.d.ts +0 -10
  471. package/dist/policies-B2lZIurj.js +0 -295
  472. package/dist/powersync-CExtTLyA.js +0 -1
  473. package/dist/problem-details-Tcfmj3bV.d.ts +0 -7
  474. package/dist/protected-BwZYL1X_.d.ts +0 -39
  475. package/dist/pull-Cty6Ovyu.js +0 -1
  476. package/dist/run-Bz7DXGEv.js +0 -1
  477. package/dist/stores-BAZwSYZA.d.ts +0 -31
  478. package/dist/supabase-hook-DJxC4PoP.js +0 -1
  479. package/dist/types-CKV71kKh.d.ts +0 -172
  480. package/dist/usage-y-kBNdqs.js +0 -1
  481. package/dist/version-CEbQ5UeM.js +0 -18
  482. package/dist/version-DXkYUISx.js +0 -1
  483. package/dist/watch-Bd9mx3rd.js +0 -1
package/dist/mcp/index.js CHANGED
@@ -1,27 +1,33 @@
1
1
  import { r as isRecord, t as compact } from "../compact-CAf557ZB.js";
2
- import { n as freezeDeep } from "../freeze-CrU8nQeX.js";
3
- import { i as stepUpOf, o as statusProblem } from "../problem-details-cn5X30gZ.js";
4
- import { t as describe } from "../describe-DZlnEtLy.js";
5
- import { m as annotationsFor } from "../permission-registry-DpPtSKNZ.js";
6
- import { t as actorMayCallTool } from "../delegation-C5rOdTp5.js";
2
+ import { n as freezeDeep } from "../freeze-jjan0lCv.js";
3
+ import { i as stepUpOf, o as statusProblem } from "../problem-details-CLDgX1KV.js";
4
+ import { n as describe } from "../describe-Bb4hGK5d.js";
5
+ import { m as annotationsFor } from "../permission-registry-B8tYxPIt.js";
6
+ import { t as actorMayCallTool } from "../delegation-CDB6_keF.js";
7
7
  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-BfWEeMqk.js";
8
+ import { i as challengeScope, l as withApp, o as hasScope, s as scopesReaching } from "../permdock-L-_I_3zP.js";
9
9
  import { t as anonymousSubject } from "../subject-BGoM5o8B.js";
10
- import { t as composeWraps } from "../wrap-CiSc_KCq.js";
11
- import { a as methodNotAllowed, c as problemResponse, l as protectedResourceMetadataUrl, r as bearerChallenge } from "../problem-CTviyH5L.js";
12
- import { t as clientNameOf } from "../clients-DjU5ABMy.js";
13
- import { r as mapClaimsToSubject } from "../map-claims-etGIS_Dv.js";
14
- import { r as instanceOptions } from "../build-instance-DxE7czo9.js";
15
- import { i as refusalText, n as createAgentKernel } from "../kernel-DVExUwkp.js";
10
+ import { t as composeWraps } from "../wrap-B2wziJI_.js";
11
+ import { l as problemResponse, o as methodNotAllowed, r as bearerChallenge, u as protectedResourceMetadataUrl } from "../problem-BVLHFK33.js";
12
+ import { t as clientNameOf } from "../clients-DYr3U86j.js";
13
+ import { r as mapClaimsToSubject } from "../map-claims-BNWCJtmP.js";
14
+ import { r as instanceOptions } from "../build-instance-CNWaYJyr.js";
15
+ import { i as refusalText, n as createAgentKernel } from "../kernel-C-fYydV2.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-reAhIzdl.js";
18
+ import { n as deniedToolRefusal, r as toolErrorResult, t as approvalToolRefusal } from "../tool-refusal-Qpjs_W6M.js";
19
19
  //#region src/mcp/mcp-auth.ts
20
- /** `_meta` key on `tools/call`, `resources/read` and `prompts/get` carrying an approval token. */
20
+ /**
21
+ * `_meta` key on `tools/call`, `resources/read` and `prompts/get` carrying an
22
+ * approval token.
23
+ */
21
24
  const APPROVAL_META_KEY = "dev.permdock/approval";
22
25
  const CLIENT_CAPABILITIES = "io.modelcontextprotocol/clientCapabilities";
23
26
  const PROTOCOL_VERSION = "io.modelcontextprotocol/protocolVersion";
24
- /** The first protocol revision whose list results define `ttlMs` and `cacheScope`. */
27
+ /**
28
+ * The first protocol revision whose list results define `ttlMs` and
29
+ * `cacheScope`.
30
+ */
25
31
  const CACHEABLE_LISTS_SINCE = "2026-07-28";
26
32
  function contextOf(value) {
27
33
  return isRecord(value) ? value : {};
@@ -54,8 +60,8 @@ function sameResource(expected, actual) {
54
60
  }
55
61
  /**
56
62
  * Whether the request was sent under a revision that defines `cacheScope` on
57
- * list results. Only those requests carry the per-request envelope; a
58
- * 2025-era request has none and gets no cache fields.
63
+ * list results. Only those requests carry the per-request envelope; a 2025-era
64
+ * request has none and gets no cache fields.
59
65
  */
60
66
  function definesCacheScope(context) {
61
67
  const version = context.mcpReq?.envelope?.[PROTOCOL_VERSION];
@@ -165,7 +171,10 @@ function throwRefusal(refusal) {
165
171
  if (refusal.inputRequired !== void 0) return refusal.inputRequired;
166
172
  throw new Error(refusal.text);
167
173
  }
168
- /** The MRTR URL elicitation that sends the user to `options.approval.at`, when the client accepts one. */
174
+ /**
175
+ * The MRTR URL elicitation that sends the user to `options.approval.at`, when
176
+ * the client accepts one.
177
+ */
169
178
  async function approvalInput(options, decision, handlerContext, context, capabilities) {
170
179
  const at = options.approval?.at;
171
180
  if (at === void 0 || !acceptsUrlElicitation(context, capabilities)) return;
@@ -174,7 +183,10 @@ async function approvalInput(options, decision, handlerContext, context, capabil
174
183
  const requestState = options.requestState === void 0 ? decision.token : await options.requestState.mint(decision.token, handlerContext);
175
184
  return urlElicitation("approval", options.approval?.hint ?? describe(decision).detail, url, requestState);
176
185
  }
177
- /** A step-up denial: the RFC 9470 challenge, and a URL elicitation to `stepUpAt` when the client accepts one. */
186
+ /**
187
+ * A step-up denial: the RFC 9470 challenge, and a URL elicitation to `stepUpAt`
188
+ * when the client accepts one.
189
+ */
178
190
  function stepUpRefusal(stepUpAt, decision, permission, data, context, capabilities) {
179
191
  const base = deniedRefusal(decision, permission, data);
180
192
  const { acrValues, maxAge } = stepUpOf(decision);
@@ -215,7 +227,10 @@ function forThisServer(checks, authInfo) {
215
227
  function reachable(checks, authInfo, reach) {
216
228
  return authInfo === void 0 ? checks.options.requireAuthInfo !== true : forThisServer(checks, authInfo) && hasScope(authInfo.scopes, reach.scopes);
217
229
  }
218
- /** The refusal a token earns before any decision: none, the wrong resource, or a missing scope. */
230
+ /**
231
+ * The refusal a token earns before any decision: none, the wrong resource, or a
232
+ * missing scope.
233
+ */
219
234
  function credentialRefusal(checks, permission, reach, authInfo) {
220
235
  if (authInfo === void 0) return checks.options.requireAuthInfo === true ? plainRefusal(permission, "Denied: no verified credentials.", { error: "invalid_token" }) : void 0;
221
236
  if (!forThisServer(checks, authInfo)) return plainRefusal(permission, "Denied: the token was not issued for this server.", { error: "invalid_token" });
@@ -233,7 +248,10 @@ function credentialRefusal(checks, permission, reach, authInfo) {
233
248
  }))
234
249
  }));
235
250
  }
236
- /** The completion re-check of a long-running tool: the call must still be allowed, or approved with the same token. */
251
+ /**
252
+ * The completion re-check of a long-running tool: the call must still be
253
+ * allowed, or approved with the same token.
254
+ */
237
255
  async function recheck(checks, binding, args, call, permission, approved, tool) {
238
256
  const rechecked = await checks.kernel.check(binding, args, call, compact({
239
257
  simulate: true,
@@ -328,8 +346,9 @@ async function checkCall(checks, permission, reach, args, load, context, handler
328
346
  };
329
347
  }
330
348
  /**
331
- * The keys a list shows: unguarded ones, and guarded ones the token reaches and the subject may use.
332
- * With `tools`, a guarded key is also a tool name an `agent` actor's `tools` list must name.
349
+ * The keys a list shows: unguarded ones, and guarded ones the token reaches and
350
+ * the subject may use. With `tools`, a guarded key is also a tool name an
351
+ * `agent` actor's `tools` list must name.
333
352
  */
334
353
  async function visible(checks, context, permissionOf, keys, declaredOf = () => void 0, tools = false) {
335
354
  const authInfo = context.http?.authInfo;
@@ -485,7 +504,10 @@ function protectServer(checks, server, enforcement) {
485
504
  for (const field of ["data", "longRunning"]) if (config[field] !== void 0) throw new TypeError(`permdock/mcp: tool ${name} sets ${field}, but with enforce: 'procedure' its procedure decides.`);
486
505
  return requirePermission("tool", name, { permission: enforcement.permissionFor(name) });
487
506
  };
488
- /** With `enforce: 'procedure'` the handler runs undecided: the procedure it calls decides. */
507
+ /**
508
+ * With `enforce: 'procedure'` the handler runs undecided: the procedure it
509
+ * calls decides.
510
+ */
489
511
  const wrapTool = (tool, permission, reach, load, handler, longRunning) => enforcement === void 0 ? guardTool(tool, permission, reach, load, handler, longRunning) : async (...params) => {
490
512
  const result = await handler(...params);
491
513
  await announce(contextOf(params.at(-1)));
@@ -545,7 +567,10 @@ function protectServer(checks, server, enforcement) {
545
567
  const originalResource = server.registerResource.bind(server);
546
568
  const registerResource = (name, uriOrTemplate, config, read) => {
547
569
  const own = config["permission"] === void 0 && typeof uriOrTemplate === "string" && uriOrTemplate.startsWith(UI_SCHEME) ? void 0 : requirePermission("resource", name, config);
548
- /** A `ui://` view without its own permission takes the one of the tool linking it; unlinked, it denies. */
570
+ /**
571
+ * A `ui://` view without its own permission takes the one of the tool
572
+ * linking it; unlinked, it denies.
573
+ */
549
574
  const permissionNow = () => own ?? (typeof uriOrTemplate === "string" ? uiLinks.get(uriOrTemplate)?.permission : void 0);
550
575
  const { permission: _permission, data, scopeChallenge, ...passthrough } = config;
551
576
  const load = data;
@@ -581,18 +606,20 @@ function protectServer(checks, server, enforcement) {
581
606
  //#endregion
582
607
  //#region src/mcp/subject.ts
583
608
  const DEFAULT_MCP_ACTOR_KIND = "mcp-client";
584
- /** `kind`, or the default when absent; `undefined` for a kind that is not a non-empty string. */
609
+ /**
610
+ * `kind`, or the default when absent; `undefined` for a kind that is not a
611
+ * non-empty string.
612
+ */
585
613
  function mcpActorKind(kind) {
586
614
  if (kind === void 0) return DEFAULT_MCP_ACTOR_KIND;
587
615
  return typeof kind === "string" && kind !== "" ? kind : void 0;
588
616
  }
589
617
  /**
590
618
  * Maps the `AuthInfo` the MCP SDK's bearer verification produced to a
591
- * `Subject`: the principal from the verified claims in `extra`, the client
592
- * as an actor of kind `actorKind` (`mcp-client` by default), the granted
593
- * scopes as the delegation. Never verifies and never throws; anything
594
- * unusable, including an `actorKind` that is not a non-empty string, is
595
- * the anonymous subject.
619
+ * `Subject`: the principal from the verified claims in `extra`, the client as
620
+ * an actor of kind `actorKind` (`mcp-client` by default), the granted scopes as
621
+ * the delegation. Never verifies and never throws; anything unusable, including
622
+ * an `actorKind` that is not a non-empty string, is the anonymous subject.
596
623
  */
597
624
  function subjectFromMcp(authInfo, options = {}) {
598
625
  try {
@@ -657,7 +684,10 @@ function createPermDock(policy, given) {
657
684
  }
658
685
  //#endregion
659
686
  //#region src/mcp/resource-guard.ts
660
- /** The `error_description` of every `invalid_token` challenge (RFC 6750 section 3.1). */
687
+ /**
688
+ * The `error_description` of every `invalid_token` challenge (RFC 6750 section
689
+ * 3.1).
690
+ */
661
691
  const INVALID_TOKEN = "The access token is invalid";
662
692
  const BEARER = /^Bearer +([\w~+/.-]+=*)$/iu;
663
693
  function tokenScopes(claims) {
@@ -672,12 +702,12 @@ function refuse(status, challenge, detail) {
672
702
  };
673
703
  }
674
704
  /**
675
- * The resource-server check in front of an MCP endpoint (MCP authorization,
676
- * RFC 6750, RFC 9728): reads the bearer token from `Authorization`, verifies
677
- * it for `resource`, refuses a revoked one and checks `scopes`. It answers
678
- * the `McpAuthInfo` the SDK's handlers read, or the `401` or `403` response
679
- * with a `WWW-Authenticate` challenge naming the metadata URL. A token in the
680
- * query string is never read. Never throws.
705
+ * The resource-server check in front of an MCP endpoint (MCP authorization, RFC
706
+ * 6750, RFC 9728): reads the bearer token from `Authorization`, verifies it for
707
+ * `resource`, refuses a revoked one and checks `scopes`. It answers the
708
+ * `McpAuthInfo` the SDK's handlers read, or the `401` or `403` response with a
709
+ * `WWW-Authenticate` challenge naming the metadata URL. A token in the query
710
+ * string is never read. Never throws.
681
711
  */
682
712
  function mcpResourceGuard(options) {
683
713
  const resource = new URL(String(options.resource));
@@ -728,8 +758,8 @@ function mcpResourceGuard(options) {
728
758
  }
729
759
  /**
730
760
  * The RFC 9728 Protected Resource Metadata document as a Fetch handler, for
731
- * `/.well-known/oauth-protected-resource<path>`. `bearer_methods_supported`
732
- * is `header`, the only method `mcpResourceGuard` reads. Any origin may read it.
761
+ * `/.well-known/oauth-protected-resource<path>`. `bearer_methods_supported` is
762
+ * `header`, the only method `mcpResourceGuard` reads. Any origin may read it.
733
763
  */
734
764
  function protectedResourceMetadata(options) {
735
765
  const body = JSON.stringify(compact({
@@ -1,15 +1,15 @@
1
1
  import { r as isRecord } from "./compact-CAf557ZB.js";
2
- import { i as dateAt } from "./time-DkWjdL98.js";
3
- import { a as describeError } from "./errors-DpP_U6Bf.js";
4
- import { o as sqlFiles } from "./files-D_JIzUrP.js";
5
- import { r as escapeSqlIdent, s as quoteSqlLiteral } from "./sql-B96movIM.js";
6
- import "./sources-B-zYB4GS.js";
7
- import { a as RETIRE_MARKER } from "./markers-C6joDI3o.js";
8
- import { r as refuseDirty, t as applyFiles } from "./files-acUbNwWt.js";
9
- import { f as writeOutputFiles, n as dataMigrationFile } from "./output-files-CCMdcFWb.js";
10
- import { r as HELPERS } from "./shared-fMKOv8hP.js";
11
- import { o as sqlStatements } from "./deciding-columns-DRo2QM6E.js";
12
- import { i as retireSql, r as retirePlan } from "./retire-Wj6dkyDE.js";
2
+ import { i as dateAt } from "./time-nR1JesoH.js";
3
+ import { a as describeError } from "./errors-Vpu6rKHl.js";
4
+ import { o as sqlFiles } from "./files-BSjrtIHw.js";
5
+ import { r as escapeSqlIdent, s as quoteSqlLiteral } from "./sql-0WjxIp9g.js";
6
+ import "./sources-CMAM-2A3.js";
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-Afctg7B0.js";
11
+ import { o as sqlStatements } from "./deciding-columns-NB4wcyBf.js";
12
+ import { i as retireSql, r as retirePlan } from "./retire-B2xffQgY.js";
13
13
  import { existsSync, readFileSync } from "node:fs";
14
14
  import { relative, resolve } from "node:path";
15
15
  import { parse } from "pgsql-parser";
@@ -84,7 +84,10 @@ function callEnd(text, start) {
84
84
  }
85
85
  return -1;
86
86
  }
87
- /** The top-level arguments of the call at `start`, as written; `end` is past its closing paren. */
87
+ /**
88
+ * The top-level arguments of the call at `start`, as written; `end` is past its
89
+ * closing paren.
90
+ */
88
91
  function argTexts(text, start, end) {
89
92
  const open = text.indexOf("(", start);
90
93
  const args = [];
@@ -129,7 +132,10 @@ function isNullConst(node) {
129
132
  return child(child(node, "A_Const"), "isnull") === true;
130
133
  }
131
134
  const literal = quoteSqlLiteral;
132
- /** The PermDock key for a legacy one: `keys` first, then `renamed`, then the longest matching prefix. */
135
+ /**
136
+ * The PermDock key for a legacy one: `keys` first, then `renamed`, then the
137
+ * longest matching prefix.
138
+ */
133
139
  function mapKey(config, key, renamed = {}) {
134
140
  const exact = config.keys?.[key];
135
141
  if (exact !== void 0) return exact;
@@ -228,7 +234,10 @@ var Rewriter = class {
228
234
  if (this.#config.globalScopes?.includes(named) === true || isNullConst(idArg)) return this.#global(keyArg, selected);
229
235
  return this.#row(this.#config.scopes?.[named] ?? named, idArg, keyArg, 1);
230
236
  }
231
- /** `selected`: the call is already a `select` target, so `permdock_has` needs no wrapping subquery. */
237
+ /**
238
+ * `selected`: the call is already a `select` target, so `permdock_has` needs
239
+ * no wrapping subquery.
240
+ */
232
241
  rewrite(call, selected) {
233
242
  const { helper, args } = call;
234
243
  this.#args = argTexts(this.#text, call.start, call.end);
@@ -275,7 +284,10 @@ function bodyStrings(statement) {
275
284
  }
276
285
  return found;
277
286
  }
278
- /** What `call`, written inside a function body, becomes: the rewrite that its place keeps from being applied. */
287
+ /**
288
+ * What `call`, written inside a function body, becomes: the rewrite that its
289
+ * place keeps from being applied.
290
+ */
279
291
  async function suggest(call, config, target) {
280
292
  const sql = `select ${call}`;
281
293
  let tree;
@@ -293,7 +305,10 @@ async function suggest(call, config, target) {
293
305
  const outcome = rewriter.rewrite(found, true);
294
306
  return "to" in outcome ? outcome.to : void 0;
295
307
  }
296
- /** Rewrites the configured helper calls in one file's policies; everything else is reported. */
308
+ /**
309
+ * Rewrites the configured helper calls in one file's policies; everything else
310
+ * is reported.
311
+ */
297
312
  async function migrateSql(file, text, config, target) {
298
313
  const rewrites = [];
299
314
  const skipped = [];
@@ -418,7 +433,10 @@ function describe(report, write) {
418
433
  lines.push(`rls migrate: ${write ? "rewrote" : "would rewrite"} ${String(report.rewrites.length)} call(s) in ${String(files)} file(s), skipped ${String(report.skipped.length)}${unknown === 0 ? "" : `, ${String(unknown)} with an unknown key`}${write ? "" : "; drop --dry-run to apply them"}`);
419
434
  return lines.join("\n");
420
435
  }
421
- /** `permdock rls migrate`: a dry run unless `write`; exits 1 while a key is unknown. */
436
+ /**
437
+ * `permdock rls migrate`: a dry run unless `write`; exits 1 while a key is
438
+ * unknown.
439
+ */
422
440
  async function runRlsMigrate(input) {
423
441
  const root = resolve(input.cwd, input.sql);
424
442
  if (!existsSync(root)) return {
@@ -0,0 +1,107 @@
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";
4
+ import { i as isModuleKey, n as MODULE_KEYS } from "./config-shape-ykV0Vm2n.js";
5
+ import { existsSync, readFileSync, statSync } from "node:fs";
6
+ import { dirname, relative, resolve } from "node:path";
7
+ import { parseSync } from "oxc-parser";
8
+ //#region src/cli/project/module-values.ts
9
+ /** The export each module key is read from, as `load.ts` reads it. */
10
+ const EXPORT_OF = {
11
+ policy: "policy",
12
+ permissions: "permissions",
13
+ operations: "operations"
14
+ };
15
+ const EXTENSIONS = [
16
+ ".ts",
17
+ ".tsx",
18
+ ".mts",
19
+ ".js",
20
+ ".mjs",
21
+ ".jsx"
22
+ ];
23
+ function isFile(path) {
24
+ return existsSync(path) && statSync(path).isFile();
25
+ }
26
+ /** A relative specifier resolved the way a TypeScript bundler resolves it. */
27
+ function resolveRelative(from, specifier) {
28
+ const base = resolve(dirname(from), specifier);
29
+ return [
30
+ base,
31
+ base.replace(/\.js$/u, ".ts").replace(/\.mjs$/u, ".mts"),
32
+ ...EXTENSIONS.map((extension) => `${base}${extension}`),
33
+ ...EXTENSIONS.map((extension) => resolve(base, `index${extension}`))
34
+ ].find(isFile);
35
+ }
36
+ function relativeImports(file) {
37
+ const parsed = parseSync(file, readFileSync(file, "utf8"));
38
+ return [...new Set(parsed.module.staticImports.map((entry) => entry.moduleRequest.value).filter((specifier) => specifier.startsWith(".")))];
39
+ }
40
+ function fieldOf(value, key) {
41
+ return Reflect.get(value, key);
42
+ }
43
+ function leafKeys(value) {
44
+ try {
45
+ return listPermissions(asPermissionTree(value)).map((leaf) => leaf.key).toSorted().join(",");
46
+ } catch {
47
+ return "";
48
+ }
49
+ }
50
+ /**
51
+ * Whether `exported` is the value the config passed. A module evaluated twice
52
+ * (once natively, once through jiti, or fresh under `--watch`) yields a second
53
+ * object, so a policy compares by fingerprint and a tree by its leaf keys.
54
+ */
55
+ function sameValue(key, value, exported) {
56
+ if (exported === value) return true;
57
+ if (exported === null || typeof exported !== "object") return false;
58
+ switch (key) {
59
+ case "policy": {
60
+ const fingerprint = fieldOf(value, "fingerprint");
61
+ return typeof fingerprint === "string" && fingerprint === fieldOf(exported, "fingerprint");
62
+ }
63
+ case "permissions": return leafKeys(value) !== "" && leafKeys(value) === leafKeys(exported);
64
+ case "operations": {
65
+ const names = Object.keys(value).toSorted().join(",");
66
+ return names !== "" && names === Object.keys(exported).toSorted().join(",");
67
+ }
68
+ default: return key;
69
+ }
70
+ }
71
+ /**
72
+ * The module path, relative to `cwd`, of the module the config file imports
73
+ * `value` from as its `policy`, `permissions` or `operations` export.
74
+ */
75
+ async function traceModuleValue(input) {
76
+ const name = EXPORT_OF[input.key];
77
+ for (const specifier of relativeImports(input.file)) {
78
+ const abs = resolveRelative(input.file, specifier);
79
+ if (abs === void 0) continue;
80
+ const mod = await loadModule(abs, input.options).catch(() => void 0);
81
+ if (mod !== void 0 && sameValue(input.key, input.value, pickNamed(mod, [name]))) {
82
+ const path = relative(input.cwd, abs).replaceAll("\\", "/");
83
+ return path.startsWith(".") ? path : `./${path}`;
84
+ }
85
+ }
86
+ throw configError(`PermDock CLI: ${input.display}: ${input.key} is a value no relative import of the config exports as '${name}' or default; import it from its module, or set ${input.key} to the module path`);
87
+ }
88
+ /**
89
+ * `config` with each `policy`, `permissions` or `operations` value replaced by
90
+ * the path of the module the config file imports it from, so every command
91
+ * reads one form.
92
+ */
93
+ async function traceModuleValues(input) {
94
+ const traced = { ...input.config };
95
+ for (const key of Object.keys(MODULE_KEYS)) {
96
+ const value = input.config[key];
97
+ if (!isModuleKey(key) || value === null || typeof value !== "object") continue;
98
+ traced[key] = await traceModuleValue({
99
+ ...input,
100
+ key,
101
+ value
102
+ });
103
+ }
104
+ return traced;
105
+ }
106
+ //#endregion
107
+ export { traceModuleValues };
@@ -1,15 +1,16 @@
1
- import { T as Policy, sr as Principal } from "../policy-types-B-F-qAZk.js";
2
- import { u as Permission } from "../permission-types-DhNEmoRG.js";
3
- import { a as PermDock } from "../permdock-Dco6dyCK.js";
4
- import { n as RevocationFeed } from "../revocations-R07lFBnX.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-C4gZUEZy.js";
6
- import { t as ServerAdapterOptions } from "../bind-JDuvxjuW.js";
1
+ import { T as Policy, sr as Principal } from "../policy-types-CCiDRZBH.js";
2
+ import { u as Permission } from "../permission-types-CAY-GU7e.js";
3
+ import { a as PermDock } from "../permdock-B6Sf4T_S.js";
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-CIlpSA2G.js";
6
+ import { t as ServerAdapterOptions } from "../bind-Cp2hBHzP.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
10
10
  /**
11
11
  * `@nestjs/platform-express` hands the guard an `IncomingMessage`;
12
- * `@nestjs/platform-fastify` hands it a `FastifyRequest` whose stream is `raw`.
12
+ * `@nestjs/platform-fastify` hands it a `FastifyRequest` whose stream is
13
+ * `raw`.
13
14
  */
14
15
  export declare function toRequest(req: NodeRequest): Request;
15
16
  //#endregion
@@ -30,18 +31,27 @@ type NestPermDockOptions<TUser = unknown> = ServerAdapterOptions<NestRequest, TU
30
31
  };
31
32
  /** A gateway client: Socket.IO (`emit`, `disconnect`) or `ws` (`close`). */
32
33
  type NestSocket = {
33
- emit?(event: string, payload: unknown): unknown;
34
- disconnect?(close?: boolean): unknown;
35
- close?(code?: number, reason?: string): unknown;
34
+ emit?: (event: string, payload: unknown) => unknown;
35
+ disconnect?: (close?: boolean) => unknown;
36
+ close?: (code?: number, reason?: string) => unknown;
36
37
  };
37
- /** `Protect(null, data?, { oauthScopes })` needs a principal and one of the OAuth scopes, but no permission. */
38
+ /**
39
+ * `Protect(null, data?, { oauthScopes })` needs a principal and one of the
40
+ * OAuth scopes, but no permission.
41
+ */
38
42
  type NestProtect = (permission: Permission | null, data?: (req: NestRequest) => unknown, protectOptions?: ProtectOptions) => ClassDecorator & MethodDecorator;
39
43
  type NestHandlerOptions = {
40
- /** Controller path; may hold route params such as `:org`. Default `api/permdock`. */
44
+ /**
45
+ * Controller path; may hold route params such as `:org`. Default
46
+ * `api/permdock`.
47
+ */
41
48
  readonly path?: string;
42
49
  };
43
50
  type PermDockModuleOptions = {
44
- /** `"global"` registers `PermDockGuard` as `APP_GUARD`, so every `Protect` rule runs without `UseGuards`. */
51
+ /**
52
+ * `"global"` registers `PermDockGuard` as `APP_GUARD`, so every `Protect`
53
+ * rule runs without `UseGuards`.
54
+ */
45
55
  readonly guard?: "global";
46
56
  };
47
57
  type NestPermDock = {
@@ -1,12 +1,12 @@
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 writeReply, r as hasCredentials } from "../http-BBoKefeS.js";
5
- import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-DReoiVBw.js";
6
- import { t as problemFromError } from "../map-error-BQGyDm_M.js";
7
- import { a as socketConnection, r as bindKernel } from "../bind-D1nO6fiC.js";
8
- import { a as onRevoked, n as closeReason, t as POLICY_VIOLATION } from "../stream-CvdUS9V1.js";
9
- import { n as sendResponse, r as toRequest$1, t as isServerResponse } from "../http-ujKm0JXE.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 { 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-D_sZSVA3.js";
8
+ import { a as onRevoked, n as closeReason, t as POLICY_VIOLATION } from "../stream-CDvF0sJm.js";
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";
11
11
  import { APP_FILTER, APP_GUARD, Reflector } from "@nestjs/core";
12
12
  //#region src/nest/decorate.ts
@@ -35,7 +35,8 @@ function isFastifyReply(value) {
35
35
  }
36
36
  /**
37
37
  * `@nestjs/platform-express` hands the guard an `IncomingMessage`;
38
- * `@nestjs/platform-fastify` hands it a `FastifyRequest` whose stream is `raw`.
38
+ * `@nestjs/platform-fastify` hands it a `FastifyRequest` whose stream is
39
+ * `raw`.
39
40
  */
40
41
  function toRequest(req) {
41
42
  if (isReadable(req)) return toRequest$1(req);
@@ -75,7 +76,10 @@ function applyParameter(cls, key, index, decorator) {
75
76
  function hasEmit(value) {
76
77
  return typeof value === "object" && value !== null && typeof value.emit === "function";
77
78
  }
78
- /** One call per loader for a request, so class and method rules naming the same loader share its row. */
79
+ /**
80
+ * One call per loader for a request, so class and method rules naming the same
81
+ * loader share its row.
82
+ */
79
83
  function loadsFor(req) {
80
84
  const loaded = /* @__PURE__ */ new Map();
81
85
  return (loader) => {
@@ -130,7 +134,10 @@ function createPermDock(policy, options) {
130
134
  });
131
135
  return conn;
132
136
  });
133
- /** Decides each rule for a gateway message against the client's connection, as `protect` does for HTTP. */
137
+ /**
138
+ * Decides each rule for a gateway message against the client's connection, as
139
+ * `protect` does for HTTP.
140
+ */
134
141
  const checkMessage = async (rules, conn, req) => {
135
142
  const request = req === void 0 ? void 0 : bind(req);
136
143
  const load = loadsFor(req);
@@ -1,4 +1,4 @@
1
- import { t as PermissionBoundaryState } from "../boundary-BmHxVH1J.js";
1
+ import { t as PermissionBoundaryState } from "../boundary-C9ck-3uK.js";
2
2
  import { ComponentType, ReactNode } from "react";
3
3
  //#region src/next/client.d.ts
4
4
  /** A fallback node, or a function of what was refused. */
@@ -6,7 +6,10 @@ export type PermissionBoundaryFallback = ReactNode | ((state: PermissionBoundary
6
6
  export type PermissionBoundaryProps = {
7
7
  /** Rendered in place of the children when one throws `PermDockDeniedError`. */
8
8
  readonly denied?: PermissionBoundaryFallback;
9
- /** Rendered when a child throws `PermDockApprovalRequiredError`; defaults to `denied`. */
9
+ /**
10
+ * Rendered when a child throws `PermDockApprovalRequiredError`; defaults to
11
+ * `denied`.
12
+ */
10
13
  readonly approval?: PermissionBoundaryFallback;
11
14
  };
12
15
  /**
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { n as boundaryFallback, t as boundaryDigest } from "../boundary-BM8a_P6E.js";
2
+ import { n as boundaryFallback, t as boundaryDigest } from "../boundary-BV3O1eud.js";
3
3
  import { createContext, useContext } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  import * as nextError from "next/error.js";