better-supabase 0.5.1 → 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 +187 -46
  2. package/dist/access-sql-B0dF-SoF.js +181 -0
  3. package/dist/{actor-DaJjqD5R.d.ts → actor-CQTlc1Hh.d.ts} +1 -1
  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-C_A-KEAz.js → doctor-B4JOm_ox.js} +991 -317
  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-DMa6M7hV.js → init-BIIwclPg.js} +242 -27
  185. package/dist/cli/{introspect-BKlaIu_M.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-Bo_NLT5n.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-BCtlgDQx.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-Bv7gvfzC.d.ts → config-D44Y7PAv.d.ts} +406 -214
  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-CFPX0Qft.d.ts → ended-jLfvw8h-.d.ts} +20 -2
  231. package/dist/{entitlements-BiJZ4t49.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-BgSHAYLf.js → impersonation-DcqaTBHx.js} +21 -6
  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-Daak8ukG.d.ts +54 -0
  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-Bn6HNKUe.js → resolve-D_IcnvFd.js} +248 -240
  385. package/dist/{impersonation-BmePsuxz.d.ts → resolve-KW8nCeL6.d.ts} +29 -69
  386. package/dist/{resource-mqfJW4YF.js → resource-BsvzCMlX.js} +4 -4
  387. package/dist/{resource-DNRFP7KR.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 -22
  396. package/dist/server/index.js +46 -14
  397. package/dist/{respond-BR1fJWOB.d.ts → server-CeVeeXwz.d.ts} +224 -85
  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 +313 -212
  413. package/dist/sql/index.js +34872 -6579
  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-wHnK6zp-.js → support-BivNqSpK.js} +32 -11
  430. package/dist/{support-view-B8SlToQX.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 +315 -41
  449. package/dist/testing/index.js +1046 -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-DOYTYwHP.js → version-Bvv6aLjZ.js} +1 -1
  465. package/dist/view-BeFcRV6G.js +99 -0
  466. package/dist/{view-CbgObAeb.d.ts → view-DbxLNu8L.d.ts} +22 -5
  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 +461 -20
  485. package/schemas/ai-message-v1.json +258 -0
  486. package/schemas/config-v1.json +1074 -140
  487. package/schemas/doctor-report-v1.json +20 -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 +47 -11
  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-CIdSQZad.js +0 -2
  504. package/dist/cli/gen-CjElD1Vw.js +0 -2241
  505. package/dist/cli/read-sets-VQcPgxU9.js +0 -436
  506. package/dist/cli/sql-CVx-1O8G.js +0 -373
  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/index-CWMDdEr4.d.ts +0 -50
  512. package/dist/index-DOESKG27.d.ts +0 -100
  513. package/dist/index-DmXSxbLi.d.ts +0 -62
  514. package/dist/index-Dp2VDwog.d.ts +0 -161
  515. package/dist/jobs/index.d.ts +0 -226
  516. package/dist/jobs/index.js +0 -1007
  517. package/dist/json-schema-m1fiwKgN.js +0 -208
  518. package/dist/kit-events-CTFDfSwb.js +0 -60
  519. package/dist/kit-transport-B82k1djG.d.ts +0 -33
  520. package/dist/kits-CGLLrNPd.js +0 -157
  521. package/dist/mfa-Cu96oJdw.d.ts +0 -30
  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-B1mZ7CgQ.js +0 -660
  530. package/dist/stats-Bqob3WqT.js +0 -592
  531. package/dist/support-CEPwlw2G.d.ts +0 -89
  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 -122
