better-supabase 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1374) hide show
  1. package/README.md +144 -83
  2. package/bin/better-supabase.js +14 -2
  3. package/dist/access-sql-DUSSMaC3.js +201 -0
  4. package/dist/actor-BAhb-d1S.d.ts +104 -0
  5. package/dist/actor-KHDOKGb1.js +151 -0
  6. package/dist/adapter-CEjmtazZ.js +1984 -0
  7. package/dist/agents-BCNhIxVZ.d.ts +111 -0
  8. package/dist/ai-cache-Dps7aRu1.d.ts +70 -0
  9. package/dist/ai-cache-zeUL94pB.js +84 -0
  10. package/dist/ai-chat-3GBSlFR4.d.ts +608 -0
  11. package/dist/ai-files-D2_9YLjF.js +331 -0
  12. package/dist/ai-sdk/agents/index.d.ts +154 -10
  13. package/dist/ai-sdk/agents/index.js +172 -17
  14. package/dist/ai-sdk/batches/index.d.ts +4 -4
  15. package/dist/ai-sdk/batches/index.js +5 -5
  16. package/dist/ai-sdk/cache/index.d.ts +2 -2
  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 +7 -6
  20. package/dist/ai-sdk/embeddings/index.d.ts +3 -3
  21. package/dist/ai-sdk/embeddings/index.js +1 -2
  22. package/dist/ai-sdk/files/index.d.ts +2 -2
  23. package/dist/ai-sdk/files/index.js +4 -4
  24. package/dist/ai-sdk/index.d.ts +7 -6
  25. package/dist/ai-sdk/index.js +4 -3
  26. package/dist/ai-sdk/mcp/index.d.ts +4 -4
  27. package/dist/ai-sdk/mcp/index.js +6 -6
  28. package/dist/ai-sdk/memory/index.d.ts +5 -2
  29. package/dist/ai-sdk/memory/index.js +2 -2
  30. package/dist/ai-sdk/react/index.js +1 -2
  31. package/dist/ai-sdk/workflow/index.d.ts +5 -4
  32. package/dist/ai-sdk/workflow/index.js +8 -8
  33. package/dist/ai-tasks-Ih5oHfyj.d.ts +157 -0
  34. package/dist/announcements-BHCzraR6.js +128 -0
  35. package/dist/api-CFjuYKFY.js +680 -0
  36. package/dist/api-TG3jE5aO.d.ts +411 -0
  37. package/dist/api-keys-BEQatEUW.js +318 -0
  38. package/dist/api-keys-BYoGCM9p.d.ts +205 -0
  39. package/dist/app-tables-BGl5_U2x.js +584 -0
  40. package/dist/approvals-a2KmioBh.d.ts +124 -0
  41. package/dist/arazzo/index.d.ts +5 -5
  42. package/dist/arazzo/index.js +6 -6
  43. package/dist/assistant-Bf2cA6RO.d.ts +148 -0
  44. package/dist/astro/index.d.ts +9 -8
  45. package/dist/astro/index.js +10 -7
  46. package/dist/asyncapi/index.d.ts +4 -4
  47. package/dist/asyncapi/index.js +6 -6
  48. package/dist/attachments-DAj2Yp95.js +264 -0
  49. package/dist/attributes-D4mA7WhI.js +38 -0
  50. package/dist/audit-log-BMMuGPdP.js +786 -0
  51. package/dist/auth-CdBKt0CS.js +20 -0
  52. package/dist/auth-reply-DUCwb8YO.js +31 -0
  53. package/dist/auth-reply-Dj124sbX.d.ts +11 -0
  54. package/dist/authorization-DpRfs6Wx.d.ts +1412 -0
  55. package/dist/authorization-hooks-DkmrnDX7.d.ts +214 -0
  56. package/dist/authorizer-DH7DjkL3.js +126 -0
  57. package/dist/base64-BmeCBgGo.js +42 -0
  58. package/dist/batch-limit-DKVQDz4o.js +5 -0
  59. package/dist/before-route-B98js9m_.js +30 -0
  60. package/dist/better-result/index.d.ts +5 -5
  61. package/dist/better-result/index.js +1 -1
  62. package/dist/bind-a7sUgvf4.d.ts +70 -0
  63. package/dist/block-env-CBd_SoL5.js +29 -0
  64. package/dist/block-env-Dxl7rsI0.d.ts +10 -0
  65. package/dist/block-events-DD9Q_NUz.js +96 -0
  66. package/dist/block-fields-5UA84ZUg.d.ts +55 -0
  67. package/dist/block-fields-ffD6Gxe4.js +139 -0
  68. package/dist/block-helpers-C86hPEjI.d.ts +37 -0
  69. package/dist/block-helpers-CfG_MvDR.js +264 -0
  70. package/dist/block-hooks-BLPWD3Jt.d.ts +107 -0
  71. package/dist/block-hooks-BsXncUlZ.js +114 -0
  72. package/dist/block-transport-DaGGXjIw.d.ts +70 -0
  73. package/dist/block-transport-G4t1umrR.js +85 -0
  74. package/dist/blocks/access-requests/index.d.ts +98 -0
  75. package/dist/blocks/access-requests/index.js +99 -0
  76. package/dist/blocks/agents/index.d.ts +21 -3
  77. package/dist/blocks/agents/index.js +64 -18
  78. package/dist/blocks/ai-cache/index.d.ts +7 -2
  79. package/dist/blocks/ai-cache/index.js +15 -3
  80. package/dist/blocks/ai-chat/index.d.ts +22 -3
  81. package/dist/blocks/ai-chat/index.js +29 -3
  82. package/dist/blocks/ai-chat/react/index.d.ts +12 -46
  83. package/dist/blocks/ai-chat/react/index.js +43 -335
  84. package/dist/blocks/ai-chat/solid/index.d.ts +34 -0
  85. package/dist/blocks/ai-chat/solid/index.js +41 -0
  86. package/dist/blocks/ai-chat/svelte/index.d.ts +34 -0
  87. package/dist/blocks/ai-chat/svelte/index.js +41 -0
  88. package/dist/blocks/ai-chat/vue/index.d.ts +34 -0
  89. package/dist/blocks/ai-chat/vue/index.js +41 -0
  90. package/dist/blocks/ai-files/index.d.ts +10 -3
  91. package/dist/blocks/ai-files/index.js +16 -3
  92. package/dist/blocks/ai-providers/index.d.ts +18 -3
  93. package/dist/blocks/ai-providers/index.js +40 -15
  94. package/dist/blocks/ai-tasks/index.d.ts +9 -2
  95. package/dist/blocks/ai-tasks/index.js +70 -21
  96. package/dist/blocks/announcements/index.d.ts +18 -3
  97. package/dist/blocks/announcements/index.js +27 -3
  98. package/dist/blocks/announcements/react/index.d.ts +4 -14
  99. package/dist/blocks/announcements/react/index.js +22 -70
  100. package/dist/blocks/announcements/solid/index.d.ts +13 -0
  101. package/dist/blocks/announcements/solid/index.js +14 -0
  102. package/dist/blocks/announcements/svelte/index.d.ts +13 -0
  103. package/dist/blocks/announcements/svelte/index.js +14 -0
  104. package/dist/blocks/announcements/vue/index.d.ts +13 -0
  105. package/dist/blocks/announcements/vue/index.js +14 -0
  106. package/dist/blocks/api-keys/index.d.ts +24 -7
  107. package/dist/blocks/api-keys/index.js +29 -294
  108. package/dist/blocks/api-keys/react/index.d.ts +29 -0
  109. package/dist/blocks/api-keys/react/index.js +43 -0
  110. package/dist/blocks/api-keys/react/server.d.ts +7 -0
  111. package/dist/blocks/api-keys/react/server.js +7 -0
  112. package/dist/blocks/api-keys/solid/index.d.ts +13 -0
  113. package/dist/blocks/api-keys/solid/index.js +14 -0
  114. package/dist/blocks/api-keys/svelte/index.d.ts +13 -0
  115. package/dist/blocks/api-keys/svelte/index.js +14 -0
  116. package/dist/blocks/api-keys/vue/index.d.ts +13 -0
  117. package/dist/blocks/api-keys/vue/index.js +14 -0
  118. package/dist/blocks/approvals/index.d.ts +22 -0
  119. package/dist/blocks/approvals/index.js +189 -0
  120. package/dist/blocks/attachments/index.d.ts +18 -227
  121. package/dist/blocks/attachments/index.js +26 -242
  122. package/dist/blocks/audit/index.d.ts +72 -365
  123. package/dist/blocks/audit/index.js +91 -714
  124. package/dist/blocks/audit/react/index.d.ts +26 -0
  125. package/dist/blocks/audit/react/index.js +44 -0
  126. package/dist/blocks/audit/react/server.d.ts +7 -0
  127. package/dist/blocks/audit/react/server.js +7 -0
  128. package/dist/blocks/audit/solid/index.d.ts +13 -0
  129. package/dist/blocks/audit/solid/index.js +14 -0
  130. package/dist/blocks/audit/svelte/index.d.ts +13 -0
  131. package/dist/blocks/audit/svelte/index.js +14 -0
  132. package/dist/blocks/audit/vue/index.d.ts +13 -0
  133. package/dist/blocks/audit/vue/index.js +14 -0
  134. package/dist/blocks/billing/index.d.ts +37 -12
  135. package/dist/blocks/billing/index.js +43 -12
  136. package/dist/blocks/billing/react/index.d.ts +34 -0
  137. package/dist/blocks/billing/react/index.js +36 -0
  138. package/dist/blocks/billing/react/server.d.ts +7 -0
  139. package/dist/blocks/billing/react/server.js +7 -0
  140. package/dist/blocks/billing/solid/index.d.ts +15 -0
  141. package/dist/blocks/billing/solid/index.js +14 -0
  142. package/dist/blocks/billing/svelte/index.d.ts +15 -0
  143. package/dist/blocks/billing/svelte/index.js +14 -0
  144. package/dist/blocks/billing/vue/index.d.ts +15 -0
  145. package/dist/blocks/billing/vue/index.js +14 -0
  146. package/dist/blocks/bookings/index.d.ts +36 -0
  147. package/dist/blocks/bookings/index.js +28 -0
  148. package/dist/blocks/bookings/react/index.d.ts +31 -0
  149. package/dist/blocks/bookings/react/index.js +59 -0
  150. package/dist/blocks/bookings/react/server.d.ts +6 -0
  151. package/dist/blocks/bookings/react/server.js +7 -0
  152. package/dist/blocks/bookings/solid/index.d.ts +13 -0
  153. package/dist/blocks/bookings/solid/index.js +14 -0
  154. package/dist/blocks/bookings/svelte/index.d.ts +13 -0
  155. package/dist/blocks/bookings/svelte/index.js +14 -0
  156. package/dist/blocks/bookings/vue/index.d.ts +13 -0
  157. package/dist/blocks/bookings/vue/index.js +14 -0
  158. package/dist/blocks/bulk/index.d.ts +142 -0
  159. package/dist/blocks/bulk/index.js +154 -0
  160. package/dist/blocks/calendar/index.d.ts +20 -0
  161. package/dist/blocks/calendar/index.js +33 -0
  162. package/dist/blocks/calendar/react/index.d.ts +26 -0
  163. package/dist/blocks/calendar/react/index.js +58 -0
  164. package/dist/blocks/calendar/react/server.d.ts +6 -0
  165. package/dist/blocks/calendar/react/server.js +7 -0
  166. package/dist/blocks/calendar/solid/index.d.ts +13 -0
  167. package/dist/blocks/calendar/solid/index.js +14 -0
  168. package/dist/blocks/calendar/svelte/index.d.ts +13 -0
  169. package/dist/blocks/calendar/svelte/index.js +14 -0
  170. package/dist/blocks/calendar/vue/index.d.ts +13 -0
  171. package/dist/blocks/calendar/vue/index.js +14 -0
  172. package/dist/blocks/catalog/index.d.ts +224 -0
  173. package/dist/blocks/catalog/index.js +292 -0
  174. package/dist/blocks/collections/index.d.ts +184 -0
  175. package/dist/blocks/collections/index.js +208 -0
  176. package/dist/blocks/comments/index.d.ts +19 -166
  177. package/dist/blocks/comments/index.js +26 -207
  178. package/dist/blocks/comments/react/index.d.ts +27 -0
  179. package/dist/blocks/comments/react/index.js +45 -0
  180. package/dist/blocks/comments/react/server.d.ts +7 -0
  181. package/dist/blocks/comments/react/server.js +7 -0
  182. package/dist/blocks/comments/solid/index.d.ts +13 -0
  183. package/dist/blocks/comments/solid/index.js +14 -0
  184. package/dist/blocks/comments/svelte/index.d.ts +13 -0
  185. package/dist/blocks/comments/svelte/index.js +14 -0
  186. package/dist/blocks/comments/vue/index.d.ts +13 -0
  187. package/dist/blocks/comments/vue/index.js +14 -0
  188. package/dist/blocks/connectors/index.d.ts +21 -3
  189. package/dist/blocks/connectors/index.js +53 -18
  190. package/dist/blocks/custom-fields/index.d.ts +62 -0
  191. package/dist/blocks/custom-fields/index.js +85 -0
  192. package/dist/blocks/data-lifecycle/index.d.ts +114 -9
  193. package/dist/blocks/data-lifecycle/index.js +98 -12
  194. package/dist/blocks/deals/index.d.ts +262 -0
  195. package/dist/blocks/deals/index.js +380 -0
  196. package/dist/blocks/documents/index.d.ts +17 -0
  197. package/dist/blocks/documents/index.js +118 -0
  198. package/dist/blocks/domains/index.d.ts +117 -0
  199. package/dist/blocks/domains/index.js +118 -0
  200. package/dist/blocks/drive/index.d.ts +296 -0
  201. package/dist/blocks/drive/index.js +483 -0
  202. package/dist/blocks/employees/index.d.ts +205 -0
  203. package/dist/blocks/employees/index.js +289 -0
  204. package/dist/blocks/engagements/index.d.ts +125 -0
  205. package/dist/blocks/engagements/index.js +143 -0
  206. package/dist/blocks/entitlements/index.d.ts +40 -4
  207. package/dist/blocks/entitlements/index.js +14 -24
  208. package/dist/blocks/entitlements/react/index.d.ts +24 -0
  209. package/dist/blocks/entitlements/react/index.js +35 -0
  210. package/dist/blocks/entitlements/react/server.d.ts +6 -0
  211. package/dist/blocks/entitlements/react/server.js +7 -0
  212. package/dist/blocks/entitlements/solid/index.d.ts +13 -0
  213. package/dist/blocks/entitlements/solid/index.js +14 -0
  214. package/dist/blocks/entitlements/svelte/index.d.ts +13 -0
  215. package/dist/blocks/entitlements/svelte/index.js +14 -0
  216. package/dist/blocks/entitlements/vue/index.d.ts +13 -0
  217. package/dist/blocks/entitlements/vue/index.js +14 -0
  218. package/dist/blocks/flags/index.d.ts +61 -187
  219. package/dist/blocks/flags/index.js +65 -253
  220. package/dist/blocks/forms/index.d.ts +302 -0
  221. package/dist/blocks/forms/index.js +341 -0
  222. package/dist/blocks/forms/react/index.d.ts +16 -0
  223. package/dist/blocks/forms/react/index.js +25 -0
  224. package/dist/blocks/forms/react/server.d.ts +6 -0
  225. package/dist/blocks/forms/react/server.js +7 -0
  226. package/dist/blocks/forms/solid/index.d.ts +13 -0
  227. package/dist/blocks/forms/solid/index.js +14 -0
  228. package/dist/blocks/forms/svelte/index.d.ts +13 -0
  229. package/dist/blocks/forms/svelte/index.js +14 -0
  230. package/dist/blocks/forms/vue/index.d.ts +13 -0
  231. package/dist/blocks/forms/vue/index.js +14 -0
  232. package/dist/blocks/hiring/index.d.ts +154 -0
  233. package/dist/blocks/hiring/index.js +180 -0
  234. package/dist/blocks/identities/index.d.ts +83 -0
  235. package/dist/blocks/identities/index.js +103 -0
  236. package/dist/blocks/imports/index.d.ts +91 -0
  237. package/dist/blocks/imports/index.js +123 -0
  238. package/dist/blocks/inbox/index.d.ts +22 -3
  239. package/dist/blocks/inbox/index.js +77 -4
  240. package/dist/blocks/inbox/react/index.d.ts +3 -2
  241. package/dist/blocks/inbox/react/index.js +55 -199
  242. package/dist/blocks/inbox/react/server.d.ts +2 -1
  243. package/dist/blocks/inbox/solid/index.d.ts +27 -0
  244. package/dist/blocks/inbox/solid/index.js +32 -0
  245. package/dist/blocks/inbox/svelte/index.d.ts +27 -0
  246. package/dist/blocks/inbox/svelte/index.js +32 -0
  247. package/dist/blocks/inbox/vue/index.d.ts +27 -0
  248. package/dist/blocks/inbox/vue/index.js +32 -0
  249. package/dist/blocks/index.d.ts +9 -64
  250. package/dist/blocks/index.js +191 -55
  251. package/dist/blocks/inventory/index.d.ts +181 -0
  252. package/dist/blocks/inventory/index.js +219 -0
  253. package/dist/blocks/invoices/index.d.ts +154 -0
  254. package/dist/blocks/invoices/index.js +216 -0
  255. package/dist/blocks/jobs/index.d.ts +156 -33
  256. package/dist/blocks/jobs/index.js +675 -261
  257. package/dist/blocks/knowledge/index.d.ts +10 -3
  258. package/dist/blocks/knowledge/index.js +17 -3
  259. package/dist/blocks/leave/index.d.ts +241 -0
  260. package/dist/blocks/leave/index.js +209 -0
  261. package/dist/blocks/memory/index.d.ts +9 -4
  262. package/dist/blocks/memory/index.js +48 -12
  263. package/dist/blocks/metrics/index.d.ts +174 -0
  264. package/dist/blocks/metrics/index.js +217 -0
  265. package/dist/blocks/mfa/index.d.ts +7 -0
  266. package/dist/blocks/mfa/index.js +12 -0
  267. package/dist/blocks/mfa/react/index.d.ts +30 -0
  268. package/dist/blocks/mfa/react/index.js +45 -0
  269. package/dist/blocks/mfa/react/server.d.ts +9 -0
  270. package/dist/blocks/mfa/react/server.js +12 -0
  271. package/dist/blocks/mfa/solid/index.d.ts +20 -0
  272. package/dist/blocks/mfa/solid/index.js +23 -0
  273. package/dist/blocks/mfa/svelte/index.d.ts +20 -0
  274. package/dist/blocks/mfa/svelte/index.js +23 -0
  275. package/dist/blocks/mfa/vue/index.d.ts +20 -0
  276. package/dist/blocks/mfa/vue/index.js +23 -0
  277. package/dist/blocks/notifications/index.d.ts +342 -25
  278. package/dist/blocks/notifications/index.js +733 -104
  279. package/dist/blocks/notifications/react/index.d.ts +7 -32
  280. package/dist/blocks/notifications/react/index.js +23 -49
  281. package/dist/blocks/notifications/react/server.d.ts +2 -1
  282. package/dist/blocks/notifications/solid/index.d.ts +13 -0
  283. package/dist/blocks/notifications/solid/index.js +14 -0
  284. package/dist/blocks/notifications/svelte/index.d.ts +13 -0
  285. package/dist/blocks/notifications/svelte/index.js +14 -0
  286. package/dist/blocks/notifications/vue/index.d.ts +13 -0
  287. package/dist/blocks/notifications/vue/index.js +14 -0
  288. package/dist/blocks/number-sequences/index.d.ts +39 -0
  289. package/dist/blocks/number-sequences/index.js +38 -0
  290. package/dist/blocks/oauth-server/index.d.ts +228 -0
  291. package/dist/blocks/oauth-server/index.js +309 -0
  292. package/dist/blocks/onboarding/index.d.ts +8 -3
  293. package/dist/blocks/onboarding/index.js +17 -63
  294. package/dist/blocks/onboarding/react/index.d.ts +3 -12
  295. package/dist/blocks/onboarding/react/index.js +18 -60
  296. package/dist/blocks/onboarding/react/server.d.ts +2 -2
  297. package/dist/blocks/onboarding/react/server.js +2 -2
  298. package/dist/blocks/onboarding/solid/index.d.ts +13 -0
  299. package/dist/blocks/onboarding/solid/index.js +14 -0
  300. package/dist/blocks/onboarding/svelte/index.d.ts +13 -0
  301. package/dist/blocks/onboarding/svelte/index.js +14 -0
  302. package/dist/blocks/onboarding/vue/index.d.ts +13 -0
  303. package/dist/blocks/onboarding/vue/index.js +14 -0
  304. package/dist/blocks/orders/index.d.ts +264 -0
  305. package/dist/blocks/orders/index.js +589 -0
  306. package/dist/blocks/organizations/index.d.ts +31 -238
  307. package/dist/blocks/organizations/index.js +49 -392
  308. package/dist/blocks/organizations/react/index.d.ts +108 -0
  309. package/dist/blocks/organizations/react/index.js +113 -0
  310. package/dist/blocks/organizations/react/server.d.ts +11 -0
  311. package/dist/blocks/organizations/react/server.js +15 -0
  312. package/dist/blocks/organizations/solid/index.d.ts +34 -0
  313. package/dist/blocks/organizations/solid/index.js +32 -0
  314. package/dist/blocks/organizations/svelte/index.d.ts +34 -0
  315. package/dist/blocks/organizations/svelte/index.js +32 -0
  316. package/dist/blocks/organizations/vue/index.d.ts +34 -0
  317. package/dist/blocks/organizations/vue/index.js +32 -0
  318. package/dist/blocks/outbox/index.d.ts +12 -3
  319. package/dist/blocks/outbox/index.js +85 -46
  320. package/dist/blocks/parties/index.d.ts +181 -0
  321. package/dist/blocks/parties/index.js +258 -0
  322. package/dist/blocks/pipelines/index.d.ts +189 -0
  323. package/dist/blocks/pipelines/index.js +204 -0
  324. package/dist/blocks/profiles/index.d.ts +13 -8
  325. package/dist/blocks/profiles/index.js +19 -6
  326. package/dist/blocks/promotions/index.d.ts +125 -0
  327. package/dist/blocks/promotions/index.js +123 -0
  328. package/dist/blocks/push/index.d.ts +48 -28
  329. package/dist/blocks/push/index.js +45 -16
  330. package/dist/blocks/quotes/index.d.ts +152 -0
  331. package/dist/blocks/quotes/index.js +209 -0
  332. package/dist/blocks/rank/index.d.ts +71 -0
  333. package/dist/blocks/rank/index.js +53 -0
  334. package/dist/blocks/reactions/index.d.ts +18 -0
  335. package/dist/blocks/reactions/index.js +26 -0
  336. package/dist/blocks/reactions/react/index.d.ts +23 -0
  337. package/dist/blocks/reactions/react/index.js +46 -0
  338. package/dist/blocks/reactions/react/server.d.ts +6 -0
  339. package/dist/blocks/reactions/react/server.js +7 -0
  340. package/dist/blocks/reactions/solid/index.d.ts +13 -0
  341. package/dist/blocks/reactions/solid/index.js +14 -0
  342. package/dist/blocks/reactions/svelte/index.d.ts +13 -0
  343. package/dist/blocks/reactions/svelte/index.js +14 -0
  344. package/dist/blocks/reactions/vue/index.d.ts +13 -0
  345. package/dist/blocks/reactions/vue/index.js +14 -0
  346. package/dist/blocks/relations/index.d.ts +180 -0
  347. package/dist/blocks/relations/index.js +254 -0
  348. package/dist/blocks/reminders/index.d.ts +177 -0
  349. package/dist/blocks/reminders/index.js +171 -0
  350. package/dist/blocks/reviews/index.d.ts +148 -0
  351. package/dist/blocks/reviews/index.js +139 -0
  352. package/dist/blocks/rules/index.d.ts +103 -0
  353. package/dist/blocks/rules/index.js +54 -0
  354. package/dist/blocks/rules/react/index.d.ts +34 -0
  355. package/dist/blocks/rules/react/index.js +55 -0
  356. package/dist/blocks/rules/react/server.d.ts +6 -0
  357. package/dist/blocks/rules/react/server.js +7 -0
  358. package/dist/blocks/rules/solid/index.d.ts +13 -0
  359. package/dist/blocks/rules/solid/index.js +14 -0
  360. package/dist/blocks/rules/svelte/index.d.ts +13 -0
  361. package/dist/blocks/rules/svelte/index.js +14 -0
  362. package/dist/blocks/rules/vue/index.d.ts +13 -0
  363. package/dist/blocks/rules/vue/index.js +14 -0
  364. package/dist/blocks/saved-views/index.d.ts +17 -0
  365. package/dist/blocks/saved-views/index.js +29 -0
  366. package/dist/blocks/saved-views/react/index.d.ts +34 -0
  367. package/dist/blocks/saved-views/react/index.js +57 -0
  368. package/dist/blocks/saved-views/react/server.d.ts +7 -0
  369. package/dist/blocks/saved-views/react/server.js +7 -0
  370. package/dist/blocks/saved-views/solid/index.d.ts +13 -0
  371. package/dist/blocks/saved-views/solid/index.js +14 -0
  372. package/dist/blocks/saved-views/svelte/index.d.ts +13 -0
  373. package/dist/blocks/saved-views/svelte/index.js +14 -0
  374. package/dist/blocks/saved-views/vue/index.d.ts +13 -0
  375. package/dist/blocks/saved-views/vue/index.js +14 -0
  376. package/dist/blocks/search/index.d.ts +31 -0
  377. package/dist/blocks/search/index.js +61 -0
  378. package/dist/blocks/search/react/index.d.ts +36 -0
  379. package/dist/blocks/search/react/index.js +49 -0
  380. package/dist/blocks/search/react/server.d.ts +7 -0
  381. package/dist/blocks/search/react/server.js +8 -0
  382. package/dist/blocks/search/solid/index.d.ts +13 -0
  383. package/dist/blocks/search/solid/index.js +14 -0
  384. package/dist/blocks/search/svelte/index.d.ts +13 -0
  385. package/dist/blocks/search/svelte/index.js +14 -0
  386. package/dist/blocks/search/vue/index.d.ts +13 -0
  387. package/dist/blocks/search/vue/index.js +14 -0
  388. package/dist/blocks/service-principals/index.d.ts +126 -0
  389. package/dist/blocks/service-principals/index.js +107 -0
  390. package/dist/blocks/sessions/index.d.ts +7 -0
  391. package/dist/blocks/sessions/index.js +14 -0
  392. package/dist/blocks/sessions/react/index.d.ts +31 -0
  393. package/dist/blocks/sessions/react/index.js +51 -0
  394. package/dist/blocks/sessions/react/server.d.ts +9 -0
  395. package/dist/blocks/sessions/react/server.js +11 -0
  396. package/dist/blocks/sessions/solid/index.d.ts +20 -0
  397. package/dist/blocks/sessions/solid/index.js +23 -0
  398. package/dist/blocks/sessions/svelte/index.d.ts +20 -0
  399. package/dist/blocks/sessions/svelte/index.js +23 -0
  400. package/dist/blocks/sessions/vue/index.d.ts +20 -0
  401. package/dist/blocks/sessions/vue/index.js +23 -0
  402. package/dist/blocks/settings/index.d.ts +20 -86
  403. package/dist/blocks/settings/index.js +28 -102
  404. package/dist/blocks/settings/react/index.d.ts +25 -0
  405. package/dist/blocks/settings/react/index.js +37 -0
  406. package/dist/blocks/settings/react/server.d.ts +7 -0
  407. package/dist/blocks/settings/react/server.js +7 -0
  408. package/dist/blocks/settings/solid/index.d.ts +13 -0
  409. package/dist/blocks/settings/solid/index.js +14 -0
  410. package/dist/blocks/settings/svelte/index.d.ts +13 -0
  411. package/dist/blocks/settings/svelte/index.js +14 -0
  412. package/dist/blocks/settings/vue/index.d.ts +13 -0
  413. package/dist/blocks/settings/vue/index.js +14 -0
  414. package/dist/blocks/share-links/index.d.ts +99 -0
  415. package/dist/blocks/share-links/index.js +99 -0
  416. package/dist/blocks/shared-signals/index.d.ts +395 -0
  417. package/dist/blocks/shared-signals/index.js +880 -0
  418. package/dist/blocks/signing-keys/index.d.ts +29 -0
  419. package/dist/blocks/signing-keys/index.js +161 -0
  420. package/dist/blocks/sla/index.d.ts +114 -0
  421. package/dist/blocks/sla/index.js +122 -0
  422. package/dist/blocks/sso/index.d.ts +169 -147
  423. package/dist/blocks/sso/index.js +258 -321
  424. package/dist/blocks/state-machine/index.d.ts +105 -0
  425. package/dist/blocks/state-machine/index.js +116 -0
  426. package/dist/blocks/tags/index.d.ts +20 -0
  427. package/dist/blocks/tags/index.js +28 -0
  428. package/dist/blocks/tags/react/index.d.ts +28 -0
  429. package/dist/blocks/tags/react/index.js +47 -0
  430. package/dist/blocks/tags/react/server.d.ts +7 -0
  431. package/dist/blocks/tags/react/server.js +7 -0
  432. package/dist/blocks/tags/solid/index.d.ts +13 -0
  433. package/dist/blocks/tags/solid/index.js +14 -0
  434. package/dist/blocks/tags/svelte/index.d.ts +13 -0
  435. package/dist/blocks/tags/svelte/index.js +14 -0
  436. package/dist/blocks/tags/vue/index.d.ts +13 -0
  437. package/dist/blocks/tags/vue/index.js +14 -0
  438. package/dist/blocks/targets/index.d.ts +82 -0
  439. package/dist/blocks/targets/index.js +73 -0
  440. package/dist/blocks/teams/index.d.ts +61 -0
  441. package/dist/blocks/teams/index.js +83 -0
  442. package/dist/blocks/templates/index.d.ts +362 -0
  443. package/dist/blocks/templates/index.js +483 -0
  444. package/dist/blocks/time-tracking/index.d.ts +250 -0
  445. package/dist/blocks/time-tracking/index.js +317 -0
  446. package/dist/blocks/trash/index.d.ts +78 -0
  447. package/dist/blocks/trash/index.js +79 -0
  448. package/dist/blocks/undo/index.d.ts +9 -0
  449. package/dist/blocks/undo/index.js +14 -0
  450. package/dist/blocks/undo/react/index.d.ts +17 -0
  451. package/dist/blocks/undo/react/index.js +24 -0
  452. package/dist/blocks/undo/react/server.d.ts +7 -0
  453. package/dist/blocks/undo/react/server.js +7 -0
  454. package/dist/blocks/undo/solid/index.d.ts +13 -0
  455. package/dist/blocks/undo/solid/index.js +14 -0
  456. package/dist/blocks/undo/svelte/index.d.ts +13 -0
  457. package/dist/blocks/undo/svelte/index.js +14 -0
  458. package/dist/blocks/undo/vue/index.d.ts +13 -0
  459. package/dist/blocks/undo/vue/index.js +14 -0
  460. package/dist/blocks/usage/index.d.ts +10 -4
  461. package/dist/blocks/usage/index.js +16 -233
  462. package/dist/blocks/usage/react/index.d.ts +23 -0
  463. package/dist/blocks/usage/react/index.js +38 -0
  464. package/dist/blocks/usage/react/server.d.ts +7 -0
  465. package/dist/blocks/usage/react/server.js +7 -0
  466. package/dist/blocks/usage/solid/index.d.ts +13 -0
  467. package/dist/blocks/usage/solid/index.js +14 -0
  468. package/dist/blocks/usage/svelte/index.d.ts +13 -0
  469. package/dist/blocks/usage/svelte/index.js +14 -0
  470. package/dist/blocks/usage/vue/index.d.ts +13 -0
  471. package/dist/blocks/usage/vue/index.js +14 -0
  472. package/dist/blocks/versions/index.d.ts +165 -0
  473. package/dist/blocks/versions/index.js +283 -0
  474. package/dist/blocks/waitlist/index.d.ts +57 -19
  475. package/dist/blocks/waitlist/index.js +46 -12
  476. package/dist/blocks/webhooks/index.d.ts +269 -137
  477. package/dist/blocks/webhooks/index.js +752 -179
  478. package/dist/blocks/work-items/index.d.ts +208 -0
  479. package/dist/blocks/work-items/index.js +305 -0
  480. package/dist/blocks/workflow-builder/index.d.ts +26 -6
  481. package/dist/blocks/workflow-builder/index.js +30 -5
  482. package/dist/blocks/workflow-builder/react/index.d.ts +4 -19
  483. package/dist/blocks/workflow-builder/react/index.js +45 -89
  484. package/dist/blocks/workflow-builder/solid/index.d.ts +20 -0
  485. package/dist/blocks/workflow-builder/solid/index.js +23 -0
  486. package/dist/blocks/workflow-builder/svelte/index.d.ts +20 -0
  487. package/dist/blocks/workflow-builder/svelte/index.js +23 -0
  488. package/dist/blocks/workflow-builder/vue/index.d.ts +20 -0
  489. package/dist/blocks/workflow-builder/vue/index.js +23 -0
  490. package/dist/blocks/workflows/index.d.ts +20 -3
  491. package/dist/blocks/workflows/index.js +27 -3
  492. package/dist/blocks/workflows/react/index.d.ts +5 -20
  493. package/dist/blocks/workflows/react/index.js +41 -113
  494. package/dist/blocks/workflows/solid/index.d.ts +20 -0
  495. package/dist/blocks/workflows/solid/index.js +23 -0
  496. package/dist/blocks/workflows/svelte/index.d.ts +20 -0
  497. package/dist/blocks/workflows/svelte/index.js +23 -0
  498. package/dist/blocks/workflows/vue/index.d.ts +20 -0
  499. package/dist/blocks/workflows/vue/index.js +23 -0
  500. package/dist/blocks-D2WQ63PI.js +84 -0
  501. package/dist/bookings-0XnhHNLM.js +181 -0
  502. package/dist/build-Cm0T5MVG.js +1815 -0
  503. package/dist/build-Cx08LOT7.js +689 -0
  504. package/dist/calendar-DcFrpSOy.js +801 -0
  505. package/dist/channel-D-LHCY11.d.ts +78 -0
  506. package/dist/channels-C-GCoNLd.js +114 -0
  507. package/dist/chat-sdk/index.d.ts +131 -7
  508. package/dist/chat-sdk/index.js +154 -6
  509. package/dist/chat-sdk/react/index.d.ts +2 -1
  510. package/dist/chat-sdk/react/index.js +1 -2
  511. package/dist/chat-sdk/react/server.d.ts +2 -1
  512. package/dist/chat-sdk/react/server.js +1 -2
  513. package/dist/cli/add-B0zoJUYX.js +651 -0
  514. package/dist/cli/add-Bd5M6uEZ.js +75 -0
  515. package/dist/cli/add-CT6p5psO.js +1 -0
  516. package/dist/cli/adopt-C9jl8z0h.js +1 -0
  517. package/dist/cli/adopt-CebmlHL-.js +393 -0
  518. package/dist/cli/agent-CCt_aXpJ.js +176 -0
  519. package/dist/cli/apply-Dxk8AUNU.js +302 -0
  520. package/dist/cli/bin.js +40 -20
  521. package/dist/cli/blocks-Bzz326nn.js +1 -0
  522. package/dist/cli/blocks-Dq25D80b.js +124 -0
  523. package/dist/cli/cache-Cx6qlRDR.js +502 -0
  524. package/dist/cli/catalog-Di15TkM2.js +187 -0
  525. package/dist/cli/codemod-woL4cVe0.js +985 -0
  526. package/dist/cli/command-CK9Cn8HV.js +836 -0
  527. package/dist/cli/completion-BO5UK6bG.js +1 -0
  528. package/dist/cli/completion-CWoDmFZr.js +205 -0
  529. package/dist/cli/completion-J3dqnNoW.js +30 -0
  530. package/dist/cli/config-C1d-mbUA.js +1 -0
  531. package/dist/cli/config-CLHpTk9Y.js +1421 -0
  532. package/dist/cli/config-MuKY9kUj.js +39 -0
  533. package/dist/cli/config-edit-Ct1lXe8a.js +603 -0
  534. package/dist/cli/db-DT1bGB02.js +78 -0
  535. package/dist/cli/design-edit-B-WsnhUF.js +175 -0
  536. package/dist/cli/detect-DYDUBLU4.js +84 -0
  537. package/dist/cli/dist-D_VbPAMR.js +129 -0
  538. package/dist/cli/dist-DuiMMRbJ.js +1112 -0
  539. package/dist/cli/doctor-SGw36h1D.js +3806 -0
  540. package/dist/cli/emit-ZAYeh4Yn.js +1042 -0
  541. package/dist/cli/env-CVXvJoLP.js +142 -0
  542. package/dist/cli/env-D3gZ-OHj.js +1 -0
  543. package/dist/cli/env-DJ4ZaJpe.js +1 -0
  544. package/dist/cli/env-DMw_MBe5.js +996 -0
  545. package/dist/cli/errors-Caiz_0so.js +98 -0
  546. package/dist/cli/fastest-levenshtein-dhRRvrM2.js +120 -0
  547. package/dist/cli/files-DDvAwTko.js +963 -0
  548. package/dist/cli/gen-B344S1Oy.js +304 -0
  549. package/dist/cli/guards-CUlDNYZs.js +8 -0
  550. package/dist/cli/index.d.ts +258 -129
  551. package/dist/cli/index.js +13 -10
  552. package/dist/cli/init-B1dL-RZL.js +393 -0
  553. package/dist/cli/introspect-BPcFi8ow.js +51 -0
  554. package/dist/cli/io-BiPX-_J1.js +37 -0
  555. package/dist/cli/jsonc-C8M0EhHB.js +1 -0
  556. package/dist/cli/keys-jsxCNJdz.js +106 -0
  557. package/dist/cli/metadata-CxBZo4KM.js +138 -0
  558. package/dist/cli/module-migration-YFFdWC5X.js +592 -0
  559. package/dist/cli/moved-D9OT_Uyy.js +152 -0
  560. package/dist/cli/parse-DE59XyWt.js +170 -0
  561. package/dist/cli/preset-DmcC4nWE.js +129 -0
  562. package/dist/cli/prompts-Bvg_DBpe.js +1137 -0
  563. package/dist/cli/redact-PjNswZOs.js +35 -0
  564. package/dist/cli/rolldown-runtime-kJ_i4yPo.js +26 -0
  565. package/dist/cli/run-CM_2g6KQ.js +684 -0
  566. package/dist/cli/run-DaHfUUO9.js +1539 -0
  567. package/dist/cli/scaffold-CFdDq36-.js +898 -0
  568. package/dist/cli/scaffold-Dsjr7sOT.js +1 -0
  569. package/dist/cli/seed-DldDdXWO.js +113 -0
  570. package/dist/cli/seed-DtRFysBe.js +1 -0
  571. package/dist/cli/shell-Btv_4Yhe.js +10 -0
  572. package/dist/cli/skills-v34NDb2D.js +121 -0
  573. package/dist/cli/snapshot-DAxLi4hO.js +347 -0
  574. package/dist/cli/source-args-0I9zylYy.js +47 -0
  575. package/dist/cli/spec-CaaSOYZS.js +7501 -0
  576. package/dist/cli/spec-De0cfceR.js +1 -0
  577. package/dist/cli/sql-0I1EQ3JG.js +2 -0
  578. package/dist/cli/sql-DDLWwzh9.js +326 -0
  579. package/dist/cli/stack-status-CRanl-CN.js +456 -0
  580. package/dist/cli/style-2JfIPVMQ.js +29 -0
  581. package/dist/cli/supabase-toml-DjLgBYEo.js +1153 -0
  582. package/dist/cli/sync-DFx-6t5n.js +88 -0
  583. package/dist/cli/topics-GJuIDwlY.js +30 -0
  584. package/dist/cli/trace-VbdO6bcN.js +7 -0
  585. package/dist/cli/typegen--TfvOPLh.js +494 -0
  586. package/dist/cli/typegen-version-BNBPI4Eu.js +9 -0
  587. package/dist/cli/validate-BfWNKvxy.js +7522 -0
  588. package/dist/cli/version-DNRW4DAP.js +4 -0
  589. package/dist/cli/write-BS6F3Yvz.js +180 -0
  590. package/dist/client/index.d.ts +7 -4
  591. package/dist/client/index.js +152 -6
  592. package/dist/client/native/index.d.ts +71 -4
  593. package/dist/client/native/index.js +65 -6
  594. package/dist/client-01MAuqzW.js +137 -0
  595. package/dist/client-B7QVIrJS.d.ts +263 -0
  596. package/dist/client-B9CqzgPO.js +75 -0
  597. package/dist/client-BAcILZOf.d.ts +122 -0
  598. package/dist/client-BOT2KVIp.js +128 -0
  599. package/dist/client-BUGIS__1.js +1051 -0
  600. package/dist/client-BVZtq_rQ.d.ts +34 -0
  601. package/dist/client-BYaOGCOG.js +84 -0
  602. package/dist/client-BfgwocyT.js +155 -0
  603. package/dist/client-BpS8a6Fm.js +51 -0
  604. package/dist/client-BxnLb9bz.d.ts +58 -0
  605. package/dist/client-BzCv4kKE.js +65 -0
  606. package/dist/client-C-2ajnhM.js +89 -0
  607. package/dist/client-C5mUEb2n.js +55 -0
  608. package/dist/client-C9QrWrnt.js +209 -0
  609. package/dist/client-CFdMJ1h9.d.ts +277 -0
  610. package/dist/client-CHmjaI0j.d.ts +103 -0
  611. package/dist/client-CWs3X4g1.js +120 -0
  612. package/dist/client-Cdedx_lw.js +438 -0
  613. package/dist/client-CiGjS6us.js +169 -0
  614. package/dist/client-CilSKXNu.js +288 -0
  615. package/dist/client-ClZ0D-if.d.ts +162 -0
  616. package/dist/client-Cmensu7l.d.ts +419 -0
  617. package/dist/client-Co6BPmvr.d.ts +108 -0
  618. package/dist/client-CoVGPi0c.js +133 -0
  619. package/dist/client-CvITjt-9.js +310 -0
  620. package/dist/client-CzI4QpG3.d.ts +131 -0
  621. package/dist/client-D5CZ2a34.d.ts +455 -0
  622. package/dist/client-DAHsEOVV.d.ts +155 -0
  623. package/dist/client-DG7FwgZD.js +104 -0
  624. package/dist/client-DIrCmOXz.d.ts +157 -0
  625. package/dist/client-DNq8xYb-.js +52 -0
  626. package/dist/client-DdfSIZ3M.d.ts +107 -0
  627. package/dist/client-DjTRlN3a.d.ts +68 -0
  628. package/dist/client-Ezlbskjq.js +60 -0
  629. package/dist/client-LLmgiCwJ.d.ts +135 -0
  630. package/dist/client-Lx3mlvKO.d.ts +100 -0
  631. package/dist/client-PGRk3DGz.js +98 -0
  632. package/dist/client-Tc47rlSe.d.ts +350 -0
  633. package/dist/client-VvY0K3wr.d.ts +59 -0
  634. package/dist/client-WAdEBBrH.d.ts +65 -0
  635. package/dist/client-WHeWTNVL.d.ts +130 -0
  636. package/dist/client-WgrPIHH-.js +213 -0
  637. package/dist/client-ZTtSV3l8.js +40 -0
  638. package/dist/client-b2_GjzzD.js +438 -0
  639. package/dist/client-ckXfdy1k.js +38 -0
  640. package/dist/client-e-hFkLUf.d.ts +34 -0
  641. package/dist/client-hyP_nS5R.d.ts +218 -0
  642. package/dist/client-i8glKhxh.js +67 -0
  643. package/dist/client-iDLLvGR4.d.ts +52 -0
  644. package/dist/client-pxjbgOz6.js +376 -0
  645. package/dist/client-xkSCp9hN.d.ts +101 -0
  646. package/dist/client-ysNShuJZ.d.ts +39 -0
  647. package/dist/cloud-event-5rCEzIgK.d.ts +64 -0
  648. package/dist/codecs-Bm46sVxr.d.ts +215 -0
  649. package/dist/codecs-YAekuQ08.js +358 -0
  650. package/dist/codegen-DeoSt1mi.d.ts +1571 -0
  651. package/dist/comments-D7sbd0xG.js +230 -0
  652. package/dist/commerce/index.d.ts +211 -0
  653. package/dist/commerce/index.js +517 -0
  654. package/dist/compiler-BVxepAY0.d.ts +14 -0
  655. package/dist/compose-Djntdacs.js +53 -0
  656. package/dist/composite-M6zPs1Xm.js +130 -0
  657. package/dist/composite-djtGy6bz.d.ts +67 -0
  658. package/dist/config/index.d.ts +7 -5
  659. package/dist/config/index.js +7 -4
  660. package/dist/config-BA1K4OPk.js +557 -0
  661. package/dist/config-C4MozTD7.js +3892 -0
  662. package/dist/connector-Cp8CqssJ.d.ts +107 -0
  663. package/dist/connectors-CjD-R2ks.d.ts +141 -0
  664. package/dist/context-1sSWcd7_.d.ts +365 -0
  665. package/dist/context-B8_p3MXo.js +11 -0
  666. package/dist/context-BDDgjoxz.js +41 -0
  667. package/dist/context-C-bHOtoD.js +5 -0
  668. package/dist/context-D6ZMKc2L.js +19 -0
  669. package/dist/context-wDKxSl9x.js +9 -0
  670. package/dist/controller-D6NyNrlZ.js +79 -0
  671. package/dist/controller-D845qKh2.d.ts +46 -0
  672. package/dist/credentials/index.d.ts +15 -5
  673. package/dist/credentials/index.js +16 -8
  674. package/dist/cron-CUaKTjWC.js +145 -0
  675. package/dist/cron-route-CoL-By8Z.js +24 -0
  676. package/dist/csv-CVfXqaAu.js +89 -0
  677. package/dist/csv-D3eKxV1T.d.ts +28 -0
  678. package/dist/define-B2ln373W.js +1896 -0
  679. package/dist/define-DxHHbNEb.d.ts +1005 -0
  680. package/dist/define-block-B6Gjs57G.js +52 -0
  681. package/dist/define-block-CLZMEFeK.d.ts +256 -0
  682. package/dist/delegation-Dt8hMJWu.js +140 -0
  683. package/dist/delivery-B1mKaOen.js +30 -0
  684. package/dist/delivery-BeHgwS3k.d.ts +69 -0
  685. package/dist/documents-CWn2mtYf.d.ts +96 -0
  686. package/dist/edge/index.d.ts +16 -14
  687. package/dist/edge/index.js +24 -18
  688. package/dist/elysia/index.d.ts +1 -1
  689. package/dist/elysia/index.js +2 -2
  690. package/dist/email-BcmbIWOX.d.ts +42 -0
  691. package/dist/embeddings-C2S14foD.d.ts +78 -0
  692. package/dist/embeddings-CVeOoufZ.js +128 -0
  693. package/dist/ended-nIdGCHxk.d.ts +70 -0
  694. package/dist/entitlements-BvU5dLpW.js +45 -0
  695. package/dist/entitlements-CbzCKalR.d.ts +53 -0
  696. package/dist/env/index.d.ts +1 -1
  697. package/dist/env/index.js +3 -3
  698. package/dist/envelope-CHYk5MXU.js +90 -0
  699. package/dist/errors-8i6tSICm.js +301 -0
  700. package/dist/errors-PIpcoe4z.js +44 -0
  701. package/dist/escape-like-AUEPn-C5.d.ts +15 -0
  702. package/dist/eve/index.d.ts +5 -5
  703. package/dist/eve/index.js +9 -9
  704. package/dist/eve-DUF70Vgi.d.ts +151 -0
  705. package/dist/event-calendar-DJXXMJ3x.d.ts +217 -0
  706. package/dist/event-map-Dy2vKHai.js +19 -0
  707. package/dist/events/index.d.ts +4 -4
  708. package/dist/events/index.js +10 -7
  709. package/dist/events-CTreRrgP.d.ts +800 -0
  710. package/dist/events-xbpHkcK9.js +82 -0
  711. package/dist/executor-BBHgjUJu.d.ts +39 -0
  712. package/dist/executor-BINiCFNp.d.ts +95 -0
  713. package/dist/executor-BXSHYyW2.js +735 -0
  714. package/dist/executor-D1kYY5BA.js +206 -0
  715. package/dist/executor-D3K3tycZ.js +147 -0
  716. package/dist/executor-DKrZr3AC.d.ts +174 -0
  717. package/dist/executor-DoE-5iM8.d.ts +272 -0
  718. package/dist/expo/index.d.ts +4 -4
  719. package/dist/expo/index.js +6 -6
  720. package/dist/expo-sqlite/index.d.ts +3 -3
  721. package/dist/expo-sqlite/index.js +2 -2
  722. package/dist/field-errors-CWXN_h_E.d.ts +113 -0
  723. package/dist/field-formats-Cif5gr7c.js +102 -0
  724. package/dist/field-formats-DCvOQlOy.d.ts +39 -0
  725. package/dist/filter-evaluate-C0ULNfS7.js +214 -0
  726. package/dist/filter-evaluate-CjcFq0RT.d.ts +34 -0
  727. package/dist/filter-query-B3lhckKX.js +518 -0
  728. package/dist/filter-query-BKmRYrTE.d.ts +121 -0
  729. package/dist/flags-D_D1jAHB.d.ts +230 -0
  730. package/dist/flags-XAOsdNAc.js +279 -0
  731. package/dist/flags-sdk/index.d.ts +143 -0
  732. package/dist/flags-sdk/index.js +175 -0
  733. package/dist/form-definition-sagoefQr.d.ts +95 -0
  734. package/dist/format-CNwSjXUU.d.ts +70 -0
  735. package/dist/framework-DG5Bv39u.d.ts +26 -0
  736. package/dist/framework-INbjMZX1.js +51 -0
  737. package/dist/function-contract-B4c0XuTU.d.ts +21 -0
  738. package/dist/function-contract-DmkBg19r.js +5 -0
  739. package/dist/gateway-Cup00l0w.d.ts +109 -0
  740. package/dist/gateway-options-ClvvfuuU.d.ts +29 -0
  741. package/dist/gateway-options-DcLcWL5_.js +27 -0
  742. package/dist/graph-Cs28bOlK.js +360 -0
  743. package/dist/groups-CxonH3u5.js +16 -0
  744. package/dist/h3/index.d.ts +7 -3
  745. package/dist/h3/index.js +3 -3
  746. package/dist/h3/v1/index.d.ts +1 -1
  747. package/dist/h3/v1/index.js +2 -2
  748. package/dist/hono/index.d.ts +24 -10
  749. package/dist/hono/index.js +50 -22
  750. package/dist/http-BF-V0CUF.js +25 -0
  751. package/dist/impersonation-CDeCzZP6.js +62 -0
  752. package/dist/impersonation-D5chOkrO.d.ts +25 -0
  753. package/dist/inbox-3ql4phyr.d.ts +400 -0
  754. package/dist/index-BIi8i6BO.d.ts +97 -0
  755. package/dist/index-BkzNUPId.d.ts +131 -0
  756. package/dist/index-BlqrGvb3.d.ts +227 -0
  757. package/dist/index-Brhm22eL.d.ts +138 -0
  758. package/dist/index-Bvw9r94Q.d.ts +245 -0
  759. package/dist/index-CETRk4YO.d.ts +82 -0
  760. package/dist/index-CrZitvSC.d.ts +258 -0
  761. package/dist/index-DfVXx4Ia.d.ts +202 -0
  762. package/dist/index-DygICr8c.d.ts +206 -0
  763. package/dist/index-Ej8XQ9w9.d.ts +58 -0
  764. package/dist/index-jhqhynmh.d.ts +58 -0
  765. package/dist/index.d.ts +15 -15
  766. package/dist/index.js +15 -14
  767. package/dist/iso4217-A8ev-CNW.js +176 -0
  768. package/dist/json-schema-CpYINXG8.js +548 -0
  769. package/dist/jws-35a8VhFV.d.ts +60 -0
  770. package/dist/jws-milwSg7E.js +191 -0
  771. package/dist/kit-D5S7KNFe.d.ts +66 -0
  772. package/dist/kit-MUK34-ZG.js +104 -0
  773. package/dist/knowledge-BXQ2-V0a.d.ts +187 -0
  774. package/dist/knowledge-CJ_Mm3ic.js +272 -0
  775. package/dist/lint/index.js +9 -9
  776. package/dist/list/index.d.ts +4 -2
  777. package/dist/list/index.js +4 -2
  778. package/dist/list-query-CBXNfJt4.js +549 -0
  779. package/dist/list-query-PvP3pPGQ.d.ts +194 -0
  780. package/dist/live-DwDreq1n.js +239 -0
  781. package/dist/mcp/index.d.ts +24 -7
  782. package/dist/mcp/index.js +76 -55
  783. package/dist/mcp/sdk/index.d.ts +6 -6
  784. package/dist/mcp/sdk/index.js +7 -7
  785. package/dist/messages-Cx4ttLJJ.js +493 -0
  786. package/dist/metric-definition-95HFoW1V.d.ts +70 -0
  787. package/dist/metric-definition-BjxVn4R5.js +117 -0
  788. package/dist/mfa-DtflCXEt.d.ts +30 -0
  789. package/dist/model-lUafmeBQ.d.ts +311 -0
  790. package/dist/model-messages-CTu-6kBu.js +206 -0
  791. package/dist/money-95Rff2vT.js +185 -0
  792. package/dist/money-DFpWzQvk.d.ts +76 -0
  793. package/dist/money-codec-C_-K5ZUU.js +41 -0
  794. package/dist/nestjs/index.d.ts +2 -2
  795. package/dist/nestjs/index.js +2 -2
  796. package/dist/next/index.d.ts +26 -16
  797. package/dist/next/index.js +17 -16
  798. package/dist/node/index.d.ts +2 -2
  799. package/dist/node/index.js +3 -3
  800. package/dist/nuxt/index.d.ts +2 -2
  801. package/dist/nuxt/index.js +3 -2
  802. package/dist/onboarding-BZvLLPaY.js +68 -0
  803. package/dist/openapi/index.d.ts +3 -3
  804. package/dist/openapi/index.js +2 -2
  805. package/dist/operations-C9-UcReN.d.ts +6 -0
  806. package/dist/operations-CsIfMED7.js +29 -0
  807. package/dist/optional-peer-Dx8TaYXw.js +29 -0
  808. package/dist/options-B0FcEKtH.js +5 -0
  809. package/dist/options-B5BU2Yg7.js +11 -0
  810. package/dist/options-B5woz53h.js +5 -0
  811. package/dist/options-B7EJaOX-.js +5 -0
  812. package/dist/options-B9q8CROT.js +9 -0
  813. package/dist/options-BA6jV6py.js +10 -0
  814. package/dist/options-BAW2ZlZ8.js +8 -0
  815. package/dist/options-BMjcVuaI.js +82 -0
  816. package/dist/options-BOOEzor9.js +5 -0
  817. package/dist/options-BQ07tTYr.js +11 -0
  818. package/dist/options-BZsoPJGX.js +5 -0
  819. package/dist/options-BesyRBnM.js +16 -0
  820. package/dist/options-Bf96aVk5.js +10 -0
  821. package/dist/options-BlOPivzq.js +8 -0
  822. package/dist/options-Blg8lAkz.js +9 -0
  823. package/dist/options-Bn4cu0gt.js +5 -0
  824. package/dist/options-BnoJOwXK.js +8 -0
  825. package/dist/options-Bp7sgKvl.js +30 -0
  826. package/dist/options-BqO9GYig.js +311 -0
  827. package/dist/options-BxcFLL1G.js +8 -0
  828. package/dist/options-C1HR4UZd.js +13 -0
  829. package/dist/options-C239TLRF.js +14 -0
  830. package/dist/options-C2HesT4A.js +9 -0
  831. package/dist/options-C3EzJATk.js +10 -0
  832. package/dist/options-C3hZ1fbC.js +10 -0
  833. package/dist/options-C6rEL6U5.js +8 -0
  834. package/dist/options-CAzVf-1T.js +8 -0
  835. package/dist/options-CGKSUFUq.js +5 -0
  836. package/dist/options-CGjGE8xS.js +12 -0
  837. package/dist/options-CK5WiFwG.js +11 -0
  838. package/dist/options-CN7PHkhU.js +8 -0
  839. package/dist/options-CTZNpb2n.js +5 -0
  840. package/dist/options-CUqQ9pm7.js +9 -0
  841. package/dist/options-CVSWgZpY.js +8 -0
  842. package/dist/options-CXFz0xxS.js +8 -0
  843. package/dist/options-CZk_fbbg.js +9 -0
  844. package/dist/options-C_pb1Nd3.js +5 -0
  845. package/dist/options-CbSOj53r.d.ts +52 -0
  846. package/dist/options-ChD15QxJ.js +9 -0
  847. package/dist/options-CkScQRJR.js +12 -0
  848. package/dist/options-CljDnQt2.js +25 -0
  849. package/dist/options-CmraJhd9.js +5 -0
  850. package/dist/options-CoX6VKGb.js +8 -0
  851. package/dist/options-CrC78Tee.js +5 -0
  852. package/dist/options-Ctac2R0Q.js +11 -0
  853. package/dist/options-CyD7OObW.js +17 -0
  854. package/dist/options-D1blDihM.js +9 -0
  855. package/dist/options-D2Gd6VfS.js +8 -0
  856. package/dist/options-D2d1fFuw.js +11 -0
  857. package/dist/options-D40CQzji.js +8 -0
  858. package/dist/options-D7f2VKzj.js +25 -0
  859. package/dist/options-DARkpk2P.js +8 -0
  860. package/dist/options-DCduTMST.js +17 -0
  861. package/dist/options-DDzggjN7.js +8 -0
  862. package/dist/options-DMR68VAC.js +5 -0
  863. package/dist/options-DNKyN5uq.js +20 -0
  864. package/dist/options-DTDxFT6J.js +13 -0
  865. package/dist/options-DWpz3V3F.js +8 -0
  866. package/dist/options-DXqcJyOP.js +10 -0
  867. package/dist/options-DYBQ973I.js +8 -0
  868. package/dist/options-Dh4wu9Ks.js +15 -0
  869. package/dist/options-Dmg1Da9P.js +25 -0
  870. package/dist/options-DsUgamiy.js +5 -0
  871. package/dist/options-EsUh744F.js +13 -0
  872. package/dist/options-Fz6xqu-b.js +5 -0
  873. package/dist/options-HSv8R6h5.js +13 -0
  874. package/dist/options-I8zVkB_y.js +8 -0
  875. package/dist/options-MHhjOoWz.js +5 -0
  876. package/dist/options-MLxMkd5B.js +11 -0
  877. package/dist/options-OJ5zmgr8.js +10 -0
  878. package/dist/options-QKP9FFcK.js +8 -0
  879. package/dist/options-SViK_2x2.js +12 -0
  880. package/dist/options-XgfTctbI.js +5 -0
  881. package/dist/options-_9arpsX9.js +11 -0
  882. package/dist/options-eBPsk4WI.js +11 -0
  883. package/dist/options-kLKILdIu.js +10 -0
  884. package/dist/options-n22NK3PL.js +8 -0
  885. package/dist/options-oeAq4Ho5.js +12 -0
  886. package/dist/options-qU8vgxhO.js +18 -0
  887. package/dist/options-vXMBEWSH.js +5 -0
  888. package/dist/options-wFnK3qWl.js +9 -0
  889. package/dist/options-xVAy3UsV.js +9 -0
  890. package/dist/organizations-Cw7om8uk.js +398 -0
  891. package/dist/orpc/index.d.ts +26 -10
  892. package/dist/orpc/index.js +54 -33
  893. package/dist/otel/index.d.ts +3 -3
  894. package/dist/otel/index.js +42 -7
  895. package/dist/outbox-BTeqjbum.d.ts +181 -0
  896. package/dist/overlay/index.d.ts +1 -1
  897. package/dist/overlay/index.js +3 -3
  898. package/dist/payments-h45bswA-.js +16 -0
  899. package/dist/pg-error-BV_X8Isq.js +26 -0
  900. package/dist/plugin-CDLJRFFg.d.ts +190 -0
  901. package/dist/plugins/actor/index.d.ts +1 -1
  902. package/dist/plugins/actor/index.js +1 -1
  903. package/dist/plugins/rules/index.d.ts +2 -2
  904. package/dist/plugins/rules/index.js +2 -2
  905. package/dist/plugins/soft-delete/index.d.ts +3 -3
  906. package/dist/plugins/soft-delete/index.js +4 -4
  907. package/dist/plugins/tenant/index.d.ts +4 -3
  908. package/dist/plugins/tenant/index.js +3 -3
  909. package/dist/plugins/timestamps/index.d.ts +1 -1
  910. package/dist/plugins/timestamps/index.js +1 -1
  911. package/dist/plugins/validation/index.d.ts +2 -2
  912. package/dist/plugins/validation/index.js +3 -3
  913. package/dist/pool-CwOCsX9e.d.ts +114 -0
  914. package/dist/pool-errors-GMjlCN0d.js +27 -0
  915. package/dist/ports-Ca63W4cW.d.ts +285 -0
  916. package/dist/ports-DAdQyjZz.d.ts +86 -0
  917. package/dist/ports-DGK3KTDH.js +133 -0
  918. package/dist/postgres/index.d.ts +28 -6
  919. package/dist/postgres/index.js +54 -23
  920. package/dist/postgrest-Cw9Bs5gm.d.ts +53 -0
  921. package/dist/powersync/index.d.ts +4 -4
  922. package/dist/powersync/index.js +4 -4
  923. package/dist/powersync/react/index.d.ts +8 -3
  924. package/dist/powersync/react/index.js +11 -3
  925. package/dist/preset/index.d.ts +352 -0
  926. package/dist/preset/index.js +564 -0
  927. package/dist/problem-CEjyhV5T.d.ts +76 -0
  928. package/dist/problem-pIiL3WbE.js +159 -0
  929. package/dist/provider-9gBq9W6k.d.ts +113 -0
  930. package/dist/provider-DKh2xFZb.js +57 -0
  931. package/dist/push-token-D6REHMMw.js +16 -0
  932. package/dist/push-token-asrmi7-6.d.ts +24 -0
  933. package/dist/query/index.d.ts +2 -2
  934. package/dist/range-DwpWe8e7.js +7 -0
  935. package/dist/range-p5V4rBhZ.d.ts +8 -0
  936. package/dist/rank-keys-DcPMt_Jk.js +60 -0
  937. package/dist/rank-result-DS8IoLup.js +18 -0
  938. package/dist/rank-result-Dngpt2n5.d.ts +14 -0
  939. package/dist/rate-limit--QSiFA6D.js +325 -0
  940. package/dist/rate-limit-BtbddDnE.js +49 -0
  941. package/dist/rate-limit-C88MEAOm.d.ts +41 -0
  942. package/dist/ratelimit-headers-Bsxx0Tj2.js +62 -0
  943. package/dist/react/index.d.ts +9 -9
  944. package/dist/react/index.js +3 -4
  945. package/dist/react/native/index.d.ts +1 -1
  946. package/dist/react/native/index.js +2 -2
  947. package/dist/react/server.d.ts +10 -10
  948. package/dist/react/server.js +3 -3
  949. package/dist/react/session.d.ts +2 -2
  950. package/dist/react-CKXUkwPx.js +410 -0
  951. package/dist/react-controller-Xn-IU44p.js +40 -0
  952. package/dist/react-env-Cc7Vf6eb.js +13 -0
  953. package/dist/react-router/index.d.ts +6 -6
  954. package/dist/react-router/index.js +7 -7
  955. package/dist/read-set-GEb-i0On.js +314 -0
  956. package/dist/realtime/index.d.ts +8 -4
  957. package/dist/realtime/index.js +5 -327
  958. package/dist/realtime-status-D2dw1hOE.js +12 -0
  959. package/dist/realtime-status-DcsO00Gw.d.ts +8 -0
  960. package/dist/refusal-br4Ma9Cf.js +61 -0
  961. package/dist/refusal-oD3ISM9h.d.ts +18 -0
  962. package/dist/replicas-BvIL4_jL.js +94 -0
  963. package/dist/resolve-CAR9oaKW.js +869 -0
  964. package/dist/resolve-w9EpHzuM.d.ts +266 -0
  965. package/dist/resource-B4ka8dDH.d.ts +106 -0
  966. package/dist/resource-C8r5xGqY.js +463 -0
  967. package/dist/resource-DO4gbVi5.js +91 -0
  968. package/dist/resource-execute-D0yQ-8WR.d.ts +12 -0
  969. package/dist/resource-types-D2vEQVXI.d.ts +141 -0
  970. package/dist/resources-BklF-rjz.d.ts +7 -0
  971. package/dist/resources-BlZdLsWQ.js +64 -0
  972. package/dist/respond-C7I8kLK_.d.ts +93 -0
  973. package/dist/respond-DdhZ9Wbn.js +95 -0
  974. package/dist/result-BlgnMB0H.js +128 -0
  975. package/dist/result-Cj3yWhjH.d.ts +298 -0
  976. package/dist/rrule-zBh3CA1r.js +290 -0
  977. package/dist/rules-B0-3Iosu.js +261 -0
  978. package/dist/run-watch-CQRdpy-f.js +53 -0
  979. package/dist/sales-lines-BAk8In-Z.js +41 -0
  980. package/dist/sales-lines-C6gafAwg.d.ts +28 -0
  981. package/dist/sales-shared-DAAGwQwN.d.ts +8 -0
  982. package/dist/sales-shared-SblIgCgI.js +22 -0
  983. package/dist/scope-DgWjuXUw.js +90 -0
  984. package/dist/search-B6h03cAx.js +106 -0
  985. package/dist/search-BtoWY6n_.js +9 -0
  986. package/dist/server/index.d.ts +157 -51
  987. package/dist/server/index.js +295 -20
  988. package/dist/server-types-OohhIQb2.d.ts +737 -0
  989. package/dist/session-DiWHtYrO.d.ts +95 -0
  990. package/dist/settings-BXFn9zpS.js +90 -0
  991. package/dist/shared-BmMcMoW9.js +89 -0
  992. package/dist/shared-DbO3Dfms.js +14 -0
  993. package/dist/shared-as0EG51f.js +60 -0
  994. package/dist/sign-in-D0xN6E_l.js +360 -0
  995. package/dist/signatures-B41ApWXA.js +145 -0
  996. package/dist/signatures-BMdJ7neI.d.ts +43 -0
  997. package/dist/signers-CXt_wA9S.d.ts +385 -0
  998. package/dist/signing-keys-Bq9mMCTh.d.ts +90 -0
  999. package/dist/solid/index.d.ts +8 -8
  1000. package/dist/solid/index.js +3 -8
  1001. package/dist/solid-controller-DLsmrczT.js +33 -0
  1002. package/dist/solid-controller-DqlvYFZa.d.ts +11 -0
  1003. package/dist/solid-start/index.d.ts +8 -12
  1004. package/dist/solid-start/index.js +8 -7
  1005. package/dist/spec/index.d.ts +25 -5
  1006. package/dist/spec/index.js +37 -4
  1007. package/dist/spec-pins-Dqpml2dZ.d.ts +84 -0
  1008. package/dist/spec-pins-S4PymRxp.js +60 -0
  1009. package/dist/sql/index.d.ts +189 -28
  1010. package/dist/sql/index.js +74328 -26488
  1011. package/dist/sql-DJrXG-3Z.js +422 -0
  1012. package/dist/sso-BDva_-4y.js +217 -0
  1013. package/dist/sso-BN0LnMqE.d.ts +131 -0
  1014. package/dist/ssr/index.d.ts +5 -6
  1015. package/dist/ssr/index.js +4 -4
  1016. package/dist/standard-B5fe2gnW.js +25 -0
  1017. package/dist/standard-C3_AAF3g.d.ts +7 -0
  1018. package/dist/stats-D6vkb89f.js +1128 -0
  1019. package/dist/storage/index.d.ts +3 -3
  1020. package/dist/storage/index.js +14 -10
  1021. package/dist/storage-api-Cx-1iWBd.d.ts +582 -0
  1022. package/dist/store-B5qYKsTh.d.ts +68 -0
  1023. package/dist/streams/index.d.ts +4 -4
  1024. package/dist/streams/index.js +4 -4
  1025. package/dist/streams/redis/index.d.ts +1 -1
  1026. package/dist/streams/redis/index.js +4 -4
  1027. package/dist/stripe/index.d.ts +16 -0
  1028. package/dist/stripe/index.js +14 -0
  1029. package/dist/stripe-NVcNOhHy.d.ts +140 -0
  1030. package/dist/stripe-XZrSmDTf.js +32 -0
  1031. package/dist/subject-readers-DiePmaYP.js +46 -0
  1032. package/dist/subject-readers-fxP5wu0s.d.ts +21 -0
  1033. package/dist/subjects-z8VWA_lF.d.ts +69 -0
  1034. package/dist/subscribers-Cq--DL1E.js +34 -0
  1035. package/dist/supabase-mcp-DomZ-amK.js +28 -0
  1036. package/dist/support-BsKkvA92.js +522 -0
  1037. package/dist/support-view-BbcZR7Io.d.ts +17 -0
  1038. package/dist/svelte/index.d.ts +7 -7
  1039. package/dist/svelte/index.js +2 -2
  1040. package/dist/svelte-controller-CDAujo-_.js +50 -0
  1041. package/dist/svelte-controller-DxxHEHxD.d.ts +10 -0
  1042. package/dist/sveltekit/index.d.ts +11 -13
  1043. package/dist/sveltekit/index.js +9 -9
  1044. package/dist/table-schema-pQlER3jj.js +283 -0
  1045. package/dist/tags-Dw8vKkcI.d.ts +30 -0
  1046. package/dist/tags-PaG0Ns_9.js +84 -0
  1047. package/dist/tanstack-db/index.d.ts +2 -2
  1048. package/dist/tanstack-db/index.js +1 -1
  1049. package/dist/tanstack-db/supabase/index.d.ts +5 -6
  1050. package/dist/tanstack-db/supabase/index.js +180 -9
  1051. package/dist/tanstack-start/index.d.ts +7 -7
  1052. package/dist/tanstack-start/index.js +6 -6
  1053. package/dist/tax-DDZUB_oc.d.ts +273 -0
  1054. package/dist/tax-D_kSCdWU.js +140 -0
  1055. package/dist/tee-Bsisfd7t.js +101 -0
  1056. package/dist/template-DdgYjIZ5.js +123 -0
  1057. package/dist/temporal-CB5Fpo5d.js +79 -0
  1058. package/dist/temporal-required-DqRzr7i0.js +20 -0
  1059. package/dist/tenant-B-fiItlJ.js +27 -0
  1060. package/dist/tenant-DdmVhsff.d.ts +17 -0
  1061. package/dist/tenant-naming-Bsj3Uvap.js +27 -0
  1062. package/dist/testing/index.d.ts +235 -32
  1063. package/dist/testing/index.js +1132 -32
  1064. package/dist/timing-BMCWgpdZ.js +92 -0
  1065. package/dist/topic-ByDz9edV.js +542 -0
  1066. package/dist/topic-cMS7UtM1.d.ts +359 -0
  1067. package/dist/types-6oiy6rIa.d.ts +205 -0
  1068. package/dist/types-CdP0z5tS.d.ts +564 -0
  1069. package/dist/types-D0W4fnsc.d.ts +162 -0
  1070. package/dist/types-R6syp1el.js +29 -0
  1071. package/dist/types-YfwpIE-d.d.ts +357 -0
  1072. package/dist/types-pNY_UpDs.d.ts +240 -0
  1073. package/dist/types-vaoP9S9_.d.ts +635 -0
  1074. package/dist/undo-CEGIRkPA.js +44 -0
  1075. package/dist/undo-DGo0skyO.d.ts +43 -0
  1076. package/dist/usage-CdlfuS3i.js +250 -0
  1077. package/dist/usage-DM2rzczj.d.ts +202 -0
  1078. package/dist/vault-tOkPLnMB.d.ts +50 -0
  1079. package/dist/vercel-connect/index.d.ts +1 -1
  1080. package/dist/vercel-connect/index.js +4 -4
  1081. package/dist/verify-D63A2ALE.d.ts +142 -0
  1082. package/dist/verify-EQcC3Khp.js +126 -0
  1083. package/dist/version-D87ZteKy.js +4 -0
  1084. package/dist/view-DZ63nqwt.js +105 -0
  1085. package/dist/view-Dv0A949a.d.ts +90 -0
  1086. package/dist/vue/index.d.ts +8 -8
  1087. package/dist/vue/index.js +3 -16
  1088. package/dist/vue-controller-C9tFzqAc.js +32 -0
  1089. package/dist/vue-controller-HPfMTDa2.d.ts +11 -0
  1090. package/dist/watch-DDuWYv0Y.d.ts +84 -0
  1091. package/dist/watch-DT_B3CnJ.js +139 -0
  1092. package/dist/watch-topic-EFpOIIDE.d.ts +28 -0
  1093. package/dist/watch-topic-miuymrli.js +57 -0
  1094. package/dist/wire-DEY0ajW9.js +45 -0
  1095. package/dist/workflow-builder-OrglbXUh.js +681 -0
  1096. package/dist/workflow-sdk/builder/index.d.ts +46 -15
  1097. package/dist/workflow-sdk/builder/index.js +69 -21
  1098. package/dist/workflow-sdk/index.d.ts +75 -2
  1099. package/dist/workflow-sdk/index.js +83 -3
  1100. package/dist/workflow-sdk/world/index.d.ts +29 -4
  1101. package/dist/workflow-sdk/world/index.js +137 -59
  1102. package/dist/workflow-sdk-BZ6qsRlY.js +243 -0
  1103. package/dist/workflow-sdk-q8cLwW1K.d.ts +161 -0
  1104. package/dist/workflow-sdk-world-DPMdBfzn.js +2103 -0
  1105. package/dist/workflows-C-OvZpeg.js +282 -0
  1106. package/dist/workflows-DFQeXDAI.d.ts +243 -0
  1107. package/dist/yjs/index.d.ts +67 -0
  1108. package/dist/yjs/index.js +212 -0
  1109. package/package.json +788 -46
  1110. package/schemas/cli-commands-v1.json +220 -0
  1111. package/schemas/cli-result-v1.json +138 -0
  1112. package/schemas/config-v1.json +4147 -726
  1113. package/schemas/doctor-report-v1.json +23 -0
  1114. package/schemas/snapshot-v2.json +271 -0
  1115. package/skills/better-supabase/SKILL.md +11 -4
  1116. package/skills/better-supabase/references/plugins.md +2 -2
  1117. package/skills/better-supabase/references/ui-recipes.md +18652 -0
  1118. package/skills/better-supabase-api/SKILL.md +14 -14
  1119. package/skills/better-supabase-api/references/adapters.md +12 -2
  1120. package/skills/better-supabase-api/references/ai.md +4 -4
  1121. package/skills/better-supabase-api/references/expo.md +1 -1
  1122. package/skills/better-supabase-api/references/powersync.md +1 -1
  1123. package/skills/better-supabase-api/references/streams-credentials.md +8 -5
  1124. package/skills/better-supabase-auth/SKILL.md +18 -11
  1125. package/skills/better-supabase-auth/references/authorization-providers.md +5 -5
  1126. package/skills/better-supabase-testing/SKILL.md +2 -2
  1127. package/testing/act-cases.json +370 -0
  1128. package/dist/access-sql-CrSbK1q-.js +0 -181
  1129. package/dist/actor-CQTlc1Hh.d.ts +0 -43
  1130. package/dist/adapter-CN45ibbV.js +0 -1691
  1131. package/dist/agents-BY_LQXtQ.d.ts +0 -94
  1132. package/dist/ai-cache-Dfgk8nBT.js +0 -81
  1133. package/dist/ai-cache-DrUMMgp6.d.ts +0 -64
  1134. package/dist/ai-chat-CVLRWbtS.js +0 -744
  1135. package/dist/ai-chat-DXkMy74O.d.ts +0 -590
  1136. package/dist/ai-files-CioLu5du.js +0 -320
  1137. package/dist/ai-tasks-BRQ6iQLc.d.ts +0 -131
  1138. package/dist/announcements-Bouy0Ski.d.ts +0 -72
  1139. package/dist/announcements-p_BFofiR.js +0 -107
  1140. package/dist/api-Dnf2q-Ht.d.ts +0 -370
  1141. package/dist/api-DtHFC037.js +0 -676
  1142. package/dist/api-keys-C8BlF3L2.d.ts +0 -156
  1143. package/dist/assistant-DBlFDZsi.d.ts +0 -147
  1144. package/dist/attributes-5dYul0u0.js +0 -13
  1145. package/dist/authorization-BFCqamMs.d.ts +0 -172
  1146. package/dist/authorizer-ayxUDXXP.js +0 -126
  1147. package/dist/base64-D2gsioCY.js +0 -42
  1148. package/dist/before-route-CnR0C0Jr.js +0 -30
  1149. package/dist/bind-ButSzrHe.js +0 -97
  1150. package/dist/bind-CQ5mPyX1.d.ts +0 -62
  1151. package/dist/block-events-DTxU5tfr.js +0 -91
  1152. package/dist/block-fields-CroxUuF2.js +0 -49
  1153. package/dist/block-fields-D1pfrcIY.d.ts +0 -31
  1154. package/dist/block-helpers-C0Xj8War.d.ts +0 -37
  1155. package/dist/block-helpers-Cy3pB96I.js +0 -222
  1156. package/dist/block-hooks-BPNMIlLl.js +0 -114
  1157. package/dist/block-hooks-DaOVC7SC.d.ts +0 -107
  1158. package/dist/block-transport-bAKh-dGc.js +0 -85
  1159. package/dist/block-transport-inD4fFq-.d.ts +0 -70
  1160. package/dist/build-hPwk3_X5.js +0 -1296
  1161. package/dist/build-meLuYGri.js +0 -689
  1162. package/dist/channel-_2Mx1Oyu.d.ts +0 -70
  1163. package/dist/channels-CkgQ_X60.js +0 -114
  1164. package/dist/cli/add-1dc5wM5k.js +0 -69
  1165. package/dist/cli/bin.d.ts +0 -1
  1166. package/dist/cli/cache-CIfA-jBV.js +0 -483
  1167. package/dist/cli/codemod-JVlTQQG2.js +0 -491
  1168. package/dist/cli/command-DV-StG1x.js +0 -507
  1169. package/dist/cli/config-C2Pz2_4A.js +0 -52
  1170. package/dist/cli/config-DpbF8ML3.js +0 -2
  1171. package/dist/cli/config-M-WzL9O2.js +0 -1175
  1172. package/dist/cli/db-BkcfOlyB.js +0 -53
  1173. package/dist/cli/diff-D1jGdb3Y.js +0 -752
  1174. package/dist/cli/dist-DBPdlPYK.js +0 -1112
  1175. package/dist/cli/dist-DRAVaE6w.js +0 -842
  1176. package/dist/cli/dist-DreZ24Sz.js +0 -129
  1177. package/dist/cli/doctor-VcDtuusV.js +0 -3686
  1178. package/dist/cli/emit-BHHfwUoT.js +0 -1136
  1179. package/dist/cli/env-B--LMhEe.js +0 -514
  1180. package/dist/cli/env-vzBG90Um.js +0 -2
  1181. package/dist/cli/env-zHJtMIBo.js +0 -116
  1182. package/dist/cli/errors-CqTLXe2M.js +0 -72
  1183. package/dist/cli/fastest-levenshtein-CF7BCi9l.js +0 -120
  1184. package/dist/cli/files-BVupXPIC.js +0 -34
  1185. package/dist/cli/gen-DmVj3u4L.js +0 -322
  1186. package/dist/cli/glue-C1UE8gQN.js +0 -468
  1187. package/dist/cli/init-CVZ3s5kl.js +0 -258
  1188. package/dist/cli/introspect-BToGNfm-.js +0 -81
  1189. package/dist/cli/io-CFzJVJ68.js +0 -37
  1190. package/dist/cli/jsonc-BUniUpOk.js +0 -2
  1191. package/dist/cli/keys-CJhtIxJ3.js +0 -85
  1192. package/dist/cli/metadata-DSRKCaf-.js +0 -133
  1193. package/dist/cli/openapi-DWa4Ir1q.js +0 -60
  1194. package/dist/cli/project-DZRaBaY7.js +0 -75
  1195. package/dist/cli/prompts-BdeVmVpg.js +0 -2
  1196. package/dist/cli/prompts-DZJB1nTw.js +0 -1142
  1197. package/dist/cli/read-sets-DjJrm8Wj.js +0 -223
  1198. package/dist/cli/rolldown-runtime-CMFfr-1z.js +0 -26
  1199. package/dist/cli/run-DA6_lg3w.js +0 -389
  1200. package/dist/cli/run-DuN1MX-7.js +0 -705
  1201. package/dist/cli/scaffold-5DenHSxF.js +0 -292
  1202. package/dist/cli/scaffold-CwQUMFRb.js +0 -2
  1203. package/dist/cli/seed-CzBmrGON.js +0 -96
  1204. package/dist/cli/seed-DOmit9Hq.js +0 -2
  1205. package/dist/cli/skills-CnO8QFS7.js +0 -139
  1206. package/dist/cli/snapshot-Bstk6ulj.js +0 -287
  1207. package/dist/cli/source-args-BYfq6imV.js +0 -31
  1208. package/dist/cli/spec-CzosTYm3.js +0 -7438
  1209. package/dist/cli/spec-T_0Bcyw7.js +0 -2
  1210. package/dist/cli/sql-BKOOQAX3.js +0 -517
  1211. package/dist/cli/sql-DJrNDxQm.js +0 -3
  1212. package/dist/cli/sql-layout-D6cphHT3.js +0 -69
  1213. package/dist/cli/style-CB3vxgh0.js +0 -29
  1214. package/dist/cli/supabase-toml-B-bIukQF.js +0 -1095
  1215. package/dist/cli/typegen-Demi5-VQ.js +0 -486
  1216. package/dist/cli/typegen-version-DeFbtzYI.js +0 -8
  1217. package/dist/cli/validate-Ca13ktgz.js +0 -7522
  1218. package/dist/cli/version-B4k0aUxS.js +0 -4
  1219. package/dist/client-wxeTQFtB.js +0 -310
  1220. package/dist/cloud-event-Dune0KI7.d.ts +0 -64
  1221. package/dist/compiler-V1qvcST1.d.ts +0 -14
  1222. package/dist/compose-BHej1acw.js +0 -53
  1223. package/dist/composite-CWAJTRBF.d.ts +0 -146
  1224. package/dist/composite-zTe0TCqj.js +0 -130
  1225. package/dist/config-DlKvtt95.js +0 -540
  1226. package/dist/connector-CySQEFcW.d.ts +0 -107
  1227. package/dist/connectors--PGhmiu0.d.ts +0 -120
  1228. package/dist/context-DsV2SueA.d.ts +0 -246
  1229. package/dist/context-nPDvQ-Zl.js +0 -41
  1230. package/dist/cron-D25Ukpxy.js +0 -145
  1231. package/dist/cron-route-D2AN9SA1.js +0 -24
  1232. package/dist/csv-BZnHA1Py.js +0 -25
  1233. package/dist/define-CFQcvM20.js +0 -1949
  1234. package/dist/define-DmcfoNXB.d.ts +0 -1005
  1235. package/dist/embeddings-4ZvFzjsU.js +0 -127
  1236. package/dist/embeddings-B4vhS-dY.d.ts +0 -68
  1237. package/dist/ended-CcvcRqEd.d.ts +0 -69
  1238. package/dist/entitlements-BYFf0Cdh.js +0 -24
  1239. package/dist/entitlements-Ds8qoYZ-.d.ts +0 -51
  1240. package/dist/envelope-DqnYGRw7.js +0 -47
  1241. package/dist/errors-2M6CKMP4.js +0 -271
  1242. package/dist/errors-rZ7VIqp6.js +0 -44
  1243. package/dist/escape-like-DDWoHzh_.d.ts +0 -15
  1244. package/dist/eve-CoAIcCkq.d.ts +0 -151
  1245. package/dist/events-D1BOCll8.d.ts +0 -551
  1246. package/dist/executor-B-fD7DLt.js +0 -735
  1247. package/dist/executor-B_Hfobee.js +0 -162
  1248. package/dist/executor-C-R4pucm.js +0 -83
  1249. package/dist/executor-CpxLPCiz.d.ts +0 -36
  1250. package/dist/executor-DfEtf0cq.d.ts +0 -164
  1251. package/dist/executor-Drzu3dBK.d.ts +0 -261
  1252. package/dist/executor-ngjKL_Pe.d.ts +0 -30
  1253. package/dist/field-errors-DIe9XYWL.d.ts +0 -109
  1254. package/dist/format-DTXdu8ya.d.ts +0 -70
  1255. package/dist/framework-148t1m3C.d.ts +0 -25
  1256. package/dist/framework-3ey3QmrO.js +0 -51
  1257. package/dist/function-contract-BcZenXMO.d.ts +0 -8
  1258. package/dist/gateway-S9vicgeo.d.ts +0 -130
  1259. package/dist/graph-BGyLLFLX.js +0 -265
  1260. package/dist/hooks-Bhza9Hnr.js +0 -277
  1261. package/dist/http-sbmBe5d2.js +0 -25
  1262. package/dist/impersonation-DcqaTBHx.js +0 -148
  1263. package/dist/inbox-Cd1KCEBL.d.ts +0 -384
  1264. package/dist/index-B72Rvv_j.d.ts +0 -89
  1265. package/dist/index-BCHR4Ucl.d.ts +0 -300
  1266. package/dist/index-BUK7jUzR.d.ts +0 -82
  1267. package/dist/index-Ba1SI-uO.d.ts +0 -1331
  1268. package/dist/index-BfxOaOYs.d.ts +0 -245
  1269. package/dist/index-CicIyqOe.d.ts +0 -55
  1270. package/dist/index-D69h4QqD.d.ts +0 -74
  1271. package/dist/index-DG2SUXDQ.d.ts +0 -58
  1272. package/dist/index-DoNVLHOU.d.ts +0 -206
  1273. package/dist/index-R274XFlg.d.ts +0 -138
  1274. package/dist/index-_4R4b01v.d.ts +0 -257
  1275. package/dist/json-schema-CT4tvrkA.js +0 -548
  1276. package/dist/kit-BhHr9T9v.js +0 -104
  1277. package/dist/kit-W99LCPBS.d.ts +0 -66
  1278. package/dist/knowledge-CAReFpRA.d.ts +0 -176
  1279. package/dist/knowledge-DnHtb64A.js +0 -256
  1280. package/dist/list-query-D3JQeEL7.d.ts +0 -164
  1281. package/dist/list-query-gl808ac1.js +0 -459
  1282. package/dist/live-CTAZQkwl.js +0 -257
  1283. package/dist/messages-CJoHHCWT.js +0 -514
  1284. package/dist/mfa-SZc9YYyb.d.ts +0 -54
  1285. package/dist/model-OgBxvk3N.d.ts +0 -300
  1286. package/dist/model-messages-Cxw_Up4f.js +0 -206
  1287. package/dist/modules-DksjZyMW.js +0 -77
  1288. package/dist/modules-DpPwzC7E.d.ts +0 -192
  1289. package/dist/onboarding-LZvlK1P4.d.ts +0 -62
  1290. package/dist/optional-peer-D1pi-skw.js +0 -24
  1291. package/dist/outbox-DZfAvfzC.d.ts +0 -161
  1292. package/dist/plugin-CPK2HsbY.d.ts +0 -190
  1293. package/dist/pool-gkhbGp2E.d.ts +0 -89
  1294. package/dist/postgrest-BUqLag2Q.d.ts +0 -53
  1295. package/dist/problem-CJvFeGu7.js +0 -126
  1296. package/dist/problem-TvGdxO1t.d.ts +0 -73
  1297. package/dist/provider-DxRTex4x.js +0 -57
  1298. package/dist/provider-ib9wzUDz.d.ts +0 -113
  1299. package/dist/rate-limit-Bw7HgmFj.js +0 -260
  1300. package/dist/react-Bmpo59D7.js +0 -409
  1301. package/dist/react-topic-seAWjL3_.js +0 -38
  1302. package/dist/read-set-DAeWhqPf.js +0 -314
  1303. package/dist/refusal-CFI8-5nf.d.ts +0 -18
  1304. package/dist/refusal-K78A1Vmq.js +0 -61
  1305. package/dist/replicas-CwrYp5Zj.js +0 -94
  1306. package/dist/resolve-Bvgf3ut_.js +0 -786
  1307. package/dist/resolve-MxXVWyhd.d.ts +0 -173
  1308. package/dist/resource--vTrBe6I.d.ts +0 -103
  1309. package/dist/resource-BqNqlYg9.js +0 -91
  1310. package/dist/resource-DA811u_4.js +0 -463
  1311. package/dist/resource-execute-rbKvuCsY.d.ts +0 -12
  1312. package/dist/resource-types-CqB6GWGT.d.ts +0 -141
  1313. package/dist/resources-BVYPnuLo.js +0 -56
  1314. package/dist/resources-DZSk8tXJ.d.ts +0 -7
  1315. package/dist/respond-Cw-zanCm.d.ts +0 -93
  1316. package/dist/respond-volM3ByS.js +0 -91
  1317. package/dist/result-BchM1XZn.d.ts +0 -288
  1318. package/dist/result-DEqHCMKP.js +0 -128
  1319. package/dist/scope-CDHcS7dE.js +0 -90
  1320. package/dist/search-CUWCRYKL.js +0 -9
  1321. package/dist/server-types-CrAmZ8jv.d.ts +0 -614
  1322. package/dist/session-ChiXDZdZ.d.ts +0 -72
  1323. package/dist/shared-CBxosKK3.js +0 -75
  1324. package/dist/shared-DHjhfRdV.js +0 -60
  1325. package/dist/shared-DTneRoxi.js +0 -14
  1326. package/dist/sign-in-D_yoP0PF.js +0 -86
  1327. package/dist/signatures-BRS_p3WD.d.ts +0 -34
  1328. package/dist/signatures-DsWv_bYR.js +0 -103
  1329. package/dist/signers-cpdmZYrv.d.ts +0 -166
  1330. package/dist/spec-pins-CwzDY25w.d.ts +0 -44
  1331. package/dist/spec-pins-DsLfUH7l.js +0 -40
  1332. package/dist/sql-CwuqaQ4Y.js +0 -388
  1333. package/dist/standard-DkzZUneg.js +0 -25
  1334. package/dist/standard-lmkbOtPB.d.ts +0 -7
  1335. package/dist/stats-DhU78Ctf.js +0 -1127
  1336. package/dist/storage-api-CB7Zl1Ci.d.ts +0 -582
  1337. package/dist/store-DsIYEBnv.d.ts +0 -68
  1338. package/dist/stripe-D04h-QBT.d.ts +0 -136
  1339. package/dist/stripe-v-Y2lmop.js +0 -32
  1340. package/dist/supabase-mcp-Cpn5A4i-.js +0 -28
  1341. package/dist/support-D1pFFouF.js +0 -350
  1342. package/dist/support-view-scqMgtOo.d.ts +0 -17
  1343. package/dist/table-schema-htM_SbCW.js +0 -286
  1344. package/dist/tags-BO9LjtWG.d.ts +0 -30
  1345. package/dist/tee-Cb98Vn3b.js +0 -101
  1346. package/dist/template-lPVh-EwW.js +0 -123
  1347. package/dist/temporal-BJGitm-h.js +0 -79
  1348. package/dist/temporal-required-BtynQtM-.js +0 -20
  1349. package/dist/tenant-CM368LXb.d.ts +0 -17
  1350. package/dist/tenant-I1TEZ_BX.js +0 -27
  1351. package/dist/timing-CyTQPubY.js +0 -92
  1352. package/dist/types-6cYK9pbJ.js +0 -29
  1353. package/dist/types-Bb_4-vdW.d.ts +0 -220
  1354. package/dist/types-CD6yCDx3.d.ts +0 -359
  1355. package/dist/types-CbOUc5IH.d.ts +0 -156
  1356. package/dist/types-CoE5Zwy4.d.ts +0 -348
  1357. package/dist/types-DSJ3-m9X.d.ts +0 -192
  1358. package/dist/types-D__3EN0q.d.ts +0 -425
  1359. package/dist/usage-D0NNUFfr.d.ts +0 -177
  1360. package/dist/vault-BpmApxxW.d.ts +0 -50
  1361. package/dist/verify-C91Wyp40.d.ts +0 -142
  1362. package/dist/verify-CJbYfADA.js +0 -124
  1363. package/dist/version-Cq8gfDbd.js +0 -4
  1364. package/dist/view-D5ryq3gz.js +0 -99
  1365. package/dist/view-TpXEUcVN.d.ts +0 -87
  1366. package/dist/watch-BcvtAHOd.js +0 -122
  1367. package/dist/watch-COzRWvVN.d.ts +0 -74
  1368. package/dist/wire-Df3EWkG8.js +0 -45
  1369. package/dist/workflow-builder-CHqHpAVt.js +0 -399
  1370. package/dist/workflow-sdk-C2WJ_G2O.js +0 -173
  1371. package/dist/workflow-sdk-DTZyrvNo.d.ts +0 -98
  1372. package/dist/workflow-sdk-world-CMV1ahFW.js +0 -1399
  1373. package/dist/workflows-CcpCBfIe.d.ts +0 -185
  1374. package/dist/workflows-IvxzG2cl.js +0 -217
