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
@@ -0,0 +1,29 @@
1
+ //#region src/core/ttl-cache.ts
2
+ /** A map with a size cap and per-entry expiry, oldest-inserted evicted first. `now` is injectable for tests. */
3
+ function boundedTtlCache(options) {
4
+ const now = options.now ?? Date.now;
5
+ const entries = /* @__PURE__ */ new Map();
6
+ return {
7
+ get(key) {
8
+ const entry = entries.get(key);
9
+ if (entry && entry.until > now()) return entry.value;
10
+ entries.delete(key);
11
+ },
12
+ set(key, value, expiresAt) {
13
+ entries.delete(key);
14
+ if (entries.size >= options.max) {
15
+ const oldest = entries.keys().next();
16
+ if (!oldest.done) entries.delete(oldest.value);
17
+ }
18
+ entries.set(key, {
19
+ value,
20
+ until: expiresAt
21
+ });
22
+ },
23
+ get size() {
24
+ return entries.size;
25
+ }
26
+ };
27
+ }
28
+ //#endregion
29
+ export { boundedTtlCache as t };
@@ -0,0 +1,5 @@
1
+ //#region src/asyncapi/types.ts
2
+ /** The file name `asyncapiFormat` writes; Arazzo source descriptions point at it. */
3
+ const ASYNCAPI_FILE_NAME = "asyncapi.json";
4
+ //#endregion
5
+ export { ASYNCAPI_FILE_NAME as t };
@@ -1,8 +1,8 @@
1
1
  /// <reference lib="esnext.temporal" />
2
- import { t as AsyncResult, w as ErrorMapper } from "./result-D7y2fT87.js";
3
- import { t as BlockTransport } from "./block-transport-DvaoPuZ9.js";
4
- import { a as AiMessage } from "./message-CfDoR0Y6.js";
5
- import { r as BlockTemporalOptions } from "./block-helpers-CKtbFcRv.js";
2
+ import { t as AsyncResult, w as ErrorMapper } from "./result-BchM1XZn.js";
3
+ import { t as BlockTransport } from "./block-transport-inD4fFq-.js";
4
+ import { i as AiMessage } from "./message-B0fNJgq8.js";
5
+ import { r as BlockTemporalOptions } from "./block-helpers-C0Xj8War.js";
6
6
  //#region src/blocks/ai-files/types.d.ts
