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
@@ -1,94 +0,0 @@
1
- import { c as mapDbError, n as dbError } from "./errors-DtwXa6b8.js";
2
- import { i as ok, n as err, o as toDbError } from "./result-BKiliPY7.js";
3
- import { t as compileSql } from "./sql-Coh6n4cC.js";
4
- //#region src/postgres/executor.ts
5
- function isPgError(value) {
6
- return typeof value === "object" && value !== null && typeof value.code === "string";
7
- }
8
- /** node-postgres error fields to the shape `mapDbError` reads. */
9
- function fromPgError(error) {
10
- if (!isPgError(error)) return void 0;
11
- const raw = {};
12
- if (error.code !== void 0) raw.code = error.code;
13
- if (error.message !== void 0) raw.message = error.message;
14
- if (error.detail !== void 0) raw.details = error.detail;
15
- if (error.hint !== void 0) raw.hint = error.hint;
16
- if (error.constraint !== void 0) raw.constraint = error.constraint;
17
- if (error.column !== void 0) raw.column = error.column;
18
- if (error.table !== void 0) raw.table = error.table;
19
- return raw;
20
- }
21
- async function run(client, plan, op) {
22
- const rows = plan.rows ? (await client.queryRaw(plan.rows.text, [...plan.rows.params])).map((entry) => entry.row) : [];
23
- let count = null;
24
- if (plan.count) {
25
- const [first] = await client.queryRaw(plan.count.text, [...plan.count.params]);
26
- count = first?.count ?? 0;
27
- } else if (op.kind !== "select") count = rows.length;
28
- for (const next of plan.chunks ?? []) {
29
- const more = await run(client, next, op);
30
- rows.push(...more.rows);
31
- count = (count ?? 0) + (more.count ?? 0);
32
- }
33
- return {
34
- rows,
35
- count
36
- };
37
- }
38
- /**
39
- * Executes repository operations as SQL on a direct Postgres connection.
40
- * Rows have the same shape as over PostgREST. RLS applies when the client
41
- * runs as the caller (`ctx.postgres`, `createPostgres().asUser()`).
42
- */
43
- function postgresExecutor(client) {
44
- return {
45
- name: "postgres",
46
- functionSources: true,
47
- execute: (op, context) => executeOn(client, op, context),
48
- async batch(ops, context) {
49
- if (!client.transaction) return Promise.all(ops.map((op) => executeOn(client, op, context)));
50
- try {
51
- return await client.transaction(async (scoped) => {
52
- const results = [];
53
- for (const op of ops) {
54
- const result = await executeOn(scoped, op, context);
55
- if (!result.ok) throw new BatchFailed();
56
- results.push(result);
57
- }
58
- return results;
59
- });
60
- } catch (cause) {
61
- if (!(cause instanceof BatchFailed)) throw cause;
62
- return Promise.all(ops.map((op) => executeOn(client, op, context)));
63
- }
64
- }
65
- };
66
- }
67
- var BatchFailed = class extends Error {};
68
- async function executeOn(client, op, context) {
69
- let plan;
70
- try {
71
- plan = compileSql(op);
72
- } catch (cause) {
73
- return err(toDbError(cause));
74
- }
75
- if (plan.never) return ok({
76
- rows: [],
77
- count: 0
78
- });
79
- if (context.signal?.aborted) return err(dbError("aborted", "The request was aborted"));
80
- let result;
81
- try {
82
- result = plan.chunks && client.transaction ? await client.transaction((scoped) => run(scoped, plan, op)) : await run(client, plan, op);
83
- } catch (cause) {
84
- const raw = fromPgError(cause);
85
- return err(raw ? mapDbError(raw, context.errorMappers) : toDbError(cause));
86
- }
87
- if (op.kind === "select" && op.single) {
88
- if (result.rows.length > 1) return err(dbError("multiple_rows", `Expected one ${op.table.key} row`));
89
- if (result.rows.length === 0 && op.single === "one") return err(dbError("not_found", `No ${op.table.key} row matched`));
90
- }
91
- return ok(result);
92
- }
93
- //#endregion
94
- export { postgresExecutor as n, fromPgError as t };
@@ -1,41 +0,0 @@
1
- //#region src/auth/impersonation.ts
2
- /** The `act` claim for an impersonated session. */
3
- function actClaim(options) {
4
- return {
5
- sub: options.actor,
6
- reason: options.reason
7
- };
8
- }
9
- /** The impersonator in `claims.act`, or `undefined` for a normal session. */
10
- function impersonatorOf(claims) {
11
- const act = claims["act"];
12
- if (typeof act !== "object" || act === null) return void 0;
13
- const { sub, reason, session_id, read_only } = act;
14
- if (typeof sub !== "string" || sub === "") return void 0;
15
- return {
16
- id: sub,
17
- ...typeof reason === "string" ? { reason } : {},
18
- ...typeof session_id === "string" ? { sessionId: session_id } : {},
19
- ...typeof read_only === "boolean" ? { readOnly: read_only } : {}
20
- };
21
- }
22
- /**
23
- * The repository context of a signed-in user: the actor, with the
24
- * impersonator from `act`, and the claims. Every adapter builds it here, so
25
- * plugins see the same actor on the server, in middleware and in the browser.
26
- */
27
- function userContext(user, claims) {
28
- const impersonator = impersonatorOf(claims);
29
- return {
30
- actor: {
31
- id: user.id,
32
- kind: "user",
33
- ...user.role ? { role: user.role } : {},
34
- ...user.email ? { email: user.email } : {},
35
- ...impersonator ? { impersonator: impersonator.id } : {}
36
- },
37
- claims
38
- };
39
- }
40
- //#endregion
41
- export { impersonatorOf as n, userContext as r, actClaim as t };
@@ -1,161 +0,0 @@
1
- import { _ as DbError } from "./executor-BunPOO-k.js";
2
- import { Z as QuerySpec } from "./define-Bp_BZa5h.js";
3
- import { i as ClientAuth, t as AuthSnapshot } from "./index-DmXSxbLi.js";
4
- import { n as TemplateValues } from "./template-mbvlysOo.js";
5
- import { t as AuthSession } from "./view-BEf0diC5.js";
6
- import { a as LiveSource, g as Topic, h as SubscriptionStatus, p as SubscribeOptions, r as LiveCountSeed, u as EventSchemas, v as TopicHandlers, y as TopicMessage } from "./live-D9W2M5aO.js";
7
- import { SupabaseClient } from "@supabase/supabase-js";
8
- import { ReactNode } from "react";
9
- import { StandardSchemaV1 } from "@standard-schema/spec";
10
- import { QueryClient } from "@tanstack/query-core";
11
- //#region src/react/hooks.d.ts
12
- /** The parts of `createClient()` the provider needs. */
13
- interface ClientLike {
14
- readonly betterSupabase: LiveSource;
15
- readonly supabase: SupabaseClient;
16
- readonly auth: ClientAuth;
17
- readonly db: object;
18
- readonly queries: object;
19
- }
20
- interface BetterSupabaseProviderProps {
21
- readonly client: ClientLike;
22
- /** better-supabase queries are removed when the user signs out or changes. */
23
- readonly queryClient?: QueryClient;
24
- readonly children?: ReactNode;
25
- }
26
- /** Provides the better-supabase client to the hooks. */
27
- declare function BetterSupabaseProvider(props: BetterSupabaseProviderProps): ReactNode;
28
- /** The session state for UI: `loading`, `signed-out` or `signed-in` with the user and claims. */
29
- declare function useAuth(): AuthSnapshot;
30
- declare function useSupabase(): SupabaseClient;
31
- interface BetterHooks<B extends ClientLike> {
32
- /** Repositories bound to the current session. Re-renders when the user changes. */
33
- readonly useDb: () => B["db"];
34
- /** TanStack Query option factories: `useQuery(useQueries().customers.findMany())`. */
35
- readonly useQueries: () => B["queries"];
36
- readonly useSupabase: () => SupabaseClient;
37
- readonly useAuth: () => AuthSnapshot;
38
- /** `useSession()` typed by the client's `betterSupabase.claims(schema)` and `betterSupabase.userMetadata(schema)`. */
39
- readonly useSession: () => AuthSession<ClaimsOf<B>, ProfileOf<B>>;
40
- }
41
- /** The claims type of a client's `betterSupabase.claims(schema)`, `unknown` without one. */
42
- type ClaimsOf<B extends ClientLike> = B["betterSupabase"] extends {
43
- readonly claimsSchema: StandardSchemaV1<unknown, infer C> | undefined;
44
- } ? C : unknown;
45
- /** The profile type of a client's `betterSupabase.userMetadata(schema)`, `unknown` without one. */
46
- type ProfileOf<B extends ClientLike> = B["betterSupabase"] extends {
47
- readonly userMetadataSchema: StandardSchemaV1<unknown, infer P> | undefined;
48
- } ? P : unknown;
49
- /**
50
- * Hooks typed for your schema.
51
- *
52
- * ```ts
53
- * export const { useDb, useQueries, useAuth } = createHooks<typeof bs>();
54
- * ```
55
- */
56
- declare function createHooks<B extends ClientLike>(): BetterHooks<B>;
57
- interface BroadcastOptions extends Omit<SubscribeOptions, "onStatus"> {
58
- /**
59
- * Refetch after each message: table keys (every query that read one of
60
- * them), or a function returning query keys. Needs `queryClient` on the
61
- * provider.
62
- */
63
- readonly invalidate?: readonly string[] | ((message: TopicMessage) => readonly (readonly unknown[])[]);
64
- }
65
- /**
66
- * Subscribes to a topic while mounted. Pass `null` values to pause. It
67
- * resubscribes when the topic or the signed-in user changes.
68
- *
69
- * ```ts
70
- * useBroadcast(customersTopic, orgId ? { orgId } : null, {}, { invalidate: ['customers'] });
71
- * ```
72
- */
73
- declare function useBroadcast<P extends string, E extends EventSchemas>(topic: Topic<P, E>, values: TemplateValues<P> | null | undefined, handlers?: TopicHandlers<E>, options?: BroadcastOptions): SubscriptionStatus;
74
- interface LiveQueryHookOptions {
75
- /**
76
- * Tenant for tenant-scoped tables. Defaults to the `config.claims.tenant`
77
- * claim (`tenant_id`, top-level or in `app_metadata`).
78
- */
79
- readonly tenant?: string;
80
- /** Defaults to 100 ms. */
81
- readonly debounceMs?: number;
82
- }
83
- /**
84
- * Keeps a query fresh: invalidates every cached query that read a table the
85
- * spec touches whenever one of them changes. Pass `null` to pause. It
86
- * resubscribes when the spec, tenant or user changes.
87
- *
88
- * ```ts
89
- * const spec = betterSupabase.spec.customers.findMany({ include: { notes: true } });
90
- * const { data } = useQuery(q.$spec(spec));
91
- * useLiveQuery(spec);
92
- * ```
93
- */
94
- declare function useLiveQuery(spec: QuerySpec | null | undefined, options?: LiveQueryHookOptions): SubscriptionStatus;
95
- interface LiveCountHookOptions extends LiveQueryHookOptions {
96
- /** The count to show before the first fetch, e.g. from the server. */
97
- readonly initial?: number;
98
- }
99
- interface LiveCount {
100
- /** `undefined` until the first count arrives. */
101
- readonly count: number | undefined;
102
- readonly status: SubscriptionStatus;
103
- /** The last failed refetch; the previous count stays. */
104
- readonly error: DbError | undefined;
105
- }
106
- /**
107
- * A count that stays current: refetches only the `count` spec (a HEAD
108
- * request) after each debounced change to a table it reads, and after the
109
- * channel rejoins. Takes a spec or a `bs.liveCount()` seed; pass `null` to
110
- * pause. Doesn't need a `QueryClient`.
111
- *
112
- * ```tsx
113
- * const { count } = useLiveCount(seed); // seed = await bs.liveCount(spec)
114
- * ```
115
- */
116
- declare function useLiveCount(source: QuerySpec<string, "count", number> | LiveCountSeed | null | undefined, options?: LiveCountHookOptions): LiveCount;
117
- //#endregion
118
- //#region src/react/notifications.d.ts
119
- /** Loads one list of items, e.g. a server action that calls `notifications.list()`. */
120
- type NotificationSource<T> = () => Promise<readonly T[]>;
121
- interface UseNotificationsOptions<T> {
122
- /**
123
- * The private topic the `notifications` module broadcasts to, e.g.
124
- * `notifications:${userId}` (`kits.notifications.options.topic`). `null`
125
- * loads once without realtime.
126
- */
127
- readonly topic: string | null;
128
- /** The notifications, newest first. */
129
- readonly load: NotificationSource<T>;
130
- /** More items merged in, such as running jobs or pending approvals. */
131
- readonly sources?: readonly NotificationSource<T>[];
132
- /** Orders the merged list. Defaults to the order the sources return. */
133
- readonly sort?: (a: T, b: T) => number;
134
- /** The badge number. Defaults to the items without a `readAt`. */
135
- readonly count?: (items: readonly T[]) => number;
136
- /** Runs for each broadcast, e.g. to show a toast for `notification_created`. */
137
- readonly onMessage?: (event: string, payload: unknown) => void;
138
- }
139
- interface NotificationsState<T> {
140
- /** `undefined` until the first load. */
141
- readonly items: readonly T[] | undefined;
142
- readonly count: number;
143
- readonly status: SubscriptionStatus;
144
- readonly error: unknown;
145
- /** Loads again, e.g. after marking items read. */
146
- readonly refresh: () => Promise<void>;
147
- }
148
- /**
149
- * The signed-in user's notifications, kept current: loads them, then loads
150
- * again after each broadcast on `topic` and after the channel rejoins.
151
- *
152
- * ```tsx
153
- * const { items, count } = useNotifications({
154
- * topic: `org:${orgId}:notifications:${userId}`,
155
- * load: () => listNotifications(orgId),
156
- * });
157
- * ```
158
- */
159
- declare function useNotifications<T>(options: UseNotificationsOptions<T>): NotificationsState<T>;
160
- //#endregion
161
- export { useBroadcast as _, BetterHooks as a, useSupabase as b, BroadcastOptions as c, LiveCount as d, LiveCountHookOptions as f, useAuth as g, createHooks as h, useNotifications as i, ClaimsOf as l, ProfileOf as m, NotificationsState as n, BetterSupabaseProvider as o, LiveQueryHookOptions as p, UseNotificationsOptions as r, BetterSupabaseProviderProps as s, NotificationSource as t, ClientLike as u, useLiveCount as v, useLiveQuery as y };
@@ -1,100 +0,0 @@
1
- /// <reference lib="esnext.temporal" />
2
- import { j as SchemaMeta } from "./types-Dnf_wRDz.js";
3
- import { a as EventHub, g as KitEventPattern, p as KitEvent, s as MutationNotice } from "./events-aIO7vsIk.js";
4
- import { l as MutationIntent } from "./plugin-o144f322.js";
5
- //#region src/events/index.d.ts
6
- /** A CloudEvents 1.0 event. Extension attributes are lowercase alphanumerics. */
7
- interface CloudEvent<T = unknown> {
8
- readonly specversion: "1.0";
9
- readonly id: string;
10
- readonly source: string;
11
- readonly type: string;
12
- readonly subject?: string;
13
- readonly time?: string;
14
- readonly datacontenttype?: string;
15
- readonly dataschema?: string;
16
- readonly data?: T;
17
- readonly [extension: string]: unknown;
18
- }
19
- declare const ROW_EVENT_TYPES: { readonly [K in MutationIntent]: string; };
20
- interface RowEventData {
21
- readonly table: string;
22
- readonly row: Readonly<Record<string, unknown>>;
23
- readonly actorId?: string;
24
- }
25
- interface CloudEventOptions {
26
- /** URI-reference of the producer, e.g. `https://crm.example.com` or `/crm`. */
27
- readonly source: string;
28
- /** Replaces the `dev.better-supabase` type prefix. */
29
- readonly typePrefix?: string;
30
- readonly id?: () => string;
31
- readonly now?: () => Temporal.Instant;
32
- }
33
- /** Sends events somewhere: a queue, a bus, an outbox table, an HTTP endpoint. */
34
- interface EventSink {
35
- send(events: readonly CloudEvent[]): void | Promise<void>;
36
- }
37
- /**
38
- * One CloudEvent per mutated row: `dev.better-supabase.row.created` with the
39
- * app-cased row and the actor in `data`, the primary key as `subject` and the
40
- * tenant as `partitionkey`. Writes that return no rows (soft
41
- * deletes, `returning: false`) send one event per known primary key, with the
42
- * key as `row`.
43
- */
44
- declare function toCloudEvents(notice: MutationNotice, options: CloudEventOptions & {
45
- readonly meta?: SchemaMeta;
46
- }): CloudEvent<RowEventData>[];
47
- interface ForwardOptions extends CloudEventOptions {
48
- /** Only forward these tables or kinds. */
49
- readonly filter?: (notice: MutationNotice) => boolean;
50
- /** Sink failures never fail the mutation. Defaults to the `Logger`. */
51
- readonly onError?: (error: unknown, events: readonly CloudEvent[]) => void;
52
- }
53
- /**
54
- * Sends a CloudEvent for every mutation to `sink`. Returns a function that
55
- * stops forwarding. Sends in flight are tracked on `betterSupabase.events`
56
- * (`settled()`), which the Next adapter hands to `after()` and the edge
57
- * entry to `waitUntil`. Use an outbox (SQL kit) when events must not be lost.
58
- */
59
- declare function forwardMutations(betterSupabase: {
60
- readonly events: EventHub;
61
- readonly meta: SchemaMeta;
62
- }, sink: EventSink, options: ForwardOptions): () => void;
63
- /**
64
- * A kit event as a CloudEvent: `dev.better-supabase.support.started` with
65
- * the event data and the actor (`actorId`) as `data` and the tenant as
66
- * `partitionkey`.
67
- */
68
- declare function kitCloudEvent(event: KitEvent, options: CloudEventOptions): CloudEvent;
69
- interface ForwardKitOptions extends CloudEventOptions {
70
- /** Only forward events that match, e.g. `support.*`. Defaults to all. */
71
- readonly types?: readonly KitEventPattern[];
72
- /** Sink failures never fail the kit call. Defaults to the `Logger`. */
73
- readonly onError?: (error: unknown, events: readonly CloudEvent[]) => void;
74
- }
75
- /**
76
- * Sends a CloudEvent for every kit event (`support.*`, `org.*`, ...) to
77
- * `sink`. Returns a function that stops forwarding. Like
78
- * `forwardMutations`, sends are tracked on `betterSupabase.events`.
79
- */
80
- declare function forwardKitEvents(betterSupabase: {
81
- readonly events: EventHub;
82
- }, sink: EventSink, options: ForwardKitOptions): () => void;
83
- type HttpMode = "structured" | "binary" | "batch";
84
- /** The HTTP protocol binding: headers and body for one event (or a batch). */
85
- declare function toHttp(events: CloudEvent | readonly CloudEvent[], mode?: HttpMode): {
86
- headers: Record<string, string>;
87
- body: string;
88
- }[];
89
- declare function isCloudEvent(value: unknown): value is CloudEvent;
90
- /** Reads CloudEvents from a request in any of the three HTTP modes. */
91
- declare function fromHttp(request: Request): Promise<CloudEvent[]>;
92
- interface HttpSinkOptions {
93
- readonly mode?: HttpMode;
94
- readonly headers?: Readonly<Record<string, string>>;
95
- readonly fetch?: typeof fetch;
96
- }
97
- /** POSTs events to `url`. Non-2xx responses reject. */
98
- declare function httpSink(url: string | URL, options?: HttpSinkOptions): EventSink;
99
- //#endregion
100
- export { toHttp as _, ForwardOptions as a, ROW_EVENT_TYPES as c, forwardMutations as d, fromHttp as f, toCloudEvents as g, kitCloudEvent as h, ForwardKitOptions as i, RowEventData as l, isCloudEvent as m, CloudEventOptions as n, HttpMode as o, httpSink as p, EventSink as r, HttpSinkOptions as s, CloudEvent as t, forwardKitEvents as u };
@@ -1,62 +0,0 @@
1
- import { n as AnyFunctions, r as AnyModels } from "./types-Dnf_wRDz.js";
2
- import { t as BetterSupabase, y as Db } from "./define-Bp_BZa5h.js";
3
- import { l as PublicEnv } from "./index-CLg87OBW.js";
4
- import { r as BetterQueries } from "./index-DgILJRXj.js";
5
- import { SupabaseClient } from "@supabase/supabase-js";
6
- //#region src/client/index.d.ts
7
- interface ClientOptions {
8
- /** URL and publishable key. Not needed when `client` is given. */
9
- readonly env?: PublicEnv;
10
- /** Bring your own supabase-js client (React Native, custom storage). */
11
- readonly client?: SupabaseClient;
12
- /**
13
- * `cookies` (default) shares the session with the server through
14
- * `@supabase/ssr`; `local` keeps it in localStorage for SPAs without a server.
15
- */
16
- readonly storage?: "cookies" | "local";
17
- }
18
- interface AuthUser {
19
- readonly id: string;
20
- readonly email?: string;
21
- readonly role?: string;
22
- }
23
- /** What the UI needs to know. Claims are decoded, not verified: RLS enforces access. */
24
- type AuthSnapshot = {
25
- readonly status: "loading";
26
- readonly user: null;
27
- readonly claims: null;
28
- } | {
29
- readonly status: "signed-out";
30
- readonly user: null;
31
- readonly claims: null;
32
- } | {
33
- readonly status: "signed-in";
34
- readonly user: AuthUser;
35
- readonly claims: Readonly<Record<string, unknown>>;
36
- };
37
- interface ClientAuth {
38
- readonly current: () => AuthSnapshot;
39
- /** `useSyncExternalStore`-compatible. */
40
- readonly subscribe: (listener: () => void) => () => void;
41
- }
42
- interface BetterClient<M extends AnyModels, F extends AnyFunctions, E, C = unknown, P = unknown> {
43
- /** The definition the client was created from (schema metadata, specs, live queries). */
44
- readonly betterSupabase: BetterSupabase<M, unknown, F, E, C, P>;
45
- readonly supabase: SupabaseClient;
46
- /** Repositories with the current session's actor and claims. */
47
- readonly db: Db<M, F, E, SupabaseClient>;
48
- /** TanStack Query option factories over `db`. */
49
- readonly queries: BetterQueries<M, E, F>;
50
- readonly auth: ClientAuth;
51
- }
52
- /**
53
- * The browser side: a supabase-js client, repositories that follow the
54
- * session, TanStack Query options and an auth store for UI state.
55
- *
56
- * ```ts
57
- * export const bs = createClient(betterSupabase, { env: { url, publishableKey } });
58
- * ```
59
- */
60
- declare function createClient$1<M extends AnyModels, D, F extends AnyFunctions, E, C = unknown, P = unknown>(betterSupabase: BetterSupabase<M, D, F, E, C, P>, options?: ClientOptions): BetterClient<M, F, E, C, P>;
61
- //#endregion
62
- export { ClientOptions as a, ClientAuth as i, AuthUser as n, createClient$1 as o, BetterClient as r, AuthSnapshot as t };
@@ -1,50 +0,0 @@
1
- import { c as ClaimsMeta, j as SchemaMeta } from "./types-Dnf_wRDz.js";
2
- import { d as Generator } from "./config-T_ejwyd3.js";
3
- //#region src/core/claims.d.ts
4
- declare const DEFAULT_CLAIMS: ClaimsMeta;
5
- /** Where the active tenant is read from: the top-level claim, then `app_metadata`. */
6
- declare function tenantClaimPaths(tenant?: string): readonly [string, string];
7
- //#endregion
8
- //#region src/generators/shared.d.ts
9
- /** What field planning reads: the metadata and the typed-jsonb config. */
10
- interface SchemaSource {
11
- readonly meta: SchemaMeta;
12
- readonly config: {
13
- readonly json: Readonly<Record<string, unknown>>;
14
- };
15
- }
16
- //#endregion
17
- //#region src/generators/json-schema.d.ts
18
- interface JsonSchemaGeneratorOptions {
19
- /** Output path relative to the project root. Defaults to `<output>.schema.json`. */
20
- readonly output?: string;
21
- /** `$id` of the document. */
22
- readonly id?: string;
23
- }
24
- type JsonSchema = Record<string, unknown>;
25
- /** JSON Schema (2020-12) `$defs` for every table: `customersRow`, `customersInsert`, ... */
26
- declare function buildJsonSchema(input: SchemaSource, id?: string): JsonSchema;
27
- /** Writes the JSON Schema document; `createOpenApi` reuses the same `$defs`. */
28
- declare function jsonSchema(options?: JsonSchemaGeneratorOptions): Generator;
29
- //#endregion
30
- //#region src/generators/valibot.d.ts
31
- interface ValibotGeneratorOptions {
32
- /** Output path relative to the project root. Defaults to `<output>.valibot.ts`. */
33
- readonly output?: string;
34
- /** Schemas for typed jsonb columns: `{ 'customers.metadata': './schemas.ts#metadata' }`. */
35
- readonly json?: Readonly<Record<string, string>>;
36
- }
37
- /** Valibot schemas for every table's Row, Insert and Update shape. */
38
- declare function valibot(options?: ValibotGeneratorOptions): Generator;
39
- //#endregion
40
- //#region src/generators/zod.d.ts
41
- interface ZodGeneratorOptions {
42
- /** Output path relative to the project root. Defaults to `<output>.zod.ts`. */
43
- readonly output?: string;
44
- /** Schemas for typed jsonb columns: `{ 'customers.metadata': './schemas.ts#metadata' }`. */
45
- readonly json?: Readonly<Record<string, string>>;
46
- }
47
- /** Zod 4 schemas for every table's Row, Insert and Update shape. */
48
- declare function zod(options?: ZodGeneratorOptions): Generator;
49
- //#endregion
50
- export { JsonSchemaGeneratorOptions as a, DEFAULT_CLAIMS as c, valibot as i, tenantClaimPaths as l, zod as n, buildJsonSchema as o, ValibotGeneratorOptions as r, jsonSchema as s, ZodGeneratorOptions as t };