permdock 0.6.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 (507) hide show
  1. package/README.md +2 -3
  2. package/dist/{2020-C9VN-x8c.js → 2020-CJbO8Bvz.js} +1 -3
  3. package/dist/a2a/index.d.ts +7 -7
  4. package/dist/a2a/index.js +9 -9
  5. package/dist/action-result-CL-QCITA.d.ts +19 -0
  6. package/dist/{adapter-context-CRhqyzCk.js → adapter-context-CIQpQxbE.js} +8 -2
  7. package/dist/{adoption-scan-DCYe60Pi.js → adoption-scan-BLs67P1l.js} +5 -5
  8. package/dist/agent/index.d.ts +3 -3
  9. package/dist/agent/index.js +1 -1
  10. package/dist/ai-sdk/index.d.ts +31 -10
  11. package/dist/ai-sdk/index.js +22 -12
  12. package/dist/{app-data-MuyzVqX8.js → app-data-UNNm07jV.js} +10 -7
  13. package/dist/{approval-header-CJACtHkv.js → approval-header-8QV6MU4H.js} +6 -3
  14. package/dist/{approval-prompt-Dg5LeAcT.js → approval-prompt-B8hQY69x.js} +5 -6
  15. package/dist/{approval-prompt-DvSSPQJX.d.ts → approval-prompt-PYagyQUj.d.ts} +13 -11
  16. package/dist/approvals/index.d.ts +5 -5
  17. package/dist/approvals/index.js +7 -7
  18. package/dist/{approvals-p1PGoVjb.js → approvals-DnIBTuXE.js} +128 -78
  19. package/dist/{approvers-CqPOLD-o.js → approvers-B4r0N_Uz.js} +8 -2
  20. package/dist/{arazzo-41WuzHou.js → arazzo-3RhGfkAK.js} +2 -2
  21. package/dist/{arazzo-CaUVBn7D.js → arazzo-B5-ulWif.js} +6 -6
  22. package/dist/{args-IIolxxKA.js → args-0FrVs5EH.js} +125 -8
  23. package/dist/astro/index.d.ts +30 -12
  24. package/dist/astro/index.js +2 -2
  25. package/dist/{audience-DabClFLQ.js → audience-BAkBDMqn.js} +8 -8
  26. package/dist/{auth-DRLEizbL.js → auth--yPyZNgr.js} +21 -10
  27. package/dist/authzen/index.d.ts +171 -25
  28. package/dist/authzen/index.js +321 -149
  29. package/dist/{automation-BNM3TtDo.d.ts → automation-DqEoWHBc.d.ts} +42 -32
  30. package/dist/{automation-DVjOckjV.js → automation-x3KEUusw.js} +22 -21
  31. package/dist/base-url-BQbddZO5.js +9 -0
  32. package/dist/better-auth/index.d.ts +2 -2
  33. package/dist/better-auth/index.js +13 -7
  34. package/dist/better-supabase/index.d.ts +392 -220
  35. package/dist/better-supabase/index.js +293 -152
  36. package/dist/{bind-DOyrv6zi.d.ts → bind-Cp2hBHzP.d.ts} +27 -12
  37. package/dist/{bind-CAvgUuKs.js → bind-D_sZSVA3.js} +22 -10
  38. package/dist/{body-CH5of8Ne.js → body-CJQwYVa8.js} +3 -3
  39. package/dist/{body-text-QcXok_SI.js → body-text-DQhcmqdY.js} +8 -4
  40. package/dist/{boundary-BM8a_P6E.js → boundary-BV3O1eud.js} +8 -2
  41. package/dist/{boundary-BmHxVH1J.d.ts → boundary-C9ck-3uK.d.ts} +13 -4
  42. package/dist/{budget-NbEtbJC_.js → budget-BELja5A9.js} +6 -3
  43. package/dist/{budget-JqcRqyhK.d.ts → budget-hYsPz_yE.d.ts} +6 -3
  44. package/dist/{build-instance-Bu_eDqYw.js → build-instance-CNWaYJyr.js} +3 -3
  45. package/dist/{canonical-json-BC8_nMTw.js → canonical-json-DwilZ1iB.js} +6 -3
  46. package/dist/{capability-N1K9IpqS.js → capability-BqX94r07.js} +31 -25
  47. package/dist/{capability-Drg-1YhL.d.ts → capability-ChuiONQU.d.ts} +41 -29
  48. package/dist/{casbin-Dyu2gnUD.js → casbin-H0rKxBx2.js} +16 -8
  49. package/dist/{casbin-Cr7RLtA3.js → casbin-cbSbhT_k.js} +2 -2
  50. package/dist/{casl-64gpT-8x.js → casl-C4OINZHI.js} +2 -2
  51. package/dist/{casl-DjEDhTCP.js → casl-CHHoCldP.js} +19 -10
  52. package/dist/catalog/index.d.ts +104 -23
  53. package/dist/catalog/index.js +117 -8
  54. package/dist/{catalog-HD2gf5mY.js → catalog-BFpz2EmT.js} +57 -26
  55. package/dist/{catalog-DZVbrF-z.js → catalog-DCspHDc8.js} +3 -3
  56. package/dist/{catalog-doc-Cdn7-0pQ.js → catalog-doc-DjMKzJp9.js} +53 -16
  57. package/dist/{catalog-fingerprint-CCP0-yQS.js → catalog-fingerprint-e6aCWosn.js} +19 -15
  58. package/dist/catalog-mRQQQhNK.js +1 -0
  59. package/dist/catalog-operations-Dadrl7Z-.js +60 -0
  60. package/dist/{create-CQWIpUG-.js → challenge-DImNcR7B.js} +157 -39
  61. package/dist/chat/index.d.ts +1 -1
  62. package/dist/chat/index.js +13 -10
  63. package/dist/chat-sdk/index.d.ts +44 -26
  64. package/dist/chat-sdk/index.js +17 -17
  65. package/dist/checks-CGkP3Z7A.js +40 -0
  66. package/dist/{claims-map-7oQ3ue4X.js → claims-map-CKkoAAYF.js} +5 -2
  67. package/dist/{claims-map-Ca-QX8C6.d.ts → claims-map-D1Pb5oRq.d.ts} +8 -5
  68. package/dist/claude-agent/index.d.ts +6 -6
  69. package/dist/claude-agent/index.js +6 -3
  70. package/dist/clerk/index.d.ts +11 -7
  71. package/dist/clerk/index.js +6 -6
  72. package/dist/cli/bin.js +4 -4
  73. package/dist/cli/index.d.ts +82 -7
  74. package/dist/cli/index.js +6 -6
  75. package/dist/{clients-C7zLFuWT.d.ts → clients-C_NOET3z.d.ts} +5 -5
  76. package/dist/{clients-DjU5ABMy.js → clients-DYr3U86j.js} +3 -3
  77. package/dist/cloud/index.d.ts +186 -38
  78. package/dist/cloud/index.js +293 -31
  79. package/dist/{cloud-ytQ3uviA.js → cloud-BFlGMaak.js} +5 -6
  80. package/dist/{codemod-5mpSpnUY.js → codemod-DLQ9Zpo4.js} +3 -4
  81. package/dist/{codemod-ua2hHy7w.js → codemod-DWSN2erG.js} +523 -201
  82. package/dist/collect-B5BL3klN.js +1 -0
  83. package/dist/{collect-mLTY4nwb.js → collect-B7ZFAJU3.js} +36 -64
  84. package/dist/{collect-Ci6akVwH.js → collect-Bzv3le0A.js} +6 -6
  85. package/dist/{compare-pfyVnBjE.js → compare-DTfyUunF.js} +2 -2
  86. package/dist/compile/index.d.ts +2 -2
  87. package/dist/compile/index.js +1 -1
  88. package/dist/{compile-1bsAezL0.d.ts → compile-BFzysW3o.d.ts} +36 -12
  89. package/dist/{compile-CMqMx_IN.js → compile-EzEMB-7v.js} +77 -33
  90. package/dist/{completion-BTFrHZhX.js → completion-saoYiRFO.js} +17 -8
  91. package/dist/config-BwPBfN0t.js +108 -0
  92. package/dist/{config-Bj2Ixq3d.js → config-DBeXXmBF.js} +2 -2
  93. package/dist/{config-report-DSpsLpCE.js → config-report-BipSWA6V.js} +9 -6
  94. package/dist/config-shape-ykV0Vm2n.js +134 -0
  95. package/dist/{connection-DjhIJSs2.js → connection-B72dg5Q2.js} +23 -22
  96. package/dist/connector-schema-CYLQNMYq.js +434 -0
  97. package/dist/{context-B_u3_bDJ.js → context-BnIzxTNE.js} +4 -3
  98. package/dist/convex/index.d.ts +13 -7
  99. package/dist/convex/index.js +9 -6
  100. package/dist/core-H-mbhpZc.js +341 -0
  101. package/dist/core-hWIARPDz.d.ts +206 -0
  102. package/dist/{create-CBMmFie-.d.ts → create-BSNrVuxh.d.ts} +87 -34
  103. package/dist/{create-B30OMUOJ.d.ts → create-BVq1lNQE.d.ts} +49 -28
  104. package/dist/{create-D_NmPOdH.d.ts → create-CM1FciYG.d.ts} +37 -29
  105. package/dist/{create-CGm28gyI.js → create-Cq4Uox0f.js} +13 -9
  106. package/dist/{create-DCF2SvoT.js → create-_noSrY1T.js} +15 -21
  107. package/dist/{credential-BcoiejpY.js → credential-CyyyvCsL.js} +42 -39
  108. package/dist/{credentials-DPyHmYz5.js → credentials-CdDxp7jN.js} +6 -6
  109. package/dist/{deciding-columns-Sq12mEA6.js → deciding-columns-NB4wcyBf.js} +13 -2
  110. package/dist/{delegation-j6-rc37o.js → delegation-CDB6_keF.js} +31 -22
  111. package/dist/delivery/index.d.ts +5 -5
  112. package/dist/delivery/index.js +6 -5
  113. package/dist/{delivery-DCAgNyCn.js → delivery-BupfvJIV.js} +81 -20
  114. package/dist/{delivery-event-xX4obB8F.js → delivery-event-JioK5YbS.js} +6 -6
  115. package/dist/denied-text-CHNlVInN.d.ts +22 -0
  116. package/dist/{describe-BybMRY7A.js → describe-Bb4hGK5d.js} +6 -5
  117. package/dist/{describe-B5qgDvEW.d.ts → describe-ByS9LgHK.d.ts} +5 -5
  118. package/dist/{device-BARQ8eYG.js → device-BwbJNmb2.js} +11 -8
  119. package/dist/{diff-CmuSD3vc.js → diff-CN8IYhC_.js} +2 -2
  120. package/dist/{diff-3jbx6Rm4.js → diff-iZWV65nC.js} +23 -14
  121. package/dist/{digest-B3kc_PgQ.d.ts → digest-8Yx2CchM.d.ts} +3 -3
  122. package/dist/{doctor-BdZw53-k.js → doctor-CHD1M9R5.js} +485 -141
  123. package/dist/{doctor-3ZqNHX_G.js → doctor-D3wo-yuz.js} +4 -4
  124. package/dist/drizzle/index.d.ts +33 -19
  125. package/dist/drizzle/index.js +17 -9
  126. package/dist/elysia/index.d.ts +17 -11
  127. package/dist/elysia/index.js +5 -5
  128. package/dist/{errors-BKy0EfhN.js → errors-B6R_lg2a.js} +13 -4
  129. package/dist/{errors-BWXBMaKK.d.ts → errors-CHwoRRpB.d.ts} +4 -1
  130. package/dist/{errors-CWTY6uih.js → errors-Vpu6rKHl.js} +14 -10
  131. package/dist/{errors-DH5QEGXh.d.ts → errors-zi_4T-rx.d.ts} +22 -6
  132. package/dist/{evaluate-CNClBvcj.js → evaluate-Dd8Ta0Ie.js} +185 -80
  133. package/dist/{evaluations-beAooV0n.js → evaluations-IBceAeKT.js} +41 -20
  134. package/dist/{evaluations-C_1vdSZc.d.ts → evaluations-z8dQFDaN.d.ts} +12 -6
  135. package/dist/eve/index.d.ts +9 -6
  136. package/dist/eve/index.js +4 -4
  137. package/dist/{event-time-CsegxXxB.js → event-time-BGy48400.js} +8 -4
  138. package/dist/{expiry-D4_YKRKD.js → expiry-6XByK0dm.js} +8 -5
  139. package/dist/express/index.d.ts +9 -6
  140. package/dist/express/index.js +9 -6
  141. package/dist/fastify/index.d.ts +16 -10
  142. package/dist/fastify/index.js +8 -5
  143. package/dist/{fetch-adapter-Dw0MTS3D.d.ts → fetch-adapter-C1DCvpqV.d.ts} +9 -6
  144. package/dist/{fetch-adapter-DD_gfmrC.js → fetch-adapter-JL43jD3E.js} +14 -11
  145. package/dist/fields-D0vUI6dq.js +498 -0
  146. package/dist/{files-C5ZI27eV.js → files-B3AA05f1.js} +21 -5
  147. package/dist/{files-D_JIzUrP.js → files-BSjrtIHw.js} +11 -4
  148. package/dist/{fixtures-B7XrLeY7.js → fixtures-A1_sp_tR.js} +15 -6
  149. package/dist/{flags-C3DktBDY.js → flags-DXjoTVbS.js} +2 -2
  150. package/dist/{freeze-CrU8nQeX.js → freeze-jjan0lCv.js} +4 -1
  151. package/dist/{from-snapshot-CTCMsFZk.js → from-snapshot-DCakWRsr.js} +26 -16
  152. package/dist/gen-B5kvbAoZ.js +58 -0
  153. package/dist/gen-DWCYcMQM.js +827 -0
  154. package/dist/generate-CRVV5V7l.js +165 -0
  155. package/dist/generate-CezbCaTI.js +275 -0
  156. package/dist/{grantee-hxrUsbpM.js → grantee-Dke-9rd1.js} +4 -4
  157. package/dist/{grantee-conditions-CcXf8hMM.js → grantee-conditions-BrYPe-w0.js} +12 -12
  158. package/dist/{grantee-match-DbENBHLB.js → grantee-match-7RZZvoT_.js} +12 -6
  159. package/dist/{graph-sql-B-dsAT6j.d.ts → graph-sql-BwFC4Qjs.d.ts} +3 -3
  160. package/dist/h3/index.d.ts +10 -7
  161. package/dist/h3/index.js +3 -3
  162. package/dist/headers-B9jQxjtW.d.ts +10 -0
  163. package/dist/{helpers-CBYVMjwh.js → helpers-DJicaG6f.js} +40 -28
  164. package/dist/hono/index.d.ts +16 -10
  165. package/dist/hono/index.js +5 -5
  166. package/dist/{hosted-BPk51-kX.d.ts → hosted-Cmtxogd0.d.ts} +44 -20
  167. package/dist/{hosted-B46-5LYE.js → hosted-D0IzESu_.js} +68 -25
  168. package/dist/{http-ujKm0JXE.js → http-DH94eh6f.js} +4 -4
  169. package/dist/{http-BBoKefeS.js → http-DKLXrFGk.js} +13 -7
  170. package/dist/{http-DXJ37RDA.js → http-DOL33cO0.js} +11 -8
  171. package/dist/{import-wyqXUyjm.js → import-CST57XLp.js} +64 -51
  172. package/dist/{import-CNV7I2Dw.js → import-_YqhhwvX.js} +6 -6
  173. package/dist/{index-B8YjkEZ4.d.ts → index-B8s204GL.d.ts} +64 -52
  174. package/dist/{index-Ch8LpNDp.d.ts → index-BT5-1VsX.d.ts} +64 -25
  175. package/dist/{index-DuWxc5dt.d.ts → index-BW_0MZOS.d.ts} +388 -149
  176. package/dist/index-BhxEUY9J.d.ts +233 -0
  177. package/dist/index-Bv5iXPqU.d.ts +210 -0
  178. package/dist/{index-C-6Letxg.d.ts → index-_9UiQIkt.d.ts} +164 -77
  179. package/dist/index.d.ts +22 -21
  180. package/dist/index.js +35 -33
  181. package/dist/{init-GG6Jh8HD.js → init-Dz_PsHdv.js} +5 -5
  182. package/dist/{init-DeMYsnYJ.js → init-cE3A8aXq.js} +10 -10
  183. package/dist/{instance-options-BsVpyGIk.d.ts → instance-options-B0KXqTrJ.d.ts} +4 -4
  184. package/dist/{instance-snapshot-BOEhcqIF.js → instance-snapshot--JWiTrvO.js} +81 -56
  185. package/dist/{instant-BluqDvyS.js → instant-DK3Iz83e.js} +2 -2
  186. package/dist/{internals-Dk8A8fX3.js → internals-B3IgHrvo.js} +6 -3
  187. package/dist/{json-schema-B-vAwlde.js → json-schema-BPGa-RjQ.js} +9 -3
  188. package/dist/{json-schema-CN_iLFH2.d.ts → json-schema-BfXgnRNT.d.ts} +4 -4
  189. package/dist/jwt/index.d.ts +125 -17
  190. package/dist/jwt/index.js +157 -16
  191. package/dist/{kernel-D0NVb1cK.js → kernel-C-fYydV2.js} +151 -16
  192. package/dist/kysely/index.d.ts +49 -33
  193. package/dist/kysely/index.js +9 -7
  194. package/dist/{live-options-BaAFCIiu.js → live-options-BBIT68le.js} +2 -2
  195. package/dist/{load-DFS_ry0W.js → load-DjSU5KXO.js} +6 -6
  196. package/dist/load-Dm0pSYH3.js +1 -0
  197. package/dist/{login-Dfe5RlYk.js → login-D-8tMqzo.js} +4 -4
  198. package/dist/{login-imhuwvn3.js → login-DplQ0s84.js} +18 -15
  199. package/dist/{manifest-dvL2XEe1.js → manifest-Cgiq5oqc.js} +67 -37
  200. package/dist/{manifest-mx5ghSFM.d.ts → manifest-CzzWtnAb.d.ts} +144 -28
  201. package/dist/{manifest-schema-C0kK_8V0.js → manifest-schema-2r37XRhD.js} +80 -9
  202. package/dist/{manifest-C8IzW3Do.js → manifest-wg8WkkpD.js} +11 -7
  203. package/dist/{map-claims-D3oRmTk0.js → map-claims-BNWCJtmP.js} +27 -18
  204. package/dist/{map-error-Dr70oA_3.js → map-error-pasIGqMT.js} +7 -7
  205. package/dist/{markers-C6joDI3o.js → markers-BeHZ4x9Q.js} +20 -5
  206. package/dist/mcp/index.d.ts +154 -47
  207. package/dist/mcp/index.js +200 -41
  208. package/dist/{migrate-CIq4-E9F.js → migrate-B7oP_sQU.js} +102 -31
  209. package/dist/module-values-BJTBdo6y.js +107 -0
  210. package/dist/nest/index.d.ts +23 -13
  211. package/dist/nest/index.js +18 -11
  212. package/dist/next/client.d.ts +5 -2
  213. package/dist/next/client.js +1 -1
  214. package/dist/next/index.d.ts +72 -26
  215. package/dist/next/index.js +110 -6
  216. package/dist/next/plugin.d.ts +1 -1
  217. package/dist/next/plugin.js +4 -3
  218. package/dist/node/index.d.ts +5 -5
  219. package/dist/node/index.js +3 -3
  220. package/dist/{ocsf-BFp-PZZA.js → ocsf-TcjRBgIs.js} +15 -5
  221. package/dist/openai/index.d.ts +13 -7
  222. package/dist/openai/index.js +3 -3
  223. package/dist/openapi/index.d.ts +61 -30
  224. package/dist/openapi/index.js +2 -2
  225. package/dist/{openapi-B7HZ0f-r.js → openapi-BOsx0xn9.js} +34 -24
  226. package/dist/{openapi-C4dDTVEd.js → openapi-CBZUhA3l.js} +4 -5
  227. package/dist/{openapi-DD1SV-5-.js → openapi-VeHHU2l9.js} +23 -14
  228. package/dist/{operation-findings-DgATDpvh.js → operation-findings-CXtFzlKJ.js} +3 -3
  229. package/dist/{operations-X0VM7F3m.d.ts → operations-Ci_rT6Uo.d.ts} +10 -7
  230. package/dist/orpc/index.d.ts +68 -14
  231. package/dist/orpc/index.js +62 -13
  232. package/dist/otel/index.d.ts +7 -4
  233. package/dist/otel/index.js +8 -5
  234. package/dist/output-files-BHOIlrfD.js +1 -0
  235. package/dist/{output-files-DhRBBE4n.js → output-files-BIQ_9pIs.js} +29 -17
  236. package/dist/{output-1im__-08.js → output-tkju6U7R.js} +15 -7
  237. package/dist/ownership-B4L59T9u.js +1054 -0
  238. package/dist/parse-1_ZheTW5.js +151 -0
  239. package/dist/parse-local-manifest-BQhTlLQS.d.ts +10 -0
  240. package/dist/parse-local-manifest-DEiCF4ah.js +69 -0
  241. package/dist/{parse-request-D_tUXG6M.js → parse-request-CwCZpyjV.js} +7 -8
  242. package/dist/{paths-DXSHAMIa.js → paths-CUvURzHp.js} +4 -1
  243. package/dist/pdp/index.d.ts +9 -6
  244. package/dist/pdp/index.js +23 -12
  245. package/dist/{peer-CRvC7Hg1.js → peer-C9LvBCcb.js} +1 -1
  246. package/dist/peer-Q0fuZ6hx.js +982 -0
  247. package/dist/{permdock-SV8ZINYT.d.ts → permdock-B6Sf4T_S.d.ts} +270 -117
  248. package/dist/{permdock-BrAscV28.js → permdock-L-_I_3zP.js} +226 -74
  249. package/dist/{permission-registry-Br4jSNVi.js → permission-registry-B8tYxPIt.js} +24 -11
  250. package/dist/{vocabulary-CN8H_9UF.d.ts → permission-types-CAY-GU7e.d.ts} +130 -104
  251. package/dist/{permissions-u_KHg-sN.d.ts → permissions-Bx6UI8n1.d.ts} +6 -2
  252. package/dist/{permissions-B-wCP5ZC.js → permissions-CVXmRILq.js} +3 -3
  253. package/dist/{permissions-BPxlwVhN.js → permissions-mDcTWoBs.js} +8 -5
  254. package/dist/pg-DQTqRrou.js +60 -0
  255. package/dist/{pins-8ILTftC9.js → pins-nqarl3oE.js} +4 -1
  256. package/dist/pkce-CnmmYqUZ.js +21 -0
  257. package/dist/{policy-77FSAq_V.d.ts → policy-Ba4bDhaj.d.ts} +5 -5
  258. package/dist/{policy-DbM5YYtV.js → policy-CLQ8__GF.js} +49 -20
  259. package/dist/{policy-from-catalog-C2gMa2Dj.js → policy-from-catalog-CJgOm6aq.js} +28 -25
  260. package/dist/{policy-module-CTlwMvLI.js → policy-module-xym9fnSq.js} +12 -6
  261. package/dist/{policy-types-n0uRTsW8.d.ts → policy-types-CCiDRZBH.d.ts} +802 -334
  262. package/dist/postgres-store-DcyrPS-r.js +1028 -0
  263. package/dist/{postgrest-DAjUkF9w.js → postgrest-D4nuPXIQ.js} +88 -36
  264. package/dist/{postgrest-CEgRbefE.d.ts → postgrest-DicQyqm-.d.ts} +60 -30
  265. package/dist/powersync-DHNQX06W.js +1117 -0
  266. package/dist/{powersync-DISt6SUe.js → powersync-DXqGuq9A.js} +3 -3
  267. package/dist/powersync-Djf-zCpB.js +1 -0
  268. package/dist/preset/index.d.ts +38 -28
  269. package/dist/preset/index.js +1 -1
  270. package/dist/{preset-DZdU0tne.js → preset-BjLzeFpp.js} +58 -34
  271. package/dist/{principal-source-pHneukrx.js → principal-source-C6N60GtM.js} +10 -10
  272. package/dist/prisma/index.d.ts +69 -41
  273. package/dist/prisma/index.js +21 -17
  274. package/dist/{problem-CTviyH5L.js → problem-BVLHFK33.js} +41 -21
  275. package/dist/{problem-details-cn5X30gZ.js → problem-details-CLDgX1KV.js} +13 -4
  276. package/dist/{problem-types-CJ2325SZ.js → problem-types-DSsRfONQ.js} +4 -1
  277. package/dist/prompt-BYc6drYW.js +938 -0
  278. package/dist/protected-action-BE7N_Luo.d.ts +58 -0
  279. package/dist/protected-action-DUYqb-Ma.js +80 -0
  280. package/dist/{protected-BlF0F6wL.js → protected-action-QEA8arRB.js} +48 -14
  281. package/dist/{provider-B1al-AZz.js → provider-C55OGXJ7.js} +5 -4
  282. package/dist/{provider-DILL9oPK.d.ts → provider-DXfq5c2d.d.ts} +1 -1
  283. package/dist/{provider-store-DM6DNcta.js → provider-store-CaTv00tr.js} +13 -9
  284. package/dist/pull-B65ndFNZ.js +1 -0
  285. package/dist/{pull-jEwbf80J.js → pull-CwpGaQSi.js} +12 -11
  286. package/dist/{push-BD4f15co.js → push-DgssgzkK.js} +62 -16
  287. package/dist/{pushed-policy-DCW91KQU.d.ts → pushed-policy-D1Eoi6NM.d.ts} +12 -6
  288. package/dist/{pushed-policy-CqtxkV4G.js → pushed-policy-ITwYKvvH.js} +10 -7
  289. package/dist/react/index.d.ts +9 -8
  290. package/dist/react/index.js +7 -6
  291. package/dist/react/provider-client.d.ts +1 -1
  292. package/dist/react/provider-client.js +1 -1
  293. package/dist/react-native/index.d.ts +104 -51
  294. package/dist/react-native/index.js +394 -67
  295. package/dist/{refs-K6eWUJ0H.js → refs-C8BKxc_e.js} +17 -3
  296. package/dist/{relation-walk-3OyDBF0S.js → relation-walk-DK_gkgL7.js} +12 -9
  297. package/dist/{relations-BnCWnJGI.js → relations-BxvRvDHK.js} +3 -3
  298. package/dist/{replay-Du1tJjG7.js → replay-BU09ad4L.js} +1 -1
  299. package/dist/{replay-Bkm-Ne4l.d.ts → replay-DNftIb_R.d.ts} +1 -1
  300. package/dist/{request-context-C81Pip9n.js → request-context-C25ilqiJ.js} +8 -8
  301. package/dist/{request-schema-CMreVuFM.js → request-schema-DhX7UbfQ.js} +4 -1
  302. package/dist/resend/index.d.ts +34 -28
  303. package/dist/resend/index.js +29 -29
  304. package/dist/resolve-names-CF7xXLSG.js +201 -0
  305. package/dist/{resource-relations-D_jw0BFx.js → resource-relations-8-pCScBO.js} +18 -9
  306. package/dist/{retire-CALjIQ7e.js → retire-B2xffQgY.js} +15 -6
  307. package/dist/{revocations-R07lFBnX.d.ts → revocations-BaUXHM1N.d.ts} +6 -3
  308. package/dist/{rls-DTvYd-lI.js → rls-CNEH2_BG.js} +743 -624
  309. package/dist/{rls-BAqP4q66.js → rls-Ca8Jz9b5.js} +41 -10
  310. package/dist/{role-builder-uWQZ4v84.js → role-builder-BK2-T6oD.js} +41 -20
  311. package/dist/rolldown-runtime-C3I60J0A.js +4 -0
  312. package/dist/{row-conditions-h2HythXQ.js → row-conditions-BAGHOmVq.js} +4 -3
  313. package/dist/{rpc-VSl5ylaQ.js → rpc-fNqAIqQk.js} +8 -5
  314. package/dist/{run-CUKuz0A8.js → run-Bz26OTfO.js} +26 -23
  315. package/dist/run-D-JE8QWb.js +1 -0
  316. package/dist/{run-ticket-DocwaTKn.d.ts → run-ticket-DbWI9f99.d.ts} +33 -13
  317. package/dist/{run-ticket-sxFI6LAk.js → run-ticket-Dv7aF7Dk.js} +29 -8
  318. package/dist/{runtime-D3VTAiCA.js → runtime-BGnrOkVH.js} +5 -2
  319. package/dist/{saas-BCXRuXca.js → saas-iWnUdwCt.js} +42 -29
  320. package/dist/{scan-qvOe0hS3.js → scan-DCj1KQfn.js} +1 -1
  321. package/dist/{schema-B4v0Qrac.js → schema-BOJjqlWL.js} +3 -2
  322. package/dist/{schema-yLuBWWsh.js → schema-Dst9I9Gs.js} +9 -5
  323. package/dist/scim/index.d.ts +3 -2
  324. package/dist/scim/index.js +3 -1
  325. package/dist/scim-D8YupzX1.js +44 -0
  326. package/dist/{scim-ClHtpyV3.js → scim-jJBJ7g1Z.js} +35 -551
  327. package/dist/{scopes-CUPSjo9q.js → scopes-0Up_UA2t.js} +42 -24
  328. package/dist/server/index.d.ts +12 -12
  329. package/dist/server/index.js +13 -13
  330. package/dist/{server-C3WXAHZj.js → server-3cVlTLde.js} +31 -31
  331. package/dist/{server-types-CKQiCnON.d.ts → server-types-CIlpSA2G.d.ts} +81 -46
  332. package/dist/{sha256-D9ihqmvd.js → sha256-C-4WXKIu.js} +4 -3
  333. package/dist/{shared-BAK8t4Uo.js → shared-Afctg7B0.js} +100 -61
  334. package/dist/{shared-DvvFzYXe.js → shared-l0oGGetg.js} +9 -6
  335. package/dist/{signals-D3NcTKUS.js → signals-B1vHR3fN.js} +2 -2
  336. package/dist/{sink-BEZSlMS_.js → sink-D9_vh372.js} +32 -21
  337. package/dist/{sink-4-eQIRWf.d.ts → sink-Dvi7YZG_.d.ts} +44 -20
  338. package/dist/{skills-B6lVdD_W.js → skills-Bjj7BNEQ.js} +16 -12
  339. package/dist/{skills-CTYwkl44.js → skills-OuoMR49L.js} +3 -3
  340. package/dist/{snapshot-B7DkYg6g.js → snapshot-CXlzi69u.js} +21 -18
  341. package/dist/{snapshot-cache-PXI-vGpY.d.ts → snapshot-cache-BAXZ0KOp.d.ts} +21 -12
  342. package/dist/{snapshot-cache-DZHQ0KF6.js → snapshot-cache-Bx_4xC_6.js} +14 -11
  343. package/dist/solid/index.d.ts +55 -15
  344. package/dist/solid/index.js +46 -12
  345. package/dist/solid-start/index.d.ts +30 -12
  346. package/dist/solid-start/index.js +3 -3
  347. package/dist/sources-B1Os_YUu.d.ts +312 -0
  348. package/dist/{sources-vs5dGOsS.js → sources-CMAM-2A3.js} +156 -51
  349. package/dist/sources-qoIJQrJv.js +11 -0
  350. package/dist/{sql-B5T1IL83.js → sql-0WjxIp9g.js} +32 -7
  351. package/dist/sql-B80DFdpG.d.ts +10 -0
  352. package/dist/{src-Cu2m75uo.js → src-DZ0l9UAg.js} +305 -123
  353. package/dist/ssf/index.d.ts +4 -4
  354. package/dist/ssf/index.js +665 -224
  355. package/dist/{standard-webhooks-rbD7LS6h.d.ts → standard-webhooks-C-qX4mJW.d.ts} +7 -7
  356. package/dist/{standard-webhooks-DgFFD-Ga.js → standard-webhooks-D67a3nzk.js} +5 -5
  357. package/dist/{store-BDutJkDL.js → store-RNFvaJJv.js} +43 -29
  358. package/dist/{store-options-u0ycEe8s.js → store-options-Dil3lraY.js} +105 -15
  359. package/dist/stores-C0Kta5Ft.d.ts +59 -0
  360. package/dist/{stores-CGhM8BN_.js → stores-DxZWDXCs.js} +42 -5
  361. package/dist/{stream-CvdUS9V1.js → stream-CDvF0sJm.js} +5 -5
  362. package/dist/{stream-CeCMJmBB.d.ts → stream-ltuLdtTG.d.ts} +4 -3
  363. package/dist/{style-DiKWnAvn.js → style-DblOtSga.js} +1 -1
  364. package/dist/{style-Uao76wO7.js → style-Ds11Hmk4.js} +3 -1
  365. package/dist/{subject-settings-CkEwrw3W.js → subject-settings-8sH5HlII.js} +8 -4
  366. package/dist/{row-check-Dt35czLy.d.ts → subject-settings-vNW8qmUH.d.ts} +30 -18
  367. package/dist/supabase/index.d.ts +48 -37
  368. package/dist/supabase/index.js +6 -6
  369. package/dist/supabase/middleware.d.ts +19 -13
  370. package/dist/supabase/middleware.js +7 -7
  371. package/dist/{supabase-x5JtR2tc.js → supabase-BL1qJzzY.js} +82 -36
  372. package/dist/{supabase-By_frk3U.js → supabase-D39cuGPt.js} +3 -3
  373. package/dist/{supabase-hook-BMoEhZir.js → supabase-hook-B-yXnzUl.js} +1206 -286
  374. package/dist/supabase-hook-H-MtE9Wd.js +1 -0
  375. package/dist/supautils-BU-pAEpf.js +808 -0
  376. package/dist/{support-session-C6xJQYut.js → support-session-BsmPCbz8.js} +22 -22
  377. package/dist/svelte/PermissionBoundary.svelte +2 -6
  378. package/dist/svelte/Protected.svelte +2 -8
  379. package/dist/svelte/index.d.ts +9 -8
  380. package/dist/svelte/index.js +10 -9
  381. package/dist/svelte/runtime.d.ts +4 -4
  382. package/dist/svelte/runtime.js +4 -4
  383. package/dist/svelte/source.d.ts +9 -8
  384. package/dist/svelte/source.js +6 -5
  385. package/dist/sveltekit/index.d.ts +30 -12
  386. package/dist/sveltekit/index.js +2 -2
  387. package/dist/{ownership-DqaJNJPn.js → tables-DeMNEy6V.js} +1025 -1085
  388. package/dist/tanstack-start/index.d.ts +22 -10
  389. package/dist/tanstack-start/index.js +2 -2
  390. package/dist/{target-Bw37TFNA.js → target-qdEAnnhU.js} +6 -6
  391. package/dist/{tenancy-DN2QAx9z.js → tenancy-5d1zVBvK.js} +36 -21
  392. package/dist/terminal/index.d.ts +23 -14
  393. package/dist/terminal/index.js +17 -20
  394. package/dist/testing/core.d.ts +2 -0
  395. package/dist/testing/core.js +1 -0
  396. package/dist/testing/fixtures/index.d.ts +15 -0
  397. package/dist/testing/fixtures/index.js +831 -0
  398. package/dist/testing/index.d.ts +235 -285
  399. package/dist/testing/index.js +502 -927
  400. package/dist/testing/saas/index.d.ts +43 -27
  401. package/dist/testing/saas/index.js +2 -2
  402. package/dist/testing/saas/permissions.d.ts +1 -1
  403. package/dist/testing/saas/permissions.js +1 -1
  404. package/dist/text-diff-BtfSmdUo.js +444 -0
  405. package/dist/{thenable-yD7SabqG.js → thenable-BNSM1U2R.js} +12 -3
  406. package/dist/{time-DkWjdL98.js → time-nR1JesoH.js} +32 -8
  407. package/dist/{token-BLZcjQgt.js → token-DC9EQiet.js} +15 -13
  408. package/dist/{tool-refusal-CMLN5xhn.js → tool-refusal-Qpjs_W6M.js} +5 -2
  409. package/dist/trpc/index.d.ts +11 -8
  410. package/dist/trpc/index.js +15 -9
  411. package/dist/type-helpers-BIPIDa6a.d.ts +50 -0
  412. package/dist/{types-8RnwUAvE.d.ts → types-AMJ5qoU_.d.ts} +49 -30
  413. package/dist/{types-C_IiEs64.d.ts → types-B2mlGuhW.d.ts} +14 -11
  414. package/dist/{types-_WhUP7ud.d.ts → types-B4uqKDnp.d.ts} +25 -12
  415. package/dist/{types-CX7AvRqP.d.ts → types-BJk0BKRX.d.ts} +24 -14
  416. package/dist/types-B_d_g7T3.d.ts +262 -0
  417. package/dist/{types-BdtSDbBO.d.ts → types-B_tiYvk8.d.ts} +59 -32
  418. package/dist/{types-DqzsnlSA.js → types-CcUXciSj.js} +17 -5
  419. package/dist/{types-Dfv0aTER.d.ts → types-DC1Loeh3.d.ts} +449 -168
  420. package/dist/{types-lUlG3TVd.d.ts → types-DHKPcqzr.d.ts} +2 -2
  421. package/dist/{types-C791HFu9.d.ts → types-DjuMBNF9.d.ts} +68 -32
  422. package/dist/{types-C863OQiR.d.ts → types-HzqOtvsJ.d.ts} +23 -12
  423. package/dist/{types-Druu9wLM.d.ts → types-ZzRGoViD.d.ts} +77 -24
  424. package/dist/{types-BzzaHxt3.d.ts → types-ah9NlU6j.d.ts} +137 -48
  425. package/dist/{types-CVZSNocA.d.ts → types-djVzLlIV.d.ts} +31 -14
  426. package/dist/{types-BtHtcKMr.d.ts → types-yUuPR5Hy.d.ts} +47 -24
  427. package/dist/unplugin/index.d.ts +1 -1
  428. package/dist/unplugin/index.js +2 -2
  429. package/dist/usage-CYeXek0p.js +1 -0
  430. package/dist/{usage-SveTRTyr.js → usage-CxEzS4ey.js} +50 -26
  431. package/dist/{usage-CRVl9V3t.js → usage-ab0PdusX.js} +2 -2
  432. package/dist/{validation-error-ZfUHbKvf.js → validation-error-CYg2kJEw.js} +4 -1
  433. package/dist/{validation-error-DHUrAkku.d.ts → validation-error-YGg2mXyH.d.ts} +5 -2
  434. package/dist/{validity-CZ7-y0Cj.js → validity-Buc7w8E9.js} +13 -10
  435. package/dist/{verifier-DHuh-okk.js → verifier-DUV6pLqZ.js} +10 -4
  436. package/dist/{verify-BaAKx7t6.js → verify-DZeqoWu5.js} +417 -489
  437. package/dist/version-DMQ0dnN5.js +48 -0
  438. package/dist/version-DizhmD72.js +1 -0
  439. package/dist/{views-DTIIO-oQ.js → views-CD8wuL4Z.js} +19 -6
  440. package/dist/vocabulary-DEJ5j4mR.d.ts +70 -0
  441. package/dist/vue/index.d.ts +71 -21
  442. package/dist/vue/index.js +50 -13
  443. package/dist/{waiter-B986w1oK.d.ts → waiter-Bu9zAlE0.d.ts} +13 -10
  444. package/dist/{waiter-BGUtGYoU.js → waiter-aBLM63_f.js} +1 -1
  445. package/dist/{watch-vea54PRw.js → watch-Cx_WciLE.js} +8 -8
  446. package/dist/watch-DB42U1ib.js +1 -0
  447. package/dist/webmcp/index.d.ts +11 -11
  448. package/dist/webmcp/index.js +8 -5
  449. package/dist/{where-scope-C9vfEphl.js → where-scope-DlCdCM_8.js} +56 -30
  450. package/dist/{who-can-DWBAcaCQ.js → who-can-rI7dCR9Q.js} +23 -20
  451. package/dist/workflow/index.d.ts +3 -3
  452. package/dist/workflow/index.js +13 -13
  453. package/dist/workflow-sdk/index.d.ts +19 -13
  454. package/dist/workflow-sdk/index.js +6 -6
  455. package/dist/{wrap-gX61EtpB.js → wrap-B2wziJI_.js} +11 -5
  456. package/dist/{wrap-C5jC6sKI.d.ts → wrap-DlJE3gS_.d.ts} +8 -5
  457. package/package.json +25 -14
  458. package/schemas/catalog-v1.json +3 -0
  459. package/schemas/cli-result-v1.json +1 -0
  460. package/schemas/cloud-api-v1.json +152 -7
  461. package/schemas/connector-v1.json +8 -0
  462. package/schemas/supabase-claims-v1.json +5 -0
  463. package/schemas/supabase-manifest-v1.json +308 -75
  464. package/skills/permdock/SKILL.md +1 -0
  465. package/skills/permdock-agents/references/runtimes.md +3 -1
  466. package/skills/permdock-approvals/references/stores-and-resume.md +2 -1
  467. package/skills/permdock-credentials/references/tokens-keys-links.md +8 -6
  468. package/skills/permdock-data/references/queries-and-rls.md +6 -2
  469. package/skills/permdock-tenancy/SKILL.md +1 -1
  470. package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +2 -1
  471. package/skills/permdock-wire/references/adapters.md +28 -22
  472. package/skills/permdock-wire/references/policy-options.md +1 -0
  473. package/dist/catalog-BoWglDPI.js +0 -1
  474. package/dist/collect-D7eQDffE.js +0 -1
  475. package/dist/config-bs_kZeYq.js +0 -162
  476. package/dist/denied-text-CiFQNuMV.d.ts +0 -19
  477. package/dist/fields-OYG_JR78.js +0 -203
  478. package/dist/generate-CNU1pIOo.js +0 -171
  479. package/dist/headers-BIjfMaoC.js +0 -8
  480. package/dist/headers-CIbDTUTK.d.ts +0 -7
  481. package/dist/index-Cp_ilKi1.d.ts +0 -91
  482. package/dist/index-CueFnxQc.d.ts +0 -110
  483. package/dist/load-BxEtwlBS.js +0 -1
  484. package/dist/output-files-B3IZJksC.js +0 -1
  485. package/dist/package-root-Dk_ETdkp.js +0 -31
  486. package/dist/parse-Cxq0WxrA.js +0 -53
  487. package/dist/parse-local-manifest-5ODwqu8b.d.ts +0 -10
  488. package/dist/parse-local-manifest-CVSs6J9I.js +0 -34
  489. package/dist/peer-C8swJ2GH.js +0 -50
  490. package/dist/policies-DP2nqRoF.js +0 -295
  491. package/dist/powersync-BkWWCS1K.js +0 -538
  492. package/dist/powersync-MMJ2mI2q.js +0 -1
  493. package/dist/problem-details-B45V5d2b.d.ts +0 -7
  494. package/dist/prompt-DfZLJLIn.js +0 -32
  495. package/dist/protected-RFGpakN9.d.ts +0 -38
  496. package/dist/pull-CvpINcMK.js +0 -1
  497. package/dist/run-DDwUaJDU.js +0 -1
  498. package/dist/sources-Xc4zkszI.d.ts +0 -190
  499. package/dist/stores-BUGNbJTt.d.ts +0 -30
  500. package/dist/supabase-hook-CCw5m35C.js +0 -1
  501. package/dist/supautils-B6HYL9eL.js +0 -91
  502. package/dist/text-diff-BQcUapOb.js +0 -15
  503. package/dist/types-B3_ooZgZ.d.ts +0 -172
  504. package/dist/usage-CZpSQP6L.js +0 -1
  505. package/dist/version-CEbQ5UeM.js +0 -18
  506. package/dist/version-DXkYUISx.js +0 -1
  507. package/dist/watch--ovlPOc0.js +0 -1
