better-supabase 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (536) hide show
  1. package/README.md +299 -41
  2. package/dist/access-sql-B0dF-SoF.js +181 -0
  3. package/dist/actor-CQTlc1Hh.d.ts +43 -0
  4. package/dist/adapter-Bc1o3zyy.js +1106 -0
  5. package/dist/agents-CVHGd7It.d.ts +94 -0
  6. package/dist/ai-cache-CBWs1W0k.js +80 -0
  7. package/dist/ai-cache-DaDu_G5L.d.ts +64 -0
  8. package/dist/ai-chat-7amvXjmQ.d.ts +590 -0
  9. package/dist/ai-chat-B24UI962.js +743 -0
  10. package/dist/ai-files-CSPNswUY.js +319 -0
  11. package/dist/ai-sdk/agents/index.d.ts +74 -0
  12. package/dist/ai-sdk/agents/index.js +159 -0
  13. package/dist/ai-sdk/batches/index.d.ts +74 -0
  14. package/dist/ai-sdk/batches/index.js +180 -0
  15. package/dist/ai-sdk/cache/index.d.ts +38 -0
  16. package/dist/ai-sdk/cache/index.js +127 -0
  17. package/dist/ai-sdk/chat/index.d.ts +2 -0
  18. package/dist/ai-sdk/chat/index.js +246 -0
  19. package/dist/ai-sdk/embeddings/index.d.ts +3 -0
  20. package/dist/ai-sdk/embeddings/index.js +2 -0
  21. package/dist/ai-sdk/files/index.d.ts +61 -0
  22. package/dist/ai-sdk/files/index.js +111 -0
  23. package/dist/ai-sdk/index.d.ts +145 -0
  24. package/dist/ai-sdk/index.js +174 -0
  25. package/dist/ai-sdk/mcp/index.d.ts +102 -0
  26. package/dist/ai-sdk/mcp/index.js +362 -0
  27. package/dist/ai-sdk/memory/index.d.ts +67 -0
  28. package/dist/ai-sdk/memory/index.js +175 -0
  29. package/dist/ai-sdk/react/index.d.ts +2 -0
  30. package/dist/ai-sdk/react/index.js +3 -0
  31. package/dist/ai-sdk/react/server.d.ts +6 -0
  32. package/dist/ai-sdk/react/server.js +7 -0
  33. package/dist/ai-sdk/workflow/index.d.ts +249 -0
  34. package/dist/ai-sdk/workflow/index.js +575 -0
  35. package/dist/ai-sdk/workflow/react/index.d.ts +20 -0
  36. package/dist/ai-sdk/workflow/react/index.js +66 -0
  37. package/dist/ai-sdk/workflow/react/server.d.ts +10 -0
  38. package/dist/ai-sdk/workflow/react/server.js +12 -0
  39. package/dist/ai-tasks-Cd1HMFvB.d.ts +131 -0
  40. package/dist/announcements-CiyOs-xP.js +107 -0
  41. package/dist/announcements-ZRGnScWI.d.ts +72 -0
  42. package/dist/api-keys-rCGtKaZA.d.ts +156 -0
  43. package/dist/assistant-DwdpDH1q.d.ts +147 -0
  44. package/dist/astro/index.d.ts +86 -0
  45. package/dist/astro/index.js +93 -0
  46. package/dist/attributes-5dYul0u0.js +13 -0
  47. package/dist/auth-link-BjFPqwLz.d.ts +97 -0
  48. package/dist/auth-link-DrDX9KOT.js +114 -0
  49. package/dist/authorization-BFCqamMs.d.ts +172 -0
  50. package/dist/before-route-CnR0C0Jr.js +30 -0
  51. package/dist/bind-Bu_ZNa3W.d.ts +62 -0
  52. package/dist/bind-l4kAvYSv.js +97 -0
  53. package/dist/block-events-CrT8r7Fe.js +76 -0
  54. package/dist/block-fields-GFkxl4dP.js +49 -0
  55. package/dist/block-fields-SJ6fEf3o.d.ts +31 -0
  56. package/dist/block-helpers-CKtbFcRv.d.ts +37 -0
  57. package/dist/block-helpers-DWHxHsEQ.js +190 -0
  58. package/dist/block-hooks-BmjMyXTa.js +114 -0
  59. package/dist/block-hooks-plbZ0AbJ.d.ts +107 -0
  60. package/dist/{kit-transport-DJlHQUBU.js → block-transport-BLr-ZgLc.js} +11 -7
  61. package/dist/block-transport-DvaoPuZ9.d.ts +48 -0
  62. package/dist/blocks/agents/index.d.ts +3 -0
  63. package/dist/blocks/agents/index.js +123 -0
  64. package/dist/blocks/ai-cache/index.d.ts +3 -0
  65. package/dist/blocks/ai-cache/index.js +3 -0
  66. package/dist/blocks/ai-chat/index.d.ts +31 -0
  67. package/dist/blocks/ai-chat/index.js +5 -0
  68. package/dist/blocks/ai-chat/react/index.d.ts +77 -0
  69. package/dist/blocks/ai-chat/react/index.js +387 -0
  70. package/dist/blocks/ai-chat/react/server.d.ts +16 -0
  71. package/dist/blocks/ai-chat/react/server.js +14 -0
  72. package/dist/blocks/ai-files/index.d.ts +14 -0
  73. package/dist/blocks/ai-files/index.js +3 -0
  74. package/dist/blocks/ai-providers/index.d.ts +7 -0
  75. package/dist/blocks/ai-providers/index.js +211 -0
  76. package/dist/blocks/ai-tasks/index.d.ts +3 -0
  77. package/dist/blocks/ai-tasks/index.js +203 -0
  78. package/dist/blocks/announcements/index.d.ts +3 -0
  79. package/dist/blocks/announcements/index.js +3 -0
  80. package/dist/blocks/announcements/react/index.d.ts +31 -0
  81. package/dist/blocks/announcements/react/index.js +86 -0
  82. package/dist/blocks/announcements/react/server.d.ts +6 -0
  83. package/dist/blocks/announcements/react/server.js +7 -0
  84. package/dist/blocks/api-keys/index.d.ts +35 -0
  85. package/dist/blocks/api-keys/index.js +334 -0
  86. package/dist/blocks/attachments/index.d.ts +210 -0
  87. package/dist/blocks/attachments/index.js +222 -0
  88. package/dist/blocks/audit/index.d.ts +366 -0
  89. package/dist/blocks/audit/index.js +714 -0
  90. package/dist/blocks/billing/index.d.ts +265 -0
  91. package/dist/blocks/billing/index.js +400 -0
  92. package/dist/blocks/comments/index.d.ts +200 -0
  93. package/dist/blocks/comments/index.js +207 -0
  94. package/dist/blocks/connectors/index.d.ts +3 -0
  95. package/dist/blocks/connectors/index.js +164 -0
  96. package/dist/blocks/data-lifecycle/index.d.ts +251 -0
  97. package/dist/blocks/data-lifecycle/index.js +353 -0
  98. package/dist/blocks/entitlements/index.d.ts +14 -0
  99. package/dist/blocks/entitlements/index.js +25 -0
  100. package/dist/blocks/flags/index.d.ts +226 -0
  101. package/dist/blocks/flags/index.js +282 -0
  102. package/dist/blocks/inbox/index.d.ts +6 -0
  103. package/dist/blocks/inbox/index.js +499 -0
  104. package/dist/blocks/inbox/react/index.d.ts +2 -0
  105. package/dist/blocks/inbox/react/index.js +225 -0
  106. package/dist/blocks/inbox/react/server.d.ts +10 -0
  107. package/dist/blocks/inbox/react/server.js +12 -0
  108. package/dist/blocks/index.d.ts +65 -0
  109. package/dist/blocks/index.js +77 -0
  110. package/dist/blocks/jobs/index.d.ts +297 -0
  111. package/dist/blocks/jobs/index.js +1051 -0
  112. package/dist/blocks/knowledge/index.d.ts +3 -0
  113. package/dist/blocks/knowledge/index.js +3 -0
  114. package/dist/blocks/memory/index.d.ts +8 -0
  115. package/dist/blocks/memory/index.js +289 -0
  116. package/dist/blocks/notifications/index.d.ts +297 -0
  117. package/dist/blocks/notifications/index.js +425 -0
  118. package/dist/blocks/notifications/react/index.d.ts +44 -0
  119. package/dist/blocks/notifications/react/index.js +67 -0
  120. package/dist/blocks/notifications/react/server.d.ts +6 -0
  121. package/dist/blocks/notifications/react/server.js +7 -0
  122. package/dist/blocks/onboarding/index.d.ts +3 -0
  123. package/dist/blocks/onboarding/index.js +64 -0
  124. package/dist/blocks/onboarding/react/index.d.ts +28 -0
  125. package/dist/blocks/onboarding/react/index.js +78 -0
  126. package/dist/blocks/onboarding/react/server.d.ts +7 -0
  127. package/dist/blocks/onboarding/react/server.js +7 -0
  128. package/dist/blocks/organizations/index.d.ts +241 -0
  129. package/dist/blocks/organizations/index.js +400 -0
  130. package/dist/blocks/outbox/index.d.ts +3 -0
  131. package/dist/blocks/outbox/index.js +266 -0
  132. package/dist/blocks/profiles/index.d.ts +40 -0
  133. package/dist/blocks/profiles/index.js +28 -0
  134. package/dist/blocks/push/index.d.ts +185 -0
  135. package/dist/blocks/push/index.js +258 -0
  136. package/dist/blocks/settings/index.d.ts +89 -0
  137. package/dist/blocks/settings/index.js +104 -0
  138. package/dist/blocks/sso/index.d.ts +198 -0
  139. package/dist/blocks/sso/index.js +1297 -0
  140. package/dist/blocks/usage/index.d.ts +4 -0
  141. package/dist/blocks/usage/index.js +233 -0
  142. package/dist/blocks/waitlist/index.d.ts +117 -0
  143. package/dist/blocks/waitlist/index.js +132 -0
  144. package/dist/blocks/webhooks/index.d.ts +304 -0
  145. package/dist/{webhooks → blocks/webhooks}/index.js +468 -148
  146. package/dist/blocks/workflow-builder/index.d.ts +21 -0
  147. package/dist/blocks/workflow-builder/index.js +5 -0
  148. package/dist/blocks/workflow-builder/react/index.d.ts +47 -0
  149. package/dist/blocks/workflow-builder/react/index.js +119 -0
  150. package/dist/blocks/workflow-builder/react/server.d.ts +8 -0
  151. package/dist/blocks/workflow-builder/react/server.js +11 -0
  152. package/dist/blocks/workflows/index.d.ts +3 -0
  153. package/dist/blocks/workflows/index.js +3 -0
  154. package/dist/blocks/workflows/react/index.d.ts +47 -0
  155. package/dist/blocks/workflows/react/index.js +137 -0
  156. package/dist/blocks/workflows/react/server.d.ts +8 -0
  157. package/dist/blocks/workflows/react/server.js +11 -0
  158. package/dist/{index-SaTsEfGP.d.ts → bucket-Cl46E3jS.d.ts} +134 -91
  159. package/dist/{simplify-_0oUKqCd.js → build-BXIzE6Xv.js} +222 -124
  160. package/dist/{channel-FQW-CnGR.d.ts → channel-_2Mx1Oyu.d.ts} +2 -2
  161. package/dist/channels-CkgQ_X60.js +114 -0
  162. package/dist/chat-sdk/index.d.ts +303 -0
  163. package/dist/chat-sdk/index.js +733 -0
  164. package/dist/chat-sdk/react/index.d.ts +2 -0
  165. package/dist/chat-sdk/react/index.js +3 -0
  166. package/dist/chat-sdk/react/server.d.ts +3 -0
  167. package/dist/chat-sdk/react/server.js +2 -0
  168. package/dist/claims-DDBQT6BK.js +61 -0
  169. package/dist/{claims-BAf6c7is.js → claims-PqzCxaTD.js} +39 -2
  170. package/dist/cli/bin.js +1 -1
  171. package/dist/cli/{codemod-DqV7612m.js → codemod-Bl_tQpHn.js} +105 -2
  172. package/dist/cli/config-B9HkL8nF.js +2 -0
  173. package/dist/cli/config-DU7EJImt.js +49 -0
  174. package/dist/cli/config-NiPxAmUF.js +1077 -0
  175. package/dist/cli/{dist-xn4wlboc.js → dist-DRAVaE6w.js} +111 -1
  176. package/dist/cli/{doctor-L7Z8mYTx.js → doctor-B4JOm_ox.js} +992 -316
  177. package/dist/cli/{env-DmKv_G4A.js → env-CJLbUVPB.js} +1 -1
  178. package/dist/cli/{env-jIFUADLY.js → env-qXgyMV6r.js} +2 -2
  179. package/dist/cli/fresh-import-BeYf9I3x.js +40 -0
  180. package/dist/cli/gen-BGLb_zou.js +3100 -0
  181. package/dist/cli/gen-DAH8FM2W.js +2 -0
  182. package/dist/cli/index.d.ts +44 -5
  183. package/dist/cli/index.js +7 -7
  184. package/dist/cli/{init-Saf5-R9T.js → init-BIIwclPg.js} +242 -27
  185. package/dist/cli/{introspect--H7oGmcd.js → introspect-DNUTuNvb.js} +5 -5
  186. package/dist/cli/{io-k41_z-jT.js → io-DI1mTdSA.js} +12 -3
  187. package/dist/cli/{keys-ByKHnvP9.js → keys-BGCnnb-s.js} +8 -6
  188. package/dist/cli/{ohash-D7bG_EOb.js → ohash-BjQY1cBb.js} +1 -1
  189. package/dist/cli/{openapi-Cp5Fyta-.js → openapi-BlRJ18s3.js} +2 -2
  190. package/dist/cli/{project-B_GeXyHh.js → project-DZRaBaY7.js} +11 -6
  191. package/dist/cli/read-sets-CETOSFx4.js +223 -0
  192. package/dist/cli/{run-BKR2W_79.js → run-DNWxHynX.js} +33 -23
  193. package/dist/cli/{seed-CUlqWh-8.js → seed-DQzqT7LP.js} +8 -6
  194. package/dist/cli/{skills-LJJIhLFR.js → skills-QQs4q68J.js} +3 -2
  195. package/dist/cli/sql-D0GUtUPp.js +536 -0
  196. package/dist/cli/{config-CPVpXP5I.js → supabase-toml-B-bIukQF.js} +72 -942
  197. package/dist/cli/typegen-version-DeFbtzYI.js +8 -0
  198. package/dist/cli/{version-BDJuO0UR.js → version-hr88OZG0.js} +1 -1
  199. package/dist/client/index.d.ts +3 -2
  200. package/dist/client/index.js +11 -71
  201. package/dist/client/native/index.d.ts +228 -0
  202. package/dist/client/native/index.js +361 -0
  203. package/dist/client-CI0Z2zWX.js +277 -0
  204. package/dist/cloud-event-BnmD5fb9.js +46 -0
  205. package/dist/cloud-event-C1JCc1bH.d.ts +50 -0
  206. package/dist/{compiler-BXH_aZ7N.d.ts → compiler-DY_wkj4R.d.ts} +2 -2
  207. package/dist/compose-BIBNgAnq.js +53 -0
  208. package/dist/composite-Bt1YK3Ke.d.ts +146 -0
  209. package/dist/composite-DhE66P5u.js +130 -0
  210. package/dist/config/index.d.ts +6 -4
  211. package/dist/config/index.js +5 -5
  212. package/dist/{config-T_ejwyd3.d.ts → config-D44Y7PAv.d.ts} +406 -205
  213. package/dist/{config-DreERlKo.js → config-Dn7F5k9A.js} +62 -14
  214. package/dist/connector-Dv8kK0MO.d.ts +107 -0
  215. package/dist/connectors-hkLCwyEz.d.ts +120 -0
  216. package/dist/context-BCrWe7ow.d.ts +237 -0
  217. package/dist/credentials/index.d.ts +31 -0
  218. package/dist/credentials/index.js +168 -0
  219. package/dist/cron-DVPUg5k3.js +145 -0
  220. package/dist/csv-CPAzEmB6.js +25 -0
  221. package/dist/db-exception-CnWcYPxL.js +15 -0
  222. package/dist/{define-cNKzqwL_.js → define-B-TVjC25.js} +784 -227
  223. package/dist/{define-Bp_BZa5h.d.ts → define-CJJkkr1-.d.ts} +353 -61
  224. package/dist/edge/index.d.ts +69 -11
  225. package/dist/edge/index.js +191 -75
  226. package/dist/elysia/index.d.ts +59 -0
  227. package/dist/elysia/index.js +62 -0
  228. package/dist/embeddings-4ZvFzjsU.js +127 -0
  229. package/dist/embeddings-C9KGQnXt.d.ts +68 -0
  230. package/dist/{refresh-BTrQ_ZTp.d.ts → ended-jLfvw8h-.d.ts} +20 -2
  231. package/dist/{entitlements-DUxU4oHe.d.ts → entitlements-DHrY2UDZ.d.ts} +16 -7
  232. package/dist/entitlements-DRl6ZJUm.js +24 -0
  233. package/dist/envelope-DqnYGRw7.js +47 -0
  234. package/dist/{errors-DtwXa6b8.js → errors-B11Duf73.js} +82 -13
  235. package/dist/errors-DLjJHPLK.js +44 -0
  236. package/dist/escape-like-DHfx6jRr.js +7 -0
  237. package/dist/escape-like-ImTK0ps_.d.ts +15 -0
  238. package/dist/eve/index.d.ts +220 -0
  239. package/dist/eve/index.js +504 -0
  240. package/dist/eve-gT2Fpjut.d.ts +151 -0
  241. package/dist/events/index.d.ts +4 -3
  242. package/dist/events/index.js +9 -50
  243. package/dist/events-DWDhx77e.d.ts +549 -0
  244. package/dist/executor-Bq28caBo.js +718 -0
  245. package/dist/executor-C-R4pucm.js +83 -0
  246. package/dist/executor-CaWigTyR.d.ts +148 -0
  247. package/dist/executor-D14tGopJ.d.ts +36 -0
  248. package/dist/{executor-Cghdstwu.d.ts → executor-DbvExCFC.d.ts} +7 -1
  249. package/dist/{sql-Coh6n4cC.js → executor-De1Of3m3.js} +210 -11
  250. package/dist/executor-DvsBbNBS.d.ts +261 -0
  251. package/dist/expo/index.d.ts +79 -0
  252. package/dist/expo/index.js +129 -0
  253. package/dist/expo-sqlite/index.d.ts +58 -0
  254. package/dist/expo-sqlite/index.js +104 -0
  255. package/dist/field-errors-BFOa7WhB.d.ts +99 -0
  256. package/dist/field-errors-VF1yb8yI.js +13 -0
  257. package/dist/framework-CONDyPYx.js +51 -0
  258. package/dist/framework-DuVb4Xa8.d.ts +25 -0
  259. package/dist/gateway-C1ssRHnf.d.ts +130 -0
  260. package/dist/graph-BGyLLFLX.js +265 -0
  261. package/dist/h3/index.d.ts +59 -0
  262. package/dist/h3/index.js +55 -0
  263. package/dist/h3/v1/index.d.ts +63 -0
  264. package/dist/h3/v1/index.js +49 -0
  265. package/dist/history-BZih6SFP.js +64 -0
  266. package/dist/hono/index.d.ts +56 -7
  267. package/dist/hono/index.js +97 -45
  268. package/dist/{react-C_s7kiNz.js → hooks-1BTCJsiw.js} +104 -133
  269. package/dist/http-Cv4T29xh.js +40 -0
  270. package/dist/http-DdYadv-o.js +126 -0
  271. package/dist/image-url-pIVlO6R1.js +41 -0
  272. package/dist/impersonation-DcqaTBHx.js +148 -0
  273. package/dist/inbox-i7E1ppo6.d.ts +384 -0
  274. package/dist/index-ACiNPN4Z.d.ts +74 -0
  275. package/dist/{index-DgILJRXj.d.ts → index-Bepi-Hgg.d.ts} +91 -28
  276. package/dist/index-BkWT_uBO.d.ts +51 -0
  277. package/dist/index-BpFYMsi0.d.ts +53 -0
  278. package/dist/{index-C7f8cOBM.d.ts → index-Bxih3l0u.d.ts} +2 -2
  279. package/dist/index-CaxrMD1A.d.ts +1 -0
  280. package/dist/index-ClmjK_o-.d.ts +55 -0
  281. package/dist/index-CtuakVRc.d.ts +267 -0
  282. package/dist/index-D48jVS-N.d.ts +246 -0
  283. package/dist/index-DDrYaUcq.d.ts +138 -0
  284. package/dist/index-DQh4VCc9.d.ts +98 -0
  285. package/dist/{live-D9W2M5aO.d.ts → index-DunNRdnT.d.ts} +136 -38
  286. package/dist/index.d.ts +65 -18
  287. package/dist/index.js +42 -14
  288. package/dist/invalidate-BBqhpxyB.d.ts +19 -0
  289. package/dist/json-CEnpTHlZ.js +16 -0
  290. package/dist/json-schema-CvER4kgT.js +502 -0
  291. package/dist/keys-4MnkWTTh.js +35 -0
  292. package/dist/kit-B5tid-q5.d.ts +60 -0
  293. package/dist/kit-Fm-Fv7q5.js +78 -0
  294. package/dist/knowledge-BXBbT0Tr.d.ts +176 -0
  295. package/dist/knowledge-CDmiMLew.js +255 -0
  296. package/dist/lint/index.d.ts +1 -1
  297. package/dist/lint/index.js +37 -0
  298. package/dist/list/index.d.ts +3 -2
  299. package/dist/list/index.js +1 -444
  300. package/dist/{index-fag8VJZ2.d.ts → list-query-BRt-zDF7.d.ts} +20 -12
  301. package/dist/list-query-gl808ac1.js +459 -0
  302. package/dist/{live-CdJBOc4f.js → live-CTAZQkwl.js} +99 -14
  303. package/dist/logger-DWVYUmwi.d.ts +18 -0
  304. package/dist/mcp/index.d.ts +38 -11
  305. package/dist/mcp/index.js +82 -46
  306. package/dist/mcp/sdk/index.d.ts +105 -0
  307. package/dist/mcp/sdk/index.js +126 -0
  308. package/dist/message-CaKlqdsX.js +219 -0
  309. package/dist/message-CfDoR0Y6.d.ts +94 -0
  310. package/dist/messages-B9-5887d.js +715 -0
  311. package/dist/messages-DYP0sUTe.d.ts +59 -0
  312. package/dist/{mfa-CusDgPaD.d.ts → mfa-Daak8ukG.d.ts} +8 -2
  313. package/dist/modules-DpPwzC7E.d.ts +192 -0
  314. package/dist/modules-dxrVK3ID.js +228 -0
  315. package/dist/nestjs/index.d.ts +68 -0
  316. package/dist/nestjs/index.js +164 -0
  317. package/dist/next/client/index.d.ts +35 -0
  318. package/dist/next/client/index.js +36 -0
  319. package/dist/next/image/index.js +3 -24
  320. package/dist/next/index.d.ts +150 -51
  321. package/dist/next/index.js +261 -107
  322. package/dist/node/index.d.ts +4 -0
  323. package/dist/node/index.js +210 -0
  324. package/dist/node-headers-AO06VhqH.d.ts +24 -0
  325. package/dist/node-headers-C71zNQHe.js +55 -0
  326. package/dist/nuxt/index.d.ts +60 -0
  327. package/dist/nuxt/index.js +64 -0
  328. package/dist/onboarding-BZGHYJks.d.ts +62 -0
  329. package/dist/openapi/index.d.ts +1 -1
  330. package/dist/openapi/index.js +3 -3
  331. package/dist/orpc/index.d.ts +70 -11
  332. package/dist/orpc/index.js +73 -24
  333. package/dist/otel/index.d.ts +7 -7
  334. package/dist/otel/index.js +87 -57
  335. package/dist/outbox-Cq7pPYvl.d.ts +161 -0
  336. package/dist/{plugin-o144f322.d.ts → plugin-FGY8UhYm.d.ts} +30 -10
  337. package/dist/plugin-tfXW1-qO.js +45 -0
  338. package/dist/plugins/actor/index.d.ts +2 -2
  339. package/dist/plugins/actor/index.js +3 -3
  340. package/dist/plugins/rules/index.d.ts +11 -4
  341. package/dist/plugins/rules/index.js +40 -13
  342. package/dist/plugins/soft-delete/index.d.ts +5 -4
  343. package/dist/plugins/soft-delete/index.js +10 -5
  344. package/dist/plugins/tenant/index.d.ts +2 -2
  345. package/dist/plugins/tenant/index.js +18 -11
  346. package/dist/plugins/timestamps/index.d.ts +5 -3
  347. package/dist/plugins/timestamps/index.js +6 -4
  348. package/dist/plugins/validation/index.d.ts +2 -2
  349. package/dist/plugins/validation/index.js +10 -6
  350. package/dist/{pool-C9voM4Kw.d.ts → pool-CAu2nLrL.d.ts} +2 -2
  351. package/dist/postgres/index.d.ts +4 -4
  352. package/dist/postgres/index.js +1 -2
  353. package/dist/{postgrest-CruYKAvV.d.ts → postgrest-BLVdEnfe.d.ts} +13 -3
  354. package/dist/powersync/index.d.ts +43 -0
  355. package/dist/powersync/index.js +199 -0
  356. package/dist/powersync/react/index.d.ts +87 -0
  357. package/dist/powersync/react/index.js +108 -0
  358. package/dist/{problem-BW1KhzSG.js → problem-BreOl8b8.js} +14 -3
  359. package/dist/{problem-Blxe8S31.d.ts → problem-DD8LZFjc.d.ts} +21 -3
  360. package/dist/provider-BH5UWZJ6.d.ts +113 -0
  361. package/dist/provider-Di3sRutW.js +57 -0
  362. package/dist/query/index.d.ts +4 -2
  363. package/dist/query/index.js +4 -3
  364. package/dist/{query-CCbo44lG.js → query-BQ-NaZon.js} +141 -24
  365. package/dist/{queue-BYUCjr59.d.ts → queue-CLJurhdy.d.ts} +258 -83
  366. package/dist/react/index.d.ts +11 -7
  367. package/dist/react/index.js +7 -3
  368. package/dist/react/native/index.d.ts +116 -0
  369. package/dist/react/native/index.js +130 -0
  370. package/dist/react/server.d.ts +28 -10
  371. package/dist/react/server.js +22 -5
  372. package/dist/react/session.d.ts +2 -2
  373. package/dist/react-4ZqkP8da.js +79 -0
  374. package/dist/react-F80mF4-t.js +409 -0
  375. package/dist/react-router/index.d.ts +83 -0
  376. package/dist/react-router/index.js +89 -0
  377. package/dist/react-topic-seAWjL3_.js +38 -0
  378. package/dist/{read-set-DQFt1N_Y.js → read-set-DuKWC9Mj.js} +67 -25
  379. package/dist/realtime/index.d.ts +4 -5
  380. package/dist/realtime/index.js +144 -82
  381. package/dist/refusal-CeJWxmkH.js +61 -0
  382. package/dist/refusal-D1rgbzNq.d.ts +15 -0
  383. package/dist/replicas-CwrYp5Zj.js +94 -0
  384. package/dist/{view-Bq64ki8-.js → resolve-D_IcnvFd.js} +239 -289
  385. package/dist/{resolve-C15TJq77.d.ts → resolve-KW8nCeL6.d.ts} +29 -45
  386. package/dist/{resource-CRxxwkQq.js → resource-BsvzCMlX.js} +4 -4
  387. package/dist/{resource-D8iqWMr-.d.ts → resource-D6Uc7Sk7.d.ts} +5 -5
  388. package/dist/respond-BUgsXNgk.js +91 -0
  389. package/dist/respond-DoBijysA.d.ts +93 -0
  390. package/dist/result-D7y2fT87.d.ts +282 -0
  391. package/dist/{result-BKiliPY7.js → result-DzUbqgdW.js} +27 -2
  392. package/dist/run-state-CPo-1X2B.d.ts +12 -0
  393. package/dist/run-state-CgBKzYMW.js +13 -0
  394. package/dist/search-CUWCRYKL.js +9 -0
  395. package/dist/server/index.d.ts +143 -21
  396. package/dist/server/index.js +46 -14
  397. package/dist/{respond-D2OQl62-.d.ts → server-CeVeeXwz.d.ts} +225 -80
  398. package/dist/session-ChiXDZdZ.d.ts +72 -0
  399. package/dist/shared-CBxosKK3.js +75 -0
  400. package/dist/{shared-D1dRUrAg.js → shared-CxWmcyqB.js} +2 -1
  401. package/dist/shared-DDSjEGDR.d.ts +11 -0
  402. package/dist/sign-in-BCV5S2WZ.d.ts +49 -0
  403. package/dist/sign-in-Cb1mwv6X.js +86 -0
  404. package/dist/{signers-Cc6r98SW.d.ts → signers-4y62_VIi.d.ts} +13 -9
  405. package/dist/simplify-DDO0j0LI.js +83 -0
  406. package/dist/solid/index.d.ts +131 -0
  407. package/dist/solid/index.js +344 -0
  408. package/dist/solid-start/index.d.ts +75 -0
  409. package/dist/solid-start/index.js +58 -0
  410. package/dist/{spec-pins-C3oc-Tdp.js → spec-pins--j6mTok4.js} +8 -1
  411. package/dist/{spec-pins-CqorWDnO.d.ts → spec-pins-C89s6DyW.d.ts} +7 -0
  412. package/dist/sql/index.d.ts +330 -194
  413. package/dist/sql/index.js +34901 -6489
  414. package/dist/ssr/index.d.ts +6 -5
  415. package/dist/ssr/index.js +3 -3
  416. package/dist/{standard-D7r6dMUu.js → standard-BK0cqJ7y.js} +4 -3
  417. package/dist/{standard-J4YgMOLm.d.ts → standard-CYsm7xpT.d.ts} +1 -1
  418. package/dist/stats-D_AD9GGu.js +1123 -0
  419. package/dist/storage/index.d.ts +5 -5
  420. package/dist/storage/index.js +1027 -368
  421. package/dist/store-BdH5ruDx.js +66 -0
  422. package/dist/store-CGjgWu5n.d.ts +68 -0
  423. package/dist/streams/index.d.ts +76 -0
  424. package/dist/streams/index.js +77 -0
  425. package/dist/streams/redis/index.d.ts +52 -0
  426. package/dist/streams/redis/index.js +185 -0
  427. package/dist/stripe-BMj5LtsT.js +38 -0
  428. package/dist/stripe-D04h-QBT.d.ts +136 -0
  429. package/dist/{support-Dk6vdmEw.js → support-BivNqSpK.js} +35 -12
  430. package/dist/{support-view-Da5peKFg.d.ts → support-view-33Oi07TT.d.ts} +1 -1
  431. package/dist/svelte/index.d.ts +114 -0
  432. package/dist/svelte/index.js +344 -0
  433. package/dist/sveltekit/index.d.ts +116 -0
  434. package/dist/sveltekit/index.js +106 -0
  435. package/dist/tags-B99_U9Pp.js +39 -0
  436. package/dist/tags-Cx-LnIQP.d.ts +30 -0
  437. package/dist/tanstack-db/index.d.ts +71 -0
  438. package/dist/tanstack-db/index.js +72 -0
  439. package/dist/tanstack-start/index.d.ts +75 -0
  440. package/dist/tanstack-start/index.js +95 -0
  441. package/dist/tee-CoEppCER.js +101 -0
  442. package/dist/{template-TxrGI5jR.js → template--jDkl3UP.js} +34 -13
  443. package/dist/template-CwO38Do8.d.ts +6 -0
  444. package/dist/temporal-BJGitm-h.js +79 -0
  445. package/dist/{temporal-required-CAt4Dc9Z.js → temporal-required-BVvW7SYJ.js} +3 -2
  446. package/dist/tenant-I1TEZ_BX.js +27 -0
  447. package/dist/tenant-icPeuUBN.d.ts +17 -0
  448. package/dist/testing/index.d.ts +343 -37
  449. package/dist/testing/index.js +1186 -79
  450. package/dist/timing-CyTQPubY.js +92 -0
  451. package/dist/ttl-Hr34gRu8.js +12 -0
  452. package/dist/{types-Dnf_wRDz.d.ts → types-6BdhkmZe.d.ts} +111 -45
  453. package/dist/types-BI-0Sl2v.d.ts +359 -0
  454. package/dist/types-C05bxW-W.d.ts +220 -0
  455. package/dist/types-DGs5L0VN.d.ts +192 -0
  456. package/dist/types-TaiEeBGA.d.ts +156 -0
  457. package/dist/usage-CrvrL2vw.d.ts +177 -0
  458. package/dist/user-change-XzvgafU4.js +130 -0
  459. package/dist/vault-CSO7ss5C.d.ts +50 -0
  460. package/dist/vercel-connect/index.d.ts +47 -0
  461. package/dist/vercel-connect/index.js +119 -0
  462. package/dist/{verify-Ce49ETPz.js → verify-DL41hbvY.js} +85 -13
  463. package/dist/verify-DPuWngD4.d.ts +172 -0
  464. package/dist/{version-DM_Roffb.js → version-Bvv6aLjZ.js} +1 -1
  465. package/dist/view-BeFcRV6G.js +99 -0
  466. package/dist/{view-BEf0diC5.d.ts → view-DbxLNu8L.d.ts} +35 -32
  467. package/dist/vue/index.d.ts +141 -0
  468. package/dist/vue/index.js +362 -0
  469. package/dist/watch-DI34G86j.d.ts +60 -0
  470. package/dist/watch-Xuxrvxq-.js +122 -0
  471. package/dist/{wire-D2dT86vi.js → wire-DtZQ4sdE.js} +15 -5
  472. package/dist/workflow-builder-DJ1oHn8g.js +398 -0
  473. package/dist/workflow-sdk/builder/index.d.ts +85 -0
  474. package/dist/workflow-sdk/builder/index.js +250 -0
  475. package/dist/workflow-sdk/index.d.ts +14 -0
  476. package/dist/workflow-sdk/index.js +3 -0
  477. package/dist/workflow-sdk/world/index.d.ts +107 -0
  478. package/dist/workflow-sdk/world/index.js +702 -0
  479. package/dist/workflow-sdk-B3yLD6Br.d.ts +98 -0
  480. package/dist/workflow-sdk-C2WJ_G2O.js +173 -0
  481. package/dist/workflow-sdk-world-D-prir6O.js +1397 -0
  482. package/dist/workflows-B0j9WKPu.d.ts +185 -0
  483. package/dist/workflows-wu1WWBn7.js +216 -0
  484. package/package.json +470 -29
  485. package/schemas/ai-message-v1.json +258 -0
  486. package/schemas/config-v1.json +1074 -140
  487. package/schemas/doctor-report-v1.json +21 -1
  488. package/schemas/snapshot-v2.json +8 -0
  489. package/skills/better-supabase/SKILL.md +41 -12
  490. package/skills/better-supabase/references/frontend.md +96 -0
  491. package/skills/better-supabase/references/plugins.md +10 -6
  492. package/skills/better-supabase/references/troubleshooting.md +2 -1
  493. package/skills/better-supabase-api/SKILL.md +76 -22
  494. package/skills/better-supabase-api/references/adapters.md +207 -0
  495. package/skills/better-supabase-api/references/ai.md +125 -0
  496. package/skills/better-supabase-api/references/expo.md +65 -0
  497. package/skills/better-supabase-api/references/powersync.md +35 -0
  498. package/skills/better-supabase-api/references/streams-credentials.md +105 -0
  499. package/skills/better-supabase-auth/SKILL.md +62 -18
  500. package/skills/better-supabase-auth/references/authorization-providers.md +51 -0
  501. package/skills/better-supabase-testing/SKILL.md +3 -1
  502. package/dist/cli/config-dtoekM0v.js +0 -2
  503. package/dist/cli/gen-BJc9vdyu.js +0 -2
  504. package/dist/cli/gen-C2osRcr5.js +0 -2204
  505. package/dist/cli/read-sets-BfMQcKy8.js +0 -289
  506. package/dist/cli/sql-DzPbfngx.js +0 -348
  507. package/dist/entitlements-CTEBm7IB.js +0 -20
  508. package/dist/events-aIO7vsIk.d.ts +0 -230
  509. package/dist/executor-BunPOO-k.d.ts +0 -402
  510. package/dist/executor-XycESQPH.js +0 -94
  511. package/dist/impersonation-VfaGc4Q_.js +0 -41
  512. package/dist/index-BGdgBPdf.d.ts +0 -161
  513. package/dist/index-DOESKG27.d.ts +0 -100
  514. package/dist/index-DmXSxbLi.d.ts +0 -62
  515. package/dist/index-Dxn2a5cw.d.ts +0 -50
  516. package/dist/jobs/index.d.ts +0 -226
  517. package/dist/jobs/index.js +0 -1007
  518. package/dist/json-schema-m1fiwKgN.js +0 -208
  519. package/dist/kit-events-CTFDfSwb.js +0 -60
  520. package/dist/kit-transport-B82k1djG.d.ts +0 -33
  521. package/dist/kits-CGLLrNPd.js +0 -157
  522. package/dist/notifications/index.d.ts +0 -162
  523. package/dist/notifications/index.js +0 -264
  524. package/dist/orgs/index.d.ts +0 -132
  525. package/dist/orgs/index.js +0 -245
  526. package/dist/permdock-sql-C2Inc6Xc.d.ts +0 -29
  527. package/dist/permdock-sql-DgOfeixi.js +0 -51
  528. package/dist/plugin-DwARMuQp.js +0 -59
  529. package/dist/server-Csx2sRjg.js +0 -655
  530. package/dist/stats-Bqob3WqT.js +0 -592
  531. package/dist/support-DT-OhSxD.d.ts +0 -88
  532. package/dist/template-mbvlysOo.d.ts +0 -6
  533. package/dist/temporal-CVlIV2DZ.js +0 -40
  534. package/dist/user-change-CHFEUro1.js +0 -49
  535. package/dist/webhooks/index.d.ts +0 -285
  536. package/skills/better-supabase-auth/references/permdock.md +0 -100
