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
@@ -1,17 +1,23 @@
1
- import { lr as Subject } from "./policy-types-B-F-qAZk.js";
2
- import { m as ApprovalStore } from "./types-DC44-hqb.js";
3
- import { t as InstanceOptions } from "./instance-options-CU0YQCLH.js";
1
+ import { lr as Subject } from "./policy-types-CCiDRZBH.js";
2
+ import { m as ApprovalStore } from "./types-B_tiYvk8.js";
3
+ import { t as InstanceOptions } from "./instance-options-B0KXqTrJ.js";
4
4
  import { t as RequestContext } from "./request-context-C2_1lchh.js";
5
- import { n as PermDockWrap } from "./wrap-B6R0cMRL.js";
6
- import { o as OtelWrap } from "./types-CIeZcG8v.js";
7
- import { r as PdpFactory } from "./types-D3A19w4A.js";
8
- import { S as TenantOption, _ as WebBotAuthVerifier, t as DeniedResponse } from "./server-types-C4gZUEZy.js";
5
+ import { n as PermDockWrap } from "./wrap-DlJE3gS_.js";
6
+ import { o as OtelWrap } from "./types-DHKPcqzr.js";
7
+ import { r as PdpFactory } from "./types-B4uqKDnp.js";
8
+ import { S as TenantOption, _ as WebBotAuthVerifier, t as DeniedResponse } from "./server-types-CIlpSA2G.js";
9
9
  //#region src/server/bind.d.ts
