better-supabase 0.7.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (499) hide show
  1. package/README.md +6 -2
  2. package/dist/{access-sql-B0dF-SoF.js → access-sql-CrSbK1q-.js} +1 -1
  3. package/dist/{adapter-iKgjHVPx.js → adapter-CN45ibbV.js} +658 -157
  4. package/dist/{agents-CVHGd7It.d.ts → agents-BY_LQXtQ.d.ts} +4 -4
  5. package/dist/{ai-cache-CBWs1W0k.js → ai-cache-Dfgk8nBT.js} +2 -1
  6. package/dist/{ai-cache-DaDu_G5L.d.ts → ai-cache-DrUMMgp6.d.ts} +4 -4
  7. package/dist/{ai-chat-B24UI962.js → ai-chat-CVLRWbtS.js} +4 -3
  8. package/dist/{ai-chat-7amvXjmQ.d.ts → ai-chat-DXkMy74O.d.ts} +5 -5
  9. package/dist/{ai-files-CSPNswUY.js → ai-files-CioLu5du.js} +5 -4
  10. package/dist/ai-message-DfaP8sis.js +14 -0
  11. package/dist/ai-sdk/agents/index.d.ts +4 -4
  12. package/dist/ai-sdk/batches/index.d.ts +4 -4
  13. package/dist/ai-sdk/batches/index.js +4 -4
  14. package/dist/ai-sdk/cache/index.d.ts +2 -2
  15. package/dist/ai-sdk/cache/index.js +2 -2
  16. package/dist/ai-sdk/chat/index.d.ts +1 -1
  17. package/dist/ai-sdk/chat/index.js +8 -20
  18. package/dist/ai-sdk/embeddings/index.d.ts +2 -2
  19. package/dist/ai-sdk/files/index.d.ts +3 -3
  20. package/dist/ai-sdk/files/index.js +4 -4
  21. package/dist/ai-sdk/index.d.ts +37 -9
  22. package/dist/ai-sdk/index.js +3 -2
  23. package/dist/ai-sdk/mcp/index.d.ts +43 -6
  24. package/dist/ai-sdk/mcp/index.js +36 -7
  25. package/dist/ai-sdk/memory/index.d.ts +2 -2
  26. package/dist/ai-sdk/memory/index.js +1 -1
  27. package/dist/ai-sdk/workflow/index.d.ts +6 -6
  28. package/dist/ai-sdk/workflow/index.js +13 -24
  29. package/dist/{ai-tasks-Cd1HMFvB.d.ts → ai-tasks-BRQ6iQLc.d.ts} +4 -4
  30. package/dist/{announcements-ZRGnScWI.d.ts → announcements-Bouy0Ski.d.ts} +3 -3
  31. package/dist/{announcements-CiyOs-xP.js → announcements-p_BFofiR.js} +1 -1
  32. package/dist/api-Dnf2q-Ht.d.ts +370 -0
  33. package/dist/api-DtHFC037.js +676 -0
  34. package/dist/{api-keys-CIjghYjV.d.ts → api-keys-C8BlF3L2.d.ts} +4 -4
  35. package/dist/arazzo/index.d.ts +255 -0
  36. package/dist/arazzo/index.js +622 -0
  37. package/dist/{assistant-DwdpDH1q.d.ts → assistant-DBlFDZsi.d.ts} +5 -5
  38. package/dist/astro/index.d.ts +7 -7
  39. package/dist/astro/index.js +7 -7
  40. package/dist/asyncapi/index.d.ts +103 -0
  41. package/dist/asyncapi/index.js +569 -0
  42. package/dist/authorizer-ayxUDXXP.js +126 -0
  43. package/dist/authorizer-eiOjo-3l.d.ts +73 -0
  44. package/dist/better-result/index.d.ts +118 -0
  45. package/dist/better-result/index.js +64 -0
  46. package/dist/{bind-l4kAvYSv.js → bind-ButSzrHe.js} +1 -1
  47. package/dist/{bind-Bu_ZNa3W.d.ts → bind-CQ5mPyX1.d.ts} +3 -3
  48. package/dist/{block-events-CrT8r7Fe.js → block-events-DTxU5tfr.js} +18 -3
  49. package/dist/{block-fields-GFkxl4dP.js → block-fields-CroxUuF2.js} +3 -3
  50. package/dist/{block-fields-SJ6fEf3o.d.ts → block-fields-D1pfrcIY.d.ts} +2 -2
  51. package/dist/{block-helpers-CKtbFcRv.d.ts → block-helpers-C0Xj8War.d.ts} +2 -2
  52. package/dist/{block-helpers-DWHxHsEQ.js → block-helpers-Cy3pB96I.js} +41 -9
  53. package/dist/{block-hooks-BmjMyXTa.js → block-hooks-BPNMIlLl.js} +3 -3
  54. package/dist/{block-hooks-plbZ0AbJ.d.ts → block-hooks-DaOVC7SC.d.ts} +3 -3
  55. package/dist/{block-transport-BLr-ZgLc.js → block-transport-bAKh-dGc.js} +28 -2
  56. package/dist/{block-transport-DvaoPuZ9.d.ts → block-transport-inD4fFq-.d.ts} +24 -2
  57. package/dist/blocks/agents/index.d.ts +3 -3
  58. package/dist/blocks/agents/index.js +5 -4
  59. package/dist/blocks/ai-cache/index.d.ts +3 -3
  60. package/dist/blocks/ai-cache/index.js +3 -3
  61. package/dist/blocks/ai-chat/index.d.ts +9 -4
  62. package/dist/blocks/ai-chat/index.js +5 -5
  63. package/dist/blocks/ai-chat/react/index.d.ts +3 -3
  64. package/dist/blocks/ai-chat/react/index.js +5 -5
  65. package/dist/blocks/ai-files/index.d.ts +3 -3
  66. package/dist/blocks/ai-files/index.js +3 -3
  67. package/dist/blocks/ai-providers/index.d.ts +3 -3
  68. package/dist/blocks/ai-providers/index.js +8 -7
  69. package/dist/blocks/ai-tasks/index.d.ts +3 -3
  70. package/dist/blocks/ai-tasks/index.js +7 -6
  71. package/dist/blocks/announcements/index.d.ts +3 -3
  72. package/dist/blocks/announcements/index.js +3 -3
  73. package/dist/blocks/announcements/react/index.d.ts +3 -3
  74. package/dist/blocks/announcements/react/index.js +3 -3
  75. package/dist/blocks/api-keys/index.d.ts +5 -5
  76. package/dist/blocks/api-keys/index.js +8 -8
  77. package/dist/blocks/attachments/index.d.ts +12 -8
  78. package/dist/blocks/attachments/index.js +22 -13
  79. package/dist/blocks/audit/index.d.ts +21 -10
  80. package/dist/blocks/audit/index.js +30 -11
  81. package/dist/blocks/billing/index.d.ts +11 -9
  82. package/dist/blocks/billing/index.js +15 -15
  83. package/dist/blocks/comments/index.d.ts +8 -8
  84. package/dist/blocks/comments/index.js +8 -7
  85. package/dist/blocks/connectors/index.d.ts +3 -3
  86. package/dist/blocks/connectors/index.js +7 -6
  87. package/dist/blocks/data-lifecycle/index.d.ts +12 -8
  88. package/dist/blocks/data-lifecycle/index.js +13 -8
  89. package/dist/blocks/entitlements/index.d.ts +3 -3
  90. package/dist/blocks/entitlements/index.js +1 -1
  91. package/dist/blocks/flags/index.d.ts +4 -4
  92. package/dist/blocks/flags/index.js +4 -3
  93. package/dist/blocks/inbox/index.d.ts +3 -3
  94. package/dist/blocks/inbox/index.js +4 -5
  95. package/dist/blocks/inbox/react/index.d.ts +1 -1
  96. package/dist/blocks/inbox/react/index.js +1 -1
  97. package/dist/blocks/inbox/react/server.d.ts +1 -1
  98. package/dist/blocks/index.d.ts +10 -10
  99. package/dist/blocks/index.js +6 -6
  100. package/dist/blocks/jobs/index.d.ts +48 -32
  101. package/dist/blocks/jobs/index.js +44 -287
  102. package/dist/blocks/knowledge/index.d.ts +3 -3
  103. package/dist/blocks/knowledge/index.js +3 -3
  104. package/dist/blocks/memory/index.d.ts +4 -4
  105. package/dist/blocks/memory/index.js +7 -6
  106. package/dist/blocks/notifications/index.d.ts +11 -9
  107. package/dist/blocks/notifications/index.js +20 -25
  108. package/dist/blocks/notifications/react/index.d.ts +1 -1
  109. package/dist/blocks/notifications/react/index.js +1 -1
  110. package/dist/blocks/onboarding/index.d.ts +3 -3
  111. package/dist/blocks/onboarding/index.js +3 -3
  112. package/dist/blocks/onboarding/react/index.d.ts +2 -2
  113. package/dist/blocks/onboarding/react/index.js +2 -2
  114. package/dist/blocks/onboarding/react/server.d.ts +1 -1
  115. package/dist/blocks/organizations/index.d.ts +9 -9
  116. package/dist/blocks/organizations/index.js +11 -18
  117. package/dist/blocks/outbox/index.d.ts +2 -2
  118. package/dist/blocks/outbox/index.js +16 -25
  119. package/dist/blocks/profiles/index.d.ts +7 -7
  120. package/dist/blocks/profiles/index.js +7 -6
  121. package/dist/blocks/push/index.d.ts +4 -4
  122. package/dist/blocks/push/index.js +3 -3
  123. package/dist/blocks/settings/index.d.ts +4 -4
  124. package/dist/blocks/settings/index.js +7 -6
  125. package/dist/blocks/sso/index.d.ts +5 -5
  126. package/dist/blocks/sso/index.js +6 -5
  127. package/dist/blocks/usage/index.d.ts +3 -3
  128. package/dist/blocks/usage/index.js +5 -4
  129. package/dist/blocks/waitlist/index.d.ts +5 -5
  130. package/dist/blocks/waitlist/index.js +5 -4
  131. package/dist/blocks/webhooks/index.d.ts +22 -13
  132. package/dist/blocks/webhooks/index.js +41 -70
  133. package/dist/blocks/workflow-builder/index.d.ts +4 -4
  134. package/dist/blocks/workflow-builder/index.js +3 -3
  135. package/dist/blocks/workflow-builder/react/index.d.ts +4 -4
  136. package/dist/blocks/workflow-builder/react/index.js +4 -4
  137. package/dist/blocks/workflows/index.d.ts +3 -3
  138. package/dist/blocks/workflows/index.js +3 -3
  139. package/dist/blocks/workflows/react/index.d.ts +3 -3
  140. package/dist/blocks/workflows/react/index.js +3 -3
  141. package/dist/build-hPwk3_X5.js +1296 -0
  142. package/dist/{build-BXIzE6Xv.js → build-meLuYGri.js} +3 -3
  143. package/dist/casing-DdFWEtqr.js +16 -0
  144. package/dist/chat-sdk/index.d.ts +6 -6
  145. package/dist/chat-sdk/index.js +5 -4
  146. package/dist/chat-sdk/react/index.d.ts +1 -1
  147. package/dist/chat-sdk/react/server.d.ts +1 -1
  148. package/dist/{claims-DDBQT6BK.js → claims-0KZVT804.js} +1 -1
  149. package/dist/cli/add-1dc5wM5k.js +69 -0
  150. package/dist/cli/arazzo-1.0-BalU61-_.js +532 -0
  151. package/dist/cli/arazzo-1.1-Bnfasbun.js +705 -0
  152. package/dist/cli/asyncapi-3.0.0-C78dBjR6.js +5593 -0
  153. package/dist/cli/asyncapi-3.1.0-g-7aIfV1.js +5833 -0
  154. package/dist/cli/bin.js +4 -4
  155. package/dist/cli/cache-CIfA-jBV.js +483 -0
  156. package/dist/cli/{codemod-Bl_tQpHn.js → codemod-JVlTQQG2.js} +4 -4
  157. package/dist/cli/{command-CK14fP91.js → command-DV-StG1x.js} +5 -0
  158. package/dist/cli/{config-DU7EJImt.js → config-C2Pz2_4A.js} +7 -4
  159. package/dist/cli/config-DpbF8ML3.js +2 -0
  160. package/dist/cli/{config-NiPxAmUF.js → config-M-WzL9O2.js} +116 -18
  161. package/dist/cli/{db-DOBPt660.js → db-BkcfOlyB.js} +2 -1
  162. package/dist/cli/{diff-SjkO5rNr.js → diff-D1jGdb3Y.js} +1 -1
  163. package/dist/cli/{doctor-DJk0aeBi.js → doctor-VcDtuusV.js} +316 -221
  164. package/dist/cli/emit-BHHfwUoT.js +1136 -0
  165. package/dist/cli/{env-qXgyMV6r.js → env-B--LMhEe.js} +13 -10
  166. package/dist/cli/env-vzBG90Um.js +2 -0
  167. package/dist/cli/{env-CJLbUVPB.js → env-zHJtMIBo.js} +11 -3
  168. package/dist/cli/{errors-4v4DTtda.js → errors-CqTLXe2M.js} +18 -2
  169. package/dist/cli/{fastest-levenshtein-CFN-lNDv.js → fastest-levenshtein-CF7BCi9l.js} +1 -1
  170. package/dist/cli/files-BVupXPIC.js +34 -0
  171. package/dist/cli/gen-DmVj3u4L.js +322 -0
  172. package/dist/cli/{init-BHuEQrQK.js → glue-C1UE8gQN.js} +16 -313
  173. package/dist/cli/index.d.ts +59 -31
  174. package/dist/cli/index.js +8 -6
  175. package/dist/cli/init-CVZ3s5kl.js +258 -0
  176. package/dist/cli/{introspect-DzR2nyQb.js → introspect-BToGNfm-.js} +14 -14
  177. package/dist/cli/{io-DI1mTdSA.js → io-CFzJVJ68.js} +5 -1
  178. package/dist/cli/{keys-BGCnnb-s.js → keys-CJhtIxJ3.js} +4 -4
  179. package/dist/cli/metadata-DSRKCaf-.js +133 -0
  180. package/dist/cli/names-D6LrQnOv.js +6 -0
  181. package/dist/cli/openapi-3.0-t7xwkuRH.js +928 -0
  182. package/dist/cli/openapi-3.1-CVze7tBS.js +870 -0
  183. package/dist/cli/openapi-3.2-CFoMYM01.js +1031 -0
  184. package/dist/cli/{openapi-BlRJ18s3.js → openapi-DWa4Ir1q.js} +8 -14
  185. package/dist/cli/prompts-BdeVmVpg.js +2 -0
  186. package/dist/cli/{prompts-BNcNfAve.js → prompts-DZJB1nTw.js} +6 -6
  187. package/dist/cli/{rolldown-runtime-BPOCksWG.js → rolldown-runtime-CMFfr-1z.js} +3 -1
  188. package/dist/cli/run-DA6_lg3w.js +389 -0
  189. package/dist/cli/run-DuN1MX-7.js +705 -0
  190. package/dist/cli/scaffold-5DenHSxF.js +292 -0
  191. package/dist/cli/scaffold-CwQUMFRb.js +2 -0
  192. package/dist/cli/{seed-DQzqT7LP.js → seed-CzBmrGON.js} +14 -18
  193. package/dist/cli/seed-DOmit9Hq.js +2 -0
  194. package/dist/cli/{skills-QQs4q68J.js → skills-CnO8QFS7.js} +7 -6
  195. package/dist/cli/snapshot-Bstk6ulj.js +287 -0
  196. package/dist/cli/source-args-BYfq6imV.js +31 -0
  197. package/dist/cli/spec-CzosTYm3.js +7438 -0
  198. package/dist/cli/spec-T_0Bcyw7.js +2 -0
  199. package/dist/cli/{sql-B8csQPyn.js → sql-BKOOQAX3.js} +240 -218
  200. package/dist/cli/sql-DJrNDxQm.js +3 -0
  201. package/dist/cli/{style-C0NFdJRL.js → style-CB3vxgh0.js} +3 -3
  202. package/dist/cli/typegen-Demi5-VQ.js +486 -0
  203. package/dist/cli/validate-Ca13ktgz.js +7522 -0
  204. package/dist/cli/{version-59gcepIG.js → version-B4k0aUxS.js} +1 -1
  205. package/dist/client/index.d.ts +4 -3
  206. package/dist/client/index.js +60 -3
  207. package/dist/client/native/index.d.ts +3 -3
  208. package/dist/client/native/index.js +3 -3
  209. package/dist/{client-CI0Z2zWX.js → client-wxeTQFtB.js} +36 -3
  210. package/dist/{clone-BfgmLU90.js → clone-dN9XOL1K.js} +9 -1
  211. package/dist/{cloud-event-BnmD5fb9.js → cloud-event-CTh9Sr5w.js} +16 -2
  212. package/dist/{cloud-event-C1JCc1bH.d.ts → cloud-event-Dune0KI7.d.ts} +16 -2
  213. package/dist/{compiler-DY_wkj4R.d.ts → compiler-V1qvcST1.d.ts} +2 -2
  214. package/dist/{compose-BIBNgAnq.js → compose-BHej1acw.js} +3 -3
  215. package/dist/{composite--yqry7uW.d.ts → composite-CWAJTRBF.d.ts} +6 -6
  216. package/dist/{composite-DXVUibdi.js → composite-zTe0TCqj.js} +4 -4
  217. package/dist/config/index.d.ts +3 -4
  218. package/dist/config/index.js +4 -4
  219. package/dist/config-DlKvtt95.js +540 -0
  220. package/dist/{connector-Dv8kK0MO.d.ts → connector-CySQEFcW.d.ts} +1 -1
  221. package/dist/{connectors-CrpknU0P.d.ts → connectors--PGhmiu0.d.ts} +4 -4
  222. package/dist/{context-BCrWe7ow.d.ts → context-DsV2SueA.d.ts} +11 -2
  223. package/dist/context-nPDvQ-Zl.js +41 -0
  224. package/dist/credentials/index.d.ts +5 -5
  225. package/dist/credentials/index.js +9 -17
  226. package/dist/{cron-DVPUg5k3.js → cron-D25Ukpxy.js} +1 -1
  227. package/dist/cron-route-D2AN9SA1.js +24 -0
  228. package/dist/{csv-DCK-PT1n.js → csv-BZnHA1Py.js} +1 -1
  229. package/dist/{define-B-TVjC25.js → define-CFQcvM20.js} +263 -229
  230. package/dist/{define-CJJkkr1-.d.ts → define-DmcfoNXB.d.ts} +136 -111
  231. package/dist/edge/index.d.ts +66 -13
  232. package/dist/edge/index.js +65 -39
  233. package/dist/elysia/index.d.ts +1 -1
  234. package/dist/elysia/index.js +1 -1
  235. package/dist/{embeddings-C9KGQnXt.d.ts → embeddings-B4vhS-dY.d.ts} +1 -1
  236. package/dist/{ended-XjeGQ5XW.d.ts → ended-CcvcRqEd.d.ts} +7 -1
  237. package/dist/{entitlements-DRl6ZJUm.js → entitlements-BYFf0Cdh.js} +2 -2
  238. package/dist/{entitlements-BKSVGtrG.d.ts → entitlements-Ds8qoYZ-.d.ts} +1 -1
  239. package/dist/env/index.d.ts +1 -1
  240. package/dist/env/index.js +9 -2
  241. package/dist/{errors-B11Duf73.js → errors-2M6CKMP4.js} +5 -0
  242. package/dist/{errors-DLjJHPLK.js → errors-rZ7VIqp6.js} +2 -2
  243. package/dist/{escape-like-ImTK0ps_.d.ts → escape-like-DDWoHzh_.d.ts} +1 -1
  244. package/dist/eve/index.d.ts +5 -5
  245. package/dist/eve/index.js +5 -11
  246. package/dist/{eve-gT2Fpjut.d.ts → eve-CoAIcCkq.d.ts} +2 -2
  247. package/dist/events/index.d.ts +4 -4
  248. package/dist/events/index.js +7 -2
  249. package/dist/{events-DWDhx77e.d.ts → events-D1BOCll8.d.ts} +6 -4
  250. package/dist/{executor-Bq28caBo.js → executor-B-fD7DLt.js} +52 -35
  251. package/dist/executor-B_Hfobee.js +162 -0
  252. package/dist/{executor-BVBFM86G.d.ts → executor-CpxLPCiz.d.ts} +1 -1
  253. package/dist/{executor-CaWigTyR.d.ts → executor-DfEtf0cq.d.ts} +43 -27
  254. package/dist/{executor-DvsBbNBS.d.ts → executor-Drzu3dBK.d.ts} +2 -2
  255. package/dist/{executor-DbvExCFC.d.ts → executor-ngjKL_Pe.d.ts} +2 -2
  256. package/dist/expo/index.d.ts +4 -4
  257. package/dist/expo/index.js +6 -6
  258. package/dist/expo-sqlite/index.d.ts +3 -3
  259. package/dist/expo-sqlite/index.js +2 -2
  260. package/dist/extra-CGQ2_q3S.js +10 -0
  261. package/dist/{field-errors-BFOa7WhB.d.ts → field-errors-DIe9XYWL.d.ts} +17 -7
  262. package/dist/{field-errors-VF1yb8yI.js → field-errors-DZVRWRkf.js} +1 -1
  263. package/dist/format-DTXdu8ya.d.ts +70 -0
  264. package/dist/{framework-BmzgK32X.d.ts → framework-148t1m3C.d.ts} +5 -5
  265. package/dist/{framework-a7aRCIqv.js → framework-3ey3QmrO.js} +2 -2
  266. package/dist/function-contract-BcZenXMO.d.ts +8 -0
  267. package/dist/{gateway-C1ssRHnf.d.ts → gateway-S9vicgeo.d.ts} +4 -4
  268. package/dist/{guards-BnzDvFrz.js → guards-6F2bCtQR.js} +3 -1
  269. package/dist/h3/index.d.ts +1 -1
  270. package/dist/h3/index.js +1 -1
  271. package/dist/h3/v1/index.d.ts +1 -1
  272. package/dist/h3/v1/index.js +1 -1
  273. package/dist/{message-CaKlqdsX.js → history-GH1HJWQV.js} +65 -13
  274. package/dist/hmac-DCud0myt.js +22 -0
  275. package/dist/hono/index.d.ts +19 -14
  276. package/dist/hono/index.js +21 -16
  277. package/dist/{hooks-1BTCJsiw.js → hooks-Bhza9Hnr.js} +68 -100
  278. package/dist/http-sbmBe5d2.js +25 -0
  279. package/dist/{inbox-i7E1ppo6.d.ts → inbox-Cd1KCEBL.d.ts} +3 -3
  280. package/dist/index-B72Rvv_j.d.ts +89 -0
  281. package/dist/{index-DunNRdnT.d.ts → index-BCHR4Ucl.d.ts} +4 -4
  282. package/dist/{index-CLg87OBW.d.ts → index-BUK7jUzR.d.ts} +6 -0
  283. package/dist/{config-D44Y7PAv.d.ts → index-Ba1SI-uO.d.ts} +625 -278
  284. package/dist/{index-D48jVS-N.d.ts → index-BfxOaOYs.d.ts} +4 -5
  285. package/dist/{index-ClmjK_o-.d.ts → index-CicIyqOe.d.ts} +4 -4
  286. package/dist/{index-ACiNPN4Z.d.ts → index-D69h4QqD.d.ts} +1 -1
  287. package/dist/index-DG2SUXDQ.d.ts +58 -0
  288. package/dist/{index-Bepi-Hgg.d.ts → index-DoNVLHOU.d.ts} +3 -3
  289. package/dist/{index-CdZKQF98.d.ts → index-R274XFlg.d.ts} +1 -1
  290. package/dist/{index-CewnYSpv.d.ts → index-_4R4b01v.d.ts} +8 -18
  291. package/dist/index.d.ts +89 -14
  292. package/dist/index.js +12 -11
  293. package/dist/{json-schema-CvER4kgT.js → json-schema-CT4tvrkA.js} +148 -102
  294. package/dist/{kit-Fm-Fv7q5.js → kit-BhHr9T9v.js} +36 -10
  295. package/dist/{kit-CkNzZUqv.d.ts → kit-W99LCPBS.d.ts} +13 -7
  296. package/dist/{knowledge-BXBbT0Tr.d.ts → knowledge-CAReFpRA.d.ts} +5 -5
  297. package/dist/{knowledge-CDmiMLew.js → knowledge-DnHtb64A.js} +4 -3
  298. package/dist/list/index.d.ts +1 -2
  299. package/dist/{list-query-BRt-zDF7.d.ts → list-query-D3JQeEL7.d.ts} +4 -4
  300. package/dist/mcp/index.d.ts +49 -19
  301. package/dist/mcp/index.js +158 -94
  302. package/dist/mcp/sdk/index.d.ts +38 -6
  303. package/dist/mcp/sdk/index.js +88 -6
  304. package/dist/{message-CfDoR0Y6.d.ts → message-B0fNJgq8.d.ts} +1 -2
  305. package/dist/{messages-B9-5887d.js → messages-CJoHHCWT.js} +4 -205
  306. package/dist/{mfa-Daak8ukG.d.ts → mfa-SZc9YYyb.d.ts} +1 -1
  307. package/dist/model-OgBxvk3N.d.ts +300 -0
  308. package/dist/model-messages-Cxw_Up4f.js +206 -0
  309. package/dist/model-messages-D4GZllOD.d.ts +34 -0
  310. package/dist/modules-DksjZyMW.js +77 -0
  311. package/dist/nestjs/index.d.ts +2 -2
  312. package/dist/nestjs/index.js +1 -1
  313. package/dist/next/index.d.ts +105 -55
  314. package/dist/next/index.js +204 -170
  315. package/dist/node/index.d.ts +2 -2
  316. package/dist/node/index.js +1 -1
  317. package/dist/{onboarding-BZGHYJks.d.ts → onboarding-LZvlK1P4.d.ts} +3 -3
  318. package/dist/openapi/index.d.ts +4 -2
  319. package/dist/openapi/index.js +21 -343
  320. package/dist/optional-peer-D1pi-skw.js +24 -0
  321. package/dist/orpc/index.d.ts +8 -8
  322. package/dist/orpc/index.js +21 -20
  323. package/dist/otel/index.d.ts +3 -3
  324. package/dist/otel/index.js +7 -7
  325. package/dist/{outbox-Cq7pPYvl.d.ts → outbox-DZfAvfzC.d.ts} +6 -6
  326. package/dist/overlay/index.d.ts +233 -0
  327. package/dist/overlay/index.js +554 -0
  328. package/dist/{plugin-FGY8UhYm.d.ts → plugin-CPK2HsbY.d.ts} +42 -3
  329. package/dist/plugins/actor/index.d.ts +1 -1
  330. package/dist/plugins/actor/index.js +1 -1
  331. package/dist/plugins/rules/index.d.ts +2 -2
  332. package/dist/plugins/rules/index.js +1 -1
  333. package/dist/plugins/soft-delete/index.d.ts +3 -3
  334. package/dist/plugins/soft-delete/index.js +9 -2
  335. package/dist/plugins/tenant/index.d.ts +7 -2
  336. package/dist/plugins/tenant/index.js +16 -2
  337. package/dist/plugins/timestamps/index.d.ts +1 -1
  338. package/dist/plugins/timestamps/index.js +8 -1
  339. package/dist/plugins/validation/index.d.ts +2 -2
  340. package/dist/plugins/validation/index.js +4 -4
  341. package/dist/{pool-CAu2nLrL.d.ts → pool-gkhbGp2E.d.ts} +2 -2
  342. package/dist/postgres/index.d.ts +4 -4
  343. package/dist/postgres/index.js +2 -1
  344. package/dist/{postgrest-BLVdEnfe.d.ts → postgrest-BUqLag2Q.d.ts} +1 -1
  345. package/dist/powersync/index.d.ts +5 -5
  346. package/dist/powersync/index.js +4 -4
  347. package/dist/powersync/react/index.d.ts +3 -3
  348. package/dist/powersync/react/index.js +1 -1
  349. package/dist/{problem-BreOl8b8.js → problem-CJvFeGu7.js} +13 -2
  350. package/dist/{problem-DD8LZFjc.d.ts → problem-TvGdxO1t.d.ts} +7 -1
  351. package/dist/{provider-Di3sRutW.js → provider-DxRTex4x.js} +1 -1
  352. package/dist/{provider-D-UEMvSD.d.ts → provider-ib9wzUDz.d.ts} +2 -2
  353. package/dist/query/index.d.ts +2 -2
  354. package/dist/query/index.js +1 -1
  355. package/dist/{query-BQ-NaZon.js → query-Ctz-qKRx.js} +1 -1
  356. package/dist/rate-limit-Bw7HgmFj.js +260 -0
  357. package/dist/react/index.d.ts +9 -9
  358. package/dist/react/index.js +4 -4
  359. package/dist/react/native/index.d.ts +1 -1
  360. package/dist/react/native/index.js +2 -2
  361. package/dist/react/server.d.ts +10 -10
  362. package/dist/react/server.js +3 -3
  363. package/dist/react/session.d.ts +2 -2
  364. package/dist/{react-F80mF4-t.js → react-Bmpo59D7.js} +4 -4
  365. package/dist/react-router/index.d.ts +6 -6
  366. package/dist/react-router/index.js +9 -11
  367. package/dist/{read-set-DuKWC9Mj.js → read-set-DAeWhqPf.js} +2 -2
  368. package/dist/realtime/index.d.ts +3 -3
  369. package/dist/realtime/index.js +30 -36
  370. package/dist/{refusal-DhSU2Vvr.d.ts → refusal-CFI8-5nf.d.ts} +4 -1
  371. package/dist/{refusal-CeJWxmkH.js → refusal-K78A1Vmq.js} +5 -5
  372. package/dist/{resolve-tJZY3FEa.js → resolve-Bvgf3ut_.js} +131 -42
  373. package/dist/{resolve-ChTYeTEl.d.ts → resolve-MxXVWyhd.d.ts} +12 -8
  374. package/dist/resource--vTrBe6I.d.ts +103 -0
  375. package/dist/resource-BqNqlYg9.js +91 -0
  376. package/dist/resource-DA811u_4.js +463 -0
  377. package/dist/resource-execute-rbKvuCsY.d.ts +12 -0
  378. package/dist/resource-schemas-BJ518zFH.js +79 -0
  379. package/dist/resource-types-CqB6GWGT.d.ts +141 -0
  380. package/dist/resources-BVYPnuLo.js +56 -0
  381. package/dist/resources-DZSk8tXJ.d.ts +7 -0
  382. package/dist/{respond-DprrgyXX.d.ts → respond-Cw-zanCm.d.ts} +3 -3
  383. package/dist/{respond-BUgsXNgk.js → respond-volM3ByS.js} +4 -4
  384. package/dist/{result-D7y2fT87.d.ts → result-BchM1XZn.d.ts} +7 -1
  385. package/dist/{result-DzUbqgdW.js → result-DEqHCMKP.js} +1 -1
  386. package/dist/server/index.d.ts +81 -19
  387. package/dist/server/index.js +16 -14
  388. package/dist/{server-Bh0EVSwU.d.ts → server-types-CrAmZ8jv.d.ts} +92 -36
  389. package/dist/{shared-CxWmcyqB.js → shared-DHjhfRdV.js} +2 -15
  390. package/dist/shared-DTneRoxi.js +14 -0
  391. package/dist/{sign-in-Cb1mwv6X.js → sign-in-D_yoP0PF.js} +1 -1
  392. package/dist/signatures-BRS_p3WD.d.ts +34 -0
  393. package/dist/signatures-DsWv_bYR.js +103 -0
  394. package/dist/{signers-4y62_VIi.d.ts → signers-cpdmZYrv.d.ts} +1 -1
  395. package/dist/solid/index.d.ts +9 -18
  396. package/dist/solid/index.js +2 -2
  397. package/dist/solid-start/index.d.ts +6 -6
  398. package/dist/solid-start/index.js +7 -7
  399. package/dist/spec/index.d.ts +134 -0
  400. package/dist/spec/index.js +353 -0
  401. package/dist/{spec-pins-C89s6DyW.d.ts → spec-pins-CwzDY25w.d.ts} +18 -1
  402. package/dist/{spec-pins--j6mTok4.js → spec-pins-DsLfUH7l.js} +14 -1
  403. package/dist/sql/index.d.ts +145 -119
  404. package/dist/sql/index.js +19921 -19798
  405. package/dist/{executor-De1Of3m3.js → sql-CwuqaQ4Y.js} +34 -169
  406. package/dist/ssr/index.d.ts +4 -4
  407. package/dist/ssr/index.js +3 -2
  408. package/dist/{standard-BK0cqJ7y.js → standard-DkzZUneg.js} +2 -2
  409. package/dist/{standard-CYsm7xpT.d.ts → standard-lmkbOtPB.d.ts} +1 -1
  410. package/dist/{stats-D_AD9GGu.js → stats-DhU78Ctf.js} +8 -4
  411. package/dist/storage/index.d.ts +4 -6
  412. package/dist/storage/index.js +16 -17
  413. package/dist/{bucket-Cl46E3jS.d.ts → storage-api-CB7Zl1Ci.d.ts} +243 -8
  414. package/dist/{store-CGjgWu5n.d.ts → store-DsIYEBnv.d.ts} +1 -1
  415. package/dist/streams/index.d.ts +4 -4
  416. package/dist/streams/index.js +5 -4
  417. package/dist/streams/redis/index.d.ts +1 -1
  418. package/dist/streams/redis/index.js +5 -11
  419. package/dist/{stripe-BMj5LtsT.js → stripe-v-Y2lmop.js} +2 -8
  420. package/dist/supabase-mcp-C6tMoEjn.d.ts +43 -0
  421. package/dist/supabase-mcp-Cpn5A4i-.js +28 -0
  422. package/dist/{support-ig_K4PvS.js → support-D1pFFouF.js} +71 -35
  423. package/dist/{support-view-CVOJJLpc.d.ts → support-view-scqMgtOo.d.ts} +1 -1
  424. package/dist/svelte/index.d.ts +8 -17
  425. package/dist/svelte/index.js +2 -2
  426. package/dist/sveltekit/index.d.ts +7 -7
  427. package/dist/sveltekit/index.js +10 -12
  428. package/dist/table-schema-htM_SbCW.js +286 -0
  429. package/dist/{tags-Cx-LnIQP.d.ts → tags-BO9LjtWG.d.ts} +1 -1
  430. package/dist/tanstack-db/index.d.ts +2 -2
  431. package/dist/tanstack-db/supabase/index.d.ts +52 -0
  432. package/dist/tanstack-db/supabase/index.js +97 -0
  433. package/dist/tanstack-start/index.d.ts +6 -6
  434. package/dist/tanstack-start/index.js +8 -12
  435. package/dist/{tee-CoEppCER.js → tee-Cb98Vn3b.js} +1 -1
  436. package/dist/{template--jDkl3UP.js → template-lPVh-EwW.js} +11 -2
  437. package/dist/{temporal-required-BVvW7SYJ.js → temporal-required-BtynQtM-.js} +1 -1
  438. package/dist/{tenant-BxNFk9bx.d.ts → tenant-CM368LXb.d.ts} +2 -2
  439. package/dist/testing/index.d.ts +249 -118
  440. package/dist/testing/index.js +1418 -870
  441. package/dist/ttl-cache-XzZ-Q2eX.js +29 -0
  442. package/dist/types-BRTSpOIh.js +5 -0
  443. package/dist/{types-C05bxW-W.d.ts → types-Bb_4-vdW.d.ts} +4 -4
  444. package/dist/{types-AYOvcyep.d.ts → types-CD6yCDx3.d.ts} +5 -5
  445. package/dist/{types-6rocye-y.d.ts → types-CbOUc5IH.d.ts} +4 -4
  446. package/dist/{types-6BdhkmZe.d.ts → types-CoE5Zwy4.d.ts} +8 -0
  447. package/dist/{types-DGs5L0VN.d.ts → types-DSJ3-m9X.d.ts} +4 -4
  448. package/dist/{queue-CLJurhdy.d.ts → types-D__3EN0q.d.ts} +17 -19
  449. package/dist/{usage-CrvrL2vw.d.ts → usage-D0NNUFfr.d.ts} +3 -3
  450. package/dist/{vault-wlbBhqm7.d.ts → vault-BpmApxxW.d.ts} +3 -3
  451. package/dist/vercel-connect/index.d.ts +1 -1
  452. package/dist/vercel-connect/index.js +5 -11
  453. package/dist/{verify-DPuWngD4.d.ts → verify-C91Wyp40.d.ts} +5 -35
  454. package/dist/verify-CJbYfADA.js +124 -0
  455. package/dist/{version-C6OfRAIn.js → version-Cq8gfDbd.js} +1 -1
  456. package/dist/{view-BeFcRV6G.js → view-D5ryq3gz.js} +1 -1
  457. package/dist/{view-CF7ihnkg.d.ts → view-TpXEUcVN.d.ts} +3 -3
  458. package/dist/vue/index.d.ts +9 -18
  459. package/dist/vue/index.js +2 -2
  460. package/dist/{watch-Xuxrvxq-.js → watch-BcvtAHOd.js} +2 -2
  461. package/dist/{watch-DI34G86j.d.ts → watch-COzRWvVN.d.ts} +23 -9
  462. package/dist/{wire-DtZQ4sdE.js → wire-Df3EWkG8.js} +2 -2
  463. package/dist/{workflow-builder-DJ1oHn8g.js → workflow-builder-CHqHpAVt.js} +6 -5
  464. package/dist/workflow-sdk/builder/index.d.ts +3 -3
  465. package/dist/workflow-sdk/index.d.ts +1 -1
  466. package/dist/workflow-sdk/world/index.d.ts +23 -17
  467. package/dist/workflow-sdk/world/index.js +59 -76
  468. package/dist/{workflow-sdk-B3yLD6Br.d.ts → workflow-sdk-DTZyrvNo.d.ts} +3 -3
  469. package/dist/{workflow-sdk-world-D-prir6O.js → workflow-sdk-world-CMV1ahFW.js} +528 -526
  470. package/dist/{workflows-B0j9WKPu.d.ts → workflows-CcpCBfIe.d.ts} +3 -3
  471. package/dist/{workflows-wu1WWBn7.js → workflows-IvxzG2cl.js} +5 -4
  472. package/package.json +54 -3
  473. package/schemas/config-v1.json +243 -0
  474. package/schemas/doctor-report-v1.json +4 -1
  475. package/schemas/spec-manifest-v1.json +95 -0
  476. package/skills/better-supabase/SKILL.md +8 -4
  477. package/skills/better-supabase/references/troubleshooting.md +20 -20
  478. package/skills/better-supabase-api/references/expo.md +6 -3
  479. package/skills/better-supabase-api/references/powersync.md +2 -1
  480. package/dist/cli/config-B9HkL8nF.js +0 -2
  481. package/dist/cli/gen-CCMc39Dx.js +0 -3100
  482. package/dist/cli/gen-DRmzPI75.js +0 -2
  483. package/dist/cli/prompts-BTYQGunc.js +0 -2
  484. package/dist/cli/run-BqDPh9UH.js +0 -361
  485. package/dist/config-Dn7F5k9A.js +0 -202
  486. package/dist/history-BZih6SFP.js +0 -64
  487. package/dist/index-BkWT_uBO.d.ts +0 -51
  488. package/dist/index-Bxih3l0u.d.ts +0 -81
  489. package/dist/index-CaxrMD1A.d.ts +0 -1
  490. package/dist/index-DQh4VCc9.d.ts +0 -98
  491. package/dist/keys-4MnkWTTh.js +0 -35
  492. package/dist/messages-DYP0sUTe.d.ts +0 -59
  493. package/dist/modules-dxrVK3ID.js +0 -228
  494. package/dist/path-Cv__-OTj.d.ts +0 -17
  495. package/dist/resource-BsvzCMlX.js +0 -212
  496. package/dist/resource-IPS5xi9q.d.ts +0 -74
  497. package/dist/template-CwO38Do8.d.ts +0 -6
  498. package/dist/verify-DL41hbvY.js +0 -232
  499. package/dist/cli/{read-sets-CETOSFx4.js → read-sets-DjJrm8Wj.js} +1 -1