7
7
  interface StorageReply<T> {
8
8
  readonly data: T | null;
@@ -1,9 +1,9 @@
1
1
  /// <reference lib="esnext.temporal" />
2
- import { t as AsyncResult, w as ErrorMapper } from "./result-D7y2fT87.js";
3
- import { t as BlockTransport } from "./block-transport-DvaoPuZ9.js";
4
- import { i as CredentialRef, o as CredentialToken, r as CredentialProvider } from "./provider-D-UEMvSD.js";
5
- import { r as BlockTemporalOptions } from "./block-helpers-CKtbFcRv.js";
6
- import { a as WorkflowSchedule, u as WorkflowStarter } from "./workflows-B0j9WKPu.js";
2
+ import { t as AsyncResult, w as ErrorMapper } from "./result-BchM1XZn.js";
3
+ import { t as BlockTransport } from "./block-transport-inD4fFq-.js";
4
+ import { i as CredentialRef, o as CredentialToken, r as CredentialProvider } from "./provider-ib9wzUDz.js";
5
+ import { r as BlockTemporalOptions } from "./block-helpers-C0Xj8War.js";
6
+ import { a as WorkflowSchedule, u as WorkflowStarter } from "./workflows-CcpCBfIe.js";
7
7
  //#region src/blocks/workflow-builder/graph.d.ts
8
8
  type WorkflowNodeKind = "trigger" | "step" | "sleep" | "approval" | "condition";
9
9
  type WorkflowConditionOperator = "equals" | "notEquals" | "exists" | "truthy" | "greaterThan" | "lessThan" | "contains";
@@ -1,8 +1,8 @@
1
1
  /// <reference lib="esnext.temporal" />
2
- import { t as AsyncResult, w as ErrorMapper } from "./result-D7y2fT87.js";
3
- import { t as BlockTransport } from "./block-transport-DvaoPuZ9.js";
4
- import { i as CredentialRef, r as CredentialProvider } from "./provider-D-UEMvSD.js";
5
- import { i as CursorPageOptions, r as BlockTemporalOptions } from "./block-helpers-CKtbFcRv.js";
2
+ import { t as AsyncResult, w as ErrorMapper } from "./result-BchM1XZn.js";
3
+ import { t as BlockTransport } from "./block-transport-inD4fFq-.js";
4
+ import { i as CredentialRef, r as CredentialProvider } from "./provider-ib9wzUDz.js";
5
+ import { i as CursorPageOptions, r as BlockTemporalOptions } from "./block-helpers-C0Xj8War.js";
6
6
  //#region src/blocks/ai-providers/types.d.ts
7
7
  /** A tenant's own key for a provider. The key itself stays in the credential provider. */
8
8
  interface AiProviderKey {
@@ -64,6 +64,10 @@ interface ColumnMeta {
64
64
  readonly sensitive?: true;
65
65
  /** Bucket id of the objects this text column points to (`config.storagePaths`). */
66
66
  readonly storage?: string;
67
+ /** The column's `COMMENT ON`, without its `@example` and `@deprecated` lines. */
68
+ readonly description?: string;
69
+ /** The column's comment has a `@deprecated` line. */
70
+ readonly deprecated?: true;
67
71
  }
68
72
  /**
69
73
  * Runtime representation for a column: `instant` decodes `timestamptz` to
@@ -120,6 +124,10 @@ interface TableMeta {
120
124
  readonly uniqueKeys: Readonly<Record<string, readonly string[]>>;
121
125
  readonly relations: Readonly<Record<string, RelationMeta>>;
122
126
  readonly flags: TableFlags;
127
+ /** The table's `COMMENT ON`, without its `@example` and `@deprecated` lines. */
128
+ readonly description?: string;
129
+ /** The table's comment has a `@deprecated` line. */
130
+ readonly deprecated?: true;
123
131
  }
124
132
  interface FunctionMeta extends FunctionSignature {
125
133
  readonly name: string;
@@ -1,8 +1,8 @@
1
1
  /// <reference lib="esnext.temporal" />
2
- import { t as AsyncResult, w as ErrorMapper } from "./result-D7y2fT87.js";
3
- import { t as BlockTransport } from "./block-transport-DvaoPuZ9.js";
4
- import { r as BlockTemporalOptions } from "./block-helpers-CKtbFcRv.js";
5
- import { n as Embedder } from "./knowledge-BXBbT0Tr.js";
2
+ import { t as AsyncResult, w as ErrorMapper } from "./result-BchM1XZn.js";
3
+ import { t as BlockTransport } from "./block-transport-inD4fFq-.js";
4
+ import { r as BlockTemporalOptions } from "./block-helpers-C0Xj8War.js";
5
+ import { n as Embedder } from "./knowledge-CAReFpRA.js";
6
6
  //#region src/blocks/memory/types.d.ts
7
7
  type MemoryScope = "user" | "agent" | "chat" | "project" | "organization";
8
8
  type MemoryKind = "core" | "archival";
@@ -1,9 +1,9 @@
1
1
  /// <reference lib="esnext.temporal" />
2
- import { b as DbError, t as AsyncResult } from "./result-D7y2fT87.js";
3
- import { t as SqlClient } from "./executor-DbvExCFC.js";
4
- import { m as RequestContext, t as Actor } from "./plugin-FGY8UhYm.js";
5
- import { i as CursorPageOptions, r as BlockTemporalOptions } from "./block-helpers-CKtbFcRv.js";
6
- import { t as BlockProblemOptions } from "./problem-DD8LZFjc.js";
2
+ import { b as DbError, t as AsyncResult } from "./result-BchM1XZn.js";
3
+ import { t as SqlClient } from "./executor-ngjKL_Pe.js";
4
+ import { m as RequestContext, t as Actor } from "./plugin-CPK2HsbY.js";
5
+ import { i as CursorPageOptions, r as BlockTemporalOptions } from "./block-helpers-C0Xj8War.js";
6
+ import { t as BlockProblemOptions } from "./problem-TvGdxO1t.js";
7
7
  import { StandardSchemaV1 } from "@standard-schema/spec";
8
8
  //#region src/blocks/jobs/backends.d.ts
9
9
  /** The body of a queued message, on pgmq and the table backend alike. */
@@ -104,9 +104,9 @@ interface QueueBackend {
104
104
  /**
105
105
  * The `jobs` SQL module over a service SQL connection. The same
106
106
  * functions back both `sql.modules.jobs.options.backend` values (pgmq and table)
107
- * and both schedulers.
107
+ * and both schedulers. `now` dates a schedule's first run.
108
108
  */
109
- declare function sqlQueueBackend(sql: SqlClient): QueueBackend;
109
+ declare function sqlQueueBackend(sql: SqlClient, now?: () => Temporal.Instant): QueueBackend;
110
110
  /**
111
111
  * Supabase's `pgmq_public` RPCs (Integrations, Queues, "Expose Queues via
112
112
  * PostgREST"). No lease check on complete, no retry delay, no deduplication
@@ -114,7 +114,7 @@ declare function sqlQueueBackend(sql: SqlClient): QueueBackend;
114
114
  */
115
115
  declare function pgmqPublicBackend(client: QueueRpcClient): QueueBackend;
116
116
  //#endregion
117
- //#region src/blocks/jobs/queue.d.ts
117
+ //#region src/blocks/jobs/types.d.ts
118
118
  type QueueSchemas = Readonly<Record<string, StandardSchemaV1>>;
119
119
  type PayloadIn<Q extends QueueSchemas, N extends keyof Q> = StandardSchemaV1.InferInput<Q[N]>;
120
120
  type PayloadOut<Q extends QueueSchemas, N extends keyof Q> = StandardSchemaV1.InferOutput<Q[N]>;
@@ -413,15 +413,13 @@ interface Jobs<Q extends QueueSchemas> {
413
413
  /** Polls and processes jobs until `signal` aborts. */
414
414
  work<N extends Extract<keyof Q, string>>(queue: N, handler: JobHandler<PayloadOut<Q, N>>, options?: WorkOptions): Promise<DrainResult>;
415
415
  }
416
- /**
417
- * Typed jobs on Supabase Queues (pgmq), over the `jobs` SQL module.
418
- *
419
- * Pass a service SQL connection (`postgres.admin`, `ctx.sql`) for the full
420
- * feature set, a service-role Supabase client to go through the
421
- * `pgmq_public` RPCs where no direct connection exists (edge functions), or
422
- * any `QueueBackend`. Queue names are lowercase letters, digits and
423
- * underscores.
424
- */
425
- declare function createJobs<const Q extends QueueSchemas>(source: SqlClient | QueueRpcClient | QueueBackend, queues: Q, options?: BlockTemporalOptions): Jobs<Q>;
416
+ /** The options `createJobs` takes. */
417
+ interface JobsOptions extends BlockTemporalOptions {
418
+ /**
419
+ * The clock for `runAt` delays and schedule runs; pass the definition's
420
+ * `now` option to share one clock. Defaults to `Temporal.Now.instant()`.
421
+ */
422
+ readonly now?: () => Temporal.Instant;
423
+ }
426
424
  //#endregion
427
- export { QueueMessageBody as A, ScheduleInfo as C, DeadJobRow as D, createJobs as E, sqlQueueBackend as F, QueueRpcClient as M, QueueStats as N, DueSchedule as O, pgmqPublicBackend as P, ScheduleFilter as S, WorkOptions as T, QueueSchemas as _, DrainResult as a, ScheduleDefinition as b, EnqueueOptions as c, FailOptions as d, Job as f, ListDeadOptions as g, Jobs as h, DrainOptions as i, QueueMessageRow as j, QueueBackend as k, EnsureSchedulesOptions as l, JobHandler as m, DeadJob as n, DrainRouteOptions as o, JobContext as p, DrainMonitor as r, DrainRouteResult as s, ClaimOptions as t, EnsureSchedulesResult as u, RetryDeadOptions as v, ScheduleOptions as w, ScheduleDefinitions as x, RunSchedulesOptions as y };
425
+ export { QueueMessageBody as A, ScheduleFilter as C, DeadJobRow as D, WorkOptions as E, sqlQueueBackend as F, QueueRpcClient as M, QueueStats as N, DueSchedule as O, pgmqPublicBackend as P, ScheduleDefinitions as S, ScheduleOptions as T, ListDeadOptions as _, DrainResult as a, RunSchedulesOptions as b, EnqueueOptions as c, FailOptions as d, Job as f, JobsOptions as g, Jobs as h, DrainOptions as i, QueueMessageRow as j, QueueBackend as k, EnsureSchedulesOptions as l, JobHandler as m, DeadJob as n, DrainRouteOptions as o, JobContext as p, DrainMonitor as r, DrainRouteResult as s, ClaimOptions as t, EnsureSchedulesResult as u, QueueSchemas as v, ScheduleInfo as w, ScheduleDefinition as x, RetryDeadOptions as y };
@@ -1,7 +1,7 @@
1
1
  /// <reference lib="esnext.temporal" />
2
- import { t as AsyncResult, w as ErrorMapper } from "./result-D7y2fT87.js";
3
- import { t as BlockTransport } from "./block-transport-DvaoPuZ9.js";
4
- import { i as CursorPageOptions, r as BlockTemporalOptions } from "./block-helpers-CKtbFcRv.js";
2
+ import { t as AsyncResult, w as ErrorMapper } from "./result-BchM1XZn.js";
3
+ import { t as BlockTransport } from "./block-transport-inD4fFq-.js";
4
+ import { i as CursorPageOptions, r as BlockTemporalOptions } from "./block-helpers-C0Xj8War.js";
5
5
  import { n as StripeSource } from "./stripe-D04h-QBT.js";
6
6
  //#region src/blocks/usage/usage.d.ts
7
7
  interface UsageOptions extends BlockTemporalOptions {
@@ -1,6 +1,6 @@
1
- import { t as AsyncResult, w as ErrorMapper } from "./result-D7y2fT87.js";
2
- import { t as BlockTransport } from "./block-transport-DvaoPuZ9.js";
3
- import { c as SetCredentialOptions, i as CredentialRef, r as CredentialProvider } from "./provider-D-UEMvSD.js";
1
+ import { t as AsyncResult, w as ErrorMapper } from "./result-BchM1XZn.js";
2
+ import { t as BlockTransport } from "./block-transport-inD4fFq-.js";
3
+ import { c as SetCredentialOptions, i as CredentialRef, r as CredentialProvider } from "./provider-ib9wzUDz.js";
4
4
  //#region src/credentials/vault.d.ts
5
5
  /** How a request the third party sends is signed with the stored secret. */
6
6
  type VaultInboundScheme = "standard-webhooks" | "hmac-sha256" | "shared-secret";
@@ -1,4 +1,4 @@
1
- import { a as CredentialSubject, r as CredentialProvider } from "../provider-D-UEMvSD.js";
1
+ import { a as CredentialSubject, r as CredentialProvider } from "../provider-ib9wzUDz.js";
2
2
  //#region src/vercel-connect/vercel-connect.d.ts
3
3
  interface ConnectTokenParams {
4
4
  subject: CredentialSubject;
@@ -1,21 +1,15 @@
1
- import { n as dbError } from "../errors-B11Duf73.js";
1
+ import { n as dbError } from "../errors-2M6CKMP4.js";
2
2
  import { c as optionalTemporal } from "../temporal-BJGitm-h.js";
3
- import { a as ok, r as err, t as AsyncResult } from "../result-DzUbqgdW.js";
4
- import { d as isRecord } from "../block-helpers-DWHxHsEQ.js";
3
+ import { a as ok, r as err, t as AsyncResult } from "../result-DEqHCMKP.js";
4
+ import { n as isRecord } from "../guards-6F2bCtQR.js";
5
+ import { t as importOptionalPeer } from "../optional-peer-D1pi-skw.js";
5
6
  //#region src/vercel-connect/vercel-connect.ts
6
7
  const isModule = (value) => isRecord(value) && typeof value["getTokenResponse"] === "function" && typeof value["revokeToken"] === "function" && typeof value["startAuthorization"] === "function";
7
8
  /**
8
9
  * Loads `@vercel/connect` on first use. The specifier is a variable so
9
10
  * bundlers leave the optional peer out of apps that don't use it.
10
11
  */
11
- async function loadConnect() {
12
- const specifier = "@vercel/connect";
13
- try {
14
- return await import(specifier);
15
- } catch {
16
- return;
17
- }
18
- }
12
+ const loadConnect = () => importOptionalPeer("@vercel/connect");
19
13
  function connectRef(ref) {
20
14
  const { connector, installationId, scopes } = ref;
21
15
  if (ref.provider !== "vercel-connect" || typeof connector !== "string") return err(dbError("invalid_input", `vercel-connect resolves refs with a connector, not "${ref.provider}"`, { hint: "CREDENTIAL_REF_INVALID" }));
@@ -1,39 +1,9 @@
1
1
  /// <reference lib="esnext.temporal" />
2
- import { f as Result } from "./result-D7y2fT87.js";
3
- import { L as TableKey, M as Row, a as AnyModels, i as AnyFunctions } from "./types-6BdhkmZe.js";
4
- import { t as BetterSupabase } from "./define-CJJkkr1-.js";
2
+ import { f as Result } from "./result-BchM1XZn.js";
3
+ import { L as TableKey, M as Row, a as AnyModels, i as AnyFunctions } from "./types-CoE5Zwy4.js";
4
+ import { t as BetterSupabase } from "./define-DmcfoNXB.js";
5
+ import { n as VerifyOptions, r as WebhookInput, t as VerifiedWebhook } from "./signatures-BRS_p3WD.js";
5
6
  //#region src/blocks/webhooks/verify.d.ts
6
- interface VerifiedWebhook<T = unknown> {
7
- readonly id: string;
8
- readonly timestamp: Temporal.Instant;
9
- readonly payload: T;
10
- readonly body: string;
11
- }
12
- interface VerifyOptions {
13
- /** Allowed clock skew in seconds. Defaults to 300. */
14
- readonly tolerance?: number;
15
- readonly now?: () => Temporal.Instant;
16
- }
17
- type WebhookInput = Request | {
18
- readonly headers: Headers | Readonly<Record<string, string>>;
19
- readonly body: string;
20
- };
21
- /** Constant-time string comparison. */
22
- declare function timingSafeEqual(a: string, b: string): boolean;
23
- /** Headers for a signed Standard Webhooks request. */
24
- declare function signWebhook(secret: string, message: {
25
- readonly id: string;
26
- readonly body: string;
27
- readonly timestamp?: Temporal.Instant;
28
- }): Promise<Record<string, string>>;
29
- /**
30
- * Verifies a Standard Webhooks signature (`webhook-id`, `webhook-timestamp`,
31
- * `webhook-signature`, or the `svix-` names Svix-based senders use) and
32
- * parses the JSON body. Pass several secrets while rotating.
33
- */
34
- declare function verifyWebhook<T = unknown>(input: WebhookInput, secrets: string | readonly string[], options?: VerifyOptions): Promise<Result<VerifiedWebhook<T>>>;
35
- /** Checks a shared-secret header (database webhooks), in constant time. */
36
- declare function verifySharedSecret(request: Request, secret: string, headerName?: string): boolean;
37
7
  /** The `Stripe-Signature` header for `body`, for tests and local replays. */
38
8
  declare function signStripeWebhook(secret: string, body: string, timestamp?: Temporal.Instant): Promise<string>;
39
9
  /**
@@ -169,4 +139,4 @@ declare function isDatabaseWebhook(value: unknown): value is DatabaseWebhookPayl
169
139
  */
170
140
  declare function databaseChange<M extends AnyModels, D, F extends AnyFunctions, E, T extends TableKey<M>>(betterSupabase: BetterSupabase<M, D, F, E>, table: T, payload: unknown): DatabaseChange<Row<M, T>> | null;
171
141
  //#endregion
172
- export { verifySharedSecret as _, DatabaseWebhookPayload as a, WebhookInput as c, hookError as d, isDatabaseWebhook as f, timingSafeEqual as g, stripeInboxVerify as h, DatabaseChange as i, authHook as l, signWebhook as m, AuthHookKind as n, VerifiedWebhook as o, signStripeWebhook as p, AuthHooks as r, VerifyOptions as s, AuthHookError as t, databaseChange as u, verifyStripeWebhook as v, verifyWebhook as y };
142
+ export { DatabaseWebhookPayload as a, hookError as c, stripeInboxVerify as d, verifyStripeWebhook as f, DatabaseChange as i, isDatabaseWebhook as l, AuthHookKind as n, authHook as o, AuthHooks as r, databaseChange as s, AuthHookError as t, signStripeWebhook as u };
@@ -0,0 +1,124 @@
1
+ import { n as dbError } from "./errors-2M6CKMP4.js";
2
+ import { c as optionalTemporal, s as nowInstant } from "./temporal-BJGitm-h.js";
3
+ import { n as temporalMissing } from "./temporal-required-BtynQtM-.js";
4
+ import { a as ok, r as err } from "./result-DEqHCMKP.js";
5
+ import { n as hmacHex, r as timingSafeEqual } from "./hmac-DCud0myt.js";
6
+ import { a as verifyWebhook, r as unauthorized, t as header } from "./signatures-DsWv_bYR.js";
7
+ import { t as toApp } from "./casing-DdFWEtqr.js";
8
+ //#region src/blocks/webhooks/verify.ts
9
+ /** Stripe signs with the endpoint secret's UTF-8 bytes, not its base64 decoding. */
10
+ const stripeSignature = hmacHex;
11
+ /** The `Stripe-Signature` header for `body`, for tests and local replays. */
12
+ async function signStripeWebhook(secret, body, timestamp = nowInstant()) {
13
+ const seconds = String(Math.floor(timestamp.epochMilliseconds / 1e3));
14
+ return `t=${seconds},v1=${await stripeSignature(secret, `${seconds}.${body}`)}`;
15
+ }
16
+ /**
17
+ * Verifies a `Stripe-Signature` header (`t=…,v1=…`) with the endpoint's
18
+ * `whsec_…` secret and parses the event. Pass several secrets while rolling
19
+ * the endpoint secret. Runs on WebCrypto, so it needs no `stripe` package.
20
+ */
21
+ async function verifyStripeWebhook(input, secrets, options = {}) {
22
+ const value = header(input.headers, "stripe-signature");
23
+ if (!value) return err(unauthorized("WEBHOOK_MISSING_HEADERS", "Missing Stripe-Signature header"));
24
+ const parts = value.split(",").map((part) => {
25
+ const index = part.indexOf("=");
26
+ return [part.slice(0, index).trim(), part.slice(index + 1).trim()];
27
+ });
28
+ const timestamp = parts.find(([name]) => name === "t")?.[1] ?? "";
29
+ const offered = parts.filter(([name]) => name === "v1").map(([, sig]) => sig);
30
+ if (!/^\d+$/.test(timestamp)) return err(unauthorized("WEBHOOK_INVALID_TIMESTAMP", "Invalid webhook timestamp"));
31
+ const namespace = optionalTemporal();
32
+ if (namespace === void 0) return err(temporalMissing());
33
+ const seconds = Number(timestamp);
34
+ const now = (options.now?.() ?? namespace.Now.instant()).epochMilliseconds / 1e3;
35
+ if (Math.abs(now - seconds) > (options.tolerance ?? 300)) return err(unauthorized("WEBHOOK_TIMESTAMP_OUT_OF_RANGE", "Webhook timestamp is outside the tolerance"));
36
+ const body = input instanceof Request ? await input.text() : input.body;
37
+ let valid = false;
38
+ for (const secret of typeof secrets === "string" ? [secrets] : secrets) {
39
+ const expected = await stripeSignature(secret, `${timestamp}.${body}`);
40
+ for (const candidate of offered) if (timingSafeEqual(candidate, expected)) valid = true;
41
+ }
42
+ if (!valid) return err(unauthorized("WEBHOOK_INVALID_SIGNATURE", "Invalid webhook signature"));
43
+ let payload;
44
+ try {
45
+ payload = JSON.parse(body);
46
+ } catch {
47
+ return err(dbError("invalid_request", "Webhook body is not JSON"));
48
+ }
49
+ const id = typeof payload === "object" && payload !== null && "id" in payload ? String(payload.id) : "";
50
+ return ok({
51
+ id,
52
+ timestamp: namespace.Instant.fromEpochMilliseconds(seconds * 1e3),
53
+ payload,
54
+ body
55
+ });
56
+ }
57
+ /**
58
+ * `createWebhookInbox({ source: 'stripe', verify: stripeInboxVerify(secret) })`:
59
+ * stores Stripe events keyed by their event id.
60
+ */
61
+ function stripeInboxVerify(secrets, options = {}) {
62
+ return async (request, body) => {
63
+ const verified = await verifyStripeWebhook({
64
+ headers: request.headers,
65
+ body
66
+ }, secrets, options);
67
+ return verified.ok ? ok({
68
+ id: verified.data.id,
69
+ payload: verified.data.payload
70
+ }) : verified;
71
+ };
72
+ }
73
+ /** Rejects a hook with a status and message Supabase Auth passes to the client. */
74
+ function hookError(status, message) {
75
+ return { error: {
76
+ http_code: status,
77
+ message
78
+ } };
79
+ }
80
+ /**
81
+ * A `(request) => Response` handler for a Supabase Auth hook: verifies the
82
+ * Standard Webhooks signature, types the payload and serializes the answer.
83
+ *
84
+ * ```ts
85
+ * export const POST = authHook('custom_access_token', env.AUTH_HOOK_SECRET, async ({ claims, user_id }) => ({
86
+ * claims: { ...claims, tenant_id: await organizationFor(user_id) },
87
+ * }));
88
+ * ```
89
+ */
90
+ function authHook(_kind, secret, handler, options) {
91
+ return async (request) => {
92
+ const verified = await verifyWebhook(request, secret, options);
93
+ if (!verified.ok) return Response.json(hookError(verified.error.status, verified.error.message), { status: verified.error.status });
94
+ try {
95
+ const answer = await handler(verified.data.payload, verified.data);
96
+ const status = "error" in answer ? answer.error.http_code : 200;
97
+ return Response.json(answer, { status });
98
+ } catch (cause) {
99
+ console.error("better-supabase: auth hook failed", cause);
100
+ return Response.json(hookError(500, "Hook failed"), { status: 500 });
101
+ }
102
+ };
103
+ }
104
+ function isDatabaseWebhook(value) {
105
+ if (typeof value !== "object" || value === null) return false;
106
+ const payload = value;
107
+ return (payload["type"] === "INSERT" || payload["type"] === "UPDATE" || payload["type"] === "DELETE") && typeof payload["table"] === "string" && typeof payload["schema"] === "string";
108
+ }
109
+ /**
110
+ * Reads a database webhook payload for `table` as an app-cased change.
111
+ * Returns `null` for other tables or payloads that aren't database webhooks.
112
+ */
113
+ function databaseChange(betterSupabase, table, payload) {
114
+ const meta = betterSupabase.meta.tables[table];
115
+ if (!meta || !isDatabaseWebhook(payload) || payload.table !== meta.name || payload.schema !== meta.schema) return null;
116
+ return {
117
+ type: payload.type,
118
+ table,
119
+ record: payload.record ? toApp(meta, payload.record) : null,
120
+ oldRecord: payload.old_record ? toApp(meta, payload.old_record) : null
121
+ };
122
+ }
123
+ //#endregion
124
+ export { signStripeWebhook as a, isDatabaseWebhook as i, databaseChange as n, stripeInboxVerify as o, hookError as r, verifyStripeWebhook as s, authHook as t };
@@ -1,4 +1,4 @@
1
1
  //#region src/core/version.ts
2
- const VERSION = "0.7.1";
2
+ const VERSION = "0.8.0";
3
3
  //#endregion
4
4
  export { VERSION as t };
@@ -1,4 +1,4 @@
1
- import { n as dbError } from "./errors-B11Duf73.js";
1
+ import { n as dbError } from "./errors-2M6CKMP4.js";
2
2
  import { a as actorOf, o as delegationOf, r as impersonatorOf } from "./impersonation-DcqaTBHx.js";
3
3
  //#region src/auth/mfa.ts
4
4
  /** The session's assurance level from its claims; anything but `aal2` reads as `aal1`. */
@@ -1,6 +1,6 @@
1
- import { b as DbError } from "./result-D7y2fT87.js";
2
- import { i as InvalidReason, r as AuthState } from "./resolve-ChTYeTEl.js";
3
- import { n as AmrEntry, s as Impersonator, t as Aal } from "./mfa-Daak8ukG.js";
1
+ import { b as DbError } from "./result-BchM1XZn.js";
2
+ import { i as InvalidReason, r as AuthState } from "./resolve-MxXVWyhd.js";
3
+ import { n as AmrEntry, s as Impersonator, t as Aal } from "./mfa-SZc9YYyb.js";
4
4
  import { n as SessionActor, r as SessionDelegation } from "./actor-CQTlc1Hh.js";
5
5
  import { JWTClaims, UserClaims } from "@supabase/server";
6
6
  //#region src/auth/view.d.ts
@@ -1,14 +1,13 @@
1
- import { b as DbError } from "../result-D7y2fT87.js";
2
- import { it as QuerySpec } from "../define-CJJkkr1-.js";
3
- import { n as TemplateValues } from "../template-CwO38Do8.js";
4
- import { t as AuthSnapshot } from "../bind-Bu_ZNa3W.js";
5
- import { t as AuthSession } from "../view-CF7ihnkg.js";
6
- import { S as Topic, f as PresenceMember, u as EventSchemas, w as TopicHandlers, x as SubscriptionStatus } from "../index-DunNRdnT.js";
7
- import { t as SupportView } from "../support-view-CVOJJLpc.js";
8
- import { a as BroadcastOptions, c as LiveCountSource, d as PresenceTopic, f as UseActionOptions, i as ActionState, l as LiveQueryHookOptions, n as ActionInputOf, o as ClientLike, r as ActionResultOf, s as LiveCountHookOptions, t as fieldErrorsOf, u as PresenceHookOptions } from "../field-errors-BFOa7WhB.js";
1
+ import { b as DbError } from "../result-BchM1XZn.js";
2
+ import { J as TemplateValues } from "../storage-api-CB7Zl1Ci.js";
3
+ import { at as QuerySpec } from "../define-DmcfoNXB.js";
4
+ import { t as AuthSnapshot } from "../bind-CQ5mPyX1.js";
5
+ import { t as AuthSession } from "../view-TpXEUcVN.js";
6
+ import { S as Topic, f as PresenceMember, u as EventSchemas, w as TopicHandlers, x as SubscriptionStatus } from "../index-BCHR4Ucl.js";
7
+ import { t as SupportView } from "../support-view-scqMgtOo.js";
8
+ import { a as BroadcastOptions, c as LiveCountHookOptions, d as PresenceHookOptions, f as PresenceTopic, i as ActionState, l as LiveCountSource, m as UseActionOptions, n as ActionInputOf, o as ClaimsOf, p as ProfileOf, r as ActionResultOf, s as ClientLike, t as fieldErrorsOf, u as LiveQueryHookOptions } from "../field-errors-DIe9XYWL.js";
9
9
  import { SupabaseClient } from "@supabase/supabase-js";
10
10
  import { App, ComputedRef, MaybeRefOrGetter, Ref } from "vue";
11
- import { StandardSchemaV1 } from "@standard-schema/spec";
12
11
  import { QueryClient } from "@tanstack/query-core";
13
12
  //#region src/vue/index.d.ts
14
13
  export interface BetterSupabaseVueOptions {
@@ -39,14 +38,6 @@ export declare function provideSession(session: MaybeRefOrGetter<AuthSession>):
39
38
  export declare function useSession<C = unknown, P = unknown>(): ComputedRef<AuthSession<C, P>>;
40
39
  /** The support session the page renders in, or `undefined` for a normal session. */
41
40
  export declare function useSupportSession(): ComputedRef<SupportView | undefined>;
42
- /** The claims type of a client's `betterSupabase.claims(schema)`, `unknown` without one. */
43
- export type ClaimsOf<B extends ClientLike> = B["betterSupabase"] extends {
44
- readonly claimsSchema: StandardSchemaV1<unknown, infer C> | undefined;
45
- } ? C : unknown;
46
- /** The profile type of a client's `betterSupabase.userMetadata(schema)`, `unknown` without one. */
47
- export type ProfileOf<B extends ClientLike> = B["betterSupabase"] extends {
48
- readonly userMetadataSchema: StandardSchemaV1<unknown, infer P> | undefined;
49
- } ? P : unknown;
50
41
  export interface BetterComposables<B extends ClientLike> {
51
42
  /** Repositories bound to the current session. */
52
43
  readonly useDb: () => B["db"];
@@ -138,4 +129,4 @@ export interface ActionHandle<I, T> extends ActionState<I, T> {
138
129
  */
139
130
  export declare function useAction<I, T>(action: (input: I) => Promise<ActionResultOf<T>>, options?: UseActionOptions<ActionInputOf<I>, T>): ActionHandle<ActionInputOf<I>, T>;
140
131
  //#endregion
141
- export { type ActionInputOf, type ActionResultOf, type ActionState, type AuthSession, type AuthSnapshot, type BroadcastOptions, type ClientLike, type LiveCountHookOptions, type LiveCountSource, type LiveQueryHookOptions, type PresenceHookOptions, type PresenceTopic, type SupportView, type UseActionOptions, fieldErrorsOf };
132
+ export { type ActionInputOf, type ActionResultOf, type ActionState, type AuthSession, type AuthSnapshot, type BroadcastOptions, type ClaimsOf, type ClientLike, type LiveCountHookOptions, type LiveCountSource, type LiveQueryHookOptions, type PresenceHookOptions, type PresenceTopic, type ProfileOf, type SupportView, type UseActionOptions, fieldErrorsOf };
package/dist/vue/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { t as clearOnUserChange } from "../user-change-XzvgafU4.js";
2
+ import { a as createActionRunner, c as liveKey, d as shownCount, f as startBroadcast, i as countSource, l as notJoined, m as startLiveQuery, n as assertInvalidateClient, o as joinPresence, p as startLiveCount, r as callerOf, s as keyed, t as NO_COUNT, u as plainCaller } from "../client-wxeTQFtB.js";
2
3
  import { t as supportOf } from "../support-view-g4YLBeqX.js";
3
- import { t as fieldErrorsOf } from "../field-errors-VF1yb8yI.js";
4
- import { a as createActionRunner, c as liveKey, d as shownCount, f as startBroadcast, i as countSource, l as notJoined, m as startLiveQuery, n as assertInvalidateClient, o as joinPresence, p as startLiveCount, r as callerOf, s as keyed, t as NO_COUNT, u as plainCaller } from "../client-CI0Z2zWX.js";
4
+ import { t as fieldErrorsOf } from "../field-errors-DZVRWRkf.js";
5
5
  import { computed, getCurrentInstance, getCurrentScope, inject, onMounted, onScopeDispose, provide, readonly, shallowRef, toValue, watch } from "vue";
6
6
  //#region src/vue/index.ts
7
7
  const CLIENT = Symbol("better-supabase");
@@ -1,5 +1,5 @@
1
- import { n as isPlainObject } from "./clone-BfgmLU90.js";
2
- import { r as err, s as toDbError } from "./result-DzUbqgdW.js";
1
+ import { r as isPlainObject } from "./clone-dN9XOL1K.js";
2
+ import { r as err, s as toDbError } from "./result-DEqHCMKP.js";
3
3
  //#region src/core/share.ts
4
4
  function sameValue(prev, next) {
5
5
  if (Object.is(prev, next)) return true;
@@ -1,22 +1,36 @@
1
- import { f as Result } from "./result-D7y2fT87.js";
2
- import { L as TableKey, P as SchemaMeta, a as AnyModels, i as AnyFunctions } from "./types-6BdhkmZe.js";
3
- import { t as BetterSupabase } from "./define-CJJkkr1-.js";
4
- import { i as ListDefinition } from "./list-query-BRt-zDF7.js";
5
- import { c as SqliteCompilerOptions, p as SqlitePlan, t as PowerSyncDatabaseLike } from "./executor-CaWigTyR.js";
6
- import { t as Compiler } from "./compiler-DY_wkj4R.js";
1
+ import { b as DbError, f as Result } from "./result-BchM1XZn.js";
2
+ import { L as TableKey, P as SchemaMeta, a as AnyModels, i as AnyFunctions } from "./types-CoE5Zwy4.js";
3
+ import { t as BetterSupabase } from "./define-DmcfoNXB.js";
4
+ import { i as ListDefinition } from "./list-query-D3JQeEL7.js";
5
+ import { c as SqliteCompilerOptions, p as SqlitePlan, t as PowerSyncDatabaseLike } from "./executor-DfEtf0cq.js";
6
+ import { t as Compiler } from "./compiler-V1qvcST1.js";
7
7
  //#region src/powersync/compiler.d.ts
8
8
  declare const sqliteCompiler: Compiler<SqlitePlan>;
9
+ interface CheckSqliteOptions extends SqliteCompilerOptions {
10
+ /**
11
+ * Return every error instead of the first, one per distinct message. With
12
+ * a `fallback` executor, these are the reads that run on the server.
13
+ */
14
+ readonly all?: boolean;
15
+ }
9
16
  /**
10
17
  * Compiles every operation a list definition runs (the page, its count and
11
18
  * the facet counts) for SQLite, without a database. Returns the first
12
19
  * `unsupported` or `invalid_request` error, so a test or a dev build fails
13
- * before a native screen does.
20
+ * before a native screen does. With `all: true`, returns every error, an
21
+ * empty array when the whole list runs on SQLite.
14
22
  *
15
23
  * ```ts
16
24
  * expect(await checkSqlite(betterSupabase, customerList)).toEqual({ ok: true, data: undefined });
25
+ * expect(await checkSqlite(betterSupabase, customerList, { all: true })).toEqual([]);
17
26
  * ```
18
27
  */
19
- declare function checkSqlite<M extends AnyModels, D, F extends AnyFunctions, E, T extends TableKey<M>, S extends string, Fa extends string, C extends boolean, P extends "offset" | "cursor">(betterSupabase: BetterSupabase<M, D, F, E>, list: ListDefinition<M, T, E, S, Fa, C, P>, options?: SqliteCompilerOptions): Promise<Result<undefined>>;
28
+ declare function checkSqlite<M extends AnyModels, D, F extends AnyFunctions, E, T extends TableKey<M>, S extends string, Fa extends string, C extends boolean, P extends "offset" | "cursor">(betterSupabase: BetterSupabase<M, D, F, E>, list: ListDefinition<M, T, E, S, Fa, C, P>, options: CheckSqliteOptions & {
29
+ readonly all: true;
30
+ }): Promise<readonly DbError[]>;
31
+ declare function checkSqlite<M extends AnyModels, D, F extends AnyFunctions, E, T extends TableKey<M>, S extends string, Fa extends string, C extends boolean, P extends "offset" | "cursor">(betterSupabase: BetterSupabase<M, D, F, E>, list: ListDefinition<M, T, E, S, Fa, C, P>, options?: CheckSqliteOptions & {
32
+ readonly all?: false;
33
+ }): Promise<Result<undefined>>;
20
34
  //#endregion
21
35
  //#region src/powersync/watch.d.ts
22
36
  interface WatchOptions<T> {
@@ -57,4 +71,4 @@ declare function sqliteTables(betterSupabase: {
57
71
  readonly meta: SchemaMeta;
58
72
  }, keys: readonly string[], options?: SqliteCompilerOptions): string[];
59
73
  //#endregion
60
- export { sqliteCompiler as a, checkSqlite as i, sqliteTables as n, watch as r, WatchOptions as t };
74
+ export { checkSqlite as a, CheckSqliteOptions as i, sqliteTables as n, sqliteCompiler as o, watch as r, WatchOptions as t };
@@ -1,7 +1,7 @@
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 { d as temporalText } from "./temporal-BJGitm-h.js";
4
- import { t as temporal } from "./temporal-required-BVvW7SYJ.js";
4
+ import { t as temporal } from "./temporal-required-BtynQtM-.js";
5
5
  //#region src/ir/wire.ts
6
6
  /** ISO text of a `Date`; an invalid date has none. */
7
7
  function dateText(value) {
@@ -1,8 +1,9 @@
1
- import { n as dbError } from "./errors-B11Duf73.js";
2
- import { a as ok, r as err, t as AsyncResult } from "./result-DzUbqgdW.js";
3
- import { n as credentialRefInTenant, r as foreignCredentialRef } from "./provider-Di3sRutW.js";
4
- import { D as stringsOf, O as textOf, S as requiredInstant, _ as randomToken, b as recordOrEmpty, d as isRecord, h as optionalText, i as blockCall, l as injectableOf, m as optionalInstant, n as applyTemporal, s as enumOrThrow, w as seconds, x as recordsOf, y as recordOf } from "./block-helpers-DWHxHsEQ.js";
5
- import { t as createWorkflows } from "./workflows-wu1WWBn7.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
+ import { n as isRecord } from "./guards-6F2bCtQR.js";
4
+ import { n as credentialRefInTenant, r as foreignCredentialRef } from "./provider-DxRTex4x.js";
5
+ import { A as stringsOf, C as recordOrEmpty, D as seconds, S as recordOf, T as requiredInstant, _ as optionalInstant, b as randomToken, c as enumOrThrow, i as blockCall, j as textOf, n as applyTemporal, u as injectableOf, v as optionalText, w as recordsOf } from "./block-helpers-Cy3pB96I.js";
6
+ import { t as createWorkflows } from "./workflows-IvxzG2cl.js";
6
7
  import { o as graphOf, r as diffGraphs } from "./graph-BGyLLFLX.js";
7
8
  //#region src/blocks/workflow-builder/rows.ts
8
9
  const VERSION_STATUSES = [
@@ -1,6 +1,6 @@
1
- import { T as WorkflowGraph, c as NodeRunRecord, i as BuilderStarter } from "../../types-AYOvcyep.js";
2
- import { i as executeGraph, n as GraphStepCall, r as approvalToken, t as GraphRuntime } from "../../executor-BVBFM86G.js";
3
- import { o as WorkflowFn } from "../../workflow-sdk-B3yLD6Br.js";
1
+ import { T as WorkflowGraph, c as NodeRunRecord, i as BuilderStarter } from "../../types-CD6yCDx3.js";
2
+ import { i as executeGraph, n as GraphStepCall, r as approvalToken, t as GraphRuntime } from "../../executor-CpxLPCiz.js";
3
+ import { o as WorkflowFn } from "../../workflow-sdk-DTZyrvNo.js";
4
4
  import { World } from "@workflow/world";
5
5
  //#region src/workflow-sdk/builder/builder.d.ts
6
6
  /** The env flag the Workflow SDK reads before it starts or runs dynamic source. */
@@ -1,4 +1,4 @@
1
- import { a as StartOnEventOptions, c as contextAttributes, d as startFor, f as startOnEvent, i as StartForOptions, l as hookMetadata, m as workflowStarter, n as HookForbiddenError, o as WorkflowFn, p as workflowContext, r as ProtectWebHandlerOptions, s as authorizeHook, t as AuthorizeHookOptions, u as protectWebHandler } from "../workflow-sdk-B3yLD6Br.js";
1
+ import { a as StartOnEventOptions, c as contextAttributes, d as startFor, f as startOnEvent, i as StartForOptions, l as hookMetadata, m as workflowStarter, n as HookForbiddenError, o as WorkflowFn, p as workflowContext, r as ProtectWebHandlerOptions, s as authorizeHook, t as AuthorizeHookOptions, u as protectWebHandler } from "../workflow-sdk-DTZyrvNo.js";
2
2
  //#region src/workflow-sdk/attributes.d.ts
3
3
  /** The attributes the Supabase World's status trigger copies into `workflow_runs`. */
4
4
  export declare const WORKFLOW_ATTRIBUTES: {