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,6 +1,6 @@
1
- import { p as PRESET_DEFAULTS, r as PRESET_FLAGS } from "./preset-CHTbd-DQ.js";
1
+ import { p as PRESET_DEFAULTS, r as PRESET_FLAGS } from "./preset-BjLzeFpp.js";
2
2
  import { t as defineLeaf } from "./command-L8EstFNm.js";
3
- import { c as given, i as dryRunFlag, s as forceFlag } from "./flags-aaeRAdiD.js";
3
+ import { c as given, i as dryRunFlag, s as forceFlag } from "./flags-DXjoTVbS.js";
4
4
  //#region src/cli/commands/init.ts
5
5
  function optionsOf(key) {
6
6
  return PRESET_FLAGS[key].choices.filter((item) => item.retired !== true).map((item) => item.id);
@@ -48,7 +48,7 @@ const init = defineLeaf({
48
48
  ...forceFlag
49
49
  },
50
50
  async run(ctx, { flags }) {
51
- const [{ runInit }, { packageManagerOf }] = await Promise.all([import("./init-B-4t1NzC.js"), import("./peer-DOzzMfZL.js")]);
51
+ const [{ runInit }, { packageManagerOf }] = await Promise.all([import("./init-cE3A8aXq.js"), import("./peer-C9LvBCcb.js")]);
52
52
  const agent = await packageManagerOf(ctx.cwd);
53
53
  const selection = {
54
54
  archetype: flags.archetype,
@@ -79,7 +79,7 @@ const presetDecode = defineLeaf({
79
79
  positionals: presetCode,
80
80
  flags: {},
81
81
  async run(_ctx, { args }) {
82
- const { runPreset } = await import("./init-B-4t1NzC.js");
82
+ const { runPreset } = await import("./init-cE3A8aXq.js");
83
83
  return runPreset("decode", args["code"] ?? "");
84
84
  }
85
85
  });
@@ -87,7 +87,7 @@ const presetUrl = defineLeaf({
87
87
  positionals: presetCode,
88
88
  flags: {},
89
89
  async run(_ctx, { args }) {
90
- const { runPreset } = await import("./init-B-4t1NzC.js");
90
+ const { runPreset } = await import("./init-cE3A8aXq.js");
91
91
  return runPreset("url", args["code"] ?? "");
92
92
  }
93
93
  });
@@ -1,7 +1,8 @@
1
- import { n as CliError } from "./errors-DpP_U6Bf.js";
2
- import { a as decodePreset, g as resolvePreset, i as presetFlags, n as generatePreset, o as encodePreset } from "./preset-CHTbd-DQ.js";
3
- import { t as addLine } from "./peer-12Q5I_RH.js";
4
- import { t as applyFiles } from "./files-acUbNwWt.js";
1
+ import { n as CliError } from "./errors-Vpu6rKHl.js";
2
+ import { a as decodePreset, g as resolvePreset, i as presetFlags, n as generatePreset, o as encodePreset } from "./preset-BjLzeFpp.js";
3
+ import { a as nonEmptyOr } from "./output-tkju6U7R.js";
4
+ import { t as addLine } from "./peer-Q0fuZ6hx.js";
5
+ import { t as applyFiles } from "./files-B3AA05f1.js";
5
6
  import { existsSync } from "node:fs";
6
7
  import { join } from "node:path";
7
8
  //#region src/cli/init.ts
@@ -13,11 +14,10 @@ function decoded(code, command) {
13
14
  return preset;
14
15
  }
15
16
  /**
16
- * Writes the preset's owned files into `cwd` and lists what to install.
17
- * An existing file is kept unless `force` is set, so `init` never
18
- * overwrites code the application already changed. It installs nothing
19
- * and calls no network: the package manager and shadcn commands are
20
- * printed for the person to run.
17
+ * Writes the preset's owned files into `cwd` and lists what to install. An
18
+ * existing file is kept unless `force` is set, so `init` never overwrites code
19
+ * the application already changed. It installs nothing and calls no network:
20
+ * the package manager and shadcn commands are printed for the person to run.
21
21
  */
22
22
  function runInit(options) {
23
23
  const preset = typeof options.preset === "string" ? decoded(options.preset, "init") : resolvePreset(options.preset);
@@ -85,7 +85,7 @@ function runPreset(action, code) {
85
85
  return {
86
86
  code: 0,
87
87
  output: `${[
88
- ...Object.entries(preset).map(([key, value]) => ` ${key.padEnd(12)} ${Array.isArray(value) ? value.join(", ") || "none" : String(value)}`),
88
+ ...Object.entries(preset).map(([key, value]) => ` ${key.padEnd(12)} ${Array.isArray(value) ? nonEmptyOr(value.join(", "), "none") : String(value)}`),
89
89
  "",
90
90
  ` permdock init ${presetFlags(preset).join(" ")}`
91
91
  ].join("\n")}\n`,
@@ -1,10 +1,10 @@
1
- import { o as PermDockOptions } from "./permdock-Dco6dyCK.js";
1
+ import { o as PermDockOptions } from "./permdock-B6Sf4T_S.js";
2
2
  //#region src/core/instance-options.d.ts
3
3
  type InstanceKey = "memberships" | "relations" | "entitlements" | "customRoles" | "policies" | "approvalPolicies" | "sink" | "limits" | "principals";
4
4
  /**
5
- * The data sources an adapter passes through to every instance it creates.
6
- * Each adapter's options type extends this, so a source added to core
7
- * reaches every adapter without a per-adapter change.
5
+ * The data sources an adapter passes through to every instance it creates. Each
6
+ * adapter's options type extends this, so a source added to core reaches every
7
+ * adapter without a per-adapter change.
8
8
  */
9
9
  type InstanceOptions = Pick<PermDockOptions, InstanceKey>;
10
10
  //#endregion
@@ -1,21 +1,21 @@
1
1
  import { t as compact } from "./compact-CAf557ZB.js";
2
- import { n as freezeDeep } from "./freeze-CrU8nQeX.js";
3
- import { o as hasConditionOp } from "./refs-CNJBiTFo.js";
4
- import { o as sameId } from "./expiry-D4_YKRKD.js";
5
- import { a as getResource, c as listPermissions } from "./permission-registry-DpPtSKNZ.js";
6
- import { n as isThenable } from "./thenable-yD7SabqG.js";
7
- import { u as isPrincipalRelation } from "./resource-relations-D_jw0BFx.js";
8
- import { p as nowSeconds, s as instantAt } from "./time-DkWjdL98.js";
2
+ import { n as freezeDeep } from "./freeze-jjan0lCv.js";
3
+ import { o as hasConditionOp } from "./refs-C8BKxc_e.js";
4
+ import { o as sameId } from "./expiry-6XByK0dm.js";
5
+ import { a as getResource, c as listPermissions } from "./permission-registry-B8tYxPIt.js";
6
+ import { n as isThenable } from "./thenable-BNSM1U2R.js";
7
+ import { u as isPrincipalRelation } from "./resource-relations-8-pCScBO.js";
8
+ import { p as nowSeconds, s as instantAt } from "./time-nR1JesoH.js";
9
9
  import { t as canonicalJson } from "./canonical-json-DwilZ1iB.js";
10
- import { f as scopeList, h as tenantOf, i as keepsPermission, l as rootScope, s as resolveScope } from "./scopes-BHsc-wp-.js";
11
- import { a as readOnlyActorRefuses, i as delegatedPermissions, r as coversRequirements } from "./delegation-C5rOdTp5.js";
12
- import { b as synthesiseRole, m as findRole, o as flattenGrantee, v as listRoles, x as treeXSchema, y as sourceRoleMeta } from "./grantee-BrRANrpT.js";
13
- import { c as nowSeconds$1, d as resolveActiveTenant, l as partitionsOf, p as scopeField, r as isMembershipExpired } from "./tenancy-CmeBQ6Nv.js";
14
- import { o as levelCondition, r as grantList, s as levelNames, t as declaredRoleNames } from "./policy-DaJy4nK4.js";
15
- import { t as byCodePoint } from "./compare-pfyVnBjE.js";
16
- import { C as tenantCustomRoles, D as emptyListeners, M as contactMayUse, S as roleAllowKeys, _ as isSharedCustomRole, a as expandRoleNames, g as holdsGlobalCustomRole, h as holdsCustomRole, l as ceilingGrants, m as customRoleScope, n as requirementCondition, p as customRoleOf, t as evaluate, u as customGrantsFor, x as resolveCustomRole } from "./evaluate-B_oqFbWC.js";
17
- import { n as matchGrantee, t as combineWhere } from "./grantee-match-0RtHWQDx.js";
18
- import { t as buildSnapshot } from "./snapshot-CbGmYiJx.js";
10
+ import { f as scopeList, h as tenantOf, i as keepsPermission, l as rootScope, s as resolveScope } from "./scopes-0Up_UA2t.js";
11
+ import { a as readOnlyActorRefuses, i as delegatedPermissions, r as coversRequirements } from "./delegation-CDB6_keF.js";
12
+ import { b as synthesiseRole, m as findRole, o as flattenGrantee, v as listRoles, x as treeXSchema, y as sourceRoleMeta } from "./grantee-Dke-9rd1.js";
13
+ import { t as byCodePoint } from "./compare-DTfyUunF.js";
14
+ import { c as nowSeconds$1, d as resolveActiveTenant, l as partitionsOf, p as scopeField, r as isMembershipExpired } from "./tenancy-5d1zVBvK.js";
15
+ import { c as levelNames, i as grantList, n as declaredRoleNames, s as levelCondition, t as coveredLevels } from "./policy-CLQ8__GF.js";
16
+ import { C as tenantCustomRoles, D as emptyListeners, M as contactMayUse, S as roleAllowKeys, _ as isSharedCustomRole, a as expandRoleNames, g as holdsGlobalCustomRole, h as holdsCustomRole, l as ceilingGrants, m as customRoleScope, n as requirementCondition, p as customRoleOf, t as evaluate, u as customGrantsFor, x as resolveCustomRole } from "./evaluate-Dd8Ta0Ie.js";
17
+ import { n as matchGrantee, t as combineWhere } from "./grantee-match-7RZZvoT_.js";
18
+ import { t as buildSnapshot } from "./snapshot-CXlzi69u.js";
19
19
  //#region src/core/memberships.ts
20
20
  /** Two memberships are the same row when everything but `roles` matches. */
21
21
  function identity(membership) {
@@ -41,8 +41,8 @@ function identity(membership) {
41
41
  /**
42
42
  * Merges memberships from several sources: entries naming the same instance
43
43
  * with the same `via`, expiry, owner and seats become one entry with the union
44
- * of their roles. Entries that differ in any of those stay separate, so a
45
- * staff role and a contact role in one instance keep their own `via`.
44
+ * of their roles. Entries that differ in any of those stay separate, so a staff
45
+ * role and a contact role in one instance keep their own `via`.
46
46
  */
47
47
  function mergeMemberships(lists) {
48
48
  const merged = /* @__PURE__ */ new Map();
@@ -59,8 +59,8 @@ function mergeMemberships(lists) {
59
59
  function all(values) {
60
60
  return values.some((value) => isThenable(value)) ? Promise.all(values) : values;
61
61
  }
62
- function then(value, next) {
63
- return isThenable(value) ? Promise.resolve(value).then(next) : next(value);
62
+ function then(value, map) {
63
+ return isThenable(value) ? Promise.resolve(value).then(map) : map(value);
64
64
  }
65
65
  /**
66
66
  * One `MembershipSource` over several: memberships are merged and
@@ -109,10 +109,10 @@ function asMembershipSource(input) {
109
109
  return Array.isArray(input) ? composeMemberships(input) : input;
110
110
  }
111
111
  /**
112
- * Trust the memberships the verified token carries, and read `source` only
113
- * when the token marks them truncated. With `version`, a token minted before
114
- * the latest membership change is stale for the policy's `fresh` permissions,
115
- * or with `onStale: 'reread'` has its memberships read from `source` instead.
112
+ * Trust the memberships the verified token carries, and read `source` only when
113
+ * the token marks them truncated. With `version`, a token minted before the
114
+ * latest membership change is stale for the policy's `fresh` permissions, or
115
+ * with `onStale: 'reread'` has its memberships read from `source` instead.
116
116
  */
117
117
  function claimsFirst(source, options = {}) {
118
118
  const inner = asMembershipSource(source);
@@ -126,16 +126,19 @@ function claimsFirst(source, options = {}) {
126
126
  claimsFirst: true
127
127
  };
128
128
  }
129
- /** Whether the identity provider owns `membership`: the application must not add, change or remove it. */
129
+ /**
130
+ * Whether the identity provider owns `membership`: the application must not
131
+ * add, change or remove it.
132
+ */
130
133
  function isExternallyManaged(membership) {
131
134
  return membership.managedBy === "idp";
132
135
  }
133
136
  /**
134
- * How many principals hold `role` in one scope instance now, from the
135
- * source's member list (`MembershipSource.list`): live memberships of exactly
136
- * that scope and instance, each principal counted once. The `holders` a
137
- * `decideRoleChange` with `min`, `max` or `transferOnly` needs. `undefined`
138
- * when the source cannot list or the read fails, which that check denies.
137
+ * How many principals hold `role` in one scope instance now, from the source's
138
+ * member list (`MembershipSource.list`): live memberships of exactly that scope
139
+ * and instance, each principal counted once. The `holders` a `decideRoleChange`
140
+ * with `min`, `max` or `transferOnly` needs. `undefined` when the source cannot
141
+ * list or the read fails, which that check denies.
139
142
  */
140
143
  async function countHolders(source, query) {
141
144
  const composed = asMembershipSource(source);
@@ -185,8 +188,8 @@ function mayHoldManaged(policy, role, membership) {
185
188
  /**
186
189
  * Drops every role a membership's kind may not hold (fail-closed: a missing
187
190
  * `via` is no kind) and every non-assignable role on an identity-provider
188
- * membership. Global roles have no kind, so a role with `for` held globally
189
- * is dropped too.
191
+ * membership. Global roles have no kind, so a role with `for` held globally is
192
+ * dropped too.
190
193
  */
191
194
  function applyRoleKinds(policy, roles, memberships) {
192
195
  const kinds = policy.roles.some((binding) => binding.for !== void 0);
@@ -208,7 +211,10 @@ function applyRoleKinds(policy, roles, memberships) {
208
211
  function usesAssigns(policy) {
209
212
  return policy.roles.some((binding) => binding.assigns !== void 0);
210
213
  }
211
- /** Declared role names in declaration order: bindings first, then vocabulary-only leaves. */
214
+ /**
215
+ * Declared role names in declaration order: bindings first, then
216
+ * vocabulary-only leaves.
217
+ */
212
218
  function declarationOrder(policy) {
213
219
  const names = policy.roles.map((binding) => binding.name);
214
220
  const seen = new Set(names);
@@ -219,9 +225,9 @@ function declarationOrder(policy) {
219
225
  return names;
220
226
  }
221
227
  /**
222
- * Each role's depth in the `assigns` graph: a role nobody else assigns is 0,
223
- * a role another assigns sits one below its deepest assigner. Cycles stop
224
- * after one pass per role.
228
+ * Each role's depth in the `assigns` graph: a role nobody else assigns is 0, a
229
+ * role another assigns sits one below its deepest assigner. Cycles stop after
230
+ * one pass per role.
225
231
  */
226
232
  function assignDepths(policy) {
227
233
  const names = declarationOrder(policy);
@@ -262,7 +268,10 @@ function audiencesOf(policy, names) {
262
268
  }
263
269
  return out;
264
270
  }
265
- /** Whether `membership` is the instance itself or one of its ancestors named in `within`. */
271
+ /**
272
+ * Whether `membership` is the instance itself or one of its ancestors named in
273
+ * `within`.
274
+ */
266
275
  //#endregion
267
276
  //#region src/core/held-roles.ts
268
277
  /**
@@ -293,7 +302,10 @@ function roleLeaf(policy, name) {
293
302
  }
294
303
  //#endregion
295
304
  //#region src/core/snapshot-grants.ts
296
- /** A grant on a relation with a `period` is decided on the server, where the clock is. */
305
+ /**
306
+ * A grant on a relation with a `period` is decided on the server, where the
307
+ * clock is.
308
+ */
297
309
  function periodBound(policy, grant) {
298
310
  const relations = policy.resources.get(grant.permission.resource)?.relations;
299
311
  return flattenGrantee(grant.to).some((item) => {
@@ -330,8 +342,8 @@ function graphAware(grant, where) {
330
342
  }));
331
343
  }
332
344
  /**
333
- * `where()` keeps a grant that is server-only because it reads the graph:
334
- * its `related` nodes compile to subqueries given relation mappings.
345
+ * `where()` keeps a grant that is server-only because it reads the graph: its
346
+ * `related` nodes compile to subqueries given relation mappings.
335
347
  */
336
348
  function whereGrant(grant) {
337
349
  return grant.graph === true ? freezeDeep({
@@ -340,8 +352,8 @@ function whereGrant(grant) {
340
352
  }) : grant;
341
353
  }
342
354
  /**
343
- * Every grant the subject may reach, once per membership that holds all of
344
- * its scoped roles, so a client can check that membership's tenant, team or
355
+ * Every grant the subject may reach, once per membership that holds all of its
356
+ * scoped roles, so a client can check that membership's tenant, team or
345
357
  * resource. A scoped role held only globally reaches nothing.
346
358
  */
347
359
  function collectSnapshotGrants(policy, subject, customRoles, now = nowSeconds$1(), customGrants = customGrantsFor(policy, customRoles), mode = "held") {
@@ -407,24 +419,26 @@ function assignableCandidates(policy) {
407
419
  return rankRoles(policy, [...new Set(names)]).map((name) => roleLeaf(policy, name));
408
420
  }
409
421
  /**
410
- * The levels a held allow of a permission covers: its own `level`, every
411
- * level when it has no row condition, or the levels whose condition equals
412
- * its condition.
422
+ * The levels a held allow of a permission covers: its own `level`, every level
423
+ * when it has no row condition, or the levels whose condition equals its
424
+ * condition; with `orderedLevels`, also every narrower level.
413
425
  */
414
426
  function heldLevels(policy, grant, names) {
415
- if (grant.level !== void 0) return [grant.level];
427
+ const resource = grant.permission.resource;
428
+ if (grant.level !== void 0) return coveredLevels(policy, resource, [grant.level]);
416
429
  if (grant.where === void 0) return names;
417
430
  const held = canonicalJson(grant.where);
418
- return names.filter((name) => {
419
- const condition = levelCondition(policy, grant.permission.resource, name);
431
+ return coveredLevels(policy, resource, names.filter((name) => {
432
+ const condition = levelCondition(policy, resource, name);
420
433
  return condition !== void 0 && canonicalJson(condition) === held;
421
- });
434
+ }));
422
435
  }
423
436
  /**
424
437
  * What the subject may hand out in `tenant`: declared assignable roles and the
425
- * tenant custom-role ceiling, narrowed by `allowed` (`CustomRoleSource.assignable`),
426
- * then intersected with the permissions the subject holds there. Holding a
427
- * role or a granted permission with `meta.manageRoles` lifts the intersection.
438
+ * tenant custom-role ceiling, narrowed by `allowed`
439
+ * (`CustomRoleSource.assignable`), then intersected with the permissions the
440
+ * subject holds there. Holding a role or a granted permission with
441
+ * `meta.manageRoles` lifts the intersection.
428
442
  */
429
443
  function assignableIn(policy, subject, customRoles, customGrants, tenant, allowed, now = nowSeconds$1(), global = false) {
430
444
  const principal = subject.principal;
@@ -547,7 +561,10 @@ function assignableCustomRoles(policy, customRoles, tenant, declared, mayHandOut
547
561
  }
548
562
  //#endregion
549
563
  //#region src/core/instance-snapshot.ts
550
- /** The one path from a resolved subject to a `Snapshot`; pure apart from the default clock. */
564
+ /**
565
+ * The one path from a resolved subject to a `Snapshot`; pure apart from the
566
+ * default clock.
567
+ */
551
568
  function snapshotOf(policy, subject, options) {
552
569
  const now = options.now ?? nowSeconds$1();
553
570
  const customGrants = options.customGrants ?? customGrantsFor(policy, options.customRoles);
@@ -582,7 +599,10 @@ function snapshotOf(policy, subject, options) {
582
599
  }
583
600
  }));
584
601
  }
585
- /** The policy's scopes as snapshots and `permdock cloud push` carry them, with the resources each partitions. */
602
+ /**
603
+ * The policy's scopes as snapshots and `permdock cloud push` carry them, with
604
+ * the resources each partitions.
605
+ */
586
606
  function snapshotScopes(policy) {
587
607
  if (policy.scopes.length === 0) return;
588
608
  const resources = [...policy.resources.values()];
@@ -603,4 +623,4 @@ function snapshotScopes(policy) {
603
623
  });
604
624
  }
605
625
  //#endregion
606
- export { isExternallyManaged as _, whereGrant as a, applyRoleKinds as c, rankRoles as d, usesAssigns as f, countHolders as g, composeMemberships as h, collectSnapshotGrants as i, audiencesOf as l, claimsFirst as m, snapshotScopes as n, heldRoleNames as o, asMembershipSource as p, assignableIn as r, roleLeaf as s, snapshotOf as t, bindingOf as u };
626
+ export { claimsFirst as _, heldLevels as a, isExternallyManaged as b, heldRoleNames as c, audiencesOf as d, bindingOf as f, asMembershipSource as g, usesAssigns as h, assignableIn as i, roleLeaf as l, roleMeta as m, snapshotScopes as n, collectSnapshotGrants as o, rankRoles as p, assignableCandidates as r, whereGrant as s, snapshotOf as t, applyRoleKinds as u, composeMemberships as v, countHolders as y };
@@ -2,8 +2,8 @@
2
2
  const ISO_INSTANT = /^(\d{4}-\d{2}-\d{2})(?:[T ](\d{2}:\d{2}(?::\d{2}(?:\.\d{1,9})?)?)(Z|[+-]\d{2}(?::?\d{2})?)?)?$/u;
3
3
  /**
4
4
  * Milliseconds since the epoch for an ISO 8601 date or date-time, or
5
- * `undefined`. A date-time without a zone and a bare date are UTC, the same
6
- * in memory, in the ORM compilers and in generated SQL.
5
+ * `undefined`. A date-time without a zone and a bare date are UTC, the same in
6
+ * memory, in the ORM compilers and in generated SQL.
7
7
  */
8
8
  function isoInstant(value) {
9
9
  const match = ISO_INSTANT.exec(value);
@@ -1,12 +1,15 @@
1
1
  //#region src/core/internals.ts
2
2
  const INTERNALS = Symbol.for("permdock.internals");
3
- /** Attaches `internals` to `instance` as a non-enumerable member; call before freezing. */
3
+ /**
4
+ * Attaches `internals` to `instance` as a non-enumerable member; call before
5
+ * freezing.
6
+ */
4
7
  function attachInternals(instance, internals) {
5
8
  Object.defineProperty(instance, INTERNALS, { value: internals });
6
9
  }
7
10
  /**
8
- * The internals of a server instance, or `undefined` for an instance built
9
- * from a snapshot or one that is not PermDock's. A feature function treats
11
+ * The internals of a server instance, or `undefined` for an instance built from
12
+ * a snapshot or one that is not PermDock's. A feature function treats
10
13
  * `undefined` as a check it cannot answer and denies with `unsupported`.
11
14
  */
12
15
  function internalsOf(permdock) {
@@ -1,5 +1,5 @@
1
1
  import { r as isRecord } from "./compact-CAf557ZB.js";
2
- import { n as isForbiddenKey } from "./paths-DXSHAMIa.js";
2
+ import { n as isForbiddenKey } from "./paths-CUvURzHp.js";
3
3
  //#region src/core/json-schema.ts
4
4
  function issue(issues, path, message) {
5
5
  issues.push({
@@ -64,7 +64,10 @@ function resolveRef(root, ref) {
64
64
  if (target === void 0) throw new TypeError(`Unsupported or unknown $ref ${ref}`);
65
65
  return target;
66
66
  }
67
- /** Validates a `copyJson` result against `node`, reading `$ref` targets from `root`. */
67
+ /**
68
+ * Validates a `copyJson` result against `node`, reading `$ref` targets from
69
+ * `root`.
70
+ */
68
71
  function checkSchema(node, value, path, issues, root = node) {
69
72
  if (node.$ref !== void 0) {
70
73
  checkSchema(resolveRef(root, node.$ref), value, path, issues, root);
@@ -130,7 +133,10 @@ function checkSchema(node, value, path, issues, root = node) {
130
133
  else if (node.additionalProperties !== void 0) checkSchema(node.additionalProperties, value[key], [...path, key], issues, root);
131
134
  }
132
135
  }
133
- /** The path of the first `__proto__`, `constructor` or `prototype` key in `value`, if any. */
136
+ /**
137
+ * The path of the first `__proto__`, `constructor` or `prototype` key in
138
+ * `value`, if any.
139
+ */
134
140
  function forbiddenKeyPath(value, path = []) {
135
141
  if (value === null || typeof value !== "object") return;
136
142
  for (const [key, child] of Object.entries(value)) {
@@ -1,10 +1,10 @@
1
1
  import { StandardSchemaV1 } from "@standard-schema/spec";
2
2
  //#region src/core/json-schema.d.ts
3
3
  /**
4
- * The JSON Schema 2020-12 keywords the package's own schemas use;
5
- * `checkSchema` interprets exactly these. `$ref` resolves only `#/$defs/<name>`
6
- * against the root node. Annotations (`title`, `description`, `format`) are
7
- * ignored, so a `format` always sits next to a `pattern` that enforces it.
4
+ * The JSON Schema 2020-12 keywords the package's own schemas use; `checkSchema`
5
+ * interprets exactly these. `$ref` resolves only `#/$defs/<name>` against the
6
+ * root node. Annotations (`title`, `description`, `format`) are ignored, so a
7
+ * `format` always sits next to a `pattern` that enforces it.
8
8
  */
9
9
  type JsonSchemaNode = {
10
10
  readonly $schema?: string;
@@ -1,10 +1,13 @@
1
- import { Y as JwtClaims, Zt as AuthEvent, dt as TokenVerifier, lr as Subject, lt as TokenFailureCause, pt as VerifiedToken, sr as Principal, ut as TokenSigner } from "../policy-types-B-F-qAZk.js";
2
- import { c as LinkPolicy, o as CapabilityPrincipal, t as Capability } from "../capability-D4UC9TTW.js";
3
- import { B as JwtAlgorithm, F as DpopProofResult, H as JwtPrincipal, I as IntrospectionPrincipal, L as JoseTokenSignerOptions, P as DiscoveryInput, R as JoseTokenVerifierOptions, U as JwtSubjectOptions, V as JwtJwks, W as MappedSubject, l as ReplayStore, z as JsonWebKeySet } from "../types-cTos-H7p.js";
4
- import { t as memoryReplayStore } from "../replay-DCDD_ZfL.js";
1
+ import { Y as JwtClaims, Zt as AuthEvent, dt as TokenVerifier, lr as Subject, lt as TokenFailureCause, pt as VerifiedToken, sr as Principal, ut as TokenSigner } from "../policy-types-CCiDRZBH.js";
2
+ import { c as LinkPolicy, o as CapabilityPrincipal, t as Capability } from "../capability-ChuiONQU.js";
3
+ import { B as JwtAlgorithm, F as DpopProofResult, H as JwtPrincipal, I as IntrospectionPrincipal, L as JoseTokenSignerOptions, P as DiscoveryInput, R as JoseTokenVerifierOptions, U as JwtSubjectOptions, V as JwtJwks, W as MappedSubject, l as ReplayStore, z as JsonWebKeySet } from "../types-DjuMBNF9.js";
4
+ import { t as memoryReplayStore } from "../replay-DNftIb_R.js";
5
5
  import { StandardSchemaV1 } from "@standard-schema/spec";
6
6
  //#region src/jwt/capability.d.ts
7
- /** `on('auth')` causes: a verification failure, or one of the three capability checks. */
7
+ /**
8
+ * `on('auth')` causes: a verification failure, or one of the three capability
9
+ * checks.
10
+ */
8
11
  type CapabilityFailureCause = TokenFailureCause | "capability-revoked" | "capability-replayed" | "redeemer-mismatch" | "link-policy";
9
12
  type CapabilitySubjectOptions = Omit<JoseTokenVerifierOptions, "typ" | "issuer" | "audience" | "profile"> & {
10
13
  /** The issuer the capability was signed by (`iss`); required. */
@@ -13,20 +16,26 @@ type CapabilitySubjectOptions = Omit<JoseTokenVerifierOptions, "typ" | "issuer"
13
16
  readonly audience: string | readonly string[];
14
17
  readonly verifier?: TokenVerifier;
15
18
  /**
16
- * The link policies of the scope instances the linked resource sits in
17
- * (its tenant, its customer); every one must hold. A throw denies.
19
+ * The link policies of the scope instances the linked resource sits in (its
20
+ * tenant, its customer); every one must hold. A throw denies.
18
21
  */
19
22
  readonly linkPolicy?: (capability: Capability) => LinkPolicy | readonly LinkPolicy[] | undefined | Promise<LinkPolicy | readonly LinkPolicy[] | undefined>;
20
23
  /** `true` when the application revoked the link id (`sub`); a throw denies. */
21
24
  readonly revoked?: (id: string) => boolean | Promise<boolean>;
22
- /** Claims the `jti` of a one-time capability; a one-time capability without it is refused. */
25
+ /**
26
+ * Claims the `jti` of a one-time capability; a one-time capability without it
27
+ * is refused.
28
+ */
23
29
  readonly replay?: ReplayStore;
24
- /** The request's own verified subject, checked against the capability's `redeemer`. */
30
+ /**
31
+ * The request's own verified subject, checked against the capability's
32
+ * `redeemer`.
33
+ */
25
34
  readonly viewer?: Subject;
26
35
  /**
27
36
  * The incoming request. A capability with `cnf` resolves only when the
28
- * request carries a DPoP proof (RFC 9449) signed by the bound key;
29
- * without one it is refused.
37
+ * request carries a DPoP proof (RFC 9449) signed by the bound key; without
38
+ * one it is refused.
30
39
  */
31
40
  readonly request?: Request;
32
41
  readonly onAuth?: (event: AuthEvent) => void;
@@ -34,8 +43,8 @@ type CapabilitySubjectOptions = Omit<JoseTokenVerifierOptions, "typ" | "issuer"
34
43
  };
35
44
  /**
36
45
  * Resolves a `vnd.permdock.capability+jwt` into the `link` subject it acts as.
37
- * Every failure (signature, `typ`, `iss`, `aud`, expiry, a malformed claim,
38
- * a revoked link, a replayed one-time token, a redeemer the viewer does not
46
+ * Every failure (signature, `typ`, `iss`, `aud`, expiry, a malformed claim, a
47
+ * revoked link, a replayed one-time token, a redeemer the viewer does not
39
48
  * satisfy, a `cnf` without a matching DPoP proof, a throwing store) is the
40
49
  * anonymous subject, never a throw.
41
50
  */
@@ -52,13 +61,19 @@ type CiOidcSubjectOptions = Omit<JoseTokenVerifierOptions, "typ" | "issuer" | "a
52
61
  * from OpenID discovery unless `jwks` is set.
53
62
  */
54
63
  readonly issuer?: string;
55
- /** Validates the verified claims; a failure or a Promise is the anonymous subject. */
64
+ /**
65
+ * Validates the verified claims; a failure or a Promise is the anonymous
66
+ * subject.
67
+ */
56
68
  readonly schema?: StandardSchemaV1;
57
69
  readonly verifier?: TokenVerifier;
58
70
  readonly onAuth?: (event: AuthEvent) => void;
59
71
  readonly requestId?: string;
60
72
  };
61
- /** A CI job: never a user. `ref` is a full ref (`refs/heads/main`, `refs/tags/v1`). */
73
+ /**
74
+ * A CI job: never a user. `ref` is a full ref (`refs/heads/main`,
75
+ * `refs/tags/v1`).
76
+ */
62
77
  type CiOidcPrincipal = Principal & {
63
78
  readonly kind: "workload";
64
79
  readonly issuer: string;
@@ -77,18 +92,27 @@ export declare function subjectFromCiOidc(token: string | undefined | null, opti
77
92
  //#endregion
78
93
  //#region src/jwt/dpop.d.ts
79
94
  type DpopProofOptions = {
80
- /** Rejects a proof whose `jti` this key already used within the 60-second window. */
95
+ /**
96
+ * Rejects a proof whose `jti` this key already used within the 60-second
97
+ * window.
98
+ */
81
99
  readonly replay?: ReplayStore;
82
100
  };
83
101
  export declare function verifyDpopProof(request: Request, claims: JwtClaims, accessToken?: string, options?: DpopProofOptions): Promise<DpopProofResult>;
84
102
  //#endregion
85
103
  //#region src/jwt/id-token.d.ts
86
- /** `TokenFailureCause` plus `nonce-mismatch`; a `TokenVerifier` never returns it. */
104
+ /**
105
+ * `TokenFailureCause` plus `nonce-mismatch`; a `TokenVerifier` never returns
106
+ * it.
107
+ */
87
108
  type IdTokenFailureCause = TokenFailureCause | "nonce-mismatch";
88
109
  type VerifyIdTokenOptions = {
89
110
  /** The OpenID Provider's issuer; `iss` must equal it. */
90
111
  readonly issuer: string;
91
- /** The relying party's `client_id`; `aud` must contain it and `azp`, when present, must equal it. */
112
+ /**
113
+ * The relying party's `client_id`; `aud` must contain it and `azp`, when
114
+ * present, must equal it.
115
+ */
92
116
  readonly clientId: string;
93
117
  /** The `nonce` sent in the authentication request; the token's must equal it. */
94
118
  readonly nonce?: string;
@@ -118,9 +142,9 @@ type VerifyIdTokenResult = {
118
142
  };
119
143
  /**
120
144
  * Verifies an OpenID Connect ID token for a relying party (Core section
121
- * 3.1.3.7): signature, `iss`, `aud`, `exp`, `iat`, `typ` `JWT` or absent,
122
- * `azp` and, when `nonce` is given, `nonce`. It does not check `at_hash`,
123
- * `c_hash`, `auth_time` or `acr`. Never throws.
145
+ * 3.1.3.7): signature, `iss`, `aud`, `exp`, `iat`, `typ` `JWT` or absent, `azp`
146
+ * and, when `nonce` is given, `nonce`. It does not check `at_hash`, `c_hash`,
147
+ * `auth_time` or `acr`. Never throws.
124
148
  */
125
149
  export declare function verifyIdToken(token: string, options: VerifyIdTokenOptions): Promise<VerifyIdTokenResult>;
126
150
  //#endregion
@@ -135,13 +159,19 @@ export declare function subjectFromJwt(token: string | undefined | null, options
135
159
  export declare function jwtSubjectResolver(options: JwtSubjectOptions): (token: string | undefined | null, request?: Request) => Promise<MappedSubject>;
136
160
  //#endregion
137
161
  //#region src/jwt/subject-token.d.ts
138
- /** `TokenFailureCause` plus the two checks `verifySubjectToken` adds; a `TokenVerifier` never returns them. */
162
+ /**
163
+ * `TokenFailureCause` plus the two checks `verifySubjectToken` adds; a
164
+ * `TokenVerifier` never returns them.
165
+ */
139
166
  type SubjectTokenFailureCause = TokenFailureCause | "replayed" | "lifetime-exceeded";
140
167
  type VerifySubjectTokenOptions = {
141
168
  /** Tried in order; the first that accepts the token wins. */
142
169
  readonly verifiers: readonly TokenVerifier[];
143
170
  readonly audience: string | readonly string[];
144
- /** Records each `jti` once; `claim` when the store has it, else `seen` and `remember`. */
171
+ /**
172
+ * Records each `jti` once; `claim` when the store has it, else `seen` and
173
+ * `remember`.
174
+ */
145
175
  readonly replay: ReplayStore;
146
176
  /** The largest `exp - iat`, in seconds; default 300. */
147
177
  readonly maxLifetime?: number;
@@ -163,10 +193,10 @@ type VerifySubjectTokenResult = {
163
193
  };
164
194
  /**
165
195
  * Verifies a subject token: an RFC 9068 `at+jwt` naming one subject for one
166
- * request, such as the `PermDock-Subject` header. The first of `verifiers`
167
- * that accepts it wins. The token must carry `sub`, `jti`, `iat` and `exp`,
168
- * live at most `maxLifetime` seconds, and present its `jti` once. A replay
169
- * store that throws refuses the token as `replayed`. Never throws.
196
+ * request, such as the `PermDock-Subject` header. The first of `verifiers` that
197
+ * accepts it wins. The token must carry `sub`, `jti`, `iat` and `exp`, live at
198
+ * most `maxLifetime` seconds, and present its `jti` once. A replay store that
199
+ * throws refuses the token as `replayed`. Never throws.
170
200
  */
171
201
  export declare function verifySubjectToken(token: string, options: VerifySubjectTokenOptions): Promise<VerifySubjectTokenResult>;
172
202
  //#endregion