@@ -1,15 +1,16 @@
1
1
  import { t as DbException } from "../../db-exception-CnWcYPxL.js";
2
- import { n as dbError } from "../../errors-B11Duf73.js";
2
+ import { n as dbError } from "../../errors-2M6CKMP4.js";
3
3
  import { s as nowInstant } from "../../temporal-BJGitm-h.js";
4
- import { t as temporal } from "../../temporal-required-BVvW7SYJ.js";
5
- import { a as ok, r as err, s as toDbError, t as AsyncResult } from "../../result-DzUbqgdW.js";
4
+ import { t as temporal } from "../../temporal-required-BtynQtM-.js";
5
+ import { a as ok, r as err, s as toDbError, t as AsyncResult } from "../../result-DEqHCMKP.js";
6
6
  import { n as allTenantsContext } from "../../plugin-tfXW1-qO.js";
7
- import { n as validate } from "../../standard-BK0cqJ7y.js";
8
- import { a as problemResponse } from "../../problem-BreOl8b8.js";
7
+ import { n as validate } from "../../standard-DkzZUneg.js";
8
+ import { o as problemResponse } from "../../problem-CJvFeGu7.js";
9
9
  import { o as tenantFrom, s as tenantPathsFor } from "../../claims-PqzCxaTD.js";
