better-supabase 0.12.0 → 0.14.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 (1778) hide show
  1. package/README.md +129 -96
  2. package/dist/access-sql-CPoq9F86.js +207 -0
  3. package/dist/access-z7NwWtqx.js +34 -0
  4. package/dist/actor-CoveJgya.d.ts +106 -0
  5. package/dist/actor-hNajGNEK.js +150 -0
  6. package/dist/adapter-BCFAg58A.js +2190 -0
  7. package/dist/agents-CmZlLPXC.d.ts +117 -0
  8. package/dist/ai-cache-BxlOkc_M.d.ts +82 -0
  9. package/dist/ai-cache-DQikwXhJ.js +87 -0
  10. package/dist/ai-chat-DBxEz3o1.d.ts +619 -0
  11. package/dist/ai-files-t-kHmS5H.js +339 -0
  12. package/dist/ai-sdk/agents/index.d.ts +64 -52
  13. package/dist/ai-sdk/agents/index.js +35 -27
  14. package/dist/ai-sdk/batches/index.d.ts +16 -7
  15. package/dist/ai-sdk/batches/index.js +5 -5
  16. package/dist/ai-sdk/cache/index.d.ts +6 -3
  17. package/dist/ai-sdk/cache/index.js +1 -1
  18. package/dist/ai-sdk/chat/index.d.ts +1 -1
  19. package/dist/ai-sdk/chat/index.js +10 -10
  20. package/dist/ai-sdk/embeddings/index.d.ts +2 -2
  21. package/dist/ai-sdk/embeddings/index.js +1 -1
  22. package/dist/ai-sdk/files/index.d.ts +9 -9
  23. package/dist/ai-sdk/files/index.js +10 -10
  24. package/dist/ai-sdk/index.d.ts +48 -24
  25. package/dist/ai-sdk/index.js +50 -9
  26. package/dist/ai-sdk/mcp/index.d.ts +32 -26
  27. package/dist/ai-sdk/mcp/index.js +20 -20
  28. package/dist/ai-sdk/memory/index.d.ts +9 -9
  29. package/dist/ai-sdk/memory/index.js +6 -6
  30. package/dist/ai-sdk/react/index.d.ts +1 -1
  31. package/dist/ai-sdk/react/index.js +1 -1
  32. package/dist/ai-sdk/react/server.d.ts +5 -2
  33. package/dist/ai-sdk/react/server.js +4 -1
  34. package/dist/ai-sdk/workflow/index.d.ts +57 -36
  35. package/dist/ai-sdk/workflow/index.js +29 -23
  36. package/dist/ai-sdk/workflow/react/index.d.ts +7 -8
  37. package/dist/ai-sdk/workflow/react/index.js +7 -8
  38. package/dist/ai-sdk/workflow/react/server.d.ts +1 -1
  39. package/dist/ai-tasks-BDywBUgN.d.ts +166 -0
  40. package/dist/anchors-7F34QyHa.d.ts +40 -0
  41. package/dist/announcements-BeOD0zbc.js +128 -0
  42. package/dist/api-CWhpq24a.d.ts +174 -0
  43. package/dist/api-DKp2Ggz_.js +685 -0
  44. package/dist/api-keys-CboAenU8.d.ts +213 -0
  45. package/dist/api-keys-DT6Fi50R.js +318 -0
  46. package/dist/app-tables-BHrzAUFJ.d.ts +27 -0
  47. package/dist/app-tables-C5aoI5rZ.js +959 -0
  48. package/dist/approvals-bMb7dsBY.d.ts +129 -0
  49. package/dist/arazzo/index.d.ts +59 -36
  50. package/dist/arazzo/index.js +49 -41
  51. package/dist/assistant-D1yev_fR.d.ts +157 -0
  52. package/dist/astro/index.d.ts +44 -22
  53. package/dist/astro/index.js +14 -11
  54. package/dist/asyncapi/index.d.ts +23 -16
  55. package/dist/asyncapi/index.js +23 -20
  56. package/dist/attachments-Cjdgarpa.js +351 -0
  57. package/dist/attributes-BOFl922R.js +44 -0
  58. package/dist/audit-log-C3rQxeHd.js +788 -0
  59. package/dist/auth-DyF_LRxd.js +20 -0
  60. package/dist/auth-link-B4NL84XU.d.ts +104 -0
  61. package/dist/auth-link-D3-bU6yz.js +118 -0
  62. package/dist/auth-module-BEFESDC4.js +44 -0
  63. package/dist/auth-reply-jVKoAV6R.js +31 -0
  64. package/dist/authorization-BuT26_sR.d.ts +3455 -0
  65. package/dist/authorization-hooks-dLmUO_PZ.d.ts +217 -0
  66. package/dist/authorizer-DFP3gHv8.d.ts +82 -0
  67. package/dist/authorizer-DPTeL-7h.js +125 -0
  68. package/dist/availability-q3dZoZYM.d.ts +226 -0
  69. package/dist/base64-B9Wlsdj7.js +42 -0
  70. package/dist/before-route-B23K2zYU.js +30 -0
  71. package/dist/better-result/index.d.ts +26 -18
  72. package/dist/better-result/index.js +13 -9
  73. package/dist/bind-Dz8y3T5T.d.ts +95 -0
  74. package/dist/block-authors-BRTlT0qv.js +14 -0
  75. package/dist/block-authors-DzXLUiIq.d.ts +12 -0
  76. package/dist/block-controller-DTGuBemi.js +112 -0
  77. package/dist/block-env-DJiUu1fq.js +35 -0
  78. package/dist/block-env-kFcaaJLM.d.ts +10 -0
  79. package/dist/block-env-options-2e6IQrSw.js +26 -0
  80. package/dist/block-event-listener-Bu6G0TFH.js +16 -0
  81. package/dist/block-events-pBXPzwnW.js +83 -0
  82. package/dist/block-events-records-BGVyoz57.d.ts +343 -0
  83. package/dist/block-fields-3w4MZr8U.d.ts +58 -0
  84. package/dist/block-fields-DBSJSeaO.js +139 -0
  85. package/dist/block-helpers-BaugZlJV.d.ts +62 -0
  86. package/dist/block-helpers-CiKtrb6g.js +353 -0
  87. package/dist/block-hooks-BymdcD0V.js +130 -0
  88. package/dist/block-hooks-CmjPKqQ_.d.ts +117 -0
  89. package/dist/block-method-Bvsao626.js +21 -0
  90. package/dist/block-method-hsPAGFi5.d.ts +19 -0
  91. package/dist/block-names-Dbv_2wmE.js +66 -0
  92. package/dist/block-subjects-Dzq5Xn_0.js +55 -0
  93. package/dist/block-subjects-FHwLlIHU.d.ts +6 -0
  94. package/dist/block-tenant-C1sNV8_4.js +14 -0
  95. package/dist/block-transport-d53POsem.d.ts +69 -0
  96. package/dist/blocks/access/index.d.ts +9 -0
  97. package/dist/blocks/access/index.js +18 -0
  98. package/dist/blocks/access/react/index.d.ts +52 -0
  99. package/dist/blocks/access/react/index.js +73 -0
  100. package/dist/blocks/access/react/server.d.ts +11 -0
  101. package/dist/blocks/access/react/server.js +16 -0
  102. package/dist/blocks/access/solid/index.d.ts +13 -0
  103. package/dist/blocks/access/solid/index.js +14 -0
  104. package/dist/blocks/access/svelte/index.d.ts +13 -0
  105. package/dist/blocks/access/svelte/index.js +14 -0
  106. package/dist/blocks/access/vue/index.d.ts +13 -0
  107. package/dist/blocks/access/vue/index.js +14 -0
  108. package/dist/blocks/access-requests/index.d.ts +21 -15
  109. package/dist/blocks/access-requests/index.js +11 -9
  110. package/dist/blocks/activity/index.d.ts +116 -0
  111. package/dist/blocks/activity/index.js +164 -0
  112. package/dist/blocks/agents/index.d.ts +4 -4
  113. package/dist/blocks/agents/index.js +6 -7
  114. package/dist/blocks/ai-cache/index.d.ts +3 -3
  115. package/dist/blocks/ai-cache/index.js +3 -3
  116. package/dist/blocks/ai-chat/index.d.ts +10 -7
  117. package/dist/blocks/ai-chat/index.js +4 -4
  118. package/dist/blocks/ai-chat/react/index.d.ts +18 -9
  119. package/dist/blocks/ai-chat/react/index.js +8 -8
  120. package/dist/blocks/ai-chat/react/server.d.ts +12 -3
  121. package/dist/blocks/ai-chat/react/server.js +12 -3
  122. package/dist/blocks/ai-chat/solid/index.d.ts +3 -3
  123. package/dist/blocks/ai-chat/solid/index.js +2 -2
  124. package/dist/blocks/ai-chat/svelte/index.d.ts +3 -3
  125. package/dist/blocks/ai-chat/svelte/index.js +2 -2
  126. package/dist/blocks/ai-chat/vue/index.d.ts +3 -3
  127. package/dist/blocks/ai-chat/vue/index.js +2 -2
  128. package/dist/blocks/ai-files/index.d.ts +5 -5
  129. package/dist/blocks/ai-files/index.js +3 -3
  130. package/dist/blocks/ai-providers/index.d.ts +4 -4
  131. package/dist/blocks/ai-providers/index.js +8 -9
  132. package/dist/blocks/ai-tasks/index.d.ts +3 -3
  133. package/dist/blocks/ai-tasks/index.js +9 -10
  134. package/dist/blocks/announcements/index.d.ts +4 -4
  135. package/dist/blocks/announcements/index.js +5 -5
  136. package/dist/blocks/announcements/react/index.d.ts +12 -5
  137. package/dist/blocks/announcements/react/index.js +7 -7
  138. package/dist/blocks/announcements/react/server.d.ts +4 -1
  139. package/dist/blocks/announcements/react/server.js +4 -1
  140. package/dist/blocks/announcements/solid/index.d.ts +3 -3
  141. package/dist/blocks/announcements/solid/index.js +2 -2
  142. package/dist/blocks/announcements/svelte/index.d.ts +3 -3
  143. package/dist/blocks/announcements/svelte/index.js +2 -2
  144. package/dist/blocks/announcements/vue/index.d.ts +3 -3
  145. package/dist/blocks/announcements/vue/index.js +2 -2
  146. package/dist/blocks/api-keys/index.d.ts +11 -8
  147. package/dist/blocks/api-keys/index.js +8 -8
  148. package/dist/blocks/api-keys/react/index.d.ts +11 -8
  149. package/dist/blocks/api-keys/react/index.js +9 -9
  150. package/dist/blocks/api-keys/react/server.d.ts +1 -1
  151. package/dist/blocks/api-keys/solid/index.d.ts +3 -3
  152. package/dist/blocks/api-keys/solid/index.js +2 -2
  153. package/dist/blocks/api-keys/svelte/index.d.ts +3 -3
  154. package/dist/blocks/api-keys/svelte/index.js +2 -2
  155. package/dist/blocks/api-keys/vue/index.d.ts +3 -3
  156. package/dist/blocks/api-keys/vue/index.js +2 -2
  157. package/dist/blocks/approvals/index.d.ts +4 -4
  158. package/dist/blocks/approvals/index.js +29 -25
  159. package/dist/blocks/assets/index.d.ts +283 -0
  160. package/dist/blocks/assets/index.js +288 -0
  161. package/dist/blocks/assignment/index.d.ts +124 -0
  162. package/dist/blocks/assignment/index.js +141 -0
  163. package/dist/blocks/attachments/index.d.ts +45 -6
  164. package/dist/blocks/attachments/index.js +96 -7
  165. package/dist/blocks/attachments/react/index.d.ts +53 -0
  166. package/dist/blocks/attachments/react/index.js +78 -0
  167. package/dist/blocks/attachments/react/server.d.ts +9 -0
  168. package/dist/blocks/attachments/react/server.js +10 -0
  169. package/dist/blocks/attachments/solid/index.d.ts +13 -0
  170. package/dist/blocks/attachments/solid/index.js +14 -0
  171. package/dist/blocks/attachments/svelte/index.d.ts +13 -0
  172. package/dist/blocks/attachments/svelte/index.js +14 -0
  173. package/dist/blocks/attachments/vue/index.d.ts +13 -0
  174. package/dist/blocks/attachments/vue/index.js +14 -0
  175. package/dist/blocks/audit/index.d.ts +14 -8
  176. package/dist/blocks/audit/index.js +9 -10
  177. package/dist/blocks/audit/react/index.d.ts +12 -7
  178. package/dist/blocks/audit/react/index.js +12 -10
  179. package/dist/blocks/audit/react/server.d.ts +1 -1
  180. package/dist/blocks/audit/solid/index.d.ts +3 -3
  181. package/dist/blocks/audit/solid/index.js +2 -2
  182. package/dist/blocks/audit/svelte/index.d.ts +3 -3
  183. package/dist/blocks/audit/svelte/index.js +2 -2
  184. package/dist/blocks/audit/vue/index.d.ts +3 -3
  185. package/dist/blocks/audit/vue/index.js +2 -2
  186. package/dist/blocks/billable-time/index.d.ts +203 -0
  187. package/dist/blocks/billable-time/index.js +260 -0
  188. package/dist/blocks/billing/index.d.ts +144 -53
  189. package/dist/blocks/billing/index.js +165 -47
  190. package/dist/blocks/billing/react/index.d.ts +19 -9
  191. package/dist/blocks/billing/react/index.js +12 -8
  192. package/dist/blocks/billing/react/server.d.ts +5 -2
  193. package/dist/blocks/billing/react/server.js +4 -1
  194. package/dist/blocks/billing/solid/index.d.ts +3 -3
  195. package/dist/blocks/billing/solid/index.js +2 -2
  196. package/dist/blocks/billing/svelte/index.d.ts +3 -3
  197. package/dist/blocks/billing/svelte/index.js +2 -2
  198. package/dist/blocks/billing/vue/index.d.ts +3 -3
  199. package/dist/blocks/billing/vue/index.js +2 -2
  200. package/dist/blocks/bookings/index.d.ts +19 -9
  201. package/dist/blocks/bookings/index.js +9 -7
  202. package/dist/blocks/bookings/react/index.d.ts +9 -4
  203. package/dist/blocks/bookings/react/index.js +12 -8
  204. package/dist/blocks/bookings/react/server.d.ts +4 -1
  205. package/dist/blocks/bookings/react/server.js +4 -1
  206. package/dist/blocks/bookings/solid/index.d.ts +3 -3
  207. package/dist/blocks/bookings/solid/index.js +2 -2
  208. package/dist/blocks/bookings/svelte/index.d.ts +3 -3
  209. package/dist/blocks/bookings/svelte/index.js +2 -2
  210. package/dist/blocks/bookings/vue/index.d.ts +3 -3
  211. package/dist/blocks/bookings/vue/index.js +2 -2
  212. package/dist/blocks/bulk/index.d.ts +27 -12
  213. package/dist/blocks/bulk/index.js +5 -5
  214. package/dist/blocks/calendar/index.d.ts +13 -5
  215. package/dist/blocks/calendar/index.js +113 -5
  216. package/dist/blocks/calendar/react/index.d.ts +5 -5
  217. package/dist/blocks/calendar/react/index.js +8 -8
  218. package/dist/blocks/calendar/react/server.d.ts +4 -1
  219. package/dist/blocks/calendar/react/server.js +4 -1
  220. package/dist/blocks/calendar/solid/index.d.ts +3 -3
  221. package/dist/blocks/calendar/solid/index.js +2 -2
  222. package/dist/blocks/calendar/svelte/index.d.ts +3 -3
  223. package/dist/blocks/calendar/svelte/index.js +2 -2
  224. package/dist/blocks/calendar/vue/index.d.ts +3 -3
  225. package/dist/blocks/calendar/vue/index.js +2 -2
  226. package/dist/blocks/catalog/index.d.ts +48 -36
  227. package/dist/blocks/catalog/index.js +49 -53
  228. package/dist/blocks/channels/index.d.ts +111 -0
  229. package/dist/blocks/channels/index.js +190 -0
  230. package/dist/blocks/collections/index.d.ts +101 -23
  231. package/dist/blocks/collections/index.js +88 -13
  232. package/dist/blocks/comments/index.d.ts +48 -47
  233. package/dist/blocks/comments/index.js +113 -16
  234. package/dist/blocks/comments/react/index.d.ts +17 -12
  235. package/dist/blocks/comments/react/index.js +38 -27
  236. package/dist/blocks/comments/react/server.d.ts +1 -1
  237. package/dist/blocks/comments/solid/index.d.ts +3 -3
  238. package/dist/blocks/comments/solid/index.js +2 -2
  239. package/dist/blocks/comments/svelte/index.d.ts +3 -3
  240. package/dist/blocks/comments/svelte/index.js +2 -2
  241. package/dist/blocks/comments/vue/index.d.ts +3 -3
  242. package/dist/blocks/comments/vue/index.js +2 -2
  243. package/dist/blocks/connectors/index.d.ts +4 -4
  244. package/dist/blocks/connectors/index.js +8 -9
  245. package/dist/blocks/contracts/index.d.ts +241 -0
  246. package/dist/blocks/contracts/index.js +361 -0
  247. package/dist/blocks/controls/index.d.ts +325 -0
  248. package/dist/blocks/controls/index.js +410 -0
  249. package/dist/blocks/courses/index.d.ts +341 -0
  250. package/dist/blocks/courses/index.js +445 -0
  251. package/dist/blocks/custom-fields/index.d.ts +50 -16
  252. package/dist/blocks/custom-fields/index.js +27 -22
  253. package/dist/blocks/data-lifecycle/index.d.ts +75 -51
  254. package/dist/blocks/data-lifecycle/index.js +17 -12
  255. package/dist/blocks/deals/index.d.ts +25 -45
  256. package/dist/blocks/deals/index.js +161 -71
  257. package/dist/blocks/dispatch/index.d.ts +327 -0
  258. package/dist/blocks/dispatch/index.js +406 -0
  259. package/dist/blocks/documents/index.d.ts +8 -5
  260. package/dist/blocks/documents/index.js +67 -8
  261. package/dist/blocks/domains/index.d.ts +35 -20
  262. package/dist/blocks/domains/index.js +9 -10
  263. package/dist/blocks/donations/index.d.ts +352 -0
  264. package/dist/blocks/donations/index.js +602 -0
  265. package/dist/blocks/drive/index.d.ts +91 -28
  266. package/dist/blocks/drive/index.js +71 -17
  267. package/dist/blocks/employees/index.d.ts +16 -190
  268. package/dist/blocks/employees/index.js +107 -38
  269. package/dist/blocks/engagements/index.d.ts +27 -111
  270. package/dist/blocks/engagements/index.js +285 -14
  271. package/dist/blocks/enrichment/index.d.ts +176 -0
  272. package/dist/blocks/enrichment/index.js +243 -0
  273. package/dist/blocks/enrollments/index.d.ts +184 -0
  274. package/dist/blocks/enrollments/index.js +173 -0
  275. package/dist/blocks/entitlements/index.d.ts +20 -14
  276. package/dist/blocks/entitlements/index.js +4 -4
  277. package/dist/blocks/entitlements/react/index.d.ts +10 -7
  278. package/dist/blocks/entitlements/react/index.js +7 -7
  279. package/dist/blocks/entitlements/react/server.d.ts +4 -1
  280. package/dist/blocks/entitlements/react/server.js +4 -1
  281. package/dist/blocks/entitlements/solid/index.d.ts +3 -3
  282. package/dist/blocks/entitlements/solid/index.js +2 -2
  283. package/dist/blocks/entitlements/svelte/index.d.ts +3 -3
  284. package/dist/blocks/entitlements/svelte/index.js +2 -2
  285. package/dist/blocks/entitlements/vue/index.d.ts +3 -3
  286. package/dist/blocks/entitlements/vue/index.js +2 -2
  287. package/dist/blocks/expenses/index.d.ts +214 -0
  288. package/dist/blocks/expenses/index.js +279 -0
  289. package/dist/blocks/field-history/index.d.ts +63 -0
  290. package/dist/blocks/field-history/index.js +48 -0
  291. package/dist/blocks/flags/index.d.ts +20 -14
  292. package/dist/blocks/flags/index.js +9 -10
  293. package/dist/blocks/forecasts/index.d.ts +119 -0
  294. package/dist/blocks/forecasts/index.js +129 -0
  295. package/dist/blocks/forms/index.d.ts +96 -148
  296. package/dist/blocks/forms/index.js +121 -157
  297. package/dist/blocks/forms/react/index.d.ts +9 -6
  298. package/dist/blocks/forms/react/index.js +10 -7
  299. package/dist/blocks/forms/react/server.d.ts +4 -1
  300. package/dist/blocks/forms/react/server.js +4 -1
  301. package/dist/blocks/forms/solid/index.d.ts +3 -3
  302. package/dist/blocks/forms/solid/index.js +2 -2
  303. package/dist/blocks/forms/svelte/index.d.ts +3 -3
  304. package/dist/blocks/forms/svelte/index.js +2 -2
  305. package/dist/blocks/forms/vue/index.d.ts +3 -3
  306. package/dist/blocks/forms/vue/index.js +2 -2
  307. package/dist/blocks/guests/index.d.ts +200 -0
  308. package/dist/blocks/guests/index.js +224 -0
  309. package/dist/blocks/hiring/index.d.ts +13 -13
  310. package/dist/blocks/hiring/index.js +9 -10
  311. package/dist/blocks/identities/index.d.ts +38 -20
  312. package/dist/blocks/identities/index.js +16 -11
  313. package/dist/blocks/imports/index.d.ts +30 -25
  314. package/dist/blocks/imports/index.js +19 -19
  315. package/dist/blocks/inbox/index.d.ts +9 -6
  316. package/dist/blocks/inbox/index.js +118 -54
  317. package/dist/blocks/inbox/react/index.d.ts +2 -2
  318. package/dist/blocks/inbox/react/index.js +15 -9
  319. package/dist/blocks/inbox/react/server.d.ts +12 -6
  320. package/dist/blocks/inbox/react/server.js +8 -2
  321. package/dist/blocks/inbox/solid/index.d.ts +6 -6
  322. package/dist/blocks/inbox/solid/index.js +2 -2
  323. package/dist/blocks/inbox/svelte/index.d.ts +6 -6
  324. package/dist/blocks/inbox/svelte/index.js +2 -2
  325. package/dist/blocks/inbox/vue/index.d.ts +6 -6
  326. package/dist/blocks/inbox/vue/index.js +2 -2
  327. package/dist/blocks/incidents/index.d.ts +337 -0
  328. package/dist/blocks/incidents/index.js +477 -0
  329. package/dist/blocks/index.d.ts +126 -11
  330. package/dist/blocks/index.js +171 -193
  331. package/dist/blocks/inventory/index.d.ts +36 -19
  332. package/dist/blocks/inventory/index.js +15 -10
  333. package/dist/blocks/invoices/index.d.ts +13 -13
  334. package/dist/blocks/invoices/index.js +11 -12
  335. package/dist/blocks/jobs/index.d.ts +123 -86
  336. package/dist/blocks/jobs/index.js +59 -49
  337. package/dist/blocks/knowledge/index.d.ts +3 -3
  338. package/dist/blocks/knowledge/index.js +3 -3
  339. package/dist/blocks/lead-scoring/index.d.ts +50 -0
  340. package/dist/blocks/lead-scoring/index.js +87 -0
  341. package/dist/blocks/leases/index.d.ts +278 -0
  342. package/dist/blocks/leases/index.js +319 -0
  343. package/dist/blocks/leave/index.d.ts +30 -15
  344. package/dist/blocks/leave/index.js +6 -7
  345. package/dist/blocks/ledger/index.d.ts +281 -0
  346. package/dist/blocks/ledger/index.js +229 -0
  347. package/dist/blocks/mail-sync/index.d.ts +37 -0
  348. package/dist/blocks/mail-sync/index.js +898 -0
  349. package/dist/blocks/memory/index.d.ts +4 -4
  350. package/dist/blocks/memory/index.js +7 -8
  351. package/dist/blocks/messaging/index.d.ts +86 -0
  352. package/dist/blocks/messaging/index.js +48 -0
  353. package/dist/blocks/messaging/react/index.d.ts +39 -0
  354. package/dist/blocks/messaging/react/index.js +80 -0
  355. package/dist/blocks/messaging/react/server.d.ts +12 -0
  356. package/dist/blocks/messaging/react/server.js +14 -0
  357. package/dist/blocks/messaging/solid/index.d.ts +20 -0
  358. package/dist/blocks/messaging/solid/index.js +23 -0
  359. package/dist/blocks/messaging/svelte/index.d.ts +20 -0
  360. package/dist/blocks/messaging/svelte/index.js +23 -0
  361. package/dist/blocks/messaging/vue/index.d.ts +20 -0
  362. package/dist/blocks/messaging/vue/index.js +23 -0
  363. package/dist/blocks/metrics/index.d.ts +36 -30
  364. package/dist/blocks/metrics/index.js +19 -20
  365. package/dist/blocks/mfa/index.d.ts +2 -2
  366. package/dist/blocks/mfa/index.js +2 -2
  367. package/dist/blocks/mfa/react/index.d.ts +7 -7
  368. package/dist/blocks/mfa/react/index.js +9 -9
  369. package/dist/blocks/mfa/react/server.d.ts +1 -1
  370. package/dist/blocks/mfa/react/server.js +1 -1
  371. package/dist/blocks/mfa/solid/index.d.ts +3 -3
  372. package/dist/blocks/mfa/solid/index.js +2 -2
  373. package/dist/blocks/mfa/svelte/index.d.ts +3 -3
  374. package/dist/blocks/mfa/svelte/index.js +2 -2
  375. package/dist/blocks/mfa/vue/index.d.ts +3 -3
  376. package/dist/blocks/mfa/vue/index.js +2 -2
  377. package/dist/blocks/moderation/index.d.ts +205 -0
  378. package/dist/blocks/moderation/index.js +199 -0
  379. package/dist/blocks/notifications/index.d.ts +132 -103
  380. package/dist/blocks/notifications/index.js +62 -48
  381. package/dist/blocks/notifications/react/index.d.ts +3 -3
  382. package/dist/blocks/notifications/react/index.js +5 -5
  383. package/dist/blocks/notifications/react/server.d.ts +5 -2
  384. package/dist/blocks/notifications/react/server.js +4 -1
  385. package/dist/blocks/notifications/solid/index.d.ts +3 -3
  386. package/dist/blocks/notifications/solid/index.js +2 -2
  387. package/dist/blocks/notifications/svelte/index.d.ts +3 -3
  388. package/dist/blocks/notifications/svelte/index.js +2 -2
  389. package/dist/blocks/notifications/vue/index.d.ts +3 -3
  390. package/dist/blocks/notifications/vue/index.js +2 -2
  391. package/dist/blocks/number-sequences/index.d.ts +15 -12
  392. package/dist/blocks/number-sequences/index.js +8 -5
  393. package/dist/blocks/oauth-server/index.d.ts +42 -21
  394. package/dist/blocks/oauth-server/index.js +16 -14
  395. package/dist/blocks/onboarding/index.d.ts +3 -3
  396. package/dist/blocks/onboarding/index.js +4 -4
  397. package/dist/blocks/onboarding/react/index.d.ts +10 -5
  398. package/dist/blocks/onboarding/react/index.js +10 -8
  399. package/dist/blocks/onboarding/react/server.d.ts +5 -2
  400. package/dist/blocks/onboarding/react/server.js +4 -1
  401. package/dist/blocks/onboarding/solid/index.d.ts +3 -3
  402. package/dist/blocks/onboarding/solid/index.js +2 -2
  403. package/dist/blocks/onboarding/svelte/index.d.ts +3 -3
  404. package/dist/blocks/onboarding/svelte/index.js +2 -2
  405. package/dist/blocks/onboarding/vue/index.d.ts +3 -3
  406. package/dist/blocks/onboarding/vue/index.js +2 -2
  407. package/dist/blocks/orders/index.d.ts +176 -31
  408. package/dist/blocks/orders/index.js +167 -25
  409. package/dist/blocks/organizations/index.d.ts +5 -5
  410. package/dist/blocks/organizations/index.js +6 -28
  411. package/dist/blocks/organizations/react/index.d.ts +40 -21
  412. package/dist/blocks/organizations/react/index.js +5 -5
  413. package/dist/blocks/organizations/react/server.d.ts +13 -4
  414. package/dist/blocks/organizations/react/server.js +12 -3
  415. package/dist/blocks/organizations/solid/index.d.ts +3 -3
  416. package/dist/blocks/organizations/solid/index.js +2 -2
  417. package/dist/blocks/organizations/svelte/index.d.ts +3 -3
  418. package/dist/blocks/organizations/svelte/index.js +2 -2
  419. package/dist/blocks/organizations/vue/index.d.ts +3 -3
  420. package/dist/blocks/organizations/vue/index.js +2 -2
  421. package/dist/blocks/outbox/index.d.ts +4 -4
  422. package/dist/blocks/outbox/index.js +21 -18
  423. package/dist/blocks/parties/index.d.ts +36 -35
  424. package/dist/blocks/parties/index.js +152 -52
  425. package/dist/blocks/passes/index.d.ts +308 -0
  426. package/dist/blocks/passes/index.js +411 -0
  427. package/dist/blocks/pipelines/index.d.ts +26 -17
  428. package/dist/blocks/pipelines/index.js +11 -12
  429. package/dist/blocks/posts/index.d.ts +190 -0
  430. package/dist/blocks/posts/index.js +230 -0
  431. package/dist/blocks/profiles/index.d.ts +23 -14
  432. package/dist/blocks/profiles/index.js +5 -6
  433. package/dist/blocks/promotions/index.d.ts +34 -16
  434. package/dist/blocks/promotions/index.js +12 -10
  435. package/dist/blocks/push/index.d.ts +43 -25
  436. package/dist/blocks/push/index.js +16 -17
  437. package/dist/blocks/quotes/index.d.ts +15 -12
  438. package/dist/blocks/quotes/index.js +9 -10
  439. package/dist/blocks/rank/index.d.ts +12 -12
  440. package/dist/blocks/rank/index.js +4 -4
  441. package/dist/blocks/reactions/index.d.ts +5 -5
  442. package/dist/blocks/reactions/index.js +4 -4
  443. package/dist/blocks/reactions/react/index.d.ts +20 -11
  444. package/dist/blocks/reactions/react/index.js +37 -26
  445. package/dist/blocks/reactions/react/server.d.ts +4 -1
  446. package/dist/blocks/reactions/react/server.js +4 -1
  447. package/dist/blocks/reactions/solid/index.d.ts +3 -3
  448. package/dist/blocks/reactions/solid/index.js +2 -2
  449. package/dist/blocks/reactions/svelte/index.d.ts +3 -3
  450. package/dist/blocks/reactions/svelte/index.js +2 -2
  451. package/dist/blocks/reactions/vue/index.d.ts +3 -3
  452. package/dist/blocks/reactions/vue/index.js +2 -2
  453. package/dist/blocks/relations/index.d.ts +82 -46
  454. package/dist/blocks/relations/index.js +120 -63
  455. package/dist/blocks/reminders/index.d.ts +45 -32
  456. package/dist/blocks/reminders/index.js +38 -33
  457. package/dist/blocks/reviews/index.d.ts +32 -17
  458. package/dist/blocks/reviews/index.js +6 -7
  459. package/dist/blocks/rules/index.d.ts +32 -26
  460. package/dist/blocks/rules/index.js +15 -15
  461. package/dist/blocks/rules/react/index.d.ts +9 -5
  462. package/dist/blocks/rules/react/index.js +12 -8
  463. package/dist/blocks/rules/solid/index.d.ts +3 -3
  464. package/dist/blocks/rules/solid/index.js +2 -2
  465. package/dist/blocks/rules/svelte/index.d.ts +3 -3
  466. package/dist/blocks/rules/svelte/index.js +2 -2
  467. package/dist/blocks/rules/vue/index.d.ts +3 -3
  468. package/dist/blocks/rules/vue/index.js +2 -2
  469. package/dist/blocks/saved-views/index.d.ts +3 -3
  470. package/dist/blocks/saved-views/index.js +3 -3
  471. package/dist/blocks/saved-views/react/index.d.ts +14 -8
  472. package/dist/blocks/saved-views/react/index.js +11 -8
  473. package/dist/blocks/saved-views/react/server.d.ts +5 -2
  474. package/dist/blocks/saved-views/react/server.js +4 -1
  475. package/dist/blocks/saved-views/solid/index.d.ts +3 -3
  476. package/dist/blocks/saved-views/solid/index.js +2 -2
  477. package/dist/blocks/saved-views/svelte/index.d.ts +3 -3
  478. package/dist/blocks/saved-views/svelte/index.js +2 -2
  479. package/dist/blocks/saved-views/vue/index.d.ts +3 -3
  480. package/dist/blocks/saved-views/vue/index.js +2 -2
  481. package/dist/blocks/scores/index.d.ts +50 -0
  482. package/dist/blocks/scores/index.js +40 -0
  483. package/dist/blocks/search/index.d.ts +12 -9
  484. package/dist/blocks/search/index.js +9 -10
  485. package/dist/blocks/search/react/index.d.ts +8 -5
  486. package/dist/blocks/search/react/index.js +6 -6
  487. package/dist/blocks/search/react/server.d.ts +5 -2
  488. package/dist/blocks/search/react/server.js +4 -1
  489. package/dist/blocks/search/solid/index.d.ts +3 -3
  490. package/dist/blocks/search/solid/index.js +2 -2
  491. package/dist/blocks/search/svelte/index.d.ts +3 -3
  492. package/dist/blocks/search/svelte/index.js +2 -2
  493. package/dist/blocks/search/vue/index.d.ts +3 -3
  494. package/dist/blocks/search/vue/index.js +2 -2
  495. package/dist/blocks/segments/index.d.ts +130 -0
  496. package/dist/blocks/segments/index.js +135 -0
  497. package/dist/blocks/sequences/index.d.ts +259 -0
  498. package/dist/blocks/sequences/index.js +370 -0
  499. package/dist/blocks/service-principals/index.d.ts +24 -18
  500. package/dist/blocks/service-principals/index.js +11 -9
  501. package/dist/blocks/sessions/index.d.ts +2 -2
  502. package/dist/blocks/sessions/index.js +2 -2
  503. package/dist/blocks/sessions/react/index.d.ts +10 -5
  504. package/dist/blocks/sessions/react/index.js +8 -6
  505. package/dist/blocks/sessions/react/server.d.ts +9 -3
  506. package/dist/blocks/sessions/react/server.js +8 -2
  507. package/dist/blocks/sessions/solid/index.d.ts +3 -3
  508. package/dist/blocks/sessions/solid/index.js +2 -2
  509. package/dist/blocks/sessions/svelte/index.d.ts +3 -3
  510. package/dist/blocks/sessions/svelte/index.js +2 -2
  511. package/dist/blocks/sessions/vue/index.d.ts +3 -3
  512. package/dist/blocks/sessions/vue/index.js +2 -2
  513. package/dist/blocks/settings/index.d.ts +6 -5
  514. package/dist/blocks/settings/index.js +7 -6
  515. package/dist/blocks/settings/react/index.d.ts +13 -7
  516. package/dist/blocks/settings/react/index.js +5 -5
  517. package/dist/blocks/settings/react/server.d.ts +5 -2
  518. package/dist/blocks/settings/react/server.js +4 -1
  519. package/dist/blocks/settings/solid/index.d.ts +3 -3
  520. package/dist/blocks/settings/solid/index.js +2 -2
  521. package/dist/blocks/settings/svelte/index.d.ts +3 -3
  522. package/dist/blocks/settings/svelte/index.js +2 -2
  523. package/dist/blocks/settings/vue/index.d.ts +3 -3
  524. package/dist/blocks/settings/vue/index.js +2 -2
  525. package/dist/blocks/share-links/index.d.ts +58 -23
  526. package/dist/blocks/share-links/index.js +74 -23
  527. package/dist/blocks/shared-signals/index.d.ts +82 -37
  528. package/dist/blocks/shared-signals/index.js +24 -19
  529. package/dist/blocks/shipments/index.d.ts +238 -0
  530. package/dist/blocks/shipments/index.js +540 -0
  531. package/dist/blocks/signatures/index.d.ts +151 -0
  532. package/dist/blocks/signatures/index.js +149 -0
  533. package/dist/blocks/signing-keys/index.d.ts +5 -5
  534. package/dist/blocks/signing-keys/index.js +5 -166
  535. package/dist/blocks/sla/index.d.ts +43 -31
  536. package/dist/blocks/sla/index.js +44 -15
  537. package/dist/blocks/sso/index.d.ts +35 -30
  538. package/dist/blocks/sso/index.js +31 -18
  539. package/dist/blocks/state-machine/index.d.ts +31 -22
  540. package/dist/blocks/state-machine/index.js +27 -27
  541. package/dist/blocks/subjects/index.d.ts +11 -0
  542. package/dist/blocks/subjects/index.js +21 -0
  543. package/dist/blocks/subjects/react/index.d.ts +31 -0
  544. package/dist/blocks/subjects/react/index.js +60 -0
  545. package/dist/blocks/subjects/react/server.d.ts +9 -0
  546. package/dist/blocks/subjects/react/server.js +12 -0
  547. package/dist/blocks/subjects/solid/index.d.ts +13 -0
  548. package/dist/blocks/subjects/solid/index.js +14 -0
  549. package/dist/blocks/subjects/svelte/index.d.ts +13 -0
  550. package/dist/blocks/subjects/svelte/index.js +14 -0
  551. package/dist/blocks/subjects/vue/index.d.ts +13 -0
  552. package/dist/blocks/subjects/vue/index.js +14 -0
  553. package/dist/blocks/tags/index.d.ts +37 -5
  554. package/dist/blocks/tags/index.js +50 -5
  555. package/dist/blocks/tags/react/index.d.ts +13 -12
  556. package/dist/blocks/tags/react/index.js +30 -24
  557. package/dist/blocks/tags/react/server.d.ts +1 -1
  558. package/dist/blocks/tags/solid/index.d.ts +3 -3
  559. package/dist/blocks/tags/solid/index.js +2 -2
  560. package/dist/blocks/tags/svelte/index.d.ts +3 -3
  561. package/dist/blocks/tags/svelte/index.js +2 -2
  562. package/dist/blocks/tags/vue/index.d.ts +3 -3
  563. package/dist/blocks/tags/vue/index.js +2 -2
  564. package/dist/blocks/targets/index.d.ts +13 -13
  565. package/dist/blocks/targets/index.js +7 -8
  566. package/dist/blocks/teams/index.d.ts +9 -9
  567. package/dist/blocks/teams/index.js +5 -5
  568. package/dist/blocks/templates/index.d.ts +67 -51
  569. package/dist/blocks/templates/index.js +23 -25
  570. package/dist/blocks/time-tracking/index.d.ts +63 -45
  571. package/dist/blocks/time-tracking/index.js +50 -47
  572. package/dist/blocks/trash/index.d.ts +13 -11
  573. package/dist/blocks/trash/index.js +5 -6
  574. package/dist/blocks/undo/index.d.ts +4 -4
  575. package/dist/blocks/undo/index.js +4 -4
  576. package/dist/blocks/undo/react/index.d.ts +3 -3
  577. package/dist/blocks/undo/react/index.js +4 -4
  578. package/dist/blocks/undo/react/server.d.ts +5 -2
  579. package/dist/blocks/undo/react/server.js +4 -1
  580. package/dist/blocks/undo/solid/index.d.ts +3 -3
  581. package/dist/blocks/undo/solid/index.js +2 -2
  582. package/dist/blocks/undo/svelte/index.d.ts +3 -3
  583. package/dist/blocks/undo/svelte/index.js +2 -2
  584. package/dist/blocks/undo/vue/index.d.ts +3 -3
  585. package/dist/blocks/undo/vue/index.js +2 -2
  586. package/dist/blocks/usage/index.d.ts +5 -5
  587. package/dist/blocks/usage/index.js +4 -4
  588. package/dist/blocks/usage/react/index.d.ts +12 -6
  589. package/dist/blocks/usage/react/index.js +8 -8
  590. package/dist/blocks/usage/react/server.d.ts +1 -1
  591. package/dist/blocks/usage/solid/index.d.ts +3 -3
  592. package/dist/blocks/usage/solid/index.js +2 -2
  593. package/dist/blocks/usage/svelte/index.d.ts +3 -3
  594. package/dist/blocks/usage/svelte/index.js +2 -2
  595. package/dist/blocks/usage/vue/index.d.ts +3 -3
  596. package/dist/blocks/usage/vue/index.js +2 -2
  597. package/dist/blocks/vercel-marketplace/index.d.ts +252 -17
  598. package/dist/blocks/vercel-marketplace/index.js +489 -57
  599. package/dist/blocks/versions/index.d.ts +55 -31
  600. package/dist/blocks/versions/index.js +75 -30
  601. package/dist/blocks/waitlist/index.d.ts +31 -18
  602. package/dist/blocks/waitlist/index.js +10 -8
  603. package/dist/blocks/webhooks/index.d.ts +126 -89
  604. package/dist/blocks/webhooks/index.js +72 -62
  605. package/dist/blocks/work-items/index.d.ts +63 -184
  606. package/dist/blocks/work-items/index.js +162 -36
  607. package/dist/blocks/workflow-builder/index.d.ts +15 -13
  608. package/dist/blocks/workflow-builder/index.js +11 -8
  609. package/dist/blocks/workflow-builder/react/index.d.ts +4 -4
  610. package/dist/blocks/workflow-builder/react/index.js +8 -8
  611. package/dist/blocks/workflow-builder/react/server.d.ts +8 -2
  612. package/dist/blocks/workflow-builder/react/server.js +8 -2
  613. package/dist/blocks/workflow-builder/solid/index.d.ts +3 -3
  614. package/dist/blocks/workflow-builder/solid/index.js +2 -2
  615. package/dist/blocks/workflow-builder/svelte/index.d.ts +3 -3
  616. package/dist/blocks/workflow-builder/svelte/index.js +2 -2
  617. package/dist/blocks/workflow-builder/vue/index.d.ts +3 -3
  618. package/dist/blocks/workflow-builder/vue/index.js +2 -2
  619. package/dist/blocks/workflows/index.d.ts +5 -5
  620. package/dist/blocks/workflows/index.js +5 -5
  621. package/dist/blocks/workflows/react/index.d.ts +13 -6
  622. package/dist/blocks/workflows/react/index.js +7 -7
  623. package/dist/blocks/workflows/react/server.d.ts +8 -2
  624. package/dist/blocks/workflows/react/server.js +8 -2
  625. package/dist/blocks/workflows/solid/index.d.ts +3 -3
  626. package/dist/blocks/workflows/solid/index.js +2 -2
  627. package/dist/blocks/workflows/svelte/index.d.ts +3 -3
  628. package/dist/blocks/workflows/svelte/index.js +2 -2
  629. package/dist/blocks/workflows/vue/index.d.ts +3 -3
  630. package/dist/blocks/workflows/vue/index.js +2 -2
  631. package/dist/bookings-BB5lFlNO.js +310 -0
  632. package/dist/bookings-CC7IeiRa.d.ts +290 -0
  633. package/dist/bucket-TkB7_xv8.d.ts +667 -0
  634. package/dist/build-DCfpwg78.js +1839 -0
  635. package/dist/build-g9wTbQdp.js +703 -0
  636. package/dist/calendar-T3Vdpq7E.js +952 -0
  637. package/dist/carrier-C7Q_21Kd.d.ts +169 -0
  638. package/dist/channel-BjvGO39m.d.ts +77 -0
  639. package/dist/channels-CfcFPuo_.js +114 -0
  640. package/dist/chat-sdk/index.d.ts +188 -80
  641. package/dist/chat-sdk/index.js +102 -57
  642. package/dist/chat-sdk/react/index.d.ts +2 -2
  643. package/dist/chat-sdk/react/server.d.ts +2 -2
  644. package/dist/claims-Bp9My7XP.js +88 -0
  645. package/dist/claims-T8TWZ53E.js +63 -0
  646. package/dist/cli/add-Bf3kE6PY.js +75 -0
  647. package/dist/cli/add-CYh6Sxk1.js +674 -0
  648. package/dist/cli/add-Dg40eFKE.js +1 -0
  649. package/dist/cli/adopt-B0vrj-4B.js +421 -0
  650. package/dist/cli/adopt-DJR1k3lS.js +1 -0
  651. package/dist/cli/agent-CbuPvI2x.js +185 -0
  652. package/dist/cli/apply-DUQ-5LC6.js +329 -0
  653. package/dist/cli/bin.js +3 -3
  654. package/dist/cli/blocks-DzgYfjVv.js +124 -0
  655. package/dist/cli/blocks-gGupqvBH.js +1 -0
  656. package/dist/cli/cache-C3K_wOE2.js +536 -0
  657. package/dist/cli/catalog-CNM0ViIh.js +199 -0
  658. package/dist/cli/codemod-Dz4R-tVY.js +1127 -0
  659. package/dist/cli/command-33pu13LT.js +963 -0
  660. package/dist/cli/completion-6M6Hr8TL.js +211 -0
  661. package/dist/cli/completion-Bqu8yq0q.js +1 -0
  662. package/dist/cli/completion-Ddr3yqd3.js +30 -0
  663. package/dist/cli/config-B31tIvAl.js +42 -0
  664. package/dist/cli/config-CjgXMZW2.js +1522 -0
  665. package/dist/cli/config-D9k5ckqV.js +1 -0
  666. package/dist/cli/config-edit-D46H0UHp.js +613 -0
  667. package/dist/cli/db-CQCLx7cx.js +78 -0
  668. package/dist/cli/db-CeagtENM.js +473 -0
  669. package/dist/cli/design-edit-B40ljpGZ.js +205 -0
  670. package/dist/cli/detect-RApSAA8v.js +84 -0
  671. package/dist/cli/dist-DSwzLVAG.js +129 -0
  672. package/dist/cli/doctor-COGJJ1gy.js +3898 -0
  673. package/dist/cli/emit-DbQeLlHt.js +1123 -0
  674. package/dist/cli/env-Ba-pOD3a.js +1 -0
  675. package/dist/cli/env-C-Bl6Awn.js +1 -0
  676. package/dist/cli/env-DMgjB_4y.js +1114 -0
  677. package/dist/cli/env-DlgfvI8U.js +143 -0
  678. package/dist/cli/errors-BTe6A15O.js +98 -0
  679. package/dist/cli/exec--Q1ZEWUW.js +463 -0
  680. package/dist/cli/files-C5JfVnj5.js +972 -0
  681. package/dist/cli/fresh-import-DzgsGHkX.js +40 -0
  682. package/dist/cli/gen-DHW1qENn.js +307 -0
  683. package/dist/cli/index.d.ts +252 -177
  684. package/dist/cli/index.js +16 -16
  685. package/dist/cli/init-CZifzAUD.js +397 -0
  686. package/dist/cli/introspect-Dfwu5vAg.js +51 -0
  687. package/dist/cli/io-DH1kcmmP.js +37 -0
  688. package/dist/cli/keys-iJs_1WT8.js +106 -0
  689. package/dist/cli/live-1eL2MIkS.js +344 -0
  690. package/dist/cli/mcp-CaFW6uKU.js +240 -0
  691. package/dist/cli/metadata-DkOQHZoH.js +146 -0
  692. package/dist/cli/migration-safety-BsCKKxPf.js +305 -0
  693. package/dist/cli/module-migration-CbX-jRhV.js +606 -0
  694. package/dist/cli/moved-CdNtCf4t.js +161 -0
  695. package/dist/cli/parse-CRZLku1b.js +182 -0
  696. package/dist/cli/preset-C4fagbhZ.js +130 -0
  697. package/dist/cli/prompts-jqnr94b9.js +1140 -0
  698. package/dist/cli/redact-KGAk2Ul9.js +38 -0
  699. package/dist/cli/run-CE2s5TDh.js +711 -0
  700. package/dist/cli/run-Du5XPOCv.js +63 -0
  701. package/dist/cli/run-KXjrgNCH.js +2378 -0
  702. package/dist/cli/scaffold-CPH8sEhw.js +901 -0
  703. package/dist/cli/scaffold-DS6g3INp.js +1 -0
  704. package/dist/cli/seed-D6V-T5Af.js +188 -0
  705. package/dist/cli/seed-DPQaA8aP.js +1 -0
  706. package/dist/cli/shared-CCpxS5if.js +151 -0
  707. package/dist/cli/skills-Bz4INB8f.js +121 -0
  708. package/dist/cli/snapshot-Dkwxc1uV.js +351 -0
  709. package/dist/cli/source-args-DZV4RnZL.js +59 -0
  710. package/dist/cli/spec-B3Tbc7Dm.js +7534 -0
  711. package/dist/cli/spec-Cv1GYrcW.js +1 -0
  712. package/dist/cli/sql-C58MS9DI.js +348 -0
  713. package/dist/cli/sql-DVPw5tvO.js +2 -0
  714. package/dist/cli/stack-_F_JhllX.js +135 -0
  715. package/dist/cli/stack-env-6hS-WEmh.js +93 -0
  716. package/dist/cli/stack-status-B_Ipd_-z.js +46 -0
  717. package/dist/cli/stacks-BYlQ96WS.js +232 -0
  718. package/dist/cli/style-Bm2X5JrN.js +35 -0
  719. package/dist/cli/supabase-toml-CncmQbO0.js +1164 -0
  720. package/dist/cli/sync-CjkKpI6d.js +91 -0
  721. package/dist/cli/topics-BpdnYmWb.js +30 -0
  722. package/dist/cli/typegen-F9GEjpvD.js +502 -0
  723. package/dist/cli/validate-B3lF3-jB.js +7522 -0
  724. package/dist/cli/version-CTqnp3HO.js +4 -0
  725. package/dist/cli/write-3qdrpS1v.js +201 -0
  726. package/dist/client/index.d.ts +6 -6
  727. package/dist/client/index.js +19 -12
  728. package/dist/client/native/index.d.ts +87 -53
  729. package/dist/client/native/index.js +65 -43
  730. package/dist/client--tyFmxDT.js +52 -0
  731. package/dist/client-7_4Y21ue.d.ts +122 -0
  732. package/dist/client-B1cjaIfv.js +116 -0
  733. package/dist/client-B2GCMvfd.d.ts +451 -0
  734. package/dist/client-B8cHiZfF.js +67 -0
  735. package/dist/client-BIMg9IiF.d.ts +349 -0
  736. package/dist/client-BKGVUgo7.js +380 -0
  737. package/dist/client-BNaOcfeH.js +58 -0
  738. package/dist/client-BQseXods.d.ts +309 -0
  739. package/dist/client-BSnf6fn6.d.ts +59 -0
  740. package/dist/client-BW3-RUbq.js +235 -0
  741. package/dist/client-BYAY7lLs.d.ts +137 -0
  742. package/dist/client-BcXmbm4f.js +173 -0
  743. package/dist/client-BgmVu505.js +167 -0
  744. package/dist/client-Bj0xrUzr.js +437 -0
  745. package/dist/client-Bn0qqRBg.d.ts +37 -0
  746. package/dist/client-Bni68sve.d.ts +136 -0
  747. package/dist/client-BrtwaIBh.d.ts +74 -0
  748. package/dist/client-BtRx0-kn.js +82 -0
  749. package/dist/client-BteuBPIy.js +337 -0
  750. package/dist/client-C1TxDBgX.js +111 -0
  751. package/dist/client-C1zOmnS8.js +89 -0
  752. package/dist/client-C56l0MnY.d.ts +177 -0
  753. package/dist/client-CA6KuLDu.d.ts +223 -0
  754. package/dist/client-CBcq7LBg.d.ts +178 -0
  755. package/dist/client-CGJrSTMZ.js +234 -0
  756. package/dist/client-CLIBcMzL.d.ts +116 -0
  757. package/dist/client-COuIfjbB.d.ts +46 -0
  758. package/dist/client-CVToJ4uI.js +84 -0
  759. package/dist/client-C_0XZieg.js +287 -0
  760. package/dist/client-CebKlRU7.js +157 -0
  761. package/dist/client-ChOJ4v0D.js +137 -0
  762. package/dist/client-CnENAa0E.d.ts +69 -0
  763. package/dist/client-Cp79i2ZE.d.ts +152 -0
  764. package/dist/client-CwKsEl6q.js +99 -0
  765. package/dist/client-D-LPdEDQ.d.ts +43 -0
  766. package/dist/client-D6gD9qt9.d.ts +45 -0
  767. package/dist/client-DBwWXQKF.d.ts +132 -0
  768. package/dist/client-DD3EcytK.js +65 -0
  769. package/dist/client-DScMvaty.js +38 -0
  770. package/dist/client-DT6Tvudr.d.ts +54 -0
  771. package/dist/client-DU1_Jq4e.d.ts +116 -0
  772. package/dist/client-Dd-a0tup.d.ts +475 -0
  773. package/dist/client-Dh8zXgpq.js +1060 -0
  774. package/dist/client-DkI0oyR7.js +76 -0
  775. package/dist/client-DmjG9PHH.js +211 -0
  776. package/dist/client-DnUFHmje.js +129 -0
  777. package/dist/client-Do5hykMK.d.ts +38 -0
  778. package/dist/client-DzOL3lsV.d.ts +110 -0
  779. package/dist/client-DzukpHS1.d.ts +165 -0
  780. package/dist/client-LngH55pZ.d.ts +83 -0
  781. package/dist/client-PPSwiJaK.js +291 -0
  782. package/dist/client-RoAuPQNB.d.ts +103 -0
  783. package/dist/client-WzuQExHk.js +253 -0
  784. package/dist/client-Y_HnZGF4.js +51 -0
  785. package/dist/client-bDXsvSXp.d.ts +90 -0
  786. package/dist/client-bx3Bk7c5.d.ts +64 -0
  787. package/dist/client-jgDU7Roj.d.ts +144 -0
  788. package/dist/client-kRvHKAKS.js +60 -0
  789. package/dist/client-pxXoQOdC.js +40 -0
  790. package/dist/client-yIxEJwTK.js +121 -0
  791. package/dist/clone-CkG0-hlI.js +33 -0
  792. package/dist/cloud-event-SPyXMdcd.d.ts +64 -0
  793. package/dist/cloud-event-XsM53POL.js +63 -0
  794. package/dist/codecs-CQrX3ZW4.js +358 -0
  795. package/dist/codecs-DAu2sYWn.d.ts +222 -0
  796. package/dist/comments-CB8pFSV1.js +142 -0
  797. package/dist/commerce/index.d.ts +39 -33
  798. package/dist/commerce/index.js +38 -28
  799. package/dist/compiler-BCyHFI6n.d.ts +14 -0
  800. package/dist/compose--4D1FoPN.js +53 -0
  801. package/dist/composite-Dv6o2BSw.js +130 -0
  802. package/dist/composite-KllwFim2.d.ts +82 -0
  803. package/dist/config/index.d.ts +7 -7
  804. package/dist/config/index.js +8 -8
  805. package/dist/config-BuOz_O-y.d.ts +2152 -0
  806. package/dist/config-Dh4D8lBa.js +13931 -0
  807. package/dist/config-Dn0cC3bM.js +1093 -0
  808. package/dist/connector-BdCE4Efp.d.ts +164 -0
  809. package/dist/connectors-DDiSNvkF.d.ts +147 -0
  810. package/dist/context-9Q23weHu.d.ts +524 -0
  811. package/dist/context-CMxVnPMY.js +9 -0
  812. package/dist/context-CYquqpA6.js +41 -0
  813. package/dist/controller-BEliOBOv.js +79 -0
  814. package/dist/controller-CSsC9s3s.js +73 -0
  815. package/dist/controller-DAD4hbl4.d.ts +52 -0
  816. package/dist/create/index.d.ts +309 -175
  817. package/dist/create/index.js +441 -299
  818. package/dist/create/lite/index.d.ts +19 -12
  819. package/dist/create/lite/index.js +10 -9
  820. package/dist/create/oauth/index.d.ts +2 -0
  821. package/dist/create/oauth/index.js +101 -0
  822. package/dist/create/supabase/index.d.ts +13 -34
  823. package/dist/create/supabase/index.js +16 -84
  824. package/dist/create-blocks-kPUhCvje.js +217 -0
  825. package/dist/credentials/index.d.ts +12 -12
  826. package/dist/credentials/index.js +12 -13
  827. package/dist/cron-_i5pBGkY.js +148 -0
  828. package/dist/cron-route-Y0eJ-FNi.js +24 -0
  829. package/dist/csv-2rXGPNtP.js +89 -0
  830. package/dist/csv-DhHQS2x_.d.ts +28 -0
  831. package/dist/db-exception-Lngc1W49.js +31 -0
  832. package/dist/deal-forecast-CBlp20PY.js +39 -0
  833. package/dist/deal-forecast-LwO-Z4_C.d.ts +23 -0
  834. package/dist/define-DQznpZYl.js +2023 -0
  835. package/dist/define-Dw7pRO4h.d.ts +1123 -0
  836. package/dist/define-block-COpcS6aT.d.ts +1338 -0
  837. package/dist/define-block-Dze77QTw.js +56 -0
  838. package/dist/delegation-CeXm9AJ3.js +146 -0
  839. package/dist/delivery-Bm0jxmzI.js +29 -0
  840. package/dist/delivery-n6lZGuGx.d.ts +71 -0
  841. package/dist/documents-kgDOHUfn.d.ts +152 -0
  842. package/dist/edge/index.d.ts +67 -40
  843. package/dist/edge/index.js +20 -17
  844. package/dist/elysia/index.d.ts +16 -14
  845. package/dist/elysia/index.js +11 -9
  846. package/dist/email-tt2QqiSc.d.ts +42 -0
  847. package/dist/embeddings-CcRP-cMN.d.ts +78 -0
  848. package/dist/embeddings-vVzseUw0.js +128 -0
  849. package/dist/employees-Dwyvxs4r.d.ts +180 -0
  850. package/dist/ended--Bd_Q6uL.d.ts +76 -0
  851. package/dist/engagements-CsJhf2OM.d.ts +179 -0
  852. package/dist/entitlements-B_ttRvI6.js +45 -0
  853. package/dist/entitlements-DDevu4ZE.d.ts +54 -0
  854. package/dist/entity-form-B67vq97h.d.ts +82 -0
  855. package/dist/entity-naming-DLDhHTbK.js +131 -0
  856. package/dist/entity-schema-BXXC1NnT.js +39 -0
  857. package/dist/env/index.d.ts +1 -1
  858. package/dist/env/index.js +16 -4
  859. package/dist/envelope-DCfHtVtZ.js +90 -0
  860. package/dist/errors-03ysrOt4.js +325 -0
  861. package/dist/errors-DZx8w-MH.js +44 -0
  862. package/dist/escape-like-BfXS-iVe.d.ts +30 -0
  863. package/dist/eve/index.d.ts +40 -22
  864. package/dist/eve/index.js +35 -26
  865. package/dist/eve-BlJI8ZXL.d.ts +157 -0
  866. package/dist/event-calendar-D3SVa3AE.d.ts +65 -0
  867. package/dist/event-map-CtPFhcOp.js +19 -0
  868. package/dist/events/index.d.ts +5 -4
  869. package/dist/events/index.js +11 -10
  870. package/dist/events-D6IZ5CE8.js +82 -0
  871. package/dist/events-DbLjvxDX.d.ts +852 -0
  872. package/dist/events-SqJLbb8q.js +24 -0
  873. package/dist/executor-BDAGTc_O.js +207 -0
  874. package/dist/executor-BElVQpaB.d.ts +188 -0
  875. package/dist/executor-CPyrQdjh.d.ts +700 -0
  876. package/dist/executor-CsTaO3AT.d.ts +37 -0
  877. package/dist/executor-DQoczQZJ.d.ts +104 -0
  878. package/dist/executor-QtVn0axs.js +147 -0
  879. package/dist/executor-o9HkOJ0m.js +869 -0
  880. package/dist/expo/index.d.ts +37 -26
  881. package/dist/expo/index.js +18 -15
  882. package/dist/expo-sqlite/index.d.ts +20 -17
  883. package/dist/expo-sqlite/index.js +19 -13
  884. package/dist/feature-BBLdbGu7.js +224 -0
  885. package/dist/field-errors-vshYTVKr.d.ts +166 -0
  886. package/dist/field-formats-C6QKA3UR.js +102 -0
  887. package/dist/field-formats-DbjaDXoZ.d.ts +39 -0
  888. package/dist/fields-CanaxA0U.d.ts +75 -0
  889. package/dist/fields-DK30XCgc.js +107 -0
  890. package/dist/filter-evaluate-C3i2bGfk.d.ts +37 -0
  891. package/dist/filter-evaluate-CRDXv0Dl.js +217 -0
  892. package/dist/filter-query-D4ZSwbcJ.js +524 -0
  893. package/dist/filter-query-o3b_GuyC.d.ts +133 -0
  894. package/dist/flags-BTDPaN11.d.ts +246 -0
  895. package/dist/flags-BhYByvP1.js +279 -0
  896. package/dist/flags-sdk/index.d.ts +13 -13
  897. package/dist/flags-sdk/index.js +18 -15
  898. package/dist/flows/index.d.ts +247 -0
  899. package/dist/flows/index.js +229 -0
  900. package/dist/form-definition-BTpM_tz1.js +363 -0
  901. package/dist/form-definition-BjEtH8BT.d.ts +119 -0
  902. package/dist/format-AYHceC2m.d.ts +79 -0
  903. package/dist/framework-CXoyWGgd.js +57 -0
  904. package/dist/framework-FxfJpyoF.d.ts +41 -0
  905. package/dist/function-contract-pEmsaUIf.js +8 -0
  906. package/dist/function-contract-vPqwt1j4.d.ts +27 -0
  907. package/dist/gateway-DI8dbOml.d.ts +115 -0
  908. package/dist/gateway-options-BlVCqgb8.d.ts +29 -0
  909. package/dist/gateway-options-Cl74B7k6.js +27 -0
  910. package/dist/graph-B4eubUQG.js +365 -0
  911. package/dist/guest-actions-1T1DeS5Y.d.ts +5 -0
  912. package/dist/guest-actions-B7zdhfnh.js +9 -0
  913. package/dist/h3/index.d.ts +19 -12
  914. package/dist/h3/index.js +15 -11
  915. package/dist/h3/v1/index.d.ts +34 -24
  916. package/dist/h3/v1/index.js +23 -19
  917. package/dist/hmac-B3CTTlfv.js +23 -0
  918. package/dist/hono/index.d.ts +54 -36
  919. package/dist/hono/index.js +18 -18
  920. package/dist/http-51t9xppD.js +28 -0
  921. package/dist/http-BjjojWg3.js +40 -0
  922. package/dist/http-DzbloBR-.js +141 -0
  923. package/dist/image-url-_d7xYsXK.js +84 -0
  924. package/dist/impersonation-CZD9AOAk.js +62 -0
  925. package/dist/impersonation-YTa9dZUv.d.ts +28 -0
  926. package/dist/inbox-BPBb6etH.d.ts +321 -0
  927. package/dist/index-BSUX4dlB.d.ts +305 -0
  928. package/dist/index-BgSuw4CC.d.ts +151 -0
  929. package/dist/index-C7CrdGgz.d.ts +562 -0
  930. package/dist/index-CvxK2BZS.d.ts +847 -0
  931. package/dist/index-CxZQgNVE.d.ts +62 -0
  932. package/dist/index-D4420jLW.d.ts +66 -0
  933. package/dist/index-DK-YTWLd.d.ts +443 -0
  934. package/dist/index-DbXWcrOI.d.ts +577 -0
  935. package/dist/index-DbyDZZlc.d.ts +53 -0
  936. package/dist/index-NRMMhhEi.d.ts +104 -0
  937. package/dist/index-U0o7kU0s.d.ts +69 -0
  938. package/dist/index-WEafENqH.d.ts +149 -0
  939. package/dist/index-X2fkPUwb.d.ts +51 -0
  940. package/dist/index-Yep7auV-.d.ts +287 -0
  941. package/dist/index-eTY4kJzo.d.ts +163 -0
  942. package/dist/index.d.ts +35 -99
  943. package/dist/index.js +24 -19
  944. package/dist/invalidate-BLiBFbLy.d.ts +19 -0
  945. package/dist/iso4217-B-durg_y.js +176 -0
  946. package/dist/json-DaByVJpw.js +22 -0
  947. package/dist/json-schema-DWDTfD8J.js +888 -0
  948. package/dist/jwks-cache-CRymV-Dr.js +49 -0
  949. package/dist/jws-D0toeQlA.d.ts +66 -0
  950. package/dist/jws-DOgHJKHb.js +205 -0
  951. package/dist/kit-Ct4Z6GIO.js +127 -0
  952. package/dist/kit-DKfbNTAA.d.ts +94 -0
  953. package/dist/knowledge-BKGrXdS_.js +272 -0
  954. package/dist/knowledge-CFkCRxO9.d.ts +202 -0
  955. package/dist/lint/index.d.ts +6 -6
  956. package/dist/lint/index.js +9 -6
  957. package/dist/list/index.d.ts +3 -3
  958. package/dist/list/index.js +3 -3
  959. package/dist/list-query-BtluNnYk.d.ts +222 -0
  960. package/dist/list-query-CuS1w2Af.js +559 -0
  961. package/dist/live-CZtRMh62.js +246 -0
  962. package/dist/management-wtecfrNf.d.ts +57 -0
  963. package/dist/mcp/index.d.ts +70 -42
  964. package/dist/mcp/index.js +53 -45
  965. package/dist/mcp/sdk/index.d.ts +37 -25
  966. package/dist/mcp/sdk/index.js +16 -13
  967. package/dist/mentions-ByYnRNIG.js +114 -0
  968. package/dist/message-Bg4TKA12.d.ts +99 -0
  969. package/dist/messages-DNzIVvgN.js +492 -0
  970. package/dist/messaging-BC-P-yAv.js +329 -0
  971. package/dist/messaging-CZ6aWb10.d.ts +297 -0
  972. package/dist/metric-definition-EAYI1r2n.d.ts +69 -0
  973. package/dist/mfa-wrx1rqJT.d.ts +36 -0
  974. package/dist/model-Btl8X9cs.d.ts +326 -0
  975. package/dist/model-messages-D-jVOIOK.js +206 -0
  976. package/dist/model-messages-DrR4lZ_c.d.ts +34 -0
  977. package/dist/money-BNRdJQzA.d.ts +91 -0
  978. package/dist/money-BZl985O-.js +197 -0
  979. package/dist/money-codec-jMP0PQLZ.js +41 -0
  980. package/dist/my-work-kinds-BU3SlA-6.js +11 -0
  981. package/dist/nestjs/index.d.ts +32 -17
  982. package/dist/nestjs/index.js +27 -18
  983. package/dist/next/client/index.d.ts +8 -7
  984. package/dist/next/client/index.js +8 -7
  985. package/dist/next/image/index.d.ts +8 -6
  986. package/dist/next/image/index.js +7 -5
  987. package/dist/next/index.d.ts +342 -110
  988. package/dist/next/index.js +225 -45
  989. package/dist/node/index.d.ts +3 -3
  990. package/dist/node/index.js +33 -23
  991. package/dist/node-headers-BPtMP4_V.d.ts +27 -0
  992. package/dist/nuxt/index.d.ts +7 -6
  993. package/dist/nuxt/index.js +7 -6
  994. package/dist/onboarding-CGMuX7sP.js +68 -0
  995. package/dist/openapi/index.d.ts +4 -3
  996. package/dist/openapi/index.js +10 -7
  997. package/dist/operations-DVHRHvv6.js +29 -0
  998. package/dist/operations-nWYRexee.d.ts +6 -0
  999. package/dist/optional-peer-C1NbBRJm.js +32 -0
  1000. package/dist/options-289GJc2l.d.ts +52 -0
  1001. package/dist/options-2EMA_x6_.js +16 -0
  1002. package/dist/options-63AKQNv0.js +5 -0
  1003. package/dist/options-70OsM-wK.js +10 -0
  1004. package/dist/options-9gvPo1BC.js +8 -0
  1005. package/dist/options-B5VUf4IT.js +8 -0
  1006. package/dist/options-BPDiwSa-.js +5 -0
  1007. package/dist/options-BYOtaF7w.js +5 -0
  1008. package/dist/options-BZOliZvb.js +9 -0
  1009. package/dist/options-BjtrC7o6.js +8 -0
  1010. package/dist/options-BkpqTGrJ.js +8 -0
  1011. package/dist/options-Bpl-WFPk.js +15 -0
  1012. package/dist/options-Br1Xi2Hw.js +9 -0
  1013. package/dist/options-CF7nRWXS.js +5 -0
  1014. package/dist/options-CSCXNYJO.d.ts +8 -0
  1015. package/dist/options-CYV4iZiQ.js +5 -0
  1016. package/dist/options-CalPr6kN.d.ts +12 -0
  1017. package/dist/options-CfxBliP6.d.ts +17 -0
  1018. package/dist/options-CmoJsd4V.d.ts +8 -0
  1019. package/dist/options-Cyu0hgmN.js +9 -0
  1020. package/dist/options-D0bzZx9a.d.ts +10 -0
  1021. package/dist/options-D1hSuf50.d.ts +12 -0
  1022. package/dist/options-D4aD9qwB.js +5 -0
  1023. package/dist/options-D65jzn7S.js +5 -0
  1024. package/dist/options-D7sgG1bQ.js +16 -0
  1025. package/dist/options-DJ-aYPVN.js +5 -0
  1026. package/dist/options-DJm31rsi.d.ts +16 -0
  1027. package/dist/options-DWML05Cp.js +5 -0
  1028. package/dist/options-DXuA4JVa.d.ts +15 -0
  1029. package/dist/options-DZupPoI0.d.ts +10 -0
  1030. package/dist/options-DlohRAYd.d.ts +13 -0
  1031. package/dist/options-Dm-2crCx.d.ts +273 -0
  1032. package/dist/options-DrSkIBCD.js +9 -0
  1033. package/dist/options-DujalSfR.js +10 -0
  1034. package/dist/options-Dz3hJxUw.d.ts +10 -0
  1035. package/dist/options-E7KcmHQv.js +8 -0
  1036. package/dist/options-IHPg8ZoA.js +5 -0
  1037. package/dist/options-MQfTGMgP.d.ts +14 -0
  1038. package/dist/options-OMAUVcKK.d.ts +10 -0
  1039. package/dist/options-a-28mlYT.js +9 -0
  1040. package/dist/options-o2kfYU2x.js +8 -0
  1041. package/dist/options-t_O5ldT6.js +5 -0
  1042. package/dist/options-te6d5-yz.d.ts +19 -0
  1043. package/dist/options-xD4_FRUq.js +10 -0
  1044. package/dist/options-zkyhM3qi.js +8 -0
  1045. package/dist/organizations-DtehZg3J.js +401 -0
  1046. package/dist/orpc/index.d.ts +109 -38
  1047. package/dist/orpc/index.js +53 -18
  1048. package/dist/otel/index.d.ts +19 -16
  1049. package/dist/otel/index.js +22 -19
  1050. package/dist/outbox-CsF_iKjx.d.ts +199 -0
  1051. package/dist/overlay/index.d.ts +71 -55
  1052. package/dist/overlay/index.js +48 -41
  1053. package/dist/payments-BtScsgPS.js +16 -0
  1054. package/dist/payments-CBzQIjoX.d.ts +114 -0
  1055. package/dist/permissions-BetA_Fo_.js +34 -0
  1056. package/dist/pg-error-B5QLDcbG.js +26 -0
  1057. package/dist/plugin-Ar5546xh.d.ts +202 -0
  1058. package/dist/plugin-D9bYbYli.js +45 -0
  1059. package/dist/plugins/actor/index.d.ts +9 -6
  1060. package/dist/plugins/actor/index.js +6 -6
  1061. package/dist/plugins/rules/index.d.ts +15 -15
  1062. package/dist/plugins/rules/index.js +13 -7
  1063. package/dist/plugins/soft-delete/index.d.ts +7 -7
  1064. package/dist/plugins/soft-delete/index.js +7 -7
  1065. package/dist/plugins/tenant/index.d.ts +16 -11
  1066. package/dist/plugins/tenant/index.js +9 -10
  1067. package/dist/plugins/timestamps/index.d.ts +3 -3
  1068. package/dist/plugins/timestamps/index.js +4 -4
  1069. package/dist/plugins/validation/index.d.ts +4 -4
  1070. package/dist/plugins/validation/index.js +5 -5
  1071. package/dist/pool-CRkU15dA.d.ts +123 -0
  1072. package/dist/pool-errors-B17BQRW-.js +27 -0
  1073. package/dist/ports-DsJicwI2.d.ts +89 -0
  1074. package/dist/ports-yajgT0t0.js +139 -0
  1075. package/dist/postgres/index.d.ts +15 -15
  1076. package/dist/postgres/index.js +14 -8
  1077. package/dist/postgrest-DHLlN2nS.d.ts +53 -0
  1078. package/dist/powersync/index.d.ts +13 -14
  1079. package/dist/powersync/index.js +65 -36
  1080. package/dist/powersync/react/index.d.ts +13 -12
  1081. package/dist/powersync/react/index.js +15 -11
  1082. package/dist/preset/index.d.ts +4 -4
  1083. package/dist/preset/index.js +4 -4
  1084. package/dist/preset-DzcQ5CQM.js +841 -0
  1085. package/dist/problem-BWElIgIb.js +162 -0
  1086. package/dist/problem-DpHB7tWl.d.ts +79 -0
  1087. package/dist/provider-DmiaI1qt.d.ts +112 -0
  1088. package/dist/provider-EJ0-5GwJ.js +57 -0
  1089. package/dist/push-token-BxKmYhwk.d.ts +24 -0
  1090. package/dist/queries-Dw8y9bvz.js +245 -0
  1091. package/dist/query/index.d.ts +4 -4
  1092. package/dist/query/index.js +291 -3
  1093. package/dist/rank-result-C_sHjkiz.js +18 -0
  1094. package/dist/rank-result-DwR0FawB.d.ts +14 -0
  1095. package/dist/rate-limit-B_U12PdL.js +49 -0
  1096. package/dist/rate-limit-CrOuXfjj.d.ts +50 -0
  1097. package/dist/rate-limit-DExDw3Cy.js +327 -0
  1098. package/dist/ratelimit-headers-kEcXyO3H.js +62 -0
  1099. package/dist/react/index.d.ts +11 -11
  1100. package/dist/react/index.js +5 -5
  1101. package/dist/react/native/index.d.ts +36 -21
  1102. package/dist/react/native/index.js +32 -20
  1103. package/dist/react/server.d.ts +77 -21
  1104. package/dist/react/server.js +70 -14
  1105. package/dist/react/session.d.ts +9 -7
  1106. package/dist/react/session.js +7 -5
  1107. package/dist/react-28VgUbm9.js +852 -0
  1108. package/dist/react-BKCnIuZs.js +79 -0
  1109. package/dist/react-controller-CKSdtJ10.js +43 -0
  1110. package/dist/react-env-CfA3EdBH.js +20 -0
  1111. package/dist/react-router/index.d.ts +35 -25
  1112. package/dist/react-router/index.js +14 -13
  1113. package/dist/read-set-BAR84kPC.js +199 -0
  1114. package/dist/realtime/index.d.ts +8 -8
  1115. package/dist/realtime/index.js +37 -5
  1116. package/dist/realtime-status-BhNkb-Ow.d.ts +8 -0
  1117. package/dist/realtime-status-asHvhiOh.js +11 -0
  1118. package/dist/recordings-DgDu7AOt.d.ts +119 -0
  1119. package/dist/records/index.d.ts +83 -0
  1120. package/dist/records/index.js +315 -0
  1121. package/dist/refusal-DXydjgsS.js +64 -0
  1122. package/dist/refusal-efy5bZMd.d.ts +32 -0
  1123. package/dist/resolve-CzUKTIMq.d.ts +289 -0
  1124. package/dist/resolve-DAYdcs22.js +892 -0
  1125. package/dist/resolved-names-Dr7brlLL.js +133 -0
  1126. package/dist/resource-BRRU-A7j.js +91 -0
  1127. package/dist/resource-DYDEnww-.d.ts +115 -0
  1128. package/dist/resource-Dk_JYsOt.js +469 -0
  1129. package/dist/resource-execute-bT9ltHVT.d.ts +15 -0
  1130. package/dist/resource-schemas-up6bKOUi.js +82 -0
  1131. package/dist/resource-types-Bzt_bpR5.d.ts +153 -0
  1132. package/dist/resources-BV6j5TTD.js +64 -0
  1133. package/dist/resources-Du5wcL3f.d.ts +7 -0
  1134. package/dist/respond-CZYibxUx.d.ts +101 -0
  1135. package/dist/respond-z_yfyitp.js +100 -0
  1136. package/dist/result-B3m7xtRY.js +146 -0
  1137. package/dist/result-C6jDfedy.d.ts +350 -0
  1138. package/dist/rows-Bb0EPupt.js +80 -0
  1139. package/dist/rows-CtLWqdGQ.js +39 -0
  1140. package/dist/rrule-xDm2znty.js +290 -0
  1141. package/dist/rules-DcW5mj1r.js +287 -0
  1142. package/dist/run-watch-B-LoK5m1.js +53 -0
  1143. package/dist/runtime-CoKxZibd.js +45 -0
  1144. package/dist/sales-lines-9HsX89aO.d.ts +28 -0
  1145. package/dist/sales-lines-BhrIx2oK.js +41 -0
  1146. package/dist/sales-shared-C_u68eq2.js +22 -0
  1147. package/dist/schemas-9Ci3K0Hk.js +103 -0
  1148. package/dist/schemas-ypoQZ_6N.js +157 -0
  1149. package/dist/scores-CsURQDUB.d.ts +172 -0
  1150. package/dist/scores-DdPZVVt8.js +177 -0
  1151. package/dist/search-Cn_DGluL.js +9 -0
  1152. package/dist/search-ToCOlCZ8.js +106 -0
  1153. package/dist/sections-DjxYmpu-.js +26 -0
  1154. package/dist/server/index.d.ts +153 -116
  1155. package/dist/server/index.js +49 -40
  1156. package/dist/server-types-BOs-eFpo.d.ts +809 -0
  1157. package/dist/session-BgsOPGZs.d.ts +97 -0
  1158. package/dist/settings-mL-i7QUM.js +93 -0
  1159. package/dist/shared-Bf-I13Ht.js +91 -0
  1160. package/dist/shared-CRRfQAKG.d.ts +11 -0
  1161. package/dist/shared-LmlfYPv4.js +60 -0
  1162. package/dist/shared-eVrl39dX.js +17 -0
  1163. package/dist/sign-in-D54FLMQy.d.ts +55 -0
  1164. package/dist/sign-in-lAyf6Ohy.js +386 -0
  1165. package/dist/signatures-GUBuhLOB.js +145 -0
  1166. package/dist/signatures-zbu6KTNQ.d.ts +43 -0
  1167. package/dist/signers-D6ecZl22.d.ts +390 -0
  1168. package/dist/signing-keys-B3RHGMMu.d.ts +119 -0
  1169. package/dist/signing-keys-fWapUzi0.js +164 -0
  1170. package/dist/solid/index.d.ts +69 -24
  1171. package/dist/solid/index.js +62 -17
  1172. package/dist/solid-bind-C1jeq4Qm.d.ts +11 -0
  1173. package/dist/solid-bind-iHGfGtBK.js +38 -0
  1174. package/dist/solid-controller-DGuv7V8a.js +13 -0
  1175. package/dist/solid-start/index.d.ts +27 -20
  1176. package/dist/solid-start/index.js +9 -9
  1177. package/dist/spec/index.d.ts +40 -25
  1178. package/dist/spec/index.js +26 -21
  1179. package/dist/spec-CoWHDoud.js +119 -0
  1180. package/dist/spec-pins-CZ2CL8YZ.d.ts +120 -0
  1181. package/dist/spec-pins-D3Tm6HJi.js +60 -0
  1182. package/dist/sql/index.d.ts +5 -5
  1183. package/dist/sql/index.js +5 -5
  1184. package/dist/sql-CVYjOUyG.js +421 -0
  1185. package/dist/sql-rQDL6PIL.js +122247 -0
  1186. package/dist/sso-B744gHeS.d.ts +161 -0
  1187. package/dist/sso-Bt9HocgW.js +217 -0
  1188. package/dist/ssr/index.d.ts +4 -4
  1189. package/dist/ssr/index.js +3 -3
  1190. package/dist/standard-DbQsD2xZ.d.ts +7 -0
  1191. package/dist/standard-DtkpFGkS.js +25 -0
  1192. package/dist/stats-qCEV5M3B.js +1147 -0
  1193. package/dist/statuses-DMMDwXpZ.js +29 -0
  1194. package/dist/statuses-zRcc2TeZ.js +28 -0
  1195. package/dist/storage/index.d.ts +4 -4
  1196. package/dist/storage/index.js +138 -74
  1197. package/dist/store-McN-2esd.js +69 -0
  1198. package/dist/store-o0HwYXl8.d.ts +83 -0
  1199. package/dist/streams/index.d.ts +24 -18
  1200. package/dist/streams/index.js +3 -4
  1201. package/dist/streams/redis/index.d.ts +10 -7
  1202. package/dist/streams/redis/index.js +9 -9
  1203. package/dist/stripe/index.d.ts +5 -2
  1204. package/dist/stripe/index.js +2 -2
  1205. package/dist/stripe-BJUfp5jM.js +32 -0
  1206. package/dist/stripe-X22LjuH-.d.ts +156 -0
  1207. package/dist/subject-readers-CsTpx44c.js +49 -0
  1208. package/dist/subject-readers-DEZ45DQF.d.ts +21 -0
  1209. package/dist/subjects-B6p4oAZJ.d.ts +78 -0
  1210. package/dist/subjects-DXFmanh5.d.ts +90 -0
  1211. package/dist/subjects-DevU_atb.js +107 -0
  1212. package/dist/subscribers-BvZxcd63.js +33 -0
  1213. package/dist/summaries-8jQTELIX.d.ts +69 -0
  1214. package/dist/supabase-mcp-Dz9DgrKP.js +28 -0
  1215. package/dist/supabase-mcp-Z4vtsuoO.d.ts +46 -0
  1216. package/dist/support-Ds1-UCN4.js +534 -0
  1217. package/dist/support-view-vwJbRMpV.d.ts +17 -0
  1218. package/dist/svelte/index.d.ts +51 -15
  1219. package/dist/svelte/index.js +46 -13
  1220. package/dist/svelte-bind-BHN5a8VV.js +46 -0
  1221. package/dist/svelte-bind-Ja6CtQGp.d.ts +13 -0
  1222. package/dist/svelte-controller-oFKC9AYu.js +19 -0
  1223. package/dist/sveltekit/index.d.ts +50 -35
  1224. package/dist/sveltekit/index.js +19 -18
  1225. package/dist/table-schema-BcB-VCQb.js +293 -0
  1226. package/dist/table-schema-Cb-IV_pZ.d.ts +78 -0
  1227. package/dist/tags-CLXi2c6O.d.ts +30 -0
  1228. package/dist/tags-C_ym1yDM.js +39 -0
  1229. package/dist/tags-EnvIccSJ.js +86 -0
  1230. package/dist/tanstack-db/index.d.ts +17 -11
  1231. package/dist/tanstack-db/index.js +7 -7
  1232. package/dist/tanstack-db/supabase/index.d.ts +24 -9
  1233. package/dist/tanstack-db/supabase/index.js +7 -4
  1234. package/dist/tanstack-start/index.d.ts +45 -31
  1235. package/dist/tanstack-start/index.js +33 -19
  1236. package/dist/tax-CIIxd8Zf.d.ts +170 -0
  1237. package/dist/tax-DmOMjrYc.js +140 -0
  1238. package/dist/tee-DwkUvJD_.js +101 -0
  1239. package/dist/template-BWP7IXZg.js +126 -0
  1240. package/dist/temporal-DLZlWbOi.js +85 -0
  1241. package/dist/temporal-required-B8qQHYbI.js +20 -0
  1242. package/dist/tenant-Bg4PDLkG.d.ts +17 -0
  1243. package/dist/tenant-DnMqeNIM.js +27 -0
  1244. package/dist/tenant-source-bqWpSr86.js +8 -0
  1245. package/dist/testing/index.d.ts +606 -267
  1246. package/dist/testing/index.js +665 -210
  1247. package/dist/timeline-0_hTBH0-.js +52 -0
  1248. package/dist/timeline-DUUsPLv5.d.ts +152 -0
  1249. package/dist/timing-C5NzaEgy.js +95 -0
  1250. package/dist/topic-CPOmMgkf.js +643 -0
  1251. package/dist/topic-D9j8G2dw.d.ts +415 -0
  1252. package/dist/ttl-cache-Bhr9swjT.js +32 -0
  1253. package/dist/types-BEDfwXL4.d.ts +251 -0
  1254. package/dist/types-BRJHGhSq.d.ts +177 -0
  1255. package/dist/types-BTK75521.js +8 -0
  1256. package/dist/types-CGUDoF5I.d.ts +624 -0
  1257. package/dist/types-DkPE7yd2.d.ts +194 -0
  1258. package/dist/types-QHeku_6b.d.ts +217 -0
  1259. package/dist/types-uHD9yANu.d.ts +700 -0
  1260. package/dist/undo-B696duxr.d.ts +46 -0
  1261. package/dist/undo-vutx78k8.js +44 -0
  1262. package/dist/upload-claim-D_wgDbi7.js +33 -0
  1263. package/dist/usage-BI1E2940.js +264 -0
  1264. package/dist/usage-DBcVGqnr.d.ts +232 -0
  1265. package/dist/user-change-CSR_prhd.js +133 -0
  1266. package/dist/variants-DL7NpFJ7.js +53 -0
  1267. package/dist/vault-BQTdu4eH.d.ts +62 -0
  1268. package/dist/vercel-connect/index.d.ts +3 -3
  1269. package/dist/vercel-connect/index.js +8 -8
  1270. package/dist/verify-27w0I5C9.js +130 -0
  1271. package/dist/verify-BmuCB4PW.d.ts +146 -0
  1272. package/dist/view-2_I-2ukO.d.ts +90 -0
  1273. package/dist/view-BtgqxQLM.js +108 -0
  1274. package/dist/vue/index.d.ts +70 -28
  1275. package/dist/vue/index.js +68 -22
  1276. package/dist/vue-bind-CFxon-Vs.js +45 -0
  1277. package/dist/vue-bind-TPkbLl4z.d.ts +11 -0
  1278. package/dist/vue-controller-WtbuT-Ux.js +13 -0
  1279. package/dist/watch-CfMT6vX7.js +139 -0
  1280. package/dist/watch-DziJudwj.d.ts +93 -0
  1281. package/dist/watch-topic-CIT3UlAh.d.ts +31 -0
  1282. package/dist/watch-topic-CuaWfCuv.js +57 -0
  1283. package/dist/wire-Bizdxvp-.js +66 -0
  1284. package/dist/work-items-Cnntm8ij.d.ts +238 -0
  1285. package/dist/workflow-builder-2q1iqHYG.js +699 -0
  1286. package/dist/workflow-sdk/builder/index.d.ts +51 -37
  1287. package/dist/workflow-sdk/builder/index.js +30 -24
  1288. package/dist/workflow-sdk/index.d.ts +24 -15
  1289. package/dist/workflow-sdk/index.js +9 -6
  1290. package/dist/workflow-sdk/world/index.d.ts +56 -24
  1291. package/dist/workflow-sdk/world/index.js +47 -24
  1292. package/dist/workflow-sdk-BTYWQQg9.d.ts +163 -0
  1293. package/dist/workflow-sdk-_pqDUwNK.js +242 -0
  1294. package/dist/workflow-sdk-world-BIwGVy6S.js +2401 -0
  1295. package/dist/workflows-D8U7KyXJ.d.ts +258 -0
  1296. package/dist/workflows-VJBSV-QR.js +285 -0
  1297. package/dist/yjs/index.d.ts +39 -12
  1298. package/dist/yjs/index.js +63 -21
  1299. package/package.json +216 -3
  1300. package/schemas/cli-commands-v1.json +18 -0
  1301. package/schemas/config-v1.json +742 -35
  1302. package/schemas/design-v1.json +351 -0
  1303. package/schemas/doctor-report-v1.json +5 -1
  1304. package/schemas/snapshot-v2.json +25 -0
  1305. package/skills/better-supabase/SKILL.md +6 -5
  1306. package/skills/better-supabase/references/frontend.md +3 -2
  1307. package/skills/better-supabase/references/troubleshooting.md +18 -18
  1308. package/skills/better-supabase/references/ui-recipes.md +12686 -8024
  1309. package/skills/better-supabase-api/SKILL.md +1 -1
  1310. package/skills/better-supabase-api/references/adapters.md +3 -6
  1311. package/skills/better-supabase-api/references/expo.md +1 -0
  1312. package/skills/better-supabase-api/references/powersync.md +8 -1
  1313. package/skills/better-supabase-testing/SKILL.md +2 -3
  1314. package/dist/access-sql-CTJPHjCL.js +0 -201
  1315. package/dist/actor-BAhb-d1S.d.ts +0 -104
  1316. package/dist/actor-CAL8mMih.js +0 -151
  1317. package/dist/adapter-CRNH2aX_.js +0 -2107
  1318. package/dist/agents-CGP2AQge.d.ts +0 -111
  1319. package/dist/ai-cache-BdeJKlrV.d.ts +0 -70
  1320. package/dist/ai-cache-CLninP-F.js +0 -84
  1321. package/dist/ai-chat-D-2MH1sU.d.ts +0 -608
  1322. package/dist/ai-files-ChFDkMLN.js +0 -339
  1323. package/dist/ai-tasks-ZvPnNudQ.d.ts +0 -157
  1324. package/dist/announcements-BNxTW5HJ.js +0 -128
  1325. package/dist/api-C43_FYDp.js +0 -680
  1326. package/dist/api-DoWK3dTw.d.ts +0 -411
  1327. package/dist/api-keys-AgDXbcql.d.ts +0 -205
  1328. package/dist/api-keys-BSXwI2jF.js +0 -318
  1329. package/dist/app-tables-BRjMcWhW.js +0 -819
  1330. package/dist/app-tables-BrMBjyuq.d.ts +0 -35
  1331. package/dist/approvals-CyX709B-.d.ts +0 -124
  1332. package/dist/assistant-DZsHsYIx.d.ts +0 -148
  1333. package/dist/attachments-CK8D8bIV.js +0 -270
  1334. package/dist/attributes-D4mA7WhI.js +0 -38
  1335. package/dist/audit-log-ovUlF4Mk.js +0 -786
  1336. package/dist/auth-CdBKt0CS.js +0 -20
  1337. package/dist/auth-link-BjFPqwLz.d.ts +0 -97
  1338. package/dist/auth-link-DrDX9KOT.js +0 -114
  1339. package/dist/auth-module-DbZv2WrR.js +0 -10
  1340. package/dist/auth-reply-Daq72lY4.js +0 -31
  1341. package/dist/authorization-ClWBcXJi.d.ts +0 -1456
  1342. package/dist/authorization-hooks-WDQMKIsc.d.ts +0 -214
  1343. package/dist/authorizer-B3yyCVUF.js +0 -126
  1344. package/dist/authorizer-eiOjo-3l.d.ts +0 -73
  1345. package/dist/base64-D4aqdnDR.js +0 -42
  1346. package/dist/before-route-B98js9m_.js +0 -30
  1347. package/dist/bind-Bfo40o63.d.ts +0 -70
  1348. package/dist/block-env-CBd_SoL5.js +0 -29
  1349. package/dist/block-env-Dxl7rsI0.d.ts +0 -10
  1350. package/dist/block-events-DD9Q_NUz.js +0 -96
  1351. package/dist/block-fields-Bv1hV855.js +0 -139
  1352. package/dist/block-fields-DnaDbgZS.d.ts +0 -55
  1353. package/dist/block-helpers-CjcQM1yA.d.ts +0 -37
  1354. package/dist/block-helpers-DkVZNDrj.js +0 -264
  1355. package/dist/block-hooks-C22vuIUd.js +0 -114
  1356. package/dist/block-hooks-DcPJHztl.d.ts +0 -107
  1357. package/dist/block-transport-DezJPPA0.d.ts +0 -70
  1358. package/dist/block-transport-J7ZepTq2.js +0 -85
  1359. package/dist/blocks-D2WQ63PI.js +0 -84
  1360. package/dist/bookings-DQ7P888X.js +0 -181
  1361. package/dist/bucket-BbePDVwc.d.ts +0 -598
  1362. package/dist/build-C-D_vn0U.js +0 -694
  1363. package/dist/build-CT6SPZkI.js +0 -1815
  1364. package/dist/calendar-eqyuQAoy.js +0 -801
  1365. package/dist/channel-D-LHCY11.d.ts +0 -78
  1366. package/dist/channels-C-GCoNLd.js +0 -114
  1367. package/dist/claims-0KZVT804.js +0 -61
  1368. package/dist/claims-PqzCxaTD.js +0 -85
  1369. package/dist/cli/add-BcOHumvq.js +0 -75
  1370. package/dist/cli/add-DnAyR9w_.js +0 -1
  1371. package/dist/cli/add-TT72pQk6.js +0 -651
  1372. package/dist/cli/adopt-BuS-DC7_.js +0 -1
  1373. package/dist/cli/adopt-mbB1bcIG.js +0 -412
  1374. package/dist/cli/agent-CCrTYK3W.js +0 -176
  1375. package/dist/cli/apply-CiBFOFGw.js +0 -326
  1376. package/dist/cli/blocks-5-JGzwXX.js +0 -124
  1377. package/dist/cli/blocks-DeLQOlUK.js +0 -1
  1378. package/dist/cli/cache-DQwgb3rg.js +0 -507
  1379. package/dist/cli/catalog-Cm6BtquM.js +0 -188
  1380. package/dist/cli/codemod-BzAMX4el.js +0 -985
  1381. package/dist/cli/command-dfdVhU_2.js +0 -891
  1382. package/dist/cli/completion-4lLjtI49.js +0 -1
  1383. package/dist/cli/completion-D4InNrxw.js +0 -30
  1384. package/dist/cli/completion-zsp5s0zI.js +0 -205
  1385. package/dist/cli/config-CCyweX7Y.js +0 -1
  1386. package/dist/cli/config-DI6ielsx.js +0 -39
  1387. package/dist/cli/config-edit-Ct1lXe8a.js +0 -603
  1388. package/dist/cli/config-yZ55rsKZ.js +0 -1463
  1389. package/dist/cli/db-DT1bGB02.js +0 -78
  1390. package/dist/cli/db-TRymMyAW.js +0 -90
  1391. package/dist/cli/design-edit-0U9iCTiS.js +0 -202
  1392. package/dist/cli/detect-DQsVeBHg.js +0 -84
  1393. package/dist/cli/dist-D_VbPAMR.js +0 -129
  1394. package/dist/cli/doctor-DOfy6kjt.js +0 -3732
  1395. package/dist/cli/emit-56LAG_Px.js +0 -1067
  1396. package/dist/cli/env-B7TWPEt0.js +0 -1
  1397. package/dist/cli/env-C8R7Nf0a.js +0 -1088
  1398. package/dist/cli/env-Cmu99uKR.js +0 -1
  1399. package/dist/cli/env-Dh5K5t2U.js +0 -143
  1400. package/dist/cli/errors-Caiz_0so.js +0 -98
  1401. package/dist/cli/files-DDvAwTko.js +0 -963
  1402. package/dist/cli/fresh-import-BeYf9I3x.js +0 -40
  1403. package/dist/cli/gen-D3sC5jDn.js +0 -304
  1404. package/dist/cli/init-DNomoycJ.js +0 -394
  1405. package/dist/cli/introspect-kYX06Q2g.js +0 -51
  1406. package/dist/cli/io-BiPX-_J1.js +0 -37
  1407. package/dist/cli/keys-B8dIJwwi.js +0 -106
  1408. package/dist/cli/live-CkV3d3yp.js +0 -329
  1409. package/dist/cli/mcp-DrxB2Wuw.js +0 -237
  1410. package/dist/cli/metadata-BGkle6WM.js +0 -138
  1411. package/dist/cli/migration-safety-DjVpz2D6.js +0 -206
  1412. package/dist/cli/module-migration-CPhuiY8C.js +0 -592
  1413. package/dist/cli/moved-BMQu1YNY.js +0 -152
  1414. package/dist/cli/parse-QzDvMpXH.js +0 -170
  1415. package/dist/cli/preset-CfIs24cc.js +0 -129
  1416. package/dist/cli/prompts-Bvg_DBpe.js +0 -1137
  1417. package/dist/cli/redact-PjNswZOs.js +0 -35
  1418. package/dist/cli/run-Bck-p0MI.js +0 -63
  1419. package/dist/cli/run-BhJKAanr.js +0 -1528
  1420. package/dist/cli/run-DRZ10srj.js +0 -694
  1421. package/dist/cli/scaffold-DoURlDEI.js +0 -898
  1422. package/dist/cli/scaffold-mzy3OsN5.js +0 -1
  1423. package/dist/cli/seed-C5q4UUIL.js +0 -1
  1424. package/dist/cli/seed-CIdg6s7m.js +0 -114
  1425. package/dist/cli/shared-DKLuA1Tp.js +0 -145
  1426. package/dist/cli/skills-D3zwIlGA.js +0 -121
  1427. package/dist/cli/snapshot-BBKFojqM.js +0 -347
  1428. package/dist/cli/source-args-Cwo7zwvq.js +0 -53
  1429. package/dist/cli/spec-DOgQUZwM.js +0 -1
  1430. package/dist/cli/spec-DZeIP9ta.js +0 -7501
  1431. package/dist/cli/sql-CL_Lbhwl.js +0 -2
  1432. package/dist/cli/sql-DLOvvnBV.js +0 -326
  1433. package/dist/cli/stack-env-_uWWNHWq.js +0 -87
  1434. package/dist/cli/stack-status-_NUgd-g5.js +0 -496
  1435. package/dist/cli/style-2JfIPVMQ.js +0 -29
  1436. package/dist/cli/supabase-toml-BC5sNVKU.js +0 -1153
  1437. package/dist/cli/sync-DBvknfOK.js +0 -88
  1438. package/dist/cli/topics-BBE1-Vrg.js +0 -30
  1439. package/dist/cli/typegen--TfvOPLh.js +0 -494
  1440. package/dist/cli/validate-BfWNKvxy.js +0 -7522
  1441. package/dist/cli/version-B7akdvDv.js +0 -4
  1442. package/dist/cli/write-VZljwoTB.js +0 -198
  1443. package/dist/client-B9CqzgPO.js +0 -75
  1444. package/dist/client-BAOZuBhz.d.ts +0 -101
  1445. package/dist/client-BDO6i2Oe.js +0 -128
  1446. package/dist/client-BGnJ5WJi.js +0 -438
  1447. package/dist/client-BJN0IMEp.d.ts +0 -34
  1448. package/dist/client-BMcjLG0V.d.ts +0 -263
  1449. package/dist/client-BN_fXOs7.d.ts +0 -39
  1450. package/dist/client-BONsuFYf.d.ts +0 -100
  1451. package/dist/client-BPn9XhAM.d.ts +0 -218
  1452. package/dist/client-BfgwocyT.js +0 -155
  1453. package/dist/client-BpS8a6Fm.js +0 -51
  1454. package/dist/client-BtC-r4hE.d.ts +0 -52
  1455. package/dist/client-BuneNd-C.d.ts +0 -419
  1456. package/dist/client-BzCv4kKE.js +0 -65
  1457. package/dist/client-C-2ajnhM.js +0 -89
  1458. package/dist/client-C5mUEb2n.js +0 -55
  1459. package/dist/client-CFKONrrU.js +0 -1051
  1460. package/dist/client-CHR8IBNG.js +0 -318
  1461. package/dist/client-CHwNV8Kz.d.ts +0 -455
  1462. package/dist/client-CLQHsa-2.d.ts +0 -131
  1463. package/dist/client-CMxxwT3N.d.ts +0 -122
  1464. package/dist/client-CU7aNN_B.d.ts +0 -277
  1465. package/dist/client-CYEdJKjk.d.ts +0 -157
  1466. package/dist/client-CYhSGlCN.d.ts +0 -107
  1467. package/dist/client-C_-NZRrg.js +0 -120
  1468. package/dist/client-CcPxbHeT.js +0 -288
  1469. package/dist/client-CosiUrUb.js +0 -98
  1470. package/dist/client-D3gRTNSi.d.ts +0 -68
  1471. package/dist/client-D7T7OLiw.js +0 -169
  1472. package/dist/client-DB34f_7i.d.ts +0 -58
  1473. package/dist/client-DCawyopp.d.ts +0 -65
  1474. package/dist/client-DNq8xYb-.js +0 -52
  1475. package/dist/client-Dqa4XyJ5.d.ts +0 -108
  1476. package/dist/client-Dr5h2r9r.d.ts +0 -34
  1477. package/dist/client-DrTqKgvy.d.ts +0 -155
  1478. package/dist/client-DyfWYU8S.js +0 -84
  1479. package/dist/client-Dz1jWDA2.js +0 -209
  1480. package/dist/client-DzTtOVRR.js +0 -137
  1481. package/dist/client-Ezlbskjq.js +0 -60
  1482. package/dist/client-GCCRI9ge.d.ts +0 -135
  1483. package/dist/client-P6v3h7vh.d.ts +0 -130
  1484. package/dist/client-P8l8ncxV.d.ts +0 -103
  1485. package/dist/client-UnM3e32l.js +0 -133
  1486. package/dist/client-WgrPIHH-.js +0 -213
  1487. package/dist/client-ZTtSV3l8.js +0 -40
  1488. package/dist/client-arq4daO_.js +0 -104
  1489. package/dist/client-ckXfdy1k.js +0 -38
  1490. package/dist/client-eCDPjOMo.js +0 -438
  1491. package/dist/client-iaFm0aVf.js +0 -67
  1492. package/dist/client-kWg4OqIr.d.ts +0 -162
  1493. package/dist/client-pxjbgOz6.js +0 -376
  1494. package/dist/client-tvG258_1.d.ts +0 -59
  1495. package/dist/client-wKmX-f3r.d.ts +0 -388
  1496. package/dist/clone-dN9XOL1K.js +0 -29
  1497. package/dist/cloud-event-CTh9Sr5w.js +0 -60
  1498. package/dist/cloud-event-DXkNoI6v.d.ts +0 -64
  1499. package/dist/codecs-D-rpDifG.js +0 -358
  1500. package/dist/codecs-RwFNK8Jh.d.ts +0 -215
  1501. package/dist/codegen-C64C0NZG.d.ts +0 -1665
  1502. package/dist/comments-CV5O8q50.js +0 -230
  1503. package/dist/compiler-D_Gjpw_O.d.ts +0 -14
  1504. package/dist/compose-CP0ss-cQ.js +0 -53
  1505. package/dist/composite-1kPAxXto.js +0 -130
  1506. package/dist/composite-DzvBL5nb.d.ts +0 -67
  1507. package/dist/config-DHhQmmuD.js +0 -3917
  1508. package/dist/config-NQmw_wsk.js +0 -558
  1509. package/dist/connector-D9NMNkv0.d.ts +0 -107
  1510. package/dist/connectors-BwPNt-ZG.d.ts +0 -141
  1511. package/dist/context-B8_p3MXo.js +0 -11
  1512. package/dist/context-BiwgsycK.js +0 -41
  1513. package/dist/context-C-bHOtoD.js +0 -5
  1514. package/dist/context-Cv3KlxWY.d.ts +0 -377
  1515. package/dist/context-D6ZMKc2L.js +0 -19
  1516. package/dist/context-wDKxSl9x.js +0 -9
  1517. package/dist/controller-BZhiIb-N.d.ts +0 -46
  1518. package/dist/controller-D6NyNrlZ.js +0 -79
  1519. package/dist/cron-BHdXZFsJ.js +0 -145
  1520. package/dist/cron-route-mTvWhork.js +0 -24
  1521. package/dist/csv-CVfXqaAu.js +0 -89
  1522. package/dist/csv-D3eKxV1T.d.ts +0 -28
  1523. package/dist/db-exception-CnWcYPxL.js +0 -15
  1524. package/dist/define-Bu1v781m.js +0 -1962
  1525. package/dist/define-DYZnvAbs.d.ts +0 -1058
  1526. package/dist/define-block-B6Gjs57G.js +0 -52
  1527. package/dist/define-block-BHxLHLys.d.ts +0 -256
  1528. package/dist/delegation-B7uNnz6z.js +0 -140
  1529. package/dist/delivery-B1mKaOen.js +0 -30
  1530. package/dist/delivery-BeHgwS3k.d.ts +0 -69
  1531. package/dist/documents-CqtVr2fg.d.ts +0 -96
  1532. package/dist/email-BcmbIWOX.d.ts +0 -42
  1533. package/dist/embeddings-CKhygw4C.d.ts +0 -78
  1534. package/dist/embeddings-CVeOoufZ.js +0 -128
  1535. package/dist/ended-De6H52nX.d.ts +0 -70
  1536. package/dist/entitlements-C8UvF1Rz.js +0 -45
  1537. package/dist/entitlements-CtBGXb3B.d.ts +0 -53
  1538. package/dist/envelope-C4Z55LKW.js +0 -90
  1539. package/dist/errors-BV1SKTVs.js +0 -315
  1540. package/dist/errors-D3BR8iUk.js +0 -44
  1541. package/dist/escape-like-B339PlP-.d.ts +0 -15
  1542. package/dist/eve-B6ru2Bt4.d.ts +0 -151
  1543. package/dist/event-calendar-DJXXMJ3x.d.ts +0 -217
  1544. package/dist/event-map-Dy2vKHai.js +0 -19
  1545. package/dist/events-P3raDX2E.d.ts +0 -800
  1546. package/dist/events-xbpHkcK9.js +0 -82
  1547. package/dist/executor-BWgJNbGh.d.ts +0 -95
  1548. package/dist/executor-BiB0wMBA.js +0 -735
  1549. package/dist/executor-BnMC0lj3.d.ts +0 -272
  1550. package/dist/executor-CvsNcQsa.d.ts +0 -174
  1551. package/dist/executor-CxGQiQN_.js +0 -206
  1552. package/dist/executor-D1hECPGG.d.ts +0 -39
  1553. package/dist/executor-D3K3tycZ.js +0 -147
  1554. package/dist/field-errors-DZVRWRkf.js +0 -13
  1555. package/dist/field-errors-Z-sgsdoN.d.ts +0 -113
  1556. package/dist/field-formats-Cif5gr7c.js +0 -102
  1557. package/dist/field-formats-DCvOQlOy.d.ts +0 -39
  1558. package/dist/filter-evaluate-BJcaL3o1.d.ts +0 -34
  1559. package/dist/filter-evaluate-C0ULNfS7.js +0 -214
  1560. package/dist/filter-query-B3lhckKX.js +0 -518
  1561. package/dist/filter-query-Bc_Qa8V_.d.ts +0 -121
  1562. package/dist/flags-6KK6Vqkr.d.ts +0 -230
  1563. package/dist/flags-aUR7Rod6.js +0 -279
  1564. package/dist/form-definition-GVZTILhS.js +0 -311
  1565. package/dist/form-definition-sagoefQr.d.ts +0 -95
  1566. package/dist/format-CNwSjXUU.d.ts +0 -70
  1567. package/dist/framework-BQhTsLX-.d.ts +0 -26
  1568. package/dist/framework-C6PKBgme.js +0 -51
  1569. package/dist/function-contract-DWqFl_QO.d.ts +0 -21
  1570. package/dist/function-contract-DmkBg19r.js +0 -5
  1571. package/dist/gateway-Bq_tWwxE.d.ts +0 -109
  1572. package/dist/gateway-options-ClvvfuuU.d.ts +0 -29
  1573. package/dist/gateway-options-DcLcWL5_.js +0 -27
  1574. package/dist/graph-Cs28bOlK.js +0 -360
  1575. package/dist/hmac-BgpThYQW.js +0 -23
  1576. package/dist/http-C7trc6uN.js +0 -25
  1577. package/dist/http-Cv4T29xh.js +0 -40
  1578. package/dist/http-DdYadv-o.js +0 -126
  1579. package/dist/image-url-pIVlO6R1.js +0 -41
  1580. package/dist/impersonation-D5chOkrO.d.ts +0 -25
  1581. package/dist/impersonation-DxU6yHJV.js +0 -62
  1582. package/dist/inbox-Du5aPwKB.d.ts +0 -400
  1583. package/dist/index-1Vsg-7YV.d.ts +0 -58
  1584. package/dist/index-BJLPQr2s.d.ts +0 -377
  1585. package/dist/index-BpFYMsi0.d.ts +0 -53
  1586. package/dist/index-BpyBH5O2.d.ts +0 -227
  1587. package/dist/index-C-_fs7EI.d.ts +0 -258
  1588. package/dist/index-CXFf-c-j.d.ts +0 -131
  1589. package/dist/index-Cm2-g_4H.d.ts +0 -722
  1590. package/dist/index-CxmVzT-3.d.ts +0 -86
  1591. package/dist/index-DTQSeHx2.d.ts +0 -97
  1592. package/dist/index-Hc4tetmB.d.ts +0 -245
  1593. package/dist/index-QWTq2o31.d.ts +0 -138
  1594. package/dist/index-XcTBR4Gb.d.ts +0 -206
  1595. package/dist/index-k-rrfG1g.d.ts +0 -202
  1596. package/dist/index-wTnPJUhv.d.ts +0 -58
  1597. package/dist/invalidate-BBqhpxyB.d.ts +0 -19
  1598. package/dist/iso4217-A8ev-CNW.js +0 -176
  1599. package/dist/json-CEnpTHlZ.js +0 -16
  1600. package/dist/json-schema-CpYINXG8.js +0 -548
  1601. package/dist/jwks-cache-C4rA69hD.js +0 -49
  1602. package/dist/jws-35a8VhFV.d.ts +0 -60
  1603. package/dist/jws-CwBB5QAT.js +0 -193
  1604. package/dist/kit-De-EVRhw.d.ts +0 -66
  1605. package/dist/kit-LTbHrWWD.js +0 -104
  1606. package/dist/knowledge-B5zdpDD-.d.ts +0 -187
  1607. package/dist/knowledge-BbdXOJvY.js +0 -272
  1608. package/dist/list-query-CBXNfJt4.js +0 -549
  1609. package/dist/list-query-aXr2WkGA.d.ts +0 -194
  1610. package/dist/live-DwDreq1n.js +0 -239
  1611. package/dist/management-D1gG89z2.d.ts +0 -53
  1612. package/dist/message-B0fNJgq8.d.ts +0 -93
  1613. package/dist/messages-D5nIfCCf.js +0 -493
  1614. package/dist/metric-definition-95HFoW1V.d.ts +0 -70
  1615. package/dist/mfa-YzkRjNad.d.ts +0 -30
  1616. package/dist/model-lUafmeBQ.d.ts +0 -311
  1617. package/dist/model-messages-CIdqdUtk.js +0 -206
  1618. package/dist/model-messages-D4GZllOD.d.ts +0 -34
  1619. package/dist/money-95Rff2vT.js +0 -185
  1620. package/dist/money-DFpWzQvk.d.ts +0 -76
  1621. package/dist/money-codec-C21MWw50.js +0 -41
  1622. package/dist/node-headers-AO06VhqH.d.ts +0 -24
  1623. package/dist/onboarding-Du6kCmhF.js +0 -68
  1624. package/dist/operations-CsIfMED7.js +0 -29
  1625. package/dist/operations-DQCWqkt3.d.ts +0 -6
  1626. package/dist/optional-peer-Dx8TaYXw.js +0 -29
  1627. package/dist/options-BAW2ZlZ8.js +0 -8
  1628. package/dist/options-C1HR4UZd.js +0 -13
  1629. package/dist/options-Dh4wu9Ks.js +0 -15
  1630. package/dist/options-QKP9FFcK.js +0 -8
  1631. package/dist/options-XgfTctbI.js +0 -5
  1632. package/dist/options-ZQzNKKBS.d.ts +0 -52
  1633. package/dist/options-vXMBEWSH.js +0 -5
  1634. package/dist/organizations-CO2qg44D.js +0 -398
  1635. package/dist/outbox-B1hZ7PPY.d.ts +0 -181
  1636. package/dist/payments-CzjCdIcz.js +0 -16
  1637. package/dist/pg-error-BV_X8Isq.js +0 -26
  1638. package/dist/plugin-D-95Q0w0.d.ts +0 -190
  1639. package/dist/plugin-tfXW1-qO.js +0 -45
  1640. package/dist/pool-cM3rpOQr.d.ts +0 -117
  1641. package/dist/pool-errors-CGqvTQOC.js +0 -27
  1642. package/dist/ports-BCDIbC_U.d.ts +0 -86
  1643. package/dist/ports-P0A5wo_-.d.ts +0 -285
  1644. package/dist/ports-aALjot-D.js +0 -137
  1645. package/dist/postgrest-CjnO1hbr.d.ts +0 -53
  1646. package/dist/preset-Cf0T9GRt.js +0 -691
  1647. package/dist/problem-DCDIQiTA.d.ts +0 -76
  1648. package/dist/problem-JRCohp1j.js +0 -159
  1649. package/dist/provider-C-Ti38J6.js +0 -57
  1650. package/dist/provider-DXgx5oSA.d.ts +0 -113
  1651. package/dist/push-token-y1Gnz5bQ.d.ts +0 -24
  1652. package/dist/query-Ctz-qKRx.js +0 -303
  1653. package/dist/rank-result-BcYfDA0x.d.ts +0 -14
  1654. package/dist/rank-result-DtQuIvob.js +0 -18
  1655. package/dist/rate-limit-DVZ7qIzW.js +0 -49
  1656. package/dist/rate-limit-I3AncmM8.js +0 -325
  1657. package/dist/rate-limit-c6c1mB6R.d.ts +0 -41
  1658. package/dist/ratelimit-headers-Bsxx0Tj2.js +0 -62
  1659. package/dist/react-4ZqkP8da.js +0 -79
  1660. package/dist/react-DzukE6Wp.js +0 -410
  1661. package/dist/react-controller-Xn-IU44p.js +0 -40
  1662. package/dist/react-env-Cc7Vf6eb.js +0 -13
  1663. package/dist/read-set-DeesfeL_.js +0 -314
  1664. package/dist/realtime-status-D2dw1hOE.js +0 -12
  1665. package/dist/realtime-status-DcsO00Gw.d.ts +0 -8
  1666. package/dist/refusal-C7geIBRl.d.ts +0 -18
  1667. package/dist/refusal-CFpfmjcS.js +0 -61
  1668. package/dist/resolve-AtncaPTU.js +0 -877
  1669. package/dist/resolve-Ceft-18-.d.ts +0 -270
  1670. package/dist/resource-Bdkqi8jo.js +0 -463
  1671. package/dist/resource-DO4gbVi5.js +0 -91
  1672. package/dist/resource-DYEtc-KN.d.ts +0 -106
  1673. package/dist/resource-execute-Bxvgmx-n.d.ts +0 -12
  1674. package/dist/resource-schemas-BJ518zFH.js +0 -79
  1675. package/dist/resource-types-LW1i5-h3.d.ts +0 -141
  1676. package/dist/resources-Ck7itNeX.js +0 -64
  1677. package/dist/resources-D3_FAz_H.d.ts +0 -7
  1678. package/dist/respond-BSL36dQp.d.ts +0 -93
  1679. package/dist/respond-Bhp3G__q.js +0 -95
  1680. package/dist/result-BREt7qOh.d.ts +0 -312
  1681. package/dist/result-DIeYscA3.js +0 -134
  1682. package/dist/rrule-Cw4x4Pf_.js +0 -290
  1683. package/dist/rules-BiQgmZ_U.js +0 -287
  1684. package/dist/run-watch-CQRdpy-f.js +0 -53
  1685. package/dist/runtime-BOXURhEW.js +0 -45
  1686. package/dist/sales-lines-C6gafAwg.d.ts +0 -28
  1687. package/dist/sales-lines-CQ1iC6QM.js +0 -41
  1688. package/dist/sales-shared-CDSytDEn.js +0 -22
  1689. package/dist/search-BtoWY6n_.js +0 -9
  1690. package/dist/search-ZP13UTT4.js +0 -106
  1691. package/dist/server-types-fLdep4gb.d.ts +0 -757
  1692. package/dist/session-DObioXpX.d.ts +0 -95
  1693. package/dist/settings-BiHDFglz.js +0 -90
  1694. package/dist/shared-BmMcMoW9.js +0 -89
  1695. package/dist/shared-C9zvURqC.js +0 -14
  1696. package/dist/shared-D5Djh43x.js +0 -60
  1697. package/dist/shared-DDSjEGDR.d.ts +0 -11
  1698. package/dist/sign-in-BCV5S2WZ.d.ts +0 -49
  1699. package/dist/sign-in-z2BaBdps.js +0 -367
  1700. package/dist/signatures-BXlDXV3D.d.ts +0 -43
  1701. package/dist/signatures-CeIoAelK.js +0 -145
  1702. package/dist/signers-BwKV-9S6.d.ts +0 -385
  1703. package/dist/signing-keys-v2MRYkDF.d.ts +0 -105
  1704. package/dist/solid-controller-CWotGxcG.d.ts +0 -11
  1705. package/dist/solid-controller-DLsmrczT.js +0 -33
  1706. package/dist/spec-pins-Dqpml2dZ.d.ts +0 -84
  1707. package/dist/spec-pins-S4PymRxp.js +0 -60
  1708. package/dist/sql-BPKRNutj.js +0 -422
  1709. package/dist/sql-CT1Jnwp8.js +0 -88660
  1710. package/dist/sso-BaU_6ePE.js +0 -217
  1711. package/dist/sso-Bu0mVh0V.d.ts +0 -131
  1712. package/dist/standard-B1BigegP.js +0 -25
  1713. package/dist/standard-BcUQuUgu.d.ts +0 -7
  1714. package/dist/stats-Di5VAsYU.js +0 -1128
  1715. package/dist/store-B18bIvKc.d.ts +0 -68
  1716. package/dist/store-BdH5ruDx.js +0 -66
  1717. package/dist/stripe-NVcNOhHy.d.ts +0 -140
  1718. package/dist/stripe-XZrSmDTf.js +0 -32
  1719. package/dist/subject-readers-BUChuOxL.d.ts +0 -21
  1720. package/dist/subject-readers-BpwUFJtp.js +0 -46
  1721. package/dist/subjects-DP-fvFkk.d.ts +0 -77
  1722. package/dist/subscribers-Cq--DL1E.js +0 -34
  1723. package/dist/supabase-mcp-C6tMoEjn.d.ts +0 -43
  1724. package/dist/supabase-mcp-DomZ-amK.js +0 -28
  1725. package/dist/support-C2wPYwD7.js +0 -522
  1726. package/dist/support-view-Bj_lZ8Wr.d.ts +0 -17
  1727. package/dist/svelte-controller-CDAujo-_.js +0 -50
  1728. package/dist/svelte-controller-sS4X66yL.d.ts +0 -10
  1729. package/dist/table-schema-pQlER3jj.js +0 -283
  1730. package/dist/tags-B99_U9Pp.js +0 -39
  1731. package/dist/tags-BqgaxCnv.js +0 -84
  1732. package/dist/tags-BrGopDVG.d.ts +0 -30
  1733. package/dist/tax-DMWDUzKt.d.ts +0 -273
  1734. package/dist/tax-wm9g2mD2.js +0 -140
  1735. package/dist/tee-Cw-iJAWL.js +0 -101
  1736. package/dist/template-Dw3dTmKe.js +0 -123
  1737. package/dist/temporal-CB5Fpo5d.js +0 -79
  1738. package/dist/temporal-required-nfZ87U-0.js +0 -20
  1739. package/dist/tenant-B-fiItlJ.js +0 -27
  1740. package/dist/tenant-DZMLVuyQ.d.ts +0 -17
  1741. package/dist/tenant-naming-Bsj3Uvap.js +0 -27
  1742. package/dist/timing-BMCWgpdZ.js +0 -92
  1743. package/dist/topic-DAY_HOX2.d.ts +0 -387
  1744. package/dist/topic-mee21pux.js +0 -629
  1745. package/dist/ttl-Hr34gRu8.js +0 -12
  1746. package/dist/ttl-cache-XzZ-Q2eX.js +0 -29
  1747. package/dist/types-BA1eTvy4.d.ts +0 -162
  1748. package/dist/types-BEEFkNFY.d.ts +0 -564
  1749. package/dist/types-BRTSpOIh.js +0 -5
  1750. package/dist/types-Bels39_u.d.ts +0 -649
  1751. package/dist/types-BrpW5ixT.d.ts +0 -370
  1752. package/dist/types-DOC7wnh6.d.ts +0 -249
  1753. package/dist/types-D_2rClz-.d.ts +0 -205
  1754. package/dist/undo-B5LgpGLy.js +0 -44
  1755. package/dist/undo-BsdYRox7.d.ts +0 -43
  1756. package/dist/upload-claim-BBFCZbBF.js +0 -33
  1757. package/dist/usage-C504GF55.d.ts +0 -220
  1758. package/dist/usage-DdqT13_X.js +0 -261
  1759. package/dist/user-change-XzvgafU4.js +0 -130
  1760. package/dist/vault-ClkzMGTP.d.ts +0 -50
  1761. package/dist/verify-DU4p9-Ve.d.ts +0 -142
  1762. package/dist/verify-DnU-uWU2.js +0 -126
  1763. package/dist/version-DSWxci83.js +0 -4
  1764. package/dist/view-CYX1wsgp.js +0 -105
  1765. package/dist/view-KQhe6eNc.d.ts +0 -90
  1766. package/dist/vue-controller-BUo1oove.d.ts +0 -11
  1767. package/dist/vue-controller-C9tFzqAc.js +0 -32
  1768. package/dist/watch-5btote1y.d.ts +0 -84
  1769. package/dist/watch-BAuIzC2r.js +0 -139
  1770. package/dist/watch-topic-C79ZW5-R.d.ts +0 -28
  1771. package/dist/watch-topic-miuymrli.js +0 -57
  1772. package/dist/wire-BCJxCtHS.js +0 -45
  1773. package/dist/workflow-builder-CynLqc6H.js +0 -697
  1774. package/dist/workflow-sdk-CWdCWj7M.d.ts +0 -161
  1775. package/dist/workflow-sdk-QnnzIQRc.js +0 -243
  1776. package/dist/workflow-sdk-world-QzcxaaCD.js +0 -2103
  1777. package/dist/workflows-DQBCzrHC.d.ts +0 -243
  1778. package/dist/workflows-H9qJge3f.js +0 -282
@@ -0,0 +1,2023 @@
1
+ import { r as isPlainObject, t as cloneValue } from "./clone-CkG0-hlI.js";
2
+ import { t as DbException } from "./db-exception-Lngc1W49.js";
3
+ import { n as dbError } from "./errors-03ysrOt4.js";
4
+ import { n as invalidRequest, t as builderFor } from "./build-g9wTbQdp.js";
5
+ import { t as lookupOf } from "./lookup-BaP5bI27.js";
6
+ import { i as or, n as column, r as not, t as and } from "./types-R6syp1el.js";
7
+ import { c as optionalTemporal, l as provideTemporal, s as nowInstant, u as providedTemporal } from "./temporal-DLZlWbOi.js";
8
+ import { i as encodeValue, n as decodeScalar, r as decodeValue } from "./wire-Bizdxvp-.js";
9
+ import { a as ok, c as withErrorMapper, r as err, s as toDbError, t as AsyncResult } from "./result-B3m7xtRY.js";
10
+ import { t as invalidationTargets } from "./tables-Cb-3_VWc.js";
11
+ import { t as vectorLiteral } from "./search-Cn_DGluL.js";
12
+ import { t as consoleLogger } from "./logger-glM28NVN.js";
13
+ import { n as errorEvent, t as EventHub } from "./events-D6IZ5CE8.js";
14
+ import { n as isRecord, t as isList } from "./guards-6F2bCtQR.js";
15
+ import { i as orderPlugins } from "./plugin-D9bYbYli.js";
16
+ import { t as simplify } from "./simplify-DDO0j0LI.js";
17
+ import { a as postgrestExecutor, c as invalidTuning, l as tuningOf, n as StatsRecorder, o as NO_TUNING, r as recordStats, s as deadline } from "./stats-qCEV5M3B.js";
18
+ import { n as isQuerySpec, r as specTables, t as createSpecs } from "./spec-CoWHDoud.js";
19
+ import { n as checkParams, o as isReadSet, r as containsPlaceholder, t as bindParams } from "./read-set-BAR84kPC.js";
20
+ import { a as toBase64Url, t as base64ToText } from "./base64-B9Wlsdj7.js";
21
+ import { n as validate } from "./standard-DtkpFGkS.js";
22
+ //#region src/core/batch.ts
23
+ /**
24
+ * A signal that aborts once every reader's signal has, so one reader giving up
25
+ * never cancels the operations of the others. `undefined` when a reader has no
26
+ * signal.
27
+ */
28
+ function allAborted(signals) {
29
+ const present = signals.filter((signal) => signal !== void 0);
30
+ if (present.length < signals.length) return;
31
+ if (present.length === 1) return present[0];
32
+ const controller = new AbortController();
33
+ const check = () => {
34
+ if (present.every((signal) => signal.aborted)) controller.abort();
35
+ };
36
+ for (const signal of present) signal.addEventListener("abort", check, { once: true });
37
+ check();
38
+ return controller.signal;
39
+ }
40
+ /**
41
+ * Holds operations until each of `readers` has either submitted one or
42
+ * finished, then runs the held ones through `batch` together. A reader that
43
+ * runs a second operation joins the next batch.
44
+ */
45
+ function batchingExecutor(base, readers) {
46
+ let running = readers;
47
+ const queue = [];
48
+ const flush = () => {
49
+ if (queue.length === 0 || queue.length < running) return;
50
+ const items = queue.splice(0);
51
+ const { signal: _first, ...shared } = items[0].context;
52
+ const signal = allAborted(items.map((item) => item.context.signal));
53
+ const context = signal ? {
54
+ ...shared,
55
+ signal
56
+ } : shared;
57
+ for (const item of items) item.context.signal?.addEventListener("abort", () => {
58
+ item.resolve(err(dbError("aborted", "The request was aborted")));
59
+ }, { once: true });
60
+ base.batch(items.map((item) => item.op), context).then((results) => {
61
+ for (const [index, item] of items.entries()) item.resolve(results[index] ?? err(toDbError(/* @__PURE__ */ new Error(`Executor "${base.name}" returned too few results`))));
62
+ }, (cause) => {
63
+ for (const item of items) item.resolve(err(toDbError(cause)));
64
+ });
65
+ };
66
+ return {
67
+ executor: {
68
+ name: base.name,
69
+ execute: (op, context) => new Promise((resolve) => {
70
+ queue.push({
71
+ op,
72
+ context,
73
+ resolve
74
+ });
75
+ flush();
76
+ }),
77
+ ...base.rpc ? { rpc: base.rpc.bind(base) } : {}
78
+ },
79
+ done: () => {
80
+ running -= 1;
81
+ flush();
82
+ }
83
+ };
84
+ }
85
+ //#endregion
86
+ //#region src/core/cache.ts
87
+ /** Primary key of a row as a string, or `undefined` when it isn't returned. */
88
+ function rowKey(table, row) {
89
+ if (table.primaryKey.length === 0) return;
90
+ const parts = table.primaryKey.map((column) => row[column]);
91
+ if (parts.some((part) => part === void 0 || part === null)) return;
92
+ return parts.map(String).join(",");
93
+ }
94
+ function cacheTargetOf(meta, notice) {
95
+ const table = meta.tables[notice.table];
96
+ const rows = notice.rows.length > 0 ? notice.rows : notice.keys ?? [];
97
+ const ids = table ? [...new Set(rows.flatMap((row) => rowKey(table, row) ?? []))] : [];
98
+ const tenant = notice.tenant ?? notice.context.tenant;
99
+ return {
100
+ table: notice.table,
101
+ tables: notice.kind === "delete" ? invalidationTargets(meta, notice.table) : [notice.table],
102
+ ids,
103
+ ...tenant === void 0 ? {} : { tenant }
104
+ };
105
+ }
106
+ /** One target per table an RPC changes; RPCs report no row ids. */
107
+ function rpcCacheTargets(meta, notice) {
108
+ const tenant = notice.context.tenant;
109
+ return notice.invalidates.map((table) => ({
110
+ table,
111
+ tables: invalidationTargets(meta, table),
112
+ ids: [],
113
+ ...tenant === void 0 ? {} : { tenant }
114
+ }));
115
+ }
116
+ /** Records invalidations. For tests and for checking what a mutation touches. */
117
+ function memoryCache() {
118
+ const invalidated = [];
119
+ return {
120
+ name: "memory",
121
+ invalidated,
122
+ invalidate: (target) => {
123
+ invalidated.push(target);
124
+ },
125
+ clear: () => {
126
+ invalidated.length = 0;
127
+ }
128
+ };
129
+ }
130
+ //#endregion
131
+ //#region src/core/db-search.ts
132
+ /**
133
+ * `db.$search({ score: true })`: the ranked ids and scores from
134
+ * `search_<table>_scores`, then those rows through the table (RLS and `where`
135
+ * apply), best first, each with `$score`.
136
+ */
137
+ async function scoredSearch(runner, table, fnArgs, args, hint) {
138
+ const [key, ...rest] = table.primaryKey;
139
+ if (key === void 0 || rest.length > 0) return err(dbError("invalid_request", "db.$search({ score: true }) needs a table with a one-column primary key", { table: table.key }));
140
+ const { builder } = runner.runtime;
141
+ const scoresTable = {
142
+ key: `${table.key}$scores`,
143
+ name: `search_${table.name}_scores`,
144
+ schema: table.schema,
145
+ kind: "view",
146
+ columns: {
147
+ id: {
148
+ db: "id",
149
+ type: "jsonb",
150
+ nullable: false,
151
+ hasDefault: false
152
+ },
153
+ score: {
154
+ db: "score",
155
+ type: "float8",
156
+ nullable: false,
157
+ hasDefault: false
158
+ }
159
+ },
160
+ primaryKey: [],
161
+ uniqueKeys: {},
162
+ relations: {},
163
+ flags: {}
164
+ };
165
+ const scored = await runner.runInternal({
166
+ kind: "select",
167
+ table: scoresTable,
168
+ selection: builder.selection(scoresTable, ["id", "score"], void 0),
169
+ where: void 0,
170
+ orderBy: [],
171
+ limit: void 0,
172
+ offset: void 0,
173
+ count: void 0,
174
+ head: false,
175
+ single: void 0,
176
+ source: {
177
+ schema: table.schema,
178
+ name: scoresTable.name,
179
+ args: fnArgs
180
+ }
181
+ }, table, args.signal);
182
+ if (!scored.ok) return err(hint(scored.error));
183
+ const ranked = scored.data.rows.flatMap((row) => row["score"] === void 0 || row["score"] === null ? [] : [{
184
+ id: row["id"],
185
+ score: Number(row["score"])
186
+ }]);
187
+ if (ranked.length === 0) return ok([]);
188
+ const byId = new Map(ranked.map((entry) => [String(entry.id), entry]));
189
+ const op = {
190
+ kind: "select",
191
+ table,
192
+ selection: builder.selection(table, args.select, args.include),
193
+ where: builder.where(table, { AND: [...args.where === void 0 ? [] : [args.where], { [key]: { in: ranked.map((entry) => entry.id) } }] }),
194
+ orderBy: [],
195
+ limit: ranked.length,
196
+ offset: void 0,
197
+ count: void 0,
198
+ head: false,
199
+ single: void 0
200
+ };
201
+ const result = await runner.run(op, {}, args.signal);
202
+ if (!result.ok) return result;
203
+ return ok(result.data.rows.flatMap((row) => {
204
+ const entry = byId.get(String(row[key]));
205
+ return entry ? [{
206
+ ...row,
207
+ $score: entry.score
208
+ }] : [];
209
+ }).toSorted((a, b) => b.$score - a.$score));
210
+ }
211
+ /**
212
+ * `db.$search(table, args)`: nearest rows from the table's `search_<table>`
213
+ * function.
214
+ */
215
+ function searchTable(runner, base, meta, name, args) {
216
+ return AsyncResult.from(async () => {
217
+ const table = Object.hasOwn(meta.tables, name) ? meta.tables[name] : void 0;
218
+ if (!table) return err(dbError("invalid_request", `db.$search(): unknown table "${name}"`));
219
+ if (!base.functionSources) return err(dbError("invalid_request", `db.$search() reads from a function; the ${base.name} executor doesn't support that`, { table: table.key }));
220
+ const query = (args.vector === void 0 || args.vector === null) && args.text !== void 0 ? null : vectorLiteral(args.vector ?? []);
221
+ const k = args.k ?? 10;
222
+ if (query === void 0 || !Number.isInteger(k) || k < 1) return err(dbError("invalid_input", "db.$search() needs a vector of finite numbers (or text alone on a hybrid entry) and a positive integer k", { table: table.key }));
223
+ const { builder } = runner.runtime;
224
+ const fnArgs = {
225
+ query,
226
+ k,
227
+ ...args.filter === void 0 ? {} : { filter: args.filter },
228
+ ...args.text === void 0 ? {} : { text_query: args.text }
229
+ };
230
+ const hint = (error) => error.code === "PGRST202" || error.code === "42883" ? {
231
+ ...error,
232
+ hint: `Add "${table.schema}.${table.name}" to vectorSearch in better-supabase.config.ts (with prefilter or hybrid for filter and text) and run \`better-supabase sql sync\`.`
233
+ } : error;
234
+ if (args.score) return scoredSearch(runner, table, fnArgs, args, hint);
235
+ const op = {
236
+ kind: "select",
237
+ table,
238
+ selection: builder.selection(table, args.select, args.include),
239
+ where: builder.where(table, args.where),
240
+ orderBy: [],
241
+ limit: k,
242
+ offset: void 0,
243
+ count: void 0,
244
+ head: false,
245
+ single: void 0,
246
+ source: {
247
+ schema: table.schema,
248
+ name: `search_${table.name}`,
249
+ args: fnArgs
250
+ }
251
+ };
252
+ const result = await runner.run(op, {}, args.signal);
253
+ if (result.ok) return ok(result.data.rows);
254
+ return err(hint(result.error));
255
+ });
256
+ }
257
+ //#endregion
258
+ //#region src/core/define-plugins.ts
259
+ function isExecutor(value) {
260
+ return typeof value === "object" && value !== null && typeof value.execute === "function" && typeof value.name === "string";
261
+ }
262
+ /** No plugins, one shared array so the caches keyed on a plugin list hit. */
263
+ const NO_PLUGINS = Object.freeze([]);
264
+ /**
265
+ * The kept lists per installed list and `keep` names, so each is one stable
266
+ * array.
267
+ */
268
+ const keptLists = /* @__PURE__ */ new WeakMap();
269
+ /**
270
+ * The installed plugins named in `keep`; a name that isn't installed throws, so
271
+ * a typo can't drop tracing silently.
272
+ */
273
+ function keptPlugins(plugins, keep) {
274
+ if (keep.length === 0) return NO_PLUGINS;
275
+ let byKeep = keptLists.get(plugins);
276
+ if (!byKeep) {
277
+ byKeep = /* @__PURE__ */ new Map();
278
+ keptLists.set(plugins, byKeep);
279
+ }
280
+ const key = keep.join("\0");
281
+ const cached = byKeep.get(key);
282
+ if (cached) return cached;
283
+ for (const name of keep) if (!plugins.some((plugin) => plugin.name === name)) throw new TypeError(`better-supabase: $withoutPlugins({ keep }) names "${name}", which is not installed. Installed: ${plugins.map((plugin) => plugin.name).join(", ") || "none"}`);
284
+ const kept = plugins.filter((plugin) => keep.includes(plugin.name));
285
+ byKeep.set(key, kept);
286
+ return kept;
287
+ }
288
+ //#endregion
289
+ //#region src/core/diagnostics.ts
290
+ /**
291
+ * Debug records for the `diagnostics` option, after the Supabase SDK capability
292
+ * `client.observability.diagnostic_logging`
293
+ * (`SPEC_PINS.supabaseSdkCapabilities`). Fields are names, kinds, counts and
294
+ * timings only: never tokens, keys, row values, filters, query strings, headers
295
+ * or database error messages, which can quote the data.
296
+ */
297
+ function logDiagnostics(events) {
298
+ const logger = { debug(message, fields) {
299
+ try {
300
+ events.logger.debug(message, fields);
301
+ } catch {}
302
+ } };
303
+ events.on("query", (event) => {
304
+ logger.debug(`${event.operation} ${event.table} ${event.ok ? "ok" : "failed"} in ${String(Math.round(event.durationMs))}ms`, {
305
+ table: event.table,
306
+ operation: event.operation,
307
+ ok: event.ok,
308
+ durationMs: event.durationMs,
309
+ rows: event.rows,
310
+ truncated: event.truncated
311
+ });
312
+ });
313
+ events.on("error", ({ table, error }) => {
314
+ logger.debug(`${error.kind} error${table ? ` on ${table}` : ""}`, {
315
+ ...table ? { table } : {},
316
+ kind: error.kind,
317
+ status: error.status,
318
+ ...error.code ? { code: error.code } : {}
319
+ });
320
+ });
321
+ events.on("refresh", (event) => {
322
+ logger.debug(`session refresh ${event.ok ? "ok" : "failed"} in ${String(Math.round(event.durationMs))}ms`, {
323
+ ok: event.ok,
324
+ shared: event.shared,
325
+ durationMs: event.durationMs
326
+ });
327
+ });
328
+ events.on("auth", (event) => {
329
+ logger.debug(`auth from ${event.source}: ${event.ok ? "user" : event.reason ?? "no user"}`, {
330
+ source: event.source,
331
+ ok: event.ok,
332
+ ...event.reason ? { reason: event.reason } : {}
333
+ });
334
+ });
335
+ }
336
+ /**
337
+ * The event hub of a new definition, with the diagnostic handlers when
338
+ * `diagnostics` is on.
339
+ */
340
+ function definitionEvents(options) {
341
+ const events = new EventHub(options.logger ?? consoleLogger, options.now);
342
+ if (options.diagnostics === true) logDiagnostics(events);
343
+ return events;
344
+ }
345
+ //#endregion
346
+ //#region src/ir/codec.ts
347
+ /** Whether decoding `selection` changes anything, so plain reads skip the walk. */
348
+ function needsDecoding(selection) {
349
+ let needs = decodes.get(selection);
350
+ if (needs === void 0) {
351
+ needs = computeNeedsDecoding(selection);
352
+ decodes.set(selection, needs);
353
+ }
354
+ return needs;
355
+ }
356
+ const decodes = /* @__PURE__ */ new WeakMap();
357
+ function computeNeedsDecoding(selection) {
358
+ return selection.aggregate !== void 0 || selection.columns.some((column) => column.codec !== void 0) || selection.includes.some((include) => include.count !== void 0 || include.aggregate !== void 0 || needsDecoding(include.selection));
359
+ }
360
+ /**
361
+ * PostgREST returns `[{ count }]` for a `(count)` embed; SQL returns the
362
+ * number.
363
+ */
364
+ function countOf$1(value) {
365
+ if (Array.isArray(value)) {
366
+ const first = value[0];
367
+ return Number(first?.count ?? 0);
368
+ }
369
+ return Number(value ?? 0);
370
+ }
371
+ function measureOf(measure, value) {
372
+ if (value === void 0 || value === null) return null;
373
+ return measure.codec ? decodeScalar(measure.codec, value) : value;
374
+ }
375
+ /** Adds `value` under `row[key][name]`, next to what is already there. */
376
+ function fold(row, folded, key, name, value) {
377
+ let target = folded.get(key);
378
+ if (!target) {
379
+ target = { ...row[key] };
380
+ folded.set(key, target);
381
+ row[key] = target;
382
+ }
383
+ target[name] = value;
384
+ }
385
+ const droppedKeys = /* @__PURE__ */ new WeakMap();
386
+ /** Wire keys that decoding folds into `_count`, `_sum` and the rest. */
387
+ function droppedOf(selection) {
388
+ let dropped = droppedKeys.get(selection);
389
+ if (!dropped) {
390
+ dropped = /* @__PURE__ */ new Set([...selection.aggregate?.measures.map((measure) => measure.key) ?? [], ...selection.includes.filter((include) => include.count !== void 0 || include.aggregate !== void 0).map((include) => include.alias)]);
391
+ droppedKeys.set(selection, dropped);
392
+ }
393
+ return dropped;
394
+ }
395
+ function decodeRow$1(selection, row) {
396
+ const dropped = droppedOf(selection);
397
+ const out = {};
398
+ for (const key in row) if (!dropped.has(key) && Object.hasOwn(row, key)) out[key] = row[key];
399
+ const folded = /* @__PURE__ */ new Map();
400
+ for (const column of selection.columns) {
401
+ if (!column.codec || !(column.alias in out)) continue;
402
+ try {
403
+ out[column.alias] = decodeValue(column.codec, out[column.alias]);
404
+ } catch (cause) {
405
+ if (!(cause instanceof DbException) || cause.error.kind !== "invalid_value") throw cause;
406
+ throw new DbException(dbError("invalid_value", `${column.alias}: ${cause.error.message}`, { column: column.alias }));
407
+ }
408
+ }
409
+ if (selection.aggregate) {
410
+ if (selection.aggregate.count) out["_count"] = countOf$1(out["_count"]);
411
+ for (const measure of selection.aggregate.measures) {
412
+ const value = row[measure.key];
413
+ fold(out, folded, `_${measure.fn}`, measure.alias, measureOf(measure, value));
414
+ }
415
+ }
416
+ for (const include of selection.includes) {
417
+ const value = row[include.alias];
418
+ if (include.count !== void 0) {
419
+ if (!(include.alias in row)) continue;
420
+ fold(out, folded, "_count", include.count, countOf$1(value));
421
+ continue;
422
+ }
423
+ if (include.aggregate !== void 0) {
424
+ if (!(include.alias in row)) continue;
425
+ const inner = Array.isArray(value) ? value[0] : value;
426
+ const measures = {};
427
+ for (const measure of include.selection.aggregate?.measures ?? []) measures[measure.alias] = measureOf(measure, inner?.[measure.key]);
428
+ fold(out, folded, `_${include.aggregate.fn}`, include.aggregate.name, measures);
429
+ continue;
430
+ }
431
+ if (Array.isArray(value)) out[include.alias] = value.map((item) => decodeRow$1(include.selection, item));
432
+ else if (value && typeof value === "object") out[include.alias] = decodeRow$1(include.selection, value);
433
+ }
434
+ return out;
435
+ }
436
+ /** Applies column codecs to returned rows, including embedded relations. */
437
+ function decodeRows(selection, rows, checked = false) {
438
+ if (!selection || !checked && !needsDecoding(selection)) return rows;
439
+ return rows.map((row) => decodeRow$1(selection, row));
440
+ }
441
+ //#endregion
442
+ //#region src/core/cursor.ts
443
+ function isBound(value) {
444
+ return typeof value === "object" && value !== null && "s" in value && typeof value.s === "string" && "v" in value && Array.isArray(value.v);
445
+ }
446
+ function parse(cursor) {
447
+ try {
448
+ return JSON.parse(base64ToText(cursor));
449
+ } catch {
450
+ return;
451
+ }
452
+ }
453
+ /** Opaque, URL-safe keyset cursor. */
454
+ function encodeCursor(values) {
455
+ return toBase64Url(JSON.stringify(values));
456
+ }
457
+ /** The values of a cursor from `encodeCursor` or from `paginate()`. */
458
+ function decodeCursor(cursor) {
459
+ const parsed = parse(cursor);
460
+ if (isList(parsed)) return [...parsed];
461
+ return isBound(parsed) ? parsed.v : void 0;
462
+ }
463
+ /** A short FNV-1a hash of `text`, enough to tell two sorts apart. */
464
+ function sortKey(text) {
465
+ let hash = 2166136261;
466
+ for (let index = 0; index < text.length; index += 1) {
467
+ hash ^= text.codePointAt(index) ?? 0;
468
+ hash = Math.imul(hash, 16777619);
469
+ }
470
+ return (hash >>> 0).toString(36);
471
+ }
472
+ /** A `paginate()` cursor that only continues the sort `key` names. */
473
+ function encodeBoundCursor(values, key) {
474
+ return toBase64Url(JSON.stringify({
475
+ s: key,
476
+ v: values
477
+ }));
478
+ }
479
+ /**
480
+ * The values of a `paginate()` cursor made for the sort `key`. `sort` means the
481
+ * cursor is valid but continues another sort or table.
482
+ */
483
+ function decodeBoundCursor(cursor, key) {
484
+ const parsed = parse(cursor);
485
+ if (!isBound(parsed)) return { invalid: "cursor" };
486
+ return parsed.s === key ? { values: parsed.v } : { invalid: "sort" };
487
+ }
488
+ //#endregion
489
+ //#region src/core/keyset.ts
490
+ /**
491
+ * The rows after the cursor `values` in `orderBy` order, as an OR of ANDs: `a >
492
+ * x or (a = x and b > y)`. The SQL compiler sends that shape as the row
493
+ * comparison `(a, b) > (x, y)`. Nulls sort where Postgres puts them: last for
494
+ * `asc`, first for `desc`, unless the term says otherwise.
495
+ */
496
+ function keysetCondition(orderBy, values, nullable) {
497
+ const isNull = (name) => column(name, "is", null);
498
+ const branches = orderBy.flatMap((term, index) => {
499
+ const value = values[index];
500
+ const nullsFirst = (term.nulls ?? (term.direction === "desc" ? "first" : "last")) === "first";
501
+ const after = column(term.column, term.direction === "asc" ? "gt" : "lt", value);
502
+ const step = value === null ? nullsFirst ? not(isNull(term.column)) : void 0 : nullsFirst || !nullable(term.column) ? after : or(after, isNull(term.column));
503
+ if (!step) return [];
504
+ const equal = orderBy.slice(0, index).map((prev, prevIndex) => values[prevIndex] === null ? isNull(prev.column) : column(prev.column, "eq", values[prevIndex]));
505
+ return [and(...equal, step) ?? step];
506
+ });
507
+ if (branches.length === 0) return column(orderBy[0]?.column ?? "", "in", []);
508
+ const after = or(...branches);
509
+ const [first] = orderBy;
510
+ if (orderBy.length < 2 || !first || values[0] === null || nullable(first.column)) return after;
511
+ const bound = column(first.column, first.direction === "asc" ? "gte" : "lte", values[0]);
512
+ return and(bound, after) ?? after;
513
+ }
514
+ //#endregion
515
+ //#region src/core/paginate.ts
516
+ /**
517
+ * The page size and row offset of a list call, or the reason its arguments are
518
+ * invalid.
519
+ */
520
+ function pageWindow(args) {
521
+ if (args["offset"] !== void 0 || args["limit"] !== void 0) {
522
+ if (args["page"] !== void 0 || args["size"] !== void 0) return { invalid: "Pass \"offset\" and \"limit\" or \"page\" and \"size\"" };
523
+ const limit = Number(args["limit"]);
524
+ if (!Number.isInteger(limit) || limit < 1) return { invalid: "\"limit\" must be a positive integer" };
525
+ const offset = Number(args["offset"]);
526
+ if (!Number.isInteger(offset) || offset < 0) return { invalid: "\"offset\" must be a non-negative integer" };
527
+ return {
528
+ size: limit,
529
+ offset
530
+ };
531
+ }
532
+ const size = Number(args["size"]);
533
+ if (!Number.isInteger(size) || size < 1) return { invalid: "\"size\" must be a positive integer" };
534
+ const number = args["page"] === void 0 ? 1 : Number(args["page"]);
535
+ if (!Number.isInteger(number) || number < 1) return { invalid: "\"page\" must be a positive integer" };
536
+ return {
537
+ size,
538
+ offset: (number - 1) * size
539
+ };
540
+ }
541
+ /**
542
+ * The `{ items, page }` answer of an offset page from the rows read with one
543
+ * extra row.
544
+ */
545
+ function offsetEnvelope(rows, total, size, offset) {
546
+ return {
547
+ items: rows.slice(0, size),
548
+ page: {
549
+ number: Math.floor(offset / size) + 1,
550
+ size,
551
+ total,
552
+ pages: total === null ? null : Math.max(1, Math.ceil(total / size)),
553
+ hasMore: rows.length > size
554
+ }
555
+ };
556
+ }
557
+ /** A copy of the row without the given keys. */
558
+ function strip(row, keys) {
559
+ const copy = {};
560
+ for (const key in row) if (!keys.includes(key) && Object.hasOwn(row, key)) copy[key] = row[key];
561
+ return copy;
562
+ }
563
+ //#endregion
564
+ //#region src/core/row-keys.ts
565
+ /** App-cased primary keys of `rows`, or of a `where` that pins the primary key. */
566
+ function keysOf(op, rows) {
567
+ const { primaryKey } = op.table;
568
+ if (primaryKey.length === 0) return;
569
+ const fromRows = rows.flatMap((row) => primaryKey.every((name) => row[name] !== void 0 && row[name] !== null) ? [Object.fromEntries(primaryKey.map((name) => [name, row[name]]))] : []);
570
+ if (fromRows.length > 0) return fromRows;
571
+ if (op.kind === "insert") return;
572
+ return keysFromWhere(op.table, op.where);
573
+ }
574
+ function keysFromWhere(table, where) {
575
+ if (!where) return;
576
+ const { byDb } = lookupOf(table);
577
+ const pinned = /* @__PURE__ */ new Map();
578
+ const items = [];
579
+ const flatten = (condition) => {
580
+ if (condition.kind === "and") for (const item of condition.items) flatten(item);
581
+ else items.push(condition);
582
+ };
583
+ flatten(where);
584
+ for (const item of items) {
585
+ if (item.kind !== "column" || item.path) continue;
586
+ const app = byDb.get(item.column)?.[0];
587
+ if (app === void 0 || !table.primaryKey.includes(app)) continue;
588
+ if (item.op === "eq") pinned.set(app, [item.value]);
589
+ else if (item.op === "in" && Array.isArray(item.value)) pinned.set(app, item.value);
590
+ }
591
+ if (pinned.size !== table.primaryKey.length) return;
592
+ const [first, ...rest] = table.primaryKey;
593
+ if (first === void 0) return;
594
+ if (rest.length === 0) return (pinned.get(first) ?? []).map((value) => ({ [first]: value }));
595
+ if ([...pinned.values()].some((values) => values.length !== 1)) return;
596
+ return [Object.fromEntries(table.primaryKey.map((name) => [name, pinned.get(name)?.[0]]))];
597
+ }
598
+ /**
599
+ * Rows in conflict-key order, so concurrent upserts lock the same rows in the
600
+ * same order instead of deadlocking.
601
+ */
602
+ function byKey(rows, columns) {
603
+ const compare = (left, right) => {
604
+ if (left === right) return 0;
605
+ if (left === null || left === void 0) return 1;
606
+ if (right === null || right === void 0) return -1;
607
+ if (typeof left === "number" && typeof right === "number") return left - right;
608
+ if (typeof left === "bigint" && typeof right === "bigint") return left < right ? -1 : 1;
609
+ const a = String(left);
610
+ const b = String(right);
611
+ return a < b ? -1 : a > b ? 1 : 0;
612
+ };
613
+ const keyed = rows.map((row) => ({
614
+ row,
615
+ key: columns.map((column) => {
616
+ const value = row[column];
617
+ return typeof value === "object" && value !== null ? String(value) : value;
618
+ })
619
+ }));
620
+ keyed.sort((left, right) => {
621
+ for (let index = 0; index < columns.length; index += 1) {
622
+ const order = compare(left.key[index], right.key[index]);
623
+ if (order !== 0) return order;
624
+ }
625
+ return 0;
626
+ });
627
+ return keyed.map((entry) => entry.row);
628
+ }
629
+ //#endregion
630
+ //#region src/core/runner.ts
631
+ const KNOWN_KEYS = /* @__PURE__ */ new Set([
632
+ "select",
633
+ "include",
634
+ "where",
635
+ "orderBy",
636
+ "limit",
637
+ "offset",
638
+ "signal",
639
+ "returning",
640
+ "expect",
641
+ "onConflict",
642
+ "ignoreDuplicates",
643
+ "page",
644
+ "size",
645
+ "count",
646
+ "after",
647
+ "mode",
648
+ "data",
649
+ "groupBy",
650
+ "_count",
651
+ "_sum",
652
+ "_avg",
653
+ "_min",
654
+ "_max",
655
+ "timeout",
656
+ "retry",
657
+ "maxAffected",
658
+ "defaultToNull"
659
+ ]);
660
+ const NO_OPTIONS = Object.freeze({});
661
+ function optionsOf(args) {
662
+ if (!args) return NO_OPTIONS;
663
+ let options;
664
+ for (const key in args) if (!KNOWN_KEYS.has(key) && Object.hasOwn(args, key)) (options ??= {})[key] = args[key];
665
+ return options ?? NO_OPTIONS;
666
+ }
667
+ const hooksByPlugins = /* @__PURE__ */ new WeakMap();
668
+ function hooksOf(plugins) {
669
+ let hooks = hooksByPlugins.get(plugins);
670
+ if (!hooks) {
671
+ hooks = {
672
+ transformQuery: plugins.filter((plugin) => plugin.transformQuery),
673
+ beforeMutation: plugins.filter((plugin) => plugin.beforeMutation),
674
+ afterMutation: plugins.filter((plugin) => plugin.afterMutation)
675
+ };
676
+ hooksByPlugins.set(plugins, hooks);
677
+ }
678
+ return hooks;
679
+ }
680
+ function isThenable(value) {
681
+ return typeof value === "object" && value !== null && "then" in value && typeof value.then === "function";
682
+ }
683
+ function signalOf(args) {
684
+ const signal = args?.["signal"];
685
+ return signal instanceof AbortSignal ? signal : void 0;
686
+ }
687
+ function cloneRows(rows) {
688
+ return rows.map((row) => cloneValue(row));
689
+ }
690
+ function mutationKind(op) {
691
+ if (op.kind === "insert") return op.onConflict ? "upsert" : "insert";
692
+ return op.kind;
693
+ }
694
+ /** Runs operations through plugins, the executor and the event hub. */
695
+ var OperationRunner = class {
696
+ runtime;
697
+ #hooks;
698
+ constructor(runtime) {
699
+ this.runtime = runtime;
700
+ this.#hooks = hooksOf(runtime.plugins);
701
+ }
702
+ hookArgs(table, options, signal) {
703
+ return {
704
+ table,
705
+ schema: this.runtime.meta,
706
+ context: this.runtime.context,
707
+ options,
708
+ now: this.runtime.now,
709
+ ...signal ? { signal } : {}
710
+ };
711
+ }
712
+ async run(op, options, signal, tuning = NO_TUNING) {
713
+ const { runtime } = this;
714
+ const hooks = this.#hooks;
715
+ if ("invalid" in tuning) return this.fail(op.table, dbError("invalid_request", tuning.invalid));
716
+ const { timeout, retry } = {
717
+ ...runtime.tuning,
718
+ ...tuning
719
+ };
720
+ const invalid = invalidTuning({
721
+ timeout,
722
+ retry
723
+ });
724
+ if (invalid) return this.fail(op.table, dbError("invalid_request", invalid));
725
+ let current = op;
726
+ if (hooks.transformQuery.length > 0 || hooks.beforeMutation.length > 0) {
727
+ const hook = this.hookArgs(op.table, options, signal);
728
+ let active = "";
729
+ try {
730
+ for (const plugin of hooks.transformQuery) {
731
+ active = `plugin "${plugin.name}" transformQuery`;
732
+ current = plugin.transformQuery(current, hook);
733
+ }
734
+ if (current.kind !== "select") {
735
+ let mutation = current;
736
+ for (const plugin of hooks.beforeMutation) {
737
+ active = `plugin "${plugin.name}" beforeMutation`;
738
+ const next = plugin.beforeMutation(mutation, hook);
739
+ mutation = isThenable(next) ? await next : next;
740
+ }
741
+ current = mutation;
742
+ }
743
+ } catch (cause) {
744
+ if (cause instanceof DbException) return this.fail(op.table, cause.error);
745
+ return this.fail(op.table, {
746
+ ...toDbError(cause),
747
+ details: `${active} threw`
748
+ });
749
+ }
750
+ }
751
+ if (current.kind === "update" && Object.keys(current.set).length === 0) return this.fail(op.table, dbError("invalid_request", `The update on "${op.table.key}" sets no columns`));
752
+ const timed = runtime.events.has("query");
753
+ const started = timed ? performance.now() : 0;
754
+ const executed = await this.#execute(current, signal, timeout, retry);
755
+ const selection = current.kind === "select" ? current.selection : current.returning;
756
+ let result = executed;
757
+ if (executed.ok && selection && needsDecoding(selection)) try {
758
+ result = ok({
759
+ ...executed.data,
760
+ rows: decodeRows(selection, executed.data.rows, true)
761
+ });
762
+ } catch (cause) {
763
+ if (cause instanceof DbException) return this.fail(op.table, cause.error);
764
+ throw cause;
765
+ }
766
+ const rows = result.ok ? result.data.rows.length : 0;
767
+ const truncated = current.kind === "select" && current.limit === void 0 && current.single === void 0 && !current.head && rows >= runtime.maxRows;
768
+ if (truncated && !runtime.truncatedTables.has(op.table.key)) {
769
+ runtime.truncatedTables.add(op.table.key);
770
+ runtime.events.logger.warn(`a read on ${op.table.key} returned ${rows} rows, the maxRows cap; add a limit or use paginate()`, {
771
+ table: op.table.key,
772
+ maxRows: runtime.maxRows
773
+ });
774
+ }
775
+ if (timed) runtime.events.emit("query", {
776
+ table: op.table.key,
777
+ operation: current.kind,
778
+ ok: result.ok,
779
+ durationMs: performance.now() - started,
780
+ rows,
781
+ truncated
782
+ });
783
+ if (!result.ok) return this.fail(op.table, result.error);
784
+ if (current.kind !== "select") await this.afterMutation(current, result.data);
785
+ return result;
786
+ }
787
+ /**
788
+ * Runs `op` without plugins or decoding, with the connection's timeout and
789
+ * retry, and fails on `table`: for reads the library makes itself, such as
790
+ * the scores of `db.$search({ score: true })`.
791
+ */
792
+ async runInternal(op, table, signal) {
793
+ const { timeout, retry } = this.runtime.tuning ?? NO_TUNING;
794
+ const invalid = invalidTuning({
795
+ timeout,
796
+ retry
797
+ });
798
+ if (invalid) return this.fail(table, dbError("invalid_request", invalid));
799
+ const executed = await this.#execute(op, signal, timeout, retry);
800
+ return executed.ok ? executed : this.fail(table, {
801
+ ...executed.error,
802
+ table: table.key
803
+ });
804
+ }
805
+ async #execute(op, signal, timeout, retry) {
806
+ const limit = deadline(signal, timeout);
807
+ const context = {
808
+ errorMappers: this.runtime.errorMappers,
809
+ ...limit.signal ? { signal: limit.signal } : {},
810
+ ...retry === void 0 ? {} : { retry }
811
+ };
812
+ let executed;
813
+ try {
814
+ executed = await this.runtime.executor.execute(op, context);
815
+ } finally {
816
+ limit.clear();
817
+ }
818
+ if (!executed.ok && limit.timedOut()) return err(dbError("timeout", `The request timed out after ${timeout} ms`));
819
+ return executed;
820
+ }
821
+ async afterMutation(op, data) {
822
+ const { runtime } = this;
823
+ const plugins = this.#hooks.afterMutation;
824
+ const listening = runtime.events.has("mutation");
825
+ if (plugins.length === 0 && !listening) return;
826
+ const kind = mutationKind(op);
827
+ const rows = cloneRows(data.rows);
828
+ const keys = keysOf(op, rows);
829
+ const { tenant } = runtime.context;
830
+ const event = {
831
+ table: op.table,
832
+ kind,
833
+ intent: op.intent ?? kind,
834
+ rows,
835
+ ...keys ? { keys } : {},
836
+ ...tenant === void 0 ? {} : { tenant },
837
+ context: runtime.context
838
+ };
839
+ for (const plugin of plugins) try {
840
+ const pending = plugin.afterMutation(event);
841
+ if (isThenable(pending)) await pending;
842
+ } catch (cause) {
843
+ runtime.events.logger.error(`plugin "${plugin.name}" afterMutation threw`, { cause });
844
+ }
845
+ if (listening) runtime.events.emit("mutation", {
846
+ table: op.table.key,
847
+ kind: event.kind,
848
+ ...event.intent ? { intent: event.intent } : {},
849
+ rows: event.rows,
850
+ ...event.keys ? { keys: event.keys } : {},
851
+ ...event.tenant === void 0 ? {} : { tenant: event.tenant },
852
+ context: event.context
853
+ });
854
+ }
855
+ fail(table, error) {
856
+ const withTable = error.table ? error : {
857
+ ...error,
858
+ table: table.key
859
+ };
860
+ if (this.runtime.events.has("error")) this.runtime.events.emit("error", errorEvent(withTable, table.key));
861
+ return err(withTable);
862
+ }
863
+ };
864
+ //#endregion
865
+ //#region src/core/write-args.ts
866
+ const COUNT_MODES = /* @__PURE__ */ new Set([
867
+ "exact",
868
+ "planned",
869
+ "estimated"
870
+ ]);
871
+ function isCountMode(value) {
872
+ return COUNT_MODES.has(value);
873
+ }
874
+ /** `maxAffected` from a call, or a message when it isn't a non-negative integer. */
875
+ function maxAffectedOf(args) {
876
+ const value = args["maxAffected"];
877
+ if (value === void 0) return {};
878
+ return typeof value === "number" && Number.isInteger(value) && value >= 0 ? { maxAffected: value } : { invalid: `"maxAffected" must be a non-negative integer, got ${String(value)}` };
879
+ }
880
+ /** The `count` mode a mutation asks for, when it names a valid one. */
881
+ function countOf(args) {
882
+ const count = args?.["count"];
883
+ return isCountMode(count) ? { count } : {};
884
+ }
885
+ //#endregion
886
+ //#region src/core/repository.ts
887
+ const sensitiveByTable = /* @__PURE__ */ new WeakMap();
888
+ const primaryOrders = /* @__PURE__ */ new WeakMap();
889
+ const existsSelections = /* @__PURE__ */ new WeakMap();
890
+ const RELATED_MEASURES = [
891
+ "_count",
892
+ "_sum",
893
+ "_avg",
894
+ "_min",
895
+ "_max"
896
+ ];
897
+ /** Database names of the table's `config.sensitive` columns. */
898
+ function sensitiveColumnsOf(table) {
899
+ let sensitive = sensitiveByTable.get(table);
900
+ if (!sensitive) {
901
+ sensitive = new Set(lookupOf(table).entries.filter(([, column]) => column.sensitive).map(([, column]) => column.db));
902
+ sensitiveByTable.set(table, sensitive);
903
+ }
904
+ return sensitive;
905
+ }
906
+ /** Creates the runtime repository object for one table. */
907
+ function createRepository(runner, table) {
908
+ const { builder } = runner.runtime;
909
+ const sensitiveDb = sensitiveColumnsOf(table);
910
+ const mutationHooks = runner.runtime.plugins.some((plugin) => plugin.beforeMutation);
911
+ const selection = (args) => {
912
+ const misplaced = RELATED_MEASURES.find((key) => args?.[key] !== void 0);
913
+ if (misplaced !== void 0) invalidRequest(`${misplaced} belongs inside include: { ${misplaced}: { ... } } for related rows; aggregate() covers the table itself`, table.key);
914
+ return builder.selection(table, args?.["select"], args?.["include"]);
915
+ };
916
+ const rowCount = (args, name) => {
917
+ const value = args?.[name];
918
+ if (value === void 0) return;
919
+ if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 0) invalidRequest(`"${name}" must be a non-negative integer, not ${String(value)}`, table.key);
920
+ return value;
921
+ };
922
+ const selectOp = (args, patch = {}) => ({
923
+ kind: "select",
924
+ table,
925
+ selection: selection(args),
926
+ where: builder.where(table, args?.["where"]),
927
+ orderBy: builder.orderBy(table, args?.["orderBy"]),
928
+ limit: rowCount(args, "limit"),
929
+ offset: rowCount(args, "offset"),
930
+ count: void 0,
931
+ head: false,
932
+ single: void 0,
933
+ ...patch
934
+ });
935
+ /**
936
+ * Writes return every column but the sensitive ones unless they are asked
937
+ * for.
938
+ */
939
+ const returning = (args) => {
940
+ if (args?.["returning"] === false) return;
941
+ const all = selection(args);
942
+ if (args?.["select"] !== void 0 || args?.["sensitive"] === true) return all;
943
+ const columns = all.columns.filter((entry) => !sensitiveDb.has(entry.column));
944
+ return columns.length === all.columns.length ? all : {
945
+ ...all,
946
+ columns
947
+ };
948
+ };
949
+ const run = (op, args) => runner.run(op, optionsOf(args), signalOf(args), tuningOf(args));
950
+ /** `primaryKey` holds app names; order terms take database names. */
951
+ const defaultOrder = () => {
952
+ let order = primaryOrders.get(table);
953
+ if (!order) {
954
+ order = table.primaryKey.map((name) => ({
955
+ column: builder.column(table, name),
956
+ direction: "asc",
957
+ implicit: true
958
+ }));
959
+ primaryOrders.set(table, order);
960
+ }
961
+ return order;
962
+ };
963
+ const notFound = () => runner.fail(table, dbError("not_found", `No ${table.key} row matched`));
964
+ /**
965
+ * Arguments the builder rejects fail like any other error: with the table and
966
+ * an `error` event.
967
+ */
968
+ const guarded = (work) => AsyncResult.from(async () => {
969
+ try {
970
+ return await work();
971
+ } catch (cause) {
972
+ return runner.fail(table, toDbError(cause));
973
+ }
974
+ });
975
+ const base = {
976
+ $tableName: table.key,
977
+ $meta: table,
978
+ findMany(args) {
979
+ return guarded(async () => {
980
+ const op = selectOp(args);
981
+ const ordered = op.orderBy.length > 0 || table.primaryKey.length === 0 ? op : {
982
+ ...op,
983
+ orderBy: defaultOrder()
984
+ };
985
+ const result = await run(ordered, args);
986
+ return result.ok ? ok(result.data.rows) : result;
987
+ });
988
+ },
989
+ findFirst(args) {
990
+ return guarded(async () => {
991
+ const result = await run(selectOp(args, { limit: 1 }), args);
992
+ return result.ok ? ok(result.data.rows[0] ?? null) : result;
993
+ });
994
+ },
995
+ findOnly(args) {
996
+ return guarded(async () => {
997
+ const result = await run(selectOp(args, {
998
+ limit: 2,
999
+ unpaged: true
1000
+ }), args);
1001
+ if (!result.ok) return result;
1002
+ if (result.data.rows.length > 1) return runner.fail(table, dbError("multiple_rows", `More than one ${table.key} row matched; findOnly expects at most one`));
1003
+ return ok(result.data.rows[0] ?? null);
1004
+ });
1005
+ },
1006
+ findUnique(args) {
1007
+ return guarded(async () => {
1008
+ const op = selectOp(args, {
1009
+ where: builder.uniqueKey(table, args["where"]),
1010
+ limit: 1
1011
+ });
1012
+ const result = await run(op, args);
1013
+ return result.ok ? ok(result.data.rows[0] ?? null) : result;
1014
+ });
1015
+ },
1016
+ findById(id, args) {
1017
+ return guarded(async () => {
1018
+ const op = selectOp(args, {
1019
+ where: builder.primaryKey(table, id),
1020
+ limit: 1
1021
+ });
1022
+ const result = await run(op, args);
1023
+ if (!result.ok) return result;
1024
+ const row = result.data.rows[0];
1025
+ return row ? ok(row) : notFound();
1026
+ });
1027
+ },
1028
+ count(args) {
1029
+ return guarded(async () => {
1030
+ const mode = args?.["mode"];
1031
+ const op = selectOp({ where: args?.["where"] }, {
1032
+ selection: {
1033
+ columns: [],
1034
+ includes: []
1035
+ },
1036
+ count: mode === "planned" || mode === "estimated" ? mode : "exact",
1037
+ head: true
1038
+ });
1039
+ const result = await run(op, args);
1040
+ return result.ok ? ok(result.data.count ?? 0) : result;
1041
+ });
1042
+ },
1043
+ aggregate(args) {
1044
+ return guarded(async () => {
1045
+ const aggregation = builder.aggregation(table, args);
1046
+ const orderBy = builder.aggregateOrderBy(table, args["orderBy"], aggregation);
1047
+ const op = selectOp({
1048
+ where: args["where"],
1049
+ limit: args["limit"],
1050
+ offset: args["offset"]
1051
+ }, {
1052
+ selection: aggregation,
1053
+ orderBy
1054
+ });
1055
+ const result = await run(op, args);
1056
+ if (!result.ok) return result;
1057
+ if (args["groupBy"] !== void 0) return ok(result.data.rows);
1058
+ return ok(result.data.rows[0] ?? decodeRows(aggregation, [{}])[0] ?? {});
1059
+ });
1060
+ },
1061
+ exists(args) {
1062
+ return guarded(async () => {
1063
+ const op = selectOp({ where: args?.["where"] }, {
1064
+ selection: existsSelection(),
1065
+ limit: 1
1066
+ });
1067
+ const result = await run(op, args);
1068
+ return result.ok ? ok(result.data.rows.length > 0) : result;
1069
+ });
1070
+ },
1071
+ paginate(args) {
1072
+ return guarded(async () => "after" in args ? cursorPage(args) : offsetPage(args));
1073
+ },
1074
+ create(data, args) {
1075
+ return guarded(async () => {
1076
+ const op = insertOp([data], args, void 0);
1077
+ const result = await run(op, args);
1078
+ if (!result.ok) return result;
1079
+ return ok(args?.["returning"] === false ? null : result.data.rows[0] ?? null);
1080
+ });
1081
+ },
1082
+ createMany(rows, args) {
1083
+ return guarded(async () => {
1084
+ if (rows.length === 0) return ok(args?.["returning"] === false ? { count: 0 } : []);
1085
+ const result = await run(insertOp(rows, args, void 0), args);
1086
+ if (!result.ok) return result;
1087
+ return ok(args?.["returning"] === false ? { count: result.data.count ?? rows.length } : result.data.rows);
1088
+ });
1089
+ },
1090
+ update(id, patch, args) {
1091
+ return guarded(async () => {
1092
+ const key = and(builder.primaryKey(table, id), builder.where(table, args?.["where"]));
1093
+ const expect = args?.["expect"] ? builder.where(table, args["expect"]) : void 0;
1094
+ const set = builder.row(table, patch, "update");
1095
+ const empty = !mutationHooks && Object.keys(set).length === 0;
1096
+ const op = {
1097
+ kind: "update",
1098
+ table,
1099
+ set,
1100
+ where: and(key, expect),
1101
+ returning: returning(args)
1102
+ };
1103
+ const result = empty ? await run(selectOp(args, {
1104
+ where: and(key, expect),
1105
+ selection: op.returning ?? {
1106
+ columns: [],
1107
+ includes: []
1108
+ },
1109
+ limit: 1,
1110
+ orderBy: [],
1111
+ offset: void 0
1112
+ }), args) : await run(op, args);
1113
+ if (!result.ok) return result;
1114
+ if ((op.returning || empty ? result.data.rows.length : result.data.count ?? 0) === 0) {
1115
+ if (!expect) return notFound();
1116
+ const exists = await run(selectOp(void 0, {
1117
+ where: key,
1118
+ selection: {
1119
+ columns: [],
1120
+ includes: []
1121
+ },
1122
+ count: "exact",
1123
+ head: true
1124
+ }), args);
1125
+ if (exists.ok && (exists.data.count ?? 0) > 0) return runner.fail(table, dbError("stale", `The ${table.key} row changed since it was read`));
1126
+ return notFound();
1127
+ }
1128
+ return ok(op.returning ? result.data.rows[0] ?? null : null);
1129
+ });
1130
+ },
1131
+ updateMany(args) {
1132
+ return guarded(async () => {
1133
+ const where = builder.where(table, args["where"]);
1134
+ if (simplify(where) === true && args["allowAll"] !== true) return runner.fail(table, dbError("invalid_request", "updateMany needs a \"where\" that filters rows; pass allowAll: true to update every row"));
1135
+ const rows = args["returning"] === true;
1136
+ const bound = maxAffectedOf(args);
1137
+ if ("invalid" in bound) return runner.fail(table, dbError("invalid_request", bound.invalid));
1138
+ const set = builder.row(table, args["data"], "update");
1139
+ const op = {
1140
+ kind: "update",
1141
+ table,
1142
+ set,
1143
+ where,
1144
+ returning: rows ? returning(args) : void 0,
1145
+ ...bound,
1146
+ ...countOf(args)
1147
+ };
1148
+ if (!mutationHooks && Object.keys(set).length === 0) {
1149
+ if (!rows) return ok({ count: 0 });
1150
+ const found = await run(selectOp(args, {
1151
+ where,
1152
+ selection: op.returning ?? selection(args)
1153
+ }), args);
1154
+ return found.ok ? ok(found.data.rows) : found;
1155
+ }
1156
+ const result = await run(op, args);
1157
+ if (!result.ok) return result;
1158
+ return ok(rows ? result.data.rows : { count: result.data.count ?? 0 });
1159
+ });
1160
+ },
1161
+ upsert(data, args) {
1162
+ return guarded(async () => {
1163
+ const op = insertOp([data], args, conflictColumns(args?.["onConflict"]));
1164
+ const result = await run(op, args);
1165
+ if (!result.ok) return result;
1166
+ return ok(args?.["returning"] === false ? null : result.data.rows[0] ?? null);
1167
+ });
1168
+ },
1169
+ upsertMany(rows, args) {
1170
+ return guarded(async () => {
1171
+ if (rows.length === 0) return ok(args?.["returning"] === false ? { count: 0 } : []);
1172
+ const op = insertOp(rows, args, conflictColumns(args?.["onConflict"]));
1173
+ const result = await run(op, args);
1174
+ if (!result.ok) return result;
1175
+ return ok(args?.["returning"] === false ? { count: result.data.count ?? rows.length } : result.data.rows);
1176
+ });
1177
+ },
1178
+ delete(id, args) {
1179
+ return guarded(async () => {
1180
+ const op = {
1181
+ kind: "delete",
1182
+ table,
1183
+ where: builder.primaryKey(table, id),
1184
+ returning: builder.selection(table, table.primaryKey, void 0)
1185
+ };
1186
+ const result = await run(op, args);
1187
+ if (!result.ok) return result;
1188
+ return (result.data.count ?? result.data.rows.length) === 0 ? notFound() : ok(void 0);
1189
+ });
1190
+ },
1191
+ deleteMany(args) {
1192
+ return guarded(async () => {
1193
+ const where = builder.where(table, args["where"]);
1194
+ if (!where || simplify(where) === true) return runner.fail(table, dbError("invalid_request", "deleteMany needs a \"where\" that filters rows"));
1195
+ const rows = args["returning"] === true;
1196
+ const bound = maxAffectedOf(args);
1197
+ if ("invalid" in bound) return runner.fail(table, dbError("invalid_request", bound.invalid));
1198
+ const op = {
1199
+ kind: "delete",
1200
+ table,
1201
+ where,
1202
+ returning: rows ? returning(args) : void 0,
1203
+ ...bound,
1204
+ ...countOf(args)
1205
+ };
1206
+ const result = await runner.run(op, rows ? {
1207
+ ...optionsOf(args),
1208
+ returning: true
1209
+ } : optionsOf(args), signalOf(args), tuningOf(args));
1210
+ if (!result.ok) return result;
1211
+ return ok(rows ? result.data.rows : { count: result.data.count ?? 0 });
1212
+ });
1213
+ }
1214
+ };
1215
+ function insertOp(rows, args, conflict) {
1216
+ const built = rows.map((row) => builder.row(table, row));
1217
+ return {
1218
+ kind: "insert",
1219
+ table,
1220
+ rows: conflict && built.length > 1 ? byKey(built, conflict) : built,
1221
+ returning: returning(args),
1222
+ onConflict: conflict ? {
1223
+ columns: conflict,
1224
+ action: args?.["ignoreDuplicates"] === true ? "ignore" : "update"
1225
+ } : void 0,
1226
+ defaultToNull: args?.["defaultToNull"] === true,
1227
+ ...countOf(args)
1228
+ };
1229
+ }
1230
+ /**
1231
+ * One column is enough to see a row: the primary key, or the first
1232
+ * non-sensitive column.
1233
+ */
1234
+ function existsSelection() {
1235
+ let found = existsSelections.get(table);
1236
+ if (!found) {
1237
+ const names = Object.keys(table.columns);
1238
+ const alias = table.primaryKey[0] ?? names.find((name) => !table.columns[name]?.sensitive) ?? names[0];
1239
+ found = {
1240
+ columns: alias === void 0 ? [] : [{
1241
+ alias,
1242
+ column: builder.column(table, alias)
1243
+ }],
1244
+ includes: []
1245
+ };
1246
+ existsSelections.set(table, found);
1247
+ }
1248
+ return found;
1249
+ }
1250
+ function conflictColumns(target) {
1251
+ if (target === void 0 || target === "primaryKey") return table.primaryKey.map((name) => builder.column(table, name));
1252
+ if (typeof target === "string") {
1253
+ const columns = table.uniqueKeys[target];
1254
+ if (!columns) invalidRequest(`Unknown unique key "${target}" on "${table.key}"`, table.key);
1255
+ return columns.map((name) => builder.column(table, name));
1256
+ }
1257
+ if (Array.isArray(target)) return target.map((name) => builder.column(table, String(name)));
1258
+ return invalidRequest(`Invalid onConflict on "${table.key}"`, table.key);
1259
+ }
1260
+ async function offsetPage(args) {
1261
+ const window = pageWindow(args);
1262
+ if ("invalid" in window) return runner.fail(table, dbError("invalid_request", window.invalid));
1263
+ const { size, offset } = window;
1264
+ const count = args["count"] ?? (args["withCount"] === true ? "exact" : void 0);
1265
+ const orderBy = builder.orderBy(table, args["orderBy"]);
1266
+ const op = selectOp(args, {
1267
+ orderBy: orderBy.length > 0 || table.primaryKey.length === 0 ? orderBy : defaultOrder(),
1268
+ limit: size + 1,
1269
+ lookAhead: true,
1270
+ offset,
1271
+ count: count === "exact" || count === "planned" || count === "estimated" ? count : void 0
1272
+ });
1273
+ const result = await run(op, args);
1274
+ if (!result.ok) return result;
1275
+ return ok(offsetEnvelope(result.data.rows, result.data.count, size, offset));
1276
+ }
1277
+ async function cursorPage(args) {
1278
+ const size = Number(args["size"]);
1279
+ if (!Number.isInteger(size) || size < 1) return runner.fail(table, dbError("invalid_request", "\"size\" must be a positive integer"));
1280
+ const requested = builder.orderBy(table, args["orderBy"]);
1281
+ const related = requested.find((term) => term.relation);
1282
+ if (related) return runner.fail(table, dbError("invalid_request", `Cursor pages can't sort by the relation "${related.relation?.name}"; use an offset page`));
1283
+ const orderBy = withTieBreaker(requested);
1284
+ const { selection: withSort, added } = ensureColumns(selection(args), orderBy);
1285
+ const sort = sortKey(`${table.key}|${orderBy.map((term) => `${term.column}.${term.direction}.${term.nulls ?? ""}`).join(",")}`);
1286
+ let after;
1287
+ if (typeof args["after"] === "string") {
1288
+ const decoded = decodeBoundCursor(args["after"], sort);
1289
+ if ("invalid" in decoded && decoded.invalid === "sort") return runner.fail(table, dbError("invalid_request", "The cursor continues another orderBy; pass after: null to start the new order"));
1290
+ const values = "values" in decoded ? decoded.values : void 0;
1291
+ if (!values || values.length !== orderBy.length) return runner.fail(table, dbError("invalid_request", "Invalid cursor"));
1292
+ const { byDb } = lookupOf(table);
1293
+ after = keysetCondition(orderBy, values, (name) => byDb.get(name)?.[1].nullable ?? true);
1294
+ }
1295
+ const op = selectOp(args, {
1296
+ selection: withSort,
1297
+ where: and(builder.where(table, args["where"]), after),
1298
+ orderBy,
1299
+ limit: size + 1,
1300
+ lookAhead: true,
1301
+ offset: void 0,
1302
+ count: args["withCount"] === true && after === void 0 ? "exact" : void 0
1303
+ });
1304
+ const result = await run(op, args);
1305
+ if (!result.ok) return result;
1306
+ let total = result.data.count;
1307
+ if (args["withCount"] === true && after !== void 0) {
1308
+ const counted = await run(selectOp(args, {
1309
+ selection: {
1310
+ columns: [],
1311
+ includes: []
1312
+ },
1313
+ orderBy: [],
1314
+ limit: void 0,
1315
+ offset: void 0,
1316
+ count: "exact",
1317
+ head: true
1318
+ }), args);
1319
+ if (!counted.ok) return counted;
1320
+ total = counted.data.count;
1321
+ }
1322
+ const rows = result.data.rows.slice(0, size);
1323
+ const hasMore = result.data.rows.length > size;
1324
+ const last = rows.at(-1);
1325
+ const aliases = new Map(withSort.columns.map((entry) => [entry.column, entry.alias]));
1326
+ const nextCursor = hasMore && last ? encodeBoundCursor(orderBy.map((term) => encodeValue(last[aliases.get(term.column) ?? term.column])), sort) : null;
1327
+ return ok({
1328
+ items: added.length > 0 ? rows.map((row) => strip(row, added)) : rows,
1329
+ nextCursor,
1330
+ hasMore,
1331
+ ...args["withCount"] === true ? { total: total ?? 0 } : {}
1332
+ });
1333
+ }
1334
+ function withTieBreaker(orderBy) {
1335
+ const terms = [...orderBy];
1336
+ for (const name of table.primaryKey) {
1337
+ const column = builder.column(table, name);
1338
+ if (!terms.some((term) => term.column === column)) terms.push({
1339
+ column,
1340
+ direction: terms[0]?.direction ?? "asc"
1341
+ });
1342
+ }
1343
+ return terms;
1344
+ }
1345
+ function ensureColumns(base, orderBy) {
1346
+ const columns = [...base.columns];
1347
+ const selected = new Set(columns.map((entry) => entry.column));
1348
+ const { byDb } = lookupOf(table);
1349
+ const added = [];
1350
+ for (const term of orderBy) {
1351
+ if (selected.has(term.column)) continue;
1352
+ const alias = byDb.get(term.column)?.[0];
1353
+ columns.push(alias === void 0 ? {
1354
+ alias: term.column,
1355
+ column: term.column
1356
+ } : builder.selectColumn(table, alias));
1357
+ selected.add(term.column);
1358
+ added.push(alias ?? term.column);
1359
+ }
1360
+ return {
1361
+ selection: {
1362
+ columns,
1363
+ includes: base.includes
1364
+ },
1365
+ added
1366
+ };
1367
+ }
1368
+ return base;
1369
+ }
1370
+ //#endregion
1371
+ //#region src/core/rpc-result.ts
1372
+ const columnsByFunction = /* @__PURE__ */ new WeakMap();
1373
+ function columnsOf(meta, fn) {
1374
+ const cached = columnsByFunction.get(fn);
1375
+ if (cached !== void 0) return cached;
1376
+ let columns = null;
1377
+ const { result } = fn;
1378
+ if (result && "table" in result) {
1379
+ const table = meta.tables[result.table];
1380
+ if (table) {
1381
+ columns = /* @__PURE__ */ new Map();
1382
+ for (const [db, [app, column]] of lookupOf(table).byDb) if (app !== db || column.codec) columns.set(db, [app, column.codec]);
1383
+ }
1384
+ } else if (result) columns = new Map(result.columns.map((column) => [column.db, [column.name ?? column.db, column.codec]]));
1385
+ columnsByFunction.set(fn, columns);
1386
+ return columns;
1387
+ }
1388
+ const selectByFunction = /* @__PURE__ */ new WeakMap();
1389
+ /**
1390
+ * The columns `$rpc` selects for a function whose result has a codec column,
1391
+ * with that column cast to text as repository reads do. Undefined when no
1392
+ * result column has a codec, so the call selects everything.
1393
+ */
1394
+ function rpcSelect(meta, fn) {
1395
+ if (!fn) return;
1396
+ let select = selectByFunction.get(fn);
1397
+ if (select === void 0) {
1398
+ const { result } = fn;
1399
+ const table = result && "table" in result ? meta.tables[result.table] : void 0;
1400
+ const columns = table ? [...lookupOf(table).byDb].map(([db, [, column]]) => [db, column.codec]) : result && "columns" in result ? result.columns.map((column) => [column.db, column.codec]) : [];
1401
+ select = columns.some(([, codec]) => codec) ? columns.map(([column, codec]) => codec ? {
1402
+ column,
1403
+ cast: "text"
1404
+ } : { column }) : null;
1405
+ selectByFunction.set(fn, select);
1406
+ }
1407
+ return select ?? void 0;
1408
+ }
1409
+ function decodeRow(columns, row) {
1410
+ if (!isPlainObject(row)) return row;
1411
+ const out = {};
1412
+ for (const key in row) {
1413
+ if (!Object.hasOwn(row, key)) continue;
1414
+ const column = columns.get(key);
1415
+ if (!column) {
1416
+ out[key] = row[key];
1417
+ continue;
1418
+ }
1419
+ const [app, codec] = column;
1420
+ out[app] = codec ? decodeValue(codec, row[key]) : row[key];
1421
+ }
1422
+ return out;
1423
+ }
1424
+ const overloadMeta = /* @__PURE__ */ new WeakMap();
1425
+ /**
1426
+ * The signature `$rpc` calls: PostgREST picks an overload by the argument
1427
+ * names, so a call matches the overload that has every name it passes and every
1428
+ * argument without a default. Undefined when the function is in another schema
1429
+ * or when no overload, or more than one, matches.
1430
+ */
1431
+ function rpcFunction(meta, name, schema, args) {
1432
+ const fn = meta.functions[name];
1433
+ if (!fn || fn.schema !== schema) return;
1434
+ if (!fn.overloads) return fn;
1435
+ const keys = Object.keys(args).filter((key) => args[key] !== void 0);
1436
+ const matches = fn.overloads.filter((overload) => keys.every((key) => overload.args.some((arg) => arg.name === key)) && overload.args.every((arg) => arg.optional === true || keys.includes(arg.name)));
1437
+ const [match] = matches;
1438
+ if (!match || matches.length > 1) return;
1439
+ let resolved = overloadMeta.get(match);
1440
+ if (!resolved) {
1441
+ resolved = {
1442
+ ...match,
1443
+ name: fn.name,
1444
+ schema: fn.schema
1445
+ };
1446
+ overloadMeta.set(match, resolved);
1447
+ }
1448
+ return resolved;
1449
+ }
1450
+ /**
1451
+ * The `$rpc` result in app form: rows of a table or a `returns table (...)`
1452
+ * record get the configured casing and codecs, like repository reads. Scalars,
1453
+ * json and calls without a known signature come back unchanged.
1454
+ */
1455
+ function decodeRpcResult(meta, fn, data) {
1456
+ if (!fn) return data;
1457
+ const columns = columnsOf(meta, fn);
1458
+ if (!columns || columns.size === 0) return data;
1459
+ return Array.isArray(data) ? data.map((row) => decodeRow(columns, row)) : decodeRow(columns, data);
1460
+ }
1461
+ //#endregion
1462
+ //#region src/core/define.ts
1463
+ const isStorageApi = (value) => isRecord(value) && typeof value["from"] === "function";
1464
+ /**
1465
+ * A supabase-js client builds a new storage client on each read of `storage`,
1466
+ * so it is read once per connection.
1467
+ */
1468
+ const clientStorage = /* @__PURE__ */ new WeakMap();
1469
+ function storageOf(source) {
1470
+ if (source.storage) return source.storage;
1471
+ const cached = clientStorage.get(source);
1472
+ if (cached) return cached;
1473
+ const client = source.client;
1474
+ const storage = isRecord(client) ? client["storage"] : void 0;
1475
+ if (isStorageApi(storage)) {
1476
+ clientStorage.set(source, storage);
1477
+ return storage;
1478
+ }
1479
+ throw new TypeError("better-supabase: db.$storage needs a client with storage, or connect(executor, context, { storage })");
1480
+ }
1481
+ /**
1482
+ * The isomorphic definition of your data layer: schema plus plugins. Holds no
1483
+ * secrets and no connection; `connect()` binds it to a client per request.
1484
+ */
1485
+ var BetterSupabase = class BetterSupabase {
1486
+ schema;
1487
+ plugins;
1488
+ events;
1489
+ options;
1490
+ constructor(schema, plugins = [], options = {}, events = definitionEvents(options)) {
1491
+ const names = /* @__PURE__ */ new Set();
1492
+ for (const plugin of plugins) {
1493
+ if (plugin.apiVersion !== 1) throw new TypeError(`better-supabase: plugin "${plugin.name}" targets plugin API v${String(plugin.apiVersion)}; this version supports v1`);
1494
+ if (names.has(plugin.name)) throw new TypeError(`better-supabase: plugin "${plugin.name}" is already installed`);
1495
+ names.add(plugin.name);
1496
+ }
1497
+ this.schema = schema;
1498
+ this.plugins = orderPlugins(plugins);
1499
+ this.options = options;
1500
+ this.events = events;
1501
+ const { temporal } = options;
1502
+ if (temporal !== void 0) {
1503
+ const previous = providedTemporal();
1504
+ if (previous !== void 0 && previous !== temporal) events.logger.warn("defineSupabase got a different `temporal` namespace than the one already provided; decoded rows, jobs and webhooks in this process now use the newer one. Pass the same namespace to every definition.");
1505
+ provideTemporal(temporal);
1506
+ }
1507
+ }
1508
+ get meta() {
1509
+ return this.schema.meta;
1510
+ }
1511
+ /** The `now` option, else this definition's own `Temporal` clock. */
1512
+ #now() {
1513
+ const { now, temporal } = this.options;
1514
+ if (now) return now;
1515
+ return temporal ? () => temporal.Now.instant() : nowInstant;
1516
+ }
1517
+ /**
1518
+ * The `Temporal` this definition uses: the `temporal` option, else the
1519
+ * global.
1520
+ */
1521
+ get temporal() {
1522
+ return this.options.temporal ?? optionalTemporal();
1523
+ }
1524
+ /** The schema set by `claims()`; its output types `session.claims`. */
1525
+ get claimsSchema() {
1526
+ return this.options.claims;
1527
+ }
1528
+ /** The schema set by `userMetadata()`; its output types `session.profile`. */
1529
+ get userMetadataSchema() {
1530
+ return this.options.userMetadata;
1531
+ }
1532
+ /**
1533
+ * Returns a new instance whose servers validate verified JWT claims (custom
1534
+ * access token hook output) with `schema`, and whose sessions are typed by
1535
+ * it. A token that fails it resolves to `{ kind: 'invalid', reason: 'claims'
1536
+ * }`.
1537
+ *
1538
+ * ```ts
1539
+ * const betterSupabase = defineSupabase(schema).claims(
1540
+ * z.object({ tenant_id: z.uuid() }),
1541
+ * );
1542
+ * ```
1543
+ */
1544
+ claims(schema) {
1545
+ return new BetterSupabase(this.schema, this.plugins, {
1546
+ ...this.options,
1547
+ claims: schema
1548
+ }, this.events);
1549
+ }
1550
+ /**
1551
+ * Returns a new instance whose sessions parse `user_metadata` with `schema`
1552
+ * into a typed `session.profile`. Users can change their metadata with
1553
+ * `auth.updateUser()`, so a failure only leaves `profile` undefined (with one
1554
+ * warning), and no authorization code reads it. It is for display only:
1555
+ * roles, memberships, the tenant and entitlements come from the verified
1556
+ * claims, never from `profile`.
1557
+ *
1558
+ * ```ts
1559
+ * const betterSupabase = defineSupabase(schema).userMetadata(
1560
+ * z.object({ display_name: z.string() }),
1561
+ * );
1562
+ * ```
1563
+ */
1564
+ userMetadata(schema) {
1565
+ return new BetterSupabase(this.schema, this.plugins, {
1566
+ ...this.options,
1567
+ userMetadata: schema
1568
+ }, this.events);
1569
+ }
1570
+ /**
1571
+ * Returns a new instance whose `.orThrow()` throws `mapper(error)` instead of
1572
+ * a `DbException`, and whose results `toBetterResult` maps the same way.
1573
+ * Results themselves keep their `DbError`.
1574
+ *
1575
+ * ```ts
1576
+ * const betterSupabase = defineSupabase(schema).mapError(
1577
+ * (error) => new AppError(error),
1578
+ * );
1579
+ * ```
1580
+ */
1581
+ mapError(mapper) {
1582
+ return new BetterSupabase(this.schema, this.plugins, {
1583
+ ...this.options,
1584
+ throwAs: mapper
1585
+ }, this.events);
1586
+ }
1587
+ /**
1588
+ * Returns a new instance whose `db.$buckets` has one client per bucket,
1589
+ * connected to `db.$storage` so Storage runs as the same caller.
1590
+ *
1591
+ * ```ts
1592
+ * const betterSupabase = defineSupabase(schema).buckets({ logos, avatars });
1593
+ * betterSupabase.connect(client).$buckets.logos.signedUrl({ ... });
1594
+ * ```
1595
+ */
1596
+ buckets(registered) {
1597
+ return new BetterSupabase(this.schema, this.plugins, {
1598
+ ...this.options,
1599
+ buckets: registered
1600
+ }, this.events);
1601
+ }
1602
+ #specs;
1603
+ #truncatedTables = /* @__PURE__ */ new Set();
1604
+ /** A hub without listeners, for decoding read-set results. */
1605
+ #decodeEvents;
1606
+ /** One getter per table, shared by every db this instance connects. */
1607
+ #tables;
1608
+ #errorMappers = /* @__PURE__ */ new WeakMap();
1609
+ /**
1610
+ * Builds serializable `QuerySpec`s with the same arguments and result types
1611
+ * as the repository: `betterSupabase.spec.customers.findMany({ select: ['id']
1612
+ * })`.
1613
+ */
1614
+ get spec() {
1615
+ this.#specs ??= createSpecs(this.meta);
1616
+ return this.#specs;
1617
+ }
1618
+ /**
1619
+ * App keys of every table a spec reads; mutations of any of them make it
1620
+ * stale.
1621
+ */
1622
+ tablesOf(spec) {
1623
+ return specTables(this.meta, spec);
1624
+ }
1625
+ /** Returns a new instance with the plugin appended. */
1626
+ use(plugin) {
1627
+ return new BetterSupabase(this.schema, [...this.plugins, plugin], this.options, this.events);
1628
+ }
1629
+ /**
1630
+ * Declares the tables an RPC writes, so cache adapters and live queries
1631
+ * invalidate them after it succeeds.
1632
+ *
1633
+ * ```ts
1634
+ * betterSupabase.defineRpc("archive_customer", {
1635
+ * invalidates: ["customers", "notes"],
1636
+ * });
1637
+ * ```
1638
+ */
1639
+ defineRpc(name, options) {
1640
+ for (const table of options.invalidates) if (!this.meta.tables[table]) throw new TypeError(`better-supabase: defineRpc("${name}") invalidates unknown table "${table}"`);
1641
+ return new BetterSupabase(this.schema, this.plugins, {
1642
+ ...this.options,
1643
+ rpc: {
1644
+ ...this.options.rpc,
1645
+ [name]: options
1646
+ }
1647
+ }, this.events);
1648
+ }
1649
+ /** Observes queries, mutations, errors, auth and refreshes. */
1650
+ on(name, handler) {
1651
+ return this.events.on(name, handler);
1652
+ }
1653
+ /**
1654
+ * Invalidates `adapter` after every mutation in this runtime. Returns a
1655
+ * function that detaches it. Adapter failures are logged, never thrown.
1656
+ */
1657
+ cache(adapter) {
1658
+ const report = (cause, table) => {
1659
+ this.events.logger.error(`cache adapter "${adapter.name}" failed`, {
1660
+ cause,
1661
+ table
1662
+ });
1663
+ };
1664
+ const invalidate = (target) => {
1665
+ try {
1666
+ const pending = adapter.invalidate(target);
1667
+ if (pending) pending.catch((cause) => {
1668
+ report(cause, target.table);
1669
+ });
1670
+ } catch (cause) {
1671
+ report(cause, target.table);
1672
+ }
1673
+ };
1674
+ const offMutation = this.on("mutation", (notice) => {
1675
+ invalidate(cacheTargetOf(this.meta, notice));
1676
+ });
1677
+ const offRpc = this.on("rpc", (notice) => {
1678
+ for (const target of rpcCacheTargets(this.meta, notice)) invalidate(target);
1679
+ });
1680
+ return () => {
1681
+ offMutation();
1682
+ offRpc();
1683
+ };
1684
+ }
1685
+ connect(source, context = {}, options = {}) {
1686
+ const client = isExecutor(source) ? void 0 : source;
1687
+ const base = options.executor ?? (isExecutor(source) ? source : postgrestExecutor(source, this.executorOptions()));
1688
+ const recorder = new StatsRecorder(options.stats);
1689
+ const tuning = {
1690
+ ...options.timeout === void 0 ? {} : { timeout: options.timeout },
1691
+ ...options.retry === void 0 ? {} : { retry: options.retry }
1692
+ };
1693
+ return this.#db({
1694
+ client,
1695
+ storage: options.storage
1696
+ }, base, context, this.plugins, recorder, tuning);
1697
+ }
1698
+ /**
1699
+ * The `postgrestExecutor` options this definition implies (`urlLengthLimit`,
1700
+ * `postgrestVersion`), for adapters that build their own executor and should
1701
+ * chunk reads the same way.
1702
+ */
1703
+ executorOptions() {
1704
+ const { urlLengthLimit, postgrestVersion } = this.options;
1705
+ return {
1706
+ ...urlLengthLimit === void 0 ? {} : { urlLengthLimit },
1707
+ ...postgrestVersion === void 0 ? {} : { postgrestVersion }
1708
+ };
1709
+ }
1710
+ /** The caller's context with every plugin's `context` hook applied. */
1711
+ #derive(given, plugins) {
1712
+ let context = given;
1713
+ for (const plugin of plugins) {
1714
+ if (!plugin.context) continue;
1715
+ try {
1716
+ context = plugin.context(context, { schema: this.meta });
1717
+ } catch (cause) {
1718
+ this.events.logger.error(`plugin "${plugin.name}" context threw`, { cause });
1719
+ }
1720
+ }
1721
+ return context;
1722
+ }
1723
+ #db(source, base, given, plugins, recorder, tuning = {}, events = this.events) {
1724
+ const context = this.#derive(given, plugins);
1725
+ let executor = base;
1726
+ for (const plugin of plugins) if (plugin.wrapExecutor) executor = plugin.wrapExecutor(executor);
1727
+ const wrapped = executor;
1728
+ executor = recordStats(executor, recorder);
1729
+ const errorMappers = this.#errorMappersFor(plugins);
1730
+ const runner = new OperationRunner({
1731
+ meta: this.meta,
1732
+ builder: builderFor(this.meta),
1733
+ executor,
1734
+ plugins,
1735
+ context,
1736
+ events,
1737
+ errorMappers,
1738
+ now: this.#now(),
1739
+ maxRows: this.options.maxRows ?? 1e3,
1740
+ truncatedTables: this.#truncatedTables,
1741
+ tuning
1742
+ });
1743
+ const db = Object.create(this.#tablePrototype());
1744
+ dbStates.set(db, {
1745
+ runner,
1746
+ plugins,
1747
+ repositories: /* @__PURE__ */ new Map()
1748
+ });
1749
+ const { client } = source;
1750
+ Object.defineProperty(db, "$storage", {
1751
+ get: () => storageOf(source),
1752
+ configurable: true
1753
+ });
1754
+ const { buckets } = this.options;
1755
+ if (buckets) {
1756
+ let connected;
1757
+ Object.defineProperty(db, "$buckets", {
1758
+ get: () => {
1759
+ connected ??= Object.fromEntries(Object.entries(buckets).map(([name, bucket]) => [name, bucket.connect(storageOf(source))]));
1760
+ return connected;
1761
+ },
1762
+ configurable: true
1763
+ });
1764
+ }
1765
+ Object.assign(db, {
1766
+ $client: client,
1767
+ $executor: executor,
1768
+ $context: context,
1769
+ $rpc: (name, ...rest) => rpc(this.schema.meta, executor, errorMappers, tuning, name, rest).map((data) => {
1770
+ const registered = this.options.rpc?.[name];
1771
+ if (registered) this.events.emit("rpc", {
1772
+ name,
1773
+ invalidates: registered.invalidates,
1774
+ context
1775
+ });
1776
+ return data;
1777
+ }).mapError((error) => {
1778
+ if (events.has("error")) events.emit("error", errorEvent(error));
1779
+ return error;
1780
+ }),
1781
+ $with: (extra) => this.#db(source, base, {
1782
+ ...given,
1783
+ ...extra
1784
+ }, plugins, recorder, tuning),
1785
+ $withoutPlugins: (options) => this.#db(source, base, given, keptPlugins(plugins, options?.keep ?? []), recorder, tuning),
1786
+ $stats: () => recorder.snapshot(),
1787
+ $table: (name) => {
1788
+ if (!Object.hasOwn(this.meta.tables, name)) throw new TypeError(`better-supabase: unknown table "${name}". Known: ${Object.keys(this.meta.tables).join(", ")}`);
1789
+ return db[name];
1790
+ },
1791
+ $run: (spec, options) => runSpec(db, spec, options?.signal),
1792
+ $many: (target, ...rest) => {
1793
+ if (isReadSet(target)) {
1794
+ const [values, options] = rest;
1795
+ return readSet(target, values, options?.signal);
1796
+ }
1797
+ const [options] = rest;
1798
+ if (!Array.isArray(target)) return AsyncResult.err(dbError("invalid_request", "db.$many() expects an array of specs or a read set"));
1799
+ return many(target, options?.signal, true);
1800
+ },
1801
+ $search: (name, args) => searchTable(runner, base, this.meta, name, args)
1802
+ });
1803
+ const many = (specs, signal, usePlugins) => AsyncResult.from(async () => {
1804
+ const invalid = specs.findIndex((spec) => !isQuerySpec(spec));
1805
+ if (invalid !== -1) return err(dbError("invalid_request", `db.$many() entry ${invalid} is not a QuerySpec from betterSupabase.spec`));
1806
+ const active = usePlugins ? plugins : [];
1807
+ const batchSource = usePlugins ? wrapped : base;
1808
+ const batch = batchSource.batch?.bind(batchSource);
1809
+ const batching = batch && specs.length > 1 ? batchingExecutor({
1810
+ ...base,
1811
+ batch
1812
+ }, specs.length) : void 0;
1813
+ const target = batching ? this.#db(source, batching.executor, given, active, recorder, tuning) : usePlugins ? db : this.#db(source, base, given, NO_PLUGINS, recorder, tuning);
1814
+ const results = await Promise.all(specs.map(async (spec) => {
1815
+ try {
1816
+ return await runSpec(target, spec, signal);
1817
+ } finally {
1818
+ batching?.done();
1819
+ }
1820
+ }));
1821
+ const data = [];
1822
+ for (const result of results) {
1823
+ if (!result.ok) return result;
1824
+ data.push(result.data);
1825
+ }
1826
+ return ok(data);
1827
+ });
1828
+ const readSet = (set, values, signal) => AsyncResult.from(async () => {
1829
+ const problems = checkParams(set, values);
1830
+ if (problems.length > 0) return err(dbError("invalid_request", `db.$many(${set.name}): ${problems.join(", ")}`));
1831
+ const keys = Object.keys(set.specs);
1832
+ const { specs: bound, noCaller } = bindParams(set, values, context);
1833
+ if (base.batch || !executor.rpc) {
1834
+ if (noCaller) return err(noCaller);
1835
+ const result = await many(keys.map((key) => bound[key]), signal, false);
1836
+ if (!result.ok) return result;
1837
+ return ok(Object.fromEntries(keys.map((key, i) => [key, result.data[i]])));
1838
+ }
1839
+ const called = await executor.rpc(set.functionName, { p: values ?? {} }, {
1840
+ schema: "public",
1841
+ get: true,
1842
+ errorMappers,
1843
+ ...signal ? { signal } : {}
1844
+ });
1845
+ if (!called.ok) return called;
1846
+ return this.#decodeReadSet(source, context, set, bound, called.data);
1847
+ });
1848
+ const throwAs = this.options.throwAs;
1849
+ if (throwAs) for (const name of [
1850
+ "$rpc",
1851
+ "$run",
1852
+ "$many",
1853
+ "$search"
1854
+ ]) db[name] = mapThrows(db[name], throwAs);
1855
+ return db;
1856
+ }
1857
+ /**
1858
+ * Decodes what a read-set function returned (`{ [key]: { rows, count } }`) by
1859
+ * running each spec against those rows, so casing, codecs and aggregates come
1860
+ * out exactly as from `db.$run`.
1861
+ */
1862
+ async #decodeReadSet(source, context, set, specs, data) {
1863
+ const payload = data ?? {};
1864
+ let rows = [];
1865
+ let count = null;
1866
+ const decoder = this.#db(source, {
1867
+ name: "read-set",
1868
+ execute: (op) => {
1869
+ if (op.kind === "select" && op.single) {
1870
+ if (rows.length > 1) return Promise.resolve(err(dbError("multiple_rows", `Expected one ${op.table.key} row`)));
1871
+ if (rows.length === 0 && op.single === "one") return Promise.resolve(err(dbError("not_found", `No ${op.table.key} row matched`)));
1872
+ }
1873
+ return Promise.resolve(ok({
1874
+ rows,
1875
+ count
1876
+ }));
1877
+ }
1878
+ }, context, NO_PLUGINS, new StatsRecorder(), {}, this.#decodeEvents ??= new EventHub(this.events.logger, this.events.now));
1879
+ const out = {};
1880
+ for (const [key, spec] of Object.entries(specs)) {
1881
+ const entry = payload[key];
1882
+ if (!entry) return err(dbError("unexpected", `${set.functionName}() returned no "${key}". Run \`better-supabase gen\` and migrate.`));
1883
+ rows = entry.rows ?? [];
1884
+ count = entry.count ?? null;
1885
+ const result = await runSpec(decoder, spec, void 0);
1886
+ if (!result.ok) return result;
1887
+ out[key] = result.data;
1888
+ }
1889
+ return ok(out);
1890
+ }
1891
+ #errorMappersFor(plugins) {
1892
+ let mappers = this.#errorMappers.get(plugins);
1893
+ if (!mappers) {
1894
+ mappers = [...this.options.errors ?? [], ...plugins.flatMap((plugin) => plugin.mapError ? [plugin.mapError] : [])];
1895
+ this.#errorMappers.set(plugins, mappers);
1896
+ }
1897
+ return mappers;
1898
+ }
1899
+ #tablePrototype() {
1900
+ if (this.#tables) return this.#tables;
1901
+ const tables = {};
1902
+ const throwAs = this.options.throwAs;
1903
+ const build = (state, key) => {
1904
+ let repository = state.repositories.get(key);
1905
+ if (repository) return repository;
1906
+ const table = this.meta.tables[key];
1907
+ repository = this.#repository(state.runner, key, table, state.plugins);
1908
+ if (throwAs) {
1909
+ for (const [name, method] of Object.entries(repository)) if (typeof method === "function" && name !== "extend") repository[name] = mapThrows(method, throwAs);
1910
+ }
1911
+ state.repositories.set(key, repository);
1912
+ return repository;
1913
+ };
1914
+ for (const key of Object.keys(this.meta.tables)) Object.defineProperty(tables, key, {
1915
+ enumerable: true,
1916
+ get() {
1917
+ const state = dbStates.get(this);
1918
+ return state ? build(state, key) : void 0;
1919
+ }
1920
+ });
1921
+ this.#tables = tables;
1922
+ return tables;
1923
+ }
1924
+ #repository(runner, key, table, plugins) {
1925
+ const repository = createRepository(runner, table);
1926
+ for (const plugin of plugins) {
1927
+ const methods = plugin.repository?.({
1928
+ table,
1929
+ base: repository
1930
+ });
1931
+ if (!methods) continue;
1932
+ for (const [name, method] of Object.entries(methods)) {
1933
+ if (name in repository) throw new TypeError(`better-supabase: plugin "${plugin.name}" redefines "${key}.${name}"`);
1934
+ repository[name] = method;
1935
+ }
1936
+ }
1937
+ repository["extend"] = (build) => ({
1938
+ ...repository,
1939
+ ...build(repository)
1940
+ });
1941
+ return repository;
1942
+ }
1943
+ };
1944
+ const dbStates = /* @__PURE__ */ new WeakMap();
1945
+ function mapThrows(method, throwAs) {
1946
+ return function mapped(...args) {
1947
+ const value = method.apply(this, args);
1948
+ return value instanceof AsyncResult ? withErrorMapper(value, throwAs) : value;
1949
+ };
1950
+ }
1951
+ function runSpec(db, spec, signal) {
1952
+ if (!isQuerySpec(spec)) return AsyncResult.err(dbError("invalid_request", "db.$run() expects a QuerySpec from betterSupabase.spec"));
1953
+ const method = db[spec.table]?.[spec.method];
1954
+ if (!method) return AsyncResult.err(dbError("invalid_request", `Unknown table "${spec.table}" in QuerySpec`));
1955
+ if (containsPlaceholder(spec.args)) return AsyncResult.err(dbError("invalid_request", "This spec comes from a read set and still holds placeholders; run it with db.$many(readSet, params)"));
1956
+ const args = [...spec.args];
1957
+ if (signal) {
1958
+ const index = spec.method === "findById" ? 1 : 0;
1959
+ args[index] = {
1960
+ ...args[index],
1961
+ signal
1962
+ };
1963
+ }
1964
+ return method(...args);
1965
+ }
1966
+ function rpc(meta, executor, errorMappers, defaults, name, rest) {
1967
+ const [given, options] = rest;
1968
+ const args = given === void 0 ? void 0 : Object.fromEntries(Object.entries(given).filter(([, value]) => value !== void 0));
1969
+ return AsyncResult.from(async () => {
1970
+ if (!executor.rpc) return err(dbError("unsupported", `Executor "${executor.name}" does not support rpc()`));
1971
+ const tuning = {
1972
+ ...defaults,
1973
+ ...options?.timeout === void 0 ? {} : { timeout: options.timeout },
1974
+ ...options?.retry === void 0 ? {} : { retry: options.retry }
1975
+ };
1976
+ const invalid = invalidTuning(tuning);
1977
+ if (invalid) return err(dbError("invalid_request", invalid));
1978
+ const limit = deadline(options?.signal, tuning.timeout);
1979
+ const schema = options?.schema ?? "public";
1980
+ const fn = rpcFunction(meta, name, schema, args ?? {});
1981
+ const select = options?.raw === true ? void 0 : rpcSelect(meta, fn);
1982
+ const context = {
1983
+ schema,
1984
+ errorMappers,
1985
+ ...limit.signal ? { signal: limit.signal } : {},
1986
+ ...tuning.retry === void 0 ? {} : { retry: tuning.retry },
1987
+ ...fn ? { function: fn } : {},
1988
+ ...select ? { select } : {}
1989
+ };
1990
+ let result;
1991
+ try {
1992
+ result = await executor.rpc(name, args ?? {}, context);
1993
+ } finally {
1994
+ limit.clear();
1995
+ }
1996
+ if (!result.ok && limit.timedOut()) return err(dbError("timeout", `The request timed out after ${tuning.timeout} ms`));
1997
+ if (!result.ok) return result;
1998
+ let data = result.data;
1999
+ if (options?.raw !== true) try {
2000
+ data = decodeRpcResult(meta, fn, data);
2001
+ } catch (cause) {
2002
+ if (cause instanceof DbException) return err(cause.error);
2003
+ throw cause;
2004
+ }
2005
+ if (!options?.returns) return ok(data);
2006
+ const checked = await validate(options.returns, data, `${name}() result`);
2007
+ return checked.ok ? ok(checked.data) : checked;
2008
+ });
2009
+ }
2010
+ /**
2011
+ * Creates the data-layer definition from the generated `schema`.
2012
+ *
2013
+ * ```ts
2014
+ * export const betterSupabase = defineSupabase(schema)
2015
+ * .use(timestamps())
2016
+ * .use(softDelete());
2017
+ * ```
2018
+ */
2019
+ function defineSupabase(schema, options) {
2020
+ return new BetterSupabase(schema, [], options);
2021
+ }
2022
+ //#endregion
2023
+ export { decodeRows as a, rowKey as c, encodeCursor as i, rpcCacheTargets as l, defineSupabase as n, cacheTargetOf as o, decodeCursor as r, memoryCache as s, BetterSupabase as t };