@@ -1,30 +1,32 @@
1
- import { Rt as Instant, ar as Subject, ur as Condition } from "../policy-types-n0uRTsW8.js";
2
- import { c as WhereResult } from "../permdock-SV8ZINYT.js";
3
- import { r as RelationsMapping } from "../graph-sql-B-dsAT6j.js";
4
- import { s as MembershipsMapping } from "../compile-1bsAezL0.js";
5
- import { n as WithSubjectOptions, t as RowCheck } from "../row-check-Dt35czLy.js";
1
+ import { Rt as Instant, lr as Subject, mr as Condition } from "../policy-types-CCiDRZBH.js";
2
+ import { f as WhereResult } from "../permdock-B6Sf4T_S.js";
3
+ import { r as RelationsMapping } from "../graph-sql-BwFC4Qjs.js";
4
+ import { s as MembershipsMapping } from "../compile-BFzysW3o.js";
5
+ import { n as RowCheck, t as WithSubjectOptions } from "../subject-settings-vNW8qmUH.js";
6
6
  //#region src/kysely/types.d.ts
7
7
  type KyselySelectQuery = {
8
- select(expr: unknown): KyselySelectQuery;
9
- where(column: string, op: string, value: unknown): KyselySelectQuery;
10
- where(expression: unknown): KyselySelectQuery;
11
- whereRef(left: string, op: string, right: string): KyselySelectQuery;
8
+ select: (expr: unknown) => KyselySelectQuery;
9
+ where: {
10
+ (column: string, op: string, value: unknown): KyselySelectQuery;
11
+ (expression: unknown): KyselySelectQuery;
12
+ };
13
+ whereRef: (left: string, op: string, right: string) => KyselySelectQuery;
12
14
  };
