permdock 0.7.0 → 0.9.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-BcudBQOF.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-Ch07MdxN.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-K0faOLFp.d.ts → approval-prompt-3BqWczTt.d.ts} +13 -11
  14. package/dist/{approval-prompt-Dg5LeAcT.js → approval-prompt-B8hQY69x.js} +5 -6
  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-BpS7LnV0.js} +2 -2
  20. package/dist/{arazzo-rdeJ8n1J.js → arazzo-CmQaGPkM.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-DTjR8xet.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-C6Jg75xq.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-D1nO6fiC.js → bind-BNQA9JK9.js} +26 -10
  35. package/dist/{bind-JDuvxjuW.d.ts → bind-YYjvfpB9.d.ts} +32 -12
  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-BWXqwQYU.js} +3 -3
  43. package/dist/{capability-L7NnfhiE.js → capability-BqX94r07.js} +31 -25
  44. package/dist/{capability-D4UC9TTW.d.ts → capability-Di9tiUvi.d.ts} +41 -29
  45. package/dist/{casbin-BHijLuHY.js → casbin-B7_yS-oo.js} +2 -2
  46. package/dist/{casbin-BW9pS47J.js → casbin-bHyIxTNQ.js} +16 -8
  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-CGlSwU6j.js} +20 -19
  52. package/dist/catalog-D3oS2GH3.js +1 -0
  53. package/dist/{catalog-BaMQfQ6Y.js → catalog-amPDr0JQ.js} +3 -3
  54. package/dist/{catalog-doc-CV9s6B1S.js → catalog-doc-DjMKzJp9.js} +28 -14
  55. package/dist/{catalog-fingerprint-C144oW4M.js → catalog-fingerprint-e6aCWosn.js} +18 -14
  56. package/dist/catalog-operations-DeHTrJSV.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-3kWfjnYy.js} +4 -5
  77. package/dist/{codemod-BP6n8N9L.js → codemod-Bv5i-Mzo.js} +523 -201
  78. package/dist/{codemod-i4N2BhDc.js → codemod-D9Aiii1r.js} +3 -4
  79. package/dist/{collect-DNm3oKOk.js → collect-B80GYEot.js} +4 -5
  80. package/dist/collect-D-eroIfV.js +1 -0
  81. package/dist/{collect-BaWeMjwV.js → collect-WCl8cJQV.js} +26 -63
  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-BEklRUYo.d.ts} +36 -12
  86. package/dist/{compile-BAEO5bOk.js → compile-EzEMB-7v.js} +77 -33
  87. package/dist/{completion-BNdVf7X2.js → completion-_bc0OUQ-.js} +17 -8
  88. package/dist/config-BwPBfN0t.js +108 -0
  89. package/dist/{config-DGZzMV1B.js → config-D5XrLWpk.js} +2 -2
  90. package/dist/{config-report-Cm7UITNA.js → config-report-BmWIskD7.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-CQkE8Esr.d.ts → core-CFepFiDP.d.ts} +49 -22
  98. package/dist/{core-B5-w6Kw9.js → core-DzVINFbU.js} +26 -20
  99. package/dist/{create-Cb86Z8Im.js → create-6EwRQlig.js} +10 -7
  100. package/dist/{create-DJrlhEp9.js → create-BLPKnJKa.js} +35 -25
  101. package/dist/{create-UTnUVETj.d.ts → create-BPUopdfL.d.ts} +70 -37
  102. package/dist/{create-QHuuPw3q.d.ts → create-BamXmeob.d.ts} +37 -29
  103. package/dist/{create-B2-CQqCI.d.ts → create-DBvUsgzK.d.ts} +49 -28
  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-DHldhVUv.d.ts +22 -0
  113. package/dist/{describe-DZlnEtLy.js → describe-Bb4hGK5d.js} +5 -5
  114. package/dist/{describe-O0SwYIK8.d.ts → describe-BbFPBSms.d.ts} +5 -5
  115. package/dist/{device-BARQ8eYG.js → device-BwbJNmb2.js} +11 -8
  116. package/dist/{diff-Btr1c1Ow.js → diff-BwR1JdP2.js} +2 -2
  117. package/dist/{diff-DzT-xD13.js → diff-CQegtBAo.js} +22 -13
  118. package/dist/{digest-B3kc_PgQ.d.ts → digest-8Yx2CchM.d.ts} +3 -3
  119. package/dist/{doctor-BU1szn63.js → doctor-ClRVAtXQ.js} +287 -135
  120. package/dist/{doctor-BoK_y0KO.js → doctor-LPMYjSqO.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-B_Qg9D3e.d.ts → errors-BIM4MFsJ.d.ts} +22 -6
  127. package/dist/{errors-BWXBMaKK.d.ts → errors-CHwoRRpB.d.ts} +4 -1
  128. package/dist/{errors-DpP_U6Bf.js → errors-Vpu6rKHl.js} +13 -10
  129. package/dist/{evaluate-B_oqFbWC.js → evaluate-BAmf_AQd.js} +153 -82
  130. package/dist/{evaluations-BCddEOfO.d.ts → evaluations-DOWuBpWv.d.ts} +11 -5
  131. package/dist/{evaluations-DReoiVBw.js → evaluations-IBceAeKT.js} +40 -19
  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-BIbBAtPZ.d.ts} +9 -6
  141. package/dist/{fetch-adapter-De-u6vhJ.js → fetch-adapter-dPTgJVHd.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-BFfzZSLH.js +58 -0
  150. package/dist/gen-BtfFWGbz.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-XBgU6RGT.js → hosted-D0IzESu_.js} +42 -21
  164. package/dist/{hosted-BmjzxQhp.d.ts → hosted-DVxlLZMe.d.ts} +33 -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-DB2EG_iy.js → import-ACkOrv6g.js} +6 -6
  169. package/dist/{import-Bz0GefWg.js → import-CST57XLp.js} +64 -51
  170. package/dist/{index-CMiPH2Tv.d.ts → index-BinlXeU-.d.ts} +64 -37
  171. package/dist/{index-BSfRl0hZ.d.ts → index-CV-7DWeD.d.ts} +64 -52
  172. package/dist/{index-BE8y3moU.d.ts → index-DJwEgYzA.d.ts} +127 -82
  173. package/dist/{index-DH9DUDEM.d.ts → index-Dj2qF9VC.d.ts} +54 -30
  174. package/dist/{index-BTkwrK7v.d.ts → index-vYjMrXyK.d.ts} +336 -173
  175. package/dist/{index-DLwcuCN_.d.ts → index-ymept53A.d.ts} +51 -30
  176. package/dist/index.d.ts +22 -22
  177. package/dist/index.js +34 -34
  178. package/dist/{init-B-4t1NzC.js → init-BjuFDYT1.js} +10 -10
  179. package/dist/{init-5TXNji88.js → init-txYTuW9u.js} +5 -5
  180. package/dist/{instance-options-CU0YQCLH.d.ts → instance-options-CoHn-0e8.d.ts} +4 -4
  181. package/dist/{instance-snapshot-CjcwnEiV.js → instance-snapshot-DuWf1cT3.js} +86 -61
  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-qv4cr9w8.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-CfImTJGb.js} +4 -4
  195. package/dist/{login-WC9HPJpU.js → login-CgfCTO3F.js} +16 -9
  196. package/dist/{manifest-Dv6q4i5s.js → manifest-B2QPh19C.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-C-nv08_n.js} +16 -9
  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 +79 -26
  212. package/dist/next/index.js +121 -10
  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-ztVaux6j.js → openapi-BGeuunWC.js} +23 -14
  223. package/dist/{openapi-DMocl1bh.js → openapi-BIpw3Mb7.js} +4 -5
  224. package/dist/{openapi-Ddb4628T.js → openapi-BOsx0xn9.js} +33 -18
  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-DgSDLrta.js → output-DV5dwOTs.js} +9 -5
  232. package/dist/output-files-BHOIlrfD.js +1 -0
  233. package/dist/{output-files-CCMdcFWb.js → output-files-BIQ_9pIs.js} +29 -17
  234. package/dist/ownership-DA5YdYTm.js +1059 -0
  235. package/dist/{parse-Ddhz2xf4.js → parse-1_ZheTW5.js} +16 -13
  236. package/dist/parse-local-manifest-CCmbhnxP.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-BfWEeMqk.js → permdock-BvjivVb9.js} +200 -140
  245. package/dist/{permdock-Dco6dyCK.d.ts → permdock-CprAPN3w.d.ts} +260 -129
  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-CYcHj_w7.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-BycVKnXv.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-CU3An8uP.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-DGIO_gxq.d.ts} +782 -357
  259. package/dist/{postgres-store-BL9M_CA1.js → postgres-store-DcyrPS-r.js} +43 -16
  260. package/dist/{postgrest-r5faDIzD.js → postgrest-5Dr3W64L.js} +84 -86
  261. package/dist/{postgrest-CYacM_u7.d.ts → postgrest-D5nUGm-c.d.ts} +55 -35
  262. package/dist/powersync-B701tvhE.js +1 -0
  263. package/dist/{powersync-13odBwiM.js → powersync-Bg8u-JcR.js} +3 -3
  264. package/dist/{powersync-53ryOZip.js → powersync-CJrT1DSc.js} +127 -69
  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-D8x73IGm.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-DfLeek9O.d.ts} +1 -1
  280. package/dist/{provider-store-IgqQipCO.js → provider-store-CaTv00tr.js} +13 -9
  281. package/dist/{pull-CN5OLxrF.js → pull-2nJr0qg_.js} +12 -11
  282. package/dist/pull-C3EEGzSw.js +1 -0
  283. package/dist/{push-tVdG8dUL.js → push-Bn-lMEmI.js} +19 -13
  284. package/dist/{pushed-policy-CmYeSQqq.js → pushed-policy-CDuOL2de.js} +10 -7
  285. package/dist/{pushed-policy-BbcY9r_4.d.ts → pushed-policy-CryQheKq.d.ts} +12 -6
  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-Bs9Df2fQ.d.ts} +1 -1
  297. package/dist/{request-context-BykKLmyE.js → request-context-Duzdf0cd.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-ConCSj1y.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-Ck_PocSp.js → rls-Ba9wN0SP.js} +13 -6
  306. package/dist/{rls-CxBZb4rZ.js → rls-Cx0dtsB7.js} +310 -128
  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-vHIwyXCp.js} +8 -5
  310. package/dist/run-Ck22anC2.js +1 -0
  311. package/dist/{run-uLD2aWuO.js → run-PbRlXTfh.js} +26 -23
  312. package/dist/{run-ticket-BpNi7BCi.d.ts → run-ticket-B2o2Kxz8.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-DK4V-3Is.js} +42 -29
  316. package/dist/{scan-DSljDE1Y.js → scan-CRTj6fke.js} +1 -1
  317. package/dist/{schema-B4v0Qrac.js → schema-BOJjqlWL.js} +3 -2
  318. package/dist/{schema-gIcCx7zM.js → schema-BTsE1WRT.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-CyRN0-Cd.d.ts} +88 -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-Cp_Eot9W.d.ts → sink-B5zoUW_O.d.ts} +44 -20
  333. package/dist/{sink-BEZSlMS_.js → sink-D9_vh372.js} +32 -21
  334. package/dist/{skills-g_3BS9NC.js → skills-C9uKfSF5.js} +3 -3
  335. package/dist/{skills-Dcjw9_1C.js → skills-CQQcuGBi.js} +12 -8
  336. package/dist/{snapshot-CbGmYiJx.js → snapshot-CXlzi69u.js} +21 -18
  337. package/dist/{snapshot-cache-Pahd3IYJ.d.ts → snapshot-cache-BjAWkchD.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-B-zYB4GS.js → sources-CMAM-2A3.js} +46 -27
  344. package/dist/{sources-DEEuGb8S.d.ts → sources-CWG32C0G.d.ts} +126 -53
  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-C_pi2Rnh.js} +292 -101
  348. package/dist/ssf/index.d.ts +3 -3
  349. package/dist/ssf/index.js +47 -35
  350. package/dist/{standard-webhooks-DgFFD-Ga.js → standard-webhooks-D67a3nzk.js} +5 -5
  351. package/dist/{standard-webhooks-B_qRg0ws.d.ts → standard-webhooks-DOYEuOLx.d.ts} +7 -7
  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-DZJvxFIZ.d.ts +59 -0
  355. package/dist/{stores-BqEuHC05.js → stores-DxZWDXCs.js} +42 -5
  356. package/dist/{stream-2Vwhl7Er.d.ts → stream-9y9qw51m.d.ts} +4 -3
  357. package/dist/{stream-CvdUS9V1.js → stream-CDvF0sJm.js} +5 -5
  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-DnMMg5Fn.js} +79 -35
  367. package/dist/{supabase-Bqp7iIY2.js → supabase-SBs3MYUE.js} +3 -3
  368. package/dist/supabase-hook-C0FyEACZ.js +1 -0
  369. package/dist/{supabase-hook-Dg0SrQWR.js → supabase-hook-CrgU06WH.js} +175 -196
  370. package/dist/{supautils-MESd81bF.js → supautils-ByezN3b8.js} +385 -219
  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-BqrxBCir.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 +225 -141
  394. package/dist/testing/index.js +352 -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-c7Xo_2Cu.d.ts +50 -0
  407. package/dist/{types-CfiKC5aN.d.ts → types-B2efzoSX.d.ts} +14 -11
  408. package/dist/{types-CIeZcG8v.d.ts → types-B6ExllNo.d.ts} +2 -2
  409. package/dist/{types-DBHftjgS.d.ts → types-BB-zWDcR.d.ts} +45 -33
  410. package/dist/{types-BfVmNJO5.d.ts → types-BMVDHvI0.d.ts} +128 -50
  411. package/dist/{types-DXmwu78Z.d.ts → types-CEinc15V.d.ts} +31 -14
  412. package/dist/{types-g7Oy6Zg4.d.ts → types-CN0LsqbK.d.ts} +47 -24
  413. package/dist/{types-CeIscIKp.d.ts → types-CWBsAwqn.d.ts} +23 -12
  414. package/dist/{types-DqzsnlSA.js → types-CcUXciSj.js} +17 -5
  415. package/dist/{types-BWZybqs9.d.ts → types-CzOeVvcC.d.ts} +384 -203
  416. package/dist/{types-DC44-hqb.d.ts → types-DLvhVm1r.d.ts} +59 -32
  417. package/dist/{types-D3A19w4A.d.ts → types-DlelvQk4.d.ts} +22 -13
  418. package/dist/{types-cTos-H7p.d.ts → types-DsHGPtkR.d.ts} +68 -32
  419. package/dist/{types-BXMYB7BY.d.ts → types-ZzRGoViD.d.ts} +77 -24
  420. package/dist/{types-CQVEQawv.d.ts → types-rCRV4Ge-.d.ts} +24 -14
  421. package/dist/types-tQB2CEnY.d.ts +262 -0
  422. package/dist/unplugin/index.d.ts +1 -1
  423. package/dist/unplugin/index.js +2 -2
  424. package/dist/usage-0hjZPIRX.js +1 -0
  425. package/dist/{usage-Bybmck7f.js → usage-B9EtHWLa.js} +50 -26
  426. package/dist/{usage-CDaLXCfL.js → usage-CBzgwfIs.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-uvp-kyfO.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-DlUcTDBz.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-CqUKX6CY.d.ts} +13 -10
  439. package/dist/{waiter-BGUtGYoU.js → waiter-aBLM63_f.js} +1 -1
  440. package/dist/{watch-C-4VmFlL.js → watch-BFDKqmUa.js} +8 -8
  441. package/dist/watch-ClLuO2TL.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-BoDJm0Nc.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-DxXB54Wu.d.ts} +8 -5
  452. package/package.json +8 -8
  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 +16 -23
  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,9 +1,9 @@