10
- import { n as nextCronRun, t as assertCron } from "../../cron-DVPUg5k3.js";
11
- import { A as workerId, C as run, E as sleep, c as errorText, d as isRecord, g as pageOf, i as blockCall, k as toInstant, n as applyTemporal, v as readBodyCapped, w as seconds } from "../../block-helpers-DWHxHsEQ.js";
12
- import { d as verifyWebhook, l as verifySharedSecret } from "../../verify-DL41hbvY.js";
10
+ import { t as cronRoute } from "../../cron-route-D2AN9SA1.js";
11
+ import { n as nextCronRun, t as assertCron } from "../../cron-D25Ukpxy.js";
12
+ import { D as seconds, E as run, N as toInstant, a as budget, f as leaseHeartbeat, k as sleep, l as errorText, n as applyTemporal, y as pageOf } from "../../block-helpers-Cy3pB96I.js";
13
+ import { i as createWebhookInbox, r as rateLimited, t as createRateLimit } from "../../rate-limit-Bw7HgmFj.js";
13
14
  import { n as withContext, t as unwrap } from "../../envelope-DqnYGRw7.js";
14
15
  //#region src/blocks/jobs/dev.ts
15
16
  function devDrainSecret(env, name = "CRON_SECRET") {
@@ -55,7 +56,7 @@ function devDrain(options) {
55
56
  };
56
57
  }