@@ -0,0 +1,136 @@
1
+ //#region src/blocks/stripe.d.ts
2
+ /**
3
+ * The part of the Stripe SDK (`stripe`, an optional peer) the billing and
4
+ * usage blocks call, typed structurally so the blocks never import it.
5
+ */
6
+ interface StripeClient {
7
+ readonly customers: {
8
+ create(params: {
9
+ readonly email?: string;
10
+ readonly name?: string;
11
+ readonly metadata?: Readonly<Record<string, string>>;
12
+ }, options?: {
13
+ readonly idempotencyKey?: string;
14
+ }): Promise<{
15
+ readonly id: string;
16
+ }>;
17
+ /** Used by `billing.updateCustomer`. */
18
+ update?(id: string, params: Readonly<Record<string, unknown>>): Promise<{
19
+ readonly id: string;
20
+ }>;
21
+ /** Used by `billing.taxIds`. */
22
+ listTaxIds?(id: string, params?: {
23
+ readonly limit?: number;
24
+ }): Promise<{
25
+ readonly data: readonly StripeTaxId[];
26
+ }>;
27
+ /** Used by `billing.addTaxId`. */
28
+ createTaxId?(id: string, params: {
29
+ readonly type: string;
30
+ readonly value: string;
31
+ }): Promise<StripeTaxId>;
32
+ /** Used by `billing.removeTaxId`. */
33
+ deleteTaxId?(id: string, taxId: string): Promise<{
34
+ readonly id: string;
35
+ readonly deleted?: boolean;
36
+ }>;
37
+ };
38
+ readonly checkout: {
39
+ readonly sessions: {
40
+ create(params: Readonly<Record<string, unknown>>, options?: {
41
+ readonly idempotencyKey?: string;
42
+ }): Promise<{
43
+ readonly id: string;
44
+ readonly url: string | null;
45
+ }>;
46
+ };
47
+ };
48
+ readonly billingPortal: {
49
+ readonly sessions: {
50
+ create(params: {
51
+ readonly customer: string;
52
+ readonly return_url?: string;
53
+ }): Promise<{
54
+ readonly id: string;
55
+ readonly url: string;
56
+ }>;
57
+ };
58
+ };
59
+ readonly subscriptionItems: {
60
+ update(id: string, params: {
61
+ readonly quantity: number;
62
+ readonly proration_behavior?: string;
63
+ }, options?: {
64
+ readonly idempotencyKey?: string;
65
+ }): Promise<{
66
+ readonly id: string;
67
+ readonly quantity?: number | null;
68
+ }>;
69
+ };
70
+ readonly subscriptions: {
71
+ cancel(id: string): Promise<{
72
+ readonly id: string;
73
+ }>;
74
+ /** Used by `billing.changePlan` and `billing.cancelAtPeriodEnd`. */
75
+ update?(id: string, params: Readonly<Record<string, unknown>>, options?: {
76
+ readonly idempotencyKey?: string;
77
+ }): Promise<{
78
+ readonly id: string;
79
+ }>;
80
+ };
81
+ /** Used by `billing.voidInvoice` and `billing.markInvoiceUncollectible`. */
82
+ readonly invoices?: {
83
+ voidInvoice(id: string): Promise<{
84
+ readonly id: string;
85
+ readonly status?: string | null;
86
+ }>;
87
+ markUncollectible(id: string): Promise<{
88
+ readonly id: string;
89
+ readonly status?: string | null;
90
+ }>;
91
+ };
92
+ readonly billing: {
93
+ readonly meterEvents: {
94
+ create(params: {
95
+ readonly event_name: string;
96
+ readonly payload: Readonly<Record<string, string>>;
97
+ readonly identifier?: string;
98
+ readonly timestamp?: number;
99
+ }, options?: {
100
+ readonly idempotencyKey?: string;
101
+ }): Promise<unknown>;
102
+ };
103
+ };
104
+ readonly webhooks: {
105
+ constructEventAsync(payload: string, header: string, secret: string): Promise<{
106
+ readonly id: string;
107
+ readonly type: string;
108
+ readonly data: {
109
+ readonly object: unknown;
110
+ };
111
+ }>;
112
+ };
113
+ }
114
+ /** A customer tax id as Stripe returns it (`eu_vat`, `DE123456789`). */
115
+ interface StripeTaxId {
116
+ readonly id: string;
117
+ readonly type: string;
118
+ readonly value: string;
119
+ readonly country?: string | null;
120
+ readonly verification?: {
121
+ readonly status?: string | null;
122
+ } | null;
123
+ readonly created?: number | null;
124
+ }
125
+ /**
126
+ * A Stripe client, the secret key to create one from the `stripe` package,
127
+ * or a function that returns a client. The function runs on every Stripe
128
+ * call, so it can create the client lazily, pick a per-request or per-tenant
129
+ * client (Stripe Connect), or read a rotated key; cache inside it when needed.
130
+ */
131
+ type StripeSource = StripeClient | {
132
+ readonly secretKey: string;
133
+ readonly apiVersion?: string;
134
+ } | (() => StripeClient | Promise<StripeClient>);
135
+ //#endregion
136
+ export { StripeSource as n, StripeTaxId as r, StripeClient as t };
@@ -1,11 +1,11 @@
1
- import { c as mapDbError, n as dbError } from "./errors-DtwXa6b8.js";
2
- import { t as temporal } from "./temporal-required-CAt4Dc9Z.js";
3
- import { i as ok, n as err, o as toDbError, t as AsyncResult } from "./result-BKiliPY7.js";
4
- import { t as validate } from "./standard-D7r6dMUu.js";
5
- import { c as supportCookie, l as supportCookieValue, s as clearSupportCookie } from "./server-Csx2sRjg.js";
6
- import { r as sqlIdent } from "./template-TxrGI5jR.js";
7
- import { n as emitKitEvent } from "./kit-events-CTFDfSwb.js";
8
- import { t as fromPgError } from "./executor-XycESQPH.js";
1
+ import { c as mapDbError, n as dbError } from "./errors-B11Duf73.js";
2
+ import { t as temporal } from "./temporal-required-BVvW7SYJ.js";
3
+ import { a as ok, r as err, s as toDbError, t as AsyncResult } from "./result-DzUbqgdW.js";
4
+ import { n as validate } from "./standard-BK0cqJ7y.js";
5
+ import { t as fromPgError } from "./executor-De1Of3m3.js";
6
+ import { d as clearSupportCookie, f as supportCookie, m as supportCookieValue } from "./adapter-Bc1o3zyy.js";
7
+ import { r as sqlIdent } from "./template--jDkl3UP.js";
8
+ import { i as emitBlockEvent } from "./block-events-CrT8r7Fe.js";
9
9
  //#region src/auth/support.ts
