permdock 0.16.0 → 0.18.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 (384) hide show
  1. package/dist/a2a/index.d.ts +4 -4
  2. package/dist/a2a/index.js +3 -3
  3. package/dist/{adapter-context-CIQpQxbE.js → adapter-context-OHikyRqV.js} +1 -1
  4. package/dist/{adoption-scan-C2BCiUEG.js → adoption-scan-CxExBYSJ.js} +1 -1
  5. package/dist/agent/index.d.ts +2 -2
  6. package/dist/agent/index.js +1 -1
  7. package/dist/ai-sdk/index.d.ts +3 -3
  8. package/dist/ai-sdk/index.js +3 -3
  9. package/dist/approval-normalize-CUjgSsOl.js +189 -0
  10. package/dist/approval-policies-oNnckT12.d.ts +138 -0
  11. package/dist/{approval-prompt-3BqWczTt.d.ts → approval-prompt-Bg7gDSqd.d.ts} +1 -1
  12. package/dist/approvals/index.d.ts +5 -4
  13. package/dist/approvals/index.js +7 -6
  14. package/dist/{approvals-DnIBTuXE.js → approvals-DGId_hgJ.js} +3 -3
  15. package/dist/{approvers-B4r0N_Uz.js → approvers-BaNwKYgd.js} +20 -1
  16. package/dist/{arazzo-ClYz2Z0W.js → arazzo--riLuGY0.js} +4 -4
  17. package/dist/{arazzo-CHoYnQXO.js → arazzo-CEDbb-uM.js} +2 -2
  18. package/dist/{args-0FrVs5EH.js → args-iafbHiXn.js} +2 -5
  19. package/dist/astro/index.d.ts +4 -4
  20. package/dist/astro/index.js +2 -2
  21. package/dist/{audience-DTjR8xet.js → audience-B4YR9UpV.js} +1 -1
  22. package/dist/{auth--yPyZNgr.js → auth-j3Eu-j4h.js} +1 -1
  23. package/dist/authz-topic-Dbc-HDOS.js +15 -0
  24. package/dist/authzen/index.d.ts +5 -5
  25. package/dist/authzen/index.js +2 -2
  26. package/dist/{automation-C6Jg75xq.d.ts → automation-Bfa_wD1h.d.ts} +1 -1
  27. package/dist/better-auth/index.d.ts +1 -1
  28. package/dist/better-auth/index.js +10 -8
  29. package/dist/better-supabase/index.d.ts +335 -38
  30. package/dist/better-supabase/index.js +778 -117
  31. package/dist/{better-supabase-Dirf_8Ec.js → better-supabase-BJtQ-kNf.js} +26 -10
  32. package/dist/{bind-BNQA9JK9.js → bind-B4pMH9bm.js} +6 -6
  33. package/dist/{bind-YYjvfpB9.d.ts → bind-DR6ku3A9.d.ts} +7 -7
  34. package/dist/{budget-BELja5A9.js → budget-BBCPDOGP.js} +1 -1
  35. package/dist/{budget-hYsPz_yE.d.ts → budget-CNLsV2SL.d.ts} +1 -1
  36. package/dist/{build-instance-BWXqwQYU.js → build-instance-BFMFQdE_.js} +3 -2
  37. package/dist/{capability-Di9tiUvi.d.ts → capability-BZ_veK9o.d.ts} +1 -1
  38. package/dist/{capability-BqX94r07.js → capability-zN6T9fxe.js} +2 -3
  39. package/dist/{casbin-D_rVQ31U.js → casbin-DCQHkkyj.js} +2 -2
  40. package/dist/{casbin-C9EvElBb.js → casbin-bKC1FpEx.js} +2 -2
  41. package/dist/{casl-C4OINZHI.js → casl-CjBVJj8R.js} +2 -2
  42. package/dist/{casl-CHHoCldP.js → casl-CkBssiB1.js} +1 -1
  43. package/dist/catalog/index.d.ts +5 -5
  44. package/dist/catalog/index.js +7 -7
  45. package/dist/catalog-Caqhbdix.js +1 -0
  46. package/dist/{catalog-CGlSwU6j.js → catalog-D1fw8qif.js} +5 -5
  47. package/dist/{catalog-doc-DjMKzJp9.js → catalog-doc-C4DGfJCO.js} +3 -3
  48. package/dist/{catalog-operations-DeHTrJSV.js → catalog-operations-BD22drQf.js} +4 -4
  49. package/dist/{catalog-amPDr0JQ.js → catalog-zzNuR3sY.js} +3 -3
  50. package/dist/{challenge-DImNcR7B.js → challenge-B2O2OLEk.js} +2 -2
  51. package/dist/chat/index.d.ts +1 -1
  52. package/dist/chat/index.js +2 -2
  53. package/dist/chat-sdk/index.d.ts +3 -3
  54. package/dist/{checks-CGkP3Z7A.js → checks-fyDOhcz0.js} +33 -1
  55. package/dist/claude-agent/index.d.ts +3 -3
  56. package/dist/claude-agent/index.js +2 -2
  57. package/dist/clerk/index.d.ts +2 -2
  58. package/dist/clerk/index.js +10 -7
  59. package/dist/cli/bin.js +1 -1
  60. package/dist/cli/index.d.ts +5 -5
  61. package/dist/cli/index.js +3 -3
  62. package/dist/client-CH7vzSAY.d.ts +32 -0
  63. package/dist/cloud/index.d.ts +8 -8
  64. package/dist/cloud/index.js +1 -1
  65. package/dist/{cloud-DdaJ7ILM.js → cloud-C0vXBmLG.js} +4 -4
  66. package/dist/{codemod-B1USJS7a.js → codemod-C-L0w-u7.js} +3 -3
  67. package/dist/{codemod-ammy6wv4.js → codemod-eYI1FbeJ.js} +395 -8
  68. package/dist/{collect-DnXL4B8c.js → collect-CU85z6Ta.js} +4 -4
  69. package/dist/{collect-WCl8cJQV.js → collect-D878zLDP.js} +4 -4
  70. package/dist/collect-KCtOigxx.js +1 -0
  71. package/dist/compile/index.d.ts +1 -1
  72. package/dist/compile/index.js +1 -1
  73. package/dist/{compile-EzEMB-7v.js → compile-B_oJqmIg.js} +4 -4
  74. package/dist/{compile-BEklRUYo.d.ts → compile-DBm0ub4p.d.ts} +2 -2
  75. package/dist/{completion--Y4YItFZ.js → completion-Dauc6pVT.js} +3 -3
  76. package/dist/{config-CcLlvEYW.js → config-COHmivz9.js} +4 -4
  77. package/dist/{config-BQ77xMZk.js → config-DWp2PucY.js} +2 -2
  78. package/dist/{config-report-DVMOLJ7F.js → config-report-DKpFm5ID.js} +2 -2
  79. package/dist/{context-BnIzxTNE.js → context-DeammvFl.js} +2 -2
  80. package/dist/convex/index.d.ts +4 -4
  81. package/dist/convex/index.js +3 -3
  82. package/dist/{core-lxoANyai.js → core-B8sLve3z.js} +7 -7
  83. package/dist/{core-CFepFiDP.d.ts → core-D87h2kpR.d.ts} +2 -2
  84. package/dist/{create-BLPKnJKa.js → create-3A7J9KRR.js} +6 -5
  85. package/dist/{create-CDd9c22W.d.ts → create-BrQXL-Wt.d.ts} +6 -6
  86. package/dist/{create-BPUopdfL.d.ts → create-BzwjZuRS.d.ts} +7 -7
  87. package/dist/{create-Coq5fIrq.js → create-C-tm3KIF.js} +5 -5
  88. package/dist/{create-DBvUsgzK.d.ts → create-CtoT1lIQ.d.ts} +4 -4
  89. package/dist/{credential-CyyyvCsL.js → credential-B3Hj4puZ.js} +4 -3
  90. package/dist/{credentials-CdDxp7jN.js → credentials-dkycUsY3.js} +1 -1
  91. package/dist/decision-CaG5_eNJ.js +21 -0
  92. package/dist/{delegation-CDB6_keF.js → delegation-aK4T_5WU.js} +3 -3
  93. package/dist/delivery/index.d.ts +4 -4
  94. package/dist/delivery/index.js +1 -1
  95. package/dist/{denied-text-DHldhVUv.d.ts → denied-text-DlIxt8fh.d.ts} +1 -1
  96. package/dist/{describe-BbFPBSms.d.ts → describe-BKtC_8PG.d.ts} +1 -1
  97. package/dist/{describe-Bb4hGK5d.js → describe-BZAlPHxT.js} +2 -1
  98. package/dist/{diff-DfmYaIhB.js → diff-BnNHqtHj.js} +8 -8
  99. package/dist/{diff-CxtbOi2l.js → diff-CBCzOTWM.js} +2 -2
  100. package/dist/{doctor-D1Xnmy6u.js → doctor-CkYKCuX7.js} +233 -30
  101. package/dist/{doctor-CwYc2lJb.js → doctor-xUpR5rXg.js} +3 -3
  102. package/dist/drizzle/index.d.ts +3 -3
  103. package/dist/drizzle/index.js +1 -1
  104. package/dist/elysia/index.d.ts +4 -4
  105. package/dist/elysia/index.js +3 -3
  106. package/dist/{errors-Vpu6rKHl.js → errors-BhRkoNS7.js} +0 -2
  107. package/dist/{errors-BIM4MFsJ.d.ts → errors-TpzkEKgJ.d.ts} +1 -1
  108. package/dist/{evaluate-BAmf_AQd.js → evaluate-Czbj7thS.js} +18 -15
  109. package/dist/{evaluations-DOWuBpWv.d.ts → evaluations-CisTTURl.d.ts} +3 -3
  110. package/dist/{evaluations-IBceAeKT.js → evaluations-h3KoJAPa.js} +3 -22
  111. package/dist/eve/index.d.ts +4 -4
  112. package/dist/eve/index.js +3 -3
  113. package/dist/express/index.d.ts +4 -4
  114. package/dist/express/index.js +3 -3
  115. package/dist/fastify/index.d.ts +4 -4
  116. package/dist/fastify/index.js +3 -3
  117. package/dist/{fetch-adapter-BIbBAtPZ.d.ts → fetch-adapter-BdmfnbJM.d.ts} +2 -2
  118. package/dist/{fetch-adapter-dPTgJVHd.js → fetch-adapter-DH-NJPbL.js} +2 -2
  119. package/dist/{fields-DI8s3cPl.js → fields-CrjL6A49.js} +3 -3
  120. package/dist/{files-B3AA05f1.js → files-CfiRtQ-m.js} +1 -1
  121. package/dist/{fixtures-Bm4_K1ke.js → fixtures-Cemqurt8.js} +10 -4
  122. package/dist/{flags-DXjoTVbS.js → flags-BlmpmXoY.js} +2 -2
  123. package/dist/{from-snapshot-DCakWRsr.js → from-snapshot-DMlSSo9b.js} +14 -12
  124. package/dist/{gen-DwgCSC6V.js → gen-BEIN-DRM.js} +2 -2
  125. package/dist/{gen-DuAhghDw.js → gen-mf-MRwVr.js} +9 -9
  126. package/dist/{generate-CRVV5V7l.js → generate-BqkZq8Dr.js} +2 -2
  127. package/dist/{grantee-conditions-BrYPe-w0.js → grantee-conditions-DX4K_gGI.js} +1 -1
  128. package/dist/{grantee-match-7RZZvoT_.js → grantee-match-BP-k4vRJ.js} +2 -2
  129. package/dist/h3/index.d.ts +4 -4
  130. package/dist/h3/index.js +3 -3
  131. package/dist/{helpers-DJicaG6f.js → helpers-DmqGy63f.js} +85 -13
  132. package/dist/hono/index.d.ts +4 -4
  133. package/dist/hono/index.js +3 -3
  134. package/dist/{hosted-DVxlLZMe.d.ts → hosted-BFNXwcjd.d.ts} +1 -1
  135. package/dist/{hosted-D0IzESu_.js → hosted-waouw2V-.js} +12 -10
  136. package/dist/{http-DOL33cO0.js → http-DhMWeB_h.js} +1 -1
  137. package/dist/{import-CNBF96hB.js → import-C1XXpG_m.js} +4 -4
  138. package/dist/{import-Dfe2unKO.js → import-DObwEota.js} +3 -3
  139. package/dist/{index-BinlXeU-.d.ts → index-BhnOOnp9.d.ts} +2 -2
  140. package/dist/{index-ymept53A.d.ts → index-CVGio3cH.d.ts} +4 -4
  141. package/dist/{index-DJwEgYzA.d.ts → index-CdMOd-GY.d.ts} +17 -11
  142. package/dist/{index-Cay5-Kvx.d.ts → index-CdUTE6qd.d.ts} +11 -10
  143. package/dist/{index-Dj2qF9VC.d.ts → index-Dfv9Toct.d.ts} +1 -1
  144. package/dist/{index-CV-7DWeD.d.ts → index-rFp6X_QP.d.ts} +4 -4
  145. package/dist/index.d.ts +18 -16
  146. package/dist/index.js +24 -20
  147. package/dist/{init-BUo2G-FI.js → init-CNJ8lLjo.js} +5 -5
  148. package/dist/{init-C6cWP3xW.js → init-DS3PEsCG.js} +5 -5
  149. package/dist/{instance-options-CoHn-0e8.d.ts → instance-options-2sFGSdsf.d.ts} +2 -2
  150. package/dist/{instance-snapshot-DuWf1cT3.js → instance-snapshot-BWa71my8.js} +15 -12
  151. package/dist/jwt/index.d.ts +4 -4
  152. package/dist/jwt/index.js +3 -3
  153. package/dist/{kernel-BD8QuMnv.js → kernel-30Z2zM_d.js} +10 -10
  154. package/dist/kysely/index.d.ts +3 -3
  155. package/dist/kysely/index.js +1 -1
  156. package/dist/{load-DjSU5KXO.js → load-BaEamml-.js} +1 -1
  157. package/dist/load-CjnlPxpL.js +1 -0
  158. package/dist/{login-D1MHOomI.js → login-BgK5Jloo.js} +4 -4
  159. package/dist/{login-DCKE5pVy.js → login-DUVzBLh7.js} +4 -4
  160. package/dist/{manifest-BXTbHNIV.js → manifest-BdzBobNK.js} +1 -1
  161. package/dist/{manifest-schema-DQkBK2Mr.js → manifest-schema-CsFsYLF-.js} +1 -1
  162. package/dist/{manifest-Cft51TLK.js → manifest-wclLWBVH.js} +37 -37
  163. package/dist/{map-claims-C-nv08_n.js → map-claims-PQwHynxV.js} +25 -11
  164. package/dist/{map-error-pasIGqMT.js → map-error-BH16Ah8P.js} +1 -1
  165. package/dist/mcp/index.d.ts +8 -8
  166. package/dist/mcp/index.js +9 -9
  167. package/dist/{migrate-BJHxQqT5.js → migrate-BbY5-Khy.js} +4 -4
  168. package/dist/{module-values-B1EVTkHP.js → module-values-B8tNIxdd.js} +2 -2
  169. package/dist/nest/index.d.ts +4 -4
  170. package/dist/nest/index.js +3 -3
  171. package/dist/next/index.d.ts +45 -13
  172. package/dist/next/index.js +68 -30
  173. package/dist/next/plugin.d.ts +1 -1
  174. package/dist/next/plugin.js +2 -2
  175. package/dist/node/index.d.ts +4 -4
  176. package/dist/node/index.js +2 -2
  177. package/dist/openai/index.d.ts +4 -4
  178. package/dist/openai/index.js +3 -3
  179. package/dist/openapi/index.d.ts +2 -2
  180. package/dist/{openapi-BwWkHxvW.js → openapi-C4gFqeRz.js} +4 -4
  181. package/dist/{openapi-DSzQN7Zu.js → openapi-zMEB9qxn.js} +5 -5
  182. package/dist/{operation-findings-CXtFzlKJ.js → operation-findings-CVwJHEu_.js} +1 -1
  183. package/dist/operation-risks-BKOcTv8J.js +13 -0
  184. package/dist/operations-Bm9HFecz.js +89 -0
  185. package/dist/orpc/index.d.ts +5 -5
  186. package/dist/orpc/index.js +3 -3
  187. package/dist/otel/index.d.ts +3 -3
  188. package/dist/otel/index.js +1 -1
  189. package/dist/{output-DlICTjBh.js → output-BFWLER4r.js} +1 -1
  190. package/dist/output-files-BYscrQl-.js +1 -0
  191. package/dist/{output-files-BIQ_9pIs.js → output-files-CM0BnH05.js} +1 -1
  192. package/dist/{ownership-qqBuGJXr.js → ownership-D-mIt-w0.js} +6 -6
  193. package/dist/{parse-1_ZheTW5.js → parse-UTC-sDrt.js} +2 -2
  194. package/dist/{parse-local-manifest-DEiCF4ah.js → parse-local-manifest-CxcSMQgl.js} +2 -2
  195. package/dist/{parse-local-manifest-CCmbhnxP.d.ts → parse-local-manifest-DvjTQNuO.d.ts} +1 -1
  196. package/dist/{parse-request-CwCZpyjV.js → parse-request-DOBVaeiQ.js} +1 -1
  197. package/dist/pdp/index.d.ts +3 -3
  198. package/dist/pdp/index.js +3 -3
  199. package/dist/{peer-Q0fuZ6hx.js → peer-BuK9F53f.js} +1 -1
  200. package/dist/{peer-C9LvBCcb.js → peer-n-swIV4H.js} +1 -1
  201. package/dist/{permdock-BvjivVb9.js → permdock-D-_WrdKu.js} +205 -102
  202. package/dist/{permdock-CprAPN3w.d.ts → permdock-ffY4CMd9.d.ts} +101 -131
  203. package/dist/{permissions-CYcHj_w7.js → permissions-B3ggI88M.js} +2 -2
  204. package/dist/{permissions-CVXmRILq.js → permissions-BaoLxy66.js} +1 -13
  205. package/dist/{pg-DQTqRrou.js → pg-Ddxsd5ZB.js} +2 -2
  206. package/dist/{policy-BycVKnXv.d.ts → policy-BtKSApSt.d.ts} +1 -1
  207. package/dist/{policy-CLQ8__GF.js → policy-cV_wwPb8.js} +5 -4
  208. package/dist/{policy-from-catalog-CU3An8uP.js → policy-from-catalog-B68hGC0S.js} +9 -8
  209. package/dist/{policy-types-DGIO_gxq.d.ts → policy-types-D-GwfQTc.d.ts} +72 -19
  210. package/dist/{postgrest-DAxFltvO.js → postgrest-BrjrckDG.js} +74 -19
  211. package/dist/{postgrest-D5nUGm-c.d.ts → postgrest-D84p5dbA.d.ts} +12 -7
  212. package/dist/{powersync-CBhTBhG2.js → powersync-9PYOE1wt.js} +158 -21
  213. package/dist/{powersync-DAfo0EL5.js → powersync-DStC_g0B.js} +3 -3
  214. package/dist/powersync-xNRlC4jN.js +1 -0
  215. package/dist/preset/index.js +1 -1
  216. package/dist/{preset-BjLzeFpp.js → preset-pPrVyGU5.js} +74 -7
  217. package/dist/prisma/index.d.ts +2 -2
  218. package/dist/prisma/index.js +1 -1
  219. package/dist/{protected-action-QEA8arRB.js → protected-action-B40tU3yP.js} +15 -5
  220. package/dist/{protected-action-D8x73IGm.d.ts → protected-action-Ds_EUY8B.d.ts} +14 -7
  221. package/dist/{protected-action-DUYqb-Ma.js → protected-action-OpOxtTsN.js} +1 -1
  222. package/dist/{provider-C55OGXJ7.js → provider-CY4TSSJo.js} +2 -2
  223. package/dist/{provider-DfLeek9O.d.ts → provider-OtnIiFWm.d.ts} +1 -1
  224. package/dist/{provider-store-CaTv00tr.js → provider-store-BQP_pp8s.js} +2 -2
  225. package/dist/{pull-CQCGy1gv.js → pull-DLP4I1Kl.js} +7 -7
  226. package/dist/pull-UBjDnf4b.js +1 -0
  227. package/dist/{push-Dq_ca4-j.js → push-BSb8j1EW.js} +8 -8
  228. package/dist/{pushed-policy-CDuOL2de.js → pushed-policy-BecMsTtM.js} +1 -1
  229. package/dist/{pushed-policy-CryQheKq.d.ts → pushed-policy-Ck3FZcoy.d.ts} +1 -1
  230. package/dist/react/index.d.ts +8 -8
  231. package/dist/react/index.js +6 -6
  232. package/dist/react/provider-client.d.ts +1 -1
  233. package/dist/react/provider-client.js +1 -1
  234. package/dist/react-native/index.d.ts +104 -39
  235. package/dist/react-native/index.js +199 -40
  236. package/dist/refresh-on-L9UOwATg.d.ts +49 -0
  237. package/dist/{replay-Bs9Df2fQ.d.ts → replay-E5X9E1lC.d.ts} +1 -1
  238. package/dist/{request-context-Duzdf0cd.js → request-context-DM6_jY1n.js} +2 -2
  239. package/dist/{request-schema-DhX7UbfQ.js → request-schema-CMP8Cmxd.js} +5 -0
  240. package/dist/resend/index.d.ts +4 -4
  241. package/dist/{resolve-names-Y1Cb22cp.js → resolve-names-CBl4r4_r.js} +6 -6
  242. package/dist/{rls-tHu7N_Pe.js → rls-DGBL-jDY.js} +20 -20
  243. package/dist/{rls-C5ZGzR_B.js → rls-pAHGYgTb.js} +4 -4
  244. package/dist/{role-builder-BK2-T6oD.js → role-builder-CMW4wWzn.js} +3 -157
  245. package/dist/{rpc-vHIwyXCp.js → rpc-KwX_Jcxz.js} +2 -2
  246. package/dist/{run-DUq1xU4K.js → run-B7lv3NuK.js} +8 -40
  247. package/dist/run-UPbacxPg.js +1 -0
  248. package/dist/{run-ticket-DfnZCh-u.js → run-ticket-CjvXr6wj.js} +1 -1
  249. package/dist/{run-ticket-ylovhyFQ.d.ts → run-ticket-DPaD27_r.d.ts} +2 -2
  250. package/dist/{runtime-BGnrOkVH.js → runtime-rf0ZuyF3.js} +1 -1
  251. package/dist/{saas-DK4V-3Is.js → saas-B8H1MsQ3.js} +13 -10
  252. package/dist/{scan-C3HRH9Fs.js → scan-0r3OZqqK.js} +1 -1
  253. package/dist/{schema-DvXvxPhQ.js → schema-B_9tXrbG.js} +1 -1
  254. package/dist/{schema-BOJjqlWL.js → schema-CuX70xgH.js} +15 -2
  255. package/dist/scim/index.d.ts +1 -1
  256. package/dist/scim/index.js +1 -1
  257. package/dist/{scim-jJBJ7g1Z.js → scim-C30QBBoF.js} +2 -1
  258. package/dist/{scim-D8YupzX1.js → scim-CovliQUg.js} +2 -2
  259. package/dist/{scopes-0Up_UA2t.js → scopes-BSdYaGHs.js} +9 -40
  260. package/dist/server/index.d.ts +11 -11
  261. package/dist/server/index.js +8 -8
  262. package/dist/{server-3cVlTLde.js → server-D0PW6ZCw.js} +2 -2
  263. package/dist/{server-types-CyRN0-Cd.d.ts → server-types-3OnXjZ2D.d.ts} +8 -8
  264. package/dist/{shared-l0oGGetg.js → shared-BRmCJxDK.js} +2 -2
  265. package/dist/{shared-DrGLwM3s.js → shared-DyYVEjKC.js} +2 -2
  266. package/dist/{sink-B5zoUW_O.d.ts → sink-ogbVkyeo.d.ts} +2 -2
  267. package/dist/{skills-Celu2W6v.js → skills-B4MPRxQd.js} +2 -2
  268. package/dist/{skills-B2qTbaQa.js → skills-C9sTD70r.js} +2 -2
  269. package/dist/{snapshot-CXlzi69u.js → snapshot-DN_8J27z.js} +6 -2
  270. package/dist/{snapshot-cache-BjAWkchD.d.ts → snapshot-cache-B4YvlGG_.d.ts} +20 -6
  271. package/dist/{snapshot-cache-Bx_4xC_6.js → snapshot-cache-B66h7FBK.js} +25 -8
  272. package/dist/solid/index.d.ts +7 -7
  273. package/dist/solid/index.js +6 -6
  274. package/dist/solid-start/index.d.ts +4 -4
  275. package/dist/solid-start/index.js +3 -3
  276. package/dist/{sources-oB1Hg1Fm.d.ts → sources-xdQShLDU.d.ts} +1 -1
  277. package/dist/{src-C_pi2Rnh.js → src-Brzq_0in.js} +193 -128
  278. package/dist/ssf/index.d.ts +3 -3
  279. package/dist/ssf/index.js +1 -1
  280. package/dist/{standard-webhooks-DOYEuOLx.d.ts → standard-webhooks-BfPaZ6T1.d.ts} +2 -2
  281. package/dist/{types-tQB2CEnY.d.ts → store-DYeB-_U3.d.ts} +114 -113
  282. package/dist/{store-RNFvaJJv.js → store-DmVqy74I.js} +13 -7
  283. package/dist/{store-options-Dil3lraY.js → store-options--zWn48PK.js} +76 -7
  284. package/dist/{stores-DxZWDXCs.js → stores-BYFopOm1.js} +3 -3
  285. package/dist/{stores-DZJvxFIZ.d.ts → stores-EPul_8MN.d.ts} +5 -6
  286. package/dist/{stream-9y9qw51m.d.ts → stream-W2RuUYly.d.ts} +1 -1
  287. package/dist/{subject-BGoM5o8B.js → subject-C7RddW0G.js} +8 -1
  288. package/dist/supabase/client.d.ts +2 -0
  289. package/dist/supabase/client.js +21 -0
  290. package/dist/supabase/index.d.ts +37 -6
  291. package/dist/supabase/index.js +6 -5
  292. package/dist/supabase/middleware.d.ts +8 -7
  293. package/dist/supabase/middleware.js +6 -6
  294. package/dist/{supabase-CDHMsDD0.js → supabase-BiViJpQ4.js} +31 -8
  295. package/dist/{supabase-DYWnT800.js → supabase-CogTyJH2.js} +3 -3
  296. package/dist/supabase-hook-BN46IrVI.js +1 -0
  297. package/dist/{supabase-hook-HPgwYb9V.js → supabase-hook-DX38Hj8h.js} +393 -32
  298. package/dist/{supautils-SwE642N1.js → supautils-BGf6zRvM.js} +12 -12
  299. package/dist/svelte/index.d.ts +7 -7
  300. package/dist/svelte/index.js +8 -8
  301. package/dist/svelte/runtime.d.ts +3 -3
  302. package/dist/svelte/runtime.js +3 -3
  303. package/dist/svelte/source.d.ts +7 -7
  304. package/dist/svelte/source.js +5 -5
  305. package/dist/sveltekit/index.d.ts +4 -4
  306. package/dist/sveltekit/index.js +2 -2
  307. package/dist/{tables-DimBcVWY.js → tables-BfOk0ymL.js} +7 -7
  308. package/dist/tanstack-start/index.d.ts +4 -4
  309. package/dist/tanstack-start/index.js +2 -2
  310. package/dist/{tenancy-5d1zVBvK.js → tenancy-DvOHHk3-.js} +1 -1
  311. package/dist/terminal/index.d.ts +5 -5
  312. package/dist/terminal/index.js +6 -6
  313. package/dist/testing/core.d.ts +1 -1
  314. package/dist/testing/core.js +1 -1
  315. package/dist/testing/fixtures/index.d.ts +1 -1
  316. package/dist/testing/fixtures/index.js +2 -2
  317. package/dist/testing/index.d.ts +29 -22
  318. package/dist/testing/index.js +120 -48
  319. package/dist/testing/saas/index.d.ts +3 -3
  320. package/dist/testing/saas/index.js +2 -2
  321. package/dist/testing/saas/permissions.js +1 -1
  322. package/dist/token-D6pWn8Uj.d.ts +11 -0
  323. package/dist/{token-DC9EQiet.js → token-DaMnIU9O.js} +24 -8
  324. package/dist/{tool-refusal-Qpjs_W6M.js → tool-refusal-D4spOJ7I.js} +1 -1
  325. package/dist/trpc/index.d.ts +5 -5
  326. package/dist/trpc/index.js +3 -3
  327. package/dist/{type-helpers-c7Xo_2Cu.d.ts → type-helpers-i1EJ3Eb1.d.ts} +1 -1
  328. package/dist/{types-Cklw5hJo.d.ts → types-3Y8UpFkF.d.ts} +40 -1
  329. package/dist/{types-DlelvQk4.d.ts → types-B8qUkGja.d.ts} +2 -2
  330. package/dist/{types-CN0LsqbK.d.ts → types-CCEeSCMB.d.ts} +3 -3
  331. package/dist/{types-B2efzoSX.d.ts → types-CDVXR6YD.d.ts} +1 -1
  332. package/dist/{types-DsHGPtkR.d.ts → types-Ck1KOfug.d.ts} +2 -2
  333. package/dist/{types-DLvhVm1r.d.ts → types-CqcsNCaN.d.ts} +16 -7
  334. package/dist/{types-BB-zWDcR.d.ts → types-D-JO7lh8.d.ts} +5 -5
  335. package/dist/{types-CEinc15V.d.ts → types-D19MK4t-.d.ts} +3 -4
  336. package/dist/{types-B6ExllNo.d.ts → types-DGf_cpKF.d.ts} +2 -2
  337. package/dist/{types-rCRV4Ge-.d.ts → types-DmbfLu2p.d.ts} +4 -4
  338. package/dist/{types-ZzRGoViD.d.ts → types-NYoj8JBm.d.ts} +2 -2
  339. package/dist/{types-CWBsAwqn.d.ts → types-o1vu6Ks3.d.ts} +4 -4
  340. package/dist/unplugin/index.d.ts +1 -1
  341. package/dist/unplugin/index.js +2 -2
  342. package/dist/usage-Cl5eb-e1.js +1 -0
  343. package/dist/{usage-CPXeuAdT.js → usage-DC0UKe6C.js} +6 -6
  344. package/dist/{usage-CfZCQd0F.js → usage-DYtRVkcN.js} +2 -2
  345. package/dist/{validation-error-uvp-kyfO.d.ts → validation-error-Dx8PipbO.d.ts} +1 -1
  346. package/dist/{verify-DfT0QYNh.js → verify-Bpj0hauG.js} +19 -19
  347. package/dist/{version-cache-Df11C2Qp.d.ts → version-cache-DzNKWiI6.d.ts} +9 -3
  348. package/dist/{views-CD8wuL4Z.js → views-MWmJ6Y4P.js} +1 -1
  349. package/dist/vue/index.d.ts +7 -7
  350. package/dist/vue/index.js +6 -6
  351. package/dist/{waiter-CqUKX6CY.d.ts → waiter-NK_UuZbb.d.ts} +2 -2
  352. package/dist/{watch-DAkjm75Y.js → watch-CBHADqBH.js} +3 -3
  353. package/dist/watch-OYwAPCzx.js +1 -0
  354. package/dist/webmcp/index.d.ts +1 -1
  355. package/dist/webmcp/index.js +1 -1
  356. package/dist/{where-scope-DlCdCM_8.js → where-scope-BKrqUDVk.js} +5 -5
  357. package/dist/{who-can-BoDJm0Nc.js → who-can-KhVWMxtf.js} +4 -4
  358. package/dist/workflow/index.d.ts +3 -3
  359. package/dist/workflow/index.js +5 -4
  360. package/dist/workflow-sdk/index.d.ts +4 -4
  361. package/dist/{wrap-DxXB54Wu.d.ts → wrap-BHGA-SMM.d.ts} +2 -2
  362. package/dist/{wrap-B2wziJI_.js → wrap-C5PWzgkq.js} +1 -1
  363. package/package.json +8 -5
  364. package/schemas/approval-request-v1.json +5 -0
  365. package/schemas/catalog-v1.json +18 -2
  366. package/schemas/cli-result-v1.json +0 -2
  367. package/schemas/snapshot-v1.json +9 -0
  368. package/schemas/supabase-manifest-v1.json +1 -1
  369. package/skills/permdock-approvals/SKILL.md +8 -8
  370. package/skills/permdock-approvals/references/stores-and-resume.md +7 -3
  371. package/skills/permdock-audit/SKILL.md +1 -1
  372. package/skills/permdock-wire/references/adapters.md +3 -1
  373. package/dist/action-result-BcudBQOF.d.ts +0 -19
  374. package/dist/catalog-D3oS2GH3.js +0 -1
  375. package/dist/collect-D-eroIfV.js +0 -1
  376. package/dist/load-Dm0pSYH3.js +0 -1
  377. package/dist/output-files-BHOIlrfD.js +0 -1
  378. package/dist/powersync-0QVP_DuR.js +0 -1
  379. package/dist/pull-CCAChKuy.js +0 -1
  380. package/dist/renames-CGj7YwcQ.js +0 -175
  381. package/dist/run-C5P3x1EI.js +0 -1
  382. package/dist/supabase-hook-qsewAVZY.js +0 -1
  383. package/dist/usage-DmmO_xjJ.js +0 -1
  384. package/dist/watch-CuPz0D2M.js +0 -1