1
- import { $n as AuthorizationDetail, Ln as Decision, Rt as Instant, T as Policy, et as MembershipSource, gn as Approver, it as RelationSource, lr as Subject, or as Membership, ut as TokenSigner } from "./policy-types-B-F-qAZk.js";
2
- import { O as AppData, f as PermissionTree, u as Permission } from "./permission-types-DhNEmoRG.js";
3
- import { a as PermDock } from "./permdock-Dco6dyCK.js";
4
- import { a as ApprovalDelegationSource, c as ApprovalListQuery, g as ApprovalVerdict, i as ApprovalDelegation, l as ApprovalPage, m as ApprovalStore, o as ApprovalInspectResult, r as ApprovalCancelMeta, s as ApprovalListFilter, u as ApprovalRequest } from "./types-DC44-hqb.js";
5
- import { a as AccessReviewItemQuery, c as AccessReviewStore, i as AccessReviewItemPage, n as AccessReviewDecision, r as AccessReviewItem, t as AccessReview } from "./types-CfiKC5aN.js";
6
- import { t as JsonSchemaNode } from "./json-schema-CN_iLFH2.js";
1
+ import { Sn as Approver, T as Policy, Un as Decision, Wt as Instant, ar as AuthorizationDetail, fr as Membership, hr as Subject, mt as TokenSigner, nt as MembershipSource, ot as RelationSource } from "./policy-types-DGIO_gxq.js";
2
+ import { M as AppData, f as PermissionTree, u as Permission } from "./permission-types-CAY-GU7e.js";
3
+ import { a as PermDock } from "./permdock-CprAPN3w.js";
4
+ import { a as ApprovalDelegationSource, c as ApprovalListQuery, g as ApprovalVerdict, i as ApprovalDelegation, l as ApprovalPage, m as ApprovalStore, o as ApprovalInspectResult, r as ApprovalCancelMeta, s as ApprovalListFilter, u as ApprovalRequest } from "./types-DLvhVm1r.js";
5
+ import { a as AccessReviewItemQuery, c as AccessReviewStore, i as AccessReviewItemPage, n as AccessReviewDecision, r as AccessReviewItem, t as AccessReview } from "./types-B2efzoSX.js";
6
+ import { t as JsonSchemaNode } from "./json-schema-BfXgnRNT.js";
7
7
  //#region src/approvals/access-reviews/handler.d.ts
