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,13 +1,16 @@
1
- import { c as missingInput } from "./errors-CWTY6uih.js";
1
+ import { c as missingInput } from "./errors-Vpu6rKHl.js";
2
2
  import { t as defineLeaf } from "./command-L8EstFNm.js";
3
- import { c as given, d as policyFlag, f as validatorFlag, i as dryRunFlag, l as outFlag, n as dbUrl, o as fileOut, r as dbUrlFlags, t as checkFlag } from "./flags-C3DktBDY.js";
3
+ import { c as given, d as policyFlag, f as validatorFlag, i as dryRunFlag, l as outFlag, n as dbUrl, o as fileOut, r as dbUrlFlags, t as checkFlag } from "./flags-DXjoTVbS.js";
4
4
  //#region src/cli/commands/rls.ts
5
5
  const membershipsFlag = { memberships: {
6
6
  type: "string",
7
7
  description: "Membership table as <table>:tenant,user,role",
8
8
  valueHint: "table"
9
9
  } };
10
- /** The flags that shape the generated SQL; verify --introspect and migrate take them too. */
10
+ /**
11
+ * The flags that shape the generated SQL; verify --introspect and migrate take
12
+ * them too.
13
+ */
11
14
  const shapeFlags = {
12
15
  target: {
13
16
  type: "enum",
@@ -86,7 +89,7 @@ const shapeFlags = {
86
89
  },
87
90
  fields: {
88
91
  type: "enum",
89
- options: ["views"],
92
+ options: ["views", "mask"],
90
93
  description: "Field security"
91
94
  },
92
95
  "revoke-columns": {
@@ -141,7 +144,10 @@ const SHAPE_DEFAULTS = {
141
144
  schemas: void 0,
142
145
  "db-url-stdin": false
143
146
  };
144
- /** Every RlsRunInput field at its "not given" value, with the shape flags applied. */
147
+ /**
148
+ * Every RlsRunInput field at its "not given" value, with the shape flags
149
+ * applied.
150
+ */
145
151
  async function rlsInput(ctx, verb, shape, options) {
146
152
  return {
147
153
  cwd: ctx.cwd,
@@ -186,7 +192,7 @@ async function rlsInput(ctx, verb, shape, options) {
186
192
  };
187
193
  }
188
194
  async function runRls(input) {
189
- return (await import("./rls-DTvYd-lI.js")).runRls(input);
195
+ return (await import("./rls-CNEH2_BG.js")).runRls(input);
190
196
  }
191
197
  const generate = defineLeaf({
192
198
  flags: {
@@ -209,7 +215,8 @@ const generate = defineLeaf({
209
215
  valueHint: "parts",
210
216
  list: true,
211
217
  async complete() {
212
- return (await import("./output-files-B3IZJksC.js")).SPLIT_PARTS;
218
+ const { SPLIT_PARTS } = await import("./output-files-BHOIlrfD.js");
219
+ return SPLIT_PARTS;
213
220
  }
214
221
  },
215
222
  "grants-out": {
@@ -222,6 +229,10 @@ const generate = defineLeaf({
222
229
  description: "File for the role_permissions seeds",
223
230
  valueHint: "file"
224
231
  },
232
+ "no-seeds": {
233
+ type: "boolean",
234
+ description: "Do not write the seeds part: the project seeds role_permissions itself"
235
+ },
225
236
  "backfill-out": {
226
237
  type: "string",
227
238
  description: "File for the rls.customRoles.from copy",
@@ -239,6 +250,7 @@ const generate = defineLeaf({
239
250
  split: given(flags.split),
240
251
  grantsOut: given(flags["grants-out"]),
241
252
  seedsOut: given(flags["seeds-out"]),
253
+ ...flags["no-seeds"] ? { noSeeds: true } : {},
242
254
  ...backfillOut === void 0 ? {} : { backfillOut }
243
255
  });
244
256
  }
@@ -278,7 +290,12 @@ const verify = defineLeaf({
278
290
  kind: {
279
291
  type: "enum",
280
292
  options: ["node", "pgtap"],
281
- description: "Run the fixtures in Node or emit a pgTAP file"
293
+ description: "Run the fixtures in Node or write a pgTAP file"
294
+ },
295
+ out: {
296
+ type: "string",
297
+ description: "With --kind pgtap, the file to write (default supabase/tests/permdock_rls.test.sql)",
298
+ valueHint: "file"
282
299
  },
283
300
  tree: {
284
301
  type: "boolean",
@@ -291,19 +308,33 @@ const verify = defineLeaf({
291
308
  advisors: {
292
309
  type: "boolean",
293
310
  description: "Run the Supabase security advisors"
311
+ },
312
+ ignore: {
313
+ type: "string",
314
+ repeatable: true,
315
+ description: "Accept the finding with this id for one run; rls.verify.ignore is the committed baseline",
316
+ valueHint: "id"
294
317
  }
295
318
  },
296
319
  async run(ctx, { flags }) {
297
320
  return runRls({
298
321
  ...await rlsInput(ctx, "verify", flags, { dbRequired: flags.introspect || flags.tree }),
322
+ out: fileOut("rls verify", flags.out),
299
323
  fixtures: given(flags.fixtures),
300
324
  format: flags.kind,
301
325
  tree: flags.tree,
302
326
  introspect: flags.introspect,
303
- advisors: flags.advisors
327
+ advisors: flags.advisors,
328
+ ignore: flags.ignore
304
329
  });
305
330
  }
306
331
  });
332
+ const explain = defineLeaf({
333
+ flags: { ...shapeFlags },
334
+ async run(ctx, { flags }) {
335
+ return runRls(await rlsInput(ctx, "explain", flags));
336
+ }
337
+ });
307
338
  const migrate = defineLeaf({
308
339
  flags: {
309
340
  ...shapeFlags,
@@ -333,4 +364,4 @@ const migrate = defineLeaf({
333
364
  }
334
365
  });
335
366
  //#endregion
336
- export { generate, importPolicies, migrate, verify };
367
+ export { explain, generate, importPolicies, migrate, verify };
@@ -1,14 +1,14 @@
1
1
  import { a as sole, n as isReadonlyArray, t as compact } from "./compact-CAf557ZB.js";
2
- import { n as freezeDeep } from "./freeze-CrU8nQeX.js";
3
- import { i as ownKeys, n as isForbiddenKey, t as assertSafeKey } from "./paths-DXSHAMIa.js";
4
- import { c as isConditionRef, l as isSqlFunctionField, n as isSubjectRef, o as isCondition, s as isConditionDate } from "./refs-K6eWUJ0H.js";
5
- import { c as isUserApprover, i as flattenApprovers, l as user, o as isAnyOfInput, r as approverLeaves, s as isPermissionApprover } from "./approvers-CqPOLD-o.js";
6
- import { c as listPermissions, o as isPermission } from "./permission-registry-Br4jSNVi.js";
7
- import { n as assertMetaValue, r as parseAppData, t as assertAppData } from "./app-data-MuyzVqX8.js";
8
- import { d as isSelfParented } from "./resource-relations-D_jw0BFx.js";
9
- import { a as durationOf, r as assertDuration } from "./time-DkWjdL98.js";
10
- import { a as authenticated, d as roleScopeOf, g as isRole, o as flattenGrantee, r as asGrantee, u as roleNameOf } from "./grantee-hxrUsbpM.js";
11
- import { c as sanitizeFields, n as normalizeValidity } from "./validity-CZ7-y0Cj.js";
2
+ import { n as freezeDeep } from "./freeze-jjan0lCv.js";
3
+ import { i as ownKeys, n as isForbiddenKey, t as assertSafeKey } from "./paths-CUvURzHp.js";
4
+ import { c as isConditionDate, l as isConditionRef, r as isSubjectRef, s as isCondition, u as isSqlFunctionField } from "./refs-C8BKxc_e.js";
5
+ import { c as isUserApprover, i as flattenApprovers, l as user, o as isAnyOfInput, r as approverLeaves, s as isPermissionApprover } from "./approvers-B4r0N_Uz.js";
6
+ import { c as listPermissions, o as isPermission } from "./permission-registry-B8tYxPIt.js";
7
+ import { n as assertMetaValue, r as parseAppData, t as assertAppData } from "./app-data-UNNm07jV.js";
8
+ import { d as isSelfParented } from "./resource-relations-8-pCScBO.js";
9
+ import { a as durationOf, r as assertDuration } from "./time-nR1JesoH.js";
10
+ import { a as authenticated, d as roleScopeOf, g as isRole, o as flattenGrantee, r as asGrantee, u as roleNameOf } from "./grantee-Dke-9rd1.js";
11
+ import { c as sanitizeFields, n as normalizeValidity } from "./validity-Buc7w8E9.js";
12
12
  //#region src/conditions/opaque.ts
13
13
  function opaque(input) {
14
14
  return freezeDeep({
@@ -152,7 +152,10 @@ function normalizeSqlFunction(input) {
152
152
  twin
153
153
  });
154
154
  }
155
- /** `{ session: … }` under `subject`; any other value is a comparison on a `subject` field. */
155
+ /**
156
+ * `{ session: … }` under `subject`; any other value is a comparison on a
157
+ * `subject` field.
158
+ */
156
159
  function isSubjectCondition(value) {
157
160
  return value !== null && typeof value === "object" && !Array.isArray(value) && Object.hasOwn(value, "session");
158
161
  }
@@ -213,7 +216,10 @@ function normalizeWhere(input) {
213
216
  }
214
217
  //#endregion
215
218
  //#region src/core/approval-normalize.ts
216
- /** Every approver a requirement names: `by`, each stage and its escalation, and `escalation.to`, inside `anyOf` groups too. */
219
+ /**
220
+ * Every approver a requirement names: `by`, each stage and its escalation, and
221
+ * `escalation.to`, inside `anyOf` groups too.
222
+ */
217
223
  function approversOf(requirement) {
218
224
  return [
219
225
  ...approverLeaves(requirement.by),
@@ -330,9 +336,9 @@ function assertApprovalVersions(grants, resources) {
330
336
  }
331
337
  }
332
338
  /**
333
- * A relation approver is checked by id, from the requested row: the
334
- * relation lives on the permission's own resource (optionally up its parent
335
- * chain), or at the end of a list of links from it.
339
+ * A relation approver is checked by id, from the requested row: the relation
340
+ * lives on the permission's own resource (optionally up its parent chain), or
341
+ * at the end of a list of links from it.
336
342
  */
337
343
  function assertApprovalRelations(grants, resources) {
338
344
  for (const grant of grants) {
@@ -347,7 +353,10 @@ function assertApprovalRelations(grants, resources) {
347
353
  }
348
354
  }
349
355
  }
350
- /** The resource a relation approver's `through` reaches from `start`, or `undefined`. */
356
+ /**
357
+ * The resource a relation approver's `through` reaches from `start`, or
358
+ * `undefined`.
359
+ */
351
360
  function approverRelationResource(start, through, resources) {
352
361
  if (through === void 0) return start;
353
362
  if (through === "parent") return isSelfParented(resources.get(start)) ? start : void 0;
@@ -368,7 +377,10 @@ function assertLimit(limit, permissionKey) {
368
377
  if (limit.mode !== void 0 && limit.mode !== "hard" && limit.mode !== "soft") throw new Error(`PermDock: limit mode on '${permissionKey}' must be 'hard' or 'soft'`);
369
378
  if (limit.alertAt !== void 0 && (typeof limit.alertAt !== "number" || !(limit.alertAt > 0 && limit.alertAt <= 1))) throw new Error(`PermDock: limit alertAt on '${permissionKey}' must be a fraction above 0 and at most 1`);
370
379
  }
371
- /** The declared fields of a validated `limit`, so extra keys never reach the grant. */
380
+ /**
381
+ * The declared fields of a validated `limit`, so extra keys never reach the
382
+ * grant.
383
+ */
372
384
  function normalizeLimit(limit) {
373
385
  if (limit === void 0) return;
374
386
  return {
@@ -436,7 +448,10 @@ function makeGrant(permission, effect, condition) {
436
448
  requires
437
449
  });
438
450
  }
439
- /** Checks a grant's `meta`: plain JSON, string `description`, `x` through the schema when given. */
451
+ /**
452
+ * Checks a grant's `meta`: plain JSON, string `description`, `x` through the
453
+ * schema when given.
454
+ */
440
455
  function grantMeta(meta, key, schema) {
441
456
  if (meta === void 0) return;
442
457
  assertAppData(meta, `meta of a grant on ${key}`);
@@ -478,7 +493,10 @@ function appObligations(input, key, effect) {
478
493
  }
479
494
  return out.length === 0 ? void 0 : freezeDeep(out);
480
495
  }
481
- /** Re-checks every grant's `meta.x` with the policy's grant schema, keeping the schema output. */
496
+ /**
497
+ * Re-checks every grant's `meta.x` with the policy's grant schema, keeping the
498
+ * schema output.
499
+ */
482
500
  function withGrantSchema(grant, schema) {
483
501
  const meta = grant.meta;
484
502
  if (schema === void 0 || meta?.x === void 0) return grant;
@@ -602,7 +620,10 @@ function holderCount(roleName, option, value) {
602
620
  if (typeof value !== "number" || !Number.isInteger(value) || value < 0) throw new Error(`PermDock: role '${roleName}' ${option} must be a whole number of holders`);
603
621
  return value;
604
622
  }
605
- /** Ownership rules count holders per scope instance, so they need a named-scope role. */
623
+ /**
624
+ * Ownership rules count holders per scope instance, so they need a named-scope
625
+ * role.
626
+ */
606
627
  function roleRules(roleName, scope, options) {
607
628
  const min = holderCount(roleName, "min", options?.min);
608
629
  const max = holderCount(roleName, "max", options?.max);
@@ -0,0 +1,4 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod, mod.exports), cb = null), mod.exports);
3
+ //#endregion
4
+ export { __commonJSMin as t };
@@ -9,9 +9,10 @@ const ROW_GRANTEES = /* @__PURE__ */ new Set([
9
9
  /**
10
10
  * Whether a grant depends on more than the role and the scope: a row or body
11
11
  * condition, a closure, a field list, a purpose, a break-glass override, a
12
- * validity window, a `requires`, or a relation, plan, actor or assurance grantee. The SQL helpers
13
- * (`permdock_has`, `permitted_<scope>_ids`) check only role and scope, so a
14
- * policy that calls them for such a permission would widen access.
12
+ * validity window, a `requires`, or a relation, plan, actor or assurance
13
+ * grantee. The SQL helpers (`permdock_has`, `permitted_<scope>_ids`) check only
14
+ * role and scope, so a policy that calls them for such a permission would widen
15
+ * access.
15
16
  */
16
17
  function grantHasRowConditions(grant) {
17
18
  const grantees = Array.isArray(grant.to) ? grant.to : [grant.to];
@@ -1,8 +1,8 @@
1
1
  import { t as compact } from "./compact-CAf557ZB.js";
2
- import { s as requestFromContext } from "./http-BBoKefeS.js";
3
- import { n as tenantScope } from "./adapter-context-CRhqyzCk.js";
4
- import { t as adapterKernel } from "./bind-CAvgUuKs.js";
5
- import { r as guardIterable } from "./stream-CvdUS9V1.js";
2
+ import { s as requestFromContext } from "./http-DKLXrFGk.js";
3
+ import { n as tenantScope } from "./adapter-context-CIQpQxbE.js";
4
+ import { t as adapterKernel } from "./bind-D_sZSVA3.js";
5
+ import { r as guardIterable } from "./stream-CDvF0sJm.js";
6
6
  //#region src/server/rpc.ts
7
7
  /** The tRPC and oRPC error code for a Problem Details status. */
8
8
  function rpcCode(status) {
@@ -83,7 +83,10 @@ function bindRpcKernel(policy, options, adapter, contextOf, path) {
83
83
  guard
84
84
  };
85
85
  }
86
- /** Wraps a streamed result so revocation ends it and items the subscriber cannot read drop. */
86
+ /**
87
+ * Wraps a streamed result so revocation ends it and items the subscriber cannot
88
+ * read drop.
89
+ */
87
90
  async function guardStream(source, open, permission, data, protectOptions, guard) {
88
91
  const conn = await open(permission === null ? {} : compact({
89
92
  permission,
@@ -1,13 +1,13 @@
1
- import { i as dateAt } from "./time-DkWjdL98.js";
2
- import { a as describeError, l as problemOf, n as CliError, r as cliProblem, s as kindOfCode } from "./errors-CWTY6uih.js";
3
- import { s as cliVersion } from "./version-CEbQ5UeM.js";
4
- import { a as resolveCwd, i as readConfig } from "./config-bs_kZeYq.js";
1
+ import { i as dateAt } from "./time-nR1JesoH.js";
2
+ import { a as describeError, l as problemOf, n as CliError, r as cliProblem, s as kindOfCode } from "./errors-Vpu6rKHl.js";
3
+ import { s as cliVersion } from "./version-DMQ0dnN5.js";
4
+ import { a as resolveCwd, i as readConfig } from "./config-BwPBfN0t.js";
5
5
  import { t as beforeFirst } from "./text-BMFRfBqc.js";
6
- import { a as suggestion, i as parseLeaf, n as flagSpellings, o as GLOBAL_FLAGS, r as parseFlags } from "./args-IIolxxKA.js";
7
- import { r as progressReporter, t as redact } from "./credentials-DPyHmYz5.js";
8
- import { a as resolve, i as leaves, n as ROOT, r as SECTIONS, t as DOCS_BASE } from "./manifest-dvL2XEe1.js";
9
- import { t as createStyle } from "./style-Uao76wO7.js";
10
- import { a as sarifLog, i as githubAnnotations, n as envelope, t as dataOf } from "./output-1im__-08.js";
6
+ import { a as suggestion, i as parseLeaf, n as flagSpellings, o as GLOBAL_FLAGS, r as parseFlags } from "./args-0FrVs5EH.js";
7
+ import { r as progressReporter, t as redact } from "./credentials-CdDxp7jN.js";
8
+ import { a as resolve, i as leaves, n as ROOT, r as SECTIONS, t as DOCS_BASE } from "./manifest-Cgiq5oqc.js";
9
+ import { t as createStyle } from "./style-Ds11Hmk4.js";
10
+ import { i as githubAnnotations, n as envelope, o as sarifLog, t as dataOf } from "./output-tkju6U7R.js";
11
11
  import { i as renameMessage, r as flagRename, t as COMMAND_MOVES } from "./renames-CGj7YwcQ.js";
12
12
  import { stripVTControlCharacters } from "node:util";
13
13
  import { existsSync, statSync } from "node:fs";
@@ -19,8 +19,8 @@ function set(env, name) {
19
19
  }
20
20
  /**
21
21
  * The AI agent running the CLI, from the variables `@vercel/detect-agent`
22
- * reads, in its order. `CURSOR_TRACE_ID` is also set in Cursor's own
23
- * terminal, so it counts only when stdout is not a TTY.
22
+ * reads, in its order. `CURSOR_TRACE_ID` is also set in Cursor's own terminal,
23
+ * so it counts only when stdout is not a TTY.
24
24
  */
25
25
  function detectAgent(env, probe) {
26
26
  const named = env["AI_AGENT"]?.trim();
@@ -94,8 +94,8 @@ function modeOf(value, source) {
94
94
  return mode;
95
95
  }
96
96
  /**
97
- * `--agent`, then `PERMDOCK_AGENT`, then detection. An unknown value is a
98
- * usage error, so a typo never leaves an agent with prompts it cannot answer.
97
+ * `--agent`, then `PERMDOCK_AGENT`, then detection. An unknown value is a usage
98
+ * error, so a typo never leaves an agent with prompts it cannot answer.
99
99
  */
100
100
  function agentMode(flag, env, probe) {
101
101
  const mode = flag === void 0 ? modeOf(env["PERMDOCK_AGENT"], "PERMDOCK_AGENT") ?? "auto" : modeOf(flag, "--agent") ?? "auto";
@@ -110,8 +110,8 @@ function agentMode(flag, env, probe) {
110
110
  //#region src/cli/core/consent.ts
111
111
  /**
112
112
  * The reasons a run needs consent: it edits files the project owns, it
113
- * publishes to the Cloud, or `--force` overwrites files PermDock did not
114
- * write. A `--dry-run` or `--check` run writes nothing and needs none.
113
+ * publishes to the Cloud, or `--force` overwrites files PermDock did not write.
114
+ * A `--dry-run` or `--check` run writes nothing and needs none.
115
115
  */
116
116
  function consentReasons(effects, flags) {
117
117
  if (flags["dry-run"] === true || flags["check"] === true) return [];
@@ -126,8 +126,8 @@ function quote(token) {
126
126
  return /^[\w@%+=:,./-]+$/u.test(token) ? token : `'${token.replaceAll("'", String.raw`'\''`)}'`;
127
127
  }
128
128
  /**
129
- * The argv as a command line to run again, `--confirm` dropped. Secrets
130
- * only arrive through `--*-stdin` flags, so the line holds none.
129
+ * The argv as a command line to run again, `--confirm` dropped. Secrets only
130
+ * arrive through `--*-stdin` flags, so the line holds none.
131
131
  */
132
132
  function replayArgv(argv) {
133
133
  const out = [];
@@ -143,8 +143,8 @@ function replayArgv(argv) {
143
143
  }
144
144
  /**
145
145
  * A short token bound to what the person agrees to, the directory and the
146
- * command line. Hex, because a base64url token may start with `-` and parse
147
- * as a flag. 16 characters, as better-supabase's.
146
+ * command line. Hex, because a base64url token may start with `-` and parse as
147
+ * a flag. 16 characters, as better-supabase's.
148
148
  */
149
149
  function consentToken(reasons, argv, cwd) {
150
150
  return createHash("sha256").update(JSON.stringify([
@@ -304,7 +304,10 @@ function document(commands) {
304
304
  commands
305
305
  };
306
306
  }
307
- /** `<command> --help --json`: the `cli-commands-v1` document with that command only. */
307
+ /**
308
+ * `<command> --help --json`: the `cli-commands-v1` document with that command
309
+ * only.
310
+ */
308
311
  function leafDocument(path, entry, leaf) {
309
312
  return document([leafJson(path, entry, leaf)]);
310
313
  }
@@ -402,8 +405,8 @@ function lined(text) {
402
405
  return text === "" || text.endsWith("\n") ? text : `${text}\n`;
403
406
  }
404
407
  /**
405
- * The step that answers an `input_required` error without its own `next`:
406
- * the same command line with each missing flag or positional filled by a
408
+ * The step that answers an `input_required` error without its own `next`: the
409
+ * same command line with each missing flag or positional filled by a
407
410
  * placeholder the caller replaces.
408
411
  */
409
412
  function missingInputNext(argv, error) {
@@ -675,7 +678,7 @@ async function run(argv, options) {
675
678
  if (result.streamed === true) return done(result.code);
676
679
  if (format === "github" || format === "sarif") {
677
680
  const findings = result.findings ?? [];
678
- writeOut(format === "github" ? githubAnnotations(findings) || "" : sarifLog(name, findings));
681
+ writeOut(format === "github" ? githubAnnotations(findings) : sarifLog(name, findings));
679
682
  return done(result.code);
680
683
  }
681
684
  if (json) {
@@ -0,0 +1 @@
1
+ export { t as run } from "./run-Bz26OTfO.js";
@@ -1,7 +1,10 @@
1
- import { $n as Delegation, Rt as Instant, Yn as AuthorizationDetail, ar as Subject, dt as TokenVerifier, lt as TokenFailureCause, qn as Actor, qt as AuthEvent, rr as Principal, ut as TokenSigner } from "./policy-types-n0uRTsW8.js";
2
- import { p as PrincipalSource } from "./permdock-SV8ZINYT.js";
1
+ import { $n as AuthorizationDetail, Rt as Instant, Zn as Actor, Zt as AuthEvent, dt as TokenVerifier, lr as Subject, lt as TokenFailureCause, rr as Delegation, sr as Principal, ut as TokenSigner } from "./policy-types-CCiDRZBH.js";
2
+ import { _ as PrincipalSource } from "./permdock-B6Sf4T_S.js";
3
3
  //#region src/server/run-ticket.d.ts
4
- /** What started the run: a saved automation, a background job, or a caller's own request. */
4
+ /**
5
+ * What started the run: a saved automation, a background job, or a caller's own
6
+ * request.
7
+ */
5
8
  type RunKind = "automation" | "job" | "caller";
6
9
  /** RFC 8693 `act`: the party running the work, with the chain of earlier actors. */
7
10
  type RunActClaim = {
@@ -9,7 +12,10 @@ type RunActClaim = {
9
12
  readonly kind?: string;
10
13
  readonly act?: RunActClaim;
11
14
  };
12
- /** The connector and tools a run may reach; carried for the adapter, never a grant. */
15
+ /**
16
+ * The connector and tools a run may reach; carried for the adapter, never a
17
+ * grant.
18
+ */
13
19
  type RunBinding = {
14
20
  readonly connector?: string;
15
21
  readonly tools?: readonly string[];
@@ -18,7 +24,10 @@ type RunAutomation = {
18
24
  readonly id: string;
19
25
  readonly version: number | string;
20
26
  };
21
- /** The v1 claims of a `vnd.permdock.run+jwt`. At least one of `scope` and `authorization_details` is present. */
27
+ /**
28
+ * The v1 claims of a `vnd.permdock.run+jwt`. At least one of `scope` and
29
+ * `authorization_details` is present.
30
+ */
22
31
  type RunTicket = {
23
32
  readonly v: 1;
24
33
  readonly iss: string;
@@ -34,17 +43,28 @@ type RunTicket = {
34
43
  /** Present exactly when `kind` is `automation`. */
35
44
  readonly automation?: RunAutomation;
36
45
  readonly tenant?: string;
37
- /** The event that started the run, as JSON. Evaluation never reads it as a grant. */
46
+ /**
47
+ * The event that started the run, as JSON. Evaluation never reads it as a
48
+ * grant.
49
+ */
38
50
  readonly trigger?: Readonly<Record<string, unknown>>;
39
51
  readonly binding?: RunBinding;
40
52
  };
53
+ /**
54
+ * Every v1 claim of a `vnd.permdock.run+jwt`, the set `parseRunTicket` keeps. A
55
+ * signing service passes only these to its signer.
56
+ */
57
+ declare const RUN_TICKET_CLAIMS: readonly (keyof RunTicket)[];
41
58
  type RunTicketInput = {
42
59
  /** The principal the run acts for (`sub`). */
43
60
  readonly principal: string;
44
61
  readonly kind: RunKind;
45
62
  /** Becomes `act`; a nested `act` on the actor is kept as the chain. */
46
63
  readonly actor?: Actor;
47
- /** The run's ceiling. Required: a ticket never carries the principal's full authority. */
64
+ /**
65
+ * The run's ceiling. Required: a ticket never carries the principal's full
66
+ * authority.
67
+ */
48
68
  readonly delegation: Delegation;
49
69
  readonly automation?: RunAutomation;
50
70
  readonly tenant?: string;
@@ -62,9 +82,9 @@ type RunTicketOptions = {
62
82
  };
63
83
  /** The live record of an automation, read on every use of its ticket. */
64
84
  type RunTicketAutomations = {
65
- automation(id: string, options: {
85
+ automation: (id: string, options: {
66
86
  readonly tenant?: string;
67
- }): {
87
+ }) => {
68
88
  readonly id: string;
69
89
  readonly version: number | string;
70
90
  readonly revoked?: boolean;
@@ -99,9 +119,9 @@ type RunPrincipal = Principal & {
99
119
  readonly runTicket: RunTicket;
100
120
  };
101
121
  /**
102
- * Validates untrusted run-ticket claims and returns a frozen copy with only
103
- * the v1 fields, or `undefined`. Unknown claims are dropped; a wrong type in
104
- * a known claim, a missing delegation, or an `automation` that does not match
122
+ * Validates untrusted run-ticket claims and returns a frozen copy with only the
123
+ * v1 fields, or `undefined`. Unknown claims are dropped; a wrong type in a
124
+ * known claim, a missing delegation, or an `automation` that does not match
105
125
  * `kind` rejects the whole ticket.
106
126
  */
107
127
  declare function parseRunTicket(claims: unknown): RunTicket | undefined;
@@ -121,4 +141,4 @@ declare function signRunTicket(input: RunTicketInput, signer: TokenSigner, optio
121
141
  */
122
142
  declare function subjectFromRunTicket(token: string | undefined | null, options: RunTicketSubjectOptions): Promise<Subject<RunPrincipal>>;
123
143
  //#endregion
124
- export { RunKind as a, RunTicketAutomations as c, RunTicketOptions as d, RunTicketSubjectOptions as f, subjectFromRunTicket as h, RunContext as i, RunTicketFailureCause as l, signRunTicket as m, RunAutomation as n, RunPrincipal as o, parseRunTicket as p, RunBinding as r, RunTicket as s, RunActClaim as t, RunTicketInput as u };
144
+ export { RunContext as a, RunTicket as c, RunTicketInput as d, RunTicketOptions as f, subjectFromRunTicket as g, signRunTicket as h, RunBinding as i, RunTicketAutomations as l, parseRunTicket as m, RunActClaim as n, RunKind as o, RunTicketSubjectOptions as p, RunAutomation as r, RunPrincipal as s, RUN_TICKET_CLAIMS as t, RunTicketFailureCause as u };
@@ -1,12 +1,33 @@
1
1
  import { t as compact } from "./compact-CAf557ZB.js";
2
- import { n as freezeDeep } from "./freeze-CrU8nQeX.js";
3
- import { a as ownRecord, n as isForbiddenKey } from "./paths-DXSHAMIa.js";
4
- import { a as isId } from "./expiry-D4_YKRKD.js";
5
- import { o as epochSeconds, p as nowSeconds } from "./time-DkWjdL98.js";
2
+ import { n as freezeDeep } from "./freeze-jjan0lCv.js";
3
+ import { a as ownRecord, n as isForbiddenKey } from "./paths-CUvURzHp.js";
4
+ import { a as isId } from "./expiry-6XByK0dm.js";
5
+ import { o as epochSeconds, p as nowSeconds } from "./time-nR1JesoH.js";
6
6
  import { n as toWireDelegation, t as fromWireDelegation } from "./wire-delegation-Cv3W2eaM.js";
7
7
  import { t as anonymousSubject } from "./subject-BGoM5o8B.js";
8
8
  //#region src/server/run-ticket.ts
9
9
  const RUN_TICKET_TYP = "vnd.permdock.run+jwt";
10
+ /**
11
+ * Every v1 claim of a `vnd.permdock.run+jwt`, the set `parseRunTicket` keeps. A
12
+ * signing service passes only these to its signer.
13
+ */
14
+ const RUN_TICKET_CLAIMS = Object.freeze([
15
+ "v",
16
+ "iss",
17
+ "sub",
18
+ "aud",
19
+ "jti",
20
+ "iat",
21
+ "exp",
22
+ "kind",
23
+ "act",
24
+ "scope",
25
+ "authorization_details",
26
+ "automation",
27
+ "tenant",
28
+ "trigger",
29
+ "binding"
30
+ ]);
10
31
  const RUN_KINDS = [
11
32
  "automation",
12
33
  "job",
@@ -134,9 +155,9 @@ function parseBody(record) {
134
155
  });
135
156
  }
136
157
  /**
137
- * Validates untrusted run-ticket claims and returns a frozen copy with only
138
- * the v1 fields, or `undefined`. Unknown claims are dropped; a wrong type in
139
- * a known claim, a missing delegation, or an `automation` that does not match
158
+ * Validates untrusted run-ticket claims and returns a frozen copy with only the
159
+ * v1 fields, or `undefined`. Unknown claims are dropped; a wrong type in a
160
+ * known claim, a missing delegation, or an `automation` that does not match
140
161
  * `kind` rejects the whole ticket.
141
162
  */
142
163
  function parseRunTicket(claims) {
@@ -334,4 +355,4 @@ async function subjectFromRunTicket(token, options) {
334
355
  }));
335
356
  }
336
357
  //#endregion
337
- export { signRunTicket as n, subjectFromRunTicket as r, parseRunTicket as t };
358
+ export { subjectFromRunTicket as i, parseRunTicket as n, signRunTicket as r, RUN_TICKET_CLAIMS as t };
@@ -1,6 +1,9 @@
1
- import { l as scopedTenant, s as protectedView } from "./views-DTIIO-oQ.js";
1
+ import { l as scopedTenant, s as protectedView } from "./views-CD8wuL4Z.js";
2
2
  //#region src/svelte/protected.ts
3
- /** The instance for `tenant`, built once per store change rather than once per check. */
3
+ /**
4
+ * The instance for `tenant`, built once per store change rather than once per
5
+ * check.
6
+ */
4
7
  function scopedFor(store, tenant, _generation) {
5
8
  return scopedTenant(store.get(), tenant);
6
9
  }