13
15
  type KyselyExpressionBuilder = {
14
16
  (left: unknown, op: string, right: unknown): unknown;
15
- and(args: readonly unknown[]): unknown;
16
- or(args: readonly unknown[]): unknown;
17
- not(value: unknown): unknown;
18
- lit(value: unknown): unknown;
19
- val(value: unknown): unknown;
20
- ref(column: string): unknown;
21
- exists?(query: unknown): unknown;
22
- selectFrom?(table: string): KyselySelectQuery;
17
+ and: (args: readonly unknown[]) => unknown;
18
+ or: (args: readonly unknown[]) => unknown;
19
+ not: (value: unknown) => unknown;
20
+ lit: (value: unknown) => unknown;
21
+ val: (value: unknown) => unknown;
22
+ ref: (column: string) => unknown;
23
+ exists?: (query: unknown) => unknown;
24
+ selectFrom?: (table: string) => KyselySelectQuery;
23
25
  };
24
26
  /** Kysely's `sql` tag; `import { sql } from 'kysely'`. */
25
27
  type KyselySql = {
26
28
  (strings: TemplateStringsArray, ...values: unknown[]): unknown;
27
- ref(reference: string): unknown;
29
+ ref: (reference: string) => unknown;
28
30
  };
29
31
  type KyselyWhereOptions = {
30
32
  readonly columns?: Readonly<Record<string, string>>;
@@ -32,38 +34,51 @@ type KyselyWhereOptions = {
32
34
  readonly listFields?: readonly string[];
33
35
  readonly subject?: Subject;
34
36
  readonly memberships?: MembershipsMapping;
35
- /** Where the relation graph lives; graph grants compile to Postgres subqueries with it and are refused without. */
37
+ /**
38
+ * Where the relation graph lives; graph grants compile to Postgres subqueries
39
+ * with it and are refused without.
40
+ */
36
41
  readonly relations?: RelationsMapping;
37
- /** The clock membership expiry is read at; a `Temporal.Instant` fits. Defaults to the current time. */
42
+ /**
43
+ * The clock membership expiry is read at; a `Temporal.Instant` fits. Defaults
44
+ * to the current time.
45
+ */
38
46
  readonly now?: Instant;
39
- /** Kysely's `sql` tag, for graph subqueries on runtimes without `require`; loaded from the `kysely` peer by default. */
47
+ /**
48
+ * Kysely's `sql` tag, for graph subqueries on runtimes without `require`;
49
+ * loaded from the `kysely` peer by default.
50
+ */
40
51
  readonly sql?: KyselySql;
41
52
  };
42
53
  type KyselyWithSubjectOptions = WithSubjectOptions & {
43
- /** Kysely's `sql` tag, on runtimes without `require`; loaded from the `kysely` peer by default. */
54
+ /**
55
+ * Kysely's `sql` tag, on runtimes without `require`; loaded from the `kysely`
56
+ * peer by default.
57
+ */
44
58
  readonly sql?: KyselySql;
45
59
  };
46
60
  //#endregion
47
61
  //#region src/kysely/to-where.d.ts
48
62
  export declare function toWhere(input: Condition | WhereResult, table: string, options?: KyselyWhereOptions): (eb: KyselyExpressionBuilder) => unknown;
49
63
  type KyselyLike<Trx> = {
50
- transaction(): {
51
- execute<T>(fn: (trx: Trx) => Promise<T>): Promise<T>;
64
+ transaction: () => {
65
+ execute: <T>(fn: (trx: Trx) => Promise<T>) => Promise<T>;
52
66
  };
53
67
  };
54
68
  /**
55
- * Runs `fn` in a transaction whose role and claims are `permdock.subject`'s, so the generated
56
- * RLS policies decide for the same subject as the in-process checks.
69
+ * Runs `fn` in a transaction whose role and claims are `permdock.subject`'s, so
70
+ * the generated RLS policies decide for the same subject as the in-process
71
+ * checks.
57
72
  */
58
73
  export declare function withSubject<Trx, T>(db: KyselyLike<Trx>, permdock: {
59
74
  readonly subject: Subject;
60
75
  }, fn: (trx: Trx) => Promise<T>, options?: KyselyWithSubjectOptions): Promise<T>;
61
76
  type KyselySelectable = {
62
- selectFrom(table: never): {
63
- select(selection: (eb: never) => unknown): {
64
- where(where: never): {
65
- limit(count: number): {
66
- execute(): Promise<readonly {
77
+ selectFrom: (table: never) => {
78
+ select: (selection: (eb: never) => unknown) => {
79
+ where: (where: never) => {
80
+ limit: (count: number) => {
81
+ execute: () => Promise<readonly {
67
82
  readonly granted?: unknown;
68
83
  }[]>;
69
84
  };
@@ -72,8 +87,9 @@ type KyselySelectable = {
72
87
  };
73
88
  };
74
89
  /**
75
- * One query for one row: `{ found: false }` when `key` matches nothing, otherwise whether the
76
- * permission filter keeps the row. Throws when `key` matches more than one row.
90
+ * One query for one row: `{ found: false }` when `key` matches nothing,
91
+ * otherwise whether the permission filter keeps the row. Throws when `key`
92
+ * matches more than one row.
77
93
  */
78
94
  export declare function checkRow(db: KyselySelectable, table: string, input: Condition | WhereResult, key: (eb: KyselyExpressionBuilder) => unknown, options?: KyselyWhereOptions): Promise<RowCheck>;
79
95
  //#endregion
@@ -1,7 +1,7 @@
1
1
  import { t as compact } from "../compact-CAf557ZB.js";
2
- import { t as assertSafeKey } from "../paths-DXSHAMIa.js";
3
- import { n as escapeLike, t as compileWhere } from "../compile-CMqMx_IN.js";
4
- import { a as rowCheckFrom, i as templateOf, r as subjectStatements, s as loadPeer, t as statementTemplate } from "../subject-settings-CkEwrw3W.js";
2
+ import { t as assertSafeKey } from "../paths-CUvURzHp.js";
3
+ import { n as compileWhere, r as escapeLike } from "../compile-EzEMB-7v.js";
4
+ import { a as rowCheckFrom, i as templateOf, r as subjectStatements, s as loadPeer, t as statementTemplate } from "../subject-settings-8sH5HlII.js";
5
5
  //#region src/kysely/to-where.ts
6
6
  function ident(name) {
7
7
  assertSafeKey(name, "sql identifier");
@@ -96,8 +96,9 @@ function toWhere(input, table, options = {}) {
96
96
  return (eb) => render(eb, compiled, table, options);
97
97
  }
98
98
  /**
99
- * Runs `fn` in a transaction whose role and claims are `permdock.subject`'s, so the generated
100
- * RLS policies decide for the same subject as the in-process checks.
99
+ * Runs `fn` in a transaction whose role and claims are `permdock.subject`'s, so
100
+ * the generated RLS policies decide for the same subject as the in-process
101
+ * checks.
101
102
  */
102
103
  function withSubject(db, permdock, fn, options = {}) {
103
104
  const statements = subjectStatements(permdock, options);
@@ -108,8 +109,9 @@ function withSubject(db, permdock, fn, options = {}) {
108
109
  });
109
110
  }
110
111
  /**
111
- * One query for one row: `{ found: false }` when `key` matches nothing, otherwise whether the
112
- * permission filter keeps the row. Throws when `key` matches more than one row.
112
+ * One query for one row: `{ found: false }` when `key` matches nothing,
113
+ * otherwise whether the permission filter keeps the row. Throws when `key`
114
+ * matches more than one row.
113
115
  */
114
116
  async function checkRow(db, table, input, key, options = {}) {
115
117
  const sql = loadSql(options.sql);
@@ -7,8 +7,8 @@ const PermDockSnapshotPromiseContext = createContext(null);
7
7
  //#region src/react/keyed.ts
8
8
  /**
9
9
  * `create()` once per distinct `inputs`, held in state: React may drop a
10
- * `useMemo` value and rebuild it, and a rebuilt store loses its answers,
11
- * polls and followed snapshot.
10
+ * `useMemo` value and rebuild it, and a rebuilt store loses its answers, polls
11
+ * and followed snapshot.
12
12
  */
13
13
  function useKeyed(create, inputs) {
14
14
  const [held, setHeld] = useState(() => ({
@@ -1,5 +1,5 @@
1
- import { c as listPermissions } from "./permission-registry-Br4jSNVi.js";
2
- import { a as describeError, n as CliError } from "./errors-CWTY6uih.js";
1
+ import { c as listPermissions } from "./permission-registry-B8tYxPIt.js";
2
+ import { a as describeError, n as CliError } from "./errors-Vpu6rKHl.js";
3
3
  import { dirname, resolve } from "node:path";
4
4
  import { pathToFileURL } from "node:url";
5
5
  import { createJiti } from "jiti";
@@ -38,10 +38,10 @@ function importWithJiti(abs, fresh) {
38
38
  }
39
39
  /**
40
40
  * Imports a project module the way its bundler would. Node's own `import()`
41
- * comes first; a module it cannot resolve or parse (tsconfig `paths`
42
- * aliases, extensionless relative imports, `enum`, TSX) loads through jiti
43
- * with the `paths` of the nearest `tsconfig.json` above it. Exports are
44
- * returned as written; `default` is not merged into the namespace.
41
+ * comes first; a module it cannot resolve or parse (tsconfig `paths` aliases,
42
+ * extensionless relative imports, `enum`, TSX) loads through jiti with the
43
+ * `paths` of the nearest `tsconfig.json` above it. Exports are returned as
44
+ * written; `default` is not merged into the namespace.
45
45
  */
46
46
  async function loadModule(abs, options) {
47
47
  try {
@@ -0,0 +1 @@
1
+ export { a as loadModule, s as pickNamed } from "./load-DjSU5KXO.js";
@@ -1,5 +1,5 @@
1
1
  import { t as defineLeaf } from "./command-L8EstFNm.js";
2
- import { c as given } from "./flags-C3DktBDY.js";
2
+ import { c as given } from "./flags-DXjoTVbS.js";
3
3
  //#region src/cli/commands/login.ts
4
4
  const urlFlag = { url: {
5
5
  type: "string",
@@ -27,7 +27,7 @@ const login = defineLeaf({
27
27
  }
28
28
  },
29
29
  async run(ctx, { flags }) {
30
- const { runLogin } = await import("./login-imhuwvn3.js");
30
+ const { runLogin } = await import("./login-DplQ0s84.js");
31
31
  return runLogin({
32
32
  cwd: ctx.cwd,
33
33
  url: given(flags.url),
@@ -43,7 +43,7 @@ const login = defineLeaf({
43
43
  const logout = defineLeaf({
44
44
  flags: { ...urlFlag },
45
45
  async run(ctx, { flags }) {
46
- const { runLogout } = await import("./login-imhuwvn3.js");
46
+ const { runLogout } = await import("./login-DplQ0s84.js");
47
47
  return runLogout({
48
48
  url: given(flags.url),
49
49
  json: ctx.json,
@@ -55,7 +55,7 @@ const logout = defineLeaf({
55
55
  const whoami = defineLeaf({
56
56
  flags: { ...urlFlag },
57
57
  async run(ctx, { flags }) {
58
- const { runWhoami } = await import("./login-imhuwvn3.js");
58
+ const { runWhoami } = await import("./login-DplQ0s84.js");
59
59
  return runWhoami({
60
60
  url: given(flags.url),
61
61
  json: ctx.json,
@@ -1,18 +1,16 @@
1
- import { h as secondsAt, i as dateAt, s as instantAt } from "./time-DkWjdL98.js";
2
- import { n as CliError } from "./errors-CWTY6uih.js";
3
- import { i as postForm, r as parseToken, s as runDeviceFlow } from "./device-BARQ8eYG.js";
1
+ import { h as secondsAt, i as dateAt, s as instantAt } from "./time-nR1JesoH.js";
2
+ import { n as CliError } from "./errors-Vpu6rKHl.js";
3
+ import { i as postForm, r as parseToken, s as runDeviceFlow } from "./device-BwbJNmb2.js";
4
4
  import { i as writeCredentials, n as deleteCredentials, r as readCredentials, t as credentialsPath } from "./storage-C2bWdvJH.js";
5
- import { n as httpRequest } from "./http-DXJ37RDA.js";
6
- import { c as READ_SCOPES, d as issuerMetadata, i as credentialsInsideRepository, l as cloudUrl, n as cliRuntime, r as credentialStorage, s as CLI_CLIENT_ID, t as CREDENTIAL_SERVICE } from "./auth-DRLEizbL.js";
7
- import { createHash, randomBytes } from "node:crypto";
5
+ import { n as randomToken, t as pkce } from "./pkce-CnmmYqUZ.js";
6
+ import { a as nonEmptyOr } from "./output-tkju6U7R.js";
7
+ import { n as httpRequest } from "./http-DOL33cO0.js";
8
+ import { c as READ_SCOPES, d as issuerMetadata, i as credentialsInsideRepository, l as cloudUrl, n as cliRuntime, r as credentialStorage, s as CLI_CLIENT_ID, t as CREDENTIAL_SERVICE } from "./auth--yPyZNgr.js";
8
9
  import { spawn } from "node:child_process";
9
10
  import { createServer } from "node:http";
10
11
  //#region src/cli/cloud/loopback.ts
11
12
  /** How long the loopback listener waits for the browser to come back. */
12
13
  const LOOPBACK_TIMEOUT_MS = 3e5;
13
- function base64url(bytes) {
14
- return bytes.toString("base64url");
15
- }
16
14
  function listen(server) {
17
15
  return new Promise((resolve, reject) => {
18
16
  server.once("error", reject);
@@ -28,9 +26,8 @@ function listen(server) {
28
26
  * `state` that the callback must echo.
29
27
  */
30
28
  async function runLoopbackFlow(options, runtime) {
31
- const verifier = base64url(randomBytes(32));
32
- const challenge = base64url(createHash("sha256").update(verifier).digest());
33
- const state = base64url(randomBytes(16));
29
+ const { verifier, challenge } = await pkce();
30
+ const state = randomToken(16);
34
31
  const { promise: callback, resolve: settle } = Promise.withResolvers();
35
32
  const server = createServer((request, response) => {
36
33
  const url = new URL(request.url ?? "/", "http://127.0.0.1");
@@ -94,7 +91,10 @@ async function runLoopbackFlow(options, runtime) {
94
91
  }
95
92
  //#endregion
96
93
  //#region src/cli/cloud/login.ts
97
- /** Opens `url` in the default browser; a failure leaves the printed URL to the user. */
94
+ /**
95
+ * Opens `url` in the default browser; a failure leaves the printed URL to the
96
+ * user.
97
+ */
98
98
  function openBrowser(url) {
99
99
  const [command, args] = process.platform === "darwin" ? ["open", [url]] : process.platform === "win32" ? ["cmd", [
100
100
  "/c",
@@ -176,7 +176,10 @@ async function runLogin(input) {
176
176
  }) : `logged in to ${issuer} (${granted.scope ?? scope}); credentials in ${where}`
177
177
  };
178
178
  }
179
- /** Revokes the stored login (RFC 7009) and deletes it; a revocation failure still deletes it. */
179
+ /**
180
+ * Revokes the stored login (RFC 7009) and deletes it; a revocation failure
181
+ * still deletes it.
182
+ */
180
183
  async function runLogout(input) {
181
184
  const issuer = cloudUrl(input.url, input.env);
182
185
  const runtime = cliRuntime(input.io, input.env);
@@ -246,7 +249,7 @@ async function runWhoami(input) {
246
249
  };
247
250
  return {
248
251
  code: 0,
249
- output: input.json ? JSON.stringify(data) : `${issuer}: logged in (${scopes.join(" ") || "no scopes"})${expired ? "; the login has expired, run permdock login" : ""}`,
252
+ output: input.json ? JSON.stringify(data) : `${issuer}: logged in (${nonEmptyOr(scopes.join(" "), "no scopes")})${expired ? "; the login has expired, run permdock login" : ""}`,
250
253
  data
251
254
  };
252
255
  }
@@ -30,20 +30,20 @@ const SECTIONS = [
30
30
  docs: "init",
31
31
  effects: ["files"],
32
32
  config: false,
33
- load: async () => (await import("./init-GG6Jh8HD.js")).init
33
+ load: async () => (await import("./init-Dz_PsHdv.js")).init
34
34
  }),
35
35
  group("preset", "Decode a preset code, or print its permdock.com/create link", "preset", [leaf("decode", "Print what a preset code holds", {
36
36
  examples: ["permdock preset decode p1AQIDBAc"],
37
37
  docs: "preset",
38
38
  effects: [],
39
39
  config: false,
40
- load: async () => (await import("./init-GG6Jh8HD.js")).presetDecode
40
+ load: async () => (await import("./init-Dz_PsHdv.js")).presetDecode
41
41
  }), leaf("url", "Print the permdock.com/create link that opens a code", {
42
42
  examples: ["permdock preset url p1AQIDBAc"],
43
43
  docs: "preset",
44
44
  effects: [],
45
45
  config: false,
46
- load: async () => (await import("./init-GG6Jh8HD.js")).presetUrl
46
+ load: async () => (await import("./init-Dz_PsHdv.js")).presetUrl
47
47
  })]),
48
48
  group("skills", "Install, update or list the PermDock Agent Skills", "skills", [
49
49
  leaf("install", "Copy the Agent Skills into the agent folders", {
@@ -55,21 +55,21 @@ const SECTIONS = [
55
55
  docs: "skills",
56
56
  effects: ["files"],
57
57
  config: false,
58
- load: async () => (await import("./skills-CTYwkl44.js")).install
58
+ load: async () => (await import("./skills-OuoMR49L.js")).install
59
59
  }),
60
60
  leaf("update", "Replace installed skills with this version's", {
61
61
  examples: ["permdock skills update"],
62
62
  docs: "skills",
63
63
  effects: ["files"],
64
64
  config: false,
65
- load: async () => (await import("./skills-CTYwkl44.js")).update
65
+ load: async () => (await import("./skills-OuoMR49L.js")).update
66
66
  }),
67
67
  leaf("list", "List the skills and where each is installed", {
68
68
  examples: ["permdock skills list"],
69
69
  docs: "skills",
70
70
  effects: [],
71
71
  config: false,
72
- load: async () => (await import("./skills-CTYwkl44.js")).list
72
+ load: async () => (await import("./skills-OuoMR49L.js")).list
73
73
  })
74
74
  ]),
75
75
  leaf("doctor", "Check a PermDock installation and print a fix for each finding", {
@@ -82,7 +82,7 @@ const SECTIONS = [
82
82
  effects: ["files"],
83
83
  config: true,
84
84
  findings: true,
85
- load: async () => (await import("./doctor-3ZqNHX_G.js")).doctor
85
+ load: async () => (await import("./doctor-D3wo-yuz.js")).doctor
86
86
  }),
87
87
  leaf("completion", "Print the shell completion script for bash, zsh or fish", {
88
88
  examples: ["permdock completion zsh > ~/.zfunc/_permdock", "eval \"$(permdock completion bash)\""],
@@ -90,7 +90,7 @@ const SECTIONS = [
90
90
  effects: [],
91
91
  config: false,
92
92
  shellOutput: true,
93
- load: async () => (await import("./completion-BTFrHZhX.js")).completion
93
+ load: async () => (await import("./completion-saoYiRFO.js")).completion
94
94
  })
95
95
  ]
96
96
  },
@@ -106,14 +106,25 @@ const SECTIONS = [
106
106
  docs: "collect",
107
107
  effects: ["files"],
108
108
  config: true,
109
- load: async () => (await import("./collect-Ci6akVwH.js")).collect
109
+ load: async () => (await import("./collect-Bzv3le0A.js")).collect
110
110
  }),
111
111
  leaf("catalog", "Export the catalog as catalog JSON, JSON Schema or Markdown", {
112
112
  examples: ["permdock catalog --out permissions.catalog.json", "permdock catalog --kind markdown"],
113
113
  docs: "catalog",
114
114
  effects: ["files"],
115
115
  config: true,
116
- load: async () => (await import("./catalog-DZVbrF-z.js")).catalog
116
+ load: async () => (await import("./catalog-DCspHDc8.js")).catalog
117
+ }),
118
+ leaf("gen", "Write typed constants, schemas, factories, hooks and messages from the policy", {
119
+ examples: [
120
+ "permdock gen",
121
+ "permdock gen --kind zod --kind factories",
122
+ "permdock gen --check"
123
+ ],
124
+ docs: "gen",
125
+ effects: ["files"],
126
+ config: true,
127
+ load: async () => (await import("./gen-B5kvbAoZ.js")).gen
117
128
  }),
118
129
  leaf("usage", "Report unused, ungranted and role-less permissions and conditions on undeclared fields", {
119
130
  examples: ["permdock usage", "permdock usage --fail-on warning"],
@@ -121,14 +132,14 @@ const SECTIONS = [
121
132
  effects: [],
122
133
  config: true,
123
134
  findings: true,
124
- load: async () => (await import("./usage-CRVl9V3t.js")).usage
135
+ load: async () => (await import("./usage-ab0PdusX.js")).usage
125
136
  }),
126
137
  leaf("diff", "Compare two policies or catalogs; exit 1 on a breaking change", {
127
138
  examples: ["permdock diff main.catalog.json permissions.catalog.json", "permdock diff ./old-policy.ts ./src/policy.ts --impact"],
128
139
  docs: "diff",
129
140
  effects: [],
130
141
  config: true,
131
- load: async () => (await import("./diff-CmuSD3vc.js")).diff
142
+ load: async () => (await import("./diff-CN8IYhC_.js")).diff
132
143
  }),
133
144
  leaf("config", "Check permdock.config.ts for unknown keys, or print the effective config", {
134
145
  examples: ["permdock config", "permdock config --print"],
@@ -136,7 +147,7 @@ const SECTIONS = [
136
147
  effects: [],
137
148
  config: true,
138
149
  findings: true,
139
- load: async () => (await import("./config-Bj2Ixq3d.js")).config
150
+ load: async () => (await import("./config-DBeXXmBF.js")).config
140
151
  })
141
152
  ]
142
153
  },
@@ -153,14 +164,14 @@ const SECTIONS = [
153
164
  "network"
154
165
  ],
155
166
  config: true,
156
- load: async () => (await import("./rls-BAqP4q66.js")).generate
167
+ load: async () => (await import("./rls-Ca8Jz9b5.js")).generate
157
168
  }),
158
169
  leaf("import", "Turn existing RLS policies into a generated definition", {
159
170
  examples: ["permdock rls import --sql schema.sql --out src/permissions.generated.ts", "permdock rls import --db-url-stdin --out src/permissions.generated.ts"],
160
171
  docs: "rls",
161
172
  effects: ["files", "database:read"],
162
173
  config: true,
163
- load: async () => (await import("./rls-BAqP4q66.js")).importPolicies
174
+ load: async () => (await import("./rls-Ca8Jz9b5.js")).importPolicies
164
175
  }),
165
176
  leaf("verify", "Run the fixtures against the policies, or compare a live database", {
166
177
  examples: [
@@ -169,16 +180,24 @@ const SECTIONS = [
169
180
  "permdock rls verify --introspect --db-url-stdin"
170
181
  ],
171
182
  docs: "rls",
172
- effects: ["database:read"],
183
+ effects: ["files", "database:read"],
173
184
  config: true,
174
- load: async () => (await import("./rls-BAqP4q66.js")).verify
185
+ findings: true,
186
+ load: async () => (await import("./rls-Ca8Jz9b5.js")).verify
175
187
  }),
176
188
  leaf("migrate", "Rewrite hand-written policies onto the generated helpers", {
177
189
  examples: ["permdock rls migrate --sql supabase/migrations --dry-run", "permdock rls migrate --sql supabase/migrations"],
178
190
  docs: "rls",
179
191
  effects: ["rewrite", "files"],
180
192
  config: true,
181
- load: async () => (await import("./rls-BAqP4q66.js")).migrate
193
+ load: async () => (await import("./rls-Ca8Jz9b5.js")).migrate
194
+ }),
195
+ leaf("explain", "Show the tables, membership sources and triggers the SQL binds to", {
196
+ examples: ["permdock rls explain", "permdock rls explain --db-url-stdin --json"],
197
+ docs: "rls",
198
+ effects: ["database:read"],
199
+ config: true,
200
+ load: async () => (await import("./rls-Ca8Jz9b5.js")).explain
182
201
  })
183
202
  ]),
184
203
  group("supabase", "Generate the Supabase Custom Access Token Hook, or inspect its manifest", "supabase", [group("hook", "The Custom Access Token Hook", "supabase", [leaf("generate", "Compile the membership sources into the hook migration", {
@@ -186,26 +205,37 @@ const SECTIONS = [
186
205
  docs: "supabase",
187
206
  effects: ["files", "database:read"],
188
207
  config: true,
189
- load: async () => (await import("./supabase-By_frk3U.js")).hookGenerate
208
+ load: async () => (await import("./supabase-D39cuGPt.js")).hookGenerate
190
209
  })]), leaf("inspect", "Print or write the hook and helper manifest", {
191
210
  examples: ["permdock supabase inspect", "permdock supabase inspect --out"],
192
211
  docs: "supabase",
193
212
  effects: ["files"],
194
213
  config: true,
195
- load: async () => (await import("./supabase-By_frk3U.js")).inspect
214
+ load: async () => (await import("./supabase-D39cuGPt.js")).inspect
196
215
  })]),
197
216
  group("powersync", "Generate PowerSync Sync Streams from the policy, or verify them", "powersync", [leaf("generate", "Compile the read grants into sync-config.yaml", {
198
217
  examples: ["permdock powersync generate", "permdock powersync generate --check"],
199
218
  docs: "powersync",
200
219
  effects: ["files"],
201
220
  config: true,
202
- load: async () => (await import("./powersync-DISt6SUe.js")).generate
221
+ load: async () => (await import("./powersync-DXqGuq9A.js")).generate
203
222
  }), leaf("verify", "Fail on stale streams or a stream that syncs a denied row", {
204
223
  examples: ["permdock powersync verify", "permdock powersync verify --db-url-stdin"],
205
224
  docs: "powersync",
206
225
  effects: ["database:read"],
207
226
  config: true,
208
- load: async () => (await import("./powersync-DISt6SUe.js")).verify
227
+ load: async () => (await import("./powersync-DXqGuq9A.js")).verify
228
+ })]),
229
+ group("scim", "Generate the Postgres tables postgresDirectoryStore keeps a SCIM directory in", "scim", [leaf("generate", "Write the tenant-keyed users, groups and members tables", {
230
+ examples: [
231
+ "permdock scim generate",
232
+ "permdock scim generate --dialect guc --out db/scim.sql",
233
+ "permdock scim generate --check"
234
+ ],
235
+ docs: "scim",
236
+ effects: ["files"],
237
+ config: true,
238
+ load: async () => (await import("./scim-D8YupzX1.js")).generate
209
239
  })])
210
240
  ]
211
241
  },
@@ -217,13 +247,13 @@ const SECTIONS = [
217
247
  docs: "openapi",
218
248
  effects: ["files"],
219
249
  config: true,
220
- load: async () => (await import("./openapi-C4dDTVEd.js")).emit
250
+ load: async () => (await import("./openapi-CBZUhA3l.js")).emit
221
251
  }), leaf("import", "Turn an OpenAPI document into a generated definition", {
222
252
  examples: ["permdock openapi import --doc openapi.yaml --out src/permissions.generated.ts"],
223
253
  docs: "openapi",
224
254
  effects: ["files", "network"],
225
255
  config: false,
226
- load: async () => (await import("./openapi-C4dDTVEd.js")).importDocument
256
+ load: async () => (await import("./openapi-CBZUhA3l.js")).importDocument
227
257
  })]),
228
258
  group("arazzo", "Check Arazzo workflows against the permissions", "arazzo", [leaf("check", "Resolve every Arazzo step to x-permdock-permissions", {
229
259
  examples: ["permdock arazzo check --doc arazzo.json --openapi openapi.json"],
@@ -231,7 +261,7 @@ const SECTIONS = [
231
261
  effects: [],
232
262
  config: true,
233
263
  findings: true,
234
- load: async () => (await import("./arazzo-41WuzHou.js")).check
264
+ load: async () => (await import("./arazzo-3RhGfkAK.js")).check
235
265
  })]),
236
266
  leaf("scan", "List authorization checks written without PermDock, to adopt it in an existing app", {
237
267
  examples: ["permdock scan", "permdock scan --src app,lib --pattern isBeta"],
@@ -239,21 +269,21 @@ const SECTIONS = [
239
269
  effects: [],
240
270
  config: true,
241
271
  findings: true,
242
- load: async () => (await import("./scan-qvOe0hS3.js")).scan
272
+ load: async () => (await import("./scan-DCj1KQfn.js")).scan
243
273
  }),
244
274
  group("casl", "Import CASL rules into a generated module", "casl", [leaf("import", "Turn CASL rules per role into a permissions and policy module", {
245
275
  examples: ["permdock casl import --rules rules.json --out src/permissions.generated.ts"],
246
276
  docs: "casl",
247
277
  effects: ["files"],
248
278
  config: false,
249
- load: async () => (await import("./casl-64gpT-8x.js")).caslImport
279
+ load: async () => (await import("./casl-C4OINZHI.js")).caslImport
250
280
  })]),
251
281
  group("casbin", "Import a Casbin model and policy into a generated module", "casbin", [leaf("import", "Turn a Casbin RBAC model and policy into a permissions and policy module", {
252
282
  examples: ["permdock casbin import --model model.conf --policy policy.csv --out src/permissions.generated.ts"],
253
283
  docs: "casbin",
254
284
  effects: ["files"],
255
285
  config: false,
256
- load: async () => (await import("./casbin-Cr7RLtA3.js")).casbinImport
286
+ load: async () => (await import("./casbin-cbSbhT_k.js")).casbinImport
257
287
  })])
258
288
  ]
259
289
  },
@@ -265,34 +295,34 @@ const SECTIONS = [
265
295
  docs: "login",
266
296
  effects: ["network", "files"],
267
297
  config: false,
268
- load: async () => (await import("./login-Dfe5RlYk.js")).login
298
+ load: async () => (await import("./login-D-8tMqzo.js")).login
269
299
  }),
270
300
  leaf("logout", "Revoke and delete the stored PermDock Cloud login", {
271
301
  examples: ["permdock logout"],
272
302
  docs: "login",
273
303
  effects: ["network", "files"],
274
304
  config: false,
275
- load: async () => (await import("./login-Dfe5RlYk.js")).logout
305
+ load: async () => (await import("./login-D-8tMqzo.js")).logout
276
306
  }),
277
307
  leaf("whoami", "Print the PermDock Cloud identity the CLI acts as", {
278
308
  examples: ["permdock whoami", "permdock whoami --json"],
279
309
  docs: "login",
280
310
  effects: [],
281
311
  config: false,
282
- load: async () => (await import("./login-Dfe5RlYk.js")).whoami
312
+ load: async () => (await import("./login-D-8tMqzo.js")).whoami
283
313
  }),
284
314
  group("cloud", "Publish to or pull from a PermDock Cloud project", "cloud", [leaf("push", "Publish the catalog, policy and manifest to a Cloud project", {
285
315
  examples: ["permdock cloud push --dry-run", "permdock cloud push --project prj_123"],
286
316
  docs: "cloud",
287
317
  effects: ["network", "cloud:write"],
288
318
  config: true,
289
- load: async () => (await import("./cloud-ytQ3uviA.js")).push
319
+ load: async () => (await import("./cloud-BFlGMaak.js")).push
290
320
  }), leaf("pull", "Write a Cloud project's published catalog and manifest", {
291
321
  examples: ["permdock cloud pull --project prj_123"],
292
322
  docs: "cloud",
293
323
  effects: ["network", "files"],
294
324
  config: true,
295
- load: async () => (await import("./cloud-ytQ3uviA.js")).pull
325
+ load: async () => (await import("./cloud-BFlGMaak.js")).pull
296
326
  })])
297
327
  ]
298
328
  },
@@ -303,7 +333,7 @@ const SECTIONS = [
303
333
  docs: "codemod",
304
334
  effects: ["rewrite"],
305
335
  config: false,
306
- load: async () => (await import("./codemod-5mpSpnUY.js")).codemod
336
+ load: async () => (await import("./codemod-DLQ9Zpo4.js")).codemod
307
337
  })]
308
338
  }
309
339
  ];
@@ -315,7 +345,7 @@ const COMPLETE_LEAF = leaf("__complete", "Print completion candidates for a part
315
345
  config: false,
316
346
  shellOutput: true,
317
347
  hidden: true,
318
- load: async () => (await import("./completion-BTFrHZhX.js")).complete
348
+ load: async () => (await import("./completion-saoYiRFO.js")).complete
319
349
  });
320
350
  const ROOT = group("permdock", "Collect, export, diff and check the permissions a PermDock policy declares", "", [...SECTIONS.flatMap((section) => section.entries), COMPLETE_LEAF]);
321
351
  /** Each leaf with its path from the root, in manifest order. */
@@ -326,8 +356,8 @@ function leaves(entry = ROOT, path = []) {
326
356
  }] : leaves(child, [...path, child.name]));
327
357
  }
328
358
  /**
329
- * Walks positional tokens down the tree until a leaf. Flags may sit
330
- * anywhere; only bare words name a child.
359
+ * Walks positional tokens down the tree until a leaf. Flags may sit anywhere;
360
+ * only bare words name a child.
331
361
  */
332
362
  function resolve(argv) {
333
363
  let node = ROOT;