57
58
  //#endregion
58
- //#region src/blocks/jobs/jobs.ts
59
+ //#region src/blocks/jobs/idempotency.ts
59
60
  async function sha256(text) {
60
61
  const digest = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(text));
61
62
  return Array.from(new Uint8Array(digest), (byte) => byte.toString(16).padStart(2, "0")).join("");
@@ -181,6 +182,8 @@ function createIdempotency(sql, options = {}) {
181
182
  }
182
183
  };
183
184
  }
185
+ //#endregion
186
+ //#region src/blocks/jobs/lease.ts
184
187
  /**
185
188
  * Runs `fn` while holding the lease on `key`, one holder at a time, and
186
189
  * releases it afterwards, also when `fn` throws. `{ acquired: false }` while
@@ -224,194 +227,6 @@ function withLease(sql, key, fn, options = {}) {
224
227
  }
225
228
  });
226
229
  }
227
- function defaultType(payload) {
228
- if (typeof payload !== "object" || payload === null) return null;
229
- const type = payload.type;
230
- return typeof type === "string" ? type : null;
231
- }
232
- /** Store-then-process webhooks: acknowledge fast, process with retries, never twice. */
233
- function createWebhookInbox(sql, options) {
234
- applyTemporal(options);
235
- const worker = options.worker ?? workerId();
236
- const format = options.problem;
237
- const maxAttempts = options.maxAttempts ?? 8;
238
- if (!Number.isInteger(maxAttempts) || maxAttempts < 1) throw new TypeError(`createWebhookInbox maxAttempts must be a positive integer, not ${String(maxAttempts)}`);
239
- const maxBodyBytes = options.maxBodyBytes ?? 1048576;
240
- if (!Number.isInteger(maxBodyBytes) || maxBodyBytes < 1) throw new TypeError(`createWebhookInbox maxBodyBytes must be a positive integer, not ${String(maxBodyBytes)}`);
241
- const verified = async (request, body) => {
242
- if (options.verify) return options.verify(request, body);
243
- const result = await verifyWebhook({
244
- headers: request.headers,
245
- body
246
- }, options.secrets ?? []);
247
- return result.ok ? ok({
248
- id: result.data.id,
249
- payload: result.data.payload
250
- }) : result;
251
- };
252
- const save = (event) => run(async () => {
253
- const [row] = await sql.queryRaw("select * from better_supabase.receive_webhook($1, $2, $3, $4, $5, $6, $7)", [
254
- options.source,
255
- event.id,
256
- event.type === void 0 ? (options.typeOf ?? defaultType)(event.payload) : event.type,
257
- JSON.stringify(event.payload),
258
- JSON.stringify(event.headers ?? {}),
259
- (event.tenant === void 0 ? options.tenantOf?.(event.payload) : event.tenant) ?? null,
260
- maxAttempts
261
- ]);
262
- return {
263
- id: Number(row.id),
264
- duplicate: row.duplicate
265
- };
266
- });
267
- return {
268
- store: save,
269
- list: (listOptions) => run(async () => {
270
- return (await sql.queryRaw("select * from better_supabase.list_webhooks($1, $2, $3, $4)", [
271
- listOptions.tenant,
272
- options.source,
273
- listOptions.status ?? null,
274
- listOptions.limit ?? 100
275
- ])).map((row) => ({
276
- id: Number(row.id),
277
- messageId: row.message_id,
278
- type: row.event_type,
279
- status: row.status ?? "pending",
280
- attempts: row.attempts,
281
- maxAttempts: row.max_attempts ?? maxAttempts,
282
- lastError: row.last_error ?? null,
283
- tenant: row.tenant ?? null,
284
- receivedAt: toInstant(row.received_at),
285
- processedAt: row.processed_at === null || row.processed_at === void 0 ? null : toInstant(row.processed_at)
286
- }));
287
- }),
288
- purge: (purgeOptions = {}) => run(async () => {
289
- const [row] = await sql.queryRaw("select better_supabase.purge_webhooks($1::interval, $2, $3, $4) as purged", [
290
- seconds(purgeOptions.olderThan ?? "30 days"),
291
- purgeOptions.includeDead ?? false,
292
- purgeOptions.batch ?? 1e4,
293
- purgeOptions.tenant ?? null
294
- ]);
295
- return row?.purged ?? 0;
296
- }),
297
- async receive(request) {
298
- const instance = new URL(request.url).pathname;
299
- if (request.method !== "POST") return new Response(null, {
300
- status: 405,
301
- headers: { allow: "POST" }
302
- });
303
- if (!options.verify && !options.secrets) throw new TypeError(`The inbox for "${options.source}" has no \`secrets\` or \`verify\`, so it only stores events through \`store\``);
304
- const body = await readBodyCapped(request.clone(), maxBodyBytes);
305
- if (body === void 0) return problemResponse({
306
- ...dbError("invalid_input", "The body is too large", { code: "WEBHOOK_TOO_LARGE" }),
307
- status: 413
308
- }, {
309
- instance,
310
- format
311
- });
312
- const message = await verified(request, body);
313
- if (!message.ok) return problemResponse(message.error, {
314
- instance,
315
- format
316
- });
317
- const headers = Object.fromEntries((options.keepHeaders ?? []).flatMap((name) => {
318
- const value = request.headers.get(name);
319
- return value === null ? [] : [[name.toLowerCase(), value]];
320
- }));
321
- const stored = await save({
322
- id: message.data.id,
323
- payload: message.data.payload,
324
- headers,
325
- ...message.data.tenant === void 0 ? {} : { tenant: message.data.tenant }
326
- });
327
- if (!stored.ok) return problemResponse(stored.error, {
328
- instance,
329
- format
330
- });
331
- return Response.json(stored.data, { status: stored.data.duplicate ? 200 : 202 });
332
- },
333
- async process(handler, processOptions = {}) {
334
- let succeeded = 0;
335
- let failed = 0;
336
- const lease = seconds(processOptions.lease ?? 300);
337
- const deadline = processOptions.budgetMs === void 0 ? void 0 : Date.now() + processOptions.budgetMs;
338
- for (;;) {
339
- if (deadline !== void 0 && Date.now() >= deadline) return {
340
- succeeded,
341
- failed
342
- };
343
- const rows = await sql.queryRaw("select * from better_supabase.claim_webhooks($1, $2, $3, $4::interval)", [
344
- options.source,
345
- worker,
346
- processOptions.batch ?? 10,
347
- lease
348
- ]);
349
- if (rows.length === 0) return {
350
- succeeded,
351
- failed
352
- };
353
- for (const row of rows) {
354
- const id = Number(row.id);
355
- const attempt = row.attempts;
356
- const extend = async () => {
357
- const [held] = await sql.queryRaw("select better_supabase.extend_webhook($1, $2, $3, $4::interval) as lease", [
358
- id,
359
- worker,
360
- attempt,
361
- lease
362
- ]);
363
- return held?.lease ?? void 0;
364
- };
365
- const leaseSeconds = await extend();
366
- if (leaseSeconds === void 0) continue;
367
- const message = {
368
- id,
369
- source: row.source,
370
- messageId: row.message_id,
371
- type: row.event_type,
372
- payload: row.payload,
373
- headers: row.headers,
374
- attempts: row.attempts,
375
- maxAttempts: row.max_attempts ?? maxAttempts,
376
- receivedAt: toInstant(row.received_at),
377
- tenant: row.tenant ?? null,
378
- progress: row.checkpoint ?? {},
379
- async checkpoint(fields) {
380
- const [saved] = await sql.queryRaw("select better_supabase.checkpoint_webhook($1, $2, $3, $4) as saved", [
381
- id,
382
- worker,
383
- JSON.stringify(fields),
384
- attempt
385
- ]);
386
- return saved?.saved ?? false;
387
- }
388
- };
389
- const heartbeat = setInterval(() => void extend().catch(() => void 0), Math.max(1e3, leaseSeconds * 500));
390
- try {
391
- const outcome = await handler(message);
392
- if (typeof outcome === "object" && outcome !== null && "ok" in outcome && outcome.ok === false) throw new Error(errorText(outcome.error ?? "The handler failed"));
393
- const [done] = await sql.queryRaw("select better_supabase.complete_webhook($1, $2, $3) as done", [
394
- message.id,
395
- worker,
396
- attempt
397
- ]);
398
- if (done?.done !== false) succeeded += 1;
399
- } catch (cause) {
400
- await sql.queryRaw("select better_supabase.fail_webhook($1, $2, $3, null, $4)", [
401
- message.id,
402
- worker,
403
- errorText(cause),
404
- attempt
405
- ]);
406
- failed += 1;
407
- } finally {
408
- clearInterval(heartbeat);
409
- }
410
- }
411
- }
412
- }
413
- };
414
- }
415
230
  //#endregion
