permdock 0.4.0 → 0.6.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 (515) hide show
  1. package/README.md +37 -35
  2. package/dist/{schema-Bol6gqXA.js → 2020-C9VN-x8c.js} +5 -130
  3. package/dist/a2a/index.d.ts +6 -6
  4. package/dist/a2a/index.js +14 -17
  5. package/dist/{adapter-context-mlWsVGGg.js → adapter-context-CRhqyzCk.js} +1 -1
  6. package/dist/adoption-scan-DCYe60Pi.js +107 -0
  7. package/dist/agent/index.d.ts +3 -0
  8. package/dist/agent/index.js +1 -0
  9. package/dist/ai-sdk/index.d.ts +18 -35
  10. package/dist/ai-sdk/index.js +37 -23
  11. package/dist/{app-data-CV8pqqMi.js → app-data-MuyzVqX8.js} +2 -1
  12. package/dist/approval-header-CJACtHkv.js +23 -0
  13. package/dist/approval-prompt-Dg5LeAcT.js +62 -0
  14. package/dist/approval-prompt-DvSSPQJX.d.ts +57 -0
  15. package/dist/approvals/index.d.ts +5 -3
  16. package/dist/approvals/index.js +8 -5
  17. package/dist/approvals-p1PGoVjb.js +995 -0
  18. package/dist/arazzo-41WuzHou.js +36 -0
  19. package/dist/{arazzo-C4BcskbX.js → arazzo-CaUVBn7D.js} +20 -14
  20. package/dist/args-IIolxxKA.js +197 -0
  21. package/dist/astro/index.d.ts +43 -0
  22. package/dist/astro/index.js +27 -0
  23. package/dist/audience-DabClFLQ.js +55 -0
  24. package/dist/auth-DRLEizbL.js +178 -0
  25. package/dist/authzen/index.d.ts +26 -6
  26. package/dist/authzen/index.js +94 -79
  27. package/dist/automation-BNM3TtDo.d.ts +114 -0
  28. package/dist/automation-DVjOckjV.js +157 -0
  29. package/dist/better-auth/index.d.ts +8 -6
  30. package/dist/better-auth/index.js +9 -8
  31. package/dist/better-supabase/index.d.ts +357 -30
  32. package/dist/better-supabase/index.js +936 -194
  33. package/dist/{bind-kk-uyCwH.js → bind-CAvgUuKs.js} +14 -10
  34. package/dist/{bind-BzqG8SMb.d.ts → bind-DOyrv6zi.d.ts} +12 -10
  35. package/dist/body-CH5of8Ne.js +10 -0
  36. package/dist/body-text-QcXok_SI.js +52 -0
  37. package/dist/{build-instance-DIIV9DbC.js → build-instance-Bu_eDqYw.js} +4 -3
  38. package/dist/{canonical-json-CFKyFOke.js → canonical-json-BC8_nMTw.js} +5 -3
  39. package/dist/{capability-CksyCWDH.d.ts → capability-Drg-1YhL.d.ts} +44 -25
  40. package/dist/{capability-txATtKV4.js → capability-N1K9IpqS.js} +68 -42
  41. package/dist/casbin-Cr7RLtA3.js +30 -0
  42. package/dist/casbin-Dyu2gnUD.js +234 -0
  43. package/dist/casl-64gpT-8x.js +24 -0
  44. package/dist/casl-DjEDhTCP.js +299 -0
  45. package/dist/catalog/index.d.ts +74 -2
  46. package/dist/catalog/index.js +51 -2
  47. package/dist/catalog-BoWglDPI.js +1 -0
  48. package/dist/catalog-DZVbrF-z.js +52 -0
  49. package/dist/{catalog-tZUyOfOv.js → catalog-HD2gf5mY.js} +51 -6
  50. package/dist/{catalog-doc-DWtg0gGR.js → catalog-doc-Cdn7-0pQ.js} +45 -23
  51. package/dist/catalog-fingerprint-CCP0-yQS.js +153 -0
  52. package/dist/chat/index.d.ts +2 -0
  53. package/dist/chat/index.js +224 -0
  54. package/dist/chat-sdk/index.d.ts +87 -0
  55. package/dist/chat-sdk/index.js +197 -0
  56. package/dist/claims-map-7oQ3ue4X.js +13 -0
  57. package/dist/claims-map-Ca-QX8C6.d.ts +32 -0
  58. package/dist/claude-agent/index.d.ts +7 -14
  59. package/dist/claude-agent/index.js +24 -27
  60. package/dist/clerk/index.d.ts +9 -8
  61. package/dist/clerk/index.js +9 -14
  62. package/dist/cli/bin.js +36 -17
  63. package/dist/cli/index.d.ts +19 -5
  64. package/dist/cli/index.js +164 -4
  65. package/dist/cloud/index.d.ts +102 -63
  66. package/dist/cloud/index.js +239 -340
  67. package/dist/cloud-ytQ3uviA.js +87 -0
  68. package/dist/codemod-5mpSpnUY.js +37 -0
  69. package/dist/codemod-ua2hHy7w.js +2084 -0
  70. package/dist/collect-Ci6akVwH.js +55 -0
  71. package/dist/collect-D7eQDffE.js +1 -0
  72. package/dist/{collect-2SrB7lfk.js → collect-mLTY4nwb.js} +75 -11
  73. package/dist/command-L8EstFNm.js +6 -0
  74. package/dist/compile/index.d.ts +1 -1
  75. package/dist/compile/index.js +1 -2
  76. package/dist/{compile-CtTP7eur.d.ts → compile-1bsAezL0.d.ts} +5 -3
  77. package/dist/{compile-CcEu2ZQ1.js → compile-CMqMx_IN.js} +11 -8
  78. package/dist/completion-BTFrHZhX.js +143 -0
  79. package/dist/config-Bj2Ixq3d.js +26 -0
  80. package/dist/{config-BIjREpyE.js → config-bs_kZeYq.js} +12 -7
  81. package/dist/{config-report--Xb9APJS.js → config-report-DSpsLpCE.js} +15 -5
  82. package/dist/{connection-DUsczpB5.js → connection-DjhIJSs2.js} +6 -5
  83. package/dist/{context-DieZVJXu.js → context-B_u3_bDJ.js} +2 -2
  84. package/dist/convex/index.d.ts +11 -10
  85. package/dist/convex/index.js +6 -4
  86. package/dist/create-B30OMUOJ.d.ts +107 -0
  87. package/dist/create-CBMmFie-.d.ts +138 -0
  88. package/dist/create-CGm28gyI.js +130 -0
  89. package/dist/create-CQWIpUG-.js +403 -0
  90. package/dist/{create-BBO24vj6.js → create-DCF2SvoT.js} +31 -32
  91. package/dist/create-D_NmPOdH.d.ts +110 -0
  92. package/dist/{credential-kue0qpbm.js → credential-BcoiejpY.js} +152 -31
  93. package/dist/credentials-DPyHmYz5.js +74 -0
  94. package/dist/delegation-j6-rc37o.js +286 -0
  95. package/dist/delivery/index.d.ts +5 -0
  96. package/dist/delivery/index.js +5 -0
  97. package/dist/delivery-DCAgNyCn.js +499 -0
  98. package/dist/delivery-event-xX4obB8F.js +40 -0
  99. package/dist/{denied-text-DfRk15uw.d.ts → denied-text-CiFQNuMV.d.ts} +5 -5
  100. package/dist/{describe-C3ldA9os.d.ts → describe-B5qgDvEW.d.ts} +2 -2
  101. package/dist/{describe-Cgkp7eP0.js → describe-BybMRY7A.js} +6 -2
  102. package/dist/device-BARQ8eYG.js +193 -0
  103. package/dist/{diff-rpqoe7Ag.js → diff-3jbx6Rm4.js} +60 -54
  104. package/dist/diff-CmuSD3vc.js +37 -0
  105. package/dist/doctor-3ZqNHX_G.js +44 -0
  106. package/dist/{doctor-owlv6ddh.js → doctor-BdZw53-k.js} +245 -50
  107. package/dist/drizzle/index.d.ts +5 -3
  108. package/dist/drizzle/index.js +2 -2
  109. package/dist/elysia/index.d.ts +16 -13
  110. package/dist/elysia/index.js +13 -12
  111. package/dist/env-DJZrPjRi.js +8 -0
  112. package/dist/errors-BDUwg2qC.js +27 -0
  113. package/dist/{errors-drnfxYtm.js → errors-BKy0EfhN.js} +5 -9
  114. package/dist/errors-BWXBMaKK.d.ts +11 -0
  115. package/dist/errors-CWTY6uih.js +143 -0
  116. package/dist/{errors-OD_4c__H.d.ts → errors-DH5QEGXh.d.ts} +2 -2
  117. package/dist/evaluate-CNClBvcj.js +1785 -0
  118. package/dist/evaluations-C_1vdSZc.d.ts +32 -0
  119. package/dist/{evaluations-C9YJsv3H.js → evaluations-beAooV0n.js} +145 -34
  120. package/dist/eve/index.d.ts +12 -16
  121. package/dist/eve/index.js +22 -28
  122. package/dist/event-time-CsegxXxB.js +23 -0
  123. package/dist/expiry-D4_YKRKD.js +52 -0
  124. package/dist/express/index.d.ts +13 -10
  125. package/dist/express/index.js +12 -11
  126. package/dist/fastify/index.d.ts +25 -22
  127. package/dist/fastify/index.js +13 -12
  128. package/dist/fetch-adapter-DD_gfmrC.js +120 -0
  129. package/dist/fetch-adapter-Dw0MTS3D.d.ts +31 -0
  130. package/dist/fields-OYG_JR78.js +203 -0
  131. package/dist/files-C5ZI27eV.js +124 -0
  132. package/dist/{fixtures-h2eG2OZV.js → fixtures-B7XrLeY7.js} +8 -7
  133. package/dist/flags-C3DktBDY.js +86 -0
  134. package/dist/{from-snapshot-7REQZe0H.js → from-snapshot-CTCMsFZk.js} +55 -52
  135. package/dist/{grantee-conditions-MQs5NIuX.js → grantee-conditions-CcXf8hMM.js} +4 -3
  136. package/dist/{grantee-CXY-0C87.js → grantee-hxrUsbpM.js} +16 -6
  137. package/dist/{grantee-match-fxYp9Nmt.js → grantee-match-DbENBHLB.js} +5 -4
  138. package/dist/h3/index.d.ts +37 -0
  139. package/dist/h3/index.js +35 -0
  140. package/dist/headers-BIjfMaoC.js +8 -0
  141. package/dist/headers-CIbDTUTK.d.ts +7 -0
  142. package/dist/{helpers-C9YmyBIa.js → helpers-CBYVMjwh.js} +45 -38
  143. package/dist/hono/index.d.ts +12 -9
  144. package/dist/hono/index.js +13 -12
  145. package/dist/hosted-B46-5LYE.js +315 -0
  146. package/dist/hosted-BPk51-kX.d.ts +78 -0
  147. package/dist/{http-DPuDaChb.d.ts → http-B_LphE5Y.d.ts} +1 -2
  148. package/dist/http-DXJ37RDA.js +46 -0
  149. package/dist/{http-BEbdMZ05.js → http-ujKm0JXE.js} +1 -2
  150. package/dist/{import-UHk1N7vH.js → import-CNV7I2Dw.js} +25 -20
  151. package/dist/{import-BFIlhetD.js → import-wyqXUyjm.js} +190 -53
  152. package/dist/index-B8YjkEZ4.d.ts +210 -0
  153. package/dist/index-C-6Letxg.d.ts +431 -0
  154. package/dist/index-CaxrMD1A.d.ts +1 -0
  155. package/dist/{index-BwMe94Xq.d.ts → index-Ch8LpNDp.d.ts} +34 -16
  156. package/dist/index-Cp_ilKi1.d.ts +91 -0
  157. package/dist/index-CueFnxQc.d.ts +110 -0
  158. package/dist/index-DuWxc5dt.d.ts +909 -0
  159. package/dist/index.d.ts +19 -15
  160. package/dist/index.js +31 -21
  161. package/dist/init-DeMYsnYJ.js +96 -0
  162. package/dist/init-GG6Jh8HD.js +95 -0
  163. package/dist/{instance-options-plkrsAog.d.ts → instance-options-BsVpyGIk.d.ts} +2 -2
  164. package/dist/instance-snapshot-BOEhcqIF.js +601 -0
  165. package/dist/instant-BluqDvyS.js +19 -0
  166. package/dist/internals-Dk8A8fX3.js +17 -0
  167. package/dist/{json-schema-DBkdUuCO.js → json-schema-B-vAwlde.js} +45 -6
  168. package/dist/json-schema-CN_iLFH2.d.ts +40 -0
  169. package/dist/jwt/index.d.ts +18 -11
  170. package/dist/jwt/index.js +156 -135
  171. package/dist/{kernel-CB3LrIJM.js → kernel-D0NVb1cK.js} +52 -24
  172. package/dist/kysely/index.d.ts +5 -3
  173. package/dist/kysely/index.js +2 -2
  174. package/dist/load-BxEtwlBS.js +1 -0
  175. package/dist/{load-C3_oTHyO.js → load-DFS_ry0W.js} +22 -6
  176. package/dist/{load-jose-BL6LH4bL.js → load-jose-DZ4dnjri.js} +1 -4
  177. package/dist/login-Dfe5RlYk.js +68 -0
  178. package/dist/login-imhuwvn3.js +254 -0
  179. package/dist/manifest-C8IzW3Do.js +42 -0
  180. package/dist/manifest-dvL2XEe1.js +370 -0
  181. package/dist/manifest-json-CAGzls-C.js +9 -0
  182. package/dist/{manifest-uDS9y5de.d.ts → manifest-mx5ghSFM.d.ts} +9 -2
  183. package/dist/manifest-schema-C0kK_8V0.js +399 -0
  184. package/dist/{map-claims-AVlBaJoa.js → map-claims-D3oRmTk0.js} +13 -10
  185. package/dist/{map-error-BE27PYkE.js → map-error-Dr70oA_3.js} +3 -3
  186. package/dist/{markers-CiwAOZtO.js → markers-C6joDI3o.js} +2 -1
  187. package/dist/mcp/index.d.ts +22 -12
  188. package/dist/mcp/index.js +57 -39
  189. package/dist/{migrate-BwlB5-Wk.js → migrate-CIq4-E9F.js} +53 -14
  190. package/dist/nest/index.d.ts +12 -9
  191. package/dist/nest/index.js +15 -14
  192. package/dist/next/index.d.ts +18 -21
  193. package/dist/next/index.js +13 -11
  194. package/dist/next/plugin.d.ts +1 -1
  195. package/dist/next/plugin.js +2 -2
  196. package/dist/node/index.d.ts +10 -10
  197. package/dist/node/index.js +7 -9
  198. package/dist/{ocsf-uYFXGVw2.js → ocsf-BFp-PZZA.js} +22 -11
  199. package/dist/openai/index.d.ts +9 -16
  200. package/dist/openai/index.js +17 -24
  201. package/dist/openapi/index.d.ts +3 -3
  202. package/dist/openapi/index.js +1 -1
  203. package/dist/{openapi-DBzHQbov.js → openapi-B7HZ0f-r.js} +8 -8
  204. package/dist/openapi-C4dDTVEd.js +138 -0
  205. package/dist/{openapi-BJdBmYDG.js → openapi-DD1SV-5-.js} +10 -9
  206. package/dist/operation-findings-DgATDpvh.js +36 -0
  207. package/dist/operations-X0VM7F3m.d.ts +59 -0
  208. package/dist/orpc/index.d.ts +13 -10
  209. package/dist/orpc/index.js +20 -15
  210. package/dist/otel/index.d.ts +3 -2
  211. package/dist/otel/index.js +30 -7
  212. package/dist/output-1im__-08.js +88 -0
  213. package/dist/output-files-B3IZJksC.js +1 -0
  214. package/dist/{output-files-CgIsvdSa.js → output-files-DhRBBE4n.js} +24 -26
  215. package/dist/{permission-keys-B26jeyUv.js → ownership-DqaJNJPn.js} +1045 -153
  216. package/dist/{package-root-DtNnpmUd.js → package-root-Dk_ETdkp.js} +1 -1
  217. package/dist/{parse-CVFQHk6c.js → parse-Cxq0WxrA.js} +2 -2
  218. package/dist/{parse-local-manifest-DvYUR0QL.d.ts → parse-local-manifest-5ODwqu8b.d.ts} +1 -1
  219. package/dist/{parse-local-manifest-C-q02Pal.js → parse-local-manifest-CVSs6J9I.js} +1 -1
  220. package/dist/parse-request-D_tUXG6M.js +26 -0
  221. package/dist/paths-DXSHAMIa.js +42 -0
  222. package/dist/pdp/index.d.ts +7 -3
  223. package/dist/pdp/index.js +45 -26
  224. package/dist/{peer-BOr_kJE1.js → peer-C8swJ2GH.js} +23 -4
  225. package/dist/peer-CRvC7Hg1.js +1 -0
  226. package/dist/permdock-BrAscV28.js +868 -0
  227. package/dist/permdock-SV8ZINYT.d.ts +502 -0
  228. package/dist/{permission-registry-BsblpB-z.js → permission-registry-Br4jSNVi.js} +3 -3
  229. package/dist/permissions-B-wCP5ZC.js +30 -0
  230. package/dist/{permissions-CCJ6lmxB.js → permissions-BPxlwVhN.js} +4 -3
  231. package/dist/{permissions-COH-KRgT.d.ts → permissions-u_KHg-sN.d.ts} +1 -2
  232. package/dist/policies-DP2nqRoF.js +295 -0
  233. package/dist/{policy-ur0BBK_e.d.ts → policy-77FSAq_V.d.ts} +2 -2
  234. package/dist/{hosted-CBHgkzDl.js → policy-DbM5YYtV.js} +17 -273
  235. package/dist/policy-from-catalog-C2gMa2Dj.js +450 -0
  236. package/dist/policy-module-CTlwMvLI.js +89 -0
  237. package/dist/{policy-types-sp9P1iIV.d.ts → policy-types-n0uRTsW8.d.ts} +460 -632
  238. package/dist/postgrest-CEgRbefE.d.ts +100 -0
  239. package/dist/postgrest-DAjUkF9w.js +575 -0
  240. package/dist/{powersync-cZe4kzhL.js → powersync-BkWWCS1K.js} +23 -24
  241. package/dist/powersync-DISt6SUe.js +62 -0
  242. package/dist/powersync-MMJ2mI2q.js +1 -0
  243. package/dist/preset/index.d.ts +146 -0
  244. package/dist/preset/index.js +1 -0
  245. package/dist/preset-DZdU0tne.js +1768 -0
  246. package/dist/principal-source-pHneukrx.js +103 -0
  247. package/dist/prisma/index.d.ts +6 -3
  248. package/dist/prisma/index.js +2 -2
  249. package/dist/{problem-CnWraVhC.js → problem-CTviyH5L.js} +13 -23
  250. package/dist/{problem-details-rIIo8B2C.d.ts → problem-details-B45V5d2b.d.ts} +1 -1
  251. package/dist/{problem-details-DECUnXAn.js → problem-details-cn5X30gZ.js} +43 -40
  252. package/dist/problem-types-CJ2325SZ.js +5 -0
  253. package/dist/{prompt-CXYhLfsS.js → prompt-DfZLJLIn.js} +2 -2
  254. package/dist/{protected-BN7BUdY1.js → protected-BlF0F6wL.js} +21 -4
  255. package/dist/{protected-B3_P7xuw.d.ts → protected-RFGpakN9.d.ts} +16 -8
  256. package/dist/{provider-Bi-0HNL3.js → provider-B1al-AZz.js} +2 -2
  257. package/dist/{provider-kwHC9CZD.d.ts → provider-DILL9oPK.d.ts} +1 -1
  258. package/dist/{provider-store-Ctt-81Ni.js → provider-store-DM6DNcta.js} +2 -2
  259. package/dist/pull-CvpINcMK.js +1 -0
  260. package/dist/pull-jEwbf80J.js +256 -0
  261. package/dist/push-BD4f15co.js +116 -0
  262. package/dist/pushed-policy-CqtxkV4G.js +238 -0
  263. package/dist/pushed-policy-DCW91KQU.d.ts +57 -0
  264. package/dist/react/index.d.ts +8 -8
  265. package/dist/react/index.js +6 -6
  266. package/dist/react/provider-client.d.ts +1 -1
  267. package/dist/react/provider-client.js +1 -2
  268. package/dist/react-native/index.d.ts +24 -72
  269. package/dist/react-native/index.js +29 -25
  270. package/dist/{refs-f3imMjNW.js → refs-K6eWUJ0H.js} +1 -1
  271. package/dist/{relation-walk-BXnlLtg2.js → relation-walk-3OyDBF0S.js} +2 -2
  272. package/dist/{relations-CvmSpG67.js → relations-BnCWnJGI.js} +3 -3
  273. package/dist/renames-CGj7YwcQ.js +175 -0
  274. package/dist/{replay-COpmZUfx.d.ts → replay-Bkm-Ne4l.d.ts} +1 -1
  275. package/dist/{replay-BsOyTrdV.js → replay-Du1tJjG7.js} +2 -1
  276. package/dist/{request-context-BVM7aWNs.js → request-context-C81Pip9n.js} +3 -3
  277. package/dist/request-schema-CMreVuFM.js +148 -0
  278. package/dist/resend/index.d.ts +126 -0
  279. package/dist/resend/index.js +379 -0
  280. package/dist/{resource-relations-D1Un3pcz.js → resource-relations-D_jw0BFx.js} +1 -1
  281. package/dist/{retire-BFcxL6un.js → retire-CALjIQ7e.js} +2 -2
  282. package/dist/{revocations-Cy06JNx2.d.ts → revocations-R07lFBnX.d.ts} +2 -0
  283. package/dist/rls-BAqP4q66.js +336 -0
  284. package/dist/{rls-BEktUaqg.js → rls-DTvYd-lI.js} +288 -690
  285. package/dist/{role-builder-B4GbKM-i.js → role-builder-uWQZ4v84.js} +14 -207
  286. package/dist/{rpc-nYC3cR_u.js → rpc-VSl5ylaQ.js} +7 -7
  287. package/dist/run-CUKuz0A8.js +723 -0
  288. package/dist/run-DDwUaJDU.js +1 -0
  289. package/dist/run-ticket-DocwaTKn.d.ts +124 -0
  290. package/dist/run-ticket-sxFI6LAk.js +337 -0
  291. package/dist/{runtime-D_tMXnsq.js → runtime-D3VTAiCA.js} +1 -1
  292. package/dist/{saas-DtaA4JuW.js → saas-BCXRuXca.js} +16 -14
  293. package/dist/scan-qvOe0hS3.js +29 -0
  294. package/dist/{schema-DjQBcAP9.js → schema-B4v0Qrac.js} +102 -8
  295. package/dist/schema-yLuBWWsh.js +130 -0
  296. package/dist/scim/index.d.ts +2 -2
  297. package/dist/scim/index.js +1 -2
  298. package/dist/{scim-vFR1O5oG.js → scim-ClHtpyV3.js} +208 -76
  299. package/dist/{scopes-tvpa34ep.js → scopes-CUPSjo9q.js} +12 -7
  300. package/dist/server/index.d.ts +12 -143
  301. package/dist/server/index.js +12 -9
  302. package/dist/server-C3WXAHZj.js +453 -0
  303. package/dist/{server-types-DdqBwZN_.d.ts → server-types-CKQiCnON.d.ts} +51 -68
  304. package/dist/{sha256-BO0swRXL.js → sha256-D9ihqmvd.js} +8 -1
  305. package/dist/{shared-1uhI-e-b.js → shared-BAK8t4Uo.js} +20 -9
  306. package/dist/{shared-JhMeOsDF.js → shared-DvvFzYXe.js} +8 -9
  307. package/dist/signals-D3NcTKUS.js +32 -0
  308. package/dist/sink-4-eQIRWf.d.ts +225 -0
  309. package/dist/sink-BEZSlMS_.js +957 -0
  310. package/dist/{skills-BZdRQkxs.js → skills-B6lVdD_W.js} +13 -6
  311. package/dist/skills-CTYwkl44.js +51 -0
  312. package/dist/snapshot-B7DkYg6g.js +269 -0
  313. package/dist/{snapshot-cache-Cod40D-X.js → snapshot-cache-DZHQ0KF6.js} +11 -5
  314. package/dist/{snapshot-cache-J5T7t_vD.d.ts → snapshot-cache-PXI-vGpY.d.ts} +7 -5
  315. package/dist/solid/index.d.ts +11 -12
  316. package/dist/solid/index.js +7 -7
  317. package/dist/solid-start/index.d.ts +52 -0
  318. package/dist/solid-start/index.js +49 -0
  319. package/dist/{sources-Dljy06zL.d.ts → sources-Xc4zkszI.d.ts} +7 -13
  320. package/dist/{sources-B1-b-R0t.js → sources-vs5dGOsS.js} +125 -119
  321. package/dist/{sql-t8teWOfo.js → sql-B5T1IL83.js} +13 -1
  322. package/dist/src-Cu2m75uo.js +1860 -0
  323. package/dist/ssf/index.d.ts +4 -4
  324. package/dist/ssf/index.js +384 -47
  325. package/dist/standard-webhooks-DgFFD-Ga.js +228 -0
  326. package/dist/standard-webhooks-rbD7LS6h.d.ts +88 -0
  327. package/dist/storage-C2bWdvJH.js +132 -0
  328. package/dist/{store-ILkLUj_o.js → store-BDutJkDL.js} +40 -53
  329. package/dist/{store-options-CbUHDoSe.js → store-options-u0ycEe8s.js} +26 -21
  330. package/dist/{stores-Cxz_80g-.d.ts → stores-BUGNbJTt.d.ts} +7 -8
  331. package/dist/{stores-BHXdSbw9.js → stores-CGhM8BN_.js} +2 -2
  332. package/dist/{stream-Dwsg6WwE.d.ts → stream-CeCMJmBB.d.ts} +2 -2
  333. package/dist/{stream-BMui98KK.js → stream-CvdUS9V1.js} +9 -2
  334. package/dist/style-DiKWnAvn.js +1 -0
  335. package/dist/{style-CTm1AXDT.js → style-Uao76wO7.js} +3 -2
  336. package/dist/subject-BGoM5o8B.js +17 -0
  337. package/dist/supabase/index.d.ts +23 -106
  338. package/dist/supabase/index.js +5 -4
  339. package/dist/supabase/middleware.d.ts +7 -6
  340. package/dist/supabase/middleware.js +13 -11
  341. package/dist/supabase-By_frk3U.js +92 -0
  342. package/dist/{supabase-hook-Cva3ikXz.js → supabase-hook-BMoEhZir.js} +960 -64
  343. package/dist/supabase-hook-CCw5m35C.js +1 -0
  344. package/dist/{supabase-C1TWlnYt.js → supabase-x5JtR2tc.js} +99 -206
  345. package/dist/support-session-C6xJQYut.js +158 -0
  346. package/dist/svelte/Protected.svelte +4 -4
  347. package/dist/svelte/index.d.ts +7 -7
  348. package/dist/svelte/index.js +10 -10
  349. package/dist/svelte/runtime.d.ts +3 -3
  350. package/dist/svelte/runtime.js +3 -3
  351. package/dist/svelte/source.d.ts +7 -7
  352. package/dist/svelte/source.js +4 -4
  353. package/dist/sveltekit/index.d.ts +51 -0
  354. package/dist/sveltekit/index.js +27 -0
  355. package/dist/tanstack-start/index.d.ts +51 -0
  356. package/dist/tanstack-start/index.js +40 -0
  357. package/dist/target-Bw37TFNA.js +51 -0
  358. package/dist/{tenancy-DshjqY0n.js → tenancy-DN2QAx9z.js} +5 -5
  359. package/dist/terminal/index.d.ts +11 -9
  360. package/dist/terminal/index.js +23 -287
  361. package/dist/testing/index.d.ts +311 -38
  362. package/dist/testing/index.js +3475 -201
  363. package/dist/testing/saas/index.d.ts +9 -8
  364. package/dist/testing/saas/index.js +2 -2
  365. package/dist/testing/saas/permissions.d.ts +1 -1
  366. package/dist/testing/saas/permissions.js +1 -2
  367. package/dist/text-BMFRfBqc.js +8 -0
  368. package/dist/{text-diff-BdkkYSbi.js → text-diff-BQcUapOb.js} +1 -1
  369. package/dist/thenable-yD7SabqG.js +31 -0
  370. package/dist/time-DkWjdL98.js +71 -0
  371. package/dist/{token-Bx9qy30p.js → token-BLZcjQgt.js} +15 -6
  372. package/dist/{tool-refusal-CQ7OEia9.js → tool-refusal-CMLN5xhn.js} +2 -2
  373. package/dist/trpc/index.d.ts +12 -9
  374. package/dist/trpc/index.js +16 -14
  375. package/dist/types-8RnwUAvE.d.ts +107 -0
  376. package/dist/{store-9KO4BlkB.d.ts → types-B3_ooZgZ.d.ts} +100 -75
  377. package/dist/{types-Br9IXUBG.d.ts → types-BdtSDbBO.d.ts} +77 -17
  378. package/dist/types-BtHtcKMr.d.ts +157 -0
  379. package/dist/{types-CqrjB9o6.d.ts → types-BzzaHxt3.d.ts} +23 -11
  380. package/dist/types-C791HFu9.d.ts +332 -0
  381. package/dist/types-C863OQiR.d.ts +57 -0
  382. package/dist/{types-ByUo56un.d.ts → types-CVZSNocA.d.ts} +23 -22
  383. package/dist/{types-DHrmBJLH.d.ts → types-CX7AvRqP.d.ts} +7 -7
  384. package/dist/types-C_IiEs64.d.ts +65 -0
  385. package/dist/{types-7rJVLWe5.d.ts → types-Dfv0aTER.d.ts} +63 -11
  386. package/dist/types-DqzsnlSA.js +67 -0
  387. package/dist/{types-DpWfQdSh.d.ts → types-Druu9wLM.d.ts} +46 -11
  388. package/dist/{types-CIlTojhq.d.ts → types-_WhUP7ud.d.ts} +9 -6
  389. package/dist/{types-CUcFZfpU.d.ts → types-lUlG3TVd.d.ts} +2 -1
  390. package/dist/unplugin/index.d.ts +1 -1
  391. package/dist/unplugin/index.js +2 -2
  392. package/dist/usage-CRVl9V3t.js +32 -0
  393. package/dist/usage-CZpSQP6L.js +1 -0
  394. package/dist/{usage-CG9nOYZw.js → usage-SveTRTyr.js} +54 -11
  395. package/dist/{validation-error-BSSw0l_8.d.ts → validation-error-DHUrAkku.d.ts} +1 -1
  396. package/dist/{validity-dVrUEPJt.js → validity-CZ7-y0Cj.js} +32 -15
  397. package/dist/{verifier-DMr_Zmb_.js → verifier-DHuh-okk.js} +18 -7
  398. package/dist/{verify-BztUB3GX.js → verify-BaAKx7t6.js} +645 -50
  399. package/dist/{version-BEogC-rB.js → version-CEbQ5UeM.js} +4 -3
  400. package/dist/version-DXkYUISx.js +1 -0
  401. package/dist/{views-CJsrBS1f.js → views-DTIIO-oQ.js} +22 -5
  402. package/dist/{permission-types-Dg39z9Kv.d.ts → vocabulary-CN8H_9UF.d.ts} +67 -2
  403. package/dist/vue/index.d.ts +9 -10
  404. package/dist/vue/index.js +8 -8
  405. package/dist/waiter-B986w1oK.d.ts +36 -0
  406. package/dist/waiter-BGUtGYoU.js +67 -0
  407. package/dist/watch--ovlPOc0.js +1 -0
  408. package/dist/{watch-zeucB7eF.js → watch-vea54PRw.js} +44 -5
  409. package/dist/webmcp/index.d.ts +2 -2
  410. package/dist/webmcp/index.js +3 -3
  411. package/dist/where-scope-C9vfEphl.js +306 -0
  412. package/dist/who-can-DWBAcaCQ.js +364 -0
  413. package/dist/wire-delegation-Cv3W2eaM.js +36 -0
  414. package/dist/wire-denial-C7PaVYEM.js +27 -0
  415. package/dist/workflow/index.d.ts +5 -0
  416. package/dist/workflow/index.js +223 -0
  417. package/dist/workflow-sdk/index.d.ts +56 -0
  418. package/dist/workflow-sdk/index.js +78 -0
  419. package/dist/{wrap-Cr93qqdP.d.ts → wrap-C5jC6sKI.d.ts} +2 -1
  420. package/dist/{wrap-DWsU_5Bd.js → wrap-gX61EtpB.js} +7 -6
  421. package/package.json +136 -37
  422. package/schemas/access-event-v1.json +118 -0
  423. package/schemas/approval-request-v1.json +34 -1
  424. package/schemas/approval-signature-v1.json +94 -0
  425. package/schemas/automation-event-v1.json +113 -0
  426. package/schemas/capability-v1.json +84 -0
  427. package/schemas/catalog-event-v1.json +87 -0
  428. package/schemas/catalog-v1.json +123 -12
  429. package/schemas/cli-commands-v1.json +164 -0
  430. package/schemas/cli-result-v1.json +96 -0
  431. package/schemas/cloud-api-v1.json +5407 -0
  432. package/schemas/connector-v1.json +408 -0
  433. package/schemas/credential-event-v1.json +81 -0
  434. package/schemas/credential-v1.json +134 -0
  435. package/schemas/decision-event-v1.json +288 -0
  436. package/schemas/delivery-event-v1.json +117 -0
  437. package/schemas/directory-event-v1.json +85 -0
  438. package/schemas/evidence-export-v1.json +54 -0
  439. package/schemas/membership-event-v1.json +93 -0
  440. package/schemas/policy-v1.json +68 -0
  441. package/schemas/pushed-policy-v1.json +236 -0
  442. package/schemas/run-v1.json +162 -0
  443. package/schemas/snapshot-v1.json +138 -0
  444. package/schemas/supabase-claims-v1.json +4 -4
  445. package/schemas/supabase-manifest-v1.json +5 -1
  446. package/schemas/support-session-v1.json +111 -0
  447. package/skills/permdock/SKILL.md +16 -12
  448. package/skills/permdock-agents/SKILL.md +40 -23
  449. package/skills/permdock-agents/references/operations-automations-chat.md +221 -0
  450. package/skills/permdock-agents/references/runtimes.md +22 -18
  451. package/skills/permdock-approvals/SKILL.md +29 -13
  452. package/skills/permdock-approvals/references/delivery-and-waiters.md +172 -0
  453. package/skills/permdock-approvals/references/stores-and-resume.md +21 -7
  454. package/skills/permdock-audit/SKILL.md +3 -3
  455. package/skills/permdock-credentials/SKILL.md +5 -5
  456. package/skills/permdock-credentials/references/tokens-keys-links.md +14 -10
  457. package/skills/permdock-data/SKILL.md +6 -6
  458. package/skills/permdock-data/references/queries-and-rls.md +10 -9
  459. package/skills/permdock-data/references/relationships.md +3 -3
  460. package/skills/permdock-tenancy/SKILL.md +20 -7
  461. package/skills/permdock-tenancy/references/contacts-and-support-sessions.md +122 -0
  462. package/skills/permdock-tenancy/references/ownership-and-custom-roles.md +6 -4
  463. package/skills/permdock-wire/SKILL.md +17 -11
  464. package/skills/permdock-wire/references/adapters.md +139 -51
  465. package/skills/permdock-wire/references/policy-options.md +5 -5
  466. package/skills/permdock-wire/references/presets-and-recipes.md +58 -0
  467. package/dist/approvals-DZL76lKW.js +0 -240
  468. package/dist/arazzo-CD8d0WLb.js +0 -54
  469. package/dist/catalog-6yWAX6Ps.js +0 -2
  470. package/dist/catalog-WHG4kBq7.js +0 -48
  471. package/dist/cloud-C7bSDgX4.js +0 -50
  472. package/dist/cloud-PeBN3IEn.js +0 -118
  473. package/dist/collect-Bw2Jdq1q.js +0 -2
  474. package/dist/collect-CQx4hX4N.js +0 -83
  475. package/dist/commands-Cpip4ULx.js +0 -97
  476. package/dist/config-DLt6BvV7.js +0 -36
  477. package/dist/diff-Cnghh_Ip.js +0 -48
  478. package/dist/doctor-CuVJvhV_.js +0 -53
  479. package/dist/duration-xK2jGFVc.js +0 -25
  480. package/dist/errors-CWfoNg9N.js +0 -47
  481. package/dist/errors-DRnGZHzF.js +0 -30
  482. package/dist/expiry-BoBJ8Tvc.js +0 -7
  483. package/dist/fields-fwfXN01n.js +0 -1016
  484. package/dist/headers-BZSDieNT.js +0 -6
  485. package/dist/headers-Cf-zWvsO.d.ts +0 -6
  486. package/dist/ids-DC4V4CFu.js +0 -18
  487. package/dist/index-DgM7w96K.d.ts +0 -6
  488. package/dist/index-Dz7didpC.d.ts +0 -201
  489. package/dist/index-UdVQgq48.d.ts +0 -550
  490. package/dist/load-B_shHrmd.js +0 -2
  491. package/dist/manifest-BngWKryL.js +0 -770
  492. package/dist/may-use-BOn_dR_w.js +0 -78
  493. package/dist/openapi-DcQ1Kg40.js +0 -164
  494. package/dist/ownership-BgnbOJFT.js +0 -851
  495. package/dist/permdock-L26udHSk.js +0 -3646
  496. package/dist/powersync-BFSbSElQ.js +0 -62
  497. package/dist/powersync-DCDgZgfZ.js +0 -2
  498. package/dist/rls-55DQTuf5.js +0 -250
  499. package/dist/run-DMcNW_8T.js +0 -174
  500. package/dist/server-ZYEHtNHS.js +0 -268
  501. package/dist/sink-BTtmfPnE.js +0 -141
  502. package/dist/sink-CPN4zLfs.d.ts +0 -104
  503. package/dist/skills-Dle4ZoLF.js +0 -56
  504. package/dist/snapshot-Dc9CHPME.js +0 -1078
  505. package/dist/src-Bb7no-hS.js +0 -639
  506. package/dist/subject-C6dLxqHU.js +0 -24
  507. package/dist/supabase-Dbqr141s.js +0 -83
  508. package/dist/supabase-hook-BULg7Ut_.js +0 -2
  509. package/dist/thenable-QSmvt-vZ.js +0 -65
  510. package/dist/types-C0dee0Qf.d.ts +0 -197
  511. package/dist/types-DvupZE0w.d.ts +0 -9
  512. package/dist/usage-4G6t643F.js +0 -42
  513. package/dist/usage-iFLJ0-rr.js +0 -2
  514. package/dist/vocabulary-hhEFLFoL.d.ts +0 -65
  515. package/dist/watch-C8TpsAl4.js +0 -2
