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,6 +1,9 @@
1
1
  import { n as isReadonlyArray } from "./compact-CAf557ZB.js";
2
2
  //#region src/core/approvers.ts
3
- /** Approves when the approver holds `permission` in the request's tenant (any role, custom roles included). */
3
+ /**
4
+ * Approves when the approver holds `permission` in the request's tenant (any
5
+ * role, custom roles included).
6
+ */
4
7
  function holder(permission) {
5
8
  const key = permission?.key;
6
9
  if (typeof key !== "string" || key === "") throw new Error("PermDock: holder() needs a permission");
@@ -38,7 +41,10 @@ function flattenApprovers(input) {
38
41
  if (isReadonlyArray(input)) return input;
39
42
  return [input];
40
43
  }
41
- /** Every approver `input` names, inside `anyOf` groups too, for reading facts and labels. */
44
+ /**
45
+ * Every approver `input` names, inside `anyOf` groups too, for reading facts
46
+ * and labels.
47
+ */
42
48
  function approverLeaves(input) {
43
49
  return flattenApprovers(input).flatMap((item) => item.kind === "any-of" ? item.of.flatMap((entry) => approverLeaves(entry)) : [item]);
44
50
  }
@@ -1,5 +1,5 @@
1
1
  import { t as defineLeaf } from "./command-L8EstFNm.js";
2
- import { c as given, u as permissionsFlag } from "./flags-aaeRAdiD.js";
2
+ import { c as given, u as permissionsFlag } from "./flags-DXjoTVbS.js";
3
3
  //#region src/cli/commands/arazzo.ts
4
4
  const check = defineLeaf({
5
5
  flags: {
@@ -21,7 +21,7 @@ const check = defineLeaf({
21
21
  ...permissionsFlag
22
22
  },
23
23
  async run(ctx, { flags }) {
24
- return (await import("./arazzo-rdeJ8n1J.js")).runArazzo({
24
+ return (await import("./arazzo-CmQaGPkM.js")).runArazzo({
25
25
  cwd: ctx.cwd,
26
26
  config: ctx.config,
27
27
  doc: given(flags.doc),
@@ -1,9 +1,9 @@
1
- import { _ as arazzoFindings } from "./src-DLFrtrrC.js";
2
- import { c as missingInput } from "./errors-DpP_U6Bf.js";
3
- import { i as readJsonFile } from "./files-D_JIzUrP.js";
4
- import { t as ARAZZO_REPORT_SCHEMA } from "./version-CEbQ5UeM.js";
5
- import { a as loadModule, s as pickNamed, t as asPermissionTree } from "./load-DxroEzH1.js";
6
- import { t as DOCS_BASE } from "./manifest-Dv6q4i5s.js";
1
+ import { _ as arazzoFindings } from "./src-C_pi2Rnh.js";
2
+ import { c as missingInput } from "./errors-Vpu6rKHl.js";
3
+ import { i as readJsonFile } from "./files-BSjrtIHw.js";
4
+ import { t as ARAZZO_REPORT_SCHEMA } from "./version-DMQ0dnN5.js";
5
+ import { a as loadModule, s as pickNamed, t as asPermissionTree } from "./load-DjSU5KXO.js";
6
+ import { t as DOCS_BASE } from "./manifest-B2QPh19C.js";
7
7
  import { existsSync } from "node:fs";
8
8
  import { resolve } from "node:path";
9
9
  //#region src/cli/arazzo.ts
@@ -1,4 +1,4 @@
1
- import { n as CliError } from "./errors-DpP_U6Bf.js";
1
+ import { n as CliError } from "./errors-Vpu6rKHl.js";
2
2
  //#region ../../node_modules/.pnpm/fastest-levenshtein@1.0.16/node_modules/fastest-levenshtein/esm/mod.js
3
3
  const peq = /* @__PURE__ */ new Uint32Array(65536);
4
4
  const myers_32 = (a, b) => {
@@ -185,7 +185,10 @@ function suggestion(given, names) {
185
185
  const best = didYouMean(given, names);
186
186
  return best === void 0 ? "" : ` Did you mean ${best}?`;
187
187
  }
188
- /** Every spelling a flag set accepts: `--name`, `--no-name` for booleans, `-x` aliases. */
188
+ /**
189
+ * Every spelling a flag set accepts: `--name`, `--no-name` for booleans, `-x`
190
+ * aliases.
191
+ */
189
192
  function lookupOf(flags) {
190
193
  const lookup = /* @__PURE__ */ new Map();
191
194
  for (const [name, flag] of Object.entries(flags)) {
@@ -207,7 +210,10 @@ function lookupOf(flags) {
207
210
  function flagSpellings(flags) {
208
211
  return [...lookupOf(flags).keys()];
209
212
  }
210
- /** A value never starts with `-`, bar `-` itself: `--out --check` is a bare `--out`. */
213
+ /**
214
+ * A value never starts with `-`, bar `-` itself: `--out --check` is a bare
215
+ * `--out`.
216
+ */
211
217
  function isValue(token) {
212
218
  return token !== void 0 && (token === "-" || !token.startsWith("-"));
213
219
  }
@@ -218,8 +224,8 @@ function checkEnum(command, name, flag, value) {
218
224
  if (flag.type === "enum" && !flag.options.includes(value)) throw new CliError("usage", `${command}: --${name} ${value === "" ? "needs a value" : `'${value}' is not one of ${flag.options.join(", ")}`}.${suggestion(value, flag.options)}`, { code: "invalid_value" });
219
225
  }
220
226
  /**
221
- * Splits argv into the flags `flags` declares, positionals and the tokens
222
- * after `--`. An undeclared flag is a usage error naming the nearest one.
227
+ * Splits argv into the flags `flags` declares, positionals and the tokens after
228
+ * `--`. An undeclared flag is a usage error naming the nearest one.
223
229
  * `--name=value`, `--name value`, `--no-name` and `-x` aliases all read.
224
230
  */
225
231
  function parseFlags(command, argv, flags) {
@@ -244,11 +250,12 @@ function parseFlags(command, argv, flags) {
244
250
  const flag = flags[found.name];
245
251
  if (flag === void 0) continue;
246
252
  if (flag.type === "boolean") {
247
- if (eq !== -1) {
253
+ if (eq === -1) values.set(found.name, !found.negated);
254
+ else {
248
255
  const raw = token.slice(eq + 1);
249
256
  if (raw !== "true" && raw !== "false") throw new CliError("usage", `${command}: ${spelling} takes true or false, got '${raw}'`, { code: "invalid_value" });
250
257
  values.set(found.name, raw === "true" !== found.negated);
251
- } else values.set(found.name, !found.negated);
258
+ }
252
259
  continue;
253
260
  }
254
261
  let value;
@@ -1,9 +1,9 @@
1
- import { Gt as Snapshot, T as Policy, j as PolicyVocabulary, sr as Principal } from "../policy-types-B-F-qAZk.js";
2
- import { u as Permission } from "../permission-types-DhNEmoRG.js";
3
- import { a as OperationInput, t as Operation } from "../operations-BNLes61x.js";
4
- import { a as PermDock } from "../permdock-Dco6dyCK.js";
5
- import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, u as SnapshotQuery, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-C4gZUEZy.js";
6
- import { a as ProtectTarget, i as PermDockHandlers, n as FetchAdapterOptions, t as ContextReader } from "../fetch-adapter-CuhyYwC1.js";
1
+ import { T as Policy, Zt as Snapshot, j as PolicyVocabulary, pr as Principal } from "../policy-types-DGIO_gxq.js";
2
+ import { u as Permission } from "../permission-types-CAY-GU7e.js";
3
+ import { a as OperationInput, t as Operation } from "../operations-Ci_rT6Uo.js";
4
+ import { a as PermDock } from "../permdock-CprAPN3w.js";
5
+ import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, u as SnapshotQuery, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-CyRN0-Cd.js";
6
+ import { a as ProtectTarget, i as PermDockHandlers, n as FetchAdapterOptions, t as ContextReader } from "../fetch-adapter-BIbBAtPZ.js";
7
7
  import { APIContext, MiddlewareHandler } from "astro";
8
8
  //#region src/astro/create.d.ts
9
9
  type AstroPermDockOptions<TUser = unknown> = FetchAdapterOptions<APIContext, TUser>;
@@ -12,7 +12,10 @@ type AstroPermDockLocals<TData = unknown, V extends PolicyVocabulary = PolicyVoc
12
12
  readonly permdock: PermDock<V>;
13
13
  readonly permdockData: TData;
14
14
  };
15
- /** The context a wrapped endpoint receives: its own `APIContext` with typed `locals`. */
15
+ /**
16
+ * The context a wrapped endpoint receives: its own `APIContext` with typed
17
+ * `locals`.
18
+ */
16
19
  type AstroPermDockContext<TContext extends APIContext = APIContext, TData = unknown, V extends PolicyVocabulary = PolicyVocabulary> = TContext & {
17
20
  readonly locals: AstroPermDockLocals<TData, V>;
18
21
  };
@@ -23,18 +26,33 @@ type AstroProtect<V extends PolicyVocabulary = PolicyVocabulary> = {
23
26
  <TOperation extends Operation>(operation: TOperation, input?: ContextReader<APIContext, OperationInput<TOperation>>, protectOptions?: ProtectOptions): AstroGuarded<unknown, V>;
24
27
  };
25
28
  type AstroPermDock<V extends PolicyVocabulary = PolicyVocabulary> = {
26
- /** `onRequest` in `src/middleware.ts`: sets `context.locals.permdock`; a bad Web Bot Auth signature is a `401`. */
29
+ /**
30
+ * `onRequest` in `src/middleware.ts`: sets `context.locals.permdock`; a bad
31
+ * Web Bot Auth signature is a `401`.
32
+ */
27
33
  readonly middleware: () => MiddlewareHandler;
28
- /** `export const DELETE = protect(permissions.post.delete, loadPost)(handler)`. */
34
+ /**
35
+ * `export const DELETE = protect(permissions.post.delete,
36
+ * loadPost)(handler)`.
37
+ */
29
38
  readonly protect: AstroProtect<V>;
30
- /** Types `context.locals.permdock` for an endpoint and answers a thrown PermDock error with Problem Details. */
39
+ /**
40
+ * Types `context.locals.permdock` for an endpoint and answers a thrown
41
+ * PermDock error with Problem Details.
42
+ */
31
43
  readonly withPermDock: AstroGuarded<unknown, V>;
32
- /** The instance for an endpoint, an action or a page's frontmatter (`Astro` is an `APIContext`). */
44
+ /**
45
+ * The instance for an endpoint, an action or a page's frontmatter (`Astro` is
46
+ * an `APIContext`).
47
+ */
33
48
  readonly getPermDock: (context: APIContext) => Promise<PermDock<V>>;
34
49
  /** The snapshot a page passes to a `permdock/react` island. */
35
50
  readonly getSnapshot: (context: APIContext, query?: SnapshotQuery) => Promise<Snapshot>;
36
51
  readonly connection: (context: APIContext, connectionOptions?: ConnectionOptions) => Promise<Connection>;
37
- /** `export const { GET, POST } = permdockHandler()` in `src/pages/api/permdock.ts`. */
52
+ /**
53
+ * `export const { GET, POST } = permdockHandler()` in
54
+ * `src/pages/api/permdock.ts`.
55
+ */
38
56
  readonly permdockHandler: () => PermDockHandlers<APIContext>;
39
57
  readonly openapi: OpenApiHooks;
40
58
  };
@@ -1,5 +1,5 @@
1
- import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-DReoiVBw.js";
2
- import { n as guardedRoute, r as instanceRoute, t as fetchAdapter } from "../fetch-adapter-De-u6vhJ.js";
1
+ import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-IBceAeKT.js";
2
+ import { n as guardedRoute, r as instanceRoute, t as fetchAdapter } from "../fetch-adapter-dPTgJVHd.js";
3
3
  //#region src/astro/create.ts
4
4
  const route = {
5
5
  context: (context) => context,
@@ -1,10 +1,11 @@
1
- import { t as whoCan } from "./who-can-BwNsI_Js.js";
1
+ import { t as whoCan } from "./who-can-BoDJm0Nc.js";
2
2
  //#region src/delivery/audience.ts
3
3
  async function granted(permdock, ids, permission, row) {
4
4
  const unique = [...new Set(ids.filter((id) => typeof id === "string" && id !== ""))];
5
5
  const decisions = await Promise.all(unique.map(async (id) => {
6
6
  try {
7
- return (await permdock.decideFor(id, permission, row)).outcome;
7
+ const { outcome } = await permdock.decideFor(id, permission, row);
8
+ return outcome;
8
9
  } catch {
9
10
  return "denied";
10
11
  }
@@ -14,8 +15,8 @@ async function granted(permdock, ids, permission, row) {
14
15
  /**
15
16
  * Who may receive a delivery about `row`: the holders `whoCan` lists (or
16
17
  * `candidates`), kept only where `decideFor` grants `permission` in the
17
- * sender's active tenant. A collection permission has no holders to list,
18
- * so it needs `candidates`; without them it is empty and incomplete.
18
+ * sender's active tenant. A collection permission has no holders to list, so it
19
+ * needs `candidates`; without them it is empty and incomplete.
19
20
  */
20
21
  async function audience(permdock, permission, row, options = {}) {
21
22
  if (options.candidates !== void 0) return Object.freeze({
@@ -41,10 +42,9 @@ async function audience(permdock, permission, row, options = {}) {
41
42
  });
42
43
  }
43
44
  /**
44
- * The subscribers whose principal `decideFor` grants the event's
45
- * permission on its row, in their order: the per-event filter for webhook
46
- * endpoints and realtime channels. A subscriber without a string
47
- * `principal` is dropped.
45
+ * The subscribers whose principal `decideFor` grants the event's permission on
46
+ * its row, in their order: the per-event filter for webhook endpoints and
47
+ * realtime channels. A subscriber without a string `principal` is dropped.
48
48
  */
49
49
  async function subscribersFor(permdock, event, subscribers) {
50
50
  const ids = subscribers.map((subscriber) => subscriber.principal).filter((id) => typeof id === "string");
@@ -1,7 +1,7 @@
1
1
  import { r as isRecord } from "./compact-CAf557ZB.js";
2
- import { h as secondsAt } from "./time-DkWjdL98.js";
3
- import { n as CliError } from "./errors-DpP_U6Bf.js";
4
- import { a as refreshCredential, c as stringField, n as discoverAuthorizationServer } from "./device-BARQ8eYG.js";
2
+ import { h as secondsAt } from "./time-nR1JesoH.js";
3
+ import { n as CliError } from "./errors-Vpu6rKHl.js";
4
+ import { a as refreshCredential, c as stringField, n as discoverAuthorizationServer } from "./device-BwbJNmb2.js";
5
5
  import { i as writeCredentials, r as readCredentials, t as credentialsPath } from "./storage-C2bWdvJH.js";
6
6
  import { t as CLOUD_BASE_URL } from "./base-url-BQbddZO5.js";
7
7
  import { existsSync } from "node:fs";
@@ -15,7 +15,10 @@ function firstNonEmpty(...values) {
15
15
  for (const value of values) if (value !== void 0 && value !== "") return value;
16
16
  return "";
17
17
  }
18
- /** `--url`, then `PERMDOCK_CLOUD_URL`, then the platform issuer; never a trailing slash. */
18
+ /**
19
+ * `--url`, then `PERMDOCK_CLOUD_URL`, then the platform issuer; never a
20
+ * trailing slash.
21
+ */
19
22
  function cloudUrl(flag, env) {
20
23
  return firstNonEmpty(flag, env["PERMDOCK_CLOUD_URL"], CLOUD_BASE_URL).replace(/\/+$/u, "");
21
24
  }
@@ -54,7 +57,10 @@ function isHttps(value, issuer) {
54
57
  }
55
58
  //#endregion
56
59
  //#region src/cli/cloud/auth.ts
57
- /** The service name credentials are stored under, in the keychain or the config directory. */
60
+ /**
61
+ * The service name credentials are stored under, in the keychain or the config
62
+ * directory.
63
+ */
58
64
  const CREDENTIAL_SERVICE = "permdock";
59
65
  /** Seconds before `expires_at` at which a stored access token counts as expired. */
60
66
  const EXPIRY_SKEW_SECONDS = 30;
@@ -98,7 +104,10 @@ function repositoryRoot(cwd) {
98
104
  dir = parent;
99
105
  }
100
106
  }
101
- /** The credentials file when it would land inside the repository at `cwd`; `null` when it is outside. */
107
+ /**
108
+ * The credentials file when it would land inside the repository at `cwd`;
109
+ * `null` when it is outside.
110
+ */
102
111
  function credentialsInsideRepository(cwd, runtime) {
103
112
  const root = repositoryRoot(cwd);
104
113
  if (root === null) return null;
@@ -159,7 +168,10 @@ async function readAuth(command, issuer, env, runtime) {
159
168
  source: "login"
160
169
  };
161
170
  }
162
- /** The bearer for `cloud push`: `PERMDOCK_CLOUD_KEY`, then a login holding `catalog:write`. */
171
+ /**
172
+ * The bearer for `cloud push`: `PERMDOCK_CLOUD_KEY`, then a login holding
173
+ * `catalog:write`.
174
+ */
163
175
  async function pushAuth(issuer, env, runtime) {
164
176
  const key = env["PERMDOCK_CLOUD_KEY"];
165
177
  if (key !== void 0 && key !== "") return {
@@ -1,8 +1,8 @@
1
- import { T as Policy, Zn as Actor, rr as Delegation, sr as Principal } from "../policy-types-B-F-qAZk.js";
2
- import { m as ApprovalStore } from "../types-DC44-hqb.js";
3
- import { a as ProblemDetails } from "../errors-B_Qg9D3e.js";
4
- import { t as InstanceOptions } from "../instance-options-CU0YQCLH.js";
5
- import { a as evaluationsSemantic, n as EvaluationsSemantic, r as evaluateBatch, t as EVALUATIONS_SEMANTICS } from "../evaluations-BCddEOfO.js";
1
+ import { T as Policy, lr as Delegation, pr as Principal, rr as Actor } from "../policy-types-DGIO_gxq.js";
2
+ import { m as ApprovalStore } from "../types-DLvhVm1r.js";
3
+ import { a as ProblemDetails } from "../errors-BIM4MFsJ.js";
4
+ import { t as InstanceOptions } from "../instance-options-CoHn-0e8.js";
5
+ import { a as evaluationsSemantic, n as EvaluationsSemantic, r as evaluateBatch, t as EVALUATIONS_SEMANTICS } from "../evaluations-DOWuBpWv.js";
6
6
  //#region src/authzen/map.d.ts
7
7
  type AuthzenEntity = {
8
8
  readonly type?: unknown;
@@ -32,7 +32,10 @@ type AuthzenSubject = {
32
32
  readonly type: "user";
33
33
  readonly id: string;
34
34
  };
35
- /** What `search/subject` asks a lister for: candidates of `type` for one action on one resource. */
35
+ /**
36
+ * What `search/subject` asks a lister for: candidates of `type` for one action
37
+ * on one resource.
38
+ */
36
39
  type AuthzenSubjectQuery = {
37
40
  readonly type: string;
38
41
  readonly action: AuthzenEntity;
@@ -40,9 +43,9 @@ type AuthzenSubjectQuery = {
40
43
  readonly context?: unknown;
41
44
  };
42
45
  /**
43
- * The principals a policy decision point may answer `search/subject` with,
44
- * the way `AuthzenResourceAdapter.list` supplies rows. Each record is decided
45
- * as `{ type: "user", id, properties }`; only candidates that are granted are
46
+ * The principals a policy decision point may answer `search/subject` with, the
47
+ * way `AuthzenResourceAdapter.list` supplies rows. Each record is decided as `{
48
+ * type: "user", id, properties }`; only candidates that are granted are
46
49
  * returned, so a lister may answer a superset.
47
50
  */
48
51
  type AuthzenSubjectLister = {
@@ -62,10 +65,10 @@ type SearchActionsOptions = AuthzenSearchOptions & {
62
65
  readonly data?: unknown;
63
66
  };
64
67
  /**
65
- * The AuthZEN `search/action` answer for `user` on `resource`: every
66
- * permission of `resource.type` in the policy is decided, and the distinct
67
- * actions of the granted ones are returned in catalog order. Paging is the
68
- * caller's (`authzenPage`).
68
+ * The AuthZEN `search/action` answer for `user` on `resource`: every permission
69
+ * of `resource.type` in the policy is decided, and the distinct actions of the
70
+ * granted ones are returned in catalog order. Paging is the caller's
71
+ * (`authzenPage`).
69
72
  */
70
73
  export declare function searchActions<TUser, TPrincipal extends Principal = Principal>(policy: Policy<TUser, TPrincipal>, user: TUser, resource: AuthzenEntity & {
71
74
  readonly type: string;
@@ -73,8 +76,8 @@ export declare function searchActions<TUser, TPrincipal extends Principal = Prin
73
76
  /**
74
77
  * The AuthZEN `search/subject` answer: the candidates `lister` returns for
75
78
  * `request`, each decided as itself, filtered to those granted `action` on
76
- * `resource`. An unknown action, a subject type other than `user`, or a
77
- * lister that throws answers none.
79
+ * `resource`. An unknown action, a subject type other than `user`, or a lister
80
+ * that throws answers none.
78
81
  */
79
82
  export declare function searchSubjects<TUser, TPrincipal extends Principal = Principal>(policy: Policy<TUser, TPrincipal>, lister: AuthzenSubjectLister, request: AuthzenItem & {
80
83
  readonly subject: {
@@ -99,9 +102,9 @@ type AuthzenPermDockOptions<TUser = unknown> = InstanceOptions & {
99
102
  readonly subject: (request: Request) => TUser | Promise<TUser>;
100
103
  readonly anonymous?: boolean;
101
104
  /**
102
- * Allow-list over the authenticated PEP. Only a PEP it returns `true` for
103
- * may evaluate the body's `subject`, `actor` and `delegation`; every other
104
- * caller is evaluated as itself. Off by default.
105
+ * Allow-list over the authenticated PEP. Only a PEP it returns `true` for may
106
+ * evaluate the body's `subject`, `actor` and `delegation`; every other caller
107
+ * is evaluated as itself. Off by default.
105
108
  */
106
109
  readonly trustedPep?: (pep: unknown) => boolean;
107
110
  readonly resources?: Readonly<Record<string, AuthzenResourceAdapter>>;
@@ -129,7 +132,10 @@ type AuthzenPageRequest = {
129
132
  type AuthzenPage<T> = {
130
133
  readonly results: readonly T[];
131
134
  readonly page: {
132
- /** The offset of the next page as a decimal string, or `""` on the last page. */
135
+ /**
136
+ * The offset of the next page as a decimal string, or `""` on the last
137
+ * page.
138
+ */
133
139
  readonly next_token: string;
134
140
  readonly count: number;
135
141
  readonly total: number;
@@ -150,10 +156,10 @@ export declare function emptyAuthzenPage<T>(): AuthzenPage<T>;
150
156
  type AuthzenRequestKind = "evaluation" | "evaluations" | "search/subject" | "search/resource" | "search/action";
151
157
  type AuthzenSearchKind = Extract<AuthzenRequestKind, `search/${string}`>;
152
158
  /**
153
- * A checked AuthZEN request. An `evaluations` body with no items is the
154
- * single evaluation AuthZEN 1.0 section 7.1 makes it, so it parses as
155
- * `kind: "evaluation"`; the `evaluations` items already carry the shared
156
- * top-level fields.
159
+ * A checked AuthZEN request. An `evaluations` body with no items is the single
160
+ * evaluation AuthZEN 1.0 section 7.1 makes it, so it parses as `kind:
161
+ * "evaluation"`; the `evaluations` items already carry the shared top-level
162
+ * fields.
157
163
  */
158
164
  type AuthzenRequest = AuthzenEvaluationRequest | AuthzenEvaluationsRequest | AuthzenSearchRequest;
159
165
  type AuthzenEvaluationRequest = {
@@ -185,14 +191,14 @@ type ParseAuthzenRequestOptions = {
185
191
  };
186
192
  /**
187
193
  * Checks a parsed AuthZEN body the way `permdock/authzen` answers it: the body
188
- * is an object, then each required entity and field in a fixed order, then
189
- * the `evaluations` array, batch size and semantic. A failure is the 400 (or
190
- * 413) Problem Details the handler sends, with the same `detail`.
194
+ * is an object, then each required entity and field in a fixed order, then the
195
+ * `evaluations` array, batch size and semantic. A failure is the 400 (or 413)
196
+ * Problem Details the handler sends, with the same `detail`.
191
197
  */
192
198
  export declare function parseAuthzenRequest<K extends AuthzenRequestKind>(kind: K, body: unknown, options?: ParseAuthzenRequestOptions): ParseAuthzenRequestResult<AuthzenRequestOf<K>>;
193
199
  /**
194
- * Reads `request` as an AuthZEN body: `Content-Type: application/json`, at
195
- * most 1 MiB (a 413 above it), valid JSON, then `parseAuthzenRequest`.
200
+ * Reads `request` as an AuthZEN body: `Content-Type: application/json`, at most
201
+ * 1 MiB (a 413 above it), valid JSON, then `parseAuthzenRequest`.
196
202
  */
197
203
  export declare function readAuthzenRequest<K extends AuthzenRequestKind>(kind: K, request: Request, options?: ParseAuthzenRequestOptions): Promise<ParseAuthzenRequestResult<AuthzenRequestOf<K>>>;
198
204
  //#endregion
@@ -1,14 +1,14 @@
1
1
  import { r as isRecord, t as compact } from "../compact-CAf557ZB.js";
2
- import { r as ownGet } from "../paths-DXSHAMIa.js";
3
- import { a as problemType, o as statusProblem } from "../problem-details-cn5X30gZ.js";
4
- import { a as getResource, c as listPermissions } from "../permission-registry-DpPtSKNZ.js";
2
+ import { r as ownGet } from "../paths-CUvURzHp.js";
3
+ import { a as problemType, o as statusProblem } from "../problem-details-CLDgX1KV.js";
4
+ import { a as getResource, c as listPermissions } from "../permission-registry-B8tYxPIt.js";
5
5
  import { t as fromWireDelegation } from "../wire-delegation-Cv3W2eaM.js";
6
6
  import { n as resourceRef } from "../resource-ref-CaS9yVPi.js";
7
- import { n as readBodyText, t as MAX_BODY_BYTES } from "../body-text-QcXok_SI.js";
8
- import { r as hasCredentials } from "../http-BBoKefeS.js";
9
- import { a as methodNotAllowed, c as problemResponse, u as unauthenticatedProblem } from "../problem-CTviyH5L.js";
10
- import { n as resolveOrNull, t as buildInstance } from "../build-instance-DxE7czo9.js";
11
- import { a as evaluationReasons, c as withRequestId, g as wireResourceId, h as permissionLookup, i as evaluateBatch, m as itemResourceData, n as applyApprovalResume, r as authzenMetadata, s as evaluationsSemantic, t as EVALUATIONS_SEMANTICS } from "../evaluations-DReoiVBw.js";
7
+ import { n as readBodyText, t as MAX_BODY_BYTES } from "../body-text-DQhcmqdY.js";
8
+ import { r as hasCredentials } from "../http-DKLXrFGk.js";
9
+ import { d as unauthenticatedProblem, l as problemResponse, o as methodNotAllowed } from "../problem-BVLHFK33.js";
10
+ import { n as resolveOrNull, t as buildInstance } from "../build-instance-BWXqwQYU.js";
11
+ import { a as evaluationReasons, c as withRequestId, g as wireResourceId, h as permissionLookup, i as evaluateBatch, m as itemResourceData, n as applyApprovalResume, r as authzenMetadata, s as evaluationsSemantic, t as EVALUATIONS_SEMANTICS } from "../evaluations-IBceAeKT.js";
12
12
  //#region src/authzen/map.ts
13
13
  const UNKNOWN = {
14
14
  outcome: "denied",
@@ -40,7 +40,10 @@ function permissionOf(lookup, item) {
40
40
  function resourceData(item) {
41
41
  return itemResourceData(item.resource);
42
42
  }
43
- /** The row id an item names; `undefined` for none and for the collection sentinel `id: "*"`. */
43
+ /**
44
+ * The row id an item names; `undefined` for none and for the collection
45
+ * sentinel `id: "*"`.
46
+ */
44
47
  function resourceIdOf(item) {
45
48
  return wireResourceId(item.resource?.id);
46
49
  }
@@ -251,9 +254,9 @@ function evaluations(body, maxEvaluations) {
251
254
  }
252
255
  /**
253
256
  * Checks a parsed AuthZEN body the way `permdock/authzen` answers it: the body
254
- * is an object, then each required entity and field in a fixed order, then
255
- * the `evaluations` array, batch size and semantic. A failure is the 400 (or
256
- * 413) Problem Details the handler sends, with the same `detail`.
257
+ * is an object, then each required entity and field in a fixed order, then the
258
+ * `evaluations` array, batch size and semantic. A failure is the 400 (or 413)
259
+ * Problem Details the handler sends, with the same `detail`.
257
260
  */
258
261
  function parseAuthzenRequest(kind, body, options = {}) {
259
262
  return parseAny(kind, body, options);
@@ -283,8 +286,8 @@ function parseAny(kind, body, options) {
283
286
  }
284
287
  }
285
288
  /**
286
- * Reads `request` as an AuthZEN body: `Content-Type: application/json`, at
287
- * most 1 MiB (a 413 above it), valid JSON, then `parseAuthzenRequest`.
289
+ * Reads `request` as an AuthZEN body: `Content-Type: application/json`, at most
290
+ * 1 MiB (a 413 above it), valid JSON, then `parseAuthzenRequest`.
288
291
  */
289
292
  async function readAuthzenRequest(kind, request, options = {}) {
290
293
  if (request.headers.get("content-type")?.split(";", 1)[0]?.trim().toLowerCase() !== "application/json") return invalid("AuthZEN requests must use Content-Type: application/json");
@@ -358,10 +361,10 @@ function scopeOf(options) {
358
361
  };
359
362
  }
360
363
  /**
361
- * The AuthZEN `search/action` answer for `user` on `resource`: every
362
- * permission of `resource.type` in the policy is decided, and the distinct
363
- * actions of the granted ones are returned in catalog order. Paging is the
364
- * caller's (`authzenPage`).
364
+ * The AuthZEN `search/action` answer for `user` on `resource`: every permission
365
+ * of `resource.type` in the policy is decided, and the distinct actions of the
366
+ * granted ones are returned in catalog order. Paging is the caller's
367
+ * (`authzenPage`).
365
368
  */
366
369
  async function searchActions(policy, user, resource, options = {}) {
367
370
  const { permdock } = await buildInstance({
@@ -377,8 +380,8 @@ async function searchActions(policy, user, resource, options = {}) {
377
380
  /**
378
381
  * The AuthZEN `search/subject` answer: the candidates `lister` returns for
379
382
  * `request`, each decided as itself, filtered to those granted `action` on
380
- * `resource`. An unknown action, a subject type other than `user`, or a
381
- * lister that throws answers none.
383
+ * `resource`. An unknown action, a subject type other than `user`, or a lister
384
+ * that throws answers none.
382
385
  */
383
386
  async function searchSubjects(policy, lister, request, options = {}) {
384
387
  const permission = permissionOf(permissionLookup(policy.permissions), request);
@@ -1,18 +1,18 @@
1
- import { Lt as InstanceHandle, Rn as Denial, Rt as Instant } from "./policy-types-B-F-qAZk.js";
2
- import { u as Permission } from "./permission-types-DhNEmoRG.js";
3
- import { t as Operation } from "./operations-BNLes61x.js";
1
+ import { Ut as InstanceHandle, Wn as Denial, Wt as Instant } from "./policy-types-DGIO_gxq.js";
2
+ import { u as Permission } from "./permission-types-CAY-GU7e.js";
3
+ import { t as Operation } from "./operations-Ci_rT6Uo.js";
4
4
  //#region src/core/automation.d.ts
5
5
  /**
6
6
  * Who an automation runs as. `publisher`: the person who published it, with
7
- * their rights as of each run. `service`: a `kind: 'service'` principal
8
- * holding `roles` in `tenant`, capped at what the publisher could assign.
7
+ * their rights as of each run. `service`: a `kind: 'service'` principal holding
8
+ * `roles` in `tenant`, capped at what the publisher could assign.
9
9
  */
10
10
  type AutomationMode = "publisher" | "service";
11
11
  /**
12
- * Automation v1: a published, versioned run of operations. Every run acts
13
- * as `principal` with live rights, narrowed to `permissions` (the
14
- * operations' permissions) and to any policy delegation to
15
- * `actor('automation')`. The event that triggers a run never grants.
12
+ * Automation v1: a published, versioned run of operations. Every run acts as
13
+ * `principal` with live rights, narrowed to `permissions` (the operations'
14
+ * permissions) and to any policy delegation to `actor('automation')`. The event
15
+ * that triggers a run never grants.
16
16
  */
17
17
  type Automation = {
18
18
  readonly v: 1;
@@ -32,7 +32,10 @@ type Automation = {
32
32
  readonly operations: readonly string[];
33
33
  /** The delegation: the permission keys of `operations`. */
34
34
  readonly permissions: readonly string[];
35
- /** The permission key a caller needs to start a run; absent, only server code starts one. */
35
+ /**
36
+ * The permission key a caller needs to start a run; absent, only server code
37
+ * starts one.
38
+ */
36
39
  readonly run?: string;
37
40
  readonly revoked?: boolean;
38
41
  readonly name?: string;
@@ -41,16 +44,22 @@ type Automation = {
41
44
  type AutomationSource = {
42
45
  /** Names the implementation in errors and events. */
43
46
  readonly name?: string;
44
- /** The automation as of now, or `null` for an unknown one. A throw is no automation. */
45
- automation(id: string, options?: {
47
+ /**
48
+ * The automation as of now, or `null` for an unknown one. A throw is no
49
+ * automation.
50
+ */
51
+ automation: (id: string, options?: {
46
52
  readonly tenant?: string;
47
- }): Automation | null | Promise<Automation | null>;
53
+ }) => Automation | null | Promise<Automation | null>;
48
54
  };
49
55
  type OperationRef = Pick<Operation, "name" | "permission">;
50
56
  type AutomationRequest = {
51
57
  readonly id: string;
52
58
  readonly version: number | string;
53
- /** The operations the automation runs: entries of an `OperationMap`, or the map itself. */
59
+ /**
60
+ * The operations the automation runs: entries of an `OperationMap`, or the
61
+ * map itself.
62
+ */
54
63
  readonly operations: readonly OperationRef[] | Readonly<Record<string, OperationRef>>;
55
64
  /** Defaults to `'publisher'`. */
56
65
  readonly mode?: AutomationMode;
@@ -76,38 +85,39 @@ type DecideAutomationOptions = {
76
85
  readonly now?: Instant;
77
86
  };
78
87
  /**
79
- * Validates an untrusted automation record and returns a frozen copy with
80
- * only the v1 fields, or `undefined`. A service automation needs `tenant`
81
- * and `roles`; a publisher automation runs as `publishedBy` and has no
82
- * `roles`.
88
+ * Validates an untrusted automation record and returns a frozen copy with only
89
+ * the v1 fields, or `undefined`. A service automation needs `tenant` and
90
+ * `roles`; a publisher automation runs as `publishedBy` and has no `roles`.
83
91
  */
84
92
  declare function parseAutomation(input: unknown): Automation | undefined;
85
93
  type MemoryAutomationSource = {
86
- automation(id: string, options?: {
94
+ automation: (id: string, options?: {
87
95
  readonly tenant?: string;
88
- }): Automation | null;
96
+ }) => Automation | null;
89
97
  /** Adds or replaces a record by id; an invalid record throws. */
90
- put(automation: Automation): void;
98
+ put: (automation: Automation) => void;
91
99
  };
92
- /** An in-process `AutomationSource`; records are kept by id and checked with `parseAutomation`. */
100
+ /**
101
+ * An in-process `AutomationSource`; records are kept by id and checked with
102
+ * `parseAutomation`.
103
+ */
93
104
  declare function memoryAutomationSource(automations?: readonly Automation[]): MemoryAutomationSource;
94
105
  /**
95
106
  * Decides whether the subject of `permdock` may publish the automation in
96
- * `request`, and returns the record to store. The publisher must be a
97
- * signed-in user or service that is not a link, a feed, a contact, a
98
- * credential or a run, and must be able to use every operation's permission
99
- * now (`exceeds-creator`); each run re-checks their live rights. A
100
- * `service` automation's tenant must be one the publisher is a member of,
101
- * its roles among their `assignableRoles` there and its permissions within
102
- * `assignablePermissions`. PermDock never stores the record; the
103
- * application does, after a `granted` result.
107
+ * `request`, and returns the record to store. The publisher must be a signed-in
108
+ * user or service that is not a link, a feed, a contact, a credential or a run,
109
+ * and must be able to use every operation's permission now (`exceeds-creator`);
110
+ * each run re-checks their live rights. A `service` automation's tenant must be
111
+ * one the publisher is a member of, its roles among their `assignableRoles`
112
+ * there and its permissions within `assignablePermissions`. PermDock never
113
+ * stores the record; the application does, after a `granted` result.
104
114
  */
105
115
  /**
106
116
  * Decides whether the subject of `permdock` may publish the automation in
107
117
  * `request` and returns the record to store: the publisher's own reach over
108
118
  * every operation's permission and, for a `service` automation, their
109
- * assignable ceiling. Each run re-checks the publisher live. An instance
110
- * built from a snapshot denies with `unsupported`.
119
+ * assignable ceiling. Each run re-checks the publisher live. An instance built
120
+ * from a snapshot denies with `unsupported`.
111
121
  */
112
122
  declare function decideAutomation(permdock: InstanceHandle, request: AutomationRequest, options?: DecideAutomationOptions): Promise<AutomationDecision>;
113
123
  //#endregion