better-supabase 0.7.1 → 0.9.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 (1377) hide show
  1. package/README.md +146 -81
  2. package/bin/better-supabase.js +14 -2
  3. package/dist/access-sql-DUSSMaC3.js +201 -0
  4. package/dist/actor-BAhb-d1S.d.ts +104 -0
  5. package/dist/actor-KHDOKGb1.js +151 -0
  6. package/dist/adapter-CEjmtazZ.js +1984 -0
  7. package/dist/agents-BCNhIxVZ.d.ts +111 -0
  8. package/dist/ai-cache-Dps7aRu1.d.ts +70 -0
  9. package/dist/ai-cache-zeUL94pB.js +84 -0
  10. package/dist/ai-chat-3GBSlFR4.d.ts +608 -0
  11. package/dist/ai-files-D2_9YLjF.js +331 -0
  12. package/dist/ai-message-DfaP8sis.js +14 -0
  13. package/dist/ai-sdk/agents/index.d.ts +154 -10
  14. package/dist/ai-sdk/agents/index.js +172 -17
  15. package/dist/ai-sdk/batches/index.d.ts +4 -4
  16. package/dist/ai-sdk/batches/index.js +5 -5
  17. package/dist/ai-sdk/cache/index.d.ts +2 -2
  18. package/dist/ai-sdk/cache/index.js +2 -2
  19. package/dist/ai-sdk/chat/index.d.ts +1 -1
  20. package/dist/ai-sdk/chat/index.js +10 -21
  21. package/dist/ai-sdk/embeddings/index.d.ts +3 -3
  22. package/dist/ai-sdk/embeddings/index.js +1 -2
  23. package/dist/ai-sdk/files/index.d.ts +3 -3
  24. package/dist/ai-sdk/files/index.js +4 -4
  25. package/dist/ai-sdk/index.d.ts +38 -9
  26. package/dist/ai-sdk/index.js +5 -3
  27. package/dist/ai-sdk/mcp/index.d.ts +43 -6
  28. package/dist/ai-sdk/mcp/index.js +37 -8
  29. package/dist/ai-sdk/memory/index.d.ts +5 -2
  30. package/dist/ai-sdk/memory/index.js +2 -2
  31. package/dist/ai-sdk/react/index.js +1 -2
  32. package/dist/ai-sdk/workflow/index.d.ts +7 -6
  33. package/dist/ai-sdk/workflow/index.js +15 -26
  34. package/dist/ai-tasks-Ih5oHfyj.d.ts +157 -0
  35. package/dist/announcements-BHCzraR6.js +128 -0
  36. package/dist/api-CFjuYKFY.js +680 -0
  37. package/dist/api-TG3jE5aO.d.ts +411 -0
  38. package/dist/api-keys-BEQatEUW.js +318 -0
  39. package/dist/api-keys-BYoGCM9p.d.ts +205 -0
  40. package/dist/app-tables-BGl5_U2x.js +584 -0
  41. package/dist/approvals-a2KmioBh.d.ts +124 -0
  42. package/dist/arazzo/index.d.ts +255 -0
  43. package/dist/arazzo/index.js +622 -0
  44. package/dist/assistant-Bf2cA6RO.d.ts +148 -0
  45. package/dist/astro/index.d.ts +9 -8
  46. package/dist/astro/index.js +12 -9
  47. package/dist/asyncapi/index.d.ts +103 -0
  48. package/dist/asyncapi/index.js +569 -0
  49. package/dist/attachments-DAj2Yp95.js +264 -0
  50. package/dist/attributes-D4mA7WhI.js +38 -0
  51. package/dist/audit-log-BMMuGPdP.js +786 -0
  52. package/dist/auth-CdBKt0CS.js +20 -0
  53. package/dist/auth-reply-DUCwb8YO.js +31 -0
  54. package/dist/auth-reply-Dj124sbX.d.ts +11 -0
  55. package/dist/authorization-DpRfs6Wx.d.ts +1412 -0
  56. package/dist/authorization-hooks-DkmrnDX7.d.ts +214 -0
  57. package/dist/authorizer-DH7DjkL3.js +126 -0
  58. package/dist/authorizer-eiOjo-3l.d.ts +73 -0
  59. package/dist/base64-BmeCBgGo.js +42 -0
  60. package/dist/batch-limit-DKVQDz4o.js +5 -0
  61. package/dist/before-route-B98js9m_.js +30 -0
  62. package/dist/better-result/index.d.ts +118 -0
  63. package/dist/better-result/index.js +64 -0
  64. package/dist/bind-a7sUgvf4.d.ts +70 -0
  65. package/dist/block-env-CBd_SoL5.js +29 -0
  66. package/dist/block-env-Dxl7rsI0.d.ts +10 -0
  67. package/dist/block-events-DD9Q_NUz.js +96 -0
  68. package/dist/block-fields-5UA84ZUg.d.ts +55 -0
  69. package/dist/block-fields-ffD6Gxe4.js +139 -0
  70. package/dist/block-helpers-C86hPEjI.d.ts +37 -0
  71. package/dist/block-helpers-CfG_MvDR.js +264 -0
  72. package/dist/block-hooks-BLPWD3Jt.d.ts +107 -0
  73. package/dist/block-hooks-BsXncUlZ.js +114 -0
  74. package/dist/block-transport-DaGGXjIw.d.ts +70 -0
  75. package/dist/block-transport-G4t1umrR.js +85 -0
  76. package/dist/blocks/access-requests/index.d.ts +98 -0
  77. package/dist/blocks/access-requests/index.js +99 -0
  78. package/dist/blocks/agents/index.d.ts +21 -3
  79. package/dist/blocks/agents/index.js +65 -18
  80. package/dist/blocks/ai-cache/index.d.ts +8 -3
  81. package/dist/blocks/ai-cache/index.js +15 -3
  82. package/dist/blocks/ai-chat/index.d.ts +28 -4
  83. package/dist/blocks/ai-chat/index.js +31 -5
  84. package/dist/blocks/ai-chat/react/index.d.ts +12 -46
  85. package/dist/blocks/ai-chat/react/index.js +43 -335
  86. package/dist/blocks/ai-chat/solid/index.d.ts +34 -0
  87. package/dist/blocks/ai-chat/solid/index.js +41 -0
  88. package/dist/blocks/ai-chat/svelte/index.d.ts +34 -0
  89. package/dist/blocks/ai-chat/svelte/index.js +41 -0
  90. package/dist/blocks/ai-chat/vue/index.d.ts +34 -0
  91. package/dist/blocks/ai-chat/vue/index.js +41 -0
  92. package/dist/blocks/ai-files/index.d.ts +11 -4
  93. package/dist/blocks/ai-files/index.js +16 -3
  94. package/dist/blocks/ai-providers/index.d.ts +18 -3
  95. package/dist/blocks/ai-providers/index.js +41 -15
  96. package/dist/blocks/ai-tasks/index.d.ts +10 -3
  97. package/dist/blocks/ai-tasks/index.js +71 -21
  98. package/dist/blocks/announcements/index.d.ts +18 -3
  99. package/dist/blocks/announcements/index.js +27 -3
  100. package/dist/blocks/announcements/react/index.d.ts +4 -14
  101. package/dist/blocks/announcements/react/index.js +22 -70
  102. package/dist/blocks/announcements/solid/index.d.ts +13 -0
  103. package/dist/blocks/announcements/solid/index.js +14 -0
  104. package/dist/blocks/announcements/svelte/index.d.ts +13 -0
  105. package/dist/blocks/announcements/svelte/index.js +14 -0
  106. package/dist/blocks/announcements/vue/index.d.ts +13 -0
  107. package/dist/blocks/announcements/vue/index.js +14 -0
  108. package/dist/blocks/api-keys/index.d.ts +24 -7
  109. package/dist/blocks/api-keys/index.js +30 -295
  110. package/dist/blocks/api-keys/react/index.d.ts +29 -0
  111. package/dist/blocks/api-keys/react/index.js +43 -0
  112. package/dist/blocks/api-keys/react/server.d.ts +7 -0
  113. package/dist/blocks/api-keys/react/server.js +7 -0
  114. package/dist/blocks/api-keys/solid/index.d.ts +13 -0
  115. package/dist/blocks/api-keys/solid/index.js +14 -0
  116. package/dist/blocks/api-keys/svelte/index.d.ts +13 -0
  117. package/dist/blocks/api-keys/svelte/index.js +14 -0
  118. package/dist/blocks/api-keys/vue/index.d.ts +13 -0
  119. package/dist/blocks/api-keys/vue/index.js +14 -0
  120. package/dist/blocks/approvals/index.d.ts +22 -0
  121. package/dist/blocks/approvals/index.js +189 -0
  122. package/dist/blocks/attachments/index.d.ts +18 -223
  123. package/dist/blocks/attachments/index.js +26 -233
  124. package/dist/blocks/audit/index.d.ts +72 -354
  125. package/dist/blocks/audit/index.js +91 -695
  126. package/dist/blocks/audit/react/index.d.ts +26 -0
  127. package/dist/blocks/audit/react/index.js +44 -0
  128. package/dist/blocks/audit/react/server.d.ts +7 -0
  129. package/dist/blocks/audit/react/server.js +7 -0
  130. package/dist/blocks/audit/solid/index.d.ts +13 -0
  131. package/dist/blocks/audit/solid/index.js +14 -0
  132. package/dist/blocks/audit/svelte/index.d.ts +13 -0
  133. package/dist/blocks/audit/svelte/index.js +14 -0
  134. package/dist/blocks/audit/vue/index.d.ts +13 -0
  135. package/dist/blocks/audit/vue/index.js +14 -0
  136. package/dist/blocks/billing/index.d.ts +40 -13
  137. package/dist/blocks/billing/index.js +49 -18
  138. package/dist/blocks/billing/react/index.d.ts +34 -0
  139. package/dist/blocks/billing/react/index.js +36 -0
  140. package/dist/blocks/billing/react/server.d.ts +7 -0
  141. package/dist/blocks/billing/react/server.js +7 -0
  142. package/dist/blocks/billing/solid/index.d.ts +15 -0
  143. package/dist/blocks/billing/solid/index.js +14 -0
  144. package/dist/blocks/billing/svelte/index.d.ts +15 -0
  145. package/dist/blocks/billing/svelte/index.js +14 -0
  146. package/dist/blocks/billing/vue/index.d.ts +15 -0
  147. package/dist/blocks/billing/vue/index.js +14 -0
  148. package/dist/blocks/bookings/index.d.ts +36 -0
  149. package/dist/blocks/bookings/index.js +28 -0
  150. package/dist/blocks/bookings/react/index.d.ts +31 -0
  151. package/dist/blocks/bookings/react/index.js +59 -0
  152. package/dist/blocks/bookings/react/server.d.ts +6 -0
  153. package/dist/blocks/bookings/react/server.js +7 -0
  154. package/dist/blocks/bookings/solid/index.d.ts +13 -0
  155. package/dist/blocks/bookings/solid/index.js +14 -0
  156. package/dist/blocks/bookings/svelte/index.d.ts +13 -0
  157. package/dist/blocks/bookings/svelte/index.js +14 -0
  158. package/dist/blocks/bookings/vue/index.d.ts +13 -0
  159. package/dist/blocks/bookings/vue/index.js +14 -0
  160. package/dist/blocks/bulk/index.d.ts +142 -0
  161. package/dist/blocks/bulk/index.js +154 -0
  162. package/dist/blocks/calendar/index.d.ts +20 -0
  163. package/dist/blocks/calendar/index.js +33 -0
  164. package/dist/blocks/calendar/react/index.d.ts +26 -0
  165. package/dist/blocks/calendar/react/index.js +58 -0
  166. package/dist/blocks/calendar/react/server.d.ts +6 -0
  167. package/dist/blocks/calendar/react/server.js +7 -0
  168. package/dist/blocks/calendar/solid/index.d.ts +13 -0
  169. package/dist/blocks/calendar/solid/index.js +14 -0
  170. package/dist/blocks/calendar/svelte/index.d.ts +13 -0
  171. package/dist/blocks/calendar/svelte/index.js +14 -0
  172. package/dist/blocks/calendar/vue/index.d.ts +13 -0
  173. package/dist/blocks/calendar/vue/index.js +14 -0
  174. package/dist/blocks/catalog/index.d.ts +224 -0
  175. package/dist/blocks/catalog/index.js +292 -0
  176. package/dist/blocks/collections/index.d.ts +184 -0
  177. package/dist/blocks/collections/index.js +208 -0
  178. package/dist/blocks/comments/index.d.ts +19 -166
  179. package/dist/blocks/comments/index.js +26 -206
  180. package/dist/blocks/comments/react/index.d.ts +27 -0
  181. package/dist/blocks/comments/react/index.js +45 -0
  182. package/dist/blocks/comments/react/server.d.ts +7 -0
  183. package/dist/blocks/comments/react/server.js +7 -0
  184. package/dist/blocks/comments/solid/index.d.ts +13 -0
  185. package/dist/blocks/comments/solid/index.js +14 -0
  186. package/dist/blocks/comments/svelte/index.d.ts +13 -0
  187. package/dist/blocks/comments/svelte/index.js +14 -0
  188. package/dist/blocks/comments/vue/index.d.ts +13 -0
  189. package/dist/blocks/comments/vue/index.js +14 -0
  190. package/dist/blocks/connectors/index.d.ts +21 -3
  191. package/dist/blocks/connectors/index.js +54 -18
  192. package/dist/blocks/custom-fields/index.d.ts +62 -0
  193. package/dist/blocks/custom-fields/index.js +85 -0
  194. package/dist/blocks/data-lifecycle/index.d.ts +119 -10
  195. package/dist/blocks/data-lifecycle/index.js +103 -12
  196. package/dist/blocks/deals/index.d.ts +262 -0
  197. package/dist/blocks/deals/index.js +380 -0
  198. package/dist/blocks/documents/index.d.ts +17 -0
  199. package/dist/blocks/documents/index.js +118 -0
  200. package/dist/blocks/domains/index.d.ts +117 -0
  201. package/dist/blocks/domains/index.js +118 -0
  202. package/dist/blocks/drive/index.d.ts +296 -0
  203. package/dist/blocks/drive/index.js +483 -0
  204. package/dist/blocks/employees/index.d.ts +205 -0
  205. package/dist/blocks/employees/index.js +289 -0
  206. package/dist/blocks/engagements/index.d.ts +125 -0
  207. package/dist/blocks/engagements/index.js +143 -0
  208. package/dist/blocks/entitlements/index.d.ts +40 -4
  209. package/dist/blocks/entitlements/index.js +14 -24
  210. package/dist/blocks/entitlements/react/index.d.ts +24 -0
  211. package/dist/blocks/entitlements/react/index.js +35 -0
  212. package/dist/blocks/entitlements/react/server.d.ts +6 -0
  213. package/dist/blocks/entitlements/react/server.js +7 -0
  214. package/dist/blocks/entitlements/solid/index.d.ts +13 -0
  215. package/dist/blocks/entitlements/solid/index.js +14 -0
  216. package/dist/blocks/entitlements/svelte/index.d.ts +13 -0
  217. package/dist/blocks/entitlements/svelte/index.js +14 -0
  218. package/dist/blocks/entitlements/vue/index.d.ts +13 -0
  219. package/dist/blocks/entitlements/vue/index.js +14 -0
  220. package/dist/blocks/flags/index.d.ts +61 -187
  221. package/dist/blocks/flags/index.js +65 -252
  222. package/dist/blocks/forms/index.d.ts +302 -0
  223. package/dist/blocks/forms/index.js +341 -0
  224. package/dist/blocks/forms/react/index.d.ts +16 -0
  225. package/dist/blocks/forms/react/index.js +25 -0
  226. package/dist/blocks/forms/react/server.d.ts +6 -0
  227. package/dist/blocks/forms/react/server.js +7 -0
  228. package/dist/blocks/forms/solid/index.d.ts +13 -0
  229. package/dist/blocks/forms/solid/index.js +14 -0
  230. package/dist/blocks/forms/svelte/index.d.ts +13 -0
  231. package/dist/blocks/forms/svelte/index.js +14 -0
  232. package/dist/blocks/forms/vue/index.d.ts +13 -0
  233. package/dist/blocks/forms/vue/index.js +14 -0
  234. package/dist/blocks/hiring/index.d.ts +154 -0
  235. package/dist/blocks/hiring/index.js +180 -0
  236. package/dist/blocks/identities/index.d.ts +83 -0
  237. package/dist/blocks/identities/index.js +103 -0
  238. package/dist/blocks/imports/index.d.ts +91 -0
  239. package/dist/blocks/imports/index.js +123 -0
  240. package/dist/blocks/inbox/index.d.ts +22 -3
  241. package/dist/blocks/inbox/index.js +78 -6
  242. package/dist/blocks/inbox/react/index.d.ts +3 -2
  243. package/dist/blocks/inbox/react/index.js +55 -199
  244. package/dist/blocks/inbox/react/server.d.ts +2 -1
  245. package/dist/blocks/inbox/solid/index.d.ts +27 -0
  246. package/dist/blocks/inbox/solid/index.js +32 -0
  247. package/dist/blocks/inbox/svelte/index.d.ts +27 -0
  248. package/dist/blocks/inbox/svelte/index.js +32 -0
  249. package/dist/blocks/inbox/vue/index.d.ts +27 -0
  250. package/dist/blocks/inbox/vue/index.js +32 -0
  251. package/dist/blocks/index.d.ts +9 -64
  252. package/dist/blocks/index.js +193 -57
  253. package/dist/blocks/inventory/index.d.ts +181 -0
  254. package/dist/blocks/inventory/index.js +219 -0
  255. package/dist/blocks/invoices/index.d.ts +154 -0
  256. package/dist/blocks/invoices/index.js +216 -0
  257. package/dist/blocks/jobs/index.d.ts +188 -49
  258. package/dist/blocks/jobs/index.js +698 -527
  259. package/dist/blocks/knowledge/index.d.ts +10 -3
  260. package/dist/blocks/knowledge/index.js +17 -3
  261. package/dist/blocks/leave/index.d.ts +241 -0
  262. package/dist/blocks/leave/index.js +209 -0
  263. package/dist/blocks/memory/index.d.ts +9 -4
  264. package/dist/blocks/memory/index.js +49 -12
  265. package/dist/blocks/metrics/index.d.ts +174 -0
  266. package/dist/blocks/metrics/index.js +217 -0
  267. package/dist/blocks/mfa/index.d.ts +7 -0
  268. package/dist/blocks/mfa/index.js +12 -0
  269. package/dist/blocks/mfa/react/index.d.ts +30 -0
  270. package/dist/blocks/mfa/react/index.js +45 -0
  271. package/dist/blocks/mfa/react/server.d.ts +9 -0
  272. package/dist/blocks/mfa/react/server.js +12 -0
  273. package/dist/blocks/mfa/solid/index.d.ts +20 -0
  274. package/dist/blocks/mfa/solid/index.js +23 -0
  275. package/dist/blocks/mfa/svelte/index.d.ts +20 -0
  276. package/dist/blocks/mfa/svelte/index.js +23 -0
  277. package/dist/blocks/mfa/vue/index.d.ts +20 -0
  278. package/dist/blocks/mfa/vue/index.js +23 -0
  279. package/dist/blocks/notifications/index.d.ts +345 -26
  280. package/dist/blocks/notifications/index.js +744 -120
  281. package/dist/blocks/notifications/react/index.d.ts +7 -32
  282. package/dist/blocks/notifications/react/index.js +23 -49
  283. package/dist/blocks/notifications/react/server.d.ts +2 -1
  284. package/dist/blocks/notifications/solid/index.d.ts +13 -0
  285. package/dist/blocks/notifications/solid/index.js +14 -0
  286. package/dist/blocks/notifications/svelte/index.d.ts +13 -0
  287. package/dist/blocks/notifications/svelte/index.js +14 -0
  288. package/dist/blocks/notifications/vue/index.d.ts +13 -0
  289. package/dist/blocks/notifications/vue/index.js +14 -0
  290. package/dist/blocks/number-sequences/index.d.ts +39 -0
  291. package/dist/blocks/number-sequences/index.js +38 -0
  292. package/dist/blocks/oauth-server/index.d.ts +228 -0
  293. package/dist/blocks/oauth-server/index.js +309 -0
  294. package/dist/blocks/onboarding/index.d.ts +8 -3
  295. package/dist/blocks/onboarding/index.js +17 -63
  296. package/dist/blocks/onboarding/react/index.d.ts +3 -12
  297. package/dist/blocks/onboarding/react/index.js +18 -60
  298. package/dist/blocks/onboarding/react/server.d.ts +2 -2
  299. package/dist/blocks/onboarding/react/server.js +2 -2
  300. package/dist/blocks/onboarding/solid/index.d.ts +13 -0
  301. package/dist/blocks/onboarding/solid/index.js +14 -0
  302. package/dist/blocks/onboarding/svelte/index.d.ts +13 -0
  303. package/dist/blocks/onboarding/svelte/index.js +14 -0
  304. package/dist/blocks/onboarding/vue/index.d.ts +13 -0
  305. package/dist/blocks/onboarding/vue/index.js +14 -0
  306. package/dist/blocks/orders/index.d.ts +264 -0
  307. package/dist/blocks/orders/index.js +589 -0
  308. package/dist/blocks/organizations/index.d.ts +31 -238
  309. package/dist/blocks/organizations/index.js +49 -399
  310. package/dist/blocks/organizations/react/index.d.ts +108 -0
  311. package/dist/blocks/organizations/react/index.js +113 -0
  312. package/dist/blocks/organizations/react/server.d.ts +11 -0
  313. package/dist/blocks/organizations/react/server.js +15 -0
  314. package/dist/blocks/organizations/solid/index.d.ts +34 -0
  315. package/dist/blocks/organizations/solid/index.js +32 -0
  316. package/dist/blocks/organizations/svelte/index.d.ts +34 -0
  317. package/dist/blocks/organizations/svelte/index.js +32 -0
  318. package/dist/blocks/organizations/vue/index.d.ts +34 -0
  319. package/dist/blocks/organizations/vue/index.js +32 -0
  320. package/dist/blocks/outbox/index.d.ts +12 -3
  321. package/dist/blocks/outbox/index.js +97 -67
  322. package/dist/blocks/parties/index.d.ts +181 -0
  323. package/dist/blocks/parties/index.js +258 -0
  324. package/dist/blocks/pipelines/index.d.ts +189 -0
  325. package/dist/blocks/pipelines/index.js +204 -0
  326. package/dist/blocks/profiles/index.d.ts +14 -9
  327. package/dist/blocks/profiles/index.js +20 -6
  328. package/dist/blocks/promotions/index.d.ts +125 -0
  329. package/dist/blocks/promotions/index.js +123 -0
  330. package/dist/blocks/push/index.d.ts +48 -28
  331. package/dist/blocks/push/index.js +45 -16
  332. package/dist/blocks/quotes/index.d.ts +152 -0
  333. package/dist/blocks/quotes/index.js +209 -0
  334. package/dist/blocks/rank/index.d.ts +71 -0
  335. package/dist/blocks/rank/index.js +53 -0
  336. package/dist/blocks/reactions/index.d.ts +18 -0
  337. package/dist/blocks/reactions/index.js +26 -0
  338. package/dist/blocks/reactions/react/index.d.ts +23 -0
  339. package/dist/blocks/reactions/react/index.js +46 -0
  340. package/dist/blocks/reactions/react/server.d.ts +6 -0
  341. package/dist/blocks/reactions/react/server.js +7 -0
  342. package/dist/blocks/reactions/solid/index.d.ts +13 -0
  343. package/dist/blocks/reactions/solid/index.js +14 -0
  344. package/dist/blocks/reactions/svelte/index.d.ts +13 -0
  345. package/dist/blocks/reactions/svelte/index.js +14 -0
  346. package/dist/blocks/reactions/vue/index.d.ts +13 -0
  347. package/dist/blocks/reactions/vue/index.js +14 -0
  348. package/dist/blocks/relations/index.d.ts +180 -0
  349. package/dist/blocks/relations/index.js +254 -0
  350. package/dist/blocks/reminders/index.d.ts +177 -0
  351. package/dist/blocks/reminders/index.js +171 -0
  352. package/dist/blocks/reviews/index.d.ts +148 -0
  353. package/dist/blocks/reviews/index.js +139 -0
  354. package/dist/blocks/rules/index.d.ts +103 -0
  355. package/dist/blocks/rules/index.js +54 -0
  356. package/dist/blocks/rules/react/index.d.ts +34 -0
  357. package/dist/blocks/rules/react/index.js +55 -0
  358. package/dist/blocks/rules/react/server.d.ts +6 -0
  359. package/dist/blocks/rules/react/server.js +7 -0
  360. package/dist/blocks/rules/solid/index.d.ts +13 -0
  361. package/dist/blocks/rules/solid/index.js +14 -0
  362. package/dist/blocks/rules/svelte/index.d.ts +13 -0
  363. package/dist/blocks/rules/svelte/index.js +14 -0
  364. package/dist/blocks/rules/vue/index.d.ts +13 -0
  365. package/dist/blocks/rules/vue/index.js +14 -0
  366. package/dist/blocks/saved-views/index.d.ts +17 -0
  367. package/dist/blocks/saved-views/index.js +29 -0
  368. package/dist/blocks/saved-views/react/index.d.ts +34 -0
  369. package/dist/blocks/saved-views/react/index.js +57 -0
  370. package/dist/blocks/saved-views/react/server.d.ts +7 -0
  371. package/dist/blocks/saved-views/react/server.js +7 -0
  372. package/dist/blocks/saved-views/solid/index.d.ts +13 -0
  373. package/dist/blocks/saved-views/solid/index.js +14 -0
  374. package/dist/blocks/saved-views/svelte/index.d.ts +13 -0
  375. package/dist/blocks/saved-views/svelte/index.js +14 -0
  376. package/dist/blocks/saved-views/vue/index.d.ts +13 -0
  377. package/dist/blocks/saved-views/vue/index.js +14 -0
  378. package/dist/blocks/search/index.d.ts +31 -0
  379. package/dist/blocks/search/index.js +61 -0
  380. package/dist/blocks/search/react/index.d.ts +36 -0
  381. package/dist/blocks/search/react/index.js +49 -0
  382. package/dist/blocks/search/react/server.d.ts +7 -0
  383. package/dist/blocks/search/react/server.js +8 -0
  384. package/dist/blocks/search/solid/index.d.ts +13 -0
  385. package/dist/blocks/search/solid/index.js +14 -0
  386. package/dist/blocks/search/svelte/index.d.ts +13 -0
  387. package/dist/blocks/search/svelte/index.js +14 -0
  388. package/dist/blocks/search/vue/index.d.ts +13 -0
  389. package/dist/blocks/search/vue/index.js +14 -0
  390. package/dist/blocks/service-principals/index.d.ts +126 -0
  391. package/dist/blocks/service-principals/index.js +107 -0
  392. package/dist/blocks/sessions/index.d.ts +7 -0
  393. package/dist/blocks/sessions/index.js +14 -0
  394. package/dist/blocks/sessions/react/index.d.ts +31 -0
  395. package/dist/blocks/sessions/react/index.js +51 -0
  396. package/dist/blocks/sessions/react/server.d.ts +9 -0
  397. package/dist/blocks/sessions/react/server.js +11 -0
  398. package/dist/blocks/sessions/solid/index.d.ts +20 -0
  399. package/dist/blocks/sessions/solid/index.js +23 -0
  400. package/dist/blocks/sessions/svelte/index.d.ts +20 -0
  401. package/dist/blocks/sessions/svelte/index.js +23 -0
  402. package/dist/blocks/sessions/vue/index.d.ts +20 -0
  403. package/dist/blocks/sessions/vue/index.js +23 -0
  404. package/dist/blocks/settings/index.d.ts +20 -86
  405. package/dist/blocks/settings/index.js +28 -101
  406. package/dist/blocks/settings/react/index.d.ts +25 -0
  407. package/dist/blocks/settings/react/index.js +37 -0
  408. package/dist/blocks/settings/react/server.d.ts +7 -0
  409. package/dist/blocks/settings/react/server.js +7 -0
  410. package/dist/blocks/settings/solid/index.d.ts +13 -0
  411. package/dist/blocks/settings/solid/index.js +14 -0
  412. package/dist/blocks/settings/svelte/index.d.ts +13 -0
  413. package/dist/blocks/settings/svelte/index.js +14 -0
  414. package/dist/blocks/settings/vue/index.d.ts +13 -0
  415. package/dist/blocks/settings/vue/index.js +14 -0
  416. package/dist/blocks/share-links/index.d.ts +99 -0
  417. package/dist/blocks/share-links/index.js +99 -0
  418. package/dist/blocks/shared-signals/index.d.ts +395 -0
  419. package/dist/blocks/shared-signals/index.js +880 -0
  420. package/dist/blocks/signing-keys/index.d.ts +29 -0
  421. package/dist/blocks/signing-keys/index.js +161 -0
  422. package/dist/blocks/sla/index.d.ts +114 -0
  423. package/dist/blocks/sla/index.js +122 -0
  424. package/dist/blocks/sso/index.d.ts +169 -147
  425. package/dist/blocks/sso/index.js +259 -321
  426. package/dist/blocks/state-machine/index.d.ts +105 -0
  427. package/dist/blocks/state-machine/index.js +116 -0
  428. package/dist/blocks/tags/index.d.ts +20 -0
  429. package/dist/blocks/tags/index.js +28 -0
  430. package/dist/blocks/tags/react/index.d.ts +28 -0
  431. package/dist/blocks/tags/react/index.js +47 -0
  432. package/dist/blocks/tags/react/server.d.ts +7 -0
  433. package/dist/blocks/tags/react/server.js +7 -0
  434. package/dist/blocks/tags/solid/index.d.ts +13 -0
  435. package/dist/blocks/tags/solid/index.js +14 -0
  436. package/dist/blocks/tags/svelte/index.d.ts +13 -0
  437. package/dist/blocks/tags/svelte/index.js +14 -0
  438. package/dist/blocks/tags/vue/index.d.ts +13 -0
  439. package/dist/blocks/tags/vue/index.js +14 -0
  440. package/dist/blocks/targets/index.d.ts +82 -0
  441. package/dist/blocks/targets/index.js +73 -0
  442. package/dist/blocks/teams/index.d.ts +61 -0
  443. package/dist/blocks/teams/index.js +83 -0
  444. package/dist/blocks/templates/index.d.ts +362 -0
  445. package/dist/blocks/templates/index.js +483 -0
  446. package/dist/blocks/time-tracking/index.d.ts +250 -0
  447. package/dist/blocks/time-tracking/index.js +317 -0
  448. package/dist/blocks/trash/index.d.ts +78 -0
  449. package/dist/blocks/trash/index.js +79 -0
  450. package/dist/blocks/undo/index.d.ts +9 -0
  451. package/dist/blocks/undo/index.js +14 -0
  452. package/dist/blocks/undo/react/index.d.ts +17 -0
  453. package/dist/blocks/undo/react/index.js +24 -0
  454. package/dist/blocks/undo/react/server.d.ts +7 -0
  455. package/dist/blocks/undo/react/server.js +7 -0
  456. package/dist/blocks/undo/solid/index.d.ts +13 -0
  457. package/dist/blocks/undo/solid/index.js +14 -0
  458. package/dist/blocks/undo/svelte/index.d.ts +13 -0
  459. package/dist/blocks/undo/svelte/index.js +14 -0
  460. package/dist/blocks/undo/vue/index.d.ts +13 -0
  461. package/dist/blocks/undo/vue/index.js +14 -0
  462. package/dist/blocks/usage/index.d.ts +10 -4
  463. package/dist/blocks/usage/index.js +16 -232
  464. package/dist/blocks/usage/react/index.d.ts +23 -0
  465. package/dist/blocks/usage/react/index.js +38 -0
  466. package/dist/blocks/usage/react/server.d.ts +7 -0
  467. package/dist/blocks/usage/react/server.js +7 -0
  468. package/dist/blocks/usage/solid/index.d.ts +13 -0
  469. package/dist/blocks/usage/solid/index.js +14 -0
  470. package/dist/blocks/usage/svelte/index.d.ts +13 -0
  471. package/dist/blocks/usage/svelte/index.js +14 -0
  472. package/dist/blocks/usage/vue/index.d.ts +13 -0
  473. package/dist/blocks/usage/vue/index.js +14 -0
  474. package/dist/blocks/versions/index.d.ts +165 -0
  475. package/dist/blocks/versions/index.js +283 -0
  476. package/dist/blocks/waitlist/index.d.ts +57 -19
  477. package/dist/blocks/waitlist/index.js +47 -12
  478. package/dist/blocks/webhooks/index.d.ts +275 -134
  479. package/dist/blocks/webhooks/index.js +775 -231
  480. package/dist/blocks/work-items/index.d.ts +208 -0
  481. package/dist/blocks/work-items/index.js +305 -0
  482. package/dist/blocks/workflow-builder/index.d.ts +26 -6
  483. package/dist/blocks/workflow-builder/index.js +30 -5
  484. package/dist/blocks/workflow-builder/react/index.d.ts +4 -19
  485. package/dist/blocks/workflow-builder/react/index.js +45 -89
  486. package/dist/blocks/workflow-builder/solid/index.d.ts +20 -0
  487. package/dist/blocks/workflow-builder/solid/index.js +23 -0
  488. package/dist/blocks/workflow-builder/svelte/index.d.ts +20 -0
  489. package/dist/blocks/workflow-builder/svelte/index.js +23 -0
  490. package/dist/blocks/workflow-builder/vue/index.d.ts +20 -0
  491. package/dist/blocks/workflow-builder/vue/index.js +23 -0
  492. package/dist/blocks/workflows/index.d.ts +20 -3
  493. package/dist/blocks/workflows/index.js +27 -3
  494. package/dist/blocks/workflows/react/index.d.ts +5 -20
  495. package/dist/blocks/workflows/react/index.js +41 -113
  496. package/dist/blocks/workflows/solid/index.d.ts +20 -0
  497. package/dist/blocks/workflows/solid/index.js +23 -0
  498. package/dist/blocks/workflows/svelte/index.d.ts +20 -0
  499. package/dist/blocks/workflows/svelte/index.js +23 -0
  500. package/dist/blocks/workflows/vue/index.d.ts +20 -0
  501. package/dist/blocks/workflows/vue/index.js +23 -0
  502. package/dist/blocks-D2WQ63PI.js +84 -0
  503. package/dist/bookings-0XnhHNLM.js +181 -0
  504. package/dist/build-Cm0T5MVG.js +1815 -0
  505. package/dist/build-Cx08LOT7.js +689 -0
  506. package/dist/calendar-DcFrpSOy.js +801 -0
  507. package/dist/casing-DdFWEtqr.js +16 -0
  508. package/dist/channel-D-LHCY11.d.ts +78 -0
  509. package/dist/channels-C-GCoNLd.js +114 -0
  510. package/dist/chat-sdk/index.d.ts +131 -7
  511. package/dist/chat-sdk/index.js +155 -6
  512. package/dist/chat-sdk/react/index.d.ts +2 -1
  513. package/dist/chat-sdk/react/index.js +1 -2
  514. package/dist/chat-sdk/react/server.d.ts +2 -1
  515. package/dist/chat-sdk/react/server.js +1 -2
  516. package/dist/claims-0KZVT804.js +61 -0
  517. package/dist/cli/add-B0zoJUYX.js +651 -0
  518. package/dist/cli/add-Bd5M6uEZ.js +75 -0
  519. package/dist/cli/add-CT6p5psO.js +1 -0
  520. package/dist/cli/adopt-C9jl8z0h.js +1 -0
  521. package/dist/cli/adopt-CebmlHL-.js +393 -0
  522. package/dist/cli/agent-CCt_aXpJ.js +176 -0
  523. package/dist/cli/apply-Dxk8AUNU.js +302 -0
  524. package/dist/cli/arazzo-1.0-BalU61-_.js +532 -0
  525. package/dist/cli/arazzo-1.1-Bnfasbun.js +705 -0
  526. package/dist/cli/asyncapi-3.0.0-C78dBjR6.js +5593 -0
  527. package/dist/cli/asyncapi-3.1.0-g-7aIfV1.js +5833 -0
  528. package/dist/cli/bin.js +41 -21
  529. package/dist/cli/blocks-Bzz326nn.js +1 -0
  530. package/dist/cli/blocks-Dq25D80b.js +124 -0
  531. package/dist/cli/cache-Cx6qlRDR.js +502 -0
  532. package/dist/cli/catalog-Di15TkM2.js +187 -0
  533. package/dist/cli/codemod-woL4cVe0.js +985 -0
  534. package/dist/cli/command-CK9Cn8HV.js +836 -0
  535. package/dist/cli/completion-BO5UK6bG.js +1 -0
  536. package/dist/cli/completion-CWoDmFZr.js +205 -0
  537. package/dist/cli/completion-J3dqnNoW.js +30 -0
  538. package/dist/cli/config-C1d-mbUA.js +1 -0
  539. package/dist/cli/config-CLHpTk9Y.js +1421 -0
  540. package/dist/cli/config-MuKY9kUj.js +39 -0
  541. package/dist/cli/config-edit-Ct1lXe8a.js +603 -0
  542. package/dist/cli/db-DT1bGB02.js +78 -0
  543. package/dist/cli/design-edit-B-WsnhUF.js +175 -0
  544. package/dist/cli/detect-DYDUBLU4.js +84 -0
  545. package/dist/cli/dist-D_VbPAMR.js +129 -0
  546. package/dist/cli/dist-DuiMMRbJ.js +1112 -0
  547. package/dist/cli/doctor-SGw36h1D.js +3806 -0
  548. package/dist/cli/emit-ZAYeh4Yn.js +1042 -0
  549. package/dist/cli/env-CVXvJoLP.js +142 -0
  550. package/dist/cli/env-D3gZ-OHj.js +1 -0
  551. package/dist/cli/env-DJ4ZaJpe.js +1 -0
  552. package/dist/cli/env-DMw_MBe5.js +996 -0
  553. package/dist/cli/errors-Caiz_0so.js +98 -0
  554. package/dist/cli/fastest-levenshtein-dhRRvrM2.js +120 -0
  555. package/dist/cli/files-DDvAwTko.js +963 -0
  556. package/dist/cli/gen-B344S1Oy.js +304 -0
  557. package/dist/cli/guards-CUlDNYZs.js +8 -0
  558. package/dist/cli/index.d.ts +297 -140
  559. package/dist/cli/index.js +13 -8
  560. package/dist/cli/init-B1dL-RZL.js +393 -0
  561. package/dist/cli/introspect-BPcFi8ow.js +51 -0
  562. package/dist/cli/io-BiPX-_J1.js +37 -0
  563. package/dist/cli/jsonc-C8M0EhHB.js +1 -0
  564. package/dist/cli/keys-jsxCNJdz.js +106 -0
  565. package/dist/cli/metadata-CxBZo4KM.js +138 -0
  566. package/dist/cli/module-migration-YFFdWC5X.js +592 -0
  567. package/dist/cli/moved-D9OT_Uyy.js +152 -0
  568. package/dist/cli/names-D6LrQnOv.js +6 -0
  569. package/dist/cli/openapi-3.0-t7xwkuRH.js +928 -0
  570. package/dist/cli/openapi-3.1-CVze7tBS.js +870 -0
  571. package/dist/cli/openapi-3.2-CFoMYM01.js +1031 -0
  572. package/dist/cli/parse-DE59XyWt.js +170 -0
  573. package/dist/cli/preset-DmcC4nWE.js +129 -0
  574. package/dist/cli/prompts-Bvg_DBpe.js +1137 -0
  575. package/dist/cli/redact-PjNswZOs.js +35 -0
  576. package/dist/cli/rolldown-runtime-kJ_i4yPo.js +26 -0
  577. package/dist/cli/run-CM_2g6KQ.js +684 -0
  578. package/dist/cli/run-DaHfUUO9.js +1539 -0
  579. package/dist/cli/scaffold-CFdDq36-.js +898 -0
  580. package/dist/cli/scaffold-Dsjr7sOT.js +1 -0
  581. package/dist/cli/seed-DldDdXWO.js +113 -0
  582. package/dist/cli/seed-DtRFysBe.js +1 -0
  583. package/dist/cli/shell-Btv_4Yhe.js +10 -0
  584. package/dist/cli/skills-v34NDb2D.js +121 -0
  585. package/dist/cli/snapshot-DAxLi4hO.js +347 -0
  586. package/dist/cli/source-args-0I9zylYy.js +47 -0
  587. package/dist/cli/spec-CaaSOYZS.js +7501 -0
  588. package/dist/cli/spec-De0cfceR.js +1 -0
  589. package/dist/cli/sql-0I1EQ3JG.js +2 -0
  590. package/dist/cli/sql-DDLWwzh9.js +326 -0
  591. package/dist/cli/stack-status-CRanl-CN.js +456 -0
  592. package/dist/cli/style-2JfIPVMQ.js +29 -0
  593. package/dist/cli/supabase-toml-DjLgBYEo.js +1153 -0
  594. package/dist/cli/sync-DFx-6t5n.js +88 -0
  595. package/dist/cli/topics-GJuIDwlY.js +30 -0
  596. package/dist/cli/trace-VbdO6bcN.js +7 -0
  597. package/dist/cli/typegen--TfvOPLh.js +494 -0
  598. package/dist/cli/typegen-version-BNBPI4Eu.js +9 -0
  599. package/dist/cli/validate-BfWNKvxy.js +7522 -0
  600. package/dist/cli/version-DNRW4DAP.js +4 -0
  601. package/dist/cli/write-BS6F3Yvz.js +180 -0
  602. package/dist/client/index.d.ts +7 -3
  603. package/dist/client/index.js +207 -4
  604. package/dist/client/native/index.d.ts +71 -4
  605. package/dist/client/native/index.js +65 -6
  606. package/dist/client-01MAuqzW.js +137 -0
  607. package/dist/client-B7QVIrJS.d.ts +263 -0
  608. package/dist/client-B9CqzgPO.js +75 -0
  609. package/dist/client-BAcILZOf.d.ts +122 -0
  610. package/dist/client-BOT2KVIp.js +128 -0
  611. package/dist/client-BUGIS__1.js +1051 -0
  612. package/dist/client-BVZtq_rQ.d.ts +34 -0
  613. package/dist/client-BYaOGCOG.js +84 -0
  614. package/dist/client-BfgwocyT.js +155 -0
  615. package/dist/client-BpS8a6Fm.js +51 -0
  616. package/dist/client-BxnLb9bz.d.ts +58 -0
  617. package/dist/client-BzCv4kKE.js +65 -0
  618. package/dist/client-C-2ajnhM.js +89 -0
  619. package/dist/client-C5mUEb2n.js +55 -0
  620. package/dist/client-C9QrWrnt.js +209 -0
  621. package/dist/client-CFdMJ1h9.d.ts +277 -0
  622. package/dist/client-CHmjaI0j.d.ts +103 -0
  623. package/dist/client-CWs3X4g1.js +120 -0
  624. package/dist/client-Cdedx_lw.js +438 -0
  625. package/dist/client-CiGjS6us.js +169 -0
  626. package/dist/client-CilSKXNu.js +288 -0
  627. package/dist/client-ClZ0D-if.d.ts +162 -0
  628. package/dist/client-Cmensu7l.d.ts +419 -0
  629. package/dist/client-Co6BPmvr.d.ts +108 -0
  630. package/dist/client-CoVGPi0c.js +133 -0
  631. package/dist/client-CvITjt-9.js +310 -0
  632. package/dist/client-CzI4QpG3.d.ts +131 -0
  633. package/dist/client-D5CZ2a34.d.ts +455 -0
  634. package/dist/client-DAHsEOVV.d.ts +155 -0
  635. package/dist/client-DG7FwgZD.js +104 -0
  636. package/dist/client-DIrCmOXz.d.ts +157 -0
  637. package/dist/client-DNq8xYb-.js +52 -0
  638. package/dist/client-DdfSIZ3M.d.ts +107 -0
  639. package/dist/client-DjTRlN3a.d.ts +68 -0
  640. package/dist/client-Ezlbskjq.js +60 -0
  641. package/dist/client-LLmgiCwJ.d.ts +135 -0
  642. package/dist/client-Lx3mlvKO.d.ts +100 -0
  643. package/dist/client-PGRk3DGz.js +98 -0
  644. package/dist/client-Tc47rlSe.d.ts +350 -0
  645. package/dist/client-VvY0K3wr.d.ts +59 -0
  646. package/dist/client-WAdEBBrH.d.ts +65 -0
  647. package/dist/client-WHeWTNVL.d.ts +130 -0
  648. package/dist/client-WgrPIHH-.js +213 -0
  649. package/dist/client-ZTtSV3l8.js +40 -0
  650. package/dist/client-b2_GjzzD.js +438 -0
  651. package/dist/client-ckXfdy1k.js +38 -0
  652. package/dist/client-e-hFkLUf.d.ts +34 -0
  653. package/dist/client-hyP_nS5R.d.ts +218 -0
  654. package/dist/client-i8glKhxh.js +67 -0
  655. package/dist/client-iDLLvGR4.d.ts +52 -0
  656. package/dist/client-pxjbgOz6.js +376 -0
  657. package/dist/client-xkSCp9hN.d.ts +101 -0
  658. package/dist/client-ysNShuJZ.d.ts +39 -0
  659. package/dist/clone-dN9XOL1K.js +29 -0
  660. package/dist/cloud-event-5rCEzIgK.d.ts +64 -0
  661. package/dist/cloud-event-CTh9Sr5w.js +60 -0
  662. package/dist/codecs-Bm46sVxr.d.ts +215 -0
  663. package/dist/codecs-YAekuQ08.js +358 -0
  664. package/dist/codegen-DeoSt1mi.d.ts +1571 -0
  665. package/dist/comments-D7sbd0xG.js +230 -0
  666. package/dist/commerce/index.d.ts +211 -0
  667. package/dist/commerce/index.js +517 -0
  668. package/dist/compiler-BVxepAY0.d.ts +14 -0
  669. package/dist/compose-Djntdacs.js +53 -0
  670. package/dist/composite-M6zPs1Xm.js +130 -0
  671. package/dist/composite-djtGy6bz.d.ts +67 -0
  672. package/dist/config/index.d.ts +7 -6
  673. package/dist/config/index.js +7 -4
  674. package/dist/config-BA1K4OPk.js +557 -0
  675. package/dist/config-C4MozTD7.js +3892 -0
  676. package/dist/connector-Cp8CqssJ.d.ts +107 -0
  677. package/dist/connectors-CjD-R2ks.d.ts +141 -0
  678. package/dist/context-1sSWcd7_.d.ts +365 -0
  679. package/dist/context-B8_p3MXo.js +11 -0
  680. package/dist/context-BDDgjoxz.js +41 -0
  681. package/dist/context-C-bHOtoD.js +5 -0
  682. package/dist/context-D6ZMKc2L.js +19 -0
  683. package/dist/context-wDKxSl9x.js +9 -0
  684. package/dist/controller-D6NyNrlZ.js +79 -0
  685. package/dist/controller-D845qKh2.d.ts +46 -0
  686. package/dist/credentials/index.d.ts +15 -5
  687. package/dist/credentials/index.js +17 -17
  688. package/dist/cron-CUaKTjWC.js +145 -0
  689. package/dist/cron-route-CoL-By8Z.js +24 -0
  690. package/dist/csv-CVfXqaAu.js +89 -0
  691. package/dist/csv-D3eKxV1T.d.ts +28 -0
  692. package/dist/define-B2ln373W.js +1896 -0
  693. package/dist/define-DxHHbNEb.d.ts +1005 -0
  694. package/dist/define-block-B6Gjs57G.js +52 -0
  695. package/dist/define-block-CLZMEFeK.d.ts +256 -0
  696. package/dist/delegation-Dt8hMJWu.js +140 -0
  697. package/dist/delivery-B1mKaOen.js +30 -0
  698. package/dist/delivery-BeHgwS3k.d.ts +69 -0
  699. package/dist/documents-CWn2mtYf.d.ts +96 -0
  700. package/dist/edge/index.d.ts +68 -13
  701. package/dist/edge/index.js +75 -43
  702. package/dist/elysia/index.d.ts +1 -1
  703. package/dist/elysia/index.js +2 -2
  704. package/dist/email-BcmbIWOX.d.ts +42 -0
  705. package/dist/embeddings-C2S14foD.d.ts +78 -0
  706. package/dist/embeddings-CVeOoufZ.js +128 -0
  707. package/dist/ended-nIdGCHxk.d.ts +70 -0
  708. package/dist/entitlements-BvU5dLpW.js +45 -0
  709. package/dist/entitlements-CbzCKalR.d.ts +53 -0
  710. package/dist/env/index.d.ts +1 -1
  711. package/dist/env/index.js +12 -5
  712. package/dist/envelope-CHYk5MXU.js +90 -0
  713. package/dist/errors-8i6tSICm.js +301 -0
  714. package/dist/errors-PIpcoe4z.js +44 -0
  715. package/dist/escape-like-AUEPn-C5.d.ts +15 -0
  716. package/dist/eve/index.d.ts +5 -5
  717. package/dist/eve/index.js +11 -17
  718. package/dist/eve-DUF70Vgi.d.ts +151 -0
  719. package/dist/event-calendar-DJXXMJ3x.d.ts +217 -0
  720. package/dist/event-map-Dy2vKHai.js +19 -0
  721. package/dist/events/index.d.ts +4 -4
  722. package/dist/events/index.js +16 -8
  723. package/dist/events-CTreRrgP.d.ts +800 -0
  724. package/dist/events-xbpHkcK9.js +82 -0
  725. package/dist/executor-BBHgjUJu.d.ts +39 -0
  726. package/dist/executor-BINiCFNp.d.ts +95 -0
  727. package/dist/executor-BXSHYyW2.js +735 -0
  728. package/dist/executor-D1kYY5BA.js +206 -0
  729. package/dist/executor-D3K3tycZ.js +147 -0
  730. package/dist/executor-DKrZr3AC.d.ts +174 -0
  731. package/dist/executor-DoE-5iM8.d.ts +272 -0
  732. package/dist/expo/index.d.ts +4 -4
  733. package/dist/expo/index.js +7 -7
  734. package/dist/expo-sqlite/index.d.ts +3 -3
  735. package/dist/expo-sqlite/index.js +2 -2
  736. package/dist/extra-CGQ2_q3S.js +10 -0
  737. package/dist/field-errors-CWXN_h_E.d.ts +113 -0
  738. package/dist/field-errors-DZVRWRkf.js +13 -0
  739. package/dist/field-formats-Cif5gr7c.js +102 -0
  740. package/dist/field-formats-DCvOQlOy.d.ts +39 -0
  741. package/dist/filter-evaluate-C0ULNfS7.js +214 -0
  742. package/dist/filter-evaluate-CjcFq0RT.d.ts +34 -0
  743. package/dist/filter-query-B3lhckKX.js +518 -0
  744. package/dist/filter-query-BKmRYrTE.d.ts +121 -0
  745. package/dist/flags-D_D1jAHB.d.ts +230 -0
  746. package/dist/flags-XAOsdNAc.js +279 -0
  747. package/dist/flags-sdk/index.d.ts +143 -0
  748. package/dist/flags-sdk/index.js +175 -0
  749. package/dist/form-definition-sagoefQr.d.ts +95 -0
  750. package/dist/format-CNwSjXUU.d.ts +70 -0
  751. package/dist/framework-DG5Bv39u.d.ts +26 -0
  752. package/dist/framework-INbjMZX1.js +51 -0
  753. package/dist/function-contract-B4c0XuTU.d.ts +21 -0
  754. package/dist/function-contract-DmkBg19r.js +5 -0
  755. package/dist/gateway-Cup00l0w.d.ts +109 -0
  756. package/dist/gateway-options-ClvvfuuU.d.ts +29 -0
  757. package/dist/gateway-options-DcLcWL5_.js +27 -0
  758. package/dist/graph-Cs28bOlK.js +360 -0
  759. package/dist/groups-CxonH3u5.js +16 -0
  760. package/dist/guards-6F2bCtQR.js +12 -0
  761. package/dist/h3/index.d.ts +7 -3
  762. package/dist/h3/index.js +3 -3
  763. package/dist/h3/v1/index.d.ts +1 -1
  764. package/dist/h3/v1/index.js +2 -2
  765. package/dist/history-GH1HJWQV.js +271 -0
  766. package/dist/hmac-DCud0myt.js +22 -0
  767. package/dist/hono/index.d.ts +33 -14
  768. package/dist/hono/index.js +58 -25
  769. package/dist/http-BF-V0CUF.js +25 -0
  770. package/dist/impersonation-CDeCzZP6.js +62 -0
  771. package/dist/impersonation-D5chOkrO.d.ts +25 -0
  772. package/dist/inbox-3ql4phyr.d.ts +400 -0
  773. package/dist/index-BIi8i6BO.d.ts +97 -0
  774. package/dist/index-BkzNUPId.d.ts +131 -0
  775. package/dist/index-BlqrGvb3.d.ts +227 -0
  776. package/dist/index-Brhm22eL.d.ts +138 -0
  777. package/dist/index-Bvw9r94Q.d.ts +245 -0
  778. package/dist/index-CETRk4YO.d.ts +82 -0
  779. package/dist/index-CrZitvSC.d.ts +258 -0
  780. package/dist/index-DfVXx4Ia.d.ts +202 -0
  781. package/dist/index-DygICr8c.d.ts +206 -0
  782. package/dist/index-Ej8XQ9w9.d.ts +58 -0
  783. package/dist/index-jhqhynmh.d.ts +58 -0
  784. package/dist/index.d.ts +90 -15
  785. package/dist/index.js +16 -14
  786. package/dist/iso4217-A8ev-CNW.js +176 -0
  787. package/dist/json-schema-CpYINXG8.js +548 -0
  788. package/dist/jws-35a8VhFV.d.ts +60 -0
  789. package/dist/jws-milwSg7E.js +191 -0
  790. package/dist/kit-D5S7KNFe.d.ts +66 -0
  791. package/dist/kit-MUK34-ZG.js +104 -0
  792. package/dist/knowledge-BXQ2-V0a.d.ts +187 -0
  793. package/dist/knowledge-CJ_Mm3ic.js +272 -0
  794. package/dist/lint/index.js +9 -9
  795. package/dist/list/index.d.ts +4 -3
  796. package/dist/list/index.js +4 -2
  797. package/dist/list-query-CBXNfJt4.js +549 -0
  798. package/dist/list-query-PvP3pPGQ.d.ts +194 -0
  799. package/dist/live-DwDreq1n.js +239 -0
  800. package/dist/mcp/index.d.ts +67 -20
  801. package/dist/mcp/index.js +220 -135
  802. package/dist/mcp/sdk/index.d.ts +38 -6
  803. package/dist/mcp/sdk/index.js +89 -7
  804. package/dist/message-B0fNJgq8.d.ts +93 -0
  805. package/dist/messages-Cx4ttLJJ.js +493 -0
  806. package/dist/metric-definition-95HFoW1V.d.ts +70 -0
  807. package/dist/metric-definition-BjxVn4R5.js +117 -0
  808. package/dist/mfa-DtflCXEt.d.ts +30 -0
  809. package/dist/model-lUafmeBQ.d.ts +311 -0
  810. package/dist/model-messages-CTu-6kBu.js +206 -0
  811. package/dist/model-messages-D4GZllOD.d.ts +34 -0
  812. package/dist/money-95Rff2vT.js +185 -0
  813. package/dist/money-DFpWzQvk.d.ts +76 -0
  814. package/dist/money-codec-C_-K5ZUU.js +41 -0
  815. package/dist/nestjs/index.d.ts +2 -2
  816. package/dist/nestjs/index.js +2 -2
  817. package/dist/next/index.d.ts +115 -55
  818. package/dist/next/index.js +208 -173
  819. package/dist/node/index.d.ts +2 -2
  820. package/dist/node/index.js +3 -3
  821. package/dist/nuxt/index.d.ts +2 -2
  822. package/dist/nuxt/index.js +3 -2
  823. package/dist/onboarding-BZvLLPaY.js +68 -0
  824. package/dist/openapi/index.d.ts +4 -2
  825. package/dist/openapi/index.js +21 -343
  826. package/dist/operations-C9-UcReN.d.ts +6 -0
  827. package/dist/operations-CsIfMED7.js +29 -0
  828. package/dist/optional-peer-Dx8TaYXw.js +29 -0
  829. package/dist/options-B0FcEKtH.js +5 -0
  830. package/dist/options-B5BU2Yg7.js +11 -0
  831. package/dist/options-B5woz53h.js +5 -0
  832. package/dist/options-B7EJaOX-.js +5 -0
  833. package/dist/options-B9q8CROT.js +9 -0
  834. package/dist/options-BA6jV6py.js +10 -0
  835. package/dist/options-BAW2ZlZ8.js +8 -0
  836. package/dist/options-BMjcVuaI.js +82 -0
  837. package/dist/options-BOOEzor9.js +5 -0
  838. package/dist/options-BQ07tTYr.js +11 -0
  839. package/dist/options-BZsoPJGX.js +5 -0
  840. package/dist/options-BesyRBnM.js +16 -0
  841. package/dist/options-Bf96aVk5.js +10 -0
  842. package/dist/options-BlOPivzq.js +8 -0
  843. package/dist/options-Blg8lAkz.js +9 -0
  844. package/dist/options-Bn4cu0gt.js +5 -0
  845. package/dist/options-BnoJOwXK.js +8 -0
  846. package/dist/options-Bp7sgKvl.js +30 -0
  847. package/dist/options-BqO9GYig.js +311 -0
  848. package/dist/options-BxcFLL1G.js +8 -0
  849. package/dist/options-C1HR4UZd.js +13 -0
  850. package/dist/options-C239TLRF.js +14 -0
  851. package/dist/options-C2HesT4A.js +9 -0
  852. package/dist/options-C3EzJATk.js +10 -0
  853. package/dist/options-C3hZ1fbC.js +10 -0
  854. package/dist/options-C6rEL6U5.js +8 -0
  855. package/dist/options-CAzVf-1T.js +8 -0
  856. package/dist/options-CGKSUFUq.js +5 -0
  857. package/dist/options-CGjGE8xS.js +12 -0
  858. package/dist/options-CK5WiFwG.js +11 -0
  859. package/dist/options-CN7PHkhU.js +8 -0
  860. package/dist/options-CTZNpb2n.js +5 -0
  861. package/dist/options-CUqQ9pm7.js +9 -0
  862. package/dist/options-CVSWgZpY.js +8 -0
  863. package/dist/options-CXFz0xxS.js +8 -0
  864. package/dist/options-CZk_fbbg.js +9 -0
  865. package/dist/options-C_pb1Nd3.js +5 -0
  866. package/dist/options-CbSOj53r.d.ts +52 -0
  867. package/dist/options-ChD15QxJ.js +9 -0
  868. package/dist/options-CkScQRJR.js +12 -0
  869. package/dist/options-CljDnQt2.js +25 -0
  870. package/dist/options-CmraJhd9.js +5 -0
  871. package/dist/options-CoX6VKGb.js +8 -0
  872. package/dist/options-CrC78Tee.js +5 -0
  873. package/dist/options-Ctac2R0Q.js +11 -0
  874. package/dist/options-CyD7OObW.js +17 -0
  875. package/dist/options-D1blDihM.js +9 -0
  876. package/dist/options-D2Gd6VfS.js +8 -0
  877. package/dist/options-D2d1fFuw.js +11 -0
  878. package/dist/options-D40CQzji.js +8 -0
  879. package/dist/options-D7f2VKzj.js +25 -0
  880. package/dist/options-DARkpk2P.js +8 -0
  881. package/dist/options-DCduTMST.js +17 -0
  882. package/dist/options-DDzggjN7.js +8 -0
  883. package/dist/options-DMR68VAC.js +5 -0
  884. package/dist/options-DNKyN5uq.js +20 -0
  885. package/dist/options-DTDxFT6J.js +13 -0
  886. package/dist/options-DWpz3V3F.js +8 -0
  887. package/dist/options-DXqcJyOP.js +10 -0
  888. package/dist/options-DYBQ973I.js +8 -0
  889. package/dist/options-Dh4wu9Ks.js +15 -0
  890. package/dist/options-Dmg1Da9P.js +25 -0
  891. package/dist/options-DsUgamiy.js +5 -0
  892. package/dist/options-EsUh744F.js +13 -0
  893. package/dist/options-Fz6xqu-b.js +5 -0
  894. package/dist/options-HSv8R6h5.js +13 -0
  895. package/dist/options-I8zVkB_y.js +8 -0
  896. package/dist/options-MHhjOoWz.js +5 -0
  897. package/dist/options-MLxMkd5B.js +11 -0
  898. package/dist/options-OJ5zmgr8.js +10 -0
  899. package/dist/options-QKP9FFcK.js +8 -0
  900. package/dist/options-SViK_2x2.js +12 -0
  901. package/dist/options-XgfTctbI.js +5 -0
  902. package/dist/options-_9arpsX9.js +11 -0
  903. package/dist/options-eBPsk4WI.js +11 -0
  904. package/dist/options-kLKILdIu.js +10 -0
  905. package/dist/options-n22NK3PL.js +8 -0
  906. package/dist/options-oeAq4Ho5.js +12 -0
  907. package/dist/options-qU8vgxhO.js +18 -0
  908. package/dist/options-vXMBEWSH.js +5 -0
  909. package/dist/options-wFnK3qWl.js +9 -0
  910. package/dist/options-xVAy3UsV.js +9 -0
  911. package/dist/organizations-Cw7om8uk.js +398 -0
  912. package/dist/orpc/index.d.ts +26 -10
  913. package/dist/orpc/index.js +66 -44
  914. package/dist/otel/index.d.ts +3 -3
  915. package/dist/otel/index.js +42 -7
  916. package/dist/outbox-BTeqjbum.d.ts +181 -0
  917. package/dist/overlay/index.d.ts +233 -0
  918. package/dist/overlay/index.js +554 -0
  919. package/dist/payments-h45bswA-.js +16 -0
  920. package/dist/pg-error-BV_X8Isq.js +26 -0
  921. package/dist/plugin-CDLJRFFg.d.ts +190 -0
  922. package/dist/plugins/actor/index.d.ts +1 -1
  923. package/dist/plugins/actor/index.js +1 -1
  924. package/dist/plugins/rules/index.d.ts +2 -2
  925. package/dist/plugins/rules/index.js +2 -2
  926. package/dist/plugins/soft-delete/index.d.ts +3 -3
  927. package/dist/plugins/soft-delete/index.js +11 -4
  928. package/dist/plugins/tenant/index.d.ts +9 -3
  929. package/dist/plugins/tenant/index.js +17 -3
  930. package/dist/plugins/timestamps/index.d.ts +1 -1
  931. package/dist/plugins/timestamps/index.js +8 -1
  932. package/dist/plugins/validation/index.d.ts +2 -2
  933. package/dist/plugins/validation/index.js +4 -4
  934. package/dist/pool-CwOCsX9e.d.ts +114 -0
  935. package/dist/pool-errors-GMjlCN0d.js +27 -0
  936. package/dist/ports-Ca63W4cW.d.ts +285 -0
  937. package/dist/ports-DAdQyjZz.d.ts +86 -0
  938. package/dist/ports-DGK3KTDH.js +133 -0
  939. package/dist/postgres/index.d.ts +28 -6
  940. package/dist/postgres/index.js +54 -22
  941. package/dist/postgrest-Cw9Bs5gm.d.ts +53 -0
  942. package/dist/powersync/index.d.ts +5 -5
  943. package/dist/powersync/index.js +4 -4
  944. package/dist/powersync/react/index.d.ts +8 -3
  945. package/dist/powersync/react/index.js +11 -3
  946. package/dist/preset/index.d.ts +352 -0
  947. package/dist/preset/index.js +564 -0
  948. package/dist/problem-CEjyhV5T.d.ts +76 -0
  949. package/dist/problem-pIiL3WbE.js +159 -0
  950. package/dist/provider-9gBq9W6k.d.ts +113 -0
  951. package/dist/provider-DKh2xFZb.js +57 -0
  952. package/dist/push-token-D6REHMMw.js +16 -0
  953. package/dist/push-token-asrmi7-6.d.ts +24 -0
  954. package/dist/query/index.d.ts +2 -2
  955. package/dist/query/index.js +1 -1
  956. package/dist/query-Ctz-qKRx.js +303 -0
  957. package/dist/range-DwpWe8e7.js +7 -0
  958. package/dist/range-p5V4rBhZ.d.ts +8 -0
  959. package/dist/rank-keys-DcPMt_Jk.js +60 -0
  960. package/dist/rank-result-DS8IoLup.js +18 -0
  961. package/dist/rank-result-Dngpt2n5.d.ts +14 -0
  962. package/dist/rate-limit--QSiFA6D.js +325 -0
  963. package/dist/rate-limit-BtbddDnE.js +49 -0
  964. package/dist/rate-limit-C88MEAOm.d.ts +41 -0
  965. package/dist/ratelimit-headers-Bsxx0Tj2.js +62 -0
  966. package/dist/react/index.d.ts +9 -9
  967. package/dist/react/index.js +4 -5
  968. package/dist/react/native/index.d.ts +1 -1
  969. package/dist/react/native/index.js +2 -2
  970. package/dist/react/server.d.ts +10 -10
  971. package/dist/react/server.js +4 -4
  972. package/dist/react/session.d.ts +2 -2
  973. package/dist/react-CKXUkwPx.js +410 -0
  974. package/dist/react-controller-Xn-IU44p.js +40 -0
  975. package/dist/react-env-Cc7Vf6eb.js +13 -0
  976. package/dist/react-router/index.d.ts +6 -6
  977. package/dist/react-router/index.js +10 -12
  978. package/dist/read-set-GEb-i0On.js +314 -0
  979. package/dist/realtime/index.d.ts +8 -4
  980. package/dist/realtime/index.js +5 -333
  981. package/dist/realtime-status-D2dw1hOE.js +12 -0
  982. package/dist/realtime-status-DcsO00Gw.d.ts +8 -0
  983. package/dist/refusal-br4Ma9Cf.js +61 -0
  984. package/dist/refusal-oD3ISM9h.d.ts +18 -0
  985. package/dist/replicas-BvIL4_jL.js +94 -0
  986. package/dist/resolve-CAR9oaKW.js +869 -0
  987. package/dist/resolve-w9EpHzuM.d.ts +266 -0
  988. package/dist/resource-B4ka8dDH.d.ts +106 -0
  989. package/dist/resource-C8r5xGqY.js +463 -0
  990. package/dist/resource-DO4gbVi5.js +91 -0
  991. package/dist/resource-execute-D0yQ-8WR.d.ts +12 -0
  992. package/dist/resource-schemas-BJ518zFH.js +79 -0
  993. package/dist/resource-types-D2vEQVXI.d.ts +141 -0
  994. package/dist/resources-BklF-rjz.d.ts +7 -0
  995. package/dist/resources-BlZdLsWQ.js +64 -0
  996. package/dist/respond-C7I8kLK_.d.ts +93 -0
  997. package/dist/respond-DdhZ9Wbn.js +95 -0
  998. package/dist/result-BlgnMB0H.js +128 -0
  999. package/dist/result-Cj3yWhjH.d.ts +298 -0
  1000. package/dist/rrule-zBh3CA1r.js +290 -0
  1001. package/dist/rules-B0-3Iosu.js +261 -0
  1002. package/dist/run-watch-CQRdpy-f.js +53 -0
  1003. package/dist/sales-lines-BAk8In-Z.js +41 -0
  1004. package/dist/sales-lines-C6gafAwg.d.ts +28 -0
  1005. package/dist/sales-shared-DAAGwQwN.d.ts +8 -0
  1006. package/dist/sales-shared-SblIgCgI.js +22 -0
  1007. package/dist/scope-DgWjuXUw.js +90 -0
  1008. package/dist/search-B6h03cAx.js +106 -0
  1009. package/dist/search-BtoWY6n_.js +9 -0
  1010. package/dist/server/index.d.ts +211 -43
  1011. package/dist/server/index.js +296 -19
  1012. package/dist/server-types-OohhIQb2.d.ts +737 -0
  1013. package/dist/session-DiWHtYrO.d.ts +95 -0
  1014. package/dist/settings-BXFn9zpS.js +90 -0
  1015. package/dist/shared-BmMcMoW9.js +89 -0
  1016. package/dist/shared-DbO3Dfms.js +14 -0
  1017. package/dist/shared-as0EG51f.js +60 -0
  1018. package/dist/sign-in-D0xN6E_l.js +360 -0
  1019. package/dist/signatures-B41ApWXA.js +145 -0
  1020. package/dist/signatures-BMdJ7neI.d.ts +43 -0
  1021. package/dist/signers-CXt_wA9S.d.ts +385 -0
  1022. package/dist/signing-keys-Bq9mMCTh.d.ts +90 -0
  1023. package/dist/solid/index.d.ts +9 -18
  1024. package/dist/solid/index.js +4 -9
  1025. package/dist/solid-controller-DLsmrczT.js +33 -0
  1026. package/dist/solid-controller-DqlvYFZa.d.ts +11 -0
  1027. package/dist/solid-start/index.d.ts +8 -12
  1028. package/dist/solid-start/index.js +10 -9
  1029. package/dist/spec/index.d.ts +154 -0
  1030. package/dist/spec/index.js +386 -0
  1031. package/dist/spec-pins-Dqpml2dZ.d.ts +84 -0
  1032. package/dist/spec-pins-S4PymRxp.js +60 -0
  1033. package/dist/sql/index.d.ts +327 -140
  1034. package/dist/sql/index.js +71245 -23282
  1035. package/dist/sql-DJrXG-3Z.js +422 -0
  1036. package/dist/sso-BDva_-4y.js +217 -0
  1037. package/dist/sso-BN0LnMqE.d.ts +131 -0
  1038. package/dist/ssr/index.d.ts +5 -6
  1039. package/dist/ssr/index.js +4 -3
  1040. package/dist/standard-B5fe2gnW.js +25 -0
  1041. package/dist/standard-C3_AAF3g.d.ts +7 -0
  1042. package/dist/stats-D6vkb89f.js +1128 -0
  1043. package/dist/storage/index.d.ts +4 -6
  1044. package/dist/storage/index.js +23 -20
  1045. package/dist/storage-api-Cx-1iWBd.d.ts +582 -0
  1046. package/dist/store-B5qYKsTh.d.ts +68 -0
  1047. package/dist/streams/index.d.ts +5 -5
  1048. package/dist/streams/index.js +6 -5
  1049. package/dist/streams/redis/index.d.ts +1 -1
  1050. package/dist/streams/redis/index.js +6 -12
  1051. package/dist/stripe/index.d.ts +16 -0
  1052. package/dist/stripe/index.js +14 -0
  1053. package/dist/stripe-NVcNOhHy.d.ts +140 -0
  1054. package/dist/stripe-XZrSmDTf.js +32 -0
  1055. package/dist/subject-readers-DiePmaYP.js +46 -0
  1056. package/dist/subject-readers-fxP5wu0s.d.ts +21 -0
  1057. package/dist/subjects-z8VWA_lF.d.ts +69 -0
  1058. package/dist/subscribers-Cq--DL1E.js +34 -0
  1059. package/dist/supabase-mcp-C6tMoEjn.d.ts +43 -0
  1060. package/dist/supabase-mcp-DomZ-amK.js +28 -0
  1061. package/dist/support-BsKkvA92.js +522 -0
  1062. package/dist/support-view-BbcZR7Io.d.ts +17 -0
  1063. package/dist/svelte/index.d.ts +8 -17
  1064. package/dist/svelte/index.js +3 -3
  1065. package/dist/svelte-controller-CDAujo-_.js +50 -0
  1066. package/dist/svelte-controller-DxxHEHxD.d.ts +10 -0
  1067. package/dist/sveltekit/index.d.ts +11 -13
  1068. package/dist/sveltekit/index.js +12 -14
  1069. package/dist/table-schema-pQlER3jj.js +283 -0
  1070. package/dist/tags-Dw8vKkcI.d.ts +30 -0
  1071. package/dist/tags-PaG0Ns_9.js +84 -0
  1072. package/dist/tanstack-db/index.d.ts +2 -2
  1073. package/dist/tanstack-db/index.js +1 -1
  1074. package/dist/tanstack-db/supabase/index.d.ts +51 -0
  1075. package/dist/tanstack-db/supabase/index.js +268 -0
  1076. package/dist/tanstack-start/index.d.ts +7 -7
  1077. package/dist/tanstack-start/index.js +9 -13
  1078. package/dist/tax-DDZUB_oc.d.ts +273 -0
  1079. package/dist/tax-D_kSCdWU.js +140 -0
  1080. package/dist/tee-Bsisfd7t.js +101 -0
  1081. package/dist/template-DdgYjIZ5.js +123 -0
  1082. package/dist/temporal-CB5Fpo5d.js +79 -0
  1083. package/dist/temporal-required-DqRzr7i0.js +20 -0
  1084. package/dist/tenant-B-fiItlJ.js +27 -0
  1085. package/dist/tenant-DdmVhsff.d.ts +17 -0
  1086. package/dist/tenant-naming-Bsj3Uvap.js +27 -0
  1087. package/dist/testing/index.d.ts +459 -125
  1088. package/dist/testing/index.js +2368 -720
  1089. package/dist/timing-BMCWgpdZ.js +92 -0
  1090. package/dist/topic-ByDz9edV.js +542 -0
  1091. package/dist/topic-cMS7UtM1.d.ts +359 -0
  1092. package/dist/ttl-cache-XzZ-Q2eX.js +29 -0
  1093. package/dist/types-6oiy6rIa.d.ts +205 -0
  1094. package/dist/types-BRTSpOIh.js +5 -0
  1095. package/dist/types-CdP0z5tS.d.ts +564 -0
  1096. package/dist/types-D0W4fnsc.d.ts +162 -0
  1097. package/dist/types-R6syp1el.js +29 -0
  1098. package/dist/types-YfwpIE-d.d.ts +357 -0
  1099. package/dist/types-pNY_UpDs.d.ts +240 -0
  1100. package/dist/types-vaoP9S9_.d.ts +635 -0
  1101. package/dist/undo-CEGIRkPA.js +44 -0
  1102. package/dist/undo-DGo0skyO.d.ts +43 -0
  1103. package/dist/usage-CdlfuS3i.js +250 -0
  1104. package/dist/usage-DM2rzczj.d.ts +202 -0
  1105. package/dist/vault-tOkPLnMB.d.ts +50 -0
  1106. package/dist/vercel-connect/index.d.ts +1 -1
  1107. package/dist/vercel-connect/index.js +6 -12
  1108. package/dist/verify-D63A2ALE.d.ts +142 -0
  1109. package/dist/verify-EQcC3Khp.js +126 -0
  1110. package/dist/version-D87ZteKy.js +4 -0
  1111. package/dist/view-DZ63nqwt.js +105 -0
  1112. package/dist/view-Dv0A949a.d.ts +90 -0
  1113. package/dist/vue/index.d.ts +9 -18
  1114. package/dist/vue/index.js +4 -17
  1115. package/dist/vue-controller-C9tFzqAc.js +32 -0
  1116. package/dist/vue-controller-HPfMTDa2.d.ts +11 -0
  1117. package/dist/watch-DDuWYv0Y.d.ts +84 -0
  1118. package/dist/watch-DT_B3CnJ.js +139 -0
  1119. package/dist/watch-topic-EFpOIIDE.d.ts +28 -0
  1120. package/dist/watch-topic-miuymrli.js +57 -0
  1121. package/dist/wire-DEY0ajW9.js +45 -0
  1122. package/dist/workflow-builder-OrglbXUh.js +681 -0
  1123. package/dist/workflow-sdk/builder/index.d.ts +46 -15
  1124. package/dist/workflow-sdk/builder/index.js +69 -21
  1125. package/dist/workflow-sdk/index.d.ts +75 -2
  1126. package/dist/workflow-sdk/index.js +83 -3
  1127. package/dist/workflow-sdk/world/index.d.ts +51 -20
  1128. package/dist/workflow-sdk/world/index.js +189 -128
  1129. package/dist/workflow-sdk-BZ6qsRlY.js +243 -0
  1130. package/dist/workflow-sdk-q8cLwW1K.d.ts +161 -0
  1131. package/dist/workflow-sdk-world-DPMdBfzn.js +2103 -0
  1132. package/dist/workflows-C-OvZpeg.js +282 -0
  1133. package/dist/workflows-DFQeXDAI.d.ts +243 -0
  1134. package/dist/yjs/index.d.ts +67 -0
  1135. package/dist/yjs/index.js +212 -0
  1136. package/package.json +837 -44
  1137. package/schemas/cli-commands-v1.json +220 -0
  1138. package/schemas/cli-result-v1.json +138 -0
  1139. package/schemas/config-v1.json +4317 -653
  1140. package/schemas/doctor-report-v1.json +27 -1
  1141. package/schemas/snapshot-v2.json +271 -0
  1142. package/schemas/spec-manifest-v1.json +95 -0
  1143. package/skills/better-supabase/SKILL.md +19 -8
  1144. package/skills/better-supabase/references/plugins.md +2 -2
  1145. package/skills/better-supabase/references/troubleshooting.md +20 -20
  1146. package/skills/better-supabase/references/ui-recipes.md +18652 -0
  1147. package/skills/better-supabase-api/SKILL.md +14 -14
  1148. package/skills/better-supabase-api/references/adapters.md +12 -2
  1149. package/skills/better-supabase-api/references/ai.md +4 -4
  1150. package/skills/better-supabase-api/references/expo.md +7 -4
  1151. package/skills/better-supabase-api/references/powersync.md +2 -1
  1152. package/skills/better-supabase-api/references/streams-credentials.md +8 -5
  1153. package/skills/better-supabase-auth/SKILL.md +18 -11
  1154. package/skills/better-supabase-auth/references/authorization-providers.md +5 -5
  1155. package/skills/better-supabase-testing/SKILL.md +2 -2
  1156. package/testing/act-cases.json +370 -0
  1157. package/dist/access-sql-B0dF-SoF.js +0 -181
  1158. package/dist/actor-CQTlc1Hh.d.ts +0 -43
  1159. package/dist/adapter-iKgjHVPx.js +0 -1190
  1160. package/dist/agents-CVHGd7It.d.ts +0 -94
  1161. package/dist/ai-cache-CBWs1W0k.js +0 -80
  1162. package/dist/ai-cache-DaDu_G5L.d.ts +0 -64
  1163. package/dist/ai-chat-7amvXjmQ.d.ts +0 -590
  1164. package/dist/ai-chat-B24UI962.js +0 -743
  1165. package/dist/ai-files-CSPNswUY.js +0 -319
  1166. package/dist/ai-tasks-Cd1HMFvB.d.ts +0 -131
  1167. package/dist/announcements-CiyOs-xP.js +0 -107
  1168. package/dist/announcements-ZRGnScWI.d.ts +0 -72
  1169. package/dist/api-keys-CIjghYjV.d.ts +0 -156
  1170. package/dist/assistant-DwdpDH1q.d.ts +0 -147
  1171. package/dist/attributes-5dYul0u0.js +0 -13
  1172. package/dist/authorization-BFCqamMs.d.ts +0 -172
  1173. package/dist/base64-D2gsioCY.js +0 -42
  1174. package/dist/before-route-CnR0C0Jr.js +0 -30
  1175. package/dist/bind-Bu_ZNa3W.d.ts +0 -62
  1176. package/dist/bind-l4kAvYSv.js +0 -97
  1177. package/dist/block-events-CrT8r7Fe.js +0 -76
  1178. package/dist/block-fields-GFkxl4dP.js +0 -49
  1179. package/dist/block-fields-SJ6fEf3o.d.ts +0 -31
  1180. package/dist/block-helpers-CKtbFcRv.d.ts +0 -37
  1181. package/dist/block-helpers-DWHxHsEQ.js +0 -190
  1182. package/dist/block-hooks-BmjMyXTa.js +0 -114
  1183. package/dist/block-hooks-plbZ0AbJ.d.ts +0 -107
  1184. package/dist/block-transport-BLr-ZgLc.js +0 -59
  1185. package/dist/block-transport-DvaoPuZ9.d.ts +0 -48
  1186. package/dist/bucket-Cl46E3jS.d.ts +0 -347
  1187. package/dist/build-BXIzE6Xv.js +0 -689
  1188. package/dist/channel-_2Mx1Oyu.d.ts +0 -70
  1189. package/dist/channels-CkgQ_X60.js +0 -114
  1190. package/dist/claims-DDBQT6BK.js +0 -61
  1191. package/dist/cli/bin.d.ts +0 -1
  1192. package/dist/cli/codemod-Bl_tQpHn.js +0 -491
  1193. package/dist/cli/command-CK14fP91.js +0 -502
  1194. package/dist/cli/config-B9HkL8nF.js +0 -2
  1195. package/dist/cli/config-DU7EJImt.js +0 -49
  1196. package/dist/cli/config-NiPxAmUF.js +0 -1077
  1197. package/dist/cli/db-DOBPt660.js +0 -52
  1198. package/dist/cli/diff-SjkO5rNr.js +0 -752
  1199. package/dist/cli/dist-DBPdlPYK.js +0 -1112
  1200. package/dist/cli/dist-DRAVaE6w.js +0 -842
  1201. package/dist/cli/dist-DreZ24Sz.js +0 -129
  1202. package/dist/cli/doctor-DJk0aeBi.js +0 -3591
  1203. package/dist/cli/env-CJLbUVPB.js +0 -108
  1204. package/dist/cli/env-qXgyMV6r.js +0 -511
  1205. package/dist/cli/errors-4v4DTtda.js +0 -56
  1206. package/dist/cli/fastest-levenshtein-CFN-lNDv.js +0 -120
  1207. package/dist/cli/gen-CCMc39Dx.js +0 -3100
  1208. package/dist/cli/gen-DRmzPI75.js +0 -2
  1209. package/dist/cli/init-BHuEQrQK.js +0 -765
  1210. package/dist/cli/introspect-DzR2nyQb.js +0 -81
  1211. package/dist/cli/io-DI1mTdSA.js +0 -33
  1212. package/dist/cli/jsonc-BUniUpOk.js +0 -2
  1213. package/dist/cli/keys-BGCnnb-s.js +0 -85
  1214. package/dist/cli/openapi-BlRJ18s3.js +0 -66
  1215. package/dist/cli/project-DZRaBaY7.js +0 -75
  1216. package/dist/cli/prompts-BNcNfAve.js +0 -1142
  1217. package/dist/cli/prompts-BTYQGunc.js +0 -2
  1218. package/dist/cli/read-sets-CETOSFx4.js +0 -223
  1219. package/dist/cli/rolldown-runtime-BPOCksWG.js +0 -24
  1220. package/dist/cli/run-BqDPh9UH.js +0 -361
  1221. package/dist/cli/seed-DQzqT7LP.js +0 -100
  1222. package/dist/cli/skills-QQs4q68J.js +0 -138
  1223. package/dist/cli/sql-B8csQPyn.js +0 -495
  1224. package/dist/cli/sql-layout-D6cphHT3.js +0 -69
  1225. package/dist/cli/style-C0NFdJRL.js +0 -29
  1226. package/dist/cli/supabase-toml-B-bIukQF.js +0 -1095
  1227. package/dist/cli/typegen-version-DeFbtzYI.js +0 -8
  1228. package/dist/cli/version-59gcepIG.js +0 -4
  1229. package/dist/client-CI0Z2zWX.js +0 -277
  1230. package/dist/clone-BfgmLU90.js +0 -21
  1231. package/dist/cloud-event-BnmD5fb9.js +0 -46
  1232. package/dist/cloud-event-C1JCc1bH.d.ts +0 -50
  1233. package/dist/compiler-DY_wkj4R.d.ts +0 -14
  1234. package/dist/compose-BIBNgAnq.js +0 -53
  1235. package/dist/composite--yqry7uW.d.ts +0 -146
  1236. package/dist/composite-DXVUibdi.js +0 -130
  1237. package/dist/config-D44Y7PAv.d.ts +0 -984
  1238. package/dist/config-Dn7F5k9A.js +0 -202
  1239. package/dist/connector-Dv8kK0MO.d.ts +0 -107
  1240. package/dist/connectors-CrpknU0P.d.ts +0 -120
  1241. package/dist/context-BCrWe7ow.d.ts +0 -237
  1242. package/dist/cron-DVPUg5k3.js +0 -145
  1243. package/dist/csv-DCK-PT1n.js +0 -25
  1244. package/dist/define-B-TVjC25.js +0 -1915
  1245. package/dist/define-CJJkkr1-.d.ts +0 -980
  1246. package/dist/embeddings-4ZvFzjsU.js +0 -127
  1247. package/dist/embeddings-C9KGQnXt.d.ts +0 -68
  1248. package/dist/ended-XjeGQ5XW.d.ts +0 -63
  1249. package/dist/entitlements-BKSVGtrG.d.ts +0 -51
  1250. package/dist/entitlements-DRl6ZJUm.js +0 -24
  1251. package/dist/envelope-DqnYGRw7.js +0 -47
  1252. package/dist/errors-B11Duf73.js +0 -266
  1253. package/dist/errors-DLjJHPLK.js +0 -44
  1254. package/dist/escape-like-ImTK0ps_.d.ts +0 -15
  1255. package/dist/eve-gT2Fpjut.d.ts +0 -151
  1256. package/dist/events-DWDhx77e.d.ts +0 -549
  1257. package/dist/executor-BVBFM86G.d.ts +0 -36
  1258. package/dist/executor-Bq28caBo.js +0 -718
  1259. package/dist/executor-C-R4pucm.js +0 -83
  1260. package/dist/executor-CaWigTyR.d.ts +0 -148
  1261. package/dist/executor-DbvExCFC.d.ts +0 -30
  1262. package/dist/executor-De1Of3m3.js +0 -523
  1263. package/dist/executor-DvsBbNBS.d.ts +0 -261
  1264. package/dist/field-errors-BFOa7WhB.d.ts +0 -99
  1265. package/dist/field-errors-VF1yb8yI.js +0 -13
  1266. package/dist/framework-BmzgK32X.d.ts +0 -25
  1267. package/dist/framework-a7aRCIqv.js +0 -51
  1268. package/dist/gateway-C1ssRHnf.d.ts +0 -130
  1269. package/dist/graph-BGyLLFLX.js +0 -265
  1270. package/dist/guards-BnzDvFrz.js +0 -10
  1271. package/dist/history-BZih6SFP.js +0 -64
  1272. package/dist/hooks-1BTCJsiw.js +0 -309
  1273. package/dist/impersonation-DcqaTBHx.js +0 -148
  1274. package/dist/inbox-i7E1ppo6.d.ts +0 -384
  1275. package/dist/index-ACiNPN4Z.d.ts +0 -74
  1276. package/dist/index-Bepi-Hgg.d.ts +0 -206
  1277. package/dist/index-BkWT_uBO.d.ts +0 -51
  1278. package/dist/index-Bxih3l0u.d.ts +0 -81
  1279. package/dist/index-CLg87OBW.d.ts +0 -76
  1280. package/dist/index-CaxrMD1A.d.ts +0 -1
  1281. package/dist/index-CdZKQF98.d.ts +0 -138
  1282. package/dist/index-CewnYSpv.d.ts +0 -267
  1283. package/dist/index-ClmjK_o-.d.ts +0 -55
  1284. package/dist/index-D48jVS-N.d.ts +0 -246
  1285. package/dist/index-DQh4VCc9.d.ts +0 -98
  1286. package/dist/index-DunNRdnT.d.ts +0 -300
  1287. package/dist/json-schema-CvER4kgT.js +0 -502
  1288. package/dist/keys-4MnkWTTh.js +0 -35
  1289. package/dist/kit-CkNzZUqv.d.ts +0 -60
  1290. package/dist/kit-Fm-Fv7q5.js +0 -78
  1291. package/dist/knowledge-BXBbT0Tr.d.ts +0 -176
  1292. package/dist/knowledge-CDmiMLew.js +0 -255
  1293. package/dist/list-query-BRt-zDF7.d.ts +0 -164
  1294. package/dist/list-query-gl808ac1.js +0 -459
  1295. package/dist/live-CTAZQkwl.js +0 -257
  1296. package/dist/message-CaKlqdsX.js +0 -219
  1297. package/dist/message-CfDoR0Y6.d.ts +0 -94
  1298. package/dist/messages-B9-5887d.js +0 -715
  1299. package/dist/messages-DYP0sUTe.d.ts +0 -59
  1300. package/dist/mfa-Daak8ukG.d.ts +0 -54
  1301. package/dist/modules-DpPwzC7E.d.ts +0 -192
  1302. package/dist/modules-dxrVK3ID.js +0 -228
  1303. package/dist/onboarding-BZGHYJks.d.ts +0 -62
  1304. package/dist/outbox-Cq7pPYvl.d.ts +0 -161
  1305. package/dist/path-Cv__-OTj.d.ts +0 -17
  1306. package/dist/plugin-FGY8UhYm.d.ts +0 -151
  1307. package/dist/pool-CAu2nLrL.d.ts +0 -89
  1308. package/dist/postgrest-BLVdEnfe.d.ts +0 -53
  1309. package/dist/problem-BreOl8b8.js +0 -115
  1310. package/dist/problem-DD8LZFjc.d.ts +0 -67
  1311. package/dist/provider-D-UEMvSD.d.ts +0 -113
  1312. package/dist/provider-Di3sRutW.js +0 -57
  1313. package/dist/query-BQ-NaZon.js +0 -303
  1314. package/dist/queue-CLJurhdy.d.ts +0 -427
  1315. package/dist/react-F80mF4-t.js +0 -409
  1316. package/dist/react-topic-seAWjL3_.js +0 -38
  1317. package/dist/read-set-DuKWC9Mj.js +0 -314
  1318. package/dist/refusal-CeJWxmkH.js +0 -61
  1319. package/dist/refusal-DhSU2Vvr.d.ts +0 -15
  1320. package/dist/replicas-CwrYp5Zj.js +0 -94
  1321. package/dist/resolve-ChTYeTEl.d.ts +0 -169
  1322. package/dist/resolve-tJZY3FEa.js +0 -697
  1323. package/dist/resource-BsvzCMlX.js +0 -212
  1324. package/dist/resource-IPS5xi9q.d.ts +0 -74
  1325. package/dist/respond-BUgsXNgk.js +0 -91
  1326. package/dist/respond-DprrgyXX.d.ts +0 -93
  1327. package/dist/result-D7y2fT87.d.ts +0 -282
  1328. package/dist/result-DzUbqgdW.js +0 -128
  1329. package/dist/scope-CDHcS7dE.js +0 -90
  1330. package/dist/search-CUWCRYKL.js +0 -9
  1331. package/dist/server-Bh0EVSwU.d.ts +0 -558
  1332. package/dist/session-ChiXDZdZ.d.ts +0 -72
  1333. package/dist/shared-CBxosKK3.js +0 -75
  1334. package/dist/shared-CxWmcyqB.js +0 -73
  1335. package/dist/sign-in-Cb1mwv6X.js +0 -86
  1336. package/dist/signers-4y62_VIi.d.ts +0 -166
  1337. package/dist/spec-pins--j6mTok4.js +0 -27
  1338. package/dist/spec-pins-C89s6DyW.d.ts +0 -27
  1339. package/dist/standard-BK0cqJ7y.js +0 -25
  1340. package/dist/standard-CYsm7xpT.d.ts +0 -7
  1341. package/dist/stats-D_AD9GGu.js +0 -1123
  1342. package/dist/store-CGjgWu5n.d.ts +0 -68
  1343. package/dist/stripe-BMj5LtsT.js +0 -38
  1344. package/dist/stripe-D04h-QBT.d.ts +0 -136
  1345. package/dist/support-ig_K4PvS.js +0 -314
  1346. package/dist/support-view-CVOJJLpc.d.ts +0 -17
  1347. package/dist/tags-Cx-LnIQP.d.ts +0 -30
  1348. package/dist/tee-CoEppCER.js +0 -101
  1349. package/dist/template--jDkl3UP.js +0 -114
  1350. package/dist/template-CwO38Do8.d.ts +0 -6
  1351. package/dist/temporal-BJGitm-h.js +0 -79
  1352. package/dist/temporal-required-BVvW7SYJ.js +0 -20
  1353. package/dist/tenant-BxNFk9bx.d.ts +0 -17
  1354. package/dist/tenant-I1TEZ_BX.js +0 -27
  1355. package/dist/timing-CyTQPubY.js +0 -92
  1356. package/dist/types-6BdhkmZe.d.ts +0 -340
  1357. package/dist/types-6cYK9pbJ.js +0 -29
  1358. package/dist/types-6rocye-y.d.ts +0 -156
  1359. package/dist/types-AYOvcyep.d.ts +0 -359
  1360. package/dist/types-C05bxW-W.d.ts +0 -220
  1361. package/dist/types-DGs5L0VN.d.ts +0 -192
  1362. package/dist/usage-CrvrL2vw.d.ts +0 -177
  1363. package/dist/vault-wlbBhqm7.d.ts +0 -50
  1364. package/dist/verify-DL41hbvY.js +0 -232
  1365. package/dist/verify-DPuWngD4.d.ts +0 -172
  1366. package/dist/version-C6OfRAIn.js +0 -4
  1367. package/dist/view-BeFcRV6G.js +0 -99
  1368. package/dist/view-CF7ihnkg.d.ts +0 -87
  1369. package/dist/watch-DI34G86j.d.ts +0 -60
  1370. package/dist/watch-Xuxrvxq-.js +0 -122
  1371. package/dist/wire-DtZQ4sdE.js +0 -45
  1372. package/dist/workflow-builder-DJ1oHn8g.js +0 -398
  1373. package/dist/workflow-sdk-B3yLD6Br.d.ts +0 -98
  1374. package/dist/workflow-sdk-C2WJ_G2O.js +0 -173
  1375. package/dist/workflow-sdk-world-D-prir6O.js +0 -1397
  1376. package/dist/workflows-B0j9WKPu.d.ts +0 -185
  1377. package/dist/workflows-wu1WWBn7.js +0 -216