@@ -1,4 +1,5 @@
1
- import { Dr as Membership, Jn as RelationGrantee, Ln as Approver, kr as Subject, o as ApprovalStage, r as ApprovalMode } from "./policy-types-sp9P1iIV.js";
1
+ import { Cn as RelationGrantee, Rt as Instant, ar as Subject, cr as AdapterId, fn as Approver, nr as Membership, o as ApprovalStage, on as WireDelegation, r as ApprovalMode } from "./policy-types-n0uRTsW8.js";
2
+ import { V as AppData } from "./vocabulary-CN8H_9UF.js";
2
3
  //#region src/approvals/types.d.ts
3
4
  type ApprovalStatus = "pending" | "approved" | "rejected" | "expired";
4
5
  type ApprovalApprovers = {
@@ -13,9 +14,9 @@ type ApprovalApprovers = {
13
14
  readonly staleOn?: "resource-change";
14
15
  /** Distinct approvers of `by` needed before `status` becomes `approved`; absent means 1. */
15
16
  readonly quorum?: number;
16
- /** Who else may approve once the request has waited `after` (a duration such as `'4h'`) since `createdAt`. */
17
+ /** Who else may approve once the request has waited `after` seconds since `createdAt`. */
17
18
  readonly escalation?: {
18
- readonly after: string;
19
+ readonly after: number;
19
20
  readonly to: Approver | readonly Approver[];
20
21
  };
21
22
  };
@@ -25,6 +26,43 @@ type ApprovalSignature = {
25
26
  readonly at: string;
26
27
  readonly stage?: number;
27
28
  readonly vouched?: string;
29
+ /** The principal `by` approved for, when `by` acted under an `ApprovalDelegation`. */
30
+ readonly onBehalfOf?: string;
31
+ /** The `ApprovalDelegation` id `onBehalfOf` was read from. */
32
+ readonly delegation?: string;
33
+ };
34
+ /**
35
+ * One out-of-office delegation: `delegate` may approve what `delegator`
36
+ * could approve, from `from` until `until`. Both instants are required, so
37
+ * a delegation cannot be open-ended. `permissions` and `resources` narrow
38
+ * it; absent, it covers every request. `tenant` holds it to one tenant.
39
+ */
40
+ type ApprovalDelegation = {
41
+ readonly id: string;
42
+ readonly delegator: string;
43
+ readonly delegate: string;
44
+ readonly tenant?: string;
45
+ readonly permissions?: readonly string[];
46
+ readonly resources?: readonly string[];
47
+ /** RFC 3339. Inclusive. */
48
+ readonly from: string;
49
+ /** RFC 3339. Exclusive. */
50
+ readonly until: string;
51
+ };
52
+ /**
53
+ * Active approval delegations for one delegate, a subject input the handler
54
+ * reads when the caller is not an approver on their own. A throw matches
55
+ * nobody. One hop: the handler never reads the delegator's own delegations.
56
+ */
57
+ type ApprovalDelegationSource = {
58
+ /** Names the implementation in errors and events. */
59
+ readonly name?: string;
60
+ delegationsFor(query: {
61
+ readonly delegate: string;
62
+ readonly tenant?: string;
63
+ /** RFC 3339. The source returns delegations active at this instant. */
64
+ readonly at: string;
65
+ }): readonly ApprovalDelegation[] | Promise<readonly ApprovalDelegation[]>;
28
66
  };
29
67
  type ApprovalSubjectSummary = {
30
68
  readonly principal: {
@@ -37,13 +75,13 @@ type ApprovalSubjectSummary = {
37
75
  readonly kind: string;
38
76
  };
39
77
  readonly session?: string;
40
- readonly delegation?: {
41
- readonly scopes?: readonly string[];
42
- readonly authorizationDetails?: readonly unknown[];
43
- };
78
+ /** OAuth `scope` (space-separated) and RFC 9396 `authorization_details`. */
79
+ readonly delegation?: WireDelegation;
44
80
  };
45
81
  type ApprovalRequest = {
46
82
  readonly v: 1;
83
+ /** The request id: the signature's `jti`. */
84
+ readonly id: string;
47
85
  readonly token: string;
48
86
  readonly permission: string;
49
87
  readonly scope: string;
@@ -55,7 +93,7 @@ type ApprovalRequest = {
55
93
  readonly membership?: Membership;
56
94
  readonly approvers?: ApprovalApprovers;
57
95
  readonly detail: string;
58
- readonly adapter?: string;
96
+ readonly adapter?: AdapterId;
59
97
  readonly createdAt: string;
60
98
  readonly expiresAt: string;
61
99
  readonly status: ApprovalStatus;
@@ -67,6 +105,8 @@ type ApprovalRequest = {
67
105
  readonly vouched?: string;
68
106
  readonly note?: string;
69
107
  readonly consumedAt?: string;
108
+ /** The application's own data, set when the request opens; plain JSON, never read by a decision. */
109
+ readonly x?: AppData;
70
110
  };
71
111
  type ApprovalVerdict = {
72
112
  readonly status: "approved" | "rejected";
@@ -87,6 +127,18 @@ type ApprovalVerdict = {
87
127
  */
88
128
  readonly permissions?: readonly string[];
89
129
  readonly vouched?: string;
130
+ /**
131
+ * Set when `by` is not an approver and acts for this principal under an
132
+ * `ApprovalDelegation`. Server-side input: the handler resolves the
133
+ * delegator, and `applyApprovalVerdict` checks them again. `relations`
134
+ * and `permissions` are that principal's facts, never the delegate's.
135
+ */
136
+ readonly onBehalfOf?: {
137
+ readonly subject: Subject;
138
+ readonly delegation: string;
139
+ readonly relations?: readonly string[];
140
+ readonly permissions?: readonly string[];
141
+ };
90
142
  };
91
143
  type ApprovalListFilter = {
92
144
  readonly status?: ApprovalStatus;
@@ -114,35 +166,43 @@ type ApprovalCancelMeta = {
114
166
  readonly note?: string;
115
167
  };
116
168
  type ApprovalStore = {
169
+ /** Names the implementation in errors and events. */
170
+ readonly name?: string;
117
171
  /**
118
- * How long a request opened against this store stays open, in
119
- * milliseconds, when the caller sets no `ttl`; absent means
120
- * `DEFAULT_APPROVAL_TTL_MS`. A grant's `approval.ttl` still caps it.
172
+ * Seconds a request opened against this store stays open when the
173
+ * caller sets no `ttl`; absent means `DEFAULT_APPROVAL_TTL`. A grant's
174
+ * `approval.ttl` still caps it.
121
175
  */
122
176
  readonly ttl?: number;
123
177
  create(request: ApprovalRequest): Promise<void> | void;
124
178
  get(token: string): Promise<ApprovalRequest | null> | ApprovalRequest | null;
179
+ /**
180
+ * The request with this `id`, for `approvalsHandler`, which routes by id.
181
+ * Without it the handler pages through `list` to find the id.
182
+ */
183
+ getById?(id: string): Promise<ApprovalRequest | null> | ApprovalRequest | null;
125
184
  resolve(token: string, verdict: ApprovalVerdict): Promise<ApprovalRequest> | ApprovalRequest;
126
185
  list(query: ApprovalListQuery): Promise<ApprovalPage> | ApprovalPage;
127
- expire(now?: Date): Promise<number> | number;
186
+ expire(now?: Instant): Promise<number> | number;
128
187
  /**
129
188
  * Marks an approved, unexpired, unconsumed request consumed and returns it;
130
189
  * returns `null` otherwise. Must be atomic: two concurrent calls for one
131
190
  * token never both return the request.
132
191
  */
133
- consume(token: string, now?: Date): Promise<ApprovalRequest | null> | ApprovalRequest | null;
192
+ consume(token: string, now?: Instant): Promise<ApprovalRequest | null> | ApprovalRequest | null;
134
193
  cancel?(filter: ApprovalListFilter, meta: ApprovalCancelMeta): Promise<number> | number;
135
194
  };
136
- type ApprovalResumeFailure = "approval-not-found" | "approval-pending" | "approval-rejected" | "approval-expired" | "approval-consumed";
195
+ type ApprovalResumeFailureCause = "approval-not-found" | "approval-pending" | "approval-rejected" | "approval-expired" | "approval-consumed";
137
196
  type ApprovalInspectResult = {
138
197
  readonly ok: true;
139
198
  readonly request: ApprovalRequest;
140
199
  } | {
141
200
  readonly ok: false;
142
- readonly detail: ApprovalResumeFailure;
201
+ readonly cause: ApprovalResumeFailureCause;
143
202
  };
144
203
  declare const APPROVAL_HEADER: "PermDock-Approval";
145
- declare const DEFAULT_APPROVAL_TTL_MS: number;
204
+ /** Seconds a request stays open when neither the store nor the call sets a `ttl`. */
205
+ declare const DEFAULT_APPROVAL_TTL: number;
146
206
  /** The approvals a request needs in total: `approvers.quorum` (or 1), or the sum of its stages' quorums. */
147
207
  declare function approvalQuorum(request: ApprovalRequest): number;
148
208
  /**
@@ -154,4 +214,4 @@ declare function escalationOpenAt(request: ApprovalRequest): number | undefined;
154
214
  /** The key a verdict's `relations` lists a relation approver under. */
155
215
  declare function approverRelationKey(item: RelationGrantee): string;
156
216
  //#endregion
157
- export { approverRelationKey as _, ApprovalListFilter as a, ApprovalRequest as c, ApprovalStatus as d, ApprovalStore as f, approvalQuorum as g, DEFAULT_APPROVAL_TTL_MS as h, ApprovalInspectResult as i, ApprovalResumeFailure as l, ApprovalVerdict as m, ApprovalApprovers as n, ApprovalListQuery as o, ApprovalSubjectSummary as p, ApprovalCancelMeta as r, ApprovalPage as s, APPROVAL_HEADER as t, ApprovalSignature as u, escalationOpenAt as v };
217
+ export { DEFAULT_APPROVAL_TTL as _, ApprovalDelegationSource as a, escalationOpenAt as b, ApprovalListQuery as c, ApprovalResumeFailureCause as d, ApprovalSignature as f, ApprovalVerdict as g, ApprovalSubjectSummary as h, ApprovalDelegation as i, ApprovalPage as l, ApprovalStore as m, ApprovalApprovers as n, ApprovalInspectResult as o, ApprovalStatus as p, ApprovalCancelMeta as r, ApprovalListFilter as s, APPROVAL_HEADER as t, ApprovalRequest as u, approvalQuorum as v, approverRelationKey as y };
@@ -0,0 +1,157 @@
1
+ import { $t as DeliveryFailureCause, Qt as DeliveryEvent, Zt as DeliveryChannel, tn as EmailCategory, zn as GrantedDecision } from "./policy-types-n0uRTsW8.js";
2
+ import { s as CloudEvent } from "./sink-4-eQIRWf.js";
3
+ import { t as ApprovalPrompt } from "./approval-prompt-DvSSPQJX.js";
4
+ //#region src/delivery/types.d.ts
5
+ /**
6
+ * Who a delivery goes to. `{ principal }` names an app principal and the
7
+ * address the server loaded for it on `channel`. `{ address }` alone is an
8
+ * email or chat identity that resolves through
9
+ * `PrincipalSource.principalByIdentity`; with no principal linked it is
10
+ * refused unless `trusted` is set for an address the server loaded itself,
11
+ * such as a customer's billing email, and then the sender must hold the
12
+ * permission.
13
+ */
14
+ type Recipient = {
15
+ readonly principal: string;
16
+ readonly channel: DeliveryChannel;
17
+ /** An RFC 5322 `addr-spec`, a chat platform user id, or an https webhook endpoint. */
18
+ readonly address: string;
19
+ /** The chat platform (`slack`, `teams`, …). */
20
+ readonly provider?: string;
21
+ readonly workspace?: string;
22
+ } | {
23
+ readonly principal?: undefined;
24
+ readonly channel: "email" | "chat";
25
+ readonly address: string;
26
+ /** The chat platform; required for a chat address. */
27
+ readonly provider?: string;
28
+ readonly workspace?: string;
29
+ /** `true` only for an address the server loaded itself, never one from a request. */
30
+ readonly trusted?: boolean;
31
+ };
32
+ /** One-click unsubscribe (RFC 8058): an https URL, plus an optional `mailto:` address. */
33
+ type EmailUnsubscribe = {
34
+ readonly url: string;
35
+ readonly mailto?: string;
36
+ };
37
+ type EmailMessage = {
38
+ /** Defaults to the router's `from`. A name-addr (`Acme <billing@acme.test>`) is allowed here. */
39
+ readonly from?: string;
40
+ readonly replyTo?: string;
41
+ readonly subject: string;
42
+ readonly text: string;
43
+ readonly html?: string;
44
+ /** Extra headers. `Auto-Submitted` and the `List-Unsubscribe` pair are the router's. */
45
+ readonly headers?: Readonly<Record<string, string>>;
46
+ readonly category: EmailCategory;
47
+ /** Required on `notification`, ignored on every other category. */
48
+ readonly unsubscribe?: EmailUnsubscribe | ((target: DeliveryTarget<"email">) => EmailUnsubscribe);
49
+ };
50
+ /** An email as a transport receives it: `from` set and the standards headers added. */
51
+ type OutgoingEmail = Omit<EmailMessage, "from" | "unsubscribe" | "headers"> & {
52
+ readonly from: string;
53
+ readonly headers: Readonly<Record<string, string>>;
54
+ };
55
+ type ChatMessage = {
56
+ readonly text: string;
57
+ /** Rendered by the transport as its approval card, linking to `url`. */
58
+ readonly approval?: {
59
+ readonly prompt: ApprovalPrompt;
60
+ readonly url: string;
61
+ };
62
+ };
63
+ /** A CloudEvents 1.0 event, posted as `application/cloudevents+json`. */
64
+ type WebhookMessage = {
65
+ readonly event: CloudEvent;
66
+ };
67
+ type DeliveryMessages = {
68
+ readonly email: EmailMessage;
69
+ readonly chat: ChatMessage;
70
+ readonly webhook: WebhookMessage;
71
+ };
72
+ /** What a transport of channel `C` receives. */
73
+ type TransportMessages = {
74
+ readonly email: OutgoingEmail;
75
+ readonly chat: ChatMessage;
76
+ readonly webhook: WebhookMessage;
77
+ };
78
+ /**
79
+ * A recipient the router checked: the granted decision that let it through
80
+ * and the address in the form the channel compares. A transport refuses a
81
+ * target without a granted `decision` (`isDeliveryTarget`).
82
+ */
83
+ type DeliveryTarget<C extends DeliveryChannel = DeliveryChannel> = {
84
+ readonly channel: C;
85
+ readonly address: string;
86
+ /** Absent for a trusted address no principal is linked to. */
87
+ readonly principal?: string;
88
+ readonly provider?: string;
89
+ readonly workspace?: string;
90
+ readonly trusted?: true;
91
+ readonly decision: GrantedDecision;
92
+ };
93
+ type TransportOptions = {
94
+ /** Stable for one delivery id and recipient: the provider's `Idempotency-Key` and the `webhook-id`. */
95
+ readonly idempotencyKey: string;
96
+ /** The delivery id every recipient of one `deliver` call shares. */
97
+ readonly delivery: string;
98
+ };
99
+ type DeliveryResult = {
100
+ readonly status: "sent";
101
+ readonly providerId?: string;
102
+ } | {
103
+ readonly status: "failed";
104
+ readonly cause: DeliveryFailureCause;
105
+ /** Whether a retry with the same idempotency key may succeed. */
106
+ readonly retryable: boolean;
107
+ readonly reason?: string;
108
+ };
109
+ /** One delivery as a transport receives it. */
110
+ type TransportItem<C extends DeliveryChannel = DeliveryChannel> = {
111
+ readonly target: DeliveryTarget<C>;
112
+ readonly message: TransportMessages[C];
113
+ readonly options: TransportOptions;
114
+ };
115
+ /**
116
+ * One channel's sender. `deliver` resolves to a result; a throw or a
117
+ * rejection counts as a retryable `unavailable` failure.
118
+ */
119
+ type DeliveryTransport<C extends DeliveryChannel = DeliveryChannel> = {
120
+ readonly channel: C;
121
+ /** The provider name delivery events carry (`resend`, `chat-sdk`, `webhook`). */
122
+ readonly name: string;
123
+ deliver(target: DeliveryTarget<C>, message: TransportMessages[C], options: TransportOptions): DeliveryResult | Promise<DeliveryResult>;
124
+ /**
125
+ * Sends several deliveries in one provider call, one result per item in
126
+ * item order. The router uses it for two or more ready recipients.
127
+ */
128
+ deliverBatch?(items: readonly TransportItem<C>[]): readonly DeliveryResult[] | Promise<readonly DeliveryResult[]>;
129
+ /** The most items one `deliverBatch` call takes. Defaults to 100. */
130
+ readonly batchSize?: number;
131
+ };
132
+ type EmailTransport = DeliveryTransport<"email"> & {
133
+ /** The `from` of an email whose message and router set none. */
134
+ readonly from?: string;
135
+ };
136
+ type ChatTransport = DeliveryTransport<"chat">;
137
+ type WebhookTransport = DeliveryTransport<"webhook">;
138
+ type DeliveryTransports = {
139
+ readonly email?: EmailTransport;
140
+ readonly chat?: ChatTransport;
141
+ readonly webhook?: WebhookTransport;
142
+ };
143
+ type DeliverOptions = {
144
+ /** Keep it across retries so each recipient's idempotency key repeats. Defaults to `dlv_` and a random UUID. */
145
+ readonly id?: string;
146
+ /** The approval request id a prompt is delivered for, on every event. */
147
+ readonly approval?: string;
148
+ };
149
+ type DeliveryReport = {
150
+ readonly id: string;
151
+ /** One event per recipient, in recipient order. */
152
+ readonly events: readonly DeliveryEvent[];
153
+ readonly sent: number;
154
+ readonly failed: number;
155
+ };
156
+ //#endregion
157
+ export { TransportOptions as _, DeliveryReport as a, DeliveryTransport as c, EmailTransport as d, EmailUnsubscribe as f, TransportMessages as g, TransportItem as h, DeliveryMessages as i, DeliveryTransports as l, Recipient as m, ChatTransport as n, DeliveryResult as o, OutgoingEmail as p, DeliverOptions as r, DeliveryTarget as s, ChatMessage as t, EmailMessage as u, WebhookMessage as v, WebhookTransport as y };
@@ -1,4 +1,5 @@
1
- import { Or as Principal, yn as AuthEvent } from "./policy-types-sp9P1iIV.js";
1
+ import { qt as AuthEvent, rr as Principal } from "./policy-types-n0uRTsW8.js";
2
+ import { t as ClaimsMap } from "./claims-map-Ca-QX8C6.js";
2
3
  import { t as ClientNames } from "./clients-C7zLFuWT.js";
3
4
  import { StandardSchemaV1 } from "@standard-schema/spec";
4
5
  //#region src/supabase/claims.d.ts
@@ -18,14 +19,14 @@ type SupabaseMembershipClaim = {
18
19
  readonly roles: readonly string[];
19
20
  readonly via?: string;
20
21
  /** Seconds since the epoch. */
21
- readonly expiresAt?: number;
22
- readonly grantedBy?: string;
22
+ readonly expires_at?: number;
23
+ readonly granted_by?: string;
23
24
  readonly reason?: string;
24
25
  /** The subgroup a membership source's `group` fills: a fixed name or a column. */
25
26
  readonly member?: {
26
27
  readonly group: string;
27
28
  };
28
- readonly managedBy?: "idp";
29
+ readonly managed_by?: "idp";
29
30
  readonly entitlements?: readonly string[];
30
31
  /** The instance or an ancestor is suspended: the permission keys the membership still grants. */
31
32
  readonly keep?: readonly string[];
@@ -247,14 +248,17 @@ type SupabaseSessionLike = {
247
248
  readonly claims?: unknown;
248
249
  };
249
250
  type SupabaseSubjectOptions = {
250
- readonly roles?: string;
251
- readonly tenant?: string;
252
- readonly memberships?: string;
251
+ /**
252
+ * Where the token carries roles (default `user_role`), the active tenant
253
+ * (default `tenant_id`), memberships (default `memberships`) and plan names
254
+ * per tenant id (no default; the active tenant's entry becomes
255
+ * `principal.plans`). A name is read at the top level, then in
256
+ * `app_metadata`.
257
+ */
258
+ readonly claims?: Pick<ClaimsMap, "roles" | "tenant" | "memberships" | "plans">;
253
259
  readonly schema?: StandardSchemaV1;
254
260
  readonly include?: readonly SupabaseInclude[];
255
261
  readonly declared?: readonly string[];
256
- /** Claim holding plan names per tenant id; the active tenant's entry becomes `principal.plans`. */
257
- readonly plans?: string;
258
262
  /** Names for OAuth client ids: an `oauth-client` actor gets `client` set to the name of its id, which a policy delegation matches with `to: { kind: 'oauth-client', client }`. */
259
263
  readonly clients?: ClientNames;
260
264
  /** `'deny'` maps a token with `is_anonymous: true` (`signInAnonymously()`) to the anonymous subject, as `rls.anonymousSignIns: 'deny'` does in RLS. */
@@ -271,8 +275,9 @@ type SupabaseSubjectOptions = {
271
275
  /**
272
276
  * Who acts for the user. `oauth-client`: a third-party app or an agent chain (`client_id`, or an
273
277
  * `act` without `kind`). `support`: a support session (`act.kind: "support"` with `session_id`).
274
- * `impersonation`: an admin acting as the user (`act.kind: "impersonation"`). `chain` is a copy of
275
- * the token's `act` claim when it has one.
278
+ * `impersonation`: an admin acting as the user (`act.kind: "impersonation"`). `agent`: an agent
279
+ * run better-supabase's `agentClaims` minted (`act.kind: "agent"`), with the `tools` it may call.
280
+ * `chain` is a copy of the token's `act` claim when it has one.
276
281
  */
277
282
  type SupabaseActor = {
278
283
  readonly id: string;
@@ -290,6 +295,13 @@ type SupabaseActor = {
290
295
  readonly kind: "impersonation";
291
296
  readonly reason?: string;
292
297
  readonly chain: SupabaseActClaim;
298
+ } | {
299
+ readonly id: string;
300
+ readonly kind: "agent";
301
+ readonly tools?: readonly string[];
302
+ /** `act.read_only`, default `false`: a read-only agent never writes. */
303
+ readonly readOnly: boolean;
304
+ readonly chain: SupabaseActClaim;
293
305
  };
294
306
  /** `actorOf` output: `{ ok: false }` must deny. */
295
307
  type SupabaseActorResult = {