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,4 +1,4 @@
1
- import { n as CliError } from "./errors-DpP_U6Bf.js";
1
+ import { n as CliError } from "./errors-Vpu6rKHl.js";
2
2
  //#region src/cli/core/io.ts
3
3
  const FRAMES = [
4
4
  "⠋",
@@ -14,8 +14,8 @@ const FRAMES = [
14
14
  ];
15
15
  const FRAME_MS = 80;
16
16
  /**
17
- * A spinner on a terminal stderr; a plain line elsewhere, so logs and CI
18
- * output stay readable. `done` replaces the spinner with a final line.
17
+ * A spinner on a terminal stderr; a plain line elsewhere, so logs and CI output
18
+ * stay readable. `done` replaces the spinner with a final line.
19
19
  */
20
20
  function progressReporter(input) {
21
21
  return (message) => {
@@ -50,13 +50,13 @@ async function readSecret(readStdin) {
50
50
  const URL_PASSWORD = /\b([a-z][a-z0-9+.-]*:\/\/[^\s:/@]+:)([^\s@/]+)@/giu;
51
51
  /** `text` with every registered secret and every URL password masked. */
52
52
  function redact(text, secrets) {
53
- let out = text.replace(URL_PASSWORD, "$1***@");
53
+ let out = text.replaceAll(URL_PASSWORD, "$1***@");
54
54
  for (const secret of secrets) if (secret.length >= 4) out = out.replaceAll(secret, "***");
55
55
  return out;
56
56
  }
57
57
  /**
58
- * The secret piped in for `--<flag>-stdin`, when it was passed, registered
59
- * for redaction.
58
+ * The secret piped in for `--<flag>-stdin`, when it was passed, registered for
59
+ * redaction.
60
60
  */
61
61
  async function secretInput(ctx, input) {
62
62
  let value;
@@ -87,8 +87,8 @@ function tableKey(name) {
87
87
  * membership (user, scope, id, `within`, role, `via`, expiry), and the id and
88
88
  * value columns of a table a role or user column references, keyed by
89
89
  * {@link tableKey}. A client that can write one can give itself a membership.
90
- * The hook's sources count even when `rls.membershipSources` replaces them
91
- * for the helpers: the token's claims still come from them.
90
+ * The hook's sources count even when `rls.membershipSources` replaces them for
91
+ * the helpers: the token's claims still come from them.
92
92
  */
93
93
  function membershipColumns(config) {
94
94
  const sources = /* @__PURE__ */ new Set([...membershipSourcesOf(config), ...config.supabase?.hook?.memberships ?? []]);
@@ -1,14 +1,14 @@
1
1
  import { n as isReadonlyArray } from "./compact-CAf557ZB.js";
2
- import { r as ownGet } from "./paths-DXSHAMIa.js";
3
- import { a as resolveConditionRef, c as isConditionDate, d as parentHop, l as isConditionRef } from "./refs-CNJBiTFo.js";
4
- import { o as sameId, t as expiredAt } from "./expiry-D4_YKRKD.js";
5
- import { g as formerScopes, m as annotationsFor, n as findPermission } from "./permission-registry-DpPtSKNZ.js";
6
- import { o as epochSeconds } from "./time-DkWjdL98.js";
7
- import { f as scopeList, h as tenantOf, m as subjectMemberships, s as resolveScope } from "./scopes-BHsc-wp-.js";
8
- import { t as isoInstant } from "./instant-BluqDvyS.js";
9
- import { o as flattenGrantee } from "./grantee-BrRANrpT.js";
10
- import { t as isActive } from "./validity-CZ7-y0Cj.js";
11
- import { n as matchGrantee } from "./grantee-match-0RtHWQDx.js";
2
+ import { r as ownGet } from "./paths-CUvURzHp.js";
3
+ import { a as resolveConditionRef, c as isConditionDate, d as parentHop, l as isConditionRef } from "./refs-C8BKxc_e.js";
4
+ import { o as sameId, t as expiredAt } from "./expiry-6XByK0dm.js";
5
+ import { g as formerScopes, m as annotationsFor, n as findPermission } from "./permission-registry-B8tYxPIt.js";
6
+ import { o as epochSeconds } from "./time-nR1JesoH.js";
7
+ import { f as scopeList, h as tenantOf, m as subjectMemberships, s as resolveScope } from "./scopes-0Up_UA2t.js";
8
+ import { t as isoInstant } from "./instant-DK3Iz83e.js";
9
+ import { o as flattenGrantee } from "./grantee-Dke-9rd1.js";
10
+ import { t as isActive } from "./validity-Buc7w8E9.js";
11
+ import { n as matchGrantee } from "./grantee-match-7RZZvoT_.js";
12
12
  //#region src/conditions/evaluate.ts
13
13
  function resolveRef(ref, subject) {
14
14
  return resolveConditionRef(ref, subject);
@@ -145,9 +145,9 @@ function isRowPair(value) {
145
145
  return value !== null && typeof value === "object" && "current" in value && "next" in value;
146
146
  }
147
147
  /**
148
- * The row a `where` reads and the row a `check` reads. An instance check
149
- * takes a `{ current, next }` pair or one row for both; a collection check
150
- * has no current row, only the input it creates.
148
+ * The row a `where` reads and the row a `check` reads. An instance check takes
149
+ * a `{ current, next }` pair or one row for both; a collection check has no
150
+ * current row, only the input it creates.
151
151
  */
152
152
  function rowValues(permission, data) {
153
153
  if (permission.kind === "collection") return {
@@ -163,7 +163,10 @@ function rowValues(permission, data) {
163
163
  next: data
164
164
  };
165
165
  }
166
- /** The row's id under `field` as a string, or `*` when the row has no string or number there. */
166
+ /**
167
+ * The row's id under `field` as a string, or `*` when the row has no string or
168
+ * number there.
169
+ */
167
170
  function rowIdOf(row, field = "id") {
168
171
  if (row === null || typeof row !== "object" || !Object.hasOwn(row, field)) return "*";
169
172
  const id = Reflect.get(row, field);
@@ -171,14 +174,17 @@ function rowIdOf(row, field = "id") {
171
174
  }
172
175
  //#endregion
173
176
  //#region src/core/delegation.ts
174
- /** The permission's scope and any scope it was renamed from: tokens issued before a rename keep working. */
177
+ /**
178
+ * The permission's scope and any scope it was renamed from: tokens issued
179
+ * before a rename keep working.
180
+ */
175
181
  function scopeNames(permission) {
176
182
  return [permission.scope, ...formerScopes(permission)];
177
183
  }
178
184
  /**
179
185
  * Whether a delegated caller may use a permission its principal holds, through
180
- * OAuth `scopes`, RFC 9396 `authorizationDetails` or GNAP `access`.
181
- * `undefined` means covered; otherwise the denial reason `decide` would add.
186
+ * OAuth `scopes`, RFC 9396 `authorizationDetails` or GNAP `access`. `undefined`
187
+ * means covered; otherwise the denial reason `decide` would add.
182
188
  */
183
189
  function coveredByDelegation(permission, delegation, resourceId, hasActor = false) {
184
190
  const unscoped = hasActor ? "no-delegation" : void 0;
@@ -206,7 +212,10 @@ function coveredByDelegation(permission, delegation, resourceId, hasActor = fals
206
212
  if (scopeOk || detailOk || accessOk) return;
207
213
  return "not-delegated";
208
214
  }
209
- /** A `readOnly` actor never uses a permission without `readOnlyHint`, delegated or not. */
215
+ /**
216
+ * A `readOnly` actor never uses a permission without `readOnlyHint`, delegated
217
+ * or not.
218
+ */
210
219
  function readOnlyActorRefuses(actor, permission) {
211
220
  return actor?.readOnly === true && !annotationsFor(permission).readOnlyHint;
212
221
  }
@@ -266,10 +275,10 @@ function handsOver(delegation, subject, heldRoles, now) {
266
275
  /**
267
276
  * The permission keys the policy's delegations let `subject.actor` use for
268
277
  * `subject.principal` right now: the union over every active delegation whose
269
- * `to` matches the actor and whose `from` the principal holds. `undefined`
270
- * when none applies, so the call falls back to the token delegation alone.
271
- * An actor with `readOnly: true` gets only each delegation's read-only keys.
272
- * Attenuation only: a key here still needs a matching allow and no deny.
278
+ * `to` matches the actor and whose `from` the principal holds. `undefined` when
279
+ * none applies, so the call falls back to the token delegation alone. An actor
280
+ * with `readOnly: true` gets only each delegation's read-only keys. Attenuation
281
+ * only: a key here still needs a matching allow and no deny.
273
282
  */
274
283
  function delegatedPermissions(delegations, subject, heldRoles, now) {
275
284
  const actor = subject.actor;
@@ -1,5 +1,5 @@
1
- import { an as EmailCategory, rn as DeliveryFailureCause, tn as DeliveryChannel } from "../policy-types-B-F-qAZk.js";
2
- import { i as approvalUrlFor, n as ApprovalUrl, r as approvalPrompt, t as ApprovalPrompt } from "../approval-prompt-K0faOLFp.js";
3
- import { _ as TransportOptions, a as DeliveryReport, c as DeliveryTransport, d as EmailTransport, f as EmailUnsubscribe, g as TransportMessages, h as TransportItem, i as DeliveryMessages, l as DeliveryTransports, m as Recipient, n as ChatTransport, o as DeliveryResult, p as OutgoingEmail, r as DeliverOptions, s as DeliveryTarget, t as ChatMessage, u as EmailMessage, v as WebhookMessage, y as WebhookTransport } from "../types-g7Oy6Zg4.js";
4
- import { C as audience, S as SubscriberEvent, _ as ParseConnectorResult, a as DeliveryPermDock, b as Audience, c as MemoryDelivery, d as memoryDeliveryTransport, f as CONNECTOR_SCHEMA, g as ConnectorKind, h as ConnectorIssue, i as isDeliveryTarget, l as MemoryDeliveryTransport, m as Connector, n as webhookTransport, o as DeliveryPermDockOptions, p as CONNECTOR_KINDS, r as isAddrSpec, s as createPermDock, t as WebhookTransportOptions, u as MemoryDeliveryTransportOptions, v as SiemDestination, w as subscribersFor, x as AudienceOptions, y as parseConnector } from "../index-DLwcuCN_.js";
1
+ import { an as EmailCategory, rn as DeliveryFailureCause, tn as DeliveryChannel } from "../policy-types-CCiDRZBH.js";
2
+ import { i as approvalUrlFor, n as ApprovalUrl, r as approvalPrompt, t as ApprovalPrompt } from "../approval-prompt-PYagyQUj.js";
3
+ import { _ as TransportOptions, a as DeliveryReport, c as DeliveryTransport, d as EmailTransport, f as EmailUnsubscribe, g as TransportMessages, h as TransportItem, i as DeliveryMessages, l as DeliveryTransports, m as Recipient, n as ChatTransport, o as DeliveryResult, p as OutgoingEmail, r as DeliverOptions, s as DeliveryTarget, t as ChatMessage, u as EmailMessage, v as WebhookMessage, y as WebhookTransport } from "../types-yUuPR5Hy.js";
4
+ import { C as audience, S as SubscriberEvent, _ as ParseConnectorResult, a as DeliveryPermDock, b as Audience, c as MemoryDelivery, d as memoryDeliveryTransport, f as CONNECTOR_SCHEMA, g as ConnectorKind, h as ConnectorIssue, i as isDeliveryTarget, l as MemoryDeliveryTransport, m as Connector, n as webhookTransport, o as DeliveryPermDockOptions, p as CONNECTOR_KINDS, r as isAddrSpec, s as createPermDock, t as WebhookTransportOptions, u as MemoryDeliveryTransportOptions, v as SiemDestination, w as subscribersFor, x as AudienceOptions, y as parseConnector } from "../index-Bv5iXPqU.js";
5
5
  export { type ApprovalPrompt, type ApprovalUrl, type Audience, type AudienceOptions, CONNECTOR_KINDS, CONNECTOR_SCHEMA, type ChatMessage, type ChatTransport, type Connector, type ConnectorIssue, type ConnectorKind, type DeliverOptions, type DeliveryChannel, type DeliveryFailureCause, type DeliveryMessages, type DeliveryPermDock, type DeliveryPermDockOptions, type DeliveryReport, type DeliveryResult, type DeliveryTarget, type DeliveryTransport, type DeliveryTransports, type EmailCategory, type EmailMessage, type EmailTransport, type EmailUnsubscribe, type MemoryDelivery, type MemoryDeliveryTransport, type MemoryDeliveryTransportOptions, type OutgoingEmail, type ParseConnectorResult, type Recipient, type SiemDestination, type SubscriberEvent, type TransportItem, type TransportMessages, type TransportOptions, type WebhookMessage, type WebhookTransport, type WebhookTransportOptions, approvalPrompt, approvalUrlFor, audience, createPermDock, isAddrSpec, isDeliveryTarget, memoryDeliveryTransport, parseConnector, subscribersFor, webhookTransport };
@@ -1,6 +1,6 @@
1
- import { n as approvalUrlFor, t as approvalPrompt } from "../approval-prompt-Dg5LeAcT.js";
2
- import { n as subscribersFor, t as audience } from "../audience-BrMs8c4o.js";
3
- import { t as CONNECTOR_SCHEMA } from "../connector-schema-_VCSsdtD.js";
4
- import { a as parseConnector, i as CONNECTOR_KINDS, n as createPermDock, r as memoryDeliveryTransport, t as webhookTransport } from "../delivery-rwOKLWRm.js";
5
- import { i as isDeliveryTarget, n as isAddrSpec } from "../target-Bw37TFNA.js";
1
+ import { n as approvalUrlFor, t as approvalPrompt } from "../approval-prompt-B8hQY69x.js";
2
+ import { n as subscribersFor, t as audience } from "../audience-BAkBDMqn.js";
3
+ import { t as CONNECTOR_SCHEMA } from "../connector-schema-CYLQNMYq.js";
4
+ import { a as parseConnector, i as CONNECTOR_KINDS, n as createPermDock, r as memoryDeliveryTransport, t as webhookTransport } from "../delivery-BupfvJIV.js";
5
+ import { i as isDeliveryTarget, n as isAddrSpec } from "../target-qdEAnnhU.js";
6
6
  export { CONNECTOR_KINDS, CONNECTOR_SCHEMA, approvalPrompt, approvalUrlFor, audience, createPermDock, isAddrSpec, isDeliveryTarget, memoryDeliveryTransport, parseConnector, subscribersFor, webhookTransport };
@@ -1,12 +1,12 @@
1
1
  import { r as isRecord, 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 { n as loadPrincipalByIdentity } from "./principal-source-pHneukrx.js";
5
- import { t as deliveryEvent } from "./delivery-event-xX4obB8F.js";
6
- import { n as CLOUDEVENTS_CONTENT_TYPE } from "./sink-BEZSlMS_.js";
7
- import { n as copyJson, r as forbiddenKeyPath, t as checkSchema } from "./json-schema-B-vAwlde.js";
8
- import { t as CONNECTOR_SCHEMA } from "./connector-schema-_VCSsdtD.js";
9
- import { a as isWebhookAddress, i as isDeliveryTarget, n as isAddrSpec, r as isChatAddress, t as idempotencyKeyFor } from "./target-Bw37TFNA.js";
2
+ import { n as freezeDeep } from "./freeze-jjan0lCv.js";
3
+ import { a as ownRecord } from "./paths-CUvURzHp.js";
4
+ import { n as loadPrincipalByIdentity } from "./principal-source-C6N60GtM.js";
5
+ import { t as deliveryEvent } from "./delivery-event-JioK5YbS.js";
6
+ import { n as CLOUDEVENTS_CONTENT_TYPE } from "./sink-D9_vh372.js";
7
+ import { n as copyJson, r as forbiddenKeyPath, t as checkSchema } from "./json-schema-BPGa-RjQ.js";
8
+ import { t as CONNECTOR_SCHEMA } from "./connector-schema-CYLQNMYq.js";
9
+ import { a as isWebhookAddress, i as isDeliveryTarget, n as isAddrSpec, r as isChatAddress, t as idempotencyKeyFor } from "./target-qdEAnnhU.js";
10
10
  //#region src/delivery/connector.ts
11
11
  const BRANCHES = new Map((CONNECTOR_SCHEMA.oneOf ?? []).map((branch) => [branch.properties?.["kind"]?.const, branch]));
12
12
  /** The kinds `connector-v1` lists, in schema order. */
@@ -25,8 +25,8 @@ function fail$1(issues) {
25
25
  }
26
26
  /**
27
27
  * Checks `input` against `connector-v1.json` and answers a frozen copy, or
28
- * every issue with a JSON pointer. The branch is chosen by `kind`, so an
29
- * issue names the field rather than "no branch matched".
28
+ * every issue with a JSON pointer. The branch is chosen by `kind`, so an issue
29
+ * names the field rather than "no branch matched".
30
30
  */
31
31
  function parseConnector(input) {
32
32
  const issues = [];
@@ -55,7 +55,10 @@ function parseConnector(input) {
55
55
  }
56
56
  //#endregion
57
57
  //#region src/delivery/memory-transport.ts
58
- /** An in-process transport for tests and examples: it records what it would have sent. */
58
+ /**
59
+ * An in-process transport for tests and examples: it records what it would have
60
+ * sent.
61
+ */
59
62
  function memoryDeliveryTransport(channel, options = {}) {
60
63
  const deliveries = [];
61
64
  return Object.freeze({
@@ -89,7 +92,10 @@ const ROUTER_FIELDS = /* @__PURE__ */ new Set([
89
92
  "list-unsubscribe",
90
93
  "list-unsubscribe-post"
91
94
  ]);
92
- /** Fields that would add recipients or rewrite the envelope past the recipient check. */
95
+ /**
96
+ * Fields that would add recipients or rewrite the envelope past the recipient
97
+ * check.
98
+ */
93
99
  const ENVELOPE_FIELDS = /* @__PURE__ */ new Set([
94
100
  "to",
95
101
  "cc",
@@ -143,8 +149,8 @@ function unsubscribeHeaders(unsubscribe) {
143
149
  /**
144
150
  * The email a transport sends to `target`: `from` resolved, the caller's
145
151
  * headers checked, `Auto-Submitted: auto-generated` (RFC 3834) on every
146
- * message, and the RFC 2369 / RFC 8058 unsubscribe pair on `notification`
147
- * only. A message that cannot be sent as given returns the reason.
152
+ * message, and the RFC 2369 / RFC 8058 unsubscribe pair on `notification` only.
153
+ * A message that cannot be sent as given returns the reason.
148
154
  */
149
155
  function outgoingEmail(message, target, defaultFrom) {
150
156
  const from = message.from ?? defaultFrom;
@@ -188,7 +194,10 @@ function optionalString(value) {
188
194
  if (value === void 0) return;
189
195
  return typeof value === "string" && value !== "" ? value : null;
190
196
  }
191
- /** The recipient in the form its channel compares, or `null` when it is malformed. */
197
+ /**
198
+ * The recipient in the form its channel compares, or `null` when it is
199
+ * malformed.
200
+ */
192
201
  function checkRecipient(value) {
193
202
  const record = ownRecord(value);
194
203
  const channel = record?.["channel"];
@@ -281,9 +290,9 @@ async function sendBatch(transport, batch) {
281
290
  }));
282
291
  }
283
292
  /**
284
- * Sends every ready item: one batch call per `batchSize` items for a
285
- * transport with `deliverBatch`, one `deliver` call each otherwise. Events
286
- * keep recipient order.
293
+ * Sends every ready item: one batch call per `batchSize` items for a transport
294
+ * with `deliverBatch`, one `deliver` call each otherwise. Events keep recipient
295
+ * order.
287
296
  */
288
297
  async function send(prepared) {
289
298
  const events = prepared.map((entry) => "transport" in entry ? void 0 : entry);
@@ -310,7 +319,10 @@ async function send(prepared) {
310
319
  }));
311
320
  return events;
312
321
  }
313
- /** Routes checked recipients to channel transports and records a delivery event for each. */
322
+ /**
323
+ * Routes checked recipients to channel transports and records a delivery event
324
+ * for each.
325
+ */
314
326
  function createPermDock(_policy, options) {
315
327
  const source = options.source ?? "permdock";
316
328
  const decideRecipient = async (permdock, checked, permission, row) => {
@@ -497,9 +509,9 @@ function fromStatus(status) {
497
509
  }
498
510
  /**
499
511
  * Posts each CloudEvent to the target's https endpoint as
500
- * `application/cloudevents+json`, signed with the Standard Webhooks
501
- * headers. `webhook-id` is the idempotency key, so a retry repeats it and
502
- * the receiver drops the duplicate. Redirects are not followed.
512
+ * `application/cloudevents+json`, signed with the Standard Webhooks headers.
513
+ * `webhook-id` is the idempotency key, so a retry repeats it and the receiver
514
+ * drops the duplicate. Redirects are not followed.
503
515
  */
504
516
  function webhookTransport(signer, options = {}) {
505
517
  const timeout = options.timeout ?? 1e4;
@@ -1,12 +1,12 @@
1
1
  import { t as compact } from "./compact-CAf557ZB.js";
2
- import { t as assertAppData } from "./app-data-MuyzVqX8.js";
3
- import { d as isoNow } from "./time-DkWjdL98.js";
4
- import { n as requireEventInstant } from "./event-time-CsegxXxB.js";
2
+ import { t as assertAppData } from "./app-data-UNNm07jV.js";
3
+ import { d as isoNow } from "./time-nR1JesoH.js";
4
+ import { n as requireEventInstant } from "./event-time-BGy48400.js";
5
5
  //#region src/core/delivery-event.ts
6
6
  /**
7
- * A `delivery` sink event. Throws a `TypeError` when `cause` or `retryable`
8
- * is set on an operation other than `failed`, and a `RangeError` for a
9
- * malformed `at`.
7
+ * A `delivery` sink event. Throws a `TypeError` when `cause` or `retryable` is
8
+ * set on an operation other than `failed`, and a `RangeError` for a malformed
9
+ * `at`.
10
10
  */
11
11
  function checkedX(x) {
12
12
  assertAppData(x, "x of a delivery event");
@@ -0,0 +1,22 @@
1
+ import { Ln as Decision } from "./policy-types-CCiDRZBH.js";
2
+ import { u as Permission } from "./permission-types-CAY-GU7e.js";
3
+ //#region src/agent/denied-text.d.ts
4
+ /**
5
+ * What an agent adapter's `deniedText` receives: the refusal and the text
6
+ * PermDock wrote for it.
7
+ */
8
+ type DeniedTextEvent = {
9
+ readonly decision: Exclude<Decision, {
10
+ readonly outcome: "granted";
11
+ }> | null;
12
+ readonly permission: Permission | undefined;
13
+ readonly text: string;
14
+ };
15
+ /**
16
+ * Replaces the human-readable text of a refusal, and nothing else: the outcome,
17
+ * `isError`, the structured content and the approval token stay. `undefined`
18
+ * keeps PermDock's text.
19
+ */
20
+ type DeniedText = (event: DeniedTextEvent) => string | undefined;
21
+ //#endregion
22
+ export { DeniedTextEvent as n, DeniedText as t };
@@ -1,5 +1,5 @@
1
- import { i as flattenApprovers } from "./approvers-CqPOLD-o.js";
2
- import { r as requiredPlans } from "./problem-details-cn5X30gZ.js";
1
+ import { i as flattenApprovers } from "./approvers-B4r0N_Uz.js";
2
+ import { r as requiredPlans } from "./problem-details-CLDgX1KV.js";
3
3
  //#region src/core/describe.ts
4
4
  const TENANT_REASONS = /* @__PURE__ */ new Set([
5
5
  "tenant-mismatch",
@@ -31,7 +31,7 @@ function labelGrantee(grantee) {
31
31
  default: return grantee;
32
32
  }
33
33
  }
34
- const TITLES = {
34
+ const DESCRIBE_TITLES = {
35
35
  granted: "Granted",
36
36
  denied: "Denied",
37
37
  approval: "Approval required",
@@ -57,7 +57,7 @@ function approvalDetail(permission, labels) {
57
57
  function describe(decision, options) {
58
58
  const messages = options?.messages;
59
59
  const labelOf = (key) => options?.permission?.key === key ? options.permission.meta?.title ?? key : key;
60
- const titleOf = (kind) => messages?.titles?.[kind] ?? TITLES[kind];
60
+ const titleOf = (kind) => messages?.titles?.[kind] ?? DESCRIBE_TITLES[kind];
61
61
  if (decision.outcome === "granted") {
62
62
  const permission = labelOf(decision.matched.permission);
63
63
  return {
@@ -97,4 +97,4 @@ function describe(decision, options) {
97
97
  };
98
98
  }
99
99
  //#endregion
100
- export { describe as t };
100
+ export { describe as n, DESCRIBE_TITLES as t };
@@ -1,5 +1,5 @@
1
- import { Bn as DenialReason, Ln as Decision, Vn as DeniedDecision } from "./policy-types-B-F-qAZk.js";
2
- import { u as Permission } from "./permission-types-DhNEmoRG.js";
1
+ import { Bn as DenialReason, Ln as Decision, Vn as DeniedDecision } from "./policy-types-CCiDRZBH.js";
2
+ import { u as Permission } from "./permission-types-CAY-GU7e.js";
3
3
  //#region src/core/describe.d.ts
4
4
  type DecisionDescription = {
5
5
  readonly kind: "granted" | "denied" | "approval" | "tenant" | "delegation" | "server-only" | "upgrade";
@@ -16,9 +16,9 @@ type DecisionDescription = {
16
16
  type DescribeMessages = {
17
17
  readonly titles?: Partial<Record<DecisionDescription["kind"], string>>;
18
18
  /**
19
- * Text per denial reason; a denied detail joins the texts of its reasons
20
- * with `separator`. The function form also sees the decision; `undefined`
21
- * keeps the reason code, as a missing record entry does.
19
+ * Text per denial reason; a denied detail joins the texts of its reasons with
20
+ * `separator`. The function form also sees the decision; `undefined` keeps
21
+ * the reason code, as a missing record entry does.
22
22
  */
23
23
  readonly reasons?: Partial<Record<DenialReason, string>> | ((reason: DenialReason, decision: DeniedDecision) => string | undefined);
24
24
  /** Joins denial reason texts. Default `', '`. */
@@ -1,6 +1,6 @@
1
1
  import { r as isRecord, t as compact } from "./compact-CAf557ZB.js";
2
- import { h as secondsAt } from "./time-DkWjdL98.js";
3
- import { n as readBodyText } from "./body-text-QcXok_SI.js";
2
+ import { h as secondsAt } from "./time-nR1JesoH.js";
3
+ import { n as readBodyText } from "./body-text-DQhcmqdY.js";
4
4
  import { t as timeoutSignal } from "./timeout-D51niuQP.js";
5
5
  //#region src/terminal/device.ts
6
6
  /** Milliseconds an authorization server request may take. */
@@ -15,7 +15,10 @@ async function readJson(response) {
15
15
  return null;
16
16
  }
17
17
  }
18
- /** POSTs a form and reads a JSON object back; any network or parse failure is `null`. */
18
+ /**
19
+ * POSTs a form and reads a JSON object back; any network or parse failure is
20
+ * `null`.
21
+ */
19
22
  async function postForm(runtime, url, fields) {
20
23
  const fetchImpl = runtime.fetch ?? fetch;
21
24
  try {
@@ -33,9 +36,9 @@ function withoutTrailingSlash(url) {
33
36
  return url.replace(/\/+$/u, "");
34
37
  }
35
38
  /**
36
- * Where RFC 8414 metadata may live: the well-known segment inserted before
37
- * the issuer's path (section 3.1), then appended after it for servers that
38
- * predate the rule. An issuer without a path has one location.
39
+ * Where RFC 8414 metadata may live: the well-known segment inserted before the
40
+ * issuer's path (section 3.1), then appended after it for servers that predate
41
+ * the rule. An issuer without a path has one location.
39
42
  */
40
43
  function metadataUrls(issuer) {
41
44
  const parsed = new URL(issuer);
@@ -44,8 +47,8 @@ function metadataUrls(issuer) {
44
47
  return path === "" ? [inserted] : [inserted, `${withoutTrailingSlash(issuer)}/.well-known/oauth-authorization-server`];
45
48
  }
46
49
  /**
47
- * The issuer's RFC 8414 metadata, or `null`. Metadata whose `issuer` is not
48
- * the configured issuer is refused (section 3.3), so a mix-up never routes a
50
+ * The issuer's RFC 8414 metadata, or `null`. Metadata whose `issuer` is not the
51
+ * configured issuer is refused (section 3.3), so a mix-up never routes a
49
52
  * credential to another server.
50
53
  */
51
54
  async function discoverAuthorizationServer(issuer, runtime) {
@@ -1,5 +1,5 @@
1
1
  import { t as defineLeaf } from "./command-L8EstFNm.js";
2
- import { c as given } from "./flags-aaeRAdiD.js";
2
+ import { c as given } from "./flags-DXjoTVbS.js";
3
3
  //#region src/cli/commands/diff.ts
4
4
  const diff = defineLeaf({
5
5
  positionals: [{
@@ -21,7 +21,7 @@ const diff = defineLeaf({
21
21
  }
22
22
  },
23
23
  async run(ctx, { flags, args }) {
24
- return (await import("./diff-DzT-xD13.js")).runDiff({
24
+ return (await import("./diff-iZWV65nC.js")).runDiff({
25
25
  cwd: ctx.cwd,
26
26
  config: ctx.config,
27
27
  sources: [args["before"], args["after"]].filter((value) => value !== void 0),
@@ -1,14 +1,14 @@
1
- import { A as memoryCustomRoleSource } from "./src-DLFrtrrC.js";
2
- import { n as findPermission } from "./permission-registry-DpPtSKNZ.js";
3
- import { g as secondsOf } from "./time-DkWjdL98.js";
1
+ import { A as memoryCustomRoleSource } from "./src-DZ0l9UAg.js";
2
+ import { n as findPermission } from "./permission-registry-B8tYxPIt.js";
3
+ import { g as secondsOf } from "./time-nR1JesoH.js";
4
4
  import { t as canonicalJson } from "./canonical-json-DwilZ1iB.js";
5
- import { t as getPermDock } from "./permdock-BfWEeMqk.js";
6
- import { i as configError, u as usageResult } from "./errors-DpP_U6Bf.js";
7
- import { t as buildCatalog } from "./catalog-doc-CV9s6B1S.js";
8
- import { a as loadModule, n as asPolicy, s as pickNamed } from "./load-DxroEzH1.js";
9
- import { t as parseCatalog } from "./parse-Ddhz2xf4.js";
10
- import { t as operationFindings } from "./operation-findings-kRcEp8lE.js";
11
- import { n as fixtureSubject, r as loadFixtures, t as fixtureRow } from "./fixtures-BTMW6zgU.js";
5
+ import { t as getPermDock } from "./permdock-L-_I_3zP.js";
6
+ import { i as configError, u as usageResult } from "./errors-Vpu6rKHl.js";
7
+ import { t as buildCatalog } from "./catalog-doc-DjMKzJp9.js";
8
+ import { a as loadModule, n as asPolicy, s as pickNamed } from "./load-DjSU5KXO.js";
9
+ import { t as parseCatalog } from "./parse-1_ZheTW5.js";
10
+ import { t as operationFindings } from "./operation-findings-CXtFzlKJ.js";
11
+ import { n as fixtureSubject, r as loadFixtures, t as fixtureRow } from "./fixtures-A1_sp_tR.js";
12
12
  import { existsSync, readFileSync } from "node:fs";
13
13
  import { resolve } from "node:path";
14
14
  //#region src/cli/diff/format.ts
@@ -90,7 +90,10 @@ function setDiff(before, after) {
90
90
  removed: before.filter((item) => !b.has(item)).toSorted()
91
91
  };
92
92
  }
93
- /** What makes two grants "the same grant" across versions: everything but the body. */
93
+ /**
94
+ * What makes two grants "the same grant" across versions: everything but the
95
+ * body.
96
+ */
94
97
  function grantIdentity(grant) {
95
98
  return canonicalJson({
96
99
  permission: grant.permission,
@@ -125,7 +128,10 @@ function fieldsChange(before, after) {
125
128
  }
126
129
  const validFrom = (value) => secondsOf(value?.from) ?? Number.NEGATIVE_INFINITY;
127
130
  const validUntil = (value) => secondsOf(value?.until) ?? Number.POSITIVE_INFINITY;
128
- /** Narrowed when the window starts later or ends earlier than before; a new window on an open grant narrows it. */
131
+ /**
132
+ * Narrowed when the window starts later or ends earlier than before; a new
133
+ * window on an open grant narrows it.
134
+ */
129
135
  function validityChange(before, after) {
130
136
  return validFrom(after) > validFrom(before) || validUntil(after) < validUntil(before) ? "validity narrowed" : "validity widened";
131
137
  }
@@ -207,7 +213,10 @@ function sideRef(side) {
207
213
  function aliasesOf(catalog) {
208
214
  return new Map(catalog.permissions.flatMap((item) => (item.renamedFrom ?? []).map((old) => [old, item.key])));
209
215
  }
210
- /** `a` with every key `b` renamed written as its new key, so grants compare by the current name. */
216
+ /**
217
+ * `a` with every key `b` renamed written as its new key, so grants compare by
218
+ * the current name.
219
+ */
211
220
  function underNames(a, aliases) {
212
221
  if (a.catalog.grants === void 0 || aliases.size === 0) return a;
213
222
  return {
@@ -1,9 +1,9 @@
1
1
  //#region src/core/digest.d.ts
2
2
  /**
3
3
  * What a PermDock error's `digest` says. React keeps `digest` when an error
4
- * crosses from a Server Component to the client, where production builds
5
- * redact the message, so a client error boundary can still tell a denial or
6
- * an approval request from any other failure.
4
+ * crosses from a Server Component to the client, where production builds redact
5
+ * the message, so a client error boundary can still tell a denial or an
6
+ * approval request from any other failure.
7
7
  */
8
8
  type PermDockDigest = {
9
9
  readonly outcome: "denied";