@@ -1,1190 +0,0 @@
1
- import { c as mapDbError, n as dbError, o as isDbError, r as dbErrorOf } from "./errors-B11Duf73.js";
2
- import { t as temporal } from "./temporal-required-BVvW7SYJ.js";
3
- import { a as ok, r as err, t as AsyncResult } from "./result-DzUbqgdW.js";
4
- import { a as postgrestExecutor, n as StatsRecorder } from "./stats-D_AD9GGu.js";
5
- import { a as problemResponse } from "./problem-BreOl8b8.js";
6
- import { loadEnv } from "./env/index.js";
7
- import { a as actorOf, i as userContext, n as impersonatorClaim, t as actClaim } from "./impersonation-DcqaTBHx.js";
8
- import { t as fromPgError } from "./executor-De1Of3m3.js";
9
- import { n as forwardBlockEvents } from "./cloud-event-BnmD5fb9.js";
10
- import { a as replicaState, i as primaryCookieWrite, o as routedExecutor, r as pinnedUntil, s as withPrimaryPin } from "./replicas-CwrYp5Zj.js";
11
- import { c as AUTH_CACHE_HEADERS, d as clearSessionAtScopes, f as parseCookies, h as sessionCookieName, i as resolveAuth, m as serializeCookie, r as prefetchJwks, t as authContext } from "./resolve-tJZY3FEa.js";
12
- import { t as credentialProviderOf } from "./provider-Di3sRutW.js";
13
- import { a as respond, n as defaultPrefetchJwks, r as guard, t as defaultExpose } from "./respond-BUgsXNgk.js";
14
- import { createClient } from "@supabase/supabase-js";
15
- import { defineMiddleware, getEnv, pipeline, seedContext } from "@supabase/middleware";
16
- import { PostgrestClient } from "@supabase/postgrest-js";
17
- //#region src/server/delete-account.ts
18
- const REMOVE_BATCH = 1e3;
19
- /** Maps an `AuthApiError` from `auth.admin.deleteUser` to a `DbError`. */
20
- function fromAuthError(raw) {
21
- if (isDbError(raw)) return raw;
22
- const failure = typeof raw === "object" && raw !== null ? raw : {};
23
- const message = failure.message ?? "Auth request failed";
24
- const base = {
25
- table: "auth.users",
26
- ...failure.code ? { code: failure.code } : {}
27
- };
28
- if (failure.code === "user_not_found" || failure.status === 404) return dbError("not_found", message, base);
29
- if (/database error deleting user/i.test(message)) return dbError("conflict", message, {
30
- ...base,
31
- hint: "A foreign key to auth.users without on delete cascade or set null blocks the delete (doctor BS406)"
32
- });
33
- if (failure.status === 401) return dbError("unauthorized", message, base);
34
- if (failure.status === 403) return dbError("forbidden", message, base);
35
- return failure.name === "AuthRetryableFetchError" || (failure.status ?? 0) >= 500 ? dbError("network", message, base) : dbError("unexpected", message, base);
36
- }
37
- const UUID$1 = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
38
- const PROBE = "better_supabase.delete_account_probe";
39
- /**
40
- * The database error that refuses deleting `userId`, from the delete and its
41
- * deferred checks run in a `do` block that always fails, so nothing is
42
- * deleted. Undefined when the delete itself would pass.
43
- */
44
- async function databaseRefusal(sql, userId) {
45
- if (!UUID$1.test(userId)) return void 0;
46
- try {
47
- await sql.queryRaw(`do $$
48
- begin
49
- delete from auth.users where id = '${userId}';
50
- set constraints all immediate;
51
- raise exception '${PROBE}';
52
- end;
53
- $$`);
54
- } catch (cause) {
55
- const raw = isDbError(cause) ? void 0 : fromPgError(cause);
56
- const error = isDbError(cause) ? cause : raw && mapDbError(raw);
57
- if (!error || error.message === PROBE) return void 0;
58
- return {
59
- ...error,
60
- table: "auth.users"
61
- };
62
- }
63
- }
64
- /**
65
- * Deletes the Auth user, then removes their Storage objects, then announces
66
- * the delete. Rows referencing `auth.users` follow their foreign keys. The
67
- * objects are listed first and removed only once the user is gone, so a
68
- * delete the database refuses leaves them in place.
69
- *
70
- * `server.deleteAccount` calls it with the server's service client. Apps on
71
- * the `@supabase/server` pipeline call it with theirs:
72
- * `deleteAccount(betterSupabase, ctx.supabaseAdmin, userId)`.
73
- */
74
- function deleteAccount(betterSupabase, service, userId, options = {}) {
75
- return AsyncResult.from(async () => {
76
- const client = typeof service === "function" ? service() : service;
77
- const listedPaths = [];
78
- for (const bucket of options.buckets ?? []) {
79
- const param = bucket.owner;
80
- if (!param) continue;
81
- options.signal?.throwIfAborted();
82
- const listed = await bucket.connect(client, { allTenants: true }).list({ [param]: userId }, options.signal ? { signal: options.signal } : {});
83
- if (!listed.ok) return listed;
84
- listedPaths.push([bucket, listed.data.map((object) => object.path).filter((path) => {
85
- return bucket.match(path)?.[param] === userId;
86
- })]);
87
- }
88
- options.signal?.throwIfAborted();
89
- try {
90
- const { error } = await client.auth.admin.deleteUser(userId);
91
- if (error) {
92
- const failure = fromAuthError(error);
93
- const refusal = options.sql && (failure.kind === "conflict" || failure.kind === "network" || failure.kind === "unexpected") ? await databaseRefusal(options.sql, userId) : void 0;
94
- return err(refusal ?? failure);
95
- }
96
- } catch (cause) {
97
- return err(fromAuthError(cause));
98
- }
99
- const removed = {};
100
- for (const [bucket, paths] of listedPaths) {
101
- const storage = bucket.connect(client, { allTenants: true });
102
- for (let start = 0; start < paths.length; start += REMOVE_BATCH) {
103
- const batch = await storage.remove(paths.slice(start, start + REMOVE_BATCH));
104
- if (!batch.ok) return batch;
105
- }
106
- removed[bucket.id] = paths.length;
107
- }
108
- const context = options.context ?? {};
109
- betterSupabase.events.emit("mutation", {
110
- table: "auth.users",
111
- kind: "delete",
112
- rows: [{ id: userId }],
113
- context
114
- });
115
- for (const table of options.cascades ?? []) betterSupabase.events.emit("mutation", {
116
- table,
117
- kind: "delete",
118
- rows: [],
119
- context
120
- });
121
- return ok({
122
- userId,
123
- removed
124
- });
125
- });
126
- }
127
- //#endregion
128
- //#region src/server/suspend-account.ts
129
- const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
130
- const FOREVER = "876000h";
131
- const END_SESSIONS = `with ended as (
132
- delete from auth.sessions where user_id = $1::uuid returning id
133
- ), tokens as (
134
- delete from auth.refresh_tokens where user_id = $1::text
135
- )
136
- select count(*)::int as ended from ended`;
137
- function invalidUser(userId) {
138
- return dbError("invalid_request", `"${userId}" is not a user id`, { table: "auth.users" });
139
- }
140
- function fromSqlError(cause) {
141
- const known = dbErrorOf(cause);
142
- if (known) return known;
143
- const raw = fromPgError(cause);
144
- if (raw) return {
145
- ...mapDbError(raw),
146
- table: "auth.sessions"
147
- };
148
- return dbError("unexpected", cause instanceof Error ? cause.message : "Ending the sessions failed", { table: "auth.sessions" });
149
- }
150
- async function deleteSessions(sql, userId) {
151
- const [row] = await sql.queryRaw(END_SESSIONS, [userId]);
152
- return row?.ended ?? 0;
153
- }
154
- function endSessions(sql, userId) {
155
- return AsyncResult.from(async () => {
156
- if (!UUID.test(userId)) return err(invalidUser(userId));
157
- try {
158
- return ok({
159
- userId,
160
- ended: await deleteSessions(sql, userId)
161
- });
162
- } catch (cause) {
163
- return err(fromSqlError(cause));
164
- }
165
- });
166
- }
167
- const LAST_SIGN_INS = `select user_id, last_sign_in_at
168
- from better_supabase.last_sign_ins($1::uuid[])`;
169
- /**
170
- * The last sign-in of each user, in one query (`better_supabase.last_sign_ins`
171
- * from the `sessions` module, which only the service role may call). Users
172
- * that don't exist are missing from the map.
173
- */
174
- function lastSignIns(sql, userIds) {
175
- return AsyncResult.from(async () => {
176
- const invalid = userIds.find((userId) => !UUID.test(userId));
177
- if (invalid !== void 0) return err(invalidUser(invalid));
178
- if (userIds.length === 0) return ok(/* @__PURE__ */ new Map());
179
- try {
180
- const rows = await sql.queryRaw(LAST_SIGN_INS, [[...new Set(userIds)]]);
181
- return ok(new Map(rows.map((row) => [row.user_id, {
182
- userId: row.user_id,
183
- lastSignInAt: row.last_sign_in_at === null ? null : temporal().Instant.from(row.last_sign_in_at instanceof Date ? row.last_sign_in_at.toISOString() : row.last_sign_in_at)
184
- }])));
185
- } catch (cause) {
186
- return err(fromSqlError(cause));
187
- }
188
- });
189
- }
190
- async function ban(client, userId, duration) {
191
- try {
192
- const { error } = await client.auth.admin.updateUserById(userId, { ban_duration: duration });
193
- return error ? fromAuthError(error) : void 0;
194
- } catch (cause) {
195
- return fromAuthError(cause);
196
- }
197
- }
198
- function suspendAccount(service, sql, userId, options) {
199
- return AsyncResult.from(async () => {
200
- if (!UUID.test(userId)) return err(invalidUser(userId));
201
- const client = typeof service === "function" ? service() : service;
202
- const { suspended } = options;
203
- if (suspended) {
204
- const refused = await ban(client, userId, options.duration ?? FOREVER);
205
- if (refused) return err(refused);
206
- if (options.endSessions !== true) return ok({
207
- userId,
208
- suspended,
209
- ended: 0
210
- });
211
- }
212
- let ended;
213
- try {
214
- ended = await deleteSessions(sql, userId);
215
- } catch (cause) {
216
- return err(fromSqlError(cause));
217
- }
218
- if (!suspended) {
219
- const refused = await ban(client, userId, "none");
220
- if (refused) return err(refused);
221
- }
222
- return ok({
223
- userId,
224
- suspended,
225
- ended
226
- });
227
- });
228
- }
229
- //#endregion
230
- //#region src/server/audit.ts
231
- /** The CloudEvents `source` of the events the server sends to its `audit` sink. */
232
- const SERVER_EVENT_SOURCE = "/better-supabase/server";
233
- const OFF = { account: () => void 0 };
234
- /**
235
- * The server's audit trail: account actions are sent to `sink` as CloudEvents
236
- * typed `dev.better-supabase.account.*` with subject `users/<id>`, and
237
- * `support.denied` block events are forwarded to it.
238
- */
239
- function serverAudit(betterSupabase, sink) {
240
- if (sink === void 0) return OFF;
241
- const { events } = betterSupabase;
242
- forwardBlockEvents(betterSupabase, sink, {
243
- source: SERVER_EVENT_SOURCE,
244
- types: ["support.denied"]
245
- });
246
- const report = (cause) => {
247
- events.logger.error("audit sink failed", { cause });
248
- };
249
- return { account(type, userId, data) {
250
- const event = {
251
- specversion: "1.0",
252
- id: crypto.randomUUID(),
253
- source: SERVER_EVENT_SOURCE,
254
- type: `dev.better-supabase.${type}`,
255
- subject: `users/${userId}`,
256
- time: (/* @__PURE__ */ new Date()).toISOString(),
257
- datacontenttype: "application/json",
258
- data: {
259
- userId,
260
- ...data
261
- }
262
- };
263
- try {
264
- events.track(Promise.resolve(sink.send([event])).catch(report));
265
- } catch (cause) {
266
- report(cause);
267
- }
268
- } };
269
- }
270
- //#endregion
271
- //#region src/server/entries/core.ts
272
- const cores = /* @__PURE__ */ new WeakMap();
273
- /** Records the core behind `server`, so `serverCore` finds it on copies too. */
274
- function registerCore(server, core) {
275
- cores.set(server, core);
276
- }
277
- /** Copies the registration from `from` to `to` (`extendServer` builds a new object). */
278
- function shareCore(from, to) {
279
- const core = cores.get(from);
280
- if (core) cores.set(to, core);
281
- }
282
- /** The core of a server built by `createServer` or one of the adapter factories. */
283
- function serverCore(server) {
284
- const core = cores.get(server);
285
- if (!core) throw new TypeError("better-supabase: this server was not built by createServer(); pass the definition or a server from createServer");
286
- return core;
287
- }
288
- const CALL = Symbol("better-supabase.call");
289
- const supportLookups = /* @__PURE__ */ new WeakMap();
290
- /**
291
- * Starts the support lookup for a signed-in caller, so `withTenant` can run
292
- * the tenant resolver while the support store answers. Other callers never
293
- * have a support session, so they skip it.
294
- */
295
- function startSupportLookup(core, request, session) {
296
- if (session.auth.kind !== "user" || supportLookups.has(session)) return;
297
- const lookup = core.support(request, session.auth);
298
- lookup.catch(() => void 0);
299
- supportLookups.set(session, lookup);
300
- }
301
- /** The support session of a resolved request: the started lookup, else a new one. */
302
- function supportLookup(core, request, session) {
303
- return supportLookups.get(session) ?? core.support(request, session.auth);
304
- }
305
- /** The call state on a context seeded by `server.context()`, if any. */
306
- function callOf(ctx) {
307
- return ctx[CALL];
308
- }
309
- //#endregion
310
- //#region src/server/entries/context.ts
311
- /**
312
- * Entry contributing `ctx.bs`, the request's `ServerContext`: `auth`, `db`,
313
- * `sql`, `supabase`, `replica`, `stats()` and the rest, each built on first
314
- * read. In a support session `auth`, `db` and `sql` are the target's.
315
- */
316
- function withServerContext(core) {
317
- return defineMiddleware({
318
- key: "bs",
319
- run: () => (request, ctx) => {
320
- const options = callOf(ctx)?.options ?? {};
321
- const bs = core.context(ctx.session, request, ctx.support ? {
322
- ...options,
323
- support: ctx.support
324
- } : options, ctx.tenant);
325
- return Promise.resolve({ bs });
326
- }
327
- })();
328
- }
329
- //#endregion
330
- //#region src/server/refresh.ts
331
- /** A router or browser prefetch, by its request headers. */
332
- function isPrefetch(request) {
333
- const h = request.headers;
334
- return h.has("next-router-prefetch") || h.get("purpose") === "prefetch" || (h.get("sec-purpose")?.includes("prefetch") ?? false);
335
- }
336
- const FORM_TYPES = ["application/x-www-form-urlencoded", "multipart/form-data"];
337
- /**
338
- * Whether a request should refresh an expired session cookie: page loads,
339
- * client navigations (`rsc`, `x-sveltekit-*`, `_data` loaders), form posts
340
- * and Server Actions. Prefetches, assets and `fetch` calls from scripts
341
- * read the session as it is, so a burst of parallel requests never races
342
- * on the single-use refresh token.
343
- */
344
- function shouldRefresh(request) {
345
- const h = request.headers;
346
- if (request.method !== "GET" && request.method !== "HEAD") {
347
- if (h.has("next-action") || h.has("x-sveltekit-action")) return true;
348
- if (h.get("sec-fetch-dest") === "document") return true;
349
- const type = h.get("content-type") ?? "";
350
- return FORM_TYPES.some((form) => type.startsWith(form));
351
- }
352
- if (isPrefetch(request)) return false;
353
- if (h.get("rsc") === "1") return true;
354
- const dest = h.get("sec-fetch-dest");
355
- if (dest) return dest === "document";
356
- return h.get("accept")?.includes("text/html") ?? false;
357
- }
358
- /**
359
- * Whether a request should ask the Auth server if the session still exists
360
- * (`checkSession`): full page loads, and `paths` you list for client
361
- * navigations. Never prefetches or mutations.
362
- */
363
- function shouldCheckSession(request, paths) {
364
- if (request.method !== "GET" && request.method !== "HEAD") return false;
365
- if (isPrefetch(request)) return false;
366
- if (request.headers.get("sec-fetch-dest") === "document") return true;
367
- return paths?.includes(new URL(request.url).pathname) ?? false;
368
- }
369
- /** `policy` for one request. */
370
- function refreshFor(policy, request) {
371
- if (policy === void 0 || typeof policy === "boolean") return policy;
372
- return policy === "navigation" ? shouldRefresh(request) : policy(request);
373
- }
374
- //#endregion
375
- //#region src/server/entries/session.ts
376
- function checkFor(policy, request) {
377
- if (policy === void 0 || typeof policy === "boolean") return policy ?? false;
378
- return policy === "navigation" ? shouldCheckSession(request) : policy(request);
379
- }
380
- /** Appends `Max-Age=0` writes for the session cookie at the old scopes, and the no-store headers. */
381
- function clearOldScopes(response, request, name, scopes) {
382
- const writes = clearSessionAtScopes(parseCookies(request.headers.get("cookie")), name, scopes);
383
- if (writes.length === 0) return response;
384
- const headers = new Headers(response.headers);
385
- for (const write of writes) headers.append("set-cookie", serializeCookie(write));
386
- for (const [key, value] of Object.entries(AUTH_CACHE_HEADERS)) headers.set(key, value);
387
- return new Response(response.body, {
388
- status: response.status,
389
- statusText: response.statusText,
390
- headers
391
- });
392
- }
393
- /**
394
- * Entry contributing `ctx.session`, the request's `AuthResolution`: a bearer
395
- * token first, the session cookie second. It is the only entry with a
396
- * response seam for cookies: on the way out it adds the refreshed session
397
- * cookies and the no-store headers, and hands pending event sends to
398
- * `waitUntil`.
399
- */
400
- function withSession(core, config = {}) {
401
- return defineMiddleware({
402
- key: "session",
403
- run: () => async function* (request, ctx) {
404
- const call = callOf(ctx)?.options;
405
- const refresh = call ? call.refresh ?? false : refreshFor(config.refresh, request);
406
- const cookies = call ? call.cookies : config.cookies;
407
- const checkSession = !call && checkFor(config.checkSession, request);
408
- const session = await core.resolve(request, {
409
- ...refresh === void 0 ? {} : { refresh },
410
- ...cookies === void 0 ? {} : { cookies },
411
- ...checkSession ? { checkSession } : {},
412
- ...config.encode === void 0 ? {} : { encode: config.encode }
413
- });
414
- try {
415
- const response = yield { session };
416
- const applied = session.apply(response);
417
- return config.cookieScopes?.length ? clearOldScopes(applied, request, core.sessionCookie(), config.cookieScopes) : applied;
418
- } finally {
419
- if (config.waitUntil && core.events.pending) config.waitUntil(core.events.settled());
420
- }
421
- }
422
- })();
423
- }
424
- //#endregion
425
- //#region src/server/entries/support.ts
426
- /**
427
- * Entry contributing `ctx.support`: the support session ("view as user") the
428
- * request's support cookie names, when `ServerOptions.support` is set and
429
- * the caller is the admin who started it. `undefined` otherwise.
430
- */
431
- function withSupport(core) {
432
- return defineMiddleware({
433
- key: "support",
434
- run: () => async (request, ctx) => {
435
- return { support: callOf(ctx)?.options.support ?? await supportLookup(core, request, ctx.session) };
436
- }
437
- })();
438
- }
439
- //#endregion
440
- //#region src/server/entries/tenant.ts
441
- /**
442
- * Entry contributing `ctx.tenant`: the active tenant from
443
- * `ServerOptions.tenant` (a URL slug, a header), or `undefined`. It becomes
444
- * `context.tenant` for the `tenant()` plugin, the `better_supabase.tenant`
445
- * setting over Postgres and the `x-bs-tenant` header over PostgREST. It
446
- * starts the support lookup that `withSupport` awaits, so both run at once.
447
- */
448
- function withTenant(core) {
449
- return defineMiddleware({
450
- key: "tenant",
451
- run: () => async (request, ctx) => {
452
- const options = callOf(ctx)?.options;
453
- if (options?.support === void 0) startSupportLookup(core, request, ctx.session);
454
- return { tenant: options?.tenant ?? await core.tenant(request, ctx.session.auth) };
455
- }
456
- })();
457
- }
458
- //#endregion
459
- //#region src/server/request-ids.ts
460
- const REQUEST_ID_PATTERN = /^[A-Za-z0-9._:;,@/+=-]{1,128}$/;
461
- function requestIdOrUndefined(value) {
462
- return typeof value === "string" && REQUEST_ID_PATTERN.test(value) ? value : void 0;
463
- }
464
- function sessionWith(ids, tenant, readOnly = false) {
465
- const settings = {
466
- ...ids.requestId === void 0 ? {} : { "better_supabase.request_id": ids.requestId },
467
- ...ids.correlationId === void 0 ? {} : { "better_supabase.correlation_id": ids.correlationId },
468
- ...tenant === void 0 ? {} : { "better_supabase.tenant": tenant }
469
- };
470
- const hasSettings = Object.keys(settings).length > 0;
471
- if (!hasSettings && !readOnly) return void 0;
472
- return {
473
- ...readOnly ? { readOnly: true } : {},
474
- ...hasSettings ? { settings } : {}
475
- };
476
- }
477
- function requestIdPolicy(options = {}) {
478
- const on = options !== false;
479
- const settings = on ? options : {};
480
- const requestHeader = (settings.requestHeader ?? "x-request-id").toLowerCase();
481
- const correlationHeader = (settings.correlationHeader ?? "x-correlation-id").toLowerCase();
482
- const incoming = on && (settings.incoming ?? true);
483
- const generate = on && (settings.generate ?? true);
484
- const generated = /* @__PURE__ */ new WeakMap();
485
- const fromHeader = (request, name) => incoming && request ? requestIdOrUndefined(request.headers.get(name)) : void 0;
486
- const generatedFor = (request) => {
487
- if (!generate || !request) return void 0;
488
- const known = generated.get(request);
489
- if (known !== void 0) return known;
490
- const id = crypto.randomUUID();
491
- generated.set(request, id);
492
- return id;
493
- };
494
- return {
495
- forRequest(request, explicit) {
496
- const requestId = requestIdOrUndefined(explicit.requestId) ?? fromHeader(request, requestHeader) ?? generatedFor(request);
497
- const correlationId = requestIdOrUndefined(explicit.correlationId) ?? fromHeader(request, correlationHeader) ?? requestId;
498
- return {
499
- ...requestId === void 0 ? {} : { requestId },
500
- ...correlationId === void 0 ? {} : { correlationId }
501
- };
502
- },
503
- headers: (ids) => ({
504
- ...ids.requestId === void 0 ? {} : { [requestHeader]: ids.requestId },
505
- ...ids.correlationId === void 0 ? {} : { [correlationHeader]: ids.correlationId }
506
- })
507
- };
508
- }
509
- //#endregion
510
- //#region src/auth/support-cookie.ts
511
- /** The cookie that carries the support session id. */
512
- const SUPPORT_COOKIE = "bs-support";
513
- /** Seconds until the session expires, rounded up so the cookie never outlives it by less than a second. */
514
- function supportCookieMaxAge(session, now = Date.now()) {
515
- return Math.max(0, Math.ceil((session.expiresAt.epochMilliseconds - now) / 1e3));
516
- }
517
- /** `Set-Cookie` for a session: HttpOnly, SameSite=Lax, gone when the session expires. */
518
- function supportCookie(session, options = {}, now = Date.now()) {
519
- return cookieLine(options, encodeURIComponent(session.id), supportCookieMaxAge(session, now));
520
- }
521
- /** `Set-Cookie` that removes the support cookie. */
522
- function clearSupportCookie(options = {}) {
523
- return cookieLine(options, "", 0);
524
- }
525
- function cookieLine(options, value, maxAge) {
526
- return [
527
- `${options.name ?? "bs-support"}=${value}`,
528
- `Path=${options.path ?? "/"}`,
529
- `Max-Age=${String(maxAge)}`,
530
- "HttpOnly",
531
- "SameSite=Lax",
532
- ...options.secure === false ? [] : ["Secure"]
533
- ].join("; ");
534
- }
535
- /** The support session id in a `Cookie` header, or `undefined`. */
536
- function supportCookieValue(cookieHeader, name = SUPPORT_COOKIE) {
537
- if (!cookieHeader) return void 0;
538
- for (const part of cookieHeader.split(";")) {
539
- const index = part.indexOf("=");
540
- if (index === -1 || part.slice(0, index).trim() !== name) continue;
541
- let value;
542
- try {
543
- value = decodeURIComponent(part.slice(index + 1).trim());
544
- } catch {
545
- return;
546
- }
547
- return value === "" ? void 0 : value;
548
- }
549
- }
550
- //#endregion
551
- //#region src/server/support-off.ts
552
- const NOT_CONFIGURED = "Support sessions need createServer(betterSupabase, { support: supportSessions({ store }) })";
553
- const notConfigured = () => AsyncResult.err(dbError("unexpected", NOT_CONFIGURED));
554
- /** `bs.support` without `ServerOptions.support`: every call fails. */
555
- const supportOff = {
556
- start: notConfigured,
557
- stop: notConfigured,
558
- revoke: notConfigured,
559
- current: () => Promise.resolve(void 0),
560
- list: notConfigured,
561
- sessionIdOf: () => void 0,
562
- clearCookie: () => clearSupportCookie()
563
- };
564
- //#endregion
565
- //#region src/server/server.ts
566
- /** The header `current_tenant_id()` reads over the Data API. */
567
- const TENANT_HEADER = "x-bs-tenant";
568
- /** The environment as `getEnv` resolves it, one variable at a time. */
569
- const RUNTIME_ENV = new Proxy({}, { get: (_target, key) => typeof key === "string" ? getEnv(key) : void 0 });
570
- const needsPostgres = (method) => dbError("invalid_request", `${method} needs createServer(betterSupabase, { postgres: createPostgres() })`);
571
- const STATELESS = {
572
- persistSession: false,
573
- autoRefreshToken: false,
574
- detectSessionInUrl: false
575
- };
576
- /**
577
- * A framework adapter's server: `server` plus the adapter's own methods,
578
- * without reading the lazy `env` getter. `extra` can't replace a
579
- * `BetterServer` method.
580
- */
581
- function extendServer(server, extra) {
582
- const extended = Object.defineProperties({}, {
583
- ...Object.getOwnPropertyDescriptors(server),
584
- ...Object.getOwnPropertyDescriptors(extra)
585
- });
586
- shareCore(server, extended);
587
- return extended;
588
- }
589
- /** `{ ...base, ...extra }` that keeps lazy getters lazy. */
590
- function withExtra(base, extra) {
591
- return Object.defineProperties({}, {
592
- ...Object.getOwnPropertyDescriptors(base),
593
- ...Object.getOwnPropertyDescriptors(extra)
594
- });
595
- }
596
- /**
597
- * Server-side entry point for APIs, jobs, MCP servers and framework
598
- * adapters. Holds the secrets; `betterSupabase` stays isomorphic.
599
- */
600
- function createServer(betterSupabase, options = {}) {
601
- const credentials = options.credentials === void 0 ? {} : { credentials: credentialProviderOf(options.credentials) };
602
- let loaded;
603
- const env = () => loaded ??= options.env ?? loadEnv(RUNTIME_ENV);
604
- let adminClient;
605
- let anonClient;
606
- if ((options.prefetchJwks ?? defaultPrefetchJwks()) && options.auth?.jwks === void 0) try {
607
- prefetchJwks({
608
- ...options.auth,
609
- env: env()
610
- });
611
- } catch {}
612
- const secretKey = () => {
613
- const key = env().secretKey;
614
- if (!key) throw new TypeError("admin() needs SUPABASE_SECRET_KEY; it is not set");
615
- return key;
616
- };
617
- const customFetch = options.fetch ? { fetch: options.fetch } : void 0;
618
- const definitionExecutor = betterSupabase.executorOptions();
619
- const urlLengthLimit = options.db?.urlLengthLimit ?? definitionExecutor.urlLengthLimit;
620
- const db = {
621
- ...options.db?.timeout === void 0 ? {} : { timeout: options.db.timeout },
622
- ...options.db?.retry === void 0 ? {} : { retry: options.db.retry },
623
- ...urlLengthLimit === void 0 ? {} : { urlLengthLimit }
624
- };
625
- const dbOptions = Object.keys(db).length > 0 ? { db } : {};
626
- const sharedGlobal = {
627
- ...customFetch ? { global: customFetch } : {},
628
- ...dbOptions
629
- };
630
- /** postgrest-js options a bare `PostgrestClient` takes; `timeout` is the executor's. */
631
- const restOptions = {
632
- ...db.retry === void 0 ? {} : { retry: db.retry },
633
- ...urlLengthLimit === void 0 ? {} : { urlLengthLimit }
634
- };
635
- const executorOptions = {
636
- ...definitionExecutor,
637
- ...urlLengthLimit === void 0 ? {} : { urlLengthLimit },
638
- ...db.timeout === void 0 ? {} : { timeout: db.timeout },
639
- ...db.retry === void 0 ? {} : { retry: db.retry }
640
- };
641
- /** Set when `db` options need an executor built with them. */
642
- const tunedExecutor = options.db !== void 0;
643
- const serviceClient = () => {
644
- adminClient ??= createClient(env().url, secretKey(), {
645
- auth: STATELESS,
646
- ...sharedGlobal
647
- });
648
- return adminClient;
649
- };
650
- const readUrl = () => options.readUrl === false ? void 0 : options.readUrl?.replace(/\/+$/, "") ?? env().readUrl;
651
- const apiKeyClient = () => {
652
- throw new TypeError("ctx.supabase and ctx.db.$client are not available for an API key: ctx.db and ctx.sql run over direct Postgres with the key's claims");
653
- };
654
- /** Clients for the primary share the service and anon clients; others don't. */
655
- const supabaseAt = (url, auth, headers = {}) => {
656
- const custom = Object.keys(headers).length > 0;
657
- const global = custom ? {
658
- global: {
659
- headers,
660
- ...customFetch
661
- },
662
- ...dbOptions
663
- } : sharedGlobal;
664
- const shared = !custom && url === env().url;
665
- switch (auth.kind) {
666
- case "user": return createClient(url, env().publishableKey, {
667
- accessToken: () => Promise.resolve(auth.token),
668
- ...global
669
- });
670
- case "service": return shared ? serviceClient() : createClient(url, secretKey(), {
671
- auth: STATELESS,
672
- ...global
673
- });
674
- case "anon":
675
- case "invalid":
676
- if (!shared) return createClient(url, env().publishableKey, {
677
- auth: STATELESS,
678
- ...global
679
- });
680
- anonClient ??= createClient(url, env().publishableKey, {
681
- auth: STATELESS,
682
- ...sharedGlobal
683
- });
684
- return anonClient;
685
- case "apiKey": return apiKeyClient();
686
- default: return auth;
687
- }
688
- };
689
- const supabaseFor = (auth, headers = {}) => supabaseAt(env().url, auth, headers);
690
- const restUrls = /* @__PURE__ */ new Map();
691
- const restUrl = (url) => {
692
- let rest = restUrls.get(url);
693
- if (rest === void 0) {
694
- rest = new URL("rest/v1", url.endsWith("/") ? url : `${url}/`).href;
695
- restUrls.set(url, rest);
696
- }
697
- return rest;
698
- };
699
- /**
700
- * The client queries run on. Requests need only PostgREST, so they skip
701
- * building Realtime, Storage and Auth clients per request; the shared
702
- * service and anon clients for the primary are built once anyway.
703
- */
704
- const restAt = (url, auth, headers = {}) => {
705
- let key;
706
- let bearer;
707
- switch (auth.kind) {
708
- case "user":
709
- key = env().publishableKey;
710
- bearer = auth.token;
711
- break;
712
- case "service":
713
- case "anon":
714
- case "invalid":
715
- if (Object.keys(headers).length === 0 && url === env().url) return supabaseAt(url, auth, headers);
716
- key = auth.kind === "service" ? secretKey() : env().publishableKey;
717
- bearer = key;
718
- break;
719
- case "apiKey": return apiKeyClient();
720
- default: return auth;
721
- }
722
- return new PostgrestClient(restUrl(url), {
723
- headers: {
724
- ...headers,
725
- apikey: key,
726
- Authorization: `Bearer ${bearer}`
727
- },
728
- ...customFetch,
729
- ...restOptions
730
- });
731
- };
732
- /** `$client` stays the full Supabase client, built when first read. */
733
- const withLazyClient = (db, client) => Object.defineProperty(db, "$client", {
734
- get: client,
735
- enumerable: true,
736
- configurable: true
737
- });
738
- const dbFor = (auth, context = {}) => {
739
- let supabase;
740
- const rest = restAt(env().url, auth);
741
- const db = betterSupabase.connect(rest, {
742
- ...authContext(auth),
743
- ...context
744
- }, tunedExecutor ? { executor: postgrestExecutor(rest, executorOptions) } : {});
745
- return withLazyClient(db, () => supabase ??= supabaseFor(auth));
746
- };
747
- const sqlFor = (claims, context, stats, session) => {
748
- if (!options.postgres) throw new TypeError("Direct Postgres access needs createServer(betterSupabase, { postgres: createPostgres() })");
749
- return betterSupabase.connect(session ? options.postgres.executorFor(claims, session) : options.postgres.executorFor(claims), context, stats ? { stats } : {});
750
- };
751
- /** `ServerOptions.tenant` outside `context()`, where it can't be awaited. */
752
- const syncTenant = (request, auth) => {
753
- const tenant = options.tenant?.(request, auth);
754
- if (tenant !== void 0 && typeof tenant !== "string") throw new TypeError("ServerOptions.tenant returned a promise: use context(request), or pass { tenant } to contextFromResolution");
755
- return tenant;
756
- };
757
- const pinMs = options.replicas?.pinMs ?? 5e3;
758
- const idPolicy = requestIdPolicy(options.requestIds);
759
- if (options.support && !options.postgres) throw new TypeError("Support sessions need createServer(betterSupabase, { postgres: createPostgres(), support })");
760
- const audit = serverAudit(betterSupabase, options.audit);
761
- const support = options.support ? options.support.create(betterSupabase.events, options.auth?.claims ?? betterSupabase.claimsSchema) : supportOff;
762
- /**
763
- * The target's context in a support session. Queries run over direct
764
- * Postgres with the target's claims plus `act`, read-only unless the
765
- * session allows writes; nothing reaches Supabase with the admin's token.
766
- */
767
- const supportContextFor = (resolution, active, parent, tenant, ids) => {
768
- const { session, claims } = active;
769
- const record = (key) => {
770
- const value = claims[key];
771
- return typeof value === "object" && value !== null && !Array.isArray(value) ? Object.fromEntries(Object.entries(value)) : void 0;
772
- };
773
- const appMetadata = record("app_metadata");
774
- const userMetadata = record("user_metadata");
775
- const user = {
776
- id: session.targetUserId,
777
- role: typeof claims["role"] === "string" ? claims["role"] : "authenticated",
778
- ...typeof claims["email"] === "string" ? { email: claims["email"] } : {},
779
- ...appMetadata ? { appMetadata } : {},
780
- ...userMetadata ? { userMetadata } : {}
781
- };
782
- const auth = {
783
- kind: "user",
784
- token: "",
785
- claims,
786
- user,
787
- source: "support",
788
- expiresAt: Math.floor(session.expiresAt.epochMilliseconds / 1e3)
789
- };
790
- const scope = tenant ?? session.tenant;
791
- const base = userContext(user, claims);
792
- const context = scope === void 0 ? base : {
793
- ...base,
794
- tenant: scope
795
- };
796
- const sessionOptions = sessionWith(ids, scope, session.readOnly);
797
- const recorder = new StatsRecorder(parent);
798
- const sqlClaims = claims;
799
- const unavailable = () => {
800
- throw new TypeError("ctx.supabase and ctx.db.$client are not available in a support session; ctx.db and ctx.sql run as the target");
801
- };
802
- let db;
803
- let sql;
804
- return {
805
- ...credentials,
806
- ...ids,
807
- auth,
808
- resolution,
809
- support: active,
810
- get supabase() {
811
- return unavailable();
812
- },
813
- get db() {
814
- db ??= Object.defineProperty(sqlFor(sqlClaims, context, recorder, sessionOptions), "$client", {
815
- get: unavailable,
816
- enumerable: true,
817
- configurable: true
818
- });
819
- return db;
820
- },
821
- get sql() {
822
- sql ??= sqlFor(sqlClaims, context, recorder, sessionOptions);
823
- return sql;
824
- },
825
- replica: void 0,
826
- stats: () => recorder.snapshot(),
827
- apply: (response) => resolution.apply(response),
828
- cookies: () => resolution.cookies
829
- };
830
- };
831
- /**
832
- * An API key's context. There is no JWT for PostgREST, so `ctx.db` and
833
- * `ctx.sql` run over direct Postgres with the key's synthesized claims,
834
- * scoped to its organization unless the tenant option names another.
835
- */
836
- const apiKeyContextFor = (resolution, auth, parent, tenant, ids) => {
837
- const scope = tenant ?? auth.organizationId;
838
- const base = authContext(auth);
839
- const context = scope === void 0 ? base : {
840
- ...base,
841
- tenant: scope
842
- };
843
- const session = sessionWith(ids, scope);
844
- const recorder = new StatsRecorder(parent);
845
- let db;
846
- let sql;
847
- return {
848
- ...credentials,
849
- ...ids,
850
- auth: resolution.auth,
851
- resolution,
852
- get supabase() {
853
- return apiKeyClient();
854
- },
855
- get db() {
856
- db ??= Object.defineProperty(sqlFor(auth.claims, context, recorder, session), "$client", {
857
- get: apiKeyClient,
858
- enumerable: true,
859
- configurable: true
860
- });
861
- return db;
862
- },
863
- get sql() {
864
- sql ??= sqlFor(auth.claims, context, recorder, session);
865
- return sql;
866
- },
867
- replica: void 0,
868
- stats: () => recorder.snapshot(),
869
- apply: (response) => resolution.apply(response),
870
- cookies: () => resolution.cookies
871
- };
872
- };
873
- /** Clients and repositories are built on first access: most scopes use one of them. */
874
- const contextFor = (resolution, requestHeaders, parent, until = 0, tenant, active, ids = {}) => {
875
- if (active) return supportContextFor(resolution, active, parent, tenant, ids);
876
- const { auth } = resolution;
877
- if (auth.kind === "apiKey") return apiKeyContextFor(resolution, auth, parent, tenant, ids);
878
- const context = tenant === void 0 ? authContext(auth) : {
879
- ...authContext(auth),
880
- tenant
881
- };
882
- const clientHeaders = tenant === void 0 ? requestHeaders : {
883
- ...requestHeaders,
884
- [TENANT_HEADER]: tenant
885
- };
886
- const headers = {
887
- ...idPolicy.headers(ids),
888
- ...clientHeaders
889
- };
890
- const sharesClient = auth.kind !== "user";
891
- const session = sessionWith(ids, tenant);
892
- const recorder = new StatsRecorder(parent);
893
- let supabase;
894
- let db;
895
- let sql;
896
- const sqlClaims = auth.kind === "user" ? auth.claims : auth.kind === "anon" ? { role: "anon" } : void 0;
897
- const client = () => supabase ??= supabaseFor(auth, sharesClient ? clientHeaders : headers);
898
- let replica;
899
- const replicaUrl = () => {
900
- const url = readUrl();
901
- if (url) replica ??= replicaState(until);
902
- return url;
903
- };
904
- return {
905
- ...credentials,
906
- ...ids,
907
- auth,
908
- resolution,
909
- get supabase() {
910
- return client();
911
- },
912
- get db() {
913
- if (db) return db;
914
- const url = replicaUrl();
915
- const rest = (sharesClient ? void 0 : supabase) ?? restAt(env().url, auth, headers);
916
- const connected = betterSupabase.connect(rest, context, {
917
- stats: recorder,
918
- ...url && replica ? { executor: routedExecutor(postgrestExecutor(rest, executorOptions), postgrestExecutor(restAt(url, auth, headers), executorOptions), replica) } : tunedExecutor ? { executor: postgrestExecutor(rest, executorOptions) } : {}
919
- });
920
- db = withLazyClient(connected, client);
921
- return db;
922
- },
923
- get replica() {
924
- replicaUrl();
925
- return replica;
926
- },
927
- get sql() {
928
- if (!options.postgres || !sqlClaims) return;
929
- sql ??= sqlFor(sqlClaims, context, recorder, session);
930
- return sql;
931
- },
932
- stats: () => recorder.snapshot(),
933
- apply: (response) => withPrimaryPin(resolution.apply(response), replica, pinMs),
934
- cookies: () => {
935
- const pin = primaryCookieWrite(replica, pinMs);
936
- return pin ? [...resolution.cookies, pin] : resolution.cookies;
937
- }
938
- };
939
- };
940
- const fromResolution = (resolution, request, contextOptions, tenant) => contextFor(resolution, options.headers?.(request) ?? {}, contextOptions.stats, contextOptions.pinnedUntil ?? (readUrl() ? pinnedUntil(resolution.requestCookies) : 0), tenant, contextOptions.support, idPolicy.forRequest(request, contextOptions));
941
- const resolve = async (request, resolveOptions = {}) => {
942
- const claims = options.auth?.claims ?? betterSupabase.claimsSchema;
943
- const userMetadata = betterSupabase.userMetadataSchema;
944
- const resolution = await resolveAuth(request, {
945
- logger: betterSupabase.events.logger,
946
- ...options.auth,
947
- ...claims ? { claims } : {},
948
- ...userMetadata ? { userMetadata } : {},
949
- env: env(),
950
- ...resolveOptions.refresh === void 0 ? {} : { refresh: resolveOptions.refresh },
951
- ...resolveOptions.cookies === void 0 ? {} : { cookies: resolveOptions.cookies },
952
- ...resolveOptions.checkSession ? { checkSession: true } : {},
953
- ...resolveOptions.encode === void 0 ? {} : { cookie: {
954
- ...options.auth?.cookie,
955
- encode: resolveOptions.encode
956
- } },
957
- onRefresh: (event) => {
958
- options.auth?.onRefresh?.(event);
959
- betterSupabase.events.emit("refresh", event);
960
- }
961
- });
962
- if (betterSupabase.events.has("auth")) {
963
- const { auth } = resolution;
964
- betterSupabase.events.emit("auth", {
965
- source: auth.kind === "user" ? auth.source === "cookie" ? "cookie" : "bearer" : auth.kind === "service" || auth.kind === "apiKey" ? "bearer" : "none",
966
- ok: auth.kind !== "invalid",
967
- ...auth.kind === "user" ? {
968
- userId: auth.user.id,
969
- rawSource: auth.source
970
- } : {},
971
- ...auth.kind === "anon" || auth.kind === "invalid" ? { reason: auth.reason } : {}
972
- });
973
- }
974
- return resolution;
975
- };
976
- /** One context per request and `refresh`/`cookies` pair: Server Components ask repeatedly. */
977
- const contextMemo = /* @__PURE__ */ new WeakMap();
978
- const server = {
979
- get env() {
980
- return env();
981
- },
982
- events: betterSupabase.events,
983
- resolve,
984
- supabaseFor,
985
- dbFor,
986
- contextFor: (auth, contextOptions = {}) => contextFor({
987
- auth,
988
- cookies: [],
989
- headers: {},
990
- requestCookies: [],
991
- apply: (response) => response
992
- }, {}, contextOptions.stats, contextOptions.pinnedUntil, contextOptions.tenant, contextOptions.support, idPolicy.forRequest(void 0, contextOptions)),
993
- context(request, contextOptions = {}) {
994
- const { refresh, cookies, ...rest } = contextOptions;
995
- const key = Object.keys(rest).length === 0 ? `${String(refresh ?? false)}:${String(cookies ?? true)}` : void 0;
996
- let byOptions = key ? contextMemo.get(request) : void 0;
997
- const known = key ? byOptions?.get(key) : void 0;
998
- if (known) return known;
999
- const resolving = (async () => {
1000
- const call = { options: contextOptions };
1001
- await fold(request, {
1002
- ...seedContext(),
1003
- [CALL]: call
1004
- });
1005
- return call.context;
1006
- })();
1007
- if (key) {
1008
- if (!byOptions) {
1009
- byOptions = /* @__PURE__ */ new Map();
1010
- contextMemo.set(request, byOptions);
1011
- }
1012
- const memo = byOptions;
1013
- memo.set(key, resolving);
1014
- resolving.catch(() => {
1015
- if (memo.get(key) === resolving) memo.delete(key);
1016
- });
1017
- }
1018
- return resolving;
1019
- },
1020
- contextFromResolution: (resolution, request, contextOptions = {}) => fromResolution(resolution, request, contextOptions, contextOptions.tenant ?? syncTenant(request, resolution.auth)),
1021
- admin: (context = {}) => {
1022
- const client = serviceClient();
1023
- return betterSupabase.connect(client, {
1024
- actor: {
1025
- id: "service",
1026
- kind: "service",
1027
- role: "service_role"
1028
- },
1029
- claims: { role: "service_role" },
1030
- ...context
1031
- }, tunedExecutor ? { executor: postgrestExecutor(client, executorOptions) } : {});
1032
- },
1033
- support,
1034
- deleteAccount: (userId, deleteOptions) => deleteAccount(betterSupabase, serviceClient, userId, {
1035
- ...options.postgres ? { sql: options.postgres.admin } : {},
1036
- ...deleteOptions
1037
- }).map((deleted) => {
1038
- audit.account("account.deleted", userId, { removed: deleted.removed });
1039
- return deleted;
1040
- }),
1041
- endSessions: (userId) => options.postgres ? endSessions(options.postgres.admin, userId).map((ended) => {
1042
- audit.account("account.sessions_ended", userId, { ended: ended.ended });
1043
- return ended;
1044
- }) : AsyncResult.err(needsPostgres("endSessions")),
1045
- suspendAccount: (userId, suspendOptions) => options.postgres ? suspendAccount(serviceClient, options.postgres.admin, userId, suspendOptions).map((suspended) => {
1046
- audit.account(suspended.suspended ? "account.suspended" : "account.unsuspended", userId, {
1047
- ended: suspended.ended,
1048
- ...suspendOptions.duration === void 0 ? {} : { duration: suspendOptions.duration }
1049
- });
1050
- return suspended;
1051
- }) : AsyncResult.err(needsPostgres("suspendAccount")),
1052
- actingAs: (userId, claims = {}, impersonation) => {
1053
- const full = {
1054
- role: "authenticated",
1055
- ...claims,
1056
- sub: userId,
1057
- ...impersonation ? { act: actClaim(impersonation) } : {}
1058
- };
1059
- return sqlFor(full, {
1060
- actor: {
1061
- id: userId,
1062
- kind: "user",
1063
- role: full.role ?? "authenticated",
1064
- ...impersonation ? { impersonator: impersonation.actor } : {}
1065
- },
1066
- claims: full
1067
- });
1068
- },
1069
- forContext: (context, forOptions = {}) => {
1070
- const { actor, tenant } = context;
1071
- if (actor?.kind !== "user") return AsyncResult.err(dbError("forbidden", `forContext needs a user actor, got ${actor ? actor.kind : "none"}: use admin() for service work`));
1072
- if (!options.postgres) return AsyncResult.err(dbError("invalid_request", "Direct Postgres access needs createServer(betterSupabase, { postgres: createPostgres() })"));
1073
- const recorded = actorOf(context.claims ?? {});
1074
- if (!recorded.ok) return AsyncResult.err(dbError("forbidden", "forContext got an invalid act claim"));
1075
- const support = recorded.actor?.kind === "support" ? recorded.actor : void 0;
1076
- const impersonator = support?.id ?? actor.impersonator;
1077
- return AsyncResult.from(async () => {
1078
- const claims = {
1079
- ...await options.claimsFor?.(actor.id, context) ?? {},
1080
- role: "authenticated",
1081
- sub: actor.id,
1082
- ...tenant === void 0 ? {} : { tenant_id: tenant },
1083
- ...support ? { act: impersonatorClaim(support) } : actor.impersonator ? { act: actClaim({
1084
- actor: actor.impersonator,
1085
- reason: forOptions.reason ?? "job"
1086
- }) } : {}
1087
- };
1088
- const session = sessionWith({}, tenant, support?.readOnly);
1089
- return ok(sqlFor(claims, {
1090
- actor: {
1091
- id: actor.id,
1092
- kind: "user",
1093
- role: "authenticated",
1094
- ...impersonator ? { impersonator } : {}
1095
- },
1096
- claims,
1097
- ...tenant === void 0 ? {} : { tenant }
1098
- }, void 0, session));
1099
- });
1100
- }
1101
- };
1102
- const core = {
1103
- events: betterSupabase.events,
1104
- pinMs,
1105
- resolve,
1106
- sessionCookie: () => options.auth?.cookie?.name ?? sessionCookieName(env().url),
1107
- tenant: (request, auth) => options.tenant?.(request, auth),
1108
- support: (request, auth) => support.current(request, auth),
1109
- context: (resolution, request, contextOptions, tenant) => fromResolution(resolution, request, contextOptions, tenant)
1110
- };
1111
- registerCore(server, core);
1112
- const fold = pipeline([
1113
- withSession(core),
1114
- withTenant(core),
1115
- withSupport(core),
1116
- withServerContext(core)
1117
- ], (_request, ctx) => {
1118
- const call = callOf(ctx);
1119
- if (call) call.context = ctx.bs;
1120
- return Promise.resolve(new Response(null, { status: 204 }));
1121
- });
1122
- return server;
1123
- }
1124
- //#endregion
1125
- //#region src/server/adapter.ts
1126
- /** Hands event sink sends still running to `waitUntil`; a no-op without either. */
1127
- function flushEvents(server, waitUntil) {
1128
- if (waitUntil && server.events.pending) waitUntil(server.events.settled());
1129
- }
1130
- /** The 500 for an error a handler threw; the message only when `expose` is set. */
1131
- function unexpectedResponse(cause, options) {
1132
- return problemResponse(dbError("unexpected", options.expose && cause instanceof Error ? cause.message : "Internal server error"), options);
1133
- }
1134
- /**
1135
- * Runs `run` as the request's caller, the way every built-in adapter does:
1136
- * resolves the context, applies the guard (401/403 Problem Details), turns
1137
- * the return value into a response with `respond()`, turns other thrown
1138
- * errors into a 500, adds the context's cookies with `ctx.apply()` and
1139
- * hands pending event sink sends to `waitUntil`.
1140
- *
1141
- * ```ts
1142
- * export default { fetch: (request, env, ctx) =>
1143
- * handle(server, request, (c) => c.db.notes.findMany(), { waitUntil: (p) => ctx.waitUntil(p) }) }
1144
- * ```
1145
- */
1146
- async function handle(server, request, run, options = {}) {
1147
- const expose = options.expose ?? defaultExpose();
1148
- const instance = options.instance ?? new URL(request.url).pathname;
1149
- const ctx = await server.context(request, {
1150
- ...options.context,
1151
- refresh: refreshFor(options.refresh, request) ?? false
1152
- });
1153
- const denied = guard(ctx.auth, options.allow, options.aal, options.scopes);
1154
- try {
1155
- let response;
1156
- try {
1157
- response = denied ? problemResponse(denied, {
1158
- instance,
1159
- expose
1160
- }) : await respond(() => run(ctx), {
1161
- instance,
1162
- expose,
1163
- ...options.status === void 0 ? {} : { status: options.status }
1164
- });
1165
- } catch (cause) {
1166
- options.rethrow?.(cause);
1167
- response = unexpectedResponse(cause, {
1168
- instance,
1169
- expose
1170
- });
1171
- }
1172
- return ctx.apply(response);
1173
- } finally {
1174
- flushEvents(server, options.waitUntil);
1175
- }
1176
- }
1177
- /** A request carrying only `token` as a bearer, for resolvers that read headers. */
1178
- function bearerRequest(token) {
1179
- return new Request("http://localhost/", { headers: token ? { authorization: `Bearer ${token}` } : {} });
1180
- }
1181
- /**
1182
- * Verifies a bare access token (an MCP transport's, a WebSocket's) without
1183
- * cookies or a refresh. An empty token resolves to `anon`.
1184
- */
1185
- async function resolveToken(server, token) {
1186
- const { auth } = await server.resolve(bearerRequest(token), { cookies: false });
1187
- return auth;
1188
- }
1189
- //#endregion
1190
- export { serverCore as C, suspendAccount as D, lastSignIns as E, deleteAccount as O, withServerContext as S, endSessions as T, withSession as _, unexpectedResponse as a, shouldCheckSession as b, extendServer as c, clearSupportCookie as d, supportCookie as f, withSupport as g, withTenant as h, resolveToken as i, withExtra as l, supportCookieValue as m, flushEvents as n, TENANT_HEADER as o, supportCookieMaxAge as p, handle as r, createServer as s, bearerRequest as t, SUPPORT_COOKIE as u, isPrefetch as v, SERVER_EVENT_SOURCE as w, shouldRefresh as x, refreshFor as y };