@@ -1,8 +1,8 @@
1
- import { T as Policy, j as PolicyVocabulary, pr as Principal } from "../policy-types-DGIO_gxq.js";
1
+ import { E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-D-GwfQTc.js";
2
2
  import { u as Permission } from "../permission-types-CAY-GU7e.js";
3
- import { a as PermDock } from "../permdock-CprAPN3w.js";
4
- import { f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-CyRN0-Cd.js";
5
- import { t as ServerAdapterOptions } from "../bind-YYjvfpB9.js";
3
+ import { a as PermDock } from "../permdock-ffY4CMd9.js";
4
+ import { f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-3OnXjZ2D.js";
5
+ import { t as ServerAdapterOptions } from "../bind-DR6ku3A9.js";
6
6
  import { FastifyPluginAsync, FastifyReply, FastifyRequest, FastifySchema, FastifyTypeProvider, FastifyTypeProviderDefault, RawRequestDefaultExpression, RawServerDefault, RouteGenericInterface } from "fastify";
7
7
  //#region src/server/http.d.ts
8
8
  /** A Fastify-style reply: `code`, `header` and `send`. */
@@ -1,7 +1,7 @@
1
1
  import { c as writeReply, i as headersFrom, n as firstHeader, r as hasCredentials, t as fetchRequest } from "../http-DKLXrFGk.js";
2
- import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-IBceAeKT.js";
3
- import { t as problemFromError } from "../map-error-pasIGqMT.js";
4
- import { i as decorate, r as bindKernel } from "../bind-BNQA9JK9.js";
2
+ import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-h3KoJAPa.js";
3
+ import { t as problemFromError } from "../map-error-BH16Ah8P.js";
4
+ import { i as decorate, r as bindKernel } from "../bind-B4pMH9bm.js";
5
5
  //#region src/fastify/http.ts
6
6
  function toRequest(request) {
7
7
  const host = firstHeader(request.headers.host) ?? "localhost";
@@ -1,8 +1,8 @@
1
1
  import { u as Permission } from "./permission-types-CAY-GU7e.js";
2
2
  import { a as OperationInput, t as Operation } from "./operations-Ci_rT6Uo.js";
3
3
  import { n as RevocationFeed } from "./revocations-BaUXHM1N.js";
4
- import { o as ProtectOptions } from "./server-types-CyRN0-Cd.js";
5
- import { t as ServerAdapterOptions } from "./bind-YYjvfpB9.js";
4
+ import { o as ProtectOptions } from "./server-types-3OnXjZ2D.js";
5
+ import { t as ServerAdapterOptions } from "./bind-DR6ku3A9.js";
6
6
  //#region src/server/fetch-adapter.d.ts
7
7
  /**
8
8
  * What `protect` checks: a permission, an operation from `defineOperations`, or
@@ -2,8 +2,8 @@ import { t as compact } from "./compact-CAf557ZB.js";
2
2
  import { o as isPermission } from "./permission-registry-B8tYxPIt.js";
3
3
  import { r as hasCredentials } from "./http-DKLXrFGk.js";
4
4
  import { o as methodNotAllowed } from "./problem-BVLHFK33.js";
5
- import { t as problemFromError } from "./map-error-pasIGqMT.js";
6
- import { i as decorate, r as bindKernel } from "./bind-BNQA9JK9.js";
5
+ import { t as problemFromError } from "./map-error-BH16Ah8P.js";
6
+ import { i as decorate, r as bindKernel } from "./bind-B4pMH9bm.js";
7
7
  //#region src/server/fetch-adapter.ts
8
8
  /**
9
9
  * `protect(target, data, options)(handler)` for a framework whose routes are
@@ -1,7 +1,7 @@
1
1
  import { a as sole } from "./compact-CAf557ZB.js";
2
- import { i as configError } from "./errors-Vpu6rKHl.js";
3
- import { c as jsonSchemaOf } from "./catalog-doc-DjMKzJp9.js";
4
- import { A as quoteQualified, D as qualified, E as helperSchema, O as quoteIdent, _ as subjectClaimJsonSql, k as quoteLiteral, s as signedIn } from "./shared-DrGLwM3s.js";
2
+ import { i as configError } from "./errors-BhRkoNS7.js";
3
+ import { c as jsonSchemaOf } from "./catalog-doc-C4DGfJCO.js";
4
+ import { A as quoteQualified, D as qualified, E as helperSchema, O as quoteIdent, _ as subjectClaimJsonSql, k as quoteLiteral, s as signedIn } from "./shared-DyYVEjKC.js";
5
5
  //#region src/cli/sql/clauses.ts
6
6
  /**
7
7
  * True when `sql` is one parenthesised expression, so AND / OR need not wrap it
@@ -1,4 +1,4 @@
1
- import { n as CliError } from "./errors-Vpu6rKHl.js";
1
+ import { n as CliError } from "./errors-BhRkoNS7.js";
2
2
  import { existsSync, mkdirSync, readFileSync, realpathSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
3
3
  import { dirname, relative, resolve } from "node:path";
4
4
  import { execFileSync } from "node:child_process";
@@ -1,16 +1,22 @@
1
1
  import { r as isRecord } from "./compact-CAf557ZB.js";
2
- import { i as configError } from "./errors-Vpu6rKHl.js";
2
+ import { i as configError } from "./errors-BhRkoNS7.js";
3
3
  import { i as readJsonFile } from "./files-BSjrtIHw.js";
4
- import { a as loadModule, s as pickNamed } from "./load-DjSU5KXO.js";
4
+ import { a as loadModule, s as pickNamed } from "./load-BaEamml-.js";
5
5
  import { existsSync } from "node:fs";
6
6
  import { resolve } from "node:path";
7
7
  //#region src/cli/fixtures.ts
8
+ function checkChange(item, index) {
9
+ const after = item["after"];
10
+ if (!isRecord(after) || item["expected"] !== "changed" || item["action"] !== void 0 || item["table"] !== void 0 || item["stream"] !== void 0 && (typeof item["stream"] !== "string" || item["stream"].length === 0) || after["tenant"] !== void 0 && typeof after["tenant"] !== "string" || after["roles"] !== void 0 && (!Array.isArray(after["roles"]) || !after["roles"].every((name) => typeof name === "string")) || after["memberships"] !== void 0 && !Array.isArray(after["memberships"]) || after["claims"] !== void 0 && !isRecord(after["claims"])) throw configError(`PermDock CLI: fixture ${index} needs after (tenant, roles, memberships, claims) and expected "changed", without action or table`);
11
+ }
8
12
  function asFixtures(value, followed = false) {
9
13
  const list = Array.isArray(value) ? value : isRecord(value) && Array.isArray(value["fixtures"]) ? value["fixtures"] : void 0;
10
14
  if (list === void 0) throw configError("PermDock CLI: fixtures must be an array or { fixtures }");
11
15
  return list.map((item, index) => {
12
- if (!isRecord(item) || !isRecord(item["subject"]) || item["row"] === void 0) throw configError(`PermDock CLI: fixture ${index} needs subject and row`);
13
- if (followed && item["table"] !== void 0) {
16
+ const change = followed && isRecord(item) && item["after"] !== void 0;
17
+ if (!isRecord(item) || !isRecord(item["subject"]) || item["row"] === void 0 && !change) throw configError(`PermDock CLI: fixture ${index} needs subject and row`);
18
+ if (change) checkChange(item, index);
19
+ else if (followed && item["table"] !== void 0) {
14
20
  if (typeof item["table"] !== "string" || item["table"].length === 0 || item["action"] !== void 0 || item["expected"] !== "granted" && item["expected"] !== "denied") throw configError(`PermDock CLI: fixture ${index} needs table and expected (granted or denied), without action`);
15
21
  } else if (typeof item["action"] !== "string") throw new TypeError(`PermDock CLI: fixture ${index} needs action`);
16
22
  if (typeof item["subject"]["id"] !== "string") throw new TypeError(`PermDock CLI: fixture ${index} subject needs id`);
@@ -1,5 +1,5 @@
1
- import { n as CliError } from "./errors-Vpu6rKHl.js";
2
- import { n as secretInput } from "./credentials-CdDxp7jN.js";
1
+ import { n as CliError } from "./errors-BhRkoNS7.js";
2
+ import { n as secretInput } from "./credentials-dkycUsY3.js";
3
3
  //#region src/cli/core/flags.ts
4
4
  /** The flag vocabulary shared with better-supabase: one spelling per meaning. */
5
5
  const dbUrlFlags = { "db-url-stdin": {
@@ -4,18 +4,18 @@ import { a as deniedMessage, i as approvalMessage, n as PermDockDeniedError, t a
4
4
  import { o as sameId } from "./expiry-6XByK0dm.js";
5
5
  import { c as listPermissions } from "./permission-registry-B8tYxPIt.js";
6
6
  import { g as secondsOf, o as epochSeconds, t as INVALID_NOW } from "./time-nR1JesoH.js";
7
- import { f as scopeList, h as tenantOf, o as normalizeMemberships, s as resolveScope, t as activeFor } from "./scopes-0Up_UA2t.js";
8
- import { a as readOnlyActorRefuses, c as rowIdOf, l as rowValues, n as coveredByDelegation, u as evaluateCondition } from "./delegation-CDB6_keF.js";
7
+ import { d as scopeList, o as normalizeMemberships, p as tenantOf, s as resolveScope, t as activeFor } from "./scopes-BSdYaGHs.js";
8
+ import { a as readOnlyActorRefuses, c as rowIdOf, l as rowValues, n as coveredByDelegation, u as evaluateCondition } from "./delegation-aK4T_5WU.js";
9
9
  import { b as synthesiseRole, m as findRole, v as listRoles } from "./grantee-Dke-9rd1.js";
10
10
  import { a as grantCoversField, o as pickVisible, r as readWireValidity, t as isActive } from "./validity-Buc7w8E9.js";
11
- import { c as nowSeconds, d as resolveActiveTenant, f as rowInScope, n as inTeam, r as isMembershipExpired, s as nestedAppliesWithoutRow } from "./tenancy-5d1zVBvK.js";
11
+ import { c as nowSeconds, d as resolveActiveTenant, f as rowInScope, n as inTeam, r as isMembershipExpired, s as nestedAppliesWithoutRow } from "./tenancy-DvOHHk3-.js";
12
12
  import { t as requiresApproval } from "./approval-required-TzNB9oQA.js";
13
- import { r as tokenPayload, t as decisionToken } from "./token-DC9EQiet.js";
13
+ import { i as tokenPayload, n as decisionToken } from "./token-DaMnIU9O.js";
14
14
  import { t as fromWireDelegation } from "./wire-delegation-Cv3W2eaM.js";
15
- import { n as matchGrantee } from "./grantee-match-7RZZvoT_.js";
15
+ import { n as matchGrantee } from "./grantee-match-BP-k4vRJ.js";
16
16
  import { t as resourceIdOf } from "./resource-ref-CaS9yVPi.js";
17
- import { i as permittedIds, o as deniedFor, r as mayUse, s as signSnapshot, t as whereFromGrants } from "./where-scope-DlCdCM_8.js";
18
- import { i as decideAllWith, n as canAllWith } from "./checks-CGkP3Z7A.js";
17
+ import { i as permittedIds, o as deniedFor, r as mayUse, s as signSnapshot, t as whereFromGrants } from "./where-scope-BKrqUDVk.js";
18
+ import { i as decideAllWith, n as canAllWith } from "./checks-fyDOhcz0.js";
19
19
  //#region src/core/snapshot-evaluate.ts
20
20
  function coveredByInclude(snapshot, permission) {
21
21
  const include = snapshot.include;
@@ -324,16 +324,18 @@ function evaluateSnapshot(snapshot, subject, permission, data, team, options, ou
324
324
  resourceId,
325
325
  principal: subject.principal,
326
326
  actor: subject.actor,
327
- fingerprint: `snapshot:${snapshot.issuedAt}`,
328
- payload: tokenPayload(resourceId, next ?? current, options.args)
327
+ source: `snapshot:${snapshot.issuedAt}`,
328
+ payload: tokenPayload(resourceId, next ?? current, options.args),
329
+ fingerprint: options.fingerprint
329
330
  });
330
331
  const grant = matchedOf(matched);
331
- if (requiresApproval(matched.approval)) return done({
332
+ if (requiresApproval(matched.approval)) return done(compact({
332
333
  outcome: "approval-required",
333
334
  grant,
334
335
  reason: "human",
335
- token
336
- });
336
+ token,
337
+ fingerprint: options.fingerprint
338
+ }));
337
339
  return done(compact({
338
340
  outcome: "granted",
339
341
  subject,
@@ -1,5 +1,5 @@
1
1
  import { t as defineLeaf } from "./command-L8EstFNm.js";
2
- import { c as given, d as policyFlag, i as dryRunFlag, t as checkFlag } from "./flags-DXjoTVbS.js";
2
+ import { c as given, d as policyFlag, i as dryRunFlag, t as checkFlag } from "./flags-BlmpmXoY.js";
3
3
  //#region src/cli/commands/gen.ts
4
4
  const gen = defineLeaf({
5
5
  flags: {
@@ -41,7 +41,7 @@ const gen = defineLeaf({
41
41
  const out = given(flags.out);
42
42
  const outDir = given(flags["out-dir"]);
43
43
  const from = given(flags.policy);
44
- const { runGen } = await import("./gen-DuAhghDw.js");
44
+ const { runGen } = await import("./gen-mf-MRwVr.js");
45
45
  return runGen({
46
46
  cwd: ctx.cwd,
47
47
  config: ctx.config,
@@ -1,16 +1,16 @@
1
1
  import { r as isRecord } from "./compact-CAf557ZB.js";
2
- import { t as DESCRIBE_TITLES } from "./describe-Bb4hGK5d.js";
2
+ import { t as DESCRIBE_TITLES } from "./describe-BZAlPHxT.js";
3
3
  import { c as listPermissions } from "./permission-registry-B8tYxPIt.js";
4
- import { f as scopeList } from "./scopes-0Up_UA2t.js";
4
+ import { d as scopeList } from "./scopes-BSdYaGHs.js";
5
5
  import { v as listRoles } from "./grantee-Dke-9rd1.js";
6
6
  import { t as byCodePoint } from "./compare-DTfyUunF.js";
7
- import { i as configError, n as CliError } from "./errors-Vpu6rKHl.js";
8
- import { c as jsonSchemaOf } from "./catalog-doc-DjMKzJp9.js";
9
- import { c as requirePolicy } from "./load-DjSU5KXO.js";
10
- import { t as loadConfiguredOperations } from "./catalog-operations-DeHTrJSV.js";
11
- import { n as fileSummary, r as planFiles } from "./files-B3AA05f1.js";
12
- import { f as writeOutputFiles, r as driftOf } from "./output-files-BIQ_9pIs.js";
13
- import { t as resolveNames } from "./resolve-names-Y1Cb22cp.js";
7
+ import { i as configError, n as CliError } from "./errors-BhRkoNS7.js";
8
+ import { c as jsonSchemaOf } from "./catalog-doc-C4DGfJCO.js";
9
+ import { c as requirePolicy } from "./load-BaEamml-.js";
10
+ import { t as loadConfiguredOperations } from "./catalog-operations-BD22drQf.js";
11
+ import { n as fileSummary, r as planFiles } from "./files-CfiRtQ-m.js";
12
+ import { f as writeOutputFiles, r as driftOf } from "./output-files-CM0BnH05.js";
13
+ import { t as resolveNames } from "./resolve-names-CBl4r4_r.js";
14
14
  import { i as schemaExpression } from "./generate-CezbCaTI.js";
15
15
  import { existsSync, readFileSync } from "node:fs";
16
16
  import { dirname, extname, relative, resolve } from "node:path";
@@ -1,7 +1,7 @@
1
1
  import { n as SCIM_TABLES, r as SCIM_UNIQUE } from "./postgres-store-DcyrPS-r.js";
2
2
  import { o as quoteSqlIdent } from "./sql-0WjxIp9g.js";
3
- import { n as fileSummary, t as applyFiles } from "./files-B3AA05f1.js";
4
- import { r as driftOf } from "./output-files-BIQ_9pIs.js";
3
+ import { n as fileSummary, t as applyFiles } from "./files-CfiRtQ-m.js";
4
+ import { r as driftOf } from "./output-files-CM0BnH05.js";
5
5
  //#region src/cli/scim/generate.ts
6
6
  const SCIM_MARKER = "-- generated by permdock scim generate";
7
7
  /**
@@ -1,7 +1,7 @@
1
1
  import { a as sole, t as compact } from "./compact-CAf557ZB.js";
2
2
  import { a as expandRelation, c as isEdgeRelation, d as isSelfParented, l as isFieldRelation, m as restrictedStops, p as restrictedFor, s as isComputedRelation, u as isPrincipalRelation } from "./resource-relations-8-pCScBO.js";
3
3
  import { d as isoNow } from "./time-nR1JesoH.js";
4
- import { f as scopeList, l as rootScope, s as resolveScope } from "./scopes-0Up_UA2t.js";
4
+ import { c as rootScope, d as scopeList, s as resolveScope } from "./scopes-BSdYaGHs.js";
5
5
  //#region src/core/grantee-conditions.ts
6
6
  /**
7
7
  * Where a graph relation starts on the row: its own id when the relation is on
@@ -1,8 +1,8 @@
1
1
  import { t as compact } from "./compact-CAf557ZB.js";
2
2
  import { u as isoAt } from "./time-nR1JesoH.js";
3
- import { f as scopeList, t as activeFor } from "./scopes-0Up_UA2t.js";
3
+ import { d as scopeList, t as activeFor } from "./scopes-BSdYaGHs.js";
4
4
  import { o as flattenGrantee } from "./grantee-Dke-9rd1.js";
5
- import { r as relationCondition, t as inheritCondition } from "./grantee-conditions-BrYPe-w0.js";
5
+ import { r as relationCondition, t as inheritCondition } from "./grantee-conditions-DX4K_gGI.js";
6
6
  //#region src/core/grantee-match.ts
7
7
  function combineWhere(left, right) {
8
8
  if (left === void 0) return right;
@@ -1,7 +1,7 @@
1
- import { T as Policy, Zt as Snapshot, j as PolicyVocabulary, pr as Principal } from "../policy-types-DGIO_gxq.js";
2
- import { a as PermDock } from "../permdock-CprAPN3w.js";
3
- import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, u as SnapshotQuery, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-CyRN0-Cd.js";
4
- import { a as ProtectTarget, n as FetchAdapterOptions, r as FetchProtect, t as ContextReader } from "../fetch-adapter-BIbBAtPZ.js";
1
+ import { $t as Snapshot, E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-D-GwfQTc.js";
2
+ import { a as PermDock } from "../permdock-ffY4CMd9.js";
3
+ import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, u as SnapshotQuery, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-3OnXjZ2D.js";
4
+ import { a as ProtectTarget, n as FetchAdapterOptions, r as FetchProtect, t as ContextReader } from "../fetch-adapter-BdmfnbJM.js";
5
5
  import { EventHandler, H3Event, H3EventContext, Middleware } from "h3";
6
6
  //#region src/h3/create.d.ts
7
7
  type H3PermDockOptions<TUser = unknown> = FetchAdapterOptions<H3Event, TUser>;
package/dist/h3/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-IBceAeKT.js";
2
- import { i as decorate } from "../bind-BNQA9JK9.js";
3
- import { t as fetchAdapter } from "../fetch-adapter-dPTgJVHd.js";
1
+ import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-h3KoJAPa.js";
2
+ import { i as decorate } from "../bind-B4pMH9bm.js";
3
+ import { t as fetchAdapter } from "../fetch-adapter-DH-NJPbL.js";
4
4
  //#region src/h3/create.ts
5
5
  function createPermDock(policy, options) {
6
6
  const adapter = fetchAdapter(policy, options, "h3", (event) => event.req);
@@ -1,7 +1,7 @@
1
1
  import { t as compact } from "./compact-CAf557ZB.js";
2
2
  import { n as freezeDeep } from "./freeze-jjan0lCv.js";
3
- import { r as approverLeaves } from "./approvers-B4r0N_Uz.js";
4
- import { n as describe } from "./describe-Bb4hGK5d.js";
3
+ import { i as approverManagerKey, r as approverLeaves } from "./approvers-BaNwKYgd.js";
4
+ import { n as describe } from "./describe-BZAlPHxT.js";
5
5
  import { i as getRegistry, n as findPermission } from "./permission-registry-B8tYxPIt.js";
6
6
  import { t as assertAppData } from "./app-data-UNNm07jV.js";
7
7
  import { a as durationOf, i as dateAt, u as isoAt } from "./time-nR1JesoH.js";
@@ -9,7 +9,7 @@ import { r as relationReader, t as pendingRelations } from "./relations-BxvRvDHK
9
9
  import { n as resolveRelated } from "./relation-walk-DK_gkgL7.js";
10
10
  import { n as toWireDelegation } from "./wire-delegation-Cv3W2eaM.js";
11
11
  import { i as approverRelationKey, s as ApprovalError, t as APPROVAL_HEADER } from "./types-CcUXciSj.js";
12
- import { n as assertApprover, u as listAllApprovals } from "./store-RNFvaJJv.js";
12
+ import { n as assertApprover, u as listAllApprovals } from "./store-DmVqy74I.js";
13
13
  import { n as parseApprovalHeader } from "./approval-header-8QV6MU4H.js";
14
14
  //#region src/approvals/relations.ts
15
15
  const DEFAULT_PARENT_DEPTH = 16;
@@ -64,13 +64,76 @@ function depthOf(item) {
64
64
  if (item.through === "parent") return item.depth ?? DEFAULT_PARENT_DEPTH;
65
65
  return item.depth ?? 0;
66
66
  }
67
+ function inPeriod(holder, now) {
68
+ return (holder.startsAt === void 0 || holder.startsAt <= now) && (holder.expiresAt === void 0 || now < holder.expiresAt);
69
+ }
70
+ /**
71
+ * Whether `approver` holds `manager` on the requester's `user` record, or on a
72
+ * manager's within `levels` steps. Group holders and a read that fails count as
73
+ * nobody.
74
+ */
75
+ async function managesWithin(source, requester, approver, levels, now) {
76
+ const seen = /* @__PURE__ */ new Set([requester]);
77
+ let frontier = [requester];
78
+ for (let level = 0; level < levels && frontier.length > 0; level += 1) {
79
+ let lists;
80
+ try {
81
+ lists = await Promise.all(frontier.map((id) => Promise.resolve(source.related({
82
+ resource: "user",
83
+ id,
84
+ relation: "manager"
85
+ }))));
86
+ } catch {
87
+ return false;
88
+ }
89
+ const next = [];
90
+ for (const holder of lists.flat()) {
91
+ if (!("principal" in holder) || !inPeriod(holder, now)) continue;
92
+ const id = holder.principal.id;
93
+ if (id === approver) return true;
94
+ if (!seen.has(id)) {
95
+ seen.add(id);
96
+ next.push(id);
97
+ }
98
+ }
99
+ frontier = next;
100
+ }
101
+ return false;
102
+ }
103
+ /**
104
+ * The `approverManagerKey`s of the `manager()` items in `items` that `approver`
105
+ * satisfies for `requester`. A requester never manages themselves into
106
+ * approving their own request.
107
+ */
108
+ async function managerKeys(items, requester, approver, options) {
109
+ const source = options.relations;
110
+ if (source === void 0 || requester === approver) return [];
111
+ const managers = /* @__PURE__ */ new Map();
112
+ for (const item of items) if (item.kind === "manager") managers.set(approverManagerKey(item), item);
113
+ const now = dateAt(options.now).getTime() / 1e3;
114
+ const entries = [...managers];
115
+ const verdicts = await Promise.all(entries.map(([, item]) => managesWithin(source, requester, approver, item.levels ?? 1, now)));
116
+ return entries.flatMap(([key], index) => verdicts[index] === true ? [key] : []);
117
+ }
118
+ /** The `manager()` approvers of `request` that `subject` satisfies. */
119
+ function managerFacts(request, subject, options) {
120
+ const approvers = request.approvers;
121
+ const requester = request.subject.principal?.id;
122
+ if (approvers === void 0 || requester === void 0 || subject.principal === null) return [];
123
+ return managerKeys(requestApprovers(approvers), requester, subject.principal.id, options);
124
+ }
67
125
  /**
68
- * The relation approvers of `request` that `subject` holds on its resource,
69
- * keyed by `approverRelationKey`, for `ApprovalVerdict.relations`. Reads go
70
- * through `relations` by the request's resource id; a request without an id, a
71
- * missing source or a read that fails holds nothing.
126
+ * The relation and `manager()` approvers of `request` that `subject` holds,
127
+ * keyed by `approverRelationKey` and `approverManagerKey`, for
128
+ * `ApprovalVerdict.relations`. Relation reads go through `relations` by the
129
+ * request's resource id, manager reads by the requester's principal id; a
130
+ * request without an id, a missing source or a read that fails holds nothing.
72
131
  */
73
132
  async function approverRelations(request, subject, options) {
133
+ const [onRow, managers] = await Promise.all([rowRelations(request, subject, options), managerFacts(request, subject, options)]);
134
+ return [...onRow, ...managers];
135
+ }
136
+ async function rowRelations(request, subject, options) {
74
137
  const approvers = request.approvers;
75
138
  const id = request.resource.id;
76
139
  if (approvers === void 0 || id === void 0 || options.relations === void 0 || options.permissions === void 0 || subject.principal === null) return [];
@@ -182,9 +245,9 @@ async function requestApproval(store, decision, meta) {
182
245
  const approval = decision.grant.approval;
183
246
  const approvers = approval === void 0 || approval === "human" ? void 0 : compact({
184
247
  by: approval.by,
185
- mode: approval.mode,
248
+ combine: approval.combine,
186
249
  stages: approval.stages,
187
- distinct: approval.distinct,
250
+ mode: approval.mode,
188
251
  staleOn: approval.staleOn,
189
252
  quorum: approval.quorum,
190
253
  escalation: approval.escalation
@@ -205,6 +268,7 @@ async function requestApproval(store, decision, meta) {
205
268
  createdAt: now.toISOString(),
206
269
  expiresAt: isoAt(now.getTime() + ttl * 1e3),
207
270
  status: "pending",
271
+ fingerprint: decision.fingerprint,
208
272
  x: meta.x
209
273
  }));
210
274
  await store.create(request);
@@ -264,11 +328,18 @@ async function inspectApproval(store, token, at) {
264
328
  request
265
329
  };
266
330
  }
267
- /** Inspects `token` and, when it is approved, consumes it so it resumes once. */
268
- async function consumeApproval(store, token, at) {
331
+ /**
332
+ * Inspects `token` and, when it is approved, consumes it so it resumes once. A
333
+ * request opened under a `fingerprint` is consumed only under the same one.
334
+ */
335
+ async function consumeApproval(store, token, at, options = {}) {
269
336
  const now = { epochMilliseconds: dateAt(at).getTime() };
270
337
  const inspected = await inspectApproval(store, token, now);
271
338
  if (!inspected.ok) return inspected;
339
+ if (inspected.request.fingerprint !== void 0 && inspected.request.fingerprint !== options.fingerprint) return {
340
+ ok: false,
341
+ cause: "approval-fingerprint-mismatch"
342
+ };
272
343
  if (typeof store.consume !== "function") return {
273
344
  ok: false,
274
345
  cause: "approval-not-found"
@@ -350,7 +421,8 @@ async function resumeDecision(input) {
350
421
  if (inspected.ok) {
351
422
  const { request } = inspected;
352
423
  if (request.permission !== input.permission.key || request.resource.id !== void 0 && request.resource.id !== input.resource.id || request.subject.principal?.id !== input.subject.principal?.id) return approvalDenied("approval-mismatch");
353
- if (input.consume !== false) inspected = await consumeApproval(store, token, input.now);
424
+ if (request.fingerprint !== void 0 && request.fingerprint !== decision.fingerprint) return approvalDenied("approval-fingerprint-mismatch");
425
+ if (input.consume !== false) inspected = await consumeApproval(store, token, input.now, { fingerprint: decision.fingerprint });
354
426
  }
355
427
  } catch {
356
428
  return approvalDenied("approval-not-found");
@@ -438,4 +510,4 @@ async function storedApprovalToken(store, decision, options = {}) {
438
510
  }
439
511
  }
440
512
  //#endregion
441
- export { requestApproval as a, resumeFromHeader as c, vouchApproval as d, approverPermissions as f, readApprovalHeader as i, storedApprovalToken as l, approverRelations as m, consumeApproval as n, resolveApproval as o, heldPermissions as p, inspectApproval as r, resumeDecision as s, cancelApprovals as t, summarizeSubject as u };
513
+ export { requestApproval as a, resumeFromHeader as c, vouchApproval as d, approverPermissions as f, managerKeys as h, readApprovalHeader as i, storedApprovalToken as l, approverRelations as m, consumeApproval as n, resolveApproval as o, heldPermissions as p, inspectApproval as r, resumeDecision as s, cancelApprovals as t, summarizeSubject as u };
@@ -1,9 +1,9 @@
1
- import { T as Policy, j as PolicyVocabulary, pr as Principal } from "../policy-types-DGIO_gxq.js";
1
+ import { E as Policy, M as PolicyVocabulary, _r as Principal } from "../policy-types-D-GwfQTc.js";
2
2
  import { u as Permission } from "../permission-types-CAY-GU7e.js";
3
- import { a as PermDock } from "../permdock-CprAPN3w.js";
3
+ import { a as PermDock } from "../permdock-ffY4CMd9.js";
4
4
  import { n as RevocationFeed } from "../revocations-BaUXHM1N.js";
5
- import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-CyRN0-Cd.js";
6
- import { t as ServerAdapterOptions } from "../bind-YYjvfpB9.js";
5
+ import { D as ConnectionOptions, T as Connection, f as InvalidSignatureError, i as OpenApiHooks, o as ProtectOptions, v as discoverViaSignatureAgent, x as webBotAuthVerifier } from "../server-types-3OnXjZ2D.js";
6
+ import { t as ServerAdapterOptions } from "../bind-DR6ku3A9.js";
7
7
  import { Context, Hono, MiddlewareHandler } from "hono";
8
8
  import { SSEMessage, SSEStreamingApi } from "hono/streaming";
9
9
  import { WSEvents } from "hono/ws";
@@ -1,8 +1,8 @@
1
1
  import { t as compact } from "../compact-CAf557ZB.js";
2
2
  import { r as PermDockRevokedError } from "../errors-B6R_lg2a.js";
3
- import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-IBceAeKT.js";
4
- import { t as problemFromError } from "../map-error-pasIGqMT.js";
5
- import { r as bindKernel } from "../bind-BNQA9JK9.js";
3
+ import { l as InvalidSignatureError, p as webBotAuthVerifier, u as discoverViaSignatureAgent } from "../evaluations-h3KoJAPa.js";
4
+ import { t as problemFromError } from "../map-error-BH16Ah8P.js";
5
+ import { r as bindKernel } from "../bind-B4pMH9bm.js";
6
6
  import { a as onRevoked, n as closeReason, r as guardIterable, t as POLICY_VIOLATION } from "../stream-CDvF0sJm.js";
7
7
  import { Hono } from "hono";
8
8
  //#region src/hono/create.ts
@@ -1,4 +1,4 @@
1
- import { An as Grantee, T as Policy, a as ApprovalRequirement, br as Condition } from "./policy-types-DGIO_gxq.js";
1
+ import { E as Policy, Pn as Grantee, o as ApprovalRequirement, wr as Condition } from "./policy-types-D-GwfQTc.js";
2
2
  //#region src/core/hosted.d.ts
3
3
  /**
4
4
  * One grant authored in PermDock Cloud; its grantee is a declared role, plan or
@@ -1,13 +1,14 @@
1
1
  import { r as isRecord, t as compact } from "./compact-CAf557ZB.js";
2
2
  import { n as freezeDeep } from "./freeze-jjan0lCv.js";
3
3
  import { n as isForbiddenKey, s as splitPath } from "./paths-CUvURzHp.js";
4
- import { a as deny, i as completeGrant, n as role, p as normalizeWhere, r as allow } from "./role-builder-BK2-T6oD.js";
4
+ import { a as deny, i as completeGrant, l as normalizeWhere, n as role, r as allow } from "./role-builder-CMW4wWzn.js";
5
5
  import { a as getResource, n as findPermission } from "./permission-registry-B8tYxPIt.js";
6
6
  import { d as isSelfParented } from "./resource-relations-8-pCScBO.js";
7
7
  import { a as durationOf, l as isRfc3339, m as rfc3339 } from "./time-nR1JesoH.js";
8
8
  import { r as sha256Digest } from "./sha256-C-4WXKIu.js";
9
9
  import { _ as listPlans, m as findRole, o as flattenGrantee } from "./grantee-Dke-9rd1.js";
10
- import { a as indexPolicy, n as declaredRoleNames } from "./policy-CLQ8__GF.js";
10
+ import { o as readWireApproval } from "./approval-normalize-CUjgSsOl.js";
11
+ import { a as indexPolicy, n as declaredRoleNames } from "./policy-cV_wwPb8.js";
11
12
  //#region src/core/hosted.ts
12
13
  function memoryPolicySource(document = null) {
13
14
  const current = document === null ? null : parsePolicyDocument(document);
@@ -96,15 +97,15 @@ function isPortableCondition(value) {
96
97
  function approvalRank(approval) {
97
98
  if (approval === void 0) return;
98
99
  if (approval === "human") return {
99
- distinct: true,
100
+ authorize: true,
100
101
  stale: false,
101
102
  quorum: 1,
102
103
  ttl: Number.POSITIVE_INFINITY,
103
104
  escalates: false
104
105
  };
105
106
  return {
106
- by: approval.stages === void 0 ? JSON.stringify(approval.by) : JSON.stringify([approval.mode, approval.stages]),
107
- distinct: approval.distinct !== false,
107
+ by: approval.stages === void 0 ? JSON.stringify(approval.by) : JSON.stringify([approval.combine, approval.stages]),
108
+ authorize: approval.mode !== "confirm",
108
109
  stale: approval.staleOn === "resource-change",
109
110
  quorum: approval.quorum ?? 1,
110
111
  ttl: durationOf(approval.ttl) ?? Number.POSITIVE_INFINITY,
@@ -121,7 +122,7 @@ function approvalAtLeast(hosted, code) {
121
122
  const theirs = approvalRank(required);
122
123
  if (theirs === void 0) continue;
123
124
  if (mine === void 0) return false;
124
- if (theirs.distinct && !mine.distinct) return false;
125
+ if (theirs.authorize && !mine.authorize) return false;
125
126
  if (theirs.stale && !mine.stale) return false;
126
127
  if (theirs.by !== void 0 && mine.by !== theirs.by) return false;
127
128
  if (mine.quorum < theirs.quorum || mine.ttl > theirs.ttl) return false;
@@ -157,8 +158,8 @@ function declaredGrantee(policy, grantee, permissionResource) {
157
158
  function approvalAcceptable(policy, approval, permissionResource) {
158
159
  if (approval === void 0 || approval === "human") return true;
159
160
  if (!isRecord(approval)) return false;
160
- if (approval["mode"] !== void 0 || approval["stages"] !== void 0) return false;
161
- if (approval["distinct"] !== void 0 && typeof approval["distinct"] !== "boolean") return false;
161
+ if (approval["combine"] !== void 0 || approval["stages"] !== void 0 || approval["distinct"] !== void 0) return false;
162
+ if (approval["mode"] !== void 0 && approval["mode"] !== "confirm" && approval["mode"] !== "authorize") return false;
162
163
  if (approval["staleOn"] !== void 0 && (approval["staleOn"] !== "resource-change" || getResource(policy.permissions, permissionResource)?.version === void 0)) return false;
163
164
  if (approval["quorum"] !== void 0 && (!Number.isInteger(approval["quorum"]) || approval["quorum"] < 1)) return false;
164
165
  if (approval["ttl"] !== void 0 && durationOf(approval["ttl"]) === void 0) return false;
@@ -202,7 +203,8 @@ function buildGrant(policy, document, raw) {
202
203
  ok: false,
203
204
  reason: "non-portable"
204
205
  };
205
- if (!approvalAcceptable(policy, raw["approval"], permission.resource)) return {
206
+ const approval = readWireApproval(raw["approval"]);
207
+ if (!approvalAcceptable(policy, approval, permission.resource)) return {
206
208
  ok: false,
207
209
  reason: "invalid"
208
210
  };
@@ -214,7 +216,7 @@ function buildGrant(policy, document, raw) {
214
216
  const options = compact({
215
217
  where: raw["where"] === void 0 ? void 0 : normalizeWhere(raw["where"]),
216
218
  check: raw["check"] === void 0 ? void 0 : normalizeWhere(raw["check"]),
217
- approval: raw["approval"],
219
+ approval,
218
220
  fields: raw["fields"]
219
221
  });
220
222
  let built;
@@ -1,5 +1,5 @@
1
1
  import { t as timeoutSignal } from "./timeout-D51niuQP.js";
2
- import { a as describeError, n as CliError } from "./errors-Vpu6rKHl.js";
2
+ import { a as describeError, n as CliError } from "./errors-BhRkoNS7.js";
3
3
  import { s as cliVersion } from "./version-DMQ0dnN5.js";
4
4
  import "./device-BwbJNmb2.js";
5
5
  //#region src/cli/core/http.ts
@@ -1,10 +1,10 @@
1
1
  import { r as isRecord } from "./compact-CAf557ZB.js";
2
- import { i as configError, u as usageResult } from "./errors-Vpu6rKHl.js";
2
+ import { i as configError, u as usageResult } from "./errors-BhRkoNS7.js";
3
3
  import { s as writeFileEnsuringDir } from "./files-BSjrtIHw.js";
4
4
  import { r as escapeSqlIdent, s as quoteSqlLiteral } from "./sql-0WjxIp9g.js";
5
- import { C as parseMembershipsFlag, r as HELPERS } from "./shared-DrGLwM3s.js";
6
- import { n as pgConnector } from "./pg-DQTqRrou.js";
7
- import { t as FIELD_VIEWS } from "./fields-DI8s3cPl.js";
5
+ import { C as parseMembershipsFlag, r as HELPERS } from "./shared-DyYVEjKC.js";
6
+ import { n as pgConnector } from "./pg-Ddxsd5ZB.js";
7
+ import { t as FIELD_VIEWS } from "./fields-CrjL6A49.js";
8
8
  import { n as emptySchema, r as isSchemaKind, t as emitPermissionsModule } from "./generate-CezbCaTI.js";
9
9
  import { existsSync, readFileSync } from "node:fs";
10
10
  import { resolve } from "node:path";
@@ -1,10 +1,10 @@
1
1
  import { r as isRecord } from "./compact-CAf557ZB.js";
2
2
  import { t as byCodePoint } from "./compare-DTfyUunF.js";
3
3
  import { i as readJsonFile } from "./files-BSjrtIHw.js";
4
- import { t as applyFiles } from "./files-B3AA05f1.js";
5
- import { n as httpRequest } from "./http-DOL33cO0.js";
4
+ import { t as applyFiles } from "./files-CfiRtQ-m.js";
5
+ import { n as httpRequest } from "./http-DhMWeB_h.js";
6
6
  import { i as schemaExpression, t as emitPermissionsModule } from "./generate-CezbCaTI.js";
7
- import { t as validateOpenapi } from "./schema-DvXvxPhQ.js";
7
+ import { t as validateOpenapi } from "./schema-B_9tXrbG.js";
8
8
  import { existsSync, readFileSync } from "node:fs";
9
9
  import { resolve } from "node:path";
10
10
  //#region ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/browser/dist/nodes/identity.js
@@ -1,5 +1,5 @@
1
- import { T as Policy, mt as TokenSigner, pr as Principal } from "./policy-types-DGIO_gxq.js";
2
- import { E as SsfPermDockOptions, O as SsfStreamConfiguration, T as SsfPermDock, _ as SetSubject, c as PushSetOptions, d as SetDelivery, g as SetQueue, h as SetPollHandlerOptions, k as SsfStreamStatus, m as SetEvent, p as SetError, t as CaepCommon, v as SignSetOptions } from "./types-DsHGPtkR.js";
1
+ import { E as Policy, _r as Principal, gt as TokenSigner } from "./policy-types-D-GwfQTc.js";
2
+ import { E as SsfPermDockOptions, O as SsfStreamConfiguration, T as SsfPermDock, _ as SetSubject, c as PushSetOptions, d as SetDelivery, g as SetQueue, h as SetPollHandlerOptions, k as SsfStreamStatus, m as SetEvent, p as SetError, t as CaepCommon, v as SignSetOptions } from "./types-Ck1KOfug.js";
3
3
  //#region src/ssf/create.d.ts
4
4
  declare function createPermDock<TUser, TPrincipal extends Principal = Principal>(policy: Policy<TUser, TPrincipal>, options: SsfPermDockOptions): SsfPermDock;
5
5
  //#endregion
@@ -1,10 +1,10 @@
1
- import { J as DecisionSink, T as Policy, j as PolicyVocabulary, pr as Principal, sn as DeliveryChannel } from "./policy-types-DGIO_gxq.js";
1
+ import { E as Policy, M as PolicyVocabulary, Y as DecisionSink, _r as Principal, ln as DeliveryChannel } from "./policy-types-D-GwfQTc.js";
2
2
  import { u as Permission } from "./permission-types-CAY-GU7e.js";
3
3
  import { t as Operation } from "./operations-Ci_rT6Uo.js";
4
- import { _ as PrincipalSource, a as PermDock } from "./permdock-CprAPN3w.js";
4
+ import { _ as PrincipalSource, a as PermDock } from "./permdock-ffY4CMd9.js";
5
5
  import { t as JsonSchemaNode } from "./json-schema-BfXgnRNT.js";
6
- import { _ as TransportOptions, a as DeliveryReport, c as DeliveryTransport, g as TransportMessages, i as DeliveryMessages, l as DeliveryTransports, m as Recipient, o as DeliveryResult, r as DeliverOptions, s as DeliveryTarget, y as WebhookTransport } from "./types-CN0LsqbK.js";
7
- import { l as WebhookSigner } from "./standard-webhooks-DOYEuOLx.js";
6
+ import { _ as TransportOptions, a as DeliveryReport, c as DeliveryTransport, g as TransportMessages, i as DeliveryMessages, l as DeliveryTransports, m as Recipient, o as DeliveryResult, r as DeliverOptions, s as DeliveryTarget, y as WebhookTransport } from "./types-CCEeSCMB.js";
7
+ import { l as WebhookSigner } from "./standard-webhooks-BfPaZ6T1.js";
8
8
  //#region src/delivery/audience.d.ts
9
9
  type Audience = {
10
10
  /**