8
8
  type AccessReviewsHandlerOptions = {
9
9
  readonly subject: (request: Request) => Subject | null | undefined | Promise<Subject | null | undefined>;
@@ -15,8 +15,8 @@ type AccessReviewsHandlerOptions = {
15
15
  };
16
16
  /**
17
17
  * HTTP for one access-review store: `GET` a review and its items, `POST`
18
- * `.../keep`, `.../revoke`, `.../applied` and `.../close`. A caller who is
19
- * not a reviewer and did not open the review gets 404.
18
+ * `.../keep`, `.../revoke`, `.../applied` and `.../close`. A caller who is not
19
+ * a reviewer and did not open the review gets 404.
20
20
  */
21
21
  declare function accessReviewsHandler(store: AccessReviewStore, options: AccessReviewsHandlerOptions): (request: Request) => Promise<Response>;
22
22
  //#endregion
@@ -31,11 +31,14 @@ type AccessReviewVerdict = {
31
31
  */
32
32
  readonly permissions?: readonly string[];
33
33
  };
34
- /** Whether `by` is named as a reviewer. A link, a feed or a contact is never a reviewer. */
34
+ /**
35
+ * Whether `by` is named as a reviewer. A link, a feed or a contact is never a
36
+ * reviewer.
37
+ */
35
38
  declare function accessReviewerEligible(review: AccessReview, by: Subject, permissions?: readonly string[], now?: Instant): boolean;
36
39
  /**
37
- * The decision to persist, or throws. A reviewer cannot decide a holding
38
- * of their own principal. `holder()` matches only through `permissions`.
40
+ * The decision to persist, or throws. A reviewer cannot decide a holding of
41
+ * their own principal. `holder()` matches only through `permissions`.
39
42
  */
40
43
  declare function decideAccessReviewItem(review: AccessReview, item: AccessReviewItem, verdict: AccessReviewVerdict, at?: Instant): AccessReviewDecision;
41
44
  //#endregion
@@ -78,16 +81,16 @@ type AccessReviewOptions = {
78
81
  readonly permdockFor?: (principalId: string) => PermDock | Promise<PermDock>;
79
82
  /**
80
83
  * When set, a global role, a plan, a relation or an inherit grant on a
81
- * reviewed permission makes `complete` false. Without it the membership
82
- * path is incomplete, because those holders cannot be listed from a tenant.
84
+ * reviewed permission makes `complete` false. Without it the membership path
85
+ * is incomplete, because those holders cannot be listed from a tenant.
83
86
  */
84
87
  readonly policy?: Policy;
85
88
  readonly now?: Instant;
86
89
  };
87
90
  /**
88
- * Opens a review of who holds `permissions` in the caller's active tenant.
89
- * The caller must be signed in. PermDock stores the population and does not
90
- * revoke anything: the application changes the source, then `markApplied`.
91
+ * Opens a review of who holds `permissions` in the caller's active tenant. The
92
+ * caller must be signed in. PermDock stores the population and does not revoke
93
+ * anything: the application changes the source, then `markApplied`.
91
94
  */
92
95
  declare function startAccessReview(permdock: PermDock, input: StartAccessReviewInput, options: AccessReviewOptions): Promise<AccessReview>;
93
96
  //#endregion
@@ -102,9 +105,9 @@ declare function memoryAccessReviewStore(): MemoryAccessReviewStore;
102
105
  //#endregion
103
106
  //#region src/approvals/delegation.d.ts
104
107
  /**
105
- * A frozen copy of a delegation with only the known fields, or `undefined`
106
- * when a known field has the wrong type, `until` is not after `from`, or
107
- * the delegate and the delegator are the same principal.
108
+ * A frozen copy of a delegation with only the known fields, or `undefined` when
109
+ * a known field has the wrong type, `until` is not after `from`, or the
110
+ * delegate and the delegator are the same principal.
108
111
  */
109
112
  declare function parseApprovalDelegation(input: unknown): ApprovalDelegation | undefined;
110
113
  /** In-process delegations. An entry that does not parse is dropped. */
@@ -126,8 +129,8 @@ type MatchDelegationOptions = {
126
129
  }>;
127
130
  };