10
- /** The options of every framework adapter; `TContext` is what its callbacks receive. */
10
+ /**
11
+ * The options of every framework adapter; `TContext` is what its callbacks
12
+ * receive.
13
+ */
11
14
  type ServerAdapterOptions<TContext, TUser = unknown> = InstanceOptions & ServerAdapterServices & {
12
15
  /** The user, or a full `Subject` (core then skips `policy.subject`). */
13
16
  readonly subject: (context: TContext) => TUser | Subject | Promise<TUser | Subject>;
14
- /** The agent or service acting for the subject; anything but an `Actor` is ignored. */
17
+ /**
18
+ * The agent or service acting for the subject; anything but an `Actor` is
19
+ * ignored.
20
+ */
15
21
  readonly actor?: (context: TContext) => unknown;
16
22
  readonly tenant?: TenantOption<TContext>;
17
23
  /**
@@ -23,15 +29,24 @@ type ServerAdapterOptions<TContext, TUser = unknown> = InstanceOptions & ServerA
23
29
  /** The services an adapter hands to its kernel unchanged. */
24
30
  type ServerAdapterServices = {
25
31
  readonly store?: ApprovalStore;
26
- /** `getPermDock` from `permdock/pdp`; `protect` then decides delegated permissions remotely. */
32
+ /**
33
+ * `getPermDock` from `permdock/pdp`; `protect` then decides delegated
34
+ * permissions remotely.
35
+ */
27
36
  readonly pdp?: PdpFactory;
28
37
  /** `(permdock) => withOtel(permdock, options)` from `permdock/otel`. */
29
38
  readonly otel?: OtelWrap;
30
39
  /** `webBotAuthVerifier(options)`; a verified bot becomes the actor. */
31
40
  readonly webBotAuth?: WebBotAuthVerifier;
32
- /** Wraps each instance after `otel`; build it with `wrapPermDock` to cover derived instances. */
41
+ /**
42
+ * Wraps each instance after `otel`; build it with `wrapPermDock` to cover
43
+ * derived instances.
44
+ */
33
45
  readonly wrap?: PermDockWrap;
34
- /** Replaces the response of a refused guard; it can never turn a refusal into a grant. */
46
+ /**
47
+ * Replaces the response of a refused guard; it can never turn a refusal into
48
+ * a grant.
49
+ */
35
50
  readonly deniedResponse?: DeniedResponse;
36
51
  };
37
52
  //#endregion
@@ -1,12 +1,15 @@
1
1
  import { t as compact } from "./compact-CAf557ZB.js";
2
- import { l as withApp } from "./permdock-BfWEeMqk.js";
3
- import { t as composeWraps } from "./wrap-CiSc_KCq.js";
4
- import { r as instanceOptions } from "./build-instance-DxE7czo9.js";
5
- import { f as invalidSignatureResponse } from "./evaluations-DReoiVBw.js";
6
- import { n as tenantScope } from "./adapter-context-CRhqyzCk.js";
7
- import { t as createPermDock } from "./create-DJrlhEp9.js";
2
+ import { l as withApp } from "./permdock-L-_I_3zP.js";
3
+ import { t as composeWraps } from "./wrap-B2wziJI_.js";
4
+ import { r as instanceOptions } from "./build-instance-CNWaYJyr.js";
5
+ import { f as invalidSignatureResponse } from "./evaluations-IBceAeKT.js";
6
+ import { n as tenantScope } from "./adapter-context-CIQpQxbE.js";
7
+ import { t as createPermDock } from "./create-_noSrY1T.js";
8
8
  //#region src/server/bind.ts
9
- /** The server kernel with the subject and actor callbacks reading the context `contextOf` maps a `Request` to. */
9
+ /**
10
+ * The server kernel with the subject and actor callbacks reading the context
11
+ * `contextOf` maps a `Request` to.
12
+ */
10
13
  function adapterKernel(policy, options, adapter, contextOf) {
11
14
  return createPermDock(policy, compact({
12
15
  subject: (request) => {
@@ -74,7 +77,10 @@ function bindKernel(policy, given, adapter, toRequest) {
74
77
  guard
75
78
  };
76
79
  }
77
- /** The instance `build` resolves; an invalid Web Bot Auth signature is its `401` response. */
80
+ /**
81
+ * The instance `build` resolves; an invalid Web Bot Auth signature is its `401`
82
+ * response.
83
+ */
78
84
  async function attached(build) {
79
85
  try {
80
86
  return {
@@ -90,14 +96,20 @@ async function attached(build) {
90
96
  };
91
97
  }
92
98
  }
93
- /** Sets `permdock`, and `permdockData` when a loader returned a row, on a framework request or context. */
99
+ /**
100
+ * Sets `permdock`, and `permdockData` when a loader returned a row, on a
101
+ * framework request or context.
102
+ */
94
103
  function decorate(target, instance, data) {
95
104
  Object.assign(target, data === void 0 ? { permdock: instance } : {
96
105
  permdock: instance,
97
106
  permdockData: data
98
107
  });
99
108
  }
100
- /** One connection per socket: every handler of `socket` gets the promise the first one opened. */
109
+ /**
110
+ * One connection per socket: every handler of `socket` gets the promise the
111
+ * first one opened.
112
+ */
101
113
  function socketConnection(sockets, socket, open) {
102
114
  const hit = sockets.get(socket);
103
115
  if (hit !== void 0) return hit;
@@ -1,6 +1,6 @@
1
- import { o as statusProblem } from "./problem-details-cn5X30gZ.js";
2
- import { t as MAX_BODY_BYTES } from "./body-text-QcXok_SI.js";
3
- import { c as problemResponse } from "./problem-CTviyH5L.js";
1
+ import { o as statusProblem } from "./problem-details-CLDgX1KV.js";
2
+ import { t as MAX_BODY_BYTES } from "./body-text-DQhcmqdY.js";
3
+ import { l as problemResponse } from "./problem-BVLHFK33.js";
4
4
  //#region src/server/body.ts
5
5
  /** The 413 Problem Details for a body over `maxBytes`. */
6
6
  function bodyTooLarge(maxBytes = MAX_BODY_BYTES) {
@@ -1,10 +1,14 @@
1
1
  //#region src/server/body-text.ts
2
- /** The largest request body PermDock reads when a handler sets no smaller cap: 1 MiB. */
2
+ /**
3
+ * The largest request body PermDock reads when a handler sets no smaller cap: 1
4
+ * MiB.
5
+ */
3
6
  const MAX_BODY_BYTES = 1048576;
4
7
  /**
5
- * The request or response body as UTF-8 text, read until `maxBytes` and no further. A
6
- * `Content-Length` above the cap is refused before the body is touched; a body
7
- * that runs past the cap whatever its header says is cancelled mid-stream.
8
+ * The request or response body as UTF-8 text, read until `maxBytes` and no
9
+ * further. A `Content-Length` above the cap is refused before the body is
10
+ * touched; a body that runs past the cap whatever its header says is cancelled
11
+ * mid-stream.
8
12
  */
9
13
  async function readBodyText(request, maxBytes = MAX_BODY_BYTES) {
10
14
  const declared = request.headers.get("content-length");
@@ -1,11 +1,17 @@
1
1
  import { r as parsePermDockDigest } from "./digest-BI-6aa6d.js";
2
2
  //#region src/client/boundary.ts
3
- /** The digest of a PermDock error (`PermDockDeniedError`, `PermDockApprovalRequiredError`); `null` for any other error. */
3
+ /**
4
+ * The digest of a PermDock error (`PermDockDeniedError`,
5
+ * `PermDockApprovalRequiredError`); `null` for any other error.
6
+ */
4
7
  function boundaryDigest(error) {
5
8
  if (error === null || typeof error !== "object" || !("digest" in error)) return null;
6
9
  return parsePermDockDigest(error.digest);
7
10
  }
8
- /** What a boundary renders for `digest`: `approval` for an approval request when given, otherwise `denied`. */
11
+ /**
12
+ * What a boundary renders for `digest`: `approval` for an approval request when
13
+ * given, otherwise `denied`.
14
+ */
9
15
  function boundaryFallback(digest, fallbacks) {
10
16
  return digest.outcome === "approval-required" ? fallbacks.approval ?? fallbacks.denied : fallbacks.denied;
11
17
  }
@@ -1,12 +1,21 @@
1
- import { t as PermDockDigest } from "./digest-B3kc_PgQ.js";
1
+ import { t as PermDockDigest } from "./digest-8Yx2CchM.js";
2
2
  //#region src/client/boundary.d.ts
3
3
  type PermissionBoundaryState = PermDockDigest & {
4
- /** Renders the boundary's children again, e.g. after an approval or a role change. */
4
+ /**
5
+ * Renders the boundary's children again, e.g. after an approval or a role
6
+ * change.
7
+ */
5
8
  readonly retry: () => void;
6
9
  };
7
- /** The digest of a PermDock error (`PermDockDeniedError`, `PermDockApprovalRequiredError`); `null` for any other error. */
10
+ /**
11
+ * The digest of a PermDock error (`PermDockDeniedError`,
12
+ * `PermDockApprovalRequiredError`); `null` for any other error.
13
+ */
8
14
  declare function boundaryDigest(error: unknown): PermDockDigest | null;
9
- /** What a boundary renders for `digest`: `approval` for an approval request when given, otherwise `denied`. */
15
+ /**
16
+ * What a boundary renders for `digest`: `approval` for an approval request when
17
+ * given, otherwise `denied`.
18
+ */
10
19
  declare function boundaryFallback<T>(digest: PermDockDigest, fallbacks: {
11
20
  readonly denied?: T | undefined;
12
21
  readonly approval?: T | undefined;
@@ -1,9 +1,12 @@
1
1
  //#region src/supabase/budget.ts
2
- /** The default size budget, in bytes of JSON, for the hook's `memberships` claim: about 15 UUID-keyed single-role memberships. */
2
+ /**
3
+ * The default size budget, in bytes of JSON, for the hook's `memberships`
4
+ * claim: about 15 UUID-keyed single-role memberships.
5
+ */
3
6
  const supabaseMembershipsBudget = 1024;
4
7
  /**
5
- * The default claim that carries the active first-scope id: the hook writes
6
- * it, `subjectFromSupabase` reads it, and the RLS helpers compare with it.
8
+ * The default claim that carries the active first-scope id: the hook writes it,
9
+ * `subjectFromSupabase` reads it, and the RLS helpers compare with it.
7
10
  * `rls.tenantClaim` and the `tenant` option change it.
8
11
  */
9
12
  const supabaseTenantClaim = "tenant_id";
@@ -1,9 +1,12 @@
1
1
  //#region src/supabase/budget.d.ts
2
- /** The default size budget, in bytes of JSON, for the hook's `memberships` claim: about 15 UUID-keyed single-role memberships. */
2
+ /**
3
+ * The default size budget, in bytes of JSON, for the hook's `memberships`
4
+ * claim: about 15 UUID-keyed single-role memberships.
5
+ */
3
6
  declare const supabaseMembershipsBudget = 1024;
4
7
  /**
5
- * The default claim that carries the active first-scope id: the hook writes
6
- * it, `subjectFromSupabase` reads it, and the RLS helpers compare with it.
8
+ * The default claim that carries the active first-scope id: the hook writes it,
9
+ * `subjectFromSupabase` reads it, and the RLS helpers compare with it.
7
10
  * `rls.tenantClaim` and the `tenant` option change it.
8
11
  */
9
12
  declare const supabaseTenantClaim = "tenant_id";
@@ -1,5 +1,5 @@
1
1
  import { t as compact } from "./compact-CAf557ZB.js";
2
- import { t as getPermDock } from "./permdock-BfWEeMqk.js";
2
+ import { t as getPermDock } from "./permdock-L-_I_3zP.js";
3
3
  //#region src/core/instance-options.ts
4
4
  const INSTANCE_KEYS = {
5
5
  memberships: true,
@@ -24,8 +24,8 @@ function instanceOptions(options) {
24
24
  //#endregion
25
25
  //#region src/core/build-instance.ts
26
26
  /**
27
- * `resolve()`, or `null` when it throws: a subject or delegation that cannot
28
- * be resolved is absent. `rethrow` sees the error first, so a framework's
27
+ * `resolve()`, or `null` when it throws: a subject or delegation that cannot be
28
+ * resolved is absent. `rethrow` sees the error first, so a framework's
29
29
  * control-flow throws (Next.js `redirect`, `notFound`) pass through.
30
30
  */
31
31
  async function resolveOrNull(resolve, rethrow) {
@@ -1,9 +1,9 @@
1
1
  import { t as compact } from "./compact-CAf557ZB.js";
2
- import { n as freezeDeep } from "./freeze-CrU8nQeX.js";
3
- import { a as ownRecord } from "./paths-DXSHAMIa.js";
4
- import { a as isId, o as sameId, r as idList, t as expiredAt } from "./expiry-D4_YKRKD.js";
5
- import { c as listPermissions } from "./permission-registry-DpPtSKNZ.js";
6
- import { o as epochSeconds, p as nowSeconds } from "./time-DkWjdL98.js";
2
+ import { n as freezeDeep } from "./freeze-jjan0lCv.js";
3
+ import { a as ownRecord } from "./paths-CUvURzHp.js";
4
+ import { a as isId, o as sameId, r as idList, t as expiredAt } from "./expiry-6XByK0dm.js";
5
+ import { c as listPermissions } from "./permission-registry-B8tYxPIt.js";
6
+ import { o as epochSeconds, p as nowSeconds } from "./time-nR1JesoH.js";
7
7
  import { t as anonymousSubject } from "./subject-BGoM5o8B.js";
8
8
  //#region src/core/capability.ts
9
9
  function redeemerKind(redeemer) {
@@ -11,9 +11,9 @@ function redeemerKind(redeemer) {
11
11
  return "user" in redeemer ? "user" : "scope";
12
12
  }
13
13
  /**
14
- * The first rule of `policy` the capability breaks, or `undefined`. A
15
- * lifetime rule without a known `issuedAt`, or one that is not a finite
16
- * non-negative number, is broken: the check fails closed.
14
+ * The first rule of `policy` the capability breaks, or `undefined`. A lifetime
15
+ * rule without a known `issuedAt`, or one that is not a finite non-negative
16
+ * number, is broken: the check fails closed.
17
17
  */
18
18
  function linkPolicyViolation(capability, policy, issuedAt) {
19
19
  const policies = Array.isArray(policy) ? policy : [policy];
@@ -40,8 +40,8 @@ function parseConfirmation(input) {
40
40
  return typeof jkt === "string" && /^[\w-]{43}$/u.test(jkt) ? { jkt } : void 0;
41
41
  }
42
42
  /**
43
- * Validates a verified capability (a claim plus `id`, `expiresAt` and
44
- * an optional `cnf`) and returns a frozen copy, or `undefined`.
43
+ * Validates a verified capability (a claim plus `id`, `expiresAt` and an
44
+ * optional `cnf`) and returns a frozen copy, or `undefined`.
45
45
  */
46
46
  function parseCapability(input) {
47
47
  const value = ownRecord(input);
@@ -59,9 +59,9 @@ function parseCapability(input) {
59
59
  }));
60
60
  }
61
61
  /**
62
- * The capability verified claims carry: the `capability` claim, `sub` as
63
- * `id`, `exp` as `expiresAt` and the RFC 7800 `cnf`. `undefined` when any
64
- * of them is missing or malformed.
62
+ * The capability verified claims carry: the `capability` claim, `sub` as `id`,
63
+ * `exp` as `expiresAt` and the RFC 7800 `cnf`. `undefined` when any of them is
64
+ * missing or malformed.
65
65
  */
66
66
  function capabilityFromClaims(claims) {
67
67
  const claim = parseCapabilityClaim(claims["capability"]);
@@ -76,9 +76,9 @@ function capabilityFromClaims(claims) {
76
76
  });
77
77
  }
78
78
  /**
79
- * Validates an untrusted `capability` claim and returns a frozen copy with
80
- * only the v1 fields, or `undefined`. Unknown fields are dropped; a wrong
81
- * type in a known field rejects the whole claim.
79
+ * Validates an untrusted `capability` claim and returns a frozen copy with only
80
+ * the v1 fields, or `undefined`. Unknown fields are dropped; a wrong type in a
81
+ * known field rejects the whole claim.
82
82
  */
83
83
  function parseCapabilityClaim(input) {
84
84
  const value = ownRecord(input);
@@ -112,7 +112,10 @@ function resourceName(resource) {
112
112
  if (names.size !== 1 || name === void 0) throw new Error("PermDock: capability on.resource must name exactly one resource");
113
113
  return name;
114
114
  }
115
- /** Builds the v1 `Capability` for `input`; throws on an input no resolver would accept. */
115
+ /**
116
+ * Builds the v1 `Capability` for `input`; throws on an input no resolver would
117
+ * accept.
118
+ */
116
119
  function capabilityOf(input) {
117
120
  const capability = parseCapability(compact({
118
121
  v: 1,
@@ -133,9 +136,9 @@ function capabilityOf(input) {
133
136
  return capability;
134
137
  }
135
138
  /**
136
- * Signs a capability as a `vnd.permdock.capability+jwt`: `sub` is the link
137
- * id, `exp` is `expiresAt`, `cnf` binds the redeemer's key, and the signer
138
- * sets `iss`, `aud`, `iat` (`issuedAt`, else now) and a fresh `jti`.
139
+ * Signs a capability as a `vnd.permdock.capability+jwt`: `sub` is the link id,
140
+ * `exp` is `expiresAt`, `cnf` binds the redeemer's key, and the signer sets
141
+ * `iss`, `aud`, `iat` (`issuedAt`, else now) and a fresh `jti`.
139
142
  */
140
143
  function signCapability(input, signer, options = {}) {
141
144
  const capability = capabilityOf(input);
@@ -159,7 +162,10 @@ function holdsScope(membership, scope, id, now) {
159
162
  if (membership.scope === scope && sameId(membership.id, id)) return true;
160
163
  return scope === "tenant" && sameId(membership.tenant, id) || scope === "team" && sameId(membership.team, id);
161
164
  }
162
- /** Whether `viewer`, the request's own verified subject, may redeem a capability. */
165
+ /**
166
+ * Whether `viewer`, the request's own verified subject, may redeem a
167
+ * capability.
168
+ */
163
169
  function redeemerAllows(redeemer, viewer, now = epochSeconds()) {
164
170
  if (redeemer === void 0 || redeemer === "anyone") return true;
165
171
  const principal = viewer?.principal ?? null;
@@ -169,10 +175,10 @@ function redeemerAllows(redeemer, viewer, now = epochSeconds()) {
169
175
  return (principal.memberships ?? []).some((membership) => holdsScope(membership, redeemer.scope, redeemer.id, now));
170
176
  }
171
177
  /**
172
- * The subject a verified capability acts as: a `link` principal holding
173
- * `roles` on `on` and nothing else, with `delegation.scopes` narrowing it to
174
- * `permissions` when the capability lists them. A `key` holder resolves to
175
- * the anonymous subject until user-bound credentials ship.
178
+ * The subject a verified capability acts as: a `link` principal holding `roles`
179
+ * on `on` and nothing else, with `delegation.scopes` narrowing it to
180
+ * `permissions` when the capability lists them. A `key` holder resolves to the
181
+ * anonymous subject until user-bound credentials ship.
176
182
  */
177
183
  function capabilitySubject(capability, options = {}) {
178
184
  if (capability.holder !== "link") return anonymousSubject();
@@ -1,10 +1,10 @@
1
- import { Rt as Instant, sr as Principal, ut as TokenSigner } from "./policy-types-B-F-qAZk.js";
2
- import { f as PermissionTree, u as Permission } from "./permission-types-DhNEmoRG.js";
1
+ import { Rt as Instant, sr as Principal, ut as TokenSigner } from "./policy-types-CCiDRZBH.js";
2
+ import { f as PermissionTree, u as Permission } from "./permission-types-CAY-GU7e.js";
3
3
  //#region src/core/capability.d.ts
4
4
  /**
5
- * Who may redeem a capability: anyone holding it, any signed-in principal,
6
- * one user, or a member of one scope instance. The viewer is the request's
7
- * own verified subject, never a claim of the capability.
5
+ * Who may redeem a capability: anyone holding it, any signed-in principal, one
6
+ * user, or a member of one scope instance. The viewer is the request's own
7
+ * verified subject, never a claim of the capability.
8
8
  */
9
9
  type CapabilityRedeemer = "anyone" | "signed-in" | {
10
10
  readonly user: string;
@@ -12,15 +12,18 @@ type CapabilityRedeemer = "anyone" | "signed-in" | {
12
12
  readonly scope: string;
13
13
  readonly id: string;
14
14
  };
15
- /** RFC 7800 confirmation: the SHA-256 JWK thumbprint (RFC 7638) of the key that must redeem it. */
15
+ /**
16
+ * RFC 7800 confirmation: the SHA-256 JWK thumbprint (RFC 7638) of the key that
17
+ * must redeem it.
18
+ */
16
19
  type CapabilityConfirmation = {
17
20
  readonly jkt: string;
18
21
  };
19
22
  /**
20
- * Capability v1: the `capability` claim of a `vnd.permdock.capability+jwt`.
21
- * It holds `roles` on one resource instance (`on`, the `Membership.on`
22
- * shape), optionally narrowed to `permissions` (keys). The link id is the
23
- * token's `sub` and its expiry the token's `exp`; neither repeats here.
23
+ * Capability v1: the `capability` claim of a `vnd.permdock.capability+jwt`. It
24
+ * holds `roles` on one resource instance (`on`, the `Membership.on` shape),
25
+ * optionally narrowed to `permissions` (keys). The link id is the token's `sub`
26
+ * and its expiry the token's `exp`; neither repeats here.
24
27
  */
25
28
  type CapabilityClaim = {
26
29
  readonly v: 1;
@@ -33,12 +36,15 @@ type CapabilityClaim = {
33
36
  readonly roles: readonly string[];
34
37
  readonly permissions?: readonly string[];
35
38
  readonly redeemer?: CapabilityRedeemer;
36
- /** One request per token: the resolver claims the token's `jti` in a `ReplayStore`. */
39
+ /**
40
+ * One request per token: the resolver claims the token's `jti` in a
41
+ * `ReplayStore`.
42
+ */
37
43
  readonly once?: true;
38
44
  };
39
45
  /**
40
- * A verified capability: the claim plus `id` (the token's `sub`, the handle
41
- * an application revokes), `expiresAt` (its `exp`, Unix seconds, also the
46
+ * A verified capability: the claim plus `id` (the token's `sub`, the handle an
47
+ * application revokes), `expiresAt` (its `exp`, Unix seconds, also the
42
48
  * membership's `expiresAt`) and `cnf` when the token binds a redeemer key.
43
49
  */
44
50
  type Capability = CapabilityClaim & {
@@ -62,7 +68,10 @@ type CapabilityInput = {
62
68
  readonly once?: boolean;
63
69
  /** `exp`, Unix seconds. */
64
70
  readonly expiresAt: number;
65
- /** Binds the link to the key with this RFC 7638 thumbprint; redeeming it then needs a DPoP proof from that key. */
71
+ /**
72
+ * Binds the link to the key with this RFC 7638 thumbprint; redeeming it then
73
+ * needs a DPoP proof from that key.
74
+ */
66
75
  readonly cnf?: CapabilityConfirmation;
67
76
  };
68
77
  /**
@@ -72,7 +81,10 @@ type CapabilityInput = {
72
81
  type LinkPolicy = {
73
82
  /** Longest a link may live, in seconds from when it was issued. */
74
83
  readonly maxLifetime?: number;
75
- /** Redeemer kinds allowed; `anyone` also covers a capability without `redeemer`. */
84
+ /**
85
+ * Redeemer kinds allowed; `anyone` also covers a capability without
86
+ * `redeemer`.
87
+ */
76
88
  readonly redeemers?: readonly ("anyone" | "signed-in" | "user" | "scope")[];
77
89
  /** Every link must be one-time. */
78
90
  readonly once?: boolean;
@@ -86,32 +98,32 @@ type CapabilityOptions = {
86
98
  readonly linkPolicy?: LinkPolicy | readonly LinkPolicy[];
87
99
  };
88
100
  /**
89
- * The first rule of `policy` the capability breaks, or `undefined`. A
90
- * lifetime rule without a known `issuedAt`, or one that is not a finite
91
- * non-negative number, is broken: the check fails closed.
101
+ * The first rule of `policy` the capability breaks, or `undefined`. A lifetime
102
+ * rule without a known `issuedAt`, or one that is not a finite non-negative
103
+ * number, is broken: the check fails closed.
92
104
  */
93
105
  declare function linkPolicyViolation(capability: Capability, policy: LinkPolicy | readonly LinkPolicy[], issuedAt: number | undefined): LinkPolicyViolation | undefined;
94
106
  /**
95
- * Validates a verified capability (a claim plus `id`, `expiresAt` and
96
- * an optional `cnf`) and returns a frozen copy, or `undefined`.
107
+ * Validates a verified capability (a claim plus `id`, `expiresAt` and an
108
+ * optional `cnf`) and returns a frozen copy, or `undefined`.
97
109
  */
98
110
  declare function parseCapability(input: unknown): Capability | undefined;
99
111
  /**
100
- * The capability verified claims carry: the `capability` claim, `sub` as
101
- * `id`, `exp` as `expiresAt` and the RFC 7800 `cnf`. `undefined` when any
102
- * of them is missing or malformed.
112
+ * The capability verified claims carry: the `capability` claim, `sub` as `id`,
113
+ * `exp` as `expiresAt` and the RFC 7800 `cnf`. `undefined` when any of them is
114
+ * missing or malformed.
103
115
  */
104
116
  declare function capabilityFromClaims(claims: Readonly<Record<string, unknown>>): Capability | undefined;
105
117
  /**
106
- * Validates an untrusted `capability` claim and returns a frozen copy with
107
- * only the v1 fields, or `undefined`. Unknown fields are dropped; a wrong
108
- * type in a known field rejects the whole claim.
118
+ * Validates an untrusted `capability` claim and returns a frozen copy with only
119
+ * the v1 fields, or `undefined`. Unknown fields are dropped; a wrong type in a
120
+ * known field rejects the whole claim.
109
121
  */
110
122
  declare function parseCapabilityClaim(input: unknown): CapabilityClaim | undefined;
111
123
  /**
112
- * Signs a capability as a `vnd.permdock.capability+jwt`: `sub` is the link
113
- * id, `exp` is `expiresAt`, `cnf` binds the redeemer's key, and the signer
114
- * sets `iss`, `aud`, `iat` (`issuedAt`, else now) and a fresh `jti`.
124
+ * Signs a capability as a `vnd.permdock.capability+jwt`: `sub` is the link id,
125
+ * `exp` is `expiresAt`, `cnf` binds the redeemer's key, and the signer sets
126
+ * `iss`, `aud`, `iat` (`issuedAt`, else now) and a fresh `jti`.
115
127
  */
116
128
  declare function signCapability(input: CapabilityInput, signer: TokenSigner, options?: CapabilityOptions): Promise<string>;
117
129
  //#endregion
@@ -1,5 +1,6 @@
1
- import { t as applyFiles } from "./files-acUbNwWt.js";
2
- import { n as isIdentifier, t as emitPolicyModule } from "./policy-module-CTlwMvLI.js";
1
+ import { a as nonEmptyOr } from "./output-tkju6U7R.js";
2
+ import { t as applyFiles } from "./files-B3AA05f1.js";
3
+ import { n as isIdentifier, t as emitPolicyModule } from "./policy-module-xym9fnSq.js";
3
4
  import { existsSync, readFileSync } from "node:fs";
4
5
  import { resolve } from "node:path";
5
6
  //#region src/cli/importers/casbin.ts
@@ -55,7 +56,7 @@ function readCasbinModel(text) {
55
56
  if (policy.slice(0, expected.length).join(",") !== expected.join(",") || policy.length !== expected.length && !withEffect) return { refused: `p = ${policy.join(", ")}: casbin import reads p = ${expected.join(", ")}[, eft]` };
56
57
  const terms = (model.get("matchers")?.get("m") ?? "").replaceAll(/\s+/gu, "").split("&&").filter((term) => term !== "");
57
58
  const unsupported = terms.filter((term) => !MATCHER_TERMS.has(term));
58
- if (terms.length === 0 || unsupported.length > 0) return { refused: `the matcher has terms casbin import cannot read: ${unsupported.join(" && ") || "(empty)"}; it reads g(r.sub, p.sub[, r.dom]), r.dom == p.dom, r.obj == p.obj and r.act == p.act` };
59
+ if (terms.length === 0 || unsupported.length > 0) return { refused: `the matcher has terms casbin import cannot read: ${nonEmptyOr(unsupported.join(" && "), "(empty)")}; it reads g(r.sub, p.sub[, r.dom]), r.dom == p.dom, r.obj == p.obj and r.act == p.act` };
59
60
  const effect = (model.get("policy_effect")?.get("e") ?? "").replaceAll(/\s+/gu, "");
60
61
  const allowOnly = effect === "some(where(p.eft==allow))";
61
62
  const denyOverrides = effect === "some(where(p.eft==allow))&&!some(where(p.eft==deny))";
@@ -78,7 +79,10 @@ function policyLines(text) {
78
79
  }
79
80
  return lines;
80
81
  }
81
- /** Every grant `role` holds through `g` role-to-role lines, its own included; a cycle stops. */
82
+ /**
83
+ * Every grant `role` holds through `g` role-to-role lines, its own included; a
84
+ * cycle stops.
85
+ */
82
86
  function inherited(role, own, parents) {
83
87
  const seen = /* @__PURE__ */ new Set();
84
88
  const grants = [];
@@ -195,17 +199,21 @@ function runCasbinImport(input) {
195
199
  output: "casbin import needs --out <file>"
196
200
  };
197
201
  const modelText = readText(input.cwd, "--model", input.model);
202
+ if (typeof modelText !== "string") return {
203
+ code: 2,
204
+ output: modelText.error
205
+ };
198
206
  const policyText = readText(input.cwd, "--policy", input.policy);
199
- for (const read of [modelText, policyText]) if (typeof read !== "string") return {
207
+ if (typeof policyText !== "string") return {
200
208
  code: 2,
201
- output: read.error
209
+ output: policyText.error
202
210
  };
203
- const model = readCasbinModel(String(modelText));
211
+ const model = readCasbinModel(modelText);
204
212
  if ("refused" in model) return {
205
213
  code: 2,
206
214
  output: `casbin import --model: ${model.refused}`
207
215
  };
208
- const imported = importCasbin(model, String(policyText));
216
+ const imported = importCasbin(model, policyText);
209
217
  applyFiles(input.cwd, [{
210
218
  path: input.out,
211
219
  text: emitPolicyModule({
@@ -1,5 +1,5 @@
1
1
  import { t as defineLeaf } from "./command-L8EstFNm.js";
2
- import { c as given, l as outFlag, o as fileOut } from "./flags-aaeRAdiD.js";
2
+ import { c as given, l as outFlag, o as fileOut } from "./flags-DXjoTVbS.js";
3
3
  //#region src/cli/commands/casbin.ts
4
4
  const casbinImport = defineLeaf({
5
5
  flags: {
@@ -16,7 +16,7 @@ const casbinImport = defineLeaf({
16
16
  ...outFlag
17
17
  },
18
18
  async run(ctx, { flags }) {
19
- const { runCasbinImport } = await import("./casbin-BW9pS47J.js");
19
+ const { runCasbinImport } = await import("./casbin-H0rKxBx2.js");
20
20
  return runCasbinImport({
21
21
  cwd: ctx.cwd,
22
22
  model: given(flags.model),
@@ -1,5 +1,5 @@
1
1
  import { t as defineLeaf } from "./command-L8EstFNm.js";
2
- import { c as given, l as outFlag, o as fileOut } from "./flags-aaeRAdiD.js";
2
+ import { c as given, l as outFlag, o as fileOut } from "./flags-DXjoTVbS.js";
3
3
  //#region src/cli/commands/casl.ts
4
4
  const caslImport = defineLeaf({
5
5
  flags: {
@@ -11,7 +11,7 @@ const caslImport = defineLeaf({
11
11
  ...outFlag
12
12
  },
13
13
  async run(ctx, { flags }) {
14
- const { runCaslImport } = await import("./casl-UbI8v-Wq.js");
14
+ const { runCaslImport } = await import("./casl-CHHoCldP.js");
15
15
  return runCaslImport({
16
16
  cwd: ctx.cwd,
17
17
  rules: given(flags.rules),
@@ -1,6 +1,6 @@
1
1
  import { r as isRecord } from "./compact-CAf557ZB.js";
2
- import { t as applyFiles } from "./files-acUbNwWt.js";
3
- import { n as isIdentifier, t as emitPolicyModule } from "./policy-module-CTlwMvLI.js";
2
+ import { t as applyFiles } from "./files-B3AA05f1.js";
3
+ import { n as isIdentifier, t as emitPolicyModule } from "./policy-module-xym9fnSq.js";
4
4
  import { existsSync, readFileSync } from "node:fs";
5
5
  import { resolve } from "node:path";
6
6
  //#region src/cli/importers/casl.ts
@@ -32,7 +32,10 @@ function isStrings(value) {
32
32
  function split(item) {
33
33
  return typeof item === "string" && item.includes(",") ? item.split(",") : item;
34
34
  }
35
- /** A rule in either shape: the object form, or `packRules`' `[action, subject, conditions, inverted, fields]`. */
35
+ /**
36
+ * A rule in either shape: the object form, or `packRules`' `[action, subject,
37
+ * conditions, inverted, fields]`.
38
+ */
36
39
  function readRule(value) {
37
40
  if (Array.isArray(value)) {
38
41
  const [action, subject, conditions, inverted, fields] = value;
@@ -79,7 +82,10 @@ function readValue(value) {
79
82
  }
80
83
  return { unsupported: "a nested object value" };
81
84
  }
82
- /** The Mongo-query subset CASL conditions use, as a `where`; anything else is reported by name. */
85
+ /**
86
+ * The Mongo-query subset CASL conditions use, as a `where`; anything else is
87
+ * reported by name.
88
+ */
83
89
  function readConditions(conditions) {
84
90
  const parts = [];
85
91
  for (const [key, value] of Object.entries(conditions)) {
@@ -143,11 +149,11 @@ function collectActions(rule, subjects, actionsBySubject) {
143
149
  }
144
150
  }
145
151
  /**
146
- * CASL rules per role, as PermDock roles: `inverted` rules are denies,
147
- * `manage` and `all` expand to every action and subject the rules name, and
148
- * conditions in the portable Mongo-query subset become `where`. A deny whose
149
- * condition does not import keeps its effect without the condition, so the
150
- * import can only deny more, never less.
152
+ * CASL rules per role, as PermDock roles: `inverted` rules are denies, `manage`
153
+ * and `all` expand to every action and subject the rules name, and conditions
154
+ * in the portable Mongo-query subset become `where`. A deny whose condition
155
+ * does not import keeps its effect without the condition, so the import can
156
+ * only deny more, never less.
151
157
  */
152
158
  function importCasl(rulesByRole) {
153
159
  const parsed = [];
@@ -249,7 +255,10 @@ function importCasl(rulesByRole) {
249
255
  skipped
250
256
  };
251
257
  }
252
- /** `permdock casl import`: CASL rules per role into a `permissions` and `policy` module. */
258
+ /**
259
+ * `permdock casl import`: CASL rules per role into a `permissions` and `policy`
260
+ * module.
261
+ */
253
262
  function runCaslImport(input) {
254
263
  if (input.rules === void 0 || input.out === void 0) return {
255
264
  code: 2,