@@ -1,402 +0,0 @@
1
- import { E as RelationMeta, F as TableMeta, l as Codec } from "./types-Dnf_wRDz.js";
2
- //#region src/ir/types.d.ts
3
- /**
4
- * The query IR. Every repository call becomes one of these operations; the
5
- * executor compiles it to PostgREST or SQL. Column names in the IR are
6
- * database names; `Selection` carries the app aliases.
7
- */
8
- type ColumnOp = "eq" | "neq" | "gt" | "gte" | "lt" | "lte" | "in" | "is" | "like" | "ilike" | "contains" | "containedBy" | "overlaps" | "fts";
9
- type Quantifier = "some" | "none" | "every";
10
- type Condition = {
11
- readonly kind: "and";
12
- readonly items: readonly Condition[];
13
- } | {
14
- readonly kind: "or";
15
- readonly items: readonly Condition[];
16
- } | {
17
- readonly kind: "not";
18
- readonly item: Condition;
19
- } | {
20
- readonly kind: "column";
21
- readonly column: string;
22
- readonly op: ColumnOp;
23
- readonly value: unknown;
24
- /** Full-text search configuration for `fts`. */
25
- readonly config?: string;
26
- } | {
27
- readonly kind: "relation";
28
- readonly name: string;
29
- readonly relation: RelationMeta;
30
- readonly target: TableMeta;
31
- readonly quantifier: Quantifier;
32
- readonly where: Condition | undefined;
33
- };
34
- interface SelectColumn {
35
- /** Key in the returned row. */
36
- readonly alias: string;
37
- /** Database column name. */
38
- readonly column: string;
39
- /** Read the column as text, so exact `int8`/`numeric` values survive JSON. */
40
- readonly cast?: "text";
41
- /** Decodes the returned value (see `ColumnMeta.codec`). */
42
- readonly codec?: Codec;
43
- }
44
- interface OrderTerm {
45
- readonly column: string;
46
- readonly direction: "asc" | "desc";
47
- readonly nulls?: "first" | "last";
48
- }
49
- interface Include {
50
- readonly alias: string;
51
- readonly relation: RelationMeta;
52
- readonly target: TableMeta;
53
- readonly selection: Selection;
54
- readonly where: Condition | undefined;
55
- readonly orderBy: readonly OrderTerm[];
56
- readonly limit: number | undefined;
57
- /** Drop parent rows without a match (`!inner`). */
58
- readonly required: boolean;
59
- /**
60
- * `_count` include: returns the number of matching related rows instead of
61
- * rows, folded into `row._count[count]` when decoded.
62
- */
63
- readonly count?: string;
64
- /**
65
- * `_sum`/`_avg`/`_min`/`_max` include: `selection.aggregate` holds the
66
- * measures, folded into `row[`_${fn}`][name]` when decoded.
67
- */
68
- readonly aggregate?: {
69
- readonly fn: AggregateFn;
70
- readonly name: string;
71
- };
72
- }
73
- type AggregateFn = "sum" | "avg" | "min" | "max";
74
- interface Measure {
75
- readonly fn: AggregateFn;
76
- /** Key in the returned row (`_sum_amount`, or the column alias in an include). */
77
- readonly key: string;
78
- /** App column name, the key under `_sum` in the decoded row. */
79
- readonly alias: string;
80
- /** Database column name. */
81
- readonly column: string;
82
- /** Read the result as text, so exact `int8`/`numeric` values survive JSON. */
83
- readonly cast?: "text";
84
- readonly codec?: Codec;
85
- }
86
- /**
87
- * Aggregates instead of rows. `Selection.columns` become the grouping
88
- * columns; without any, the result is exactly one row.
89
- */
90
- interface Aggregation {
91
- /** Also return `_count`, the number of rows in each group. */
92
- readonly count: boolean;
93
- readonly measures: readonly Measure[];
94
- }
95
- interface Selection {
96
- readonly columns: readonly SelectColumn[];
97
- readonly includes: readonly Include[];
98
- readonly aggregate?: Aggregation;
99
- }
100
- type CountMode = "exact" | "planned" | "estimated";
101
- interface SelectOp {
102
- readonly kind: "select";
103
- readonly table: TableMeta;
104
- readonly selection: Selection;
105
- readonly where: Condition | undefined;
106
- readonly orderBy: readonly OrderTerm[];
107
- readonly limit: number | undefined;
108
- readonly offset: number | undefined;
109
- readonly count: CountMode | undefined;
110
- /** Only count, return no rows. */
111
- readonly head: boolean;
112
- readonly single: "one" | "maybe" | undefined;
113
- /** `limit` includes one row past the page, which `paginate()` reads to set `hasMore`. */
114
- readonly lookAhead?: boolean;
115
- /**
116
- * Read from this set-returning function instead of the table (`db.$search`).
117
- * Only executors with `functionSources` honor it.
118
- */
119
- readonly source?: FunctionSource;
120
- }
121
- /** A function returning `setof <table>`, called with named arguments. */
122
- interface FunctionSource {
123
- readonly schema: string;
124
- readonly name: string;
125
- readonly args: Readonly<Record<string, unknown>>;
126
- }
127
- interface InsertOp {
128
- readonly kind: "insert";
129
- readonly table: TableMeta;
130
- /** Rows keyed by database column names. */
131
- readonly rows: readonly Readonly<Record<string, unknown>>[];
132
- readonly returning: Selection | undefined;
133
- readonly onConflict: {
134
- readonly columns: readonly string[];
135
- readonly action: "update" | "ignore";
136
- } | undefined;
137
- /** Missing columns become `null` instead of their default in bulk inserts. */
138
- readonly defaultToNull: boolean;
139
- }
140
- interface UpdateOp {
141
- readonly kind: "update";
142
- readonly table: TableMeta;
143
- /** Keyed by database column names. */
144
- readonly set: Readonly<Record<string, unknown>>;
145
- readonly where: Condition | undefined;
146
- readonly returning: Selection | undefined;
147
- }
148
- interface DeleteOp {
149
- readonly kind: "delete";
150
- readonly table: TableMeta;
151
- readonly where: Condition | undefined;
152
- readonly returning: Selection | undefined;
153
- }
154
- type Operation = SelectOp | InsertOp | UpdateOp | DeleteOp;
155
- type MutationOp = InsertOp | UpdateOp | DeleteOp;
156
- declare const and: (...items: (Condition | undefined)[]) => Condition | undefined;
157
- declare const or: (...items: Condition[]) => Condition;
158
- declare const not: (item: Condition) => Condition;
159
- declare const column: (name: string, op: ColumnOp, value: unknown) => Condition;
160
- //#endregion
161
- //#region src/core/errors.d.ts
162
- /**
163
- * Extra fields carried by each error kind. Plugins can add kinds through the
164
- * `errors` extension point; apps that want the new kinds in the union can add
165
- * them to this interface.
166
- */
167
- interface DbErrorKinds {
168
- not_found: Record<never, never>;
169
- unauthorized: Record<never, never>;
170
- /**
171
- * `required`: the assurance level the route needs, when a second factor is
172
- * missing. `scopes`: the OAuth scopes the route needs, when a delegated
173
- * token lacks one (`INSUFFICIENT_SCOPE`).
174
- */
175
- forbidden: {
176
- required?: "aal1" | "aal2";
177
- scopes?: readonly string[];
178
- };
179
- conflict: {
180
- constraint?: string;
181
- columns?: readonly string[];
182
- };
183
- foreign_key: {
184
- constraint?: string;
185
- columns?: readonly string[];
186
- };
187
- check: {
188
- constraint?: string;
189
- };
190
- not_null: {
191
- column?: string;
192
- };
193
- exclusion: {
194
- constraint?: string;
195
- };
196
- invalid_input: Record<never, never>;
197
- /** A stored value the app type can't hold, e.g. `infinity` for a Temporal timestamp. */
198
- invalid_value: {
199
- column?: string;
200
- };
201
- raised: Record<never, never>;
202
- timeout: Record<never, never>;
203
- serialization: Record<never, never>;
204
- network: Record<never, never>;
205
- aborted: Record<never, never>;
206
- invalid_request: Record<never, never>;
207
- validation: {
208
- issues: readonly ValidationIssue[];
209
- };
210
- multiple_rows: Record<never, never>;
211
- stale: Record<never, never>;
212
- /** `retryAfter`: seconds until the window resets (the `Retry-After` header). */
213
- rate_limited: {
214
- retryAfter?: number;
215
- };
216
- unexpected: Record<never, never>;
217
- }
218
- type DbErrorKind = keyof DbErrorKinds;
219
- interface ValidationIssue {
220
- readonly message: string;
221
- readonly path?: readonly PropertyKey[];
222
- }
223
- interface DbErrorBase<K extends DbErrorKind> {
224
- readonly kind: K;
225
- readonly message: string;
226
- /** SQLSTATE or PostgREST code (`23505`, `PGRST116`), when known. */
227
- readonly code?: string;
228
- /** Suggested HTTP status, used by the RFC 9457 mapping. */
229
- readonly status: number;
230
- readonly details?: string;
231
- /** Postgres `HINT`. `raised` errors use it as an app-level error code. */
232
- readonly hint?: string;
233
- /** App-cased table key the operation ran against. */
234
- readonly table?: string;
235
- }
236
- /**
237
- * A database error as plain, serializable data. Safe to send across server
238
- * action and RPC boundaries.
239
- */
240
- type DbError = { [K in DbErrorKind]: DbErrorBase<K> & DbErrorKinds[K]; }[DbErrorKind];
241
- type DbErrorOf<K extends DbErrorKind> = Extract<DbError, {
242
- kind: K;
243
- }>;
244
- declare function statusOf(kind: DbErrorKind): number;
245
- type ExtraOf<K extends DbErrorKind> = Record<never, never> extends DbErrorKinds[K] ? [extra?: DbErrorKinds[K] & Partial<Omit<DbErrorBase<K>, "kind">>] : [extra: DbErrorKinds[K] & Partial<Omit<DbErrorBase<K>, "kind">>];
246
- /** Creates a `DbError` with the default status for its kind. */
247
- declare function dbError<K extends DbErrorKind>(kind: K, message: string, ...[extra]: ExtraOf<K>): DbErrorOf<K>;
248
- declare function isDbError(value: unknown): value is DbError;
249
- /**
250
- * A unique violation, optionally for one constraint. Accepts a `DbError` or a
251
- * `DbException`. Pass the generated `UniqueConstraint` type to check names:
252
- * `isConflict<UniqueConstraint>(error, 'customers_organization_id_kvk_key')`.
253
- */
254
- declare const isConflict: <C extends string = string>(error: unknown, constraint?: NoInfer<C>) => error is DbErrorOf<"conflict"> & {
255
- readonly constraint: C;
256
- };
257
- /** A CHECK violation, optionally for one constraint (`CheckConstraint`). */
258
- declare const isCheck: <C extends string = string>(error: unknown, constraint?: NoInfer<C>) => error is DbErrorOf<"check"> & {
259
- readonly constraint: C;
260
- };
261
- /** A foreign key violation, optionally for one constraint (`ForeignKeyConstraint`). */
262
- declare const isForeignKey: <C extends string = string>(error: unknown, constraint?: NoInfer<C>) => error is DbErrorOf<"foreign_key"> & {
263
- readonly constraint: C;
264
- };
265
- /** Thrown by `.orThrow()`. Carries the plain `DbError` as `error`. */
266
- declare class DbException extends Error {
267
- override readonly name = "DbException";
268
- readonly error: DbError;
269
- constructor(error: DbError);
270
- get kind(): DbErrorKind;
271
- }
272
- /** Raw error shape shared by PostgREST responses and `pg` errors. */
273
- interface RawDbError {
274
- readonly message?: string;
275
- readonly code?: string;
276
- readonly details?: string | null;
277
- readonly hint?: string | null;
278
- readonly constraint?: string;
279
- readonly column?: string;
280
- readonly table?: string;
281
- readonly name?: string;
282
- }
283
- type ErrorMapper = (raw: RawDbError, fallback: DbError) => DbError | undefined;
284
- /**
285
- * Maps a PostgREST or Postgres error to a `DbError`. Custom mappers run
286
- * first; the first one that returns an error wins.
287
- */
288
- declare function mapDbError(raw: RawDbError, mappers?: readonly ErrorMapper[]): DbError;
289
- //#endregion
290
- //#region src/core/result.d.ts
291
- /** Turns a `DbError` into the error `.orThrow()` throws; set with `betterSupabase.mapError()`. */
292
- type ThrowMapper = (error: DbError) => unknown;
293
- type Ok<T> = {
294
- readonly ok: true;
295
- readonly data: T;
296
- readonly error: null;
297
- };
298
- type Err<E = DbError> = {
299
- readonly ok: false;
300
- readonly data: null;
301
- readonly error: E;
302
- };
303
- type Result<T, E = DbError> = Ok<T> | Err<E>;
304
- declare function ok<T>(data: T): Ok<T>;
305
- declare function err<E = DbError>(error: E): Err<E>;
306
- /**
307
- * A lazy-free `PromiseLike<Result<T>>` with helpers. `await` gives the
308
- * `Result`; `.orThrow()` gives the data or throws a `DbException`.
309
- */
310
- declare class AsyncResult<T> implements PromiseLike<Result<T>> {
311
- #private;
312
- constructor(promise: Promise<Result<T>>);
313
- static from<T>(run: () => Promise<Result<T>>): AsyncResult<T>;
314
- static ok<T>(data: T): AsyncResult<T>;
315
- static err<T = never>(error: DbError): AsyncResult<T>;
316
- then<R1 = Result<T>, R2 = never>(onfulfilled?: ((value: Result<T>) => R1 | PromiseLike<R1>) | null, onrejected?: ((reason: unknown) => R2 | PromiseLike<R2>) | null): Promise<R1 | R2>;
317
- /**
318
- * Resolves with the data, or rejects with a `DbException`. Pass `factory`
319
- * to throw your own error instead, e.g. an HTTP error for your framework;
320
- * without it, the mapper from `betterSupabase.mapError()` applies when one is set.
321
- */
322
- orThrow(factory?: (error: DbError) => unknown): Promise<T>;
323
- /** Resolves with the data, or `fallback` when the result is an error. */
324
- unwrapOr<F>(fallback: F): Promise<T | F>;
325
- map<U>(fn: (data: T) => U): AsyncResult<U>;
326
- mapError(fn: (error: DbError) => DbError): AsyncResult<T>;
327
- andThen<U>(fn: (data: T) => PromiseLike<Result<U>>): AsyncResult<U>;
328
- }
329
- /** What `toBetterResult` returns: the `status`/`value`/`error` fields every better-result value has. */
330
- type BetterResultValue<T, E> = {
331
- readonly status: "ok";
332
- readonly value: T;
333
- } | {
334
- readonly status: "error";
335
- readonly error: E;
336
- };
337
- /** The part of better-result's `Result` namespace `toBetterResult` calls. */
338
- interface BetterResultApi<T, E> {
339
- ok(value: NoInfer<T>): unknown;
340
- err(error: NoInfer<E>): unknown;
341
- }
342
- /**
343
- * Builds a better-result value with the `Result` namespace you pass, so
344
- * better-result stays your dependency. Errors go through `mapError`, or, for a
345
- * result from a `db` of `betterSupabase.mapError(fn)`, through `fn` (typed `unknown`).
346
- * The value is a real `Ok`/`Err`: cast it (`as Result<T, E>`) for its
347
- * methods in types; the cast itself is not checked against `T`.
348
- *
349
- * ```ts
350
- * import { Result } from 'better-result';
351
- * const customer = toBetterResult(await db.customers.findById(id), Result, toAppError);
352
- * ```
353
- */
354
- declare function toBetterResult<T, E>(result: Result<T>, api: BetterResultApi<T, E>, mapError: (error: DbError) => E): BetterResultValue<T, E>;
355
- declare function toBetterResult<T>(result: Result<T>, api: BetterResultApi<T, DbError>): BetterResultValue<T, DbError>;
356
- declare function toBetterResult<T, E>(result: AsyncResult<T>, api: BetterResultApi<T, E>, mapError: (error: DbError) => E): Promise<BetterResultValue<T, E>>;
357
- declare function toBetterResult<T>(result: AsyncResult<T>, api: BetterResultApi<T, unknown>): Promise<BetterResultValue<T, unknown>>;
358
- /**
359
- * Converts a better-result value back into a `Result`, by its `status`
360
- * field, so it works across better-result versions. A `DbError`, or an
361
- * error whose `cause` is one, is kept; others go through `mapError`
362
- * (default `toDbError`).
363
- */
364
- declare function fromBetterResult<T>(result: BetterResultValue<T, unknown>, mapError?: (error: unknown) => DbError): Result<T>;
365
- declare function toDbError(cause: unknown): DbError;
366
- //#endregion
367
- //#region src/core/executor.d.ts
368
- interface ExecuteContext {
369
- readonly signal?: AbortSignal;
370
- readonly errorMappers: readonly ErrorMapper[];
371
- }
372
- interface ExecuteResult {
373
- /** Rows keyed by the aliases in the operation's selection. */
374
- readonly rows: readonly Record<string, unknown>[];
375
- readonly count: number | null;
376
- }
377
- /**
378
- * Runs IR operations. PostgREST (`postgrestExecutor`) and SQL
379
- * (`better-supabase/postgres`) are built in; any other backend can implement
380
- * this interface and prove it with `testExecutor` from `better-supabase/testing`.
381
- */
382
- interface Executor {
383
- readonly name: string;
384
- /** Honors `SelectOp.source`. `db.$search` fails on executors without it. */
385
- readonly functionSources?: boolean;
386
- execute(op: Operation, context: ExecuteContext): Promise<Result<ExecuteResult>>;
387
- /** Calls a database function. Optional; `db.$rpc` fails without it. */
388
- rpc?(name: string, args: Readonly<Record<string, unknown>>, context: RpcContext): Promise<Result<unknown>>;
389
- /**
390
- * Runs several reads together, for `db.$many`: one transaction on a SQL
391
- * connection. Returns one result per operation, in order. Optional;
392
- * without it `db.$many` runs the operations in parallel.
393
- */
394
- batch?(ops: readonly Operation[], context: ExecuteContext): Promise<readonly Result<ExecuteResult>[]>;
395
- }
396
- interface RpcContext extends ExecuteContext {
397
- readonly schema: string;
398
- /** The function is `stable`: send it as a GET, so read replicas can serve it. */
399
- readonly get?: boolean;
400
- }
401
- //#endregion
402
- export { or as $, mapDbError as A, InsertOp as B, RawDbError as C, isConflict as D, isCheck as E, Condition as F, Quantifier as G, MutationOp as H, CountMode as I, Selection as J, SelectColumn as K, DeleteOp as L, AggregateFn as M, Aggregation as N, isDbError as O, ColumnOp as P, not as Q, FunctionSource as R, ErrorMapper as S, dbError as T, Operation as U, Measure as V, OrderTerm as W, and as X, UpdateOp as Y, column as Z, DbError as _, AsyncResult as a, DbErrorOf as b, Err as c, ThrowMapper as d, err as f, toDbError as g, toBetterResult as h, RpcContext as i, statusOf as j, isForeignKey as k, Ok as l, ok as m, ExecuteResult as n, BetterResultApi as o, fromBetterResult as p, SelectOp as q, Executor as r, BetterResultValue as s, ExecuteContext as t, Result as u, DbErrorKind as v, ValidationIssue as w, DbException as x, DbErrorKinds as y, Include as z };
@@ -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,50 +0,0 @@
1
- import { c as ClaimsMeta, j as SchemaMeta } from "./types-Dnf_wRDz.js";
2
- import { d as Generator } from "./config-Bv7gvfzC.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 };
@@ -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 };