128
131
  /**
129
- * The first active delegation under which `delegate` may approve `request`,
130
- * or `undefined`. The delegator is resolved by `subjectFor` and checked with
132
+ * The first active delegation under which `delegate` may approve `request`, or
133
+ * `undefined`. The delegator is resolved by `subjectFor` and checked with
131
134
  * `assertApprover`, so relation and permission approvers use the delegator's
132
135
  * facts. A throw, a missing option or a delegator the source does not name
133
136
  * matches nobody. The delegator's own delegations are never read.
@@ -145,7 +148,10 @@ type IdempotentCall = {
145
148
  };
146
149
  /** One `Idempotency-Key` entry as `approvalsHandler` stores it. */
147
150
  type IdempotencyRecord = {
148
- /** The store key: the approver's principal id and the field value, joined by a newline. */
151
+ /**
152
+ * The store key: the approver's principal id and the field value, joined by a
153
+ * newline.
154
+ */
149
155
  readonly key: string;
150
156
  readonly response: IdempotentResponse;
151
157
  /** Epoch milliseconds. */
@@ -153,7 +159,10 @@ type IdempotencyRecord = {
153
159
  };
154
160
  /** A response the approvals handler replays for a repeated `Idempotency-Key`. */
155
161
  type IdempotentResponse = {
156
- /** Which request produced it: a reused key with another fingerprint is refused with `422`. */
162
+ /**
163
+ * Which request produced it: a reused key with another fingerprint is refused
164
+ * with `422`.
165
+ */
157
166
  readonly fingerprint: string;
158
167
  readonly status: number;
159
168
  readonly headers: readonly (readonly [name: string, value: string])[];
@@ -168,16 +177,19 @@ type IdempotentResponse = {
168
177
  type IdempotencyStore = {
169
178
  /** Names the implementation in errors and events. */
170
179
  readonly name?: string;
171
- get(key: string): IdempotentResponse | undefined | Promise<IdempotentResponse | undefined>;
180
+ get: (key: string) => IdempotentResponse | undefined | Promise<IdempotentResponse | undefined>;
172
181
  /** `expiresAt` is epoch milliseconds; the store may drop the entry after it. */
173
- set(key: string, response: IdempotentResponse, expiresAt: number): void | Promise<void>;
182
+ set: (key: string, response: IdempotentResponse, expiresAt: number) => void | Promise<void>;
174
183
  };
175
- /** The `IdempotencyStore` key for one approver's `Idempotency-Key`: keys never cross approvers. */
184
+ /**
185
+ * The `IdempotencyStore` key for one approver's `Idempotency-Key`: keys never
186
+ * cross approvers.
187
+ */
176
188
  declare function idempotencyRecordKey(principalId: string, key: string): string;
177
189
  /**
178
- * The record `approvalsHandler` stores after `call` answered `response`:
179
- * the status, headers and body text, the call's fingerprint, and an expiry
180
- * 24 hours after `now` (epoch milliseconds, default the clock).
190
+ * The record `approvalsHandler` stores after `call` answered `response`: the
191
+ * status, headers and body text, the call's fingerprint, and an expiry 24 hours
192
+ * after `now` (epoch milliseconds, default the clock).
181
193
  */
182
194
  declare function idempotencyRecord(input: {
183
195
  readonly principalId: string;
@@ -186,7 +198,10 @@ declare function idempotencyRecord(input: {
186
198
  readonly response: Response;
187
199
  readonly now?: number;
188
200
  }): Promise<IdempotencyRecord>;
189
- /** Whether a stored response came from the same call: a reused key with another call is refused with `422`. */
201
+ /**
202
+ * Whether a stored response came from the same call: a reused key with another
203
+ * call is refused with `422`.
204
+ */
190
205
  declare function matchesIdempotencyRecord(response: IdempotentResponse, call: IdempotentCall): boolean;
191
206
  /** An in-process `IdempotencyStore`, for one instance and for tests. */
192
207
  declare function memoryIdempotencyStore(): IdempotencyStore;
@@ -194,18 +209,28 @@ declare function memoryIdempotencyStore(): IdempotencyStore;
194
209
  //#region src/approvals/handler.d.ts
195
210
  type ApprovalsHandlerOptions = {
196
211
  readonly subject: (request: Request) => Subject | null | undefined | Promise<Subject | null | undefined>;
197
- /** Refuse the principal even on grants that set `approval: { distinct: false }`. */
212
+ /**
213
+ * Refuse the principal even on grants that set `approval: { distinct: false
214
+ * }`.
215
+ */
198
216
  readonly requireDistinctApprover?: boolean;
199
217
  readonly signer?: TokenSigner;
200
218
  readonly audience?: string | readonly string[];
201
- /** Where `relation()` approvers are read, by the request's resource id; without it they match nobody. */
219
+ /**
220
+ * Where `relation()` approvers are read, by the request's resource id;
221
+ * without it they match nobody.
222
+ */
202
223
  readonly relations?: RelationSource;
203
- /** The policy's permission tree, for `through` links and `includes` on relation approvers. */
224
+ /**
225
+ * The policy's permission tree, for `through` links and `includes` on
226
+ * relation approvers.
227
+ */
204
228
  readonly permissions?: PermissionTree;
205
229
  /**
206
230
  * The approver's own instance in the request's tenant, for
207
231
  * `holder(permission)` approvers (custom roles included when the instance
208
- * reads a `CustomRoleSource`). Without it, or when it throws, they match nobody.
232
+ * reads a `CustomRoleSource`). Without it, or when it throws, they match
233
+ * nobody.
209
234
  */
210
235
  readonly permdockFor?: (approver: Subject, request: ApprovalRequest) => PermDock | Promise<PermDock>;
211
236
  /**
@@ -215,8 +240,8 @@ type ApprovalsHandlerOptions = {
215
240
  */
216
241
  readonly approvalDelegations?: ApprovalDelegationSource;
217
242
  /**
218
- * Resolves a delegator's subject from their principal id. Server-side:
219
- * never from the request body. A throw matches nobody.
243
+ * Resolves a delegator's subject from their principal id. Server-side: never
244
+ * from the request body. A throw matches nobody.
220
245
  */
221
246
  readonly subjectFor?: (principalId: string, request: ApprovalRequest) => Subject | null | undefined | Promise<Subject | null | undefined>;
222
247
  /**
@@ -229,11 +254,10 @@ declare function approvalsHandler(store: ApprovalStore, options: ApprovalsHandle
229
254
  //#endregion
230
255
  //#region src/approvals/parse-request.d.ts
231
256
  /**
232
- * Reads an `ApprovalRequest` (parsed, or the JSON text) as an approval store
233
- * or the Cloud returns it, validated against
234
- * `schemas/approval-request-v1.json`. Returns a deep-frozen copy, or `null`
235
- * for anything that does not match, including a `__proto__`, `constructor`
236
- * or `prototype` key.
257
+ * Reads an `ApprovalRequest` (parsed, or the JSON text) as an approval store or
258
+ * the Cloud returns it, validated against `schemas/approval-request-v1.json`.
259
+ * Returns a deep-frozen copy, or `null` for anything that does not match,
260
+ * including a `__proto__`, `constructor` or `prototype` key.
237
261
  */
238
262
  declare function parseApprovalRequest(value: unknown): ApprovalRequest | null;
239
263
  //#endregion
@@ -246,7 +270,10 @@ declare function parseApprovalRequest(value: unknown): ApprovalRequest | null;
246
270
  declare const APPROVAL_REQUEST_SCHEMA: JsonSchemaNode;
247
271
  //#endregion
248
272
  //#region src/approvals/signature.d.ts
249
- /** One recorded approval as the `approvals` claim of a `vnd.permdock.approval+jwt` carries it. */
273
+ /**
274
+ * One recorded approval as the `approvals` claim of a
275
+ * `vnd.permdock.approval+jwt` carries it.
276
+ */
250
277
  type ApprovalSignatureEntry = {
251
278
  readonly by: string;
252
279
  /** RFC 3339. */
@@ -257,9 +284,9 @@ type ApprovalSignatureEntry = {
257
284
  readonly delegation?: string;
258
285
  };
259
286
  /**
260
- * The claims of a `vnd.permdock.approval+jwt` other than `iss`, `aud`,
261
- * `iat`, `exp` and `jti`, which the signer sets: `jti` is the request `id`,
262
- * `iat` its `resolvedAt` and `exp` its `expiresAt`.
287
+ * The claims of a `vnd.permdock.approval+jwt` other than `iss`, `aud`, `iat`,
288
+ * `exp` and `jti`, which the signer sets: `jti` is the request `id`, `iat` its
289
+ * `resolvedAt` and `exp` its `expiresAt`.
263
290
  */
264
291
  type ApprovalSignatureClaims = {
265
292
  readonly sub?: string;
@@ -293,16 +320,22 @@ type ApprovalView = Omit<ApprovalRequest, "token">;
293
320
  declare function approvalView(request: ApprovalRequest): ApprovalView;
294
321
  /**
295
322
  * A strong RFC 9110 entity tag: the quoted `sha-256:` digest of
296
- * `approvalView(request)` as RFC 8785 JSON. A field outside
297
- * `ApprovalRequest` changes the tag, so hash the stored request as is.
323
+ * `approvalView(request)` as RFC 8785 JSON. A field outside `ApprovalRequest`
324
+ * changes the tag, so hash the stored request as is.
298
325
  */
299
326
  declare function approvalEntityTag(request: ApprovalRequest): string;
300
327
  //#endregion
301
328
  //#region src/approvals/relations.d.ts
302
329
  type ApproverRelationsOptions = {
303
- /** The object graph relation approvers are read from; without it they match nobody. */
330
+ /**
331
+ * The object graph relation approvers are read from; without it they match
332
+ * nobody.
333
+ */
304
334
  readonly relations?: RelationSource;
305
- /** The permission tree the policy declares; needed to follow `through` links and `includes`. */
335
+ /**
336
+ * The permission tree the policy declares; needed to follow `through` links
337
+ * and `includes`.
338
+ */
306
339
  readonly permissions?: PermissionTree;
307
340
  /** The clock relation expiry is read at; defaults to the current time. */
308
341
  readonly now?: Instant;
@@ -310,8 +343,8 @@ type ApproverRelationsOptions = {
310
343
  /**
311
344
  * The relation approvers of `request` that `subject` holds on its resource,
312
345
  * keyed by `approverRelationKey`, for `ApprovalVerdict.relations`. Reads go
313
- * through `relations` by the request's resource id; a request without an id,
314
- * a missing source or a read that fails holds nothing.
346
+ * through `relations` by the request's resource id; a request without an id, a
347
+ * missing source or a read that fails holds nothing.
315
348
  */
316
349
  declare function approverRelations(request: ApprovalRequest, subject: Subject, options: ApproverRelationsOptions): Promise<readonly string[]>;
317
350
  //#endregion
@@ -378,18 +411,24 @@ declare function resumeDecision(input: {
378
411
  };
379
412
  readonly adapter: string;
380
413
  readonly token: string | undefined;
381
- /** `false` for checks that do not run the action, such as the decision endpoint. */
414
+ /**
415
+ * `false` for checks that do not run the action, such as the decision
416
+ * endpoint.
417
+ */
382
418
  readonly consume?: boolean;
383
419
  readonly now?: Instant;
384
420
  /**
385
- * Seconds a request this call opens stays open; absent means the
386
- * store's `ttl`, else `DEFAULT_APPROVAL_TTL`. The grant's `approval.ttl`
387
- * still caps it.
421
+ * Seconds a request this call opens stays open; absent means the store's
422
+ * `ttl`, else `DEFAULT_APPROVAL_TTL`. The grant's `approval.ttl` still caps
423
+ * it.
388
424
  */
389
425
  readonly ttl?: number;
390
426
  }): Promise<Decision>;
391
427
  declare function cancelApprovals(store: ApprovalStore, filter: ApprovalListFilter, meta: ApprovalCancelMeta): Promise<number>;
392
- /** The token of a `PermDock-Approval` field: one RFC 9651 sf-token Item with no parameters, else `undefined`. */
428
+ /**
429
+ * The token of a `PermDock-Approval` field: one RFC 9651 sf-token Item with no
430
+ * parameters, else `undefined`.
431
+ */
393
432
  declare function readApprovalHeader(headers: Headers | {
394
433
  readonly get: (name: string) => string | null;
395
434
  }): string | undefined;
@@ -398,14 +437,14 @@ declare function resumeFromHeader(store: ApprovalStore, headers: Headers | {
398
437
  }, now?: Instant): Promise<ApprovalInspectResult>;
399
438
  /**
400
439
  * The token to resume `decision` with when the caller carries none: the
401
- * decision's own token when the store holds an approved or rejected request
402
- * for it, so `resumeDecision` resumes (or denies) the call without the
403
- * caller passing the token back. The token already binds permission,
404
- * resource (or the call's data when there is no row id), subject and actor.
405
- * A pending request counts only with `denyPending: true`, which makes the
406
- * call deny with `approval-pending` instead of asking again. `undefined` when
407
- * the decision needs no approval, there is no store, or the store has no
408
- * unexpired request for the token; a store that throws counts as none.
440
+ * decision's own token when the store holds an approved or rejected request for
441
+ * it, so `resumeDecision` resumes (or denies) the call without the caller
442
+ * passing the token back. The token already binds permission, resource (or the
443
+ * call's data when there is no row id), subject and actor. A pending request
444
+ * counts only with `denyPending: true`, which makes the call deny with
445
+ * `approval-pending` instead of asking again. `undefined` when the decision
446
+ * needs no approval, there is no store, or the store has no unexpired request
447
+ * for the token; a store that throws counts as none.
409
448
  */
410
449
  declare function storedApprovalToken(store: ApprovalStore | undefined, decision: Decision, options?: {
411
450
  readonly denyPending?: boolean;
@@ -419,16 +458,22 @@ declare function approvalPageSize(limit: number | undefined): number;
419
458
  type ApprovalCursorPosition = readonly [createdAt: string, token: string];
420
459
  /** The `next` cursor after `request`, for a store that pages in its own query. */
421
460
  declare function encodeApprovalCursor(request: ApprovalRequest): string;
422
- /** The `(createdAt, token)` position a `next` cursor names, or `null` for one that does not parse. */
461
+ /**
462
+ * The `(createdAt, token)` position a `next` cursor names, or `null` for one
463
+ * that does not parse.
464
+ */
423
465
  declare function decodeApprovalCursor(cursor: string): ApprovalCursorPosition | null;
424
466
  /**
425
467
  * Pages already-filtered requests in `(createdAt, token)` order, as the
426
468
  * built-in stores do: `limit` within 1 to 200 (50 when absent), `cursor` from
427
- * the previous page's `next`, and no items for a cursor that does not parse.
428
- * A custom `ApprovalStore` that filters in memory returns it from `list`.
469
+ * the previous page's `next`, and no items for a cursor that does not parse. A
470
+ * custom `ApprovalStore` that filters in memory returns it from `list`.
429
471
  */
430
472
  declare function pageApprovals(matching: readonly ApprovalRequest[], query: ApprovalListQuery): ApprovalPage;
431
- /** Every matching request of `store`, following `next` until the last page (at most 1000 pages of 200). */
473
+ /**
474
+ * Every matching request of `store`, following `next` until the last page (at
475
+ * most 1000 pages of 200).
476
+ */
432
477
  declare function listAllApprovals(store: ApprovalStore, filter: ApprovalListFilter): Promise<ApprovalRequest[]>;
433
478
  //#endregion
434
479
  //#region src/approvals/permissions.d.ts
@@ -443,23 +488,23 @@ declare function approverPermissions(request: ApprovalRequest, approver: PermDoc
443
488
  //#endregion
444
489
  //#region src/approvals/store.d.ts
445
490
  /**
446
- * Refuses `by` as an approver of `request`, or returns the index of the
447
- * stage the approval counts for (`undefined` without `stages`). Eligibility
448
- * is `approvers.by` or, under `stages`, the first incomplete stage
449
- * (`sequential`) or any incomplete stage (`all`); `approvers.escalation.to`
450
- * is eligible too once the request has waited `escalation.after`. A
451
- * principal who already approved is refused, so one person never completes
452
- * two stages. `relations` are the relation approvers `by` holds on the
453
- * request's resource (see `ApprovalVerdict.relations`).
491
+ * Refuses `by` as an approver of `request`, or returns the index of the stage
492
+ * the approval counts for (`undefined` without `stages`). Eligibility is
493
+ * `approvers.by` or, under `stages`, the first incomplete stage (`sequential`)
494
+ * or any incomplete stage (`all`); `approvers.escalation.to` is eligible too
495
+ * once the request has waited `escalation.after`. A principal who already
496
+ * approved is refused, so one person never completes two stages. `relations`
497
+ * are the relation approvers `by` holds on the request's resource (see
498
+ * `ApprovalVerdict.relations`).
454
499
  */
455
500
  declare function assertApprover(request: ApprovalRequest, by: Subject, requireDistinctApprover: boolean, at?: Instant, relations?: readonly string[], permissions?: readonly string[]): number | undefined;
456
501
  /**
457
- * The request after `verdict`, for a store to persist: a rejection resolves
458
- * it; an approval is appended to `approvals` and resolves it once there are
459
- * `approvers.quorum` (default 1). Throws an `ApprovalError` when the request
460
- * is not pending, has expired or `verdict.by` may not approve it. Stores
461
- * should write the result only when the stored row is still pending with the
462
- * same number of approvals, so two approvers racing both count.
502
+ * The request after `verdict`, for a store to persist: a rejection resolves it;
503
+ * an approval is appended to `approvals` and resolves it once there are
504
+ * `approvers.quorum` (default 1). Throws an `ApprovalError` when the request is
505
+ * not pending, has expired or `verdict.by` may not approve it. Stores should
506
+ * write the result only when the stored row is still pending with the same
507
+ * number of approvals, so two approvers racing both count.
463
508
  */
464
509
  declare function applyApprovalVerdict(request: ApprovalRequest, verdict: ApprovalVerdict, at?: Instant): ApprovalRequest;
465
510
  type MemoryApprovalStore = ApprovalStore & {
@@ -1,8 +1,8 @@
1
- import { dt as TokenVerifier, et as MembershipSource, q as DecisionSink } from "./policy-types-B-F-qAZk.js";
2
- import { O as AppData } from "./permission-types-DhNEmoRG.js";
3
- import { n as RevocationFeed } from "./revocations-R07lFBnX.js";
4
- import { t as ClaimsMap } from "./claims-map-Ca-QX8C6.js";
5
- import { t as SqlQuery } from "./sql-CDEPCA0g.js";
1
+ import { J as DecisionSink, ht as TokenVerifier, nt as MembershipSource } from "./policy-types-DGIO_gxq.js";
2
+ import { M as AppData } from "./permission-types-CAY-GU7e.js";
3
+ import { n as RevocationFeed } from "./revocations-BaUXHM1N.js";
4
+ import { t as ClaimsMap } from "./claims-map-D1Pb5oRq.js";
5
+ import { t as SqlQuery } from "./sql-B80DFdpG.js";
6
6
  //#region src/scim/types.d.ts
7
7
  declare const SCIM_CONTENT_TYPE = "application/scim+json";
8
8
  declare const USER_SCHEMA = "urn:ietf:params:scim:schemas:core:2.0:User";
@@ -12,7 +12,10 @@ declare const ERROR_SCHEMA = "urn:ietf:params:scim:api:messages:2.0:Error";
12
12
  declare const PATCH_SCHEMA = "urn:ietf:params:scim:api:messages:2.0:PatchOp";
13
13
  /** The RFC 7643 section 3.3 Group extension that carries PermDock roles. */
14
14
  declare const ROLES_EXTENSION = "urn:ietf:params:scim:schemas:extension:permdock:2.0:Group";
15
- /** The extension that carries the application's own data (`x`) on a User or a Group. */
15
+ /**
16
+ * The extension that carries the application's own data (`x`) on a User or a
17
+ * Group.
18
+ */
16
19
  declare const APP_DATA_EXTENSION = "urn:ietf:params:scim:schemas:extension:permdock:2.0:AppData";
17
20
  type DirectoryMeta = {
18
21
  readonly created: string;
@@ -31,7 +34,10 @@ type DirectoryUser = {
31
34
  readonly userName: string;
32
35
  readonly active: boolean;
33
36
  readonly emails?: readonly DirectoryEmail[];
34
- /** The application's own data, from the `AppData` extension; plain JSON, never read by a decision. */
37
+ /**
38
+ * The application's own data, from the `AppData` extension; plain JSON, never
39
+ * read by a decision.
40
+ */
35
41
  readonly x?: AppData;
36
42
  readonly meta: DirectoryMeta;
37
43
  };
@@ -44,7 +50,10 @@ type DirectoryGroup = {
44
50
  readonly displayName: string;
45
51
  readonly members: readonly DirectoryGroupMember[];
46
52
  readonly roles?: readonly string[];
47
- /** The application's own data, from the `AppData` extension; plain JSON, never read by a decision. */
53
+ /**
54
+ * The application's own data, from the `AppData` extension; plain JSON, never
55
+ * read by a decision.
56
+ */
48
57
  readonly x?: AppData;
49
58
  readonly meta: DirectoryMeta;
50
59
  };
@@ -80,17 +89,17 @@ type ScimPatchOp = {
80
89
  type DirectoryStore = {
81
90
  /** Shown in errors and events; optional, as on every extension interface. */
82
91
  readonly name?: string;
83
- getUser(tenant: string, id: string): DirectoryUser | null | Promise<DirectoryUser | null>;
84
- findUsers(tenant: string, filter: ScimFilter | undefined, page: ScimPage): ScimPageResult<DirectoryUser> | Promise<ScimPageResult<DirectoryUser>>;
85
- putUser(tenant: string, user: DirectoryUser): DirectoryUser | Promise<DirectoryUser>;
86
- patchUser(tenant: string, id: string, ops: readonly ScimPatchOp[]): DirectoryUser | Promise<DirectoryUser>;
87
- deleteUser(tenant: string, id: string): void | Promise<void>;
88
- getGroup(tenant: string, id: string): DirectoryGroup | null | Promise<DirectoryGroup | null>;
89
- findGroups(tenant: string, filter: ScimFilter | undefined, page: ScimPage): ScimPageResult<DirectoryGroup> | Promise<ScimPageResult<DirectoryGroup>>;
90
- putGroup(tenant: string, group: DirectoryGroup): DirectoryGroup | Promise<DirectoryGroup>;
91
- patchGroup(tenant: string, id: string, ops: readonly ScimPatchOp[]): DirectoryGroup | Promise<DirectoryGroup>;
92
- deleteGroup(tenant: string, id: string): void | Promise<void>;
93
- groupsFor(tenant: string, userId: string): readonly DirectoryGroup[] | Promise<readonly DirectoryGroup[]>;
92
+ getUser: (tenant: string, id: string) => DirectoryUser | null | Promise<DirectoryUser | null>;
93
+ findUsers: (tenant: string, filter: ScimFilter | undefined, page: ScimPage) => ScimPageResult<DirectoryUser> | Promise<ScimPageResult<DirectoryUser>>;
94
+ putUser: (tenant: string, user: DirectoryUser) => DirectoryUser | Promise<DirectoryUser>;
95
+ patchUser: (tenant: string, id: string, ops: readonly ScimPatchOp[]) => DirectoryUser | Promise<DirectoryUser>;
96
+ deleteUser: (tenant: string, id: string) => void | Promise<void>;
97
+ getGroup: (tenant: string, id: string) => DirectoryGroup | null | Promise<DirectoryGroup | null>;
98
+ findGroups: (tenant: string, filter: ScimFilter | undefined, page: ScimPage) => ScimPageResult<DirectoryGroup> | Promise<ScimPageResult<DirectoryGroup>>;
99
+ putGroup: (tenant: string, group: DirectoryGroup) => DirectoryGroup | Promise<DirectoryGroup>;
100
+ patchGroup: (tenant: string, id: string, ops: readonly ScimPatchOp[]) => DirectoryGroup | Promise<DirectoryGroup>;
101
+ deleteGroup: (tenant: string, id: string) => void | Promise<void>;
102
+ groupsFor: (tenant: string, userId: string) => readonly DirectoryGroup[] | Promise<readonly DirectoryGroup[]>;
94
103
  };
95
104
  type ScimTokenOptions = {
96
105
  readonly hash: "sha256";
@@ -99,7 +108,10 @@ type ScimTokenOptions = {
99
108
  type DirectoryChange = {
100
109
  readonly tenant: string;
101
110
  readonly userIds: readonly string[];
102
- /** `session-revoked` when a user was deactivated or deleted; `changed` otherwise. */
111
+ /**
112
+ * `session-revoked` when a user was deactivated or deleted; `changed`
113
+ * otherwise.
114
+ */
103
115
  readonly kind: "session-revoked" | "changed";
104
116
  };
105
117
  type ScimHandlerOptions = {
@@ -108,7 +120,10 @@ type ScimHandlerOptions = {
108
120
  readonly token?: ScimTokenOptions;
109
121
  readonly verifier?: TokenVerifier;
110
122
  readonly audience?: string;
111
- /** With `verifier`: where the JWT names its tenant (`claims.tenant`); default `tenant`, then `tid`. */
123
+ /**
124
+ * With `verifier`: where the JWT names its tenant (`claims.tenant`); default
125
+ * `tenant`, then `tid`.
126
+ */
112
127
  readonly claims?: Pick<ClaimsMap, "tenant">;
113
128
  readonly groupRoles?: Readonly<Record<string, readonly string[]>>;
114
129
  readonly assignable?: readonly string[];
@@ -116,8 +131,8 @@ type ScimHandlerOptions = {
116
131
  readonly onChange?: (change: DirectoryChange) => void | Promise<void>;
117
132
  /**
118
133
  * Publishes for each affected user's id, `externalId` and `userName`:
119
- * `session-revoked` when a user is deactivated (`active: false`) or
120
- * deleted, so open connections end; `changed` otherwise, so they revalidate.
134
+ * `session-revoked` when a user is deactivated (`active: false`) or deleted,
135
+ * so open connections end; `changed` otherwise, so they revalidate.
121
136
  */
122
137
  readonly revocations?: RevocationFeed;
123
138
  readonly onUnknownRole?: (name: string) => void;
@@ -139,9 +154,15 @@ declare class DirectoryNotFoundError extends Error {
139
154
  readonly code: "not-found";
140
155
  constructor(message?: string);
141
156
  }
142
- /** Matches by `name` and `code`, so an error from another copy of the module still maps. */
157
+ /**
158
+ * Matches by `name` and `code`, so an error from another copy of the module
159
+ * still maps.
160
+ */
143
161
  declare function isDirectoryUniquenessError(error: unknown): error is DirectoryUniquenessError;
144
- /** Matches by `name` and `code`, so an error from another copy of the module still maps. */
162
+ /**
163
+ * Matches by `name` and `code`, so an error from another copy of the module
164
+ * still maps.
165
+ */
145
166
  declare function isDirectoryNotFoundError(error: unknown): error is DirectoryNotFoundError;
146
167
  //#endregion
147
168
  //#region src/scim/auth.d.ts
@@ -195,15 +216,18 @@ declare function memoryDirectoryStore(): DirectoryStore;
195
216
  //#endregion
196
217
  //#region src/scim/postgres-store.d.ts
197
218
  type PostgresDirectoryStoreOptions = {
198
- /** Schema of the generated tables (`permdock scim generate --schema`). Default `permdock`. */
219
+ /**
220
+ * Schema of the generated tables (`permdock scim generate --schema`). Default
221
+ * `permdock`.
222
+ */
199
223
  readonly schema?: string;
200
224
  };
201
225
  /**
202
226
  * A `DirectoryStore` over the tables `permdock scim generate` writes, called
203
- * through a `SqlQuery` that may read and write them (the table owner, or a
204
- * role granted on them). Every method is one statement, so a pool needs no
205
- * transaction: a group and its members change together, and a PATCH that
206
- * races another write re-reads the row and applies its operations again.
227
+ * through a `SqlQuery` that may read and write them (the table owner, or a role
228
+ * granted on them). Every method is one statement, so a pool needs no
229
+ * transaction: a group and its members change together, and a PATCH that races
230
+ * another write re-reads the row and applies its operations again.
207
231
  */
208
232
  declare function postgresDirectoryStore(query: SqlQuery, options?: PostgresDirectoryStoreOptions): DirectoryStore;
209
233
  //#endregion