10
10
  /** A session from the jsonb the `support-sessions` functions return. */
11
11
  function supportSessionFromRow(row) {
@@ -25,7 +25,7 @@ function supportSessionFromRow(row) {
25
25
  };
26
26
  }
27
27
  /**
28
- * Support sessions in the `support-sessions` SQL kit module. `start` runs
28
+ * Support sessions in the `support-sessions` SQL module. `start` runs
29
29
  * as the admin, so the module's `is_platform()` gate applies; the reads run
30
30
  * on the admin connection.
31
31
  */
@@ -76,7 +76,8 @@ function sqlSupportStore(postgres, options = {}) {
76
76
  }
77
77
  /**
78
78
  * The claims a support session runs with: the target's, plus `act` naming
79
- * the admin, the reason and the session (the audit module records all three).
79
+ * the admin, the reason and the session (the audit module records all three),
80
+ * marked `kind: "support"` so `actorOf` never reads it as an OAuth client.
80
81
  * `role` falls back to `authenticated`; the admin's claims never leak in.
81
82
  */
82
83
  function supportClaims(session, target) {
@@ -86,6 +87,7 @@ function supportClaims(session, target) {
86
87
  sub: session.targetUserId,
87
88
  role: typeof role === "string" && role !== "" ? role : "authenticated",
88
89
  act: {
90
+ kind: "support",
89
91
  sub: session.adminId,
90
92
  reason: session.reason,
91
93
  session_id: session.id,
@@ -95,6 +97,9 @@ function supportClaims(session, target) {
95
97
  }
96
98
  //#endregion
97
99
  //#region src/server/support.ts
100
+ /** How long a support target's claims are reused; a role change applies within it. */
101
+ const CLAIMS_TTL_MS = 6e4;
102
+ const CLAIMS_CACHE_SIZE = 1e3;
98
103
  const denied = (message, code) => dbError("forbidden", message, { code });
99
104
  const invalid = (message, code) => dbError("invalid_request", message, { code });
100
105
  function storeError(cause) {
@@ -117,7 +122,7 @@ function createSupport(options, events, claimsSchema) {
117
122
  const maxTtl = policy.maxTtl ?? 14400;
118
123
  const cookieName = options.cookie?.name;
119
124
  const emit = (type, data) => {
120
- emitKitEvent(events, type, data, {
125
+ emitBlockEvent(events, type, data, {
121
126
  actorId: data.adminId,
122
127
  ...data.sessionId ? { subject: `support_sessions/${data.sessionId}` } : {}
123
128
  });
@@ -127,6 +132,24 @@ function createSupport(options, events, claimsSchema) {
127
132
  if (store.claims) return store.claims(targetUserId);
128
133
  return { role: "authenticated" };
129
134
  };
135
+ /** Target claims per support session; the session itself is loaded every time, so revoking stays immediate. */
136
+ const claimsCache = /* @__PURE__ */ new Map();
137
+ const cachedTargetClaims = async (session) => {
138
+ const now = Date.now();
139
+ const cached = claimsCache.get(session.id);
140
+ if (cached && cached.until > now) return cached.claims;
141
+ const claims = await targetClaims(options.store, session.targetUserId);
142
+ claimsCache.delete(session.id);
143
+ if (claimsCache.size >= CLAIMS_CACHE_SIZE) {
144
+ const oldest = claimsCache.keys().next();
145
+ if (!oldest.done) claimsCache.delete(oldest.value);
146
+ }
147
+ claimsCache.set(session.id, {
148
+ claims,
149
+ until: Math.min(session.expiresAt.epochMilliseconds, now + CLAIMS_TTL_MS)
150
+ });
151
+ return claims;
152
+ };
130
153
  const checkPolicy = (admin, request, reason, seconds) => {
131
154
  if (admin.claims["act"] !== void 0) return denied("An impersonated session cannot start a support session", "SUPPORT_NESTED");
132
155
  if (request.targetUserId === admin.user.id) return invalid("An admin cannot start a support session as themselves", "SUPPORT_SELF");
@@ -248,7 +271,7 @@ function createSupport(options, events, claimsSchema) {
248
271
  ...session,
249
272
  readOnly: true
250
273
  };
251
- claims = supportClaims(session, await targetClaims(options.store, session.targetUserId));
274
+ claims = supportClaims(session, await cachedTargetClaims(session));
252
275
  } catch (cause) {
253
276
  events.logger.warn("Could not load the support session", { cause });
254
277
  return;
@@ -1,4 +1,4 @@
1
- import { t as AuthSession } from "./view-BEf0diC5.js";
1
+ import { t as AuthSession } from "./view-DbxLNu8L.js";
2
2
  //#region src/auth/support-view.d.ts
3
3
  /** A running support session as the target's view shows it, for a banner. */
4
4
  interface SupportView {
@@ -0,0 +1,114 @@
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-DbxLNu8L.js";
6
+ import { S as Topic, f as PresenceMember, u as EventSchemas, w as TopicHandlers, x as SubscriptionStatus } from "../index-DunNRdnT.js";
7
+ 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";
8
+ import { SupabaseClient } from "@supabase/supabase-js";
9
+ import { StandardSchemaV1 } from "@standard-schema/spec";
10
+ import { QueryClient } from "@tanstack/query-core";
11
+ //#region src/svelte/index.d.ts
12
+ /** A value read through `.current`, reactive in templates, `$derived` and `$effect`. */
13
+ export interface Current<T> {
14
+ readonly current: T;
15
+ }
16
+ export interface LiveCount {
17
+ /** `undefined` until the first count arrives. */
18
+ readonly count: number | undefined;
19
+ readonly status: SubscriptionStatus;
20
+ /** The last failed refetch; the previous count stays. */
21
+ readonly error: DbError | undefined;
22
+ }
23
+ export interface Presence<I, O> {
24
+ /** Everyone on the topic, this client included, from the last sync. */
25
+ readonly members: readonly PresenceMember<O>[];
26
+ readonly status: SubscriptionStatus;
27
+ /** Shares a state now; the `state` option tracks one for you. */
28
+ readonly track: (state: I) => Promise<DbError | undefined>;
29
+ readonly untrack: () => Promise<DbError | undefined>;
30
+ }
31
+ export interface SveltePresenceOptions<I> extends Omit<PresenceHookOptions<I>, "state"> {
32
+ readonly state?: () => I | null | undefined;
33
+ }
34
+ export interface ActionHandle<I, T> extends ActionState<I, T> {
35
+ /** Runs the action; resolves with its result. */
36
+ readonly run: (input: I) => Promise<ActionResultOf<T>>;
37
+ readonly reset: () => void;
38
+ }
39
+ /** The claims type of a client's `betterSupabase.claims(schema)`, `unknown` without one. */
40
+ export type ClaimsOf<B extends ClientLike> = B["betterSupabase"] extends {
41
+ readonly claimsSchema: StandardSchemaV1<unknown, infer C> | undefined;
42
+ } ? C : unknown;
43
+ /** The profile type of a client's `betterSupabase.userMetadata(schema)`, `unknown` without one. */
44
+ export type ProfileOf<B extends ClientLike> = B["betterSupabase"] extends {
45
+ readonly userMetadataSchema: StandardSchemaV1<unknown, infer P> | undefined;
46
+ } ? P : unknown;
47
+ /**
48
+ * The client bound to Svelte. Inputs are getters (`() => spec`), so the
49
+ * subscriptions follow `$state` and `$props`. A subscription starts when a
50
+ * template, `$derived` or `$effect` reads one of its fields and stops when
51
+ * nothing reads it any more.
52
+ */
53
+ export interface BetterSvelte<B extends ClientLike = ClientLike> {
54
+ readonly client: B;
55
+ readonly queryClient: QueryClient | undefined;
56
+ /** Repositories bound to the current session. */
57
+ readonly db: B["db"];
58
+ /** TanStack Query option factories: `createQuery(() => bs.queries.customers.findMany())`. */
59
+ readonly queries: B["queries"];
60
+ readonly supabase: SupabaseClient;
61
+ /** The session state for UI: `loading`, `signed-out` or `signed-in`. */
62
+ readonly auth: Current<AuthSnapshot>;
63
+ broadcast<P extends string, E extends EventSchemas>(topic: Topic<P, E>, values: () => TemplateValues<P> | null | undefined, handlers?: TopicHandlers<E>, options?: BroadcastOptions): Current<SubscriptionStatus>;
64
+ liveQuery(spec: () => QuerySpec | null | undefined, options?: LiveQueryHookOptions): Current<SubscriptionStatus>;
65
+ liveCount(source: () => LiveCountSource, options?: LiveCountHookOptions): LiveCount;
66
+ presence<P extends string, I, O>(topic: PresenceTopic<P, I, O>, values: () => TemplateValues<P> | null | undefined, options?: SveltePresenceOptions<I>): Presence<I, O>;
67
+ action<I, T>(action: (input: I) => Promise<ActionResultOf<T>>, options?: UseActionOptions<ActionInputOf<I>, T>): ActionHandle<ActionInputOf<I>, T>;
68
+ }
69
+ export interface BetterSvelteOptions {
70
+ /** better-supabase queries are reset when the user signs out or changes. */
71
+ readonly queryClient?: QueryClient;
72
+ }
73
+ /** Binds a client to Svelte without a component context, e.g. in tests or a module. */
74
+ export declare function createBetterSvelte<B extends ClientLike>(client: B, options?: BetterSvelteOptions): BetterSvelte<B>;
75
+ /**
76
+ * Binds the client for the components below, in the root layout. With a
77
+ * `queryClient`, better-supabase queries are reset when the caller changes.
78
+ *
79
+ * ```svelte
80
+ * <script lang="ts">
81
+ * setBetterSupabase(bs, { queryClient });
82
+ * <\/script>
83
+ * ```
84
+ */
85
+ export declare function setBetterSupabase<B extends ClientLike>(client: B, options?: BetterSvelteOptions): BetterSvelte<B>;
86
+ /** The client `setBetterSupabase` bound, typed with `getBetterSupabase<typeof bs>()`. */
87
+ export declare function getBetterSupabase<B extends ClientLike = ClientLike>(): BetterSvelte<B>;
88
+ /** The session state for UI. Call during component setup. */
89
+ export declare function useAuth(): Current<AuthSnapshot>;
90
+ /** Subscribes to a topic while read. Call during component setup. */
91
+ export declare function useBroadcast<P extends string, E extends EventSchemas>(topic: Topic<P, E>, values: () => TemplateValues<P> | null | undefined, handlers?: TopicHandlers<E>, options?: BroadcastOptions): Current<SubscriptionStatus>;
92
+ /**
93
+ * Keeps a query fresh while read. Call during component setup.
94
+ *
95
+ * ```svelte
96
+ * <script lang="ts">
97
+ * const live = useLiveQuery(() => betterSupabase.spec.customers.findMany());
98
+ * <\/script>
99
+ * <span data-status={live.current}></span>
100
+ * ```
101
+ */
102
+ export declare function useLiveQuery(spec: () => QuerySpec | null | undefined, options?: LiveQueryHookOptions): Current<SubscriptionStatus>;
103
+ /** A count that stays current while read. Call during component setup. */
104
+ export declare function useLiveCount(source: () => LiveCountSource, options?: LiveCountHookOptions): LiveCount;
105
+ /** Joins a presence topic while read. Call during component setup. */
106
+ export declare function usePresence<P extends string, I, O>(topic: PresenceTopic<P, I, O>, values: () => TemplateValues<P> | null | undefined, options?: SveltePresenceOptions<I>): Presence<I, O>;
107
+ /** Tracks the runs of a server action or form action. */
108
+ export declare function useAction<I, T>(action: (input: I) => Promise<ActionResultOf<T>>, options?: UseActionOptions<ActionInputOf<I>, T>): ActionHandle<ActionInputOf<I>, T>;
109
+ /** Shares a server-verified session (from `+layout.ts` data) with the components below. */
110
+ export declare function setSession(session: () => AuthSession): void;
111
+ /** The session from the nearest `setSession()`, typed with `useSession<Claims, Profile>()`. */
112
+ export declare function useSession<C = unknown, P = unknown>(): Current<AuthSession<C, P>>;
113
+ //#endregion
114
+ 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 UseActionOptions, fieldErrorsOf };