416
231
  //#region src/blocks/jobs/backends.ts
417
232
  const instantOrNull = (value) => value === null ? null : toInstant(value);
@@ -421,9 +236,9 @@ const millis = (instant) => instant.round({
421
236
  roundingMode: "floor"
422
237
  });
423
238
  /** The first run of a schedule written without one, or undefined for a cron the drain can't read. */
424
- function firstRun(row) {
239
+ function firstRun(row, now) {
425
240
  try {
426
- return millis(nextCronRun(row.schedule, row.timezone, row.first_after ? toInstant(row.first_after) : nowInstant()));
241
+ return millis(nextCronRun(row.schedule, row.timezone, row.first_after ? toInstant(row.first_after) : now()));
427
242
  } catch {
428
243
  return;
429
244
  }
@@ -431,9 +246,9 @@ function firstRun(row) {
431
246
  /**
432
247
  * The `jobs` SQL module over a service SQL connection. The same
433
248
  * functions back both `sql.modules.jobs.options.backend` values (pgmq and table)
434
- * and both schedulers.
249
+ * and both schedulers. `now` dates a schedule's first run.
435
250
  */
436
- function sqlQueueBackend(sql) {
251
+ function sqlQueueBackend(sql, now = nowInstant) {
437
252
  return {
438
253
  apiVersion: 1,
439
254
  name: "sql",
@@ -558,9 +373,9 @@ function sqlQueueBackend(sql) {
558
373
  });
559
374
  continue;
560
375
  }
561
- const first = firstRun(row);
376
+ const first = firstRun(row, now);
562
377
  if (first === void 0) continue;
563
- if (temporal().Instant.compare(first, nowInstant()) <= 0) due.push({
378
+ if (temporal().Instant.compare(first, now()) <= 0) due.push({
564
379
  ...schedule,
565
380
  nextRun: first
566
381
  });
@@ -680,9 +495,9 @@ function isBackend(source) {
680
495
  function isSqlClient(source) {
681
496
  return typeof source.queryRaw === "function";
682
497
  }
683
- function backendOf(source) {
498
+ function backendOf(source, now) {
684
499
  if (isBackend(source)) return source;
685
- return isSqlClient(source) ? sqlQueueBackend(source) : pgmqPublicBackend(source);
500
+ return isSqlClient(source) ? sqlQueueBackend(source, now) : pgmqPublicBackend(source);
686
501
  }
687
502
  const later = (a, b) => temporal().Instant.compare(a, b) >= 0 ? a : b;
688
503
  /**
@@ -696,8 +511,9 @@ const later = (a, b) => temporal().Instant.compare(a, b) >= 0 ? a : b;
696
511
  */
697
512
  function createJobs(source, queues, options = {}) {
698
513
  applyTemporal(options);
514
+ const now = options.now ?? nowInstant;
699
515
  for (const name of Object.keys(queues)) if (!QUEUE_NAME.test(name)) throw new TypeError(`Queue "${name}": pgmq queue names are lowercase letters, digits and underscores (at most 47)`);
700
- const transport = backendOf(source);
516
+ const transport = backendOf(source, now);
701
517
  const schemaOf = (queue) => {
702
518
  const schema = queues[queue];
703
519
  if (!schema) throw new TypeError(`Unknown queue "${queue}". Queues: ${Object.keys(queues).join(", ")}`);
@@ -713,9 +529,9 @@ function createJobs(source, queues, options = {}) {
713
529
  * Extends the lease of every job in `held` at half the lease, so jobs
714
530
  * waiting their turn in a claimed batch don't expire before they run.
715
531
  */
716
- const heartbeat = (held, lease) => transport.leases ? setInterval(() => {
532
+ const heartbeat = (held, lease) => transport.leases ? leaseHeartbeat(lease, () => {
717
533
  for (const job of held) run(() => transport.extend(job, lease));
718
- }, Math.max(1e3, lease * 1e3 / 2)) : void 0;
534
+ }) : void 0;
719
535
  const handle = async (job, handler, workOptions) => {
720
536
  const controller = new AbortController();
721
537
  try {
@@ -741,7 +557,7 @@ function createJobs(source, queues, options = {}) {
741
557
  return false;
742
558
  }
743
559
  };
744
- const loop = async (queue, handler, workOptions, forever, deadline) => {
560
+ const loop = async (queue, handler, workOptions, forever, spent = budget(void 0)) => {
745
561
  const concurrency = Math.max(1, workOptions.concurrency ?? 1);
746
562
  const lease = workOptions.lease ?? 300;
747
563
  const firstWait = workOptions.pollInterval ?? 1e3;
@@ -754,7 +570,7 @@ function createJobs(source, queues, options = {}) {
754
570
  let wait = firstWait;
755
571
  let misses = 0;
756
572
  while (!signal.aborted) {
757
- if (deadline !== void 0 && Date.now() >= deadline) return;
573
+ if (spent.expired()) return;
758
574
  const claimed = await claim(queue, {
759
575
  ...workOptions,
760
576
  batch: workOptions.batch ?? 1
@@ -765,8 +581,7 @@ function createJobs(source, queues, options = {}) {
765
581
  stop.abort();
766
582
  throw new TypeError(claimed.error.message, { cause: claimed.error });
767
583
  }
768
- const left = deadline === void 0 ? Infinity : deadline - Date.now();
769
- await sleep(Math.min(firstWait * 2 ** (misses - 1), left), signal);
584
+ await sleep(Math.min(firstWait * 2 ** (misses - 1), spent.remaining()), signal);
770
585
  continue;
771
586
  }
772
587
  misses = 0;
@@ -778,7 +593,7 @@ function createJobs(source, queues, options = {}) {
778
593
  }
779
594
  wait = firstWait;
780
595
  const held = new Set(claimed.data);
781
- const timer = heartbeat(held, lease);
596
+ const stopHeartbeat = heartbeat(held, lease);
782
597
  try {
783
598
  for (const job of claimed.data) {
784
599
  if (await handle(job, handler, workOptions)) succeeded += 1;
@@ -786,7 +601,7 @@ function createJobs(source, queues, options = {}) {
786
601
  held.delete(job);
787
602
  }
788
603
  } finally {
789
- clearInterval(timer);
604
+ stopHeartbeat?.();
790
605
  }
791
606
  }
792
607
  });
@@ -803,7 +618,7 @@ function createJobs(source, queues, options = {}) {
803
618
  let ran = 0;
804
619
  for (const schedule of due) {
805
620
  await transport.send(schedule.queue, schedule.payload, 0, 5, `schedule:${schedule.name}:${schedule.nextRun.toString()}`);
806
- const next = millis(nextCronRun(schedule.cron, schedule.timeZone, later(nowInstant(), schedule.nextRun)));
621
+ const next = millis(nextCronRun(schedule.cron, schedule.timeZone, later(now(), schedule.nextRun)));
807
622
  if (await transport.advanceSchedule(schedule.name, schedule.nextRun, next)) ran += 1;
808
623
  }
809
624
  return ran;
@@ -813,7 +628,7 @@ function createJobs(source, queues, options = {}) {
813
628
  if (!valid.ok) return valid;
814
629
  const timeZone = scheduleOptions.timeZone ?? "UTC";
815
630
  try {
816
- nextCronRun(cron, timeZone, nowInstant());
631
+ nextCronRun(cron, timeZone, now());
817
632
  } catch (cause) {
818
633
  return err(dbError("validation", errorText(cause), { issues: [{
819
634
  message: errorText(cause),
@@ -829,13 +644,13 @@ function createJobs(source, queues, options = {}) {
829
644
  tenant: scheduleOptions.tenant ?? (scheduleOptions.context ? tenantFrom(scheduleOptions.context, tenantPathsFor(void 0)) : void 0) ?? tenantDefault
830
645
  });
831
646
  };
832
- const write = (prepared) => transport.schedule(prepared.name, prepared.cron, prepared.queue, prepared.payload, prepared.timeZone, millis(nextCronRun(prepared.cron, prepared.timeZone, nowInstant())), prepared.tenant);
647
+ const write = (prepared) => transport.schedule(prepared.name, prepared.cron, prepared.queue, prepared.payload, prepared.timeZone, millis(nextCronRun(prepared.cron, prepared.timeZone, now())), prepared.tenant);
833
648
  return {
834
649
  enqueue(queue, payload, enqueueOptions = {}) {
835
650
  return AsyncResult.from(async () => {
836
651
  const valid = await validate(schemaOf(queue), payload, "payload");
837
652
  if (!valid.ok) return valid;
838
- const delay = enqueueOptions.delay ?? (enqueueOptions.runAt ? Math.max(0, Math.ceil((enqueueOptions.runAt.epochMilliseconds - nowInstant().epochMilliseconds) / 1e3)) : 0);
653
+ const delay = enqueueOptions.delay ?? (enqueueOptions.runAt ? Math.max(0, Math.ceil((enqueueOptions.runAt.epochMilliseconds - now().epochMilliseconds) / 1e3)) : 0);
839
654
  return run(() => transport.send(queue, withContext(valid.data, enqueueOptions.context), delay, enqueueOptions.maxAttempts ?? 5, enqueueOptions.dedupeKey, enqueueOptions.dedupe));
840
655
  });
841
656
  },
@@ -929,23 +744,16 @@ function createJobs(source, queues, options = {}) {
929
744
  return transport.unscheduleTenant(filter.tenant);
930
745
  }),
931
746
  runSchedules: (scheduleOptions = {}) => run(() => runSchedules(scheduleOptions)),
932
- drain: (queue, handler, drainOptions = {}) => loop(queue, handler, drainOptions, false, drainOptions.budgetMs === void 0 ? void 0 : Date.now() + drainOptions.budgetMs),
747
+ drain: (queue, handler, drainOptions = {}) => loop(queue, handler, drainOptions, false, budget(drainOptions.budgetMs)),
933
748
  work: (queue, handler, workOptions = {}) => loop(queue, handler, workOptions, true),
934
749
  drainRoute(routeOptions) {
935
- const secret = routeOptions.secret;
936
- if (!secret) throw new TypeError("drainRoute needs a secret, such as process.env.CRON_SECRET");
937
750
  for (const queue of Object.keys(routeOptions.handlers)) schemaOf(queue);
938
- return async (request) => {
939
- const instance = new URL(request.url).pathname;
940
- if (request.method !== "GET" && request.method !== "POST") return new Response(null, {
941
- status: 405,
942
- headers: { allow: "GET, POST" }
943
- });
944
- if (!verifySharedSecret(request, secret)) return problemResponse(dbError("unauthorized", "The drain route needs its bearer secret"), {
945
- instance,
946
- format: routeOptions.problem
947
- });
948
- const deadline = Date.now() + (routeOptions.budgetMs ?? 5e4);
751
+ return cronRoute({
752
+ name: "drain",
753
+ secret: routeOptions.secret,
754
+ problem: routeOptions.problem
755
+ }, async (request) => {
756
+ const spent = budget(routeOptions.budgetMs ?? 5e4);
949
757
  const monitor = routeOptions.monitor;
950
758
  let errors = 0;
951
759
  const report = (cause) => {
@@ -973,9 +781,9 @@ function createJobs(source, queues, options = {}) {
973
781
  const results = {};
974
782
  for (const [queue, handler] of Object.entries(routeOptions.handlers)) {
975
783
  if (handler === void 0) continue;
976
- if (Date.now() >= deadline) break;
784
+ if (spent.expired()) break;
977
785
  try {
978
- results[queue] = await loop(queue, handler, routeOptions, false, deadline);
786
+ results[queue] = await loop(queue, handler, routeOptions, false, spent);
979
787
  } catch (cause) {
980
788
  report(cause);
981
789
  results[queue] = {
@@ -987,65 +795,14 @@ function createJobs(source, queues, options = {}) {
987
795
  const result = {
988
796
  schedules: scheduled,
989
797
  queues: results,
990
- budgetExhausted: Date.now() >= deadline,
798
+ budgetExhausted: spent.expired(),
991
799
  errors
992
800
  };
993
801
  if (monitor?.onFinish) await watch(() => monitor.onFinish?.(result, started));
994
802
  return Response.json(result);
995
- };
803
+ });
996
804
  }
997
805
  };
998
806
  }
999
807
  //#endregion
1000
- //#region src/blocks/jobs/rate-limit.ts
1001
- const isTransport = (source) => "call" in source;
1002
- /**
1003
- * Fixed-window limits for keys that aren't claims, over the `rate-limit`
1004
- * module's counters. Pass a service SQL connection (`ctx.postgresAdmin`,
1005
- * `postgres.admin`), or a service-role `BlockTransport` such as
1006
- * `rpcTransport(adminClient)`.
1007
- */
1008
- function createRateLimit(source, options = {}) {
1009
- applyTemporal(options);
1010
- const hit = isTransport(source) ? overTransport(blockCall(source, void 0, options.mappers)) : overSql(source);
1011
- return { check: (scope, key, rule) => {
1012
- if (rule !== void 0 && (!Number.isInteger(rule.max) || rule.max < 1)) return AsyncResult.err(dbError("invalid_input", "A rate limit's max must be a positive integer"));
1013
- return hit(scope, key, rule?.max ?? null, rule === void 0 ? null : seconds(rule.period));
1014
- } };
1015
- }
1016
- const overTransport = (call) => (scope, key, max, period) => call("check_rate_limit", {
1017
- scope,
1018
- key,
1019
- max_requests: max ?? void 0,
1020
- period: period ?? void 0
1021
- }, (value) => {
1022
- const row = isRecord(value) ? value : {};
1023
- return {
1024
- allowed: row["allowed"] === true,
1025
- remaining: Number(row["remaining"] ?? 0),
1026
- retryAfter: Number(row["retry_after"] ?? 0)
1027
- };
1028
- });
1029
- const overSql = (sql) => (scope, key, max, period) => run(async () => {
1030
- const [row] = await sql.queryRaw("select * from better_supabase.hit_rate_limit($1, $2, $3, $4::interval)", [
1031
- scope,
1032
- key,
1033
- max,
1034
- period
1035
- ]);
1036
- return {
1037
- allowed: row?.allowed ?? false,
1038
- remaining: row?.remaining ?? 0,
1039
- retryAfter: row?.retry_after ?? 0
1040
- };
1041
- });
1042
- /** A `problem+json` 429 with `Retry-After`, for a refused `check`. */
1043
- function rateLimited(decision, options = {}) {
1044
- const retryAfter = Math.max(1, Math.ceil(decision.retryAfter));
1045
- return problemResponse(dbError("rate_limited", options.detail ?? `Too many requests. Retry after ${retryAfter} seconds.`, { retryAfter }), {
1046
- ...options.instance === void 0 ? {} : { instance: options.instance },
1047
- format: options.problem
1048
- });
1049
- }
1050
- //#endregion
1051
808
  export { assertCron, createIdempotency, createJobs, createRateLimit, createWebhookInbox, devDrain, devDrainSecret, nextCronRun, pgmqPublicBackend, rateLimited, sqlQueueBackend, withLease };
@@ -1,3 +1,3 @@
1
- import { i as sqlTransport, r as rpcTransport, t as BlockTransport } from "../../block-transport-DvaoPuZ9.js";
2
- import { a as KnowledgeDocument, c as KnowledgeQuery, d as KnowledgeStatus, f as NewKnowledgeDocument, i as KnowledgeChunk, l as KnowledgeScope, m as createKnowledge, n as Embedder, o as KnowledgeHit, p as chunk, r as Knowledge, s as KnowledgeOptions, t as ChunkOptions, u as KnowledgeSearchOptions } from "../../knowledge-BXBbT0Tr.js";
3
- export { type BlockTransport, type ChunkOptions, type Embedder, type Knowledge, type KnowledgeChunk, type KnowledgeDocument, type KnowledgeHit, type KnowledgeOptions, type KnowledgeQuery, type KnowledgeScope, type KnowledgeSearchOptions, type KnowledgeStatus, type NewKnowledgeDocument, chunk, createKnowledge, rpcTransport, sqlTransport };
1
+ import { a as dbTransport, o as rpcTransport, s as sqlTransport, t as BlockTransport } from "../../block-transport-inD4fFq-.js";
2
+ import { a as KnowledgeDocument, c as KnowledgeQuery, d as KnowledgeStatus, f as NewKnowledgeDocument, i as KnowledgeChunk, l as KnowledgeScope, m as createKnowledge, n as Embedder, o as KnowledgeHit, p as chunk, r as Knowledge, s as KnowledgeOptions, t as ChunkOptions, u as KnowledgeSearchOptions } from "../../knowledge-CAReFpRA.js";
3
+ export { type BlockTransport, type ChunkOptions, type Embedder, type Knowledge, type KnowledgeChunk, type KnowledgeDocument, type KnowledgeHit, type KnowledgeOptions, type KnowledgeQuery, type KnowledgeScope, type KnowledgeSearchOptions, type KnowledgeStatus, type NewKnowledgeDocument, chunk, createKnowledge, dbTransport, rpcTransport, sqlTransport };
@@ -1,3 +1,3 @@
1
- import { n as rpcTransport, r as sqlTransport } from "../../block-transport-BLr-ZgLc.js";
2
- import { n as chunk, r as createKnowledge } from "../../knowledge-CDmiMLew.js";
3
- export { chunk, createKnowledge, rpcTransport, sqlTransport };
1
+ import { i as sqlTransport, r as rpcTransport, t as dbTransport } from "../../block-transport-bAKh-dGc.js";
2
+ import { n as chunk, r as createKnowledge } from "../../knowledge-DnHtb64A.js";
3
+ export { chunk, createKnowledge, dbTransport, rpcTransport, sqlTransport };
@@ -1,8 +1,8 @@
1
- import { i as sqlTransport, r as rpcTransport, t as BlockTransport } from "../../block-transport-DvaoPuZ9.js";
2
- import { n as Embedder } from "../../knowledge-BXBbT0Tr.js";
3
- import { a as MemoryKind, c as MemoryRecord, d as RecalledMessage, i as MemoryHit, l as MemoryScope, n as MemoryCommand, o as MemoryNamespace, r as MemoryDocument, s as MemoryOptions, t as Memory, u as MemoryView } from "../../types-DGs5L0VN.js";
1
+ import { a as dbTransport, o as rpcTransport, s as sqlTransport, t as BlockTransport } from "../../block-transport-inD4fFq-.js";
2
+ import { n as Embedder } from "../../knowledge-CAReFpRA.js";
3
+ import { a as MemoryKind, c as MemoryRecord, d as RecalledMessage, i as MemoryHit, l as MemoryScope, n as MemoryCommand, o as MemoryNamespace, r as MemoryDocument, s as MemoryOptions, t as Memory, u as MemoryView } from "../../types-DSJ3-m9X.js";
4
4
  //#region src/blocks/memory/memory.d.ts
5
5
  /** Core memory files, archival facts and recall over earlier chats. */
6
6
  export declare function createMemory(options: MemoryOptions): Memory;
7
7
  //#endregion
8
- export { type BlockTransport, type Embedder, type Memory, type MemoryCommand, type MemoryDocument, type MemoryHit, type MemoryKind, type MemoryNamespace, type MemoryOptions, type MemoryRecord, type MemoryScope, type MemoryView, type RecalledMessage, rpcTransport, sqlTransport };
8
+ export { type BlockTransport, type Embedder, type Memory, type MemoryCommand, type MemoryDocument, type MemoryHit, type MemoryKind, type MemoryNamespace, type MemoryOptions, type MemoryRecord, type MemoryScope, type MemoryView, type RecalledMessage, dbTransport, rpcTransport, sqlTransport };
@@ -1,9 +1,10 @@
1
- import { n as dbError } from "../../errors-B11Duf73.js";
2
- import { a as ok, r as err, t as AsyncResult } from "../../result-DzUbqgdW.js";
1
+ import { n as dbError } from "../../errors-2M6CKMP4.js";
2
+ import { a as ok, r as err, t as AsyncResult } from "../../result-DEqHCMKP.js";
3
3
  import { t as vectorLiteral } from "../../search-CUWCRYKL.js";
4
- import { n as rpcTransport, r as sqlTransport } from "../../block-transport-BLr-ZgLc.js";
5
- import { C as run, O as textOf, d as isRecord, h as optionalText, i as blockCall, k as toInstant, l as injectableOf, n as applyTemporal, p as oneOf, x as recordsOf, y as recordOf } from "../../block-helpers-DWHxHsEQ.js";
6
- import { t as checkVectors } from "../../knowledge-CDmiMLew.js";
4
+ import { n as isRecord } from "../../guards-6F2bCtQR.js";
5
+ import { i as sqlTransport, r as rpcTransport, t as dbTransport } from "../../block-transport-bAKh-dGc.js";
6
+ import { E as run, N as toInstant, S as recordOf, g as oneOf, i as blockCall, j as textOf, n as applyTemporal, u as injectableOf, v as optionalText, w as recordsOf } from "../../block-helpers-Cy3pB96I.js";
7
+ import { t as checkVectors } from "../../knowledge-DnHtb64A.js";
7
8
  //#region src/blocks/memory/rows.ts
8
9
  const SCOPES = [
9
10
  "user",
@@ -286,4 +287,4 @@ function createMemory(options) {
286
287
  };
287
288
  }
288
289
  //#endregion
289
- export { createMemory, rpcTransport, sqlTransport };
290
+ export { createMemory, dbTransport, rpcTransport, sqlTransport };
@@ -1,14 +1,14 @@
1
1
  /// <reference lib="esnext.temporal" />
2
- import { t as AsyncResult, w as ErrorMapper } from "../../result-D7y2fT87.js";
3
- import { i as sqlTransport, n as RpcClient, r as rpcTransport, t as BlockTransport } from "../../block-transport-DvaoPuZ9.js";
4
- import { m as RequestContext } from "../../plugin-FGY8UhYm.js";
5
- import { a as EventHub } from "../../events-DWDhx77e.js";
6
- import { i as CursorPageOptions, r as BlockTemporalOptions } from "../../block-helpers-CKtbFcRv.js";
7
- import { r as EventSink, t as CloudEvent } from "../../cloud-event-C1JCc1bH.js";
8
- import { a as BlockTransportMiddleware, d as extendBlock, f as withBlockHooks, n as BlockHooks, p as wrapTransport } from "../../block-hooks-plbZ0AbJ.js";
2
+ import { t as AsyncResult, w as ErrorMapper } from "../../result-BchM1XZn.js";
3
+ import { a as dbTransport, i as RpcClient, o as rpcTransport, s as sqlTransport, t as BlockTransport } from "../../block-transport-inD4fFq-.js";
4
+ import { m as RequestContext } from "../../plugin-CPK2HsbY.js";
5
+ import { a as EventHub } from "../../events-D1BOCll8.js";
6
+ import { i as CursorPageOptions, r as BlockTemporalOptions } from "../../block-helpers-C0Xj8War.js";
7
+ import { i as EventSink, t as CloudEvent } from "../../cloud-event-Dune0KI7.js";
8
+ import { a as BlockTransportMiddleware, d as extendBlock, f as withBlockHooks, n as BlockHooks, p as wrapTransport } from "../../block-hooks-DaOVC7SC.js";
9
9
  import { a as NotificationSubject, i as NotificationItem, n as NotificationMessage, o as RenderedText, r as NotificationSendResult, t as NotificationChannel } from "../../channel-_2Mx1Oyu.js";
10
10
  import { StandardSchemaV1 } from "@standard-schema/spec";
11
- //#region src/blocks/notifications/notifications.d.ts
11
+ //#region src/blocks/notifications/api-types.d.ts
12
12
  /** Notification type to the Standard Schema of its `data`. */
13
13
  type NotificationTypes = Readonly<Record<string, StandardSchemaV1>>;
14
14
  type TypeName<K extends NotificationTypes> = keyof K & string;
@@ -292,6 +292,8 @@ interface NotificationSinkOptions<K extends NotificationTypes> {
292
292
  /** Stripped from each event type before `map`. Defaults to `dev.better-supabase.`. */
293
293
  readonly typePrefix?: string;
294
294
  }
295
+ //#endregion
296
+ //#region src/blocks/notifications/notifications.d.ts
295
297
  export declare function createNotifications<const K extends NotificationTypes, H = undefined>(options: NotificationsOptions<K, H>): Notifications<K>;
296
298
  //#endregion
297
- export { type AvatarUrls, type BlockHooks, type BlockTransport, type BlockTransportMiddleware, type DeliverOptions, type DeliverResult, type ListOptions, type NotificationActor, type NotificationChannel, type NotificationCounts, type NotificationItem, type NotificationMessage, type NotificationOf, type NotificationPage, type NotificationPreference, type NotificationSendResult, type NotificationSinkOptions, type NotificationSubject, type NotificationSubscription, type NotificationTypes, type NotificationUpdate, type Notifications, type NotificationsOptions, type PageOptions, type Rendered, type RenderedText, type RpcClient, type SendInput, type SentNotification, type SinkNotification, type SubscriptionLevel, extendBlock, rpcTransport, sqlTransport, withBlockHooks, wrapTransport };
299
+ export { type AvatarUrls, type BlockHooks, type BlockTransport, type BlockTransportMiddleware, type DeliverOptions, type DeliverResult, type ListOptions, type NotificationActor, type NotificationChannel, type NotificationCounts, type NotificationItem, type NotificationMessage, type NotificationOf, type NotificationPage, type NotificationPreference, type NotificationSendResult, type NotificationSinkOptions, type NotificationSubject, type NotificationSubscription, type NotificationTypes, type NotificationUpdate, type Notifications, type NotificationsOptions, type PageOptions, type Rendered, type RenderedText, type RpcClient, type SendInput, type SentNotification, type SinkNotification, type SubscriptionLevel, dbTransport, extendBlock, rpcTransport, sqlTransport, withBlockHooks, wrapTransport };