@@ -1,1136 +0,0 @@
1
- import { t as byCodePoint } from "./compare-BmIWVEui.js";
2
- import { s as restrictSchemas, u as tsTypeOf } from "./typegen-Demi5-VQ.js";
3
- import { DEFAULT_CLAIMS, tenantClaimPaths } from "better-supabase/config";
4
- import { toCamel } from "better-supabase";
5
- import { resolveProviderSql } from "better-supabase/sql";
6
- //#region src/cli/introspect/catalog.ts
7
- const byName = (a, b) => a.schema === b.schema ? a.name < b.name ? -1 : a.name > b.name ? 1 : 0 : a.schema < b.schema ? -1 : 1;
8
- function toColumn(column) {
9
- const isArray = column.data_type === "ARRAY";
10
- const udt = isArray ? column.format.replace(/^_/, "") : column.format;
11
- const defaultValue = column.default_value === null || column.default_value === void 0 ? null : String(column.default_value);
12
- return {
13
- name: column.name,
14
- udt,
15
- format: column.format,
16
- typeSchema: column.type_schema,
17
- isArray,
18
- isEnum: column.enums.length > 0,
19
- nullable: column.is_nullable,
20
- hasDefault: defaultValue !== null || column.identity_generation !== null || column.is_generated,
21
- default: defaultValue,
22
- identity: column.identity_generation === "ALWAYS" ? "always" : column.identity_generation === "BY DEFAULT" ? "by default" : null,
23
- generated: column.is_generated,
24
- updatable: column.is_updatable,
25
- comment: column.comment
26
- };
27
- }
28
- function toFunction(fn, typeOf, relationName) {
29
- const args = [];
30
- const table = [];
31
- fn.args.forEach((arg, index) => {
32
- const type = typeOf(arg.type_id);
33
- const raw = type?.name ?? "unknown";
34
- const typeSchema = type ? { typeSchema: type.schema } : {};
35
- const name = arg.name || `arg${index + 1}`;
36
- if (arg.mode === "in" || arg.mode === "inout" || arg.mode === "variadic") {
37
- const isArray = raw.startsWith("_");
38
- args.push({
39
- name,
40
- udt: isArray ? raw.slice(1) : raw,
41
- ...typeSchema,
42
- isArray,
43
- hasDefault: arg.has_default === true
44
- });
45
- }
46
- if (arg.mode === "table" || arg.mode === "out" || arg.mode === "inout") table.push({
47
- name,
48
- udt: raw,
49
- ...typeSchema
50
- });
51
- });
52
- const returnType = typeOf(fn.return_type_id);
53
- const searchPath = fn.config_params?.["search_path"];
54
- return {
55
- schema: fn.schema,
56
- name: fn.name,
57
- signature: fn.identity_argument_types,
58
- args,
59
- returnsTable: fn.args.some((arg) => arg.mode === "table") ? table : null,
60
- returns: returnType?.name ?? fn.return_type,
61
- ...returnType ? { returnsSchema: returnType.schema } : {},
62
- returnsRelation: relationName(fn.return_type_relation_id),
63
- returnsSet: fn.is_set_returning_function,
64
- volatility: fn.behavior.toLowerCase(),
65
- securityDefiner: fn.security_definer,
66
- language: fn.language,
67
- searchPath: searchPath === void 0 ? null : searchPath.replace(/^""$/, "")
68
- };
69
- }
70
- /** Joins the typegen metadata and the extras into one record per object. */
71
- function toCatalog(snapshot) {
72
- const meta = snapshot.generator;
73
- const extras = new Map(snapshot.extras.tables.map((table) => [table.id, table]));
74
- const columns = /* @__PURE__ */ new Map();
75
- for (const column of meta.columns) {
76
- const list = columns.get(column.table_id);
77
- if (list) list.push(column);
78
- else columns.set(column.table_id, [column]);
79
- }
80
- const primaryKeys = /* @__PURE__ */ new Map();
81
- for (const key of meta.primaryKeys) {
82
- const list = primaryKeys.get(key.table_id);
83
- if (list) list.push(key.name);
84
- else primaryKeys.set(key.table_id, [key.name]);
85
- }
86
- const relationNames = /* @__PURE__ */ new Map();
87
- for (const list of [
88
- meta.tables,
89
- meta.foreignTables,
90
- meta.views,
91
- meta.materializedViews
92
- ]) for (const entry of list) relationNames.set(entry.id, `${entry.schema}.${entry.name}`);
93
- const viewNames = new Set([...meta.views, ...meta.materializedViews].map((view) => `${view.schema}.${view.name}`));
94
- const foreignKeysOf = (schema, name, extra) => {
95
- const actions = new Map((extra?.foreignKeys ?? []).map((fk) => [fk.name, fk]));
96
- return meta.relationships.filter((rel) => rel.schema === schema && rel.relation === name && actions.has(rel.foreign_key_name) && !viewNames.has(`${rel.referenced_schema}.${rel.referenced_relation}`)).map((rel) => {
97
- const action = actions.get(rel.foreign_key_name);
98
- return {
99
- name: rel.foreign_key_name,
100
- columns: rel.columns,
101
- refSchema: rel.referenced_schema,
102
- refTable: rel.referenced_relation,
103
- refColumns: rel.referenced_columns,
104
- oneToOne: rel.is_one_to_one,
105
- onDelete: action?.onDelete ?? "no action",
106
- onUpdate: action?.onUpdate ?? "no action"
107
- };
108
- }).sort((a, b) => byCodePoint(a.name, b.name));
109
- };
110
- const build = (entry, flags) => {
111
- const extra = extras.get(entry.id);
112
- const own = [...columns.get(entry.id) ?? []].sort((a, b) => a.ordinal_position - b.ordinal_position);
113
- return {
114
- id: entry.id,
115
- schema: entry.schema,
116
- name: entry.name,
117
- comment: entry.comment,
118
- ...flags,
119
- columns: own.map(toColumn),
120
- primaryKey: extra && extra.primaryKey.length > 0 ? extra.primaryKey : primaryKeys.get(entry.id) ?? [],
121
- uniques: extra?.uniques ?? [],
122
- foreignKeys: foreignKeysOf(entry.schema, entry.name, extra),
123
- checks: extra?.checks ?? [],
124
- indexes: extra?.indexes ?? [],
125
- policies: extra?.policies ?? [],
126
- triggers: extra?.triggers ?? [],
127
- grants: extra?.grants ?? [],
128
- ...extra?.columnGrants ? { columnGrants: extra.columnGrants } : {}
129
- };
130
- };
131
- const tables = [
132
- ...meta.tables.map((table) => build(table, {
133
- kind: "table",
134
- rls: table.rls_enabled,
135
- forceRls: table.rls_forced,
136
- replicaIdentity: table.replica_identity,
137
- insertable: true,
138
- updatable: true
139
- })),
140
- ...meta.foreignTables.map((table) => build(table, {
141
- kind: "table",
142
- rls: false,
143
- forceRls: false,
144
- replicaIdentity: null,
145
- insertable: true,
146
- updatable: true
147
- })),
148
- ...meta.views.map((view) => build(view, {
149
- kind: "view",
150
- rls: false,
151
- forceRls: false,
152
- replicaIdentity: null,
153
- insertable: view.is_insert_enabled ?? view.is_updatable,
154
- updatable: view.is_update_enabled ?? view.is_updatable
155
- })),
156
- ...meta.materializedViews.map((view) => build(view, {
157
- kind: "view",
158
- rls: false,
159
- forceRls: false,
160
- replicaIdentity: null,
161
- insertable: false,
162
- updatable: false
163
- }))
164
- ].sort(byName);
165
- const included = new Set(snapshot.schemas);
166
- const enums = meta.types.filter((type) => type.enums.length > 0 && included.has(type.schema)).map((type) => ({
167
- schema: type.schema,
168
- name: type.name,
169
- values: type.enums
170
- })).sort(byName);
171
- const types = new Map(meta.types.map((type) => [type.id, type]));
172
- const functions = meta.functions.map((fn) => toFunction(fn, (id) => types.get(id), (id) => id === null ? null : relationNames.get(id) ?? null)).sort((a, b) => byName(a, b) || byCodePoint(a.signature, b.signature));
173
- return {
174
- schemas: snapshot.schemas,
175
- tables,
176
- enums,
177
- functions,
178
- buckets: snapshot.extras.buckets,
179
- realtime: snapshot.extras.realtime
180
- };
181
- }
182
- //#endregion
183
- //#region src/cli/gen/comment.ts
184
- /**
185
- * The metadata a `COMMENT ON` adds to a table or column: its description,
186
- * without the `@example` lines the validator generators read, and
187
- * `deprecated` when a line starts with `@deprecated`. The library's
188
- * `parseComment` (`src/generators/shared.ts`) reads comments the same way.
189
- */
190
- function commentMeta(comment) {
191
- if (!comment) return {};
192
- const deprecated = /^\s*@deprecated\b/m.test(comment);
193
- const description = comment.replaceAll(/^\s*@example\s+(.+?)\s*$/gm, "").replaceAll(/^\s*@deprecated\b.*$/gm, "").trim();
194
- return {
195
- ...description ? { description } : {},
196
- ...deprecated ? { deprecated: true } : {}
197
- };
198
- }
199
- //#endregion
200
- //#region src/cli/gen/shared.ts
201
- const q = (value) => JSON.stringify(value);
202
- /** A property key: bare when it is a valid identifier, quoted otherwise. */
203
- function prop(name) {
204
- return /^[A-Za-z_$][\w$]*$/.test(name) ? name : q(name);
205
- }
206
- function nullable(type, isNullable) {
207
- return isNullable ? `${type} | null` : type;
208
- }
209
- /** `T[]`, parenthesized when `T` is a union or other compound type. */
210
- function arrayOf(type) {
211
- return /^[\w.$]+$/.test(type) ? `${type}[]` : `(${type})[]`;
212
- }
213
- function indent(lines, depth) {
214
- const pad = " ".repeat(depth);
215
- return lines.flatMap((line) => line.split("\n")).map((line) => line === "" ? line : pad + line);
216
- }
217
- /** `name: {` + indented children + `};`, or an inline empty type. */
218
- function block(name, children, empty = "{ [_ in never]: never }") {
219
- if (children.length === 0) return [`${name}: ${empty};`];
220
- return [
221
- `${name}: {`,
222
- ...indent(children, 1),
223
- "};"
224
- ];
225
- }
226
- function sameColumns(left, right) {
227
- return left.length === right.length && left.every((column) => right.includes(column));
228
- }
229
- function singular(name) {
230
- if (name.endsWith("ies")) return `${name.slice(0, -3)}y`;
231
- if (name.endsWith("sses")) return name.slice(0, -2);
232
- if (name.endsWith("s") && !name.endsWith("ss")) return name.slice(0, -1);
233
- return name;
234
- }
235
- function pascal(name) {
236
- return name.replaceAll(/(^|[_-]+)([a-z0-9])/g, (_, __, char) => char.toUpperCase()).replace(/^[a-z]/, (char) => char.toUpperCase());
237
- }
238
- /** A valid TypeScript identifier: other characters become `_`, a leading digit gets one. */
239
- function identifier(name) {
240
- const safe = name.replaceAll(/[^\w$]/g, "_");
241
- return /^\d/.test(safe) ? `_${safe}` : safe;
242
- }
243
- /**
244
- * The config entry for a database object, keyed `schema.name` or `name`.
245
- * The qualified key wins.
246
- */
247
- function configFor(entries, schema, name) {
248
- return entries[`${schema}.${name}`] ?? entries[name];
249
- }
250
- function isJsonUdt(udt) {
251
- return udt === "json" || udt === "jsonb";
252
- }
253
- const CHECK_ANY = /^CHECK \(\(\(?"?(\w+)"?\)?(?:::\w+)? = ANY \(\(?ARRAY\[(.+)\]\)?(?:::\w+\[\])?\)\)\)$/;
254
- const CHECK_OR = /^CHECK \(\((.+)\)\)$/;
255
- const OR_TERM = /^\(?"?(\w+)"?\)?(?:::\w+)? = '((?:[^']|'')*)'(?:::\w+)?\)?$/;
256
- const LITERAL = /'((?:[^']|'')*)'(?:::[\w ]+)?/g;
257
- /**
258
- * Extracts `column in ('a', 'b')` CHECK constraints, which Postgres stores as
259
- * `CHECK ((col = ANY (ARRAY['a'::text, 'b'::text])))` or an OR chain.
260
- */
261
- function parseCheckUnion(definition) {
262
- const any = CHECK_ANY.exec(definition);
263
- if (any?.[1] && any[2]) {
264
- const values = [...any[2].matchAll(LITERAL)].map((match) => (match[1] ?? "").replaceAll("''", "'"));
265
- return values.length > 0 ? {
266
- column: any[1],
267
- values
268
- } : void 0;
269
- }
270
- const chain = CHECK_OR.exec(definition);
271
- if (chain?.[1]) {
272
- const terms = chain[1].split(/\) OR \(|\s+OR\s+/);
273
- let column;
274
- const values = [];
275
- for (const term of terms) {
276
- const match = OR_TERM.exec(term.trim());
277
- if (!match?.[1]) return void 0;
278
- if (column && column !== match[1]) return void 0;
279
- column = match[1];
280
- values.push((match[2] ?? "").replaceAll("''", "'"));
281
- }
282
- return column && values.length > 1 ? {
283
- column,
284
- values
285
- } : void 0;
286
- }
287
- }
288
- /** The text inside one pair of parentheses that wraps all of `text`, if any. */
289
- function unwrap(text) {
290
- let current = text.trim();
291
- while (current.startsWith("(") && current.endsWith(")")) {
292
- let depth = 0;
293
- let wraps = true;
294
- for (let index = 0; index < current.length; index++) {
295
- const char = current[index];
296
- if (char === "(") depth++;
297
- else if (char === ")") depth--;
298
- if (depth === 0 && index < current.length - 1) {
299
- wraps = false;
300
- break;
301
- }
302
- }
303
- if (!wraps) break;
304
- current = current.slice(1, -1).trim();
305
- }
306
- return current;
307
- }
308
- /** Splits `text` on a keyword outside parentheses and quotes. */
309
- function splitTopLevel(text, keyword) {
310
- const parts = [];
311
- let depth = 0;
312
- let quote;
313
- let start = 0;
314
- const separator = ` ${keyword} `;
315
- for (let index = 0; index < text.length; index++) {
316
- const char = text[index];
317
- if (quote) {
318
- if (char === quote) quote = void 0;
319
- continue;
320
- }
321
- if (char === "'" || char === "\"") quote = char;
322
- else if (char === "(") depth++;
323
- else if (char === ")") depth--;
324
- else if (depth === 0 && text.slice(index, index + separator.length).toUpperCase() === separator) {
325
- parts.push(text.slice(start, index));
326
- start = index + separator.length;
327
- index += separator.length - 1;
328
- }
329
- }
330
- parts.push(text.slice(start));
331
- return parts.map((part) => part.trim());
332
- }
333
- const IS_NOT_NULL = /^(?:"((?:[^"]|"")+)"|([\w$]+)) IS NOT NULL$/i;
334
- /**
335
- * Columns a CHECK constraint makes not null: `CHECK ((slug IS NOT NULL))` and
336
- * the `IS NOT NULL` terms of a top-level `AND`. A term under `OR`, `NOT` or
337
- * any other expression narrows nothing, and neither does a `NOT VALID` one.
338
- */
339
- function parseCheckNotNull(definition) {
340
- const text = definition.trim();
341
- if (/\bNOT VALID$/i.test(text)) return [];
342
- const body = /^CHECK\s*(.*)$/is.exec(text)?.[1];
343
- if (!body) return [];
344
- const expression = unwrap(body);
345
- if (splitTopLevel(expression, "OR").length > 1) return [];
346
- return splitTopLevel(expression, "AND").flatMap((term) => {
347
- const match = IS_NOT_NULL.exec(unwrap(term));
348
- if (!match) return [];
349
- return [match[1]?.replaceAll("\"\"", "\"") ?? match[2] ?? ""];
350
- });
351
- }
352
- //#endregion
353
- //#region src/cli/gen/model.ts
354
- const SOFT_DELETE_UDTS = /* @__PURE__ */ new Set(["timestamptz", "timestamp"]);
355
- const applyCasing = (name, casing) => casing === "camel" ? toCamel(name) : name;
356
- /** The overloads of each function name, in model order. */
357
- function functionGroups(functions) {
358
- const groups = /* @__PURE__ */ new Map();
359
- for (const fn of functions) {
360
- const group = groups.get(fn.key);
361
- if (group) group.push(fn);
362
- else groups.set(fn.key, [fn]);
363
- }
364
- return groups;
365
- }
366
- function signatureOf(fn) {
367
- const { name: _name, schema: _schema, ...signature } = fn.meta;
368
- return {
369
- ...signature,
370
- args: signature.args.map((arg, index) => fn.args[index]?.optional ? {
371
- ...arg,
372
- optional: true
373
- } : arg)
374
- };
375
- }
376
- function tableKey(table, casing, schemas) {
377
- const base = applyCasing(table.name, casing);
378
- if (schemas.length === 1 || table.schema === "public") return base;
379
- return applyCasing(`${table.schema}_${table.name}`, casing);
380
- }
381
- const CODEC_TYPE = {
382
- instant: "Temporal.Instant",
383
- plainDateTime: "Temporal.PlainDateTime",
384
- bigint: "bigint",
385
- string: "string"
386
- };
387
- function codecFor(udt, config) {
388
- const { codecs } = config;
389
- if (codecs.timestamptz === "instant") {
390
- if (udt === "timestamptz") return "instant";
391
- if (udt === "timestamp") return "plainDateTime";
392
- }
393
- if (udt === "int8" && codecs.int8 !== "number") return codecs.int8;
394
- if (udt === "numeric" && codecs.numeric === "string") return "string";
395
- }
396
- const TEXT_UDTS = /* @__PURE__ */ new Set([
397
- "text",
398
- "varchar",
399
- "bpchar"
400
- ]);
401
- /** `config.storagePaths` resolved to bucket ids, with a check that every key is used. */
402
- function storagePathsOf(config) {
403
- const bucketId = (name) => {
404
- const bucket = config.buckets[name];
405
- if (!bucket) return name;
406
- return bucket.id ?? name.replaceAll(/[A-Z]/g, (char) => `-${char.toLowerCase()}`);
407
- };
408
- const unused = new Set(Object.keys(config.storagePaths));
409
- return {
410
- lookup(schema, table, column, udt) {
411
- const key = [`${schema}.${table}.${column}`, `${table}.${column}`].find((candidate) => candidate in config.storagePaths);
412
- if (key === void 0) return;
413
- unused.delete(key);
414
- if (!TEXT_UDTS.has(udt)) throw new TypeError(`storagePaths["${key}"]: ${schema}.${table}.${column} is ${udt}, not a text column`);
415
- return bucketId(config.storagePaths[key]);
416
- },
417
- assertUsed() {
418
- const [first] = unused;
419
- if (first !== void 0) throw new TypeError(`storagePaths["${first}"]: no such column. Use \`table.column\` or \`schema.table.column\` (database names) in \`schemas\`.`);
420
- }
421
- };
422
- }
423
- function enumType(values) {
424
- return values.map((value) => JSON.stringify(value)).join(" | ");
425
- }
426
- /** Builds the codegen model from a snapshot and config. */
427
- function buildModel(snapshot, config) {
428
- const catalog = toCatalog(snapshot);
429
- const introspection = restrictSchemas(snapshot.generator, config.schemas);
430
- const tsType = (schema, format, typeSchema) => tsTypeOf(introspection, schema, format, typeSchema).replaceAll(/\(([\w.$]+)\)\[\]/g, "$1[]");
431
- const enumsByName = /* @__PURE__ */ new Map();
432
- for (const entry of catalog.enums) enumsByName.set(`${entry.schema}.${entry.name}`, entry.values);
433
- const jsonImports = /* @__PURE__ */ new Map();
434
- const unusedJson = new Set(Object.keys(config.json));
435
- const jsonTypeFor = (schema, table, column) => {
436
- const key = [`${schema}.${table}.${column}`, `${table}.${column}`].find((candidate) => candidate in config.json);
437
- const override = key === void 0 ? void 0 : config.json[key];
438
- if (key === void 0 || !override) return void 0;
439
- unusedJson.delete(key);
440
- if ("type" in override) return override.type;
441
- const [from, name] = override.import.split("#");
442
- if (!from || !name) throw new TypeError(`json["${key}"].import must look like "./path.ts#TypeName"`);
443
- jsonImports.set(name, {
444
- name,
445
- from
446
- });
447
- return name;
448
- };
449
- const optionsOf = (table) => configFor(config.tables, table.schema, table.name);
450
- const storagePaths = storagePathsOf(config);
451
- const included = catalog.tables.filter((table) => config.schemas.includes(table.schema) && !optionsOf(table)?.exclude);
452
- const keyOf = /* @__PURE__ */ new Map();
453
- const ownerOf = /* @__PURE__ */ new Map();
454
- for (const table of included) {
455
- const id = `${table.schema}.${table.name}`;
456
- const key = tableKey(table, config.casing, config.schemas);
457
- const other = ownerOf.get(key);
458
- if (other !== void 0) throw new TypeError(`${other} and ${id} both generate the model key "${key}". Exclude one with \`tables["${id}"].exclude\`, or rename one of the tables.`);
459
- ownerOf.set(key, id);
460
- keyOf.set(id, key);
461
- }
462
- const tables = included.map((table) => {
463
- const casing = optionsOf(table)?.casing ?? config.casing;
464
- const checks = /* @__PURE__ */ new Map();
465
- const checkedNotNull = /* @__PURE__ */ new Set();
466
- for (const check of table.checks) {
467
- const union = parseCheckUnion(check.definition);
468
- if (union) checks.set(union.column, union.values);
469
- for (const column of parseCheckNotNull(check.definition)) checkedNotNull.add(column);
470
- }
471
- const beforeInsert = table.triggers.some((trigger) => trigger.timing === "before" && trigger.level === "row" && trigger.events.includes("insert"));
472
- const insertOptional = new Set(optionsOf(table)?.insertOptional ?? []);
473
- for (const name of insertOptional) if (!table.columns.some((column) => column.name === name)) throw new TypeError(`tables.${table.name}.insertOptional: "${name}" is not a column of ${table.schema}.${table.name}`);
474
- const columns = table.columns.map((column) => {
475
- const values = (column.isEnum ? enumsByName.get(`${column.typeSchema}.${column.udt}`) : void 0) ?? checks.get(column.name);
476
- const json = isJsonUdt(column.udt);
477
- const override = json ? jsonTypeFor(table.schema, table.name, column.name) : void 0;
478
- const storage = storagePaths.lookup(table.schema, table.name, column.name, column.udt);
479
- const codec = override || values || storage ? void 0 : codecFor(column.udt, config);
480
- const base = override ?? (values ? enumType(values) : storage ? `StoragePath<${JSON.stringify(storage)}>` : codec ? CODEC_TYPE[codec] : void 0);
481
- const columnType = base === void 0 ? tsType(table.schema, column.format, column.typeSchema) : column.isArray ? arrayOf(base) : base;
482
- const readonly = column.generated || column.identity === "always";
483
- const narrowed = column.nullable && checkedNotNull.has(column.name);
484
- const nullable = column.nullable && !narrowed;
485
- const filled = column.hasDefault || insertOptional.has(column.name) || narrowed && beforeInsert;
486
- const insertable = !readonly && table.insertable && (table.kind !== "view" || column.updatable);
487
- const updatable = !readonly && table.updatable && column.updatable;
488
- return {
489
- app: applyCasing(column.name, casing),
490
- db: column.name,
491
- snapshot: column,
492
- tsType: columnType,
493
- nullable,
494
- filled,
495
- optional: nullable || filled || readonly,
496
- readonly,
497
- values,
498
- json,
499
- codec,
500
- storage,
501
- insertable,
502
- updatable
503
- };
504
- });
505
- const byApp = /* @__PURE__ */ new Map();
506
- for (const column of columns) {
507
- const other = byApp.get(column.app);
508
- if (other !== void 0) throw new TypeError(`${table.schema}.${table.name}: columns "${other}" and "${column.db}" both become "${column.app}". Rename one, or set \`tables["${table.schema}.${table.name}"].casing: "snake"\`.`);
509
- byApp.set(column.app, column.db);
510
- }
511
- return {
512
- table,
513
- casing,
514
- columns,
515
- byDb: new Map(columns.map((column) => [column.db, column]))
516
- };
517
- });
518
- storagePaths.assertUsed();
519
- const schemasOf = /* @__PURE__ */ new Map();
520
- for (const table of catalog.tables) {
521
- if (!config.schemas.includes(table.schema)) continue;
522
- schemasOf.set(table.name, [...schemasOf.get(table.name) ?? [], table.schema]);
523
- }
524
- const known = (key) => {
525
- const dot = key.indexOf(".");
526
- if (dot === -1) return schemasOf.has(key);
527
- return schemasOf.get(key.slice(dot + 1))?.includes(key.slice(0, dot)) ?? false;
528
- };
529
- const warnings = [
530
- ...Object.keys(config.tables).filter((name) => !known(name)).map((name) => `tables["${name}"]: no table by that name in ${config.schemas.join(", ")}, so the entry does nothing.`),
531
- ...Object.keys(config.tables).flatMap((name) => {
532
- const shared = (schemasOf.get(name) ?? []).filter((schema) => !(`${schema}.${name}` in config.tables)).map((schema) => `${schema}.${name}`);
533
- return shared.length > 1 ? [`tables["${name}"]: ${shared.join(" and ")} share the name, so the entry applies to each. Key it \`schema.table\` to pick one.`] : [];
534
- }),
535
- ...[...unusedJson].map((key) => `json["${key}"]: no json or jsonb column by that name, so the type is not used. Keys are \`table.column\` or \`schema.table.column\` with database names.`)
536
- ];
537
- const byKey = /* @__PURE__ */ new Map();
538
- for (const entry of tables) byKey.set(`${entry.table.schema}.${entry.table.name}`, entry);
539
- const appName = (schema, table, column) => {
540
- return byKey.get(`${schema}.${table}`)?.byDb.get(column)?.app ?? column;
541
- };
542
- const relations = /* @__PURE__ */ new Map();
543
- const push = (tableId, relation) => {
544
- const list = relations.get(tableId);
545
- if (list) list.push(relation);
546
- else relations.set(tableId, [relation]);
547
- };
548
- for (const { table, casing, byDb: own } of tables) {
549
- const sourceId = `${table.schema}.${table.name}`;
550
- for (const fk of table.foreignKeys) {
551
- const targetId = `${fk.refSchema}.${fk.refTable}`;
552
- const target = byKey.get(targetId);
553
- if (!target) continue;
554
- const targetKey = keyOf.get(targetId) ?? fk.refTable;
555
- const sourceColumns = fk.columns.map((column) => appName(table.schema, table.name, column));
556
- const targetColumns = fk.refColumns.map((column) => appName(fk.refSchema, fk.refTable, column));
557
- const nullable = config.relations.nullableUnderRls && target.table.rls || fk.columns.some((column) => own.get(column)?.nullable ?? true);
558
- const onDelete = fk.onDelete === "cascade" || fk.onDelete === "set null" || fk.onDelete === "set default" ? { onDelete: fk.onDelete } : {};
559
- const naming = namingColumns(fk.columns, fk.refColumns);
560
- const [only] = naming;
561
- const forwardBase = naming.length === 1 && only?.endsWith("_id") ? only.slice(0, -3) : singular(fk.refTable);
562
- push(sourceId, {
563
- name: applyCasing(forwardBase, casing),
564
- base: forwardBase,
565
- fkColumns: fk.columns,
566
- refColumns: fk.refColumns,
567
- meta: {
568
- table: targetKey,
569
- kind: "one",
570
- nullable,
571
- foreignKey: fk.name,
572
- columns: sourceColumns,
573
- references: targetColumns,
574
- direction: "forward",
575
- ...onDelete
576
- }
577
- });
578
- const unique = fk.oneToOne || sameColumns(table.primaryKey, fk.columns) || table.uniques.some((key) => sameColumns(key.columns, fk.columns));
579
- const reverseBase = unique ? singular(table.name) : table.name;
580
- push(targetId, {
581
- name: applyCasing(reverseBase, target.casing),
582
- base: reverseBase,
583
- fkColumns: fk.columns,
584
- refColumns: fk.refColumns,
585
- meta: {
586
- table: keyOf.get(sourceId) ?? table.name,
587
- kind: unique ? "one" : "many",
588
- nullable: true,
589
- foreignKey: fk.name,
590
- columns: targetColumns,
591
- references: sourceColumns,
592
- direction: "reverse",
593
- ...onDelete
594
- }
595
- });
596
- }
597
- }
598
- const flagsConfig = config.plugins;
599
- const tableModels = tables.map(({ table, casing, columns, byDb }) => {
600
- const id = `${table.schema}.${table.name}`;
601
- const renames = optionsOf(table)?.relations ?? {};
602
- const columnNames = new Set(columns.map((column) => column.app));
603
- const list = dedupeRelations(relations.get(id) ?? [], columnNames, casing).map((relation) => ({
604
- ...relation,
605
- name: renames[relation.name] ?? relation.name
606
- }));
607
- const has = (db) => byDb.get(db)?.app;
608
- const flags = {};
609
- if (flagsConfig.softDelete) {
610
- const db = flagsConfig.softDelete.column;
611
- const column = byDb.get(db);
612
- if (column) {
613
- const udt = column.snapshot.udt;
614
- if (column.snapshot.isArray || !SOFT_DELETE_UDTS.has(udt)) throw new TypeError(`plugins.softDelete.column: ${table.schema}.${table.name}.${db} is ${udt}, but softDelete() writes a timestamp. Use timestamptz or timestamp.`);
615
- flags.softDelete = column.app;
616
- }
617
- }
618
- if (flagsConfig.timestamps) {
619
- const createdAt = has(flagsConfig.timestamps.createdAt);
620
- const updatedAt = has(flagsConfig.timestamps.updatedAt);
621
- if (createdAt || updatedAt) flags.timestamps = {
622
- ...createdAt ? { createdAt } : {},
623
- ...updatedAt ? { updatedAt } : {}
624
- };
625
- }
626
- if (flagsConfig.tenant) {
627
- const column = has(flagsConfig.tenant.column);
628
- if (column) flags.tenant = column;
629
- }
630
- if (flagsConfig.actor) {
631
- const createdBy = has(flagsConfig.actor.createdBy);
632
- const updatedBy = has(flagsConfig.actor.updatedBy);
633
- const impersonatedBy = has(flagsConfig.actor.impersonatedBy);
634
- if (createdBy || updatedBy || impersonatedBy) flags.actor = {
635
- ...createdBy ? { createdBy } : {},
636
- ...updatedBy ? { updatedBy } : {},
637
- ...impersonatedBy ? { impersonatedBy } : {}
638
- };
639
- }
640
- const key = keyOf.get(id) ?? table.name;
641
- const columnMeta = {};
642
- for (const column of columns) {
643
- const meta = {
644
- db: column.db,
645
- type: column.snapshot.udt,
646
- nullable: column.nullable,
647
- hasDefault: column.filled
648
- };
649
- if (column.readonly) meta.generated = true;
650
- if (column.snapshot.identity) meta.identity = column.snapshot.identity;
651
- if (!column.readonly && !column.insertable) meta.insertable = false;
652
- if (!column.readonly && !column.updatable) meta.updatable = false;
653
- if (column.snapshot.isArray) meta.array = true;
654
- if (column.json) meta.json = true;
655
- if (column.values) meta.enum = column.values;
656
- if (column.codec) meta.codec = column.codec;
657
- if (column.storage) meta.storage = column.storage;
658
- if (config.sensitive.includes(`${table.name}.${column.db}`) || config.sensitive.includes(`${table.schema}.${table.name}.${column.db}`)) meta.sensitive = true;
659
- Object.assign(meta, commentMeta(column.snapshot.comment));
660
- columnMeta[column.app] = meta;
661
- }
662
- const app = (db) => byDb.get(db)?.app ?? db;
663
- const uniqueKeys = {};
664
- for (const unique of table.uniques) uniqueKeys[unique.name] = unique.columns.map(app);
665
- const relationMeta = {};
666
- for (const relation of list) relationMeta[relation.name] = relation.meta;
667
- return {
668
- key,
669
- snapshot: table,
670
- casing,
671
- columns,
672
- relations: list,
673
- meta: {
674
- key,
675
- name: table.name,
676
- schema: table.schema,
677
- kind: table.kind,
678
- columns: columnMeta,
679
- primaryKey: table.primaryKey.map(app),
680
- uniqueKeys,
681
- relations: relationMeta,
682
- flags,
683
- ...commentMeta(table.comment)
684
- }
685
- };
686
- });
687
- const includedEnums = catalog.enums.filter((entry) => config.schemas.includes(entry.schema));
688
- const enumNameCount = /* @__PURE__ */ new Map();
689
- for (const entry of includedEnums) enumNameCount.set(entry.name, (enumNameCount.get(entry.name) ?? 0) + 1);
690
- const enums = includedEnums.map((entry) => {
691
- const key = entry.schema !== "public" && (enumNameCount.get(entry.name) ?? 0) > 1 ? `${entry.schema}_${entry.name}` : entry.name;
692
- return {
693
- schema: entry.schema,
694
- name: entry.name,
695
- key,
696
- constant: identifier(`${toCamel(key)}Values`),
697
- typeName: identifier(pascal(key)),
698
- values: entry.values
699
- };
700
- });
701
- const tablesByName = new Map(tableModels.map((table) => [`${table.snapshot.schema}.${table.snapshot.name}`, table]));
702
- const callable = catalog.functions.filter((fn) => config.schemas.includes(fn.schema)).filter((fn) => fn.returns !== "trigger" && fn.returns !== "event_trigger").filter((fn) => !fn.args.some((arg) => arg.udt === "internal"));
703
- const ownerSchema = /* @__PURE__ */ new Map();
704
- for (const schema of config.schemas) for (const fn of callable) if (fn.schema === schema && !ownerSchema.has(fn.name)) ownerSchema.set(fn.name, schema);
705
- const shadowed = /* @__PURE__ */ new Set();
706
- const functions = callable.filter((fn) => {
707
- if (ownerSchema.get(fn.name) === fn.schema) return true;
708
- shadowed.add(`${fn.schema}.${fn.name}`);
709
- return false;
710
- }).map((fn) => {
711
- const typeOf = (format, typeSchema) => {
712
- const isArray = format.startsWith("_");
713
- const values = enumsByName.get(`${typeSchema ?? fn.schema}.${isArray ? format.slice(1) : format}`);
714
- if (values) return isArray ? arrayOf(enumType(values)) : enumType(values);
715
- return tsType(fn.schema, format, typeSchema);
716
- };
717
- const notNull = configFor(config.functions, fn.schema, fn.name)?.notNull;
718
- const notNullColumns = new Set(Array.isArray(notNull) ? notNull : []);
719
- if (Array.isArray(notNull)) {
720
- for (const name of notNullColumns) if (!fn.returnsTable?.some((column) => column.name === name)) throw new TypeError(`functions.${fn.name}.notNull: "${name}" is not a column the function returns`);
721
- }
722
- const orNull = (type, column) => notNull === true || column !== void 0 && notNullColumns.has(column) || type === "undefined" || type === "Json" || type === "unknown" ? type : `${type} | null`;
723
- let returns;
724
- let result;
725
- const rowTable = fn.returnsRelation ? tablesByName.get(fn.returnsRelation) : void 0;
726
- if (fn.returnsTable) {
727
- const columns = fn.returnsTable.map((column) => {
728
- const codec = codecFor(column.udt, config);
729
- return {
730
- db: column.name,
731
- app: applyCasing(column.name, config.casing),
732
- codec,
733
- tsType: codec ? CODEC_TYPE[codec] : typeOf(column.udt, column.typeSchema)
734
- };
735
- });
736
- returns = `{ ${columns.map((column) => `${JSON.stringify(column.app)}: ${orNull(column.tsType, column.db)}`).join("; ")} }[]`;
737
- if (columns.some((column) => column.codec !== void 0 || column.app !== column.db)) result = { columns: columns.map(({ db, app, codec }) => ({
738
- db,
739
- ...app === db ? {} : { name: app },
740
- ...codec ? { codec } : {}
741
- })) };
742
- } else if (rowTable) {
743
- returns = `Models[${JSON.stringify(rowTable.key)}]['Row']`;
744
- returns = fn.returnsSet ? arrayOf(returns) : orNull(returns);
745
- if (rowTable.columns.some((column) => column.codec !== void 0 || column.app !== column.db)) result = { table: rowTable.key };
746
- } else {
747
- returns = orNull(typeOf(fn.returns, fn.returnsSchema));
748
- if (fn.returnsSet) returns = arrayOf(returns);
749
- }
750
- return {
751
- key: fn.name,
752
- meta: {
753
- name: fn.name,
754
- schema: fn.schema,
755
- args: fn.args.map((arg) => ({
756
- name: arg.name,
757
- type: arg.udt
758
- })),
759
- returns: fn.returns,
760
- returnsSet: fn.returnsSet,
761
- volatility: fn.volatility,
762
- ...result ? { result } : {}
763
- },
764
- args: fn.args.map((arg) => ({
765
- name: arg.name,
766
- tsType: typeOf(arg.isArray ? `_${arg.udt}` : arg.udt, arg.typeSchema),
767
- optional: arg.hasDefault
768
- })),
769
- returns
770
- };
771
- });
772
- for (const name of Object.keys(config.functions)) if (!functions.some((fn) => fn.key === name || `${fn.meta.schema}.${fn.key}` === name)) throw new TypeError(`functions.${name}: no function "${name}" in ${config.schemas.join(", ")}`);
773
- for (const id of shadowed) {
774
- const name = id.slice(id.indexOf(".") + 1);
775
- warnings.push(`${id}: ${ownerSchema.get(name) ?? ""}.${name} has the same name and comes first in \`schemas\`, so ${id} gets no \`$rpc\` types.`);
776
- }
777
- const tablesMeta = {};
778
- for (const table of tableModels) tablesMeta[table.key] = table.meta;
779
- const enumsMeta = {};
780
- for (const entry of enums) enumsMeta[entry.key] = entry.values;
781
- const functionsMeta = {};
782
- for (const [key, group] of functionGroups(functions)) {
783
- const [first] = group;
784
- if (!first) continue;
785
- functionsMeta[key] = group.length === 1 ? first.meta : {
786
- ...first.meta,
787
- overloads: group.map(signatureOf)
788
- };
789
- }
790
- const claimOverrides = {};
791
- for (const key of Object.keys(DEFAULT_CLAIMS)) if (config.claims[key] !== DEFAULT_CLAIMS[key]) claimOverrides[key] = config.claims[key];
792
- const tenantClaim = config.claims.tenant === DEFAULT_CLAIMS.tenant ? void 0 : tenantClaimPaths(config.claims.tenant);
793
- const meta = {
794
- version: 1,
795
- casing: config.casing,
796
- tables: tablesMeta,
797
- enums: enumsMeta,
798
- functions: functionsMeta,
799
- ...Object.keys(config.buckets).length > 0 ? { buckets: Object.fromEntries(Object.entries(config.buckets).map(([name, bucket]) => [name, {
800
- id: bucket.id ?? name.replaceAll(/[A-Z]/g, (char) => `-${char.toLowerCase()}`),
801
- public: bucket.public ?? false,
802
- path: bucket.path,
803
- ...bucket.policy ? { policy: typeof bucket.policy === "string" ? bucket.policy : resolveProviderSql(`buckets.${name}`, bucket.policy, config.authorization?.functions) } : {},
804
- ...bucket.policy === "tenant" && tenantClaim ? { tenant: { claim: tenantClaim } } : {},
805
- ...bucket.fileSizeLimit ? { fileSizeLimit: bucket.fileSizeLimit } : {},
806
- ...bucket.allowedMimeTypes ? { allowedMimeTypes: bucket.allowedMimeTypes } : {},
807
- ...bucket.versioning ? { versioning: true } : {},
808
- ...bucket.lifecycle ? { lifecycle: bucket.lifecycle } : {}
809
- }])) } : {},
810
- ...Object.keys(config.topics).length > 0 ? { topics: config.topics } : {},
811
- ...config.realtime.tables.length > 0 ? { realtime: realtimeMeta(config.realtime.tables, config.realtime.users, tableModels) } : {},
812
- ...Object.keys(claimOverrides).length > 0 ? { claims: claimOverrides } : {}
813
- };
814
- return {
815
- tables: tableModels,
816
- enums,
817
- functions,
818
- jsonImports: [...jsonImports.values()],
819
- meta,
820
- config,
821
- catalog,
822
- introspection,
823
- warnings
824
- };
825
- }
826
- function deepFreeze(value) {
827
- if (typeof value === "object" && value !== null && !Object.isFrozen(value)) {
828
- Object.freeze(value);
829
- for (const entry of Object.values(value)) deepFreeze(entry);
830
- }
831
- return value;
832
- }
833
- /** The public, frozen view of the model that generators receive. */
834
- function generatorModel(model) {
835
- return deepFreeze({
836
- tables: model.tables.map((table) => ({
837
- key: table.key,
838
- schema: table.snapshot.schema,
839
- name: table.snapshot.name,
840
- casing: table.casing,
841
- columns: table.columns.map((column) => ({
842
- app: column.app,
843
- db: column.db,
844
- tsType: column.tsType,
845
- nullable: column.nullable,
846
- optional: column.optional,
847
- readonly: column.readonly,
848
- values: column.values === void 0 ? void 0 : [...column.values],
849
- json: column.json
850
- }))
851
- })),
852
- enums: model.enums.map((entry) => ({
853
- schema: entry.schema,
854
- name: entry.name,
855
- values: [...entry.values]
856
- }))
857
- });
858
- }
859
- /**
860
- * The columns that name a relation. A composite key that repeats a column on
861
- * both sides, such as `(customer_id, organization_id)` referencing
862
- * `(id, organization_id)` to keep rows in one tenant, is named by the rest.
863
- */
864
- function namingColumns(columns, references) {
865
- const own = columns.filter((column, index) => column !== references[index]);
866
- return own.length > 0 ? own : columns;
867
- }
868
- /**
869
- * Makes relation names unique per table and distinct from column names:
870
- * two FKs to the same table become `customersByPrimaryContact`-style names.
871
- * When those still collide, the names use every column of the key
872
- * (`locationsByCustomerOrganization`), then the constraint name, and only
873
- * then a trailing `_`.
874
- */
875
- function dedupeRelations(list, columns, casing) {
876
- const suffixed = (relation, suffix) => applyCasing(`${relation.base}_by_${suffix}`, casing);
877
- const keyColumns = (relation, all) => (all ? relation.fkColumns : namingColumns(relation.fkColumns, relation.refColumns)).map((column) => column.replace(/_?[iI]d$/, "")).join("_");
878
- const repeated = (names) => {
879
- const seen = /* @__PURE__ */ new Set();
880
- const twice = /* @__PURE__ */ new Set();
881
- for (const name of names) (seen.has(name) ? twice : seen).add(name);
882
- return twice;
883
- };
884
- const plain = repeated(list.map((relation) => relation.name));
885
- const names = [(relation) => suffixed(relation, keyColumns(relation, true)), (relation) => suffixed(relation, relation.meta.foreignKey)].reduce((current, step) => {
886
- const clash = repeated(current);
887
- return list.map((relation, index) => {
888
- const name = current[index] ?? relation.name;
889
- return clash.has(name) || columns.has(name) ? step(relation) : name;
890
- });
891
- }, list.map((relation) => plain.has(relation.name) || columns.has(relation.name) ? suffixed(relation, keyColumns(relation, false)) : relation.name));
892
- const used = /* @__PURE__ */ new Set();
893
- return list.map((relation, index) => {
894
- let name = names[index] ?? relation.name;
895
- while (used.has(name) || columns.has(name)) name = `${name}_`;
896
- used.add(name);
897
- return {
898
- ...relation,
899
- name
900
- };
901
- });
902
- }
903
- function realtimeMeta(names, users, tables) {
904
- const out = {};
905
- for (const name of names) {
906
- const table = tables.find((candidate) => candidate.meta.name === name || `${candidate.meta.schema}.${candidate.meta.name}` === name);
907
- if (!table) throw new Error(`realtime.tables: unknown table "${name}". Check the name and \`schemas\`.`);
908
- const owner = users[name];
909
- if (owner !== void 0) {
910
- const user = Object.entries(table.meta.columns).find(([, column]) => column.db === owner)?.[0];
911
- if (user === void 0) throw new Error(`realtime.users: "${name}" has no column "${owner}".`);
912
- out[table.key] = { user };
913
- continue;
914
- }
915
- const tenant = table.meta.flags.tenant;
916
- out[table.key] = tenant ? { tenant } : {};
917
- }
918
- return out;
919
- }
920
- //#endregion
921
- //#region src/cli/gen/emit.ts
922
- const GENERATED_HEADER = "// @generated by better-supabase gen. Do not edit; run `better-supabase gen` instead.";
923
- function rowEntries(columns, name) {
924
- return columns.map((column) => `${prop(column[name])}: ${nullable(column.tsType, column.nullable)};`);
925
- }
926
- function insertEntries(columns, name) {
927
- return columns.map((column) => {
928
- if (!column.insertable) return `${prop(column[name])}?: never;`;
929
- const optional = column.optional ? "?" : "";
930
- return `${prop(column[name])}${optional}: ${nullable(column.tsType, column.nullable)};`;
931
- });
932
- }
933
- function updateEntries(columns, name) {
934
- return columns.map((column) => {
935
- if (!column.updatable) return `${prop(column[name])}?: never;`;
936
- return `${prop(column[name])}?: ${nullable(column.tsType, column.nullable)};`;
937
- });
938
- }
939
- /** Postgres passes `null` to any argument, so every argument accepts it. */
940
- function argEntries(fn) {
941
- return fn.args.map((arg) => `${prop(arg.name)}${arg.optional ? "?" : ""}: ${nullable(arg.tsType, true)};`);
942
- }
943
- function enrichedDatabase(model) {
944
- const schemas = model.config.schemas.flatMap((schema) => {
945
- const tables = model.tables.filter((t) => t.snapshot.schema === schema).flatMap((table) => {
946
- const overrides = table.columns.filter((column) => column.values !== void 0 && !column.snapshot.isEnum || column.json && column.tsType !== "Json" || column.storage !== void 0).map((column) => `${prop(column.db)}: ${column.tsType};`);
947
- return overrides.length > 0 ? block(prop(table.snapshot.name), overrides) : [];
948
- });
949
- return tables.length > 0 ? block(prop(schema), tables) : [];
950
- });
951
- if (schemas.length === 0) return ["export type Database = SupabaseDatabase;"];
952
- return [
953
- "export type Database = EnrichDatabase<",
954
- " SupabaseDatabase,",
955
- " {",
956
- ...indent(schemas, 2),
957
- " }",
958
- ">;"
959
- ];
960
- }
961
- function modelsType(model) {
962
- return [
963
- "export type Models = {",
964
- ...indent(model.tables.flatMap((table) => {
965
- const relations = table.relations.map((relation) => `${prop(relation.name)}: { table: ${q(relation.meta.table)}; kind: ${q(relation.meta.kind)}; nullable: ${String(relation.meta.nullable)} };`);
966
- const pk = table.meta.primaryKey;
967
- const uniques = Object.entries(table.meta.uniqueKeys).map(([name, columns]) => `${prop(name)}: readonly [${columns.map(q).join(", ")}];`);
968
- const flags = [];
969
- const tableFlags = table.meta.flags;
970
- if (tableFlags.softDelete) flags.push(`softDelete: ${q(tableFlags.softDelete)};`);
971
- if (tableFlags.timestamps) flags.push("timestamps: true;");
972
- if (tableFlags.tenant) flags.push(`tenant: ${q(tableFlags.tenant)};`);
973
- if (tableFlags.actor) flags.push("actor: true;");
974
- const none = "Record<never, never>";
975
- const union = (names) => names.length === 0 ? "never" : names.map(q).join(" | ");
976
- return block(prop(table.key), [
977
- ...block("Row", rowEntries(table.columns, "app"), none),
978
- ...table.snapshot.insertable ? block("Insert", insertEntries(table.columns, "app"), none) : ["Insert: never;"],
979
- ...table.snapshot.updatable ? block("Update", updateEntries(table.columns, "app"), none) : ["Update: never;"],
980
- ...block("Relations", relations, none),
981
- `PrimaryKey: ${union(pk)};`,
982
- ...block("UniqueKeys", uniques, none),
983
- `Checks: ${union(table.snapshot.checks.map((check) => check.name))};`,
984
- `ForeignKeys: ${union(table.snapshot.foreignKeys.map((fk) => fk.name))};`,
985
- ...block("Flags", flags, none)
986
- ]);
987
- }), 1),
988
- "};"
989
- ];
990
- }
991
- function functionsType(model) {
992
- if (model.functions.length === 0) return ["export type Functions = Record<never, never>;"];
993
- return [
994
- "export type Functions = {",
995
- ...indent([...functionGroups(model.functions)].flatMap(([key, group]) => {
996
- const [first] = group;
997
- if (group.length === 1 && first) return block(prop(key), [...block("Args", argEntries(first), "Record<never, never>"), `Returns: ${first.returns};`]);
998
- return [`${prop(key)}:`, ...indent(group.flatMap((fn, index) => {
999
- const lines = [...block("Args", argEntries(fn), "Record<PropertyKey, never>"), `Returns: ${fn.returns};`];
1000
- const end = index === group.length - 1 ? "};" : "}";
1001
- return [
1002
- "| {",
1003
- ...indent(lines, 1),
1004
- end
1005
- ];
1006
- }), 1)];
1007
- }), 1),
1008
- "};"
1009
- ];
1010
- }
1011
- /** The metadata module next to `generated.ts`: `generated.meta.js` and its `.d.ts`. */
1012
- function metaPaths(output) {
1013
- const base = output.replace(/\.[cm]?[jt]sx?$/, "");
1014
- return {
1015
- js: `${base}.meta.js`,
1016
- dts: `${base}.meta.d.ts`
1017
- };
1018
- }
1019
- /**
1020
- * JSON with one line per table, function and other named entry, so the
1021
- * module stays small to load and a schema change still diffs per entry.
1022
- */
1023
- function compactJson(meta) {
1024
- return `{\n${Object.entries(meta).map(([key, value]) => {
1025
- const name = JSON.stringify(key);
1026
- if (typeof value !== "object" || value === null || Array.isArray(value)) return ` ${name}: ${JSON.stringify(value)}`;
1027
- const inner = Object.entries(value).map(([entry, item]) => ` ${JSON.stringify(entry)}: ${JSON.stringify(item)}`);
1028
- return inner.length === 0 ? ` ${name}: {}` : ` ${name}: {\n${inner.join(",\n")}\n }`;
1029
- }).join(",\n")}\n}`;
1030
- }
1031
- /**
1032
- * The schema metadata as plain JavaScript plus a one-line declaration, so
1033
- * TypeScript reads `SchemaMeta` instead of checking thousands of lines of
1034
- * object literal in every program that imports the generated module.
1035
- */
1036
- function emitMeta(model, options = {}) {
1037
- const runtime = options.runtimeImport ?? "better-supabase";
1038
- return {
1039
- js: [
1040
- GENERATED_HEADER,
1041
- `// @ts-self-types="${options.types ?? "./generated.meta.d.ts"}"`,
1042
- "/* oxlint-disable */",
1043
- "/* eslint-disable */",
1044
- "",
1045
- `export default ${compactJson({ ...model.meta })};`,
1046
- ""
1047
- ].join("\n"),
1048
- dts: [
1049
- GENERATED_HEADER,
1050
- "/* oxlint-disable */",
1051
- "/* eslint-disable */",
1052
- "",
1053
- `import type { SchemaMeta } from ${q(runtime)};`,
1054
- "",
1055
- "declare const meta: SchemaMeta;",
1056
- "export default meta;",
1057
- ""
1058
- ].join("\n")
1059
- };
1060
- }
1061
- /** Names the generated module declares or imports itself. */
1062
- const RESERVED_EXPORTS = [
1063
- "defineSchema",
1064
- "Schema",
1065
- "SchemaMeta",
1066
- "EnrichDatabase",
1067
- "MutableWhere",
1068
- "OrderByArg",
1069
- "OrderByInput",
1070
- "StoragePath",
1071
- "SupabaseDatabase",
1072
- "meta",
1073
- "Json",
1074
- "Database",
1075
- "Models",
1076
- "Functions",
1077
- "TableName",
1078
- "UniqueConstraint",
1079
- "CheckConstraint",
1080
- "ForeignKeyConstraint",
1081
- "RowOf",
1082
- "InsertOf",
1083
- "UpdateOf",
1084
- "WhereOf",
1085
- "OrderByOf",
1086
- "OrderTermOf",
1087
- "buckets",
1088
- "topics",
1089
- "schema"
1090
- ];
1091
- /** Renders the generated module. */
1092
- function emitModule(model, options) {
1093
- const runtime = options.runtimeImport ?? "better-supabase";
1094
- const lines = [
1095
- GENERATED_HEADER,
1096
- "/* oxlint-disable */",
1097
- "/* eslint-disable */",
1098
- "",
1099
- `import { defineSchema, type Schema${options.inlineMeta ? ", type SchemaMeta" : ""} } from ${q(runtime)};`
1100
- ];
1101
- const storagePaths = model.tables.some((table) => table.columns.some((column) => column.storage !== void 0));
1102
- lines.push(`import type { EnrichDatabase, MutableWhere, OrderByArg, OrderByInput${storagePaths ? ", StoragePath" : ""} } from ${q(runtime)};`, `import type { Database as SupabaseDatabase } from ${q(options.databaseTypesImport ?? "./database.types.ts")};`);
1103
- const byFile = /* @__PURE__ */ new Map();
1104
- for (const entry of model.jsonImports) {
1105
- const list = byFile.get(entry.from) ?? [];
1106
- list.push(entry.name);
1107
- byFile.set(entry.from, list);
1108
- }
1109
- for (const [from, names] of [...byFile.entries()].sort(([a], [b]) => byCodePoint(a, b))) lines.push(`import type { ${names.sort().join(", ")} } from ${q(options.importPathFor(from))};`);
1110
- lines.push(options.inlineMeta ? `\nconst meta: SchemaMeta = ${compactJson({ ...model.meta })};` : `import meta from ${q(options.metaImport ?? "./generated.meta.js")};`, "", "export type Json = string | number | boolean | null | { [key: string]: Json | undefined } | Json[];", "", ...enrichedDatabase(model), "");
1111
- const exported = new Map([...RESERVED_EXPORTS, ...model.jsonImports.map((entry) => entry.name)].map((name) => [name, "the generated module"]));
1112
- const claim = (name, source) => {
1113
- const other = exported.get(name);
1114
- if (other !== void 0) throw new TypeError(`${source} and ${other} both export "${name}" from the generated module. Rename one of them in the database.`);
1115
- exported.set(name, source);
1116
- return name;
1117
- };
1118
- for (const entry of model.enums) {
1119
- const source = `enum ${entry.schema}.${entry.name}`;
1120
- lines.push(`export const ${claim(entry.constant, source)} = [${entry.values.map(q).join(", ")}] as const;`, `export type ${claim(entry.typeName, source)} = (typeof ${entry.constant})[number];`);
1121
- }
1122
- for (const table of model.tables) for (const column of table.columns) if (column.values && !column.snapshot.isEnum) {
1123
- const source = `the CHECK on ${table.snapshot.schema}.${table.snapshot.name}.${column.db}`;
1124
- const constant = identifier(`${table.key}${pascal(column.app)}Values`.replace(/^[A-Z]/, (c) => c.toLowerCase()));
1125
- const typeName = identifier(`${pascal(table.key)}${pascal(column.app)}`);
1126
- lines.push(`export const ${claim(constant, source)} = [${column.values.map(q).join(", ")}] as const;`, `export type ${claim(typeName, source)} = (typeof ${constant})[number];`);
1127
- }
1128
- if (model.enums.length > 0) lines.push("");
1129
- lines.push(...modelsType(model), "", ...functionsType(model), "", "export type TableName = keyof Models;", "/** Constraint names for `isConflict`, `isCheck` and `isForeignKey`. */", "export type UniqueConstraint = { [T in TableName]: Extract<keyof Models[T]['UniqueKeys'], string> }[TableName];", "export type CheckConstraint = Models[TableName]['Checks'];", "export type ForeignKeyConstraint = Models[TableName]['ForeignKeys'];", "export type RowOf<T extends TableName> = Models[T]['Row'];", "export type InsertOf<T extends TableName> = Models[T]['Insert'];", "export type UpdateOf<T extends TableName> = Models[T]['Update'];", "/** A `where` for `T` you can assign to one key at a time. */", "export type WhereOf<T extends TableName> = MutableWhere<Models, T>;", "/** An `orderBy` for `T`: one sort or a list, by column or to-one relation. */", "export type OrderByOf<T extends TableName> = OrderByArg<Models, T>;", "/** One sort term of `T`'s `orderBy`, by column or to-one relation. */", "export type OrderTermOf<T extends TableName> = OrderByInput<Models, T>;", "");
1130
- if (model.meta.buckets) lines.push("/** Bucket configs for `defineBucket` from `better-supabase/storage`. */", `export const buckets = ${JSON.stringify(model.meta.buckets, null, 2)} as const;`, "");
1131
- if (model.meta.topics) lines.push("/** Topic templates for `defineTopic` from `better-supabase/realtime`. */", `export const topics = ${JSON.stringify(model.meta.topics, null, 2)} as const;`, "");
1132
- lines.push("export const schema: Schema<Models, Database, Functions> = defineSchema(meta);", "");
1133
- return lines.join("\n");
1134
- }
1135
- //#endregion
1136
- export { buildModel as a, toCatalog as c, metaPaths as i, emitMeta as n, generatorModel as o, emitModule as r, configFor as s, GENERATED_HEADER as t };