better-supabase 0.8.0 → 0.10.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 (1392) hide show
  1. package/README.md +147 -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-rmWaLNe3.js +1984 -0
  7. package/dist/agents-ByYUSZxT.d.ts +111 -0
  8. package/dist/ai-cache-CkxtAt4P.d.ts +70 -0
  9. package/dist/ai-cache-DPiuJ-zJ.js +84 -0
  10. package/dist/ai-chat-al8b3spK.d.ts +608 -0
  11. package/dist/ai-files-BXtV3ygd.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-Di0gmJOX.d.ts +157 -0
  34. package/dist/announcements-HF7LuFw5.js +128 -0
  35. package/dist/api-CFjuYKFY.js +680 -0
  36. package/dist/api-XJcQON_7.d.ts +411 -0
  37. package/dist/api-keys-C1IZF7p8.js +318 -0
  38. package/dist/api-keys-EdSNjGIZ.d.ts +205 -0
  39. package/dist/app-tables-BRjMcWhW.js +819 -0
  40. package/dist/app-tables-DVidEHOI.d.ts +35 -0
  41. package/dist/approvals-DqlPHBHI.d.ts +124 -0
  42. package/dist/arazzo/index.d.ts +5 -5
  43. package/dist/arazzo/index.js +6 -6
  44. package/dist/assistant-BZyhQ8bd.d.ts +148 -0
  45. package/dist/astro/index.d.ts +9 -8
  46. package/dist/astro/index.js +10 -7
  47. package/dist/asyncapi/index.d.ts +4 -4
  48. package/dist/asyncapi/index.js +6 -6
  49. package/dist/attachments-C8FEBBKE.js +264 -0
  50. package/dist/attributes-D4mA7WhI.js +38 -0
  51. package/dist/audit-log-CRgiHlRh.js +786 -0
  52. package/dist/auth-CdBKt0CS.js +20 -0
  53. package/dist/auth-reply-B_dW4jHJ.js +31 -0
  54. package/dist/auth-reply-Dj124sbX.d.ts +11 -0
  55. package/dist/authorization-CdJRoZgV.d.ts +1435 -0
  56. package/dist/authorization-hooks-Do5djkpz.d.ts +214 -0
  57. package/dist/authorizer-dVVN05Un.js +126 -0
  58. package/dist/base64-BmeCBgGo.js +42 -0
  59. package/dist/batch-limit-DKVQDz4o.js +5 -0
  60. package/dist/before-route-B98js9m_.js +30 -0
  61. package/dist/better-result/index.d.ts +5 -5
  62. package/dist/better-result/index.js +1 -1
  63. package/dist/bind-DkaP_0iS.d.ts +70 -0
  64. package/dist/block-env-CBd_SoL5.js +29 -0
  65. package/dist/block-env-Dxl7rsI0.d.ts +10 -0
  66. package/dist/block-events-DD9Q_NUz.js +96 -0
  67. package/dist/block-fields-5UA84ZUg.d.ts +55 -0
  68. package/dist/block-fields-BANwJ9Y_.js +139 -0
  69. package/dist/block-helpers-7pMBVsE6.d.ts +37 -0
  70. package/dist/block-helpers-BfVCR5Fc.js +264 -0
  71. package/dist/block-hooks-ByKlh8Qy.js +114 -0
  72. package/dist/block-hooks-C_WaodoA.d.ts +107 -0
  73. package/dist/block-transport-G4t1umrR.js +85 -0
  74. package/dist/block-transport-NbUJygA7.d.ts +70 -0
  75. package/dist/blocks/access-requests/index.d.ts +98 -0
  76. package/dist/blocks/access-requests/index.js +99 -0
  77. package/dist/blocks/agents/index.d.ts +21 -3
  78. package/dist/blocks/agents/index.js +64 -18
  79. package/dist/blocks/ai-cache/index.d.ts +7 -2
  80. package/dist/blocks/ai-cache/index.js +15 -3
  81. package/dist/blocks/ai-chat/index.d.ts +22 -3
  82. package/dist/blocks/ai-chat/index.js +29 -3
  83. package/dist/blocks/ai-chat/react/index.d.ts +12 -46
  84. package/dist/blocks/ai-chat/react/index.js +43 -335
  85. package/dist/blocks/ai-chat/solid/index.d.ts +34 -0
  86. package/dist/blocks/ai-chat/solid/index.js +41 -0
  87. package/dist/blocks/ai-chat/svelte/index.d.ts +34 -0
  88. package/dist/blocks/ai-chat/svelte/index.js +41 -0
  89. package/dist/blocks/ai-chat/vue/index.d.ts +34 -0
  90. package/dist/blocks/ai-chat/vue/index.js +41 -0
  91. package/dist/blocks/ai-files/index.d.ts +10 -3
  92. package/dist/blocks/ai-files/index.js +16 -3
  93. package/dist/blocks/ai-providers/index.d.ts +18 -3
  94. package/dist/blocks/ai-providers/index.js +40 -15
  95. package/dist/blocks/ai-tasks/index.d.ts +9 -2
  96. package/dist/blocks/ai-tasks/index.js +70 -21
  97. package/dist/blocks/announcements/index.d.ts +18 -3
  98. package/dist/blocks/announcements/index.js +27 -3
  99. package/dist/blocks/announcements/react/index.d.ts +4 -14
  100. package/dist/blocks/announcements/react/index.js +22 -70
  101. package/dist/blocks/announcements/solid/index.d.ts +13 -0
  102. package/dist/blocks/announcements/solid/index.js +14 -0
  103. package/dist/blocks/announcements/svelte/index.d.ts +13 -0
  104. package/dist/blocks/announcements/svelte/index.js +14 -0
  105. package/dist/blocks/announcements/vue/index.d.ts +13 -0
  106. package/dist/blocks/announcements/vue/index.js +14 -0
  107. package/dist/blocks/api-keys/index.d.ts +24 -7
  108. package/dist/blocks/api-keys/index.js +29 -294
  109. package/dist/blocks/api-keys/react/index.d.ts +29 -0
  110. package/dist/blocks/api-keys/react/index.js +43 -0
  111. package/dist/blocks/api-keys/react/server.d.ts +7 -0
  112. package/dist/blocks/api-keys/react/server.js +7 -0
  113. package/dist/blocks/api-keys/solid/index.d.ts +13 -0
  114. package/dist/blocks/api-keys/solid/index.js +14 -0
  115. package/dist/blocks/api-keys/svelte/index.d.ts +13 -0
  116. package/dist/blocks/api-keys/svelte/index.js +14 -0
  117. package/dist/blocks/api-keys/vue/index.d.ts +13 -0
  118. package/dist/blocks/api-keys/vue/index.js +14 -0
  119. package/dist/blocks/approvals/index.d.ts +22 -0
  120. package/dist/blocks/approvals/index.js +189 -0
  121. package/dist/blocks/attachments/index.d.ts +18 -227
  122. package/dist/blocks/attachments/index.js +26 -242
  123. package/dist/blocks/audit/index.d.ts +72 -365
  124. package/dist/blocks/audit/index.js +91 -714
  125. package/dist/blocks/audit/react/index.d.ts +26 -0
  126. package/dist/blocks/audit/react/index.js +44 -0
  127. package/dist/blocks/audit/react/server.d.ts +7 -0
  128. package/dist/blocks/audit/react/server.js +7 -0
  129. package/dist/blocks/audit/solid/index.d.ts +13 -0
  130. package/dist/blocks/audit/solid/index.js +14 -0
  131. package/dist/blocks/audit/svelte/index.d.ts +13 -0
  132. package/dist/blocks/audit/svelte/index.js +14 -0
  133. package/dist/blocks/audit/vue/index.d.ts +13 -0
  134. package/dist/blocks/audit/vue/index.js +14 -0
  135. package/dist/blocks/billing/index.d.ts +37 -12
  136. package/dist/blocks/billing/index.js +43 -12
  137. package/dist/blocks/billing/react/index.d.ts +34 -0
  138. package/dist/blocks/billing/react/index.js +36 -0
  139. package/dist/blocks/billing/react/server.d.ts +7 -0
  140. package/dist/blocks/billing/react/server.js +7 -0
  141. package/dist/blocks/billing/solid/index.d.ts +15 -0
  142. package/dist/blocks/billing/solid/index.js +14 -0
  143. package/dist/blocks/billing/svelte/index.d.ts +15 -0
  144. package/dist/blocks/billing/svelte/index.js +14 -0
  145. package/dist/blocks/billing/vue/index.d.ts +15 -0
  146. package/dist/blocks/billing/vue/index.js +14 -0
  147. package/dist/blocks/bookings/index.d.ts +36 -0
  148. package/dist/blocks/bookings/index.js +28 -0
  149. package/dist/blocks/bookings/react/index.d.ts +31 -0
  150. package/dist/blocks/bookings/react/index.js +59 -0
  151. package/dist/blocks/bookings/react/server.d.ts +6 -0
  152. package/dist/blocks/bookings/react/server.js +7 -0
  153. package/dist/blocks/bookings/solid/index.d.ts +13 -0
  154. package/dist/blocks/bookings/solid/index.js +14 -0
  155. package/dist/blocks/bookings/svelte/index.d.ts +13 -0
  156. package/dist/blocks/bookings/svelte/index.js +14 -0
  157. package/dist/blocks/bookings/vue/index.d.ts +13 -0
  158. package/dist/blocks/bookings/vue/index.js +14 -0
  159. package/dist/blocks/bulk/index.d.ts +146 -0
  160. package/dist/blocks/bulk/index.js +154 -0
  161. package/dist/blocks/calendar/index.d.ts +20 -0
  162. package/dist/blocks/calendar/index.js +33 -0
  163. package/dist/blocks/calendar/react/index.d.ts +26 -0
  164. package/dist/blocks/calendar/react/index.js +58 -0
  165. package/dist/blocks/calendar/react/server.d.ts +6 -0
  166. package/dist/blocks/calendar/react/server.js +7 -0
  167. package/dist/blocks/calendar/solid/index.d.ts +13 -0
  168. package/dist/blocks/calendar/solid/index.js +14 -0
  169. package/dist/blocks/calendar/svelte/index.d.ts +13 -0
  170. package/dist/blocks/calendar/svelte/index.js +14 -0
  171. package/dist/blocks/calendar/vue/index.d.ts +13 -0
  172. package/dist/blocks/calendar/vue/index.js +14 -0
  173. package/dist/blocks/catalog/index.d.ts +224 -0
  174. package/dist/blocks/catalog/index.js +292 -0
  175. package/dist/blocks/collections/index.d.ts +184 -0
  176. package/dist/blocks/collections/index.js +208 -0
  177. package/dist/blocks/comments/index.d.ts +19 -166
  178. package/dist/blocks/comments/index.js +26 -207
  179. package/dist/blocks/comments/react/index.d.ts +27 -0
  180. package/dist/blocks/comments/react/index.js +45 -0
  181. package/dist/blocks/comments/react/server.d.ts +7 -0
  182. package/dist/blocks/comments/react/server.js +7 -0
  183. package/dist/blocks/comments/solid/index.d.ts +13 -0
  184. package/dist/blocks/comments/solid/index.js +14 -0
  185. package/dist/blocks/comments/svelte/index.d.ts +13 -0
  186. package/dist/blocks/comments/svelte/index.js +14 -0
  187. package/dist/blocks/comments/vue/index.d.ts +13 -0
  188. package/dist/blocks/comments/vue/index.js +14 -0
  189. package/dist/blocks/connectors/index.d.ts +21 -3
  190. package/dist/blocks/connectors/index.js +53 -18
  191. package/dist/blocks/custom-fields/index.d.ts +62 -0
  192. package/dist/blocks/custom-fields/index.js +85 -0
  193. package/dist/blocks/data-lifecycle/index.d.ts +114 -9
  194. package/dist/blocks/data-lifecycle/index.js +98 -12
  195. package/dist/blocks/deals/index.d.ts +262 -0
  196. package/dist/blocks/deals/index.js +380 -0
  197. package/dist/blocks/documents/index.d.ts +17 -0
  198. package/dist/blocks/documents/index.js +118 -0
  199. package/dist/blocks/domains/index.d.ts +117 -0
  200. package/dist/blocks/domains/index.js +118 -0
  201. package/dist/blocks/drive/index.d.ts +296 -0
  202. package/dist/blocks/drive/index.js +483 -0
  203. package/dist/blocks/employees/index.d.ts +205 -0
  204. package/dist/blocks/employees/index.js +289 -0
  205. package/dist/blocks/engagements/index.d.ts +125 -0
  206. package/dist/blocks/engagements/index.js +143 -0
  207. package/dist/blocks/entitlements/index.d.ts +40 -4
  208. package/dist/blocks/entitlements/index.js +14 -24
  209. package/dist/blocks/entitlements/react/index.d.ts +24 -0
  210. package/dist/blocks/entitlements/react/index.js +35 -0
  211. package/dist/blocks/entitlements/react/server.d.ts +6 -0
  212. package/dist/blocks/entitlements/react/server.js +7 -0
  213. package/dist/blocks/entitlements/solid/index.d.ts +13 -0
  214. package/dist/blocks/entitlements/solid/index.js +14 -0
  215. package/dist/blocks/entitlements/svelte/index.d.ts +13 -0
  216. package/dist/blocks/entitlements/svelte/index.js +14 -0
  217. package/dist/blocks/entitlements/vue/index.d.ts +13 -0
  218. package/dist/blocks/entitlements/vue/index.js +14 -0
  219. package/dist/blocks/flags/index.d.ts +61 -187
  220. package/dist/blocks/flags/index.js +65 -253
  221. package/dist/blocks/forms/index.d.ts +302 -0
  222. package/dist/blocks/forms/index.js +341 -0
  223. package/dist/blocks/forms/react/index.d.ts +16 -0
  224. package/dist/blocks/forms/react/index.js +25 -0
  225. package/dist/blocks/forms/react/server.d.ts +6 -0
  226. package/dist/blocks/forms/react/server.js +7 -0
  227. package/dist/blocks/forms/solid/index.d.ts +13 -0
  228. package/dist/blocks/forms/solid/index.js +14 -0
  229. package/dist/blocks/forms/svelte/index.d.ts +13 -0
  230. package/dist/blocks/forms/svelte/index.js +14 -0
  231. package/dist/blocks/forms/vue/index.d.ts +13 -0
  232. package/dist/blocks/forms/vue/index.js +14 -0
  233. package/dist/blocks/hiring/index.d.ts +154 -0
  234. package/dist/blocks/hiring/index.js +180 -0
  235. package/dist/blocks/identities/index.d.ts +83 -0
  236. package/dist/blocks/identities/index.js +103 -0
  237. package/dist/blocks/imports/index.d.ts +159 -0
  238. package/dist/blocks/imports/index.js +227 -0
  239. package/dist/blocks/inbox/index.d.ts +22 -3
  240. package/dist/blocks/inbox/index.js +77 -4
  241. package/dist/blocks/inbox/react/index.d.ts +3 -2
  242. package/dist/blocks/inbox/react/index.js +55 -199
  243. package/dist/blocks/inbox/react/server.d.ts +2 -1
  244. package/dist/blocks/inbox/solid/index.d.ts +27 -0
  245. package/dist/blocks/inbox/solid/index.js +32 -0
  246. package/dist/blocks/inbox/svelte/index.d.ts +27 -0
  247. package/dist/blocks/inbox/svelte/index.js +32 -0
  248. package/dist/blocks/inbox/vue/index.d.ts +27 -0
  249. package/dist/blocks/inbox/vue/index.js +32 -0
  250. package/dist/blocks/index.d.ts +25 -61
  251. package/dist/blocks/index.js +192 -56
  252. package/dist/blocks/inventory/index.d.ts +181 -0
  253. package/dist/blocks/inventory/index.js +219 -0
  254. package/dist/blocks/invoices/index.d.ts +154 -0
  255. package/dist/blocks/invoices/index.js +216 -0
  256. package/dist/blocks/jobs/index.d.ts +156 -33
  257. package/dist/blocks/jobs/index.js +675 -261
  258. package/dist/blocks/knowledge/index.d.ts +10 -3
  259. package/dist/blocks/knowledge/index.js +17 -3
  260. package/dist/blocks/leave/index.d.ts +241 -0
  261. package/dist/blocks/leave/index.js +209 -0
  262. package/dist/blocks/memory/index.d.ts +9 -4
  263. package/dist/blocks/memory/index.js +48 -12
  264. package/dist/blocks/metrics/index.d.ts +174 -0
  265. package/dist/blocks/metrics/index.js +217 -0
  266. package/dist/blocks/mfa/index.d.ts +7 -0
  267. package/dist/blocks/mfa/index.js +12 -0
  268. package/dist/blocks/mfa/react/index.d.ts +30 -0
  269. package/dist/blocks/mfa/react/index.js +45 -0
  270. package/dist/blocks/mfa/react/server.d.ts +9 -0
  271. package/dist/blocks/mfa/react/server.js +12 -0
  272. package/dist/blocks/mfa/solid/index.d.ts +20 -0
  273. package/dist/blocks/mfa/solid/index.js +23 -0
  274. package/dist/blocks/mfa/svelte/index.d.ts +20 -0
  275. package/dist/blocks/mfa/svelte/index.js +23 -0
  276. package/dist/blocks/mfa/vue/index.d.ts +20 -0
  277. package/dist/blocks/mfa/vue/index.js +23 -0
  278. package/dist/blocks/notifications/index.d.ts +342 -25
  279. package/dist/blocks/notifications/index.js +733 -104
  280. package/dist/blocks/notifications/react/index.d.ts +7 -32
  281. package/dist/blocks/notifications/react/index.js +23 -49
  282. package/dist/blocks/notifications/react/server.d.ts +2 -1
  283. package/dist/blocks/notifications/solid/index.d.ts +13 -0
  284. package/dist/blocks/notifications/solid/index.js +14 -0
  285. package/dist/blocks/notifications/svelte/index.d.ts +13 -0
  286. package/dist/blocks/notifications/svelte/index.js +14 -0
  287. package/dist/blocks/notifications/vue/index.d.ts +13 -0
  288. package/dist/blocks/notifications/vue/index.js +14 -0
  289. package/dist/blocks/number-sequences/index.d.ts +45 -0
  290. package/dist/blocks/number-sequences/index.js +49 -0
  291. package/dist/blocks/oauth-server/index.d.ts +228 -0
  292. package/dist/blocks/oauth-server/index.js +309 -0
  293. package/dist/blocks/onboarding/index.d.ts +8 -3
  294. package/dist/blocks/onboarding/index.js +17 -63
  295. package/dist/blocks/onboarding/react/index.d.ts +3 -12
  296. package/dist/blocks/onboarding/react/index.js +18 -60
  297. package/dist/blocks/onboarding/react/server.d.ts +2 -2
  298. package/dist/blocks/onboarding/react/server.js +2 -2
  299. package/dist/blocks/onboarding/solid/index.d.ts +13 -0
  300. package/dist/blocks/onboarding/solid/index.js +14 -0
  301. package/dist/blocks/onboarding/svelte/index.d.ts +13 -0
  302. package/dist/blocks/onboarding/svelte/index.js +14 -0
  303. package/dist/blocks/onboarding/vue/index.d.ts +13 -0
  304. package/dist/blocks/onboarding/vue/index.js +14 -0
  305. package/dist/blocks/orders/index.d.ts +264 -0
  306. package/dist/blocks/orders/index.js +589 -0
  307. package/dist/blocks/organizations/index.d.ts +31 -238
  308. package/dist/blocks/organizations/index.js +49 -392
  309. package/dist/blocks/organizations/react/index.d.ts +108 -0
  310. package/dist/blocks/organizations/react/index.js +113 -0
  311. package/dist/blocks/organizations/react/server.d.ts +11 -0
  312. package/dist/blocks/organizations/react/server.js +15 -0
  313. package/dist/blocks/organizations/solid/index.d.ts +34 -0
  314. package/dist/blocks/organizations/solid/index.js +32 -0
  315. package/dist/blocks/organizations/svelte/index.d.ts +34 -0
  316. package/dist/blocks/organizations/svelte/index.js +32 -0
  317. package/dist/blocks/organizations/vue/index.d.ts +34 -0
  318. package/dist/blocks/organizations/vue/index.js +32 -0
  319. package/dist/blocks/outbox/index.d.ts +12 -3
  320. package/dist/blocks/outbox/index.js +85 -46
  321. package/dist/blocks/parties/index.d.ts +181 -0
  322. package/dist/blocks/parties/index.js +258 -0
  323. package/dist/blocks/pipelines/index.d.ts +189 -0
  324. package/dist/blocks/pipelines/index.js +204 -0
  325. package/dist/blocks/profiles/index.d.ts +13 -8
  326. package/dist/blocks/profiles/index.js +19 -6
  327. package/dist/blocks/promotions/index.d.ts +125 -0
  328. package/dist/blocks/promotions/index.js +123 -0
  329. package/dist/blocks/push/index.d.ts +48 -28
  330. package/dist/blocks/push/index.js +45 -16
  331. package/dist/blocks/quotes/index.d.ts +152 -0
  332. package/dist/blocks/quotes/index.js +209 -0
  333. package/dist/blocks/rank/index.d.ts +71 -0
  334. package/dist/blocks/rank/index.js +53 -0
  335. package/dist/blocks/reactions/index.d.ts +18 -0
  336. package/dist/blocks/reactions/index.js +26 -0
  337. package/dist/blocks/reactions/react/index.d.ts +23 -0
  338. package/dist/blocks/reactions/react/index.js +46 -0
  339. package/dist/blocks/reactions/react/server.d.ts +6 -0
  340. package/dist/blocks/reactions/react/server.js +7 -0
  341. package/dist/blocks/reactions/solid/index.d.ts +13 -0
  342. package/dist/blocks/reactions/solid/index.js +14 -0
  343. package/dist/blocks/reactions/svelte/index.d.ts +13 -0
  344. package/dist/blocks/reactions/svelte/index.js +14 -0
  345. package/dist/blocks/reactions/vue/index.d.ts +13 -0
  346. package/dist/blocks/reactions/vue/index.js +14 -0
  347. package/dist/blocks/relations/index.d.ts +180 -0
  348. package/dist/blocks/relations/index.js +254 -0
  349. package/dist/blocks/reminders/index.d.ts +177 -0
  350. package/dist/blocks/reminders/index.js +171 -0
  351. package/dist/blocks/reviews/index.d.ts +148 -0
  352. package/dist/blocks/reviews/index.js +139 -0
  353. package/dist/blocks/rules/index.d.ts +169 -0
  354. package/dist/blocks/rules/index.js +163 -0
  355. package/dist/blocks/rules/react/index.d.ts +34 -0
  356. package/dist/blocks/rules/react/index.js +55 -0
  357. package/dist/blocks/rules/react/server.d.ts +6 -0
  358. package/dist/blocks/rules/react/server.js +7 -0
  359. package/dist/blocks/rules/solid/index.d.ts +13 -0
  360. package/dist/blocks/rules/solid/index.js +14 -0
  361. package/dist/blocks/rules/svelte/index.d.ts +13 -0
  362. package/dist/blocks/rules/svelte/index.js +14 -0
  363. package/dist/blocks/rules/vue/index.d.ts +13 -0
  364. package/dist/blocks/rules/vue/index.js +14 -0
  365. package/dist/blocks/saved-views/index.d.ts +17 -0
  366. package/dist/blocks/saved-views/index.js +29 -0
  367. package/dist/blocks/saved-views/react/index.d.ts +34 -0
  368. package/dist/blocks/saved-views/react/index.js +57 -0
  369. package/dist/blocks/saved-views/react/server.d.ts +7 -0
  370. package/dist/blocks/saved-views/react/server.js +7 -0
  371. package/dist/blocks/saved-views/solid/index.d.ts +13 -0
  372. package/dist/blocks/saved-views/solid/index.js +14 -0
  373. package/dist/blocks/saved-views/svelte/index.d.ts +13 -0
  374. package/dist/blocks/saved-views/svelte/index.js +14 -0
  375. package/dist/blocks/saved-views/vue/index.d.ts +13 -0
  376. package/dist/blocks/saved-views/vue/index.js +14 -0
  377. package/dist/blocks/search/index.d.ts +31 -0
  378. package/dist/blocks/search/index.js +61 -0
  379. package/dist/blocks/search/react/index.d.ts +36 -0
  380. package/dist/blocks/search/react/index.js +49 -0
  381. package/dist/blocks/search/react/server.d.ts +7 -0
  382. package/dist/blocks/search/react/server.js +8 -0
  383. package/dist/blocks/search/solid/index.d.ts +13 -0
  384. package/dist/blocks/search/solid/index.js +14 -0
  385. package/dist/blocks/search/svelte/index.d.ts +13 -0
  386. package/dist/blocks/search/svelte/index.js +14 -0
  387. package/dist/blocks/search/vue/index.d.ts +13 -0
  388. package/dist/blocks/search/vue/index.js +14 -0
  389. package/dist/blocks/service-principals/index.d.ts +126 -0
  390. package/dist/blocks/service-principals/index.js +107 -0
  391. package/dist/blocks/sessions/index.d.ts +7 -0
  392. package/dist/blocks/sessions/index.js +14 -0
  393. package/dist/blocks/sessions/react/index.d.ts +31 -0
  394. package/dist/blocks/sessions/react/index.js +51 -0
  395. package/dist/blocks/sessions/react/server.d.ts +9 -0
  396. package/dist/blocks/sessions/react/server.js +11 -0
  397. package/dist/blocks/sessions/solid/index.d.ts +20 -0
  398. package/dist/blocks/sessions/solid/index.js +23 -0
  399. package/dist/blocks/sessions/svelte/index.d.ts +20 -0
  400. package/dist/blocks/sessions/svelte/index.js +23 -0
  401. package/dist/blocks/sessions/vue/index.d.ts +20 -0
  402. package/dist/blocks/sessions/vue/index.js +23 -0
  403. package/dist/blocks/settings/index.d.ts +20 -86
  404. package/dist/blocks/settings/index.js +28 -102
  405. package/dist/blocks/settings/react/index.d.ts +25 -0
  406. package/dist/blocks/settings/react/index.js +37 -0
  407. package/dist/blocks/settings/react/server.d.ts +7 -0
  408. package/dist/blocks/settings/react/server.js +7 -0
  409. package/dist/blocks/settings/solid/index.d.ts +13 -0
  410. package/dist/blocks/settings/solid/index.js +14 -0
  411. package/dist/blocks/settings/svelte/index.d.ts +13 -0
  412. package/dist/blocks/settings/svelte/index.js +14 -0
  413. package/dist/blocks/settings/vue/index.d.ts +13 -0
  414. package/dist/blocks/settings/vue/index.js +14 -0
  415. package/dist/blocks/share-links/index.d.ts +106 -0
  416. package/dist/blocks/share-links/index.js +102 -0
  417. package/dist/blocks/shared-signals/index.d.ts +395 -0
  418. package/dist/blocks/shared-signals/index.js +880 -0
  419. package/dist/blocks/signing-keys/index.d.ts +29 -0
  420. package/dist/blocks/signing-keys/index.js +161 -0
  421. package/dist/blocks/sla/index.d.ts +114 -0
  422. package/dist/blocks/sla/index.js +122 -0
  423. package/dist/blocks/sso/index.d.ts +169 -147
  424. package/dist/blocks/sso/index.js +258 -321
  425. package/dist/blocks/state-machine/index.d.ts +105 -0
  426. package/dist/blocks/state-machine/index.js +116 -0
  427. package/dist/blocks/tags/index.d.ts +20 -0
  428. package/dist/blocks/tags/index.js +28 -0
  429. package/dist/blocks/tags/react/index.d.ts +28 -0
  430. package/dist/blocks/tags/react/index.js +47 -0
  431. package/dist/blocks/tags/react/server.d.ts +7 -0
  432. package/dist/blocks/tags/react/server.js +7 -0
  433. package/dist/blocks/tags/solid/index.d.ts +13 -0
  434. package/dist/blocks/tags/solid/index.js +14 -0
  435. package/dist/blocks/tags/svelte/index.d.ts +13 -0
  436. package/dist/blocks/tags/svelte/index.js +14 -0
  437. package/dist/blocks/tags/vue/index.d.ts +13 -0
  438. package/dist/blocks/tags/vue/index.js +14 -0
  439. package/dist/blocks/targets/index.d.ts +82 -0
  440. package/dist/blocks/targets/index.js +73 -0
  441. package/dist/blocks/teams/index.d.ts +61 -0
  442. package/dist/blocks/teams/index.js +83 -0
  443. package/dist/blocks/templates/index.d.ts +362 -0
  444. package/dist/blocks/templates/index.js +483 -0
  445. package/dist/blocks/time-tracking/index.d.ts +250 -0
  446. package/dist/blocks/time-tracking/index.js +317 -0
  447. package/dist/blocks/trash/index.d.ts +78 -0
  448. package/dist/blocks/trash/index.js +79 -0
  449. package/dist/blocks/undo/index.d.ts +9 -0
  450. package/dist/blocks/undo/index.js +14 -0
  451. package/dist/blocks/undo/react/index.d.ts +17 -0
  452. package/dist/blocks/undo/react/index.js +24 -0
  453. package/dist/blocks/undo/react/server.d.ts +7 -0
  454. package/dist/blocks/undo/react/server.js +7 -0
  455. package/dist/blocks/undo/solid/index.d.ts +13 -0
  456. package/dist/blocks/undo/solid/index.js +14 -0
  457. package/dist/blocks/undo/svelte/index.d.ts +13 -0
  458. package/dist/blocks/undo/svelte/index.js +14 -0
  459. package/dist/blocks/undo/vue/index.d.ts +13 -0
  460. package/dist/blocks/undo/vue/index.js +14 -0
  461. package/dist/blocks/usage/index.d.ts +10 -4
  462. package/dist/blocks/usage/index.js +16 -233
  463. package/dist/blocks/usage/react/index.d.ts +23 -0
  464. package/dist/blocks/usage/react/index.js +38 -0
  465. package/dist/blocks/usage/react/server.d.ts +7 -0
  466. package/dist/blocks/usage/react/server.js +7 -0
  467. package/dist/blocks/usage/solid/index.d.ts +13 -0
  468. package/dist/blocks/usage/solid/index.js +14 -0
  469. package/dist/blocks/usage/svelte/index.d.ts +13 -0
  470. package/dist/blocks/usage/svelte/index.js +14 -0
  471. package/dist/blocks/usage/vue/index.d.ts +13 -0
  472. package/dist/blocks/usage/vue/index.js +14 -0
  473. package/dist/blocks/versions/index.d.ts +169 -0
  474. package/dist/blocks/versions/index.js +288 -0
  475. package/dist/blocks/waitlist/index.d.ts +57 -19
  476. package/dist/blocks/waitlist/index.js +46 -12
  477. package/dist/blocks/webhooks/index.d.ts +269 -137
  478. package/dist/blocks/webhooks/index.js +752 -179
  479. package/dist/blocks/work-items/index.d.ts +208 -0
  480. package/dist/blocks/work-items/index.js +305 -0
  481. package/dist/blocks/workflow-builder/index.d.ts +26 -6
  482. package/dist/blocks/workflow-builder/index.js +30 -5
  483. package/dist/blocks/workflow-builder/react/index.d.ts +4 -19
  484. package/dist/blocks/workflow-builder/react/index.js +45 -89
  485. package/dist/blocks/workflow-builder/solid/index.d.ts +20 -0
  486. package/dist/blocks/workflow-builder/solid/index.js +23 -0
  487. package/dist/blocks/workflow-builder/svelte/index.d.ts +20 -0
  488. package/dist/blocks/workflow-builder/svelte/index.js +23 -0
  489. package/dist/blocks/workflow-builder/vue/index.d.ts +20 -0
  490. package/dist/blocks/workflow-builder/vue/index.js +23 -0
  491. package/dist/blocks/workflows/index.d.ts +20 -3
  492. package/dist/blocks/workflows/index.js +27 -3
  493. package/dist/blocks/workflows/react/index.d.ts +5 -20
  494. package/dist/blocks/workflows/react/index.js +41 -113
  495. package/dist/blocks/workflows/solid/index.d.ts +20 -0
  496. package/dist/blocks/workflows/solid/index.js +23 -0
  497. package/dist/blocks/workflows/svelte/index.d.ts +20 -0
  498. package/dist/blocks/workflows/svelte/index.js +23 -0
  499. package/dist/blocks/workflows/vue/index.d.ts +20 -0
  500. package/dist/blocks/workflows/vue/index.js +23 -0
  501. package/dist/blocks-D2WQ63PI.js +84 -0
  502. package/dist/bookings-EJAVAuVz.js +181 -0
  503. package/dist/build-6jmaPAgx.js +689 -0
  504. package/dist/build-Cm0T5MVG.js +1815 -0
  505. package/dist/calendar-1J1E5dLq.js +801 -0
  506. package/dist/channel-D-LHCY11.d.ts +78 -0
  507. package/dist/channels-C-GCoNLd.js +114 -0
  508. package/dist/chat-sdk/index.d.ts +131 -7
  509. package/dist/chat-sdk/index.js +154 -6
  510. package/dist/chat-sdk/react/index.d.ts +2 -1
  511. package/dist/chat-sdk/react/index.js +1 -2
  512. package/dist/chat-sdk/react/server.d.ts +2 -1
  513. package/dist/chat-sdk/react/server.js +1 -2
  514. package/dist/cli/add-BhI_nXAo.js +75 -0
  515. package/dist/cli/add-CUS0AiBh.js +651 -0
  516. package/dist/cli/add-ojbcMxyp.js +1 -0
  517. package/dist/cli/adopt-D0ASVx2G.js +1 -0
  518. package/dist/cli/adopt-DwcU6CJd.js +412 -0
  519. package/dist/cli/agent-CCrTYK3W.js +176 -0
  520. package/dist/cli/apply-DBXC0Z5I.js +332 -0
  521. package/dist/cli/bin.js +40 -20
  522. package/dist/cli/blocks-B15ltTFn.js +124 -0
  523. package/dist/cli/blocks-BXeqIzWN.js +1 -0
  524. package/dist/cli/cache-CPBYJAkb.js +502 -0
  525. package/dist/cli/catalog-Di15TkM2.js +187 -0
  526. package/dist/cli/codemod-CrI33UR2.js +985 -0
  527. package/dist/cli/command-D_HI1mp1.js +853 -0
  528. package/dist/cli/completion-DzYo025z.js +205 -0
  529. package/dist/cli/completion-En43UcyJ.js +30 -0
  530. package/dist/cli/completion-Vry-Wjw8.js +1 -0
  531. package/dist/cli/config-Bi_UBxXl.js +1451 -0
  532. package/dist/cli/config-DsqQr5z3.js +1 -0
  533. package/dist/cli/config-DyJgo2d9.js +39 -0
  534. package/dist/cli/config-edit-Ct1lXe8a.js +603 -0
  535. package/dist/cli/db-DT1bGB02.js +78 -0
  536. package/dist/cli/design-edit-B-WsnhUF.js +175 -0
  537. package/dist/cli/detect-BeLVeNpA.js +84 -0
  538. package/dist/cli/dist-D_VbPAMR.js +129 -0
  539. package/dist/cli/dist-DuiMMRbJ.js +1112 -0
  540. package/dist/cli/doctor-wACp5w6N.js +3508 -0
  541. package/dist/cli/emit-j0zZ6NE_.js +1061 -0
  542. package/dist/cli/env-2v9JrxSr.js +142 -0
  543. package/dist/cli/env-Cf5OTqbK.js +1087 -0
  544. package/dist/cli/env-Ch99nTQw.js +1 -0
  545. package/dist/cli/env-DkBe35Rv.js +1 -0
  546. package/dist/cli/errors-Caiz_0so.js +98 -0
  547. package/dist/cli/fastest-levenshtein-dhRRvrM2.js +120 -0
  548. package/dist/cli/files-DDvAwTko.js +963 -0
  549. package/dist/cli/gen-BhquLu7l.js +304 -0
  550. package/dist/cli/guards-CUlDNYZs.js +8 -0
  551. package/dist/cli/index.d.ts +260 -129
  552. package/dist/cli/index.js +13 -10
  553. package/dist/cli/init-BwLTO6XG.js +400 -0
  554. package/dist/cli/introspect-B-gXAIqs.js +51 -0
  555. package/dist/cli/io-BiPX-_J1.js +37 -0
  556. package/dist/cli/jsonc-C8M0EhHB.js +1 -0
  557. package/dist/cli/keys-hwtdwdkT.js +106 -0
  558. package/dist/cli/live-BFfYoE0_.js +329 -0
  559. package/dist/cli/mcp-Bdm2oGmL.js +237 -0
  560. package/dist/cli/metadata-DikbSOE0.js +138 -0
  561. package/dist/cli/migration-safety-LaGVPPuD.js +206 -0
  562. package/dist/cli/module-migration-CLkZ8jpw.js +592 -0
  563. package/dist/cli/moved-B7UFO_OM.js +152 -0
  564. package/dist/cli/parse-CwV5a6dA.js +170 -0
  565. package/dist/cli/preset-DQ1DxMtI.js +129 -0
  566. package/dist/cli/prompts-Bvg_DBpe.js +1137 -0
  567. package/dist/cli/redact-PjNswZOs.js +35 -0
  568. package/dist/cli/rolldown-runtime-kJ_i4yPo.js +26 -0
  569. package/dist/cli/run-BLJj7SuM.js +685 -0
  570. package/dist/cli/run-DliGNdjI.js +1507 -0
  571. package/dist/cli/scaffold-6bv24GSP.js +898 -0
  572. package/dist/cli/scaffold-DUz5fa-k.js +1 -0
  573. package/dist/cli/seed-CIJaL1Ao.js +113 -0
  574. package/dist/cli/seed-ClGWseBT.js +1 -0
  575. package/dist/cli/shared-CNcvDOLt.js +145 -0
  576. package/dist/cli/shell-Btv_4Yhe.js +10 -0
  577. package/dist/cli/skills-CaxIQhzW.js +121 -0
  578. package/dist/cli/snapshot-Dvcx0BSl.js +347 -0
  579. package/dist/cli/source-args-BNhagtpw.js +47 -0
  580. package/dist/cli/spec-BewE6r6J.js +7501 -0
  581. package/dist/cli/spec-DRDaIq8f.js +1 -0
  582. package/dist/cli/sql-BBkchli4.js +326 -0
  583. package/dist/cli/sql-BCQt5TDs.js +2 -0
  584. package/dist/cli/stack-status-LeEoCtV1.js +456 -0
  585. package/dist/cli/style-2JfIPVMQ.js +29 -0
  586. package/dist/cli/supabase-toml-DjLgBYEo.js +1153 -0
  587. package/dist/cli/sync-CJ-ft-tl.js +88 -0
  588. package/dist/cli/topics-BBE1-Vrg.js +30 -0
  589. package/dist/cli/trace-VbdO6bcN.js +7 -0
  590. package/dist/cli/typegen--TfvOPLh.js +494 -0
  591. package/dist/cli/typegen-version-BNBPI4Eu.js +9 -0
  592. package/dist/cli/validate-BfWNKvxy.js +7522 -0
  593. package/dist/cli/version-D1wM9DNb.js +4 -0
  594. package/dist/cli/write-Dp1XlAVM.js +198 -0
  595. package/dist/client/index.d.ts +7 -4
  596. package/dist/client/index.js +152 -6
  597. package/dist/client/native/index.d.ts +71 -4
  598. package/dist/client/native/index.js +65 -6
  599. package/dist/client-13Ii0c0P.js +84 -0
  600. package/dist/client-9zIKhf5D.d.ts +58 -0
  601. package/dist/client-AxwF58Eo.js +98 -0
  602. package/dist/client-B0rvMvA8.d.ts +52 -0
  603. package/dist/client-B5nnqDmz.d.ts +39 -0
  604. package/dist/client-B7LCXnnY.d.ts +59 -0
  605. package/dist/client-B9CqzgPO.js +75 -0
  606. package/dist/client-B9H4BZJh.d.ts +455 -0
  607. package/dist/client-BGnJ5WJi.js +438 -0
  608. package/dist/client-BLKpcAs0.d.ts +34 -0
  609. package/dist/client-BO9fQgBB.d.ts +155 -0
  610. package/dist/client-B_r4denm.d.ts +135 -0
  611. package/dist/client-BaynD5V-.d.ts +388 -0
  612. package/dist/client-BfgwocyT.js +155 -0
  613. package/dist/client-BpS8a6Fm.js +51 -0
  614. package/dist/client-BtBkVSk2.d.ts +108 -0
  615. package/dist/client-ByGlM0YF.d.ts +101 -0
  616. package/dist/client-BzCv4kKE.js +65 -0
  617. package/dist/client-C-2ajnhM.js +89 -0
  618. package/dist/client-C3dLIsJv.d.ts +122 -0
  619. package/dist/client-C597NIlL.d.ts +277 -0
  620. package/dist/client-C5mUEb2n.js +55 -0
  621. package/dist/client-CFeWXNXy.js +133 -0
  622. package/dist/client-CWs3X4g1.js +120 -0
  623. package/dist/client-Cgxj38RS.d.ts +419 -0
  624. package/dist/client-CjyTNdt1.d.ts +65 -0
  625. package/dist/client-CmHsfDHU.js +438 -0
  626. package/dist/client-CpMv4-v5.d.ts +100 -0
  627. package/dist/client-CsRpAyIv.d.ts +68 -0
  628. package/dist/client-CvITjt-9.js +310 -0
  629. package/dist/client-D0502FgY.js +1051 -0
  630. package/dist/client-D727oIVC.js +169 -0
  631. package/dist/client-D9zBl9PT.d.ts +103 -0
  632. package/dist/client-DG7FwgZD.js +104 -0
  633. package/dist/client-DNq8xYb-.js +52 -0
  634. package/dist/client-DR_YEGnc.d.ts +130 -0
  635. package/dist/client-DZXFDaQE.d.ts +157 -0
  636. package/dist/client-Diu2lPbg.d.ts +218 -0
  637. package/dist/client-Dk8gY9hi.d.ts +34 -0
  638. package/dist/client-Ezlbskjq.js +60 -0
  639. package/dist/client-Fi8CoJcs.d.ts +263 -0
  640. package/dist/client-LVa6yC9u.d.ts +107 -0
  641. package/dist/client-WXJwUhr1.d.ts +162 -0
  642. package/dist/client-WgrPIHH-.js +213 -0
  643. package/dist/client-ZTtSV3l8.js +40 -0
  644. package/dist/client-ckXfdy1k.js +38 -0
  645. package/dist/client-fpvgtQKE.js +128 -0
  646. package/dist/client-iB5axfa0.js +209 -0
  647. package/dist/client-jvtwGFy4.js +137 -0
  648. package/dist/client-kI6vCKVI.js +288 -0
  649. package/dist/client-kKdkLGPB.d.ts +131 -0
  650. package/dist/client-pxjbgOz6.js +376 -0
  651. package/dist/client-rp7YfOg1.js +67 -0
  652. package/dist/cloud-event-bwsBwVNG.d.ts +64 -0
  653. package/dist/codecs-Bm46sVxr.d.ts +215 -0
  654. package/dist/codecs-C7E_OoiC.js +358 -0
  655. package/dist/codegen-2m4SKVdi.d.ts +1654 -0
  656. package/dist/comments-N7Bi-oTW.js +230 -0
  657. package/dist/commerce/index.d.ts +211 -0
  658. package/dist/commerce/index.js +517 -0
  659. package/dist/compiler-C6E3WwIi.d.ts +14 -0
  660. package/dist/compose-CO_cljl3.js +53 -0
  661. package/dist/composite-CPV0thLs.js +130 -0
  662. package/dist/composite-DMMA_Whg.d.ts +67 -0
  663. package/dist/config/index.d.ts +7 -5
  664. package/dist/config/index.js +7 -4
  665. package/dist/config-C4RQDF6t.js +3896 -0
  666. package/dist/config-CkyahUjo.js +558 -0
  667. package/dist/connector-Cp8CqssJ.d.ts +107 -0
  668. package/dist/connectors-CZdfZcIg.d.ts +141 -0
  669. package/dist/context-B8_p3MXo.js +11 -0
  670. package/dist/context-BDDgjoxz.js +41 -0
  671. package/dist/context-C-bHOtoD.js +5 -0
  672. package/dist/context-CCfX2szU.d.ts +377 -0
  673. package/dist/context-D6ZMKc2L.js +19 -0
  674. package/dist/context-wDKxSl9x.js +9 -0
  675. package/dist/controller-CCb9tHw_.d.ts +46 -0
  676. package/dist/controller-D6NyNrlZ.js +79 -0
  677. package/dist/create/index.d.ts +597 -0
  678. package/dist/create/index.js +2049 -0
  679. package/dist/create/lite/index.d.ts +85 -0
  680. package/dist/create/lite/index.js +126 -0
  681. package/dist/create/supabase/index.d.ts +68 -0
  682. package/dist/create/supabase/index.js +312 -0
  683. package/dist/credentials/index.d.ts +15 -5
  684. package/dist/credentials/index.js +16 -8
  685. package/dist/cron-CUaKTjWC.js +145 -0
  686. package/dist/cron-route-BsgbJ-g4.js +24 -0
  687. package/dist/csv-CVfXqaAu.js +89 -0
  688. package/dist/csv-D3eKxV1T.d.ts +28 -0
  689. package/dist/define-CMcokcZz.js +1896 -0
  690. package/dist/define-DXTC706J.d.ts +1005 -0
  691. package/dist/define-block-B6Gjs57G.js +52 -0
  692. package/dist/define-block-BlHQxDIQ.d.ts +256 -0
  693. package/dist/delegation-Dt8hMJWu.js +140 -0
  694. package/dist/delivery-B1mKaOen.js +30 -0
  695. package/dist/delivery-BeHgwS3k.d.ts +69 -0
  696. package/dist/documents-BYM2viS0.d.ts +96 -0
  697. package/dist/edge/index.d.ts +16 -14
  698. package/dist/edge/index.js +24 -18
  699. package/dist/elysia/index.d.ts +1 -1
  700. package/dist/elysia/index.js +2 -2
  701. package/dist/email-BcmbIWOX.d.ts +42 -0
  702. package/dist/embeddings-CVeOoufZ.js +128 -0
  703. package/dist/embeddings-Da0w4A_0.d.ts +78 -0
  704. package/dist/ended-EcTtzzQJ.d.ts +70 -0
  705. package/dist/entitlements-AmYp2KHX.js +45 -0
  706. package/dist/entitlements-Bn7BTnbg.d.ts +53 -0
  707. package/dist/env/index.d.ts +1 -1
  708. package/dist/env/index.js +9 -4
  709. package/dist/envelope--7d0Q3Se.js +90 -0
  710. package/dist/errors-7MqM7bbV.js +44 -0
  711. package/dist/errors-8i6tSICm.js +301 -0
  712. package/dist/escape-like-AUEPn-C5.d.ts +15 -0
  713. package/dist/eve/index.d.ts +5 -5
  714. package/dist/eve/index.js +9 -9
  715. package/dist/eve-BcEr_hPo.d.ts +151 -0
  716. package/dist/event-calendar-DJXXMJ3x.d.ts +217 -0
  717. package/dist/event-map-Dy2vKHai.js +19 -0
  718. package/dist/events/index.d.ts +4 -4
  719. package/dist/events/index.js +10 -7
  720. package/dist/events-CtAHxPal.d.ts +800 -0
  721. package/dist/events-xbpHkcK9.js +82 -0
  722. package/dist/executor-BicyP8Nl.d.ts +272 -0
  723. package/dist/executor-CHRwEYqt.d.ts +95 -0
  724. package/dist/executor-CIxyatuB.d.ts +174 -0
  725. package/dist/executor-Cex-1PFp.js +735 -0
  726. package/dist/executor-D3K3tycZ.js +147 -0
  727. package/dist/executor-DzJQVTE2.d.ts +39 -0
  728. package/dist/executor-aKUo_Xyb.js +206 -0
  729. package/dist/expo/index.d.ts +4 -4
  730. package/dist/expo/index.js +6 -6
  731. package/dist/expo-sqlite/index.d.ts +3 -3
  732. package/dist/expo-sqlite/index.js +2 -2
  733. package/dist/field-errors-nFnYWvB0.d.ts +113 -0
  734. package/dist/field-formats-Cif5gr7c.js +102 -0
  735. package/dist/field-formats-DCvOQlOy.d.ts +39 -0
  736. package/dist/filter-evaluate-C0ULNfS7.js +214 -0
  737. package/dist/filter-evaluate-CEm52E5s.d.ts +34 -0
  738. package/dist/filter-query-B3lhckKX.js +518 -0
  739. package/dist/filter-query-D3wOD1P_.d.ts +121 -0
  740. package/dist/flags-CtSrkVuW.js +279 -0
  741. package/dist/flags-Dz5PIzFU.d.ts +230 -0
  742. package/dist/flags-sdk/index.d.ts +143 -0
  743. package/dist/flags-sdk/index.js +175 -0
  744. package/dist/form-definition-GVZTILhS.js +311 -0
  745. package/dist/form-definition-sagoefQr.d.ts +95 -0
  746. package/dist/format-CNwSjXUU.d.ts +70 -0
  747. package/dist/framework-C2oL4OaO.d.ts +26 -0
  748. package/dist/framework-Cfm0IspZ.js +51 -0
  749. package/dist/function-contract-B4c0XuTU.d.ts +21 -0
  750. package/dist/function-contract-DmkBg19r.js +5 -0
  751. package/dist/gateway-CJL6ZG17.d.ts +109 -0
  752. package/dist/gateway-options-ClvvfuuU.d.ts +29 -0
  753. package/dist/gateway-options-DcLcWL5_.js +27 -0
  754. package/dist/graph-Cs28bOlK.js +360 -0
  755. package/dist/groups-CxonH3u5.js +16 -0
  756. package/dist/h3/index.d.ts +7 -3
  757. package/dist/h3/index.js +3 -3
  758. package/dist/h3/v1/index.d.ts +1 -1
  759. package/dist/h3/v1/index.js +2 -2
  760. package/dist/hono/index.d.ts +24 -10
  761. package/dist/hono/index.js +50 -22
  762. package/dist/http-BF-V0CUF.js +25 -0
  763. package/dist/impersonation-CDeCzZP6.js +62 -0
  764. package/dist/impersonation-D5chOkrO.d.ts +25 -0
  765. package/dist/inbox-BaUJgHOF.d.ts +400 -0
  766. package/dist/index-8xwnaWHY.d.ts +344 -0
  767. package/dist/index-BurdFUXr.d.ts +131 -0
  768. package/dist/index-Cckxs8IE.d.ts +206 -0
  769. package/dist/index-Ck4oK5vV.d.ts +258 -0
  770. package/dist/index-Co0YsJTk.d.ts +58 -0
  771. package/dist/index-CxmVzT-3.d.ts +86 -0
  772. package/dist/index-D1kMyNc7.d.ts +245 -0
  773. package/dist/index-DL8z_oDo.d.ts +227 -0
  774. package/dist/index-DMONTkSf.d.ts +202 -0
  775. package/dist/index-DTQbC3CW.d.ts +58 -0
  776. package/dist/index-DcijDfh1.d.ts +97 -0
  777. package/dist/index-MCXVzkXs.d.ts +722 -0
  778. package/dist/index-gXy3R1Uq.d.ts +138 -0
  779. package/dist/index.d.ts +15 -15
  780. package/dist/index.js +15 -14
  781. package/dist/iso4217-A8ev-CNW.js +176 -0
  782. package/dist/json-schema-CpYINXG8.js +548 -0
  783. package/dist/jws-35a8VhFV.d.ts +60 -0
  784. package/dist/jws-milwSg7E.js +191 -0
  785. package/dist/kit-BlcEFQql.d.ts +66 -0
  786. package/dist/kit-gqwkVhGU.js +104 -0
  787. package/dist/knowledge-BYtgA52P.d.ts +187 -0
  788. package/dist/knowledge-CSNKLX-s.js +272 -0
  789. package/dist/lint/index.js +9 -9
  790. package/dist/list/index.d.ts +4 -2
  791. package/dist/list/index.js +4 -2
  792. package/dist/list-query-CBXNfJt4.js +549 -0
  793. package/dist/list-query-DWJIiVz_.d.ts +194 -0
  794. package/dist/live-DwDreq1n.js +239 -0
  795. package/dist/management-D1gG89z2.d.ts +53 -0
  796. package/dist/mcp/index.d.ts +59 -17
  797. package/dist/mcp/index.js +202 -98
  798. package/dist/mcp/sdk/index.d.ts +6 -6
  799. package/dist/mcp/sdk/index.js +7 -7
  800. package/dist/messages-Cx4ttLJJ.js +493 -0
  801. package/dist/methods-7u6vSgz_.js +11 -0
  802. package/dist/metric-definition-95HFoW1V.d.ts +70 -0
  803. package/dist/metric-definition-BjxVn4R5.js +117 -0
  804. package/dist/mfa-DtflCXEt.d.ts +30 -0
  805. package/dist/model-lUafmeBQ.d.ts +311 -0
  806. package/dist/model-messages-CTu-6kBu.js +206 -0
  807. package/dist/money-95Rff2vT.js +185 -0
  808. package/dist/money-DFpWzQvk.d.ts +76 -0
  809. package/dist/money-codec-DCGgzO26.js +41 -0
  810. package/dist/nestjs/index.d.ts +2 -2
  811. package/dist/nestjs/index.js +2 -2
  812. package/dist/next/index.d.ts +26 -16
  813. package/dist/next/index.js +17 -16
  814. package/dist/node/index.d.ts +2 -2
  815. package/dist/node/index.js +3 -3
  816. package/dist/nuxt/index.d.ts +2 -2
  817. package/dist/nuxt/index.js +3 -2
  818. package/dist/onboarding-viTTNWUp.js +68 -0
  819. package/dist/openapi/index.d.ts +3 -3
  820. package/dist/openapi/index.js +2 -2
  821. package/dist/operations-BtuQRwTJ.d.ts +6 -0
  822. package/dist/operations-CsIfMED7.js +29 -0
  823. package/dist/optional-peer-Dx8TaYXw.js +29 -0
  824. package/dist/options-B0FcEKtH.js +5 -0
  825. package/dist/options-B5BU2Yg7.js +11 -0
  826. package/dist/options-B5woz53h.js +5 -0
  827. package/dist/options-B7EJaOX-.js +5 -0
  828. package/dist/options-B9q8CROT.js +9 -0
  829. package/dist/options-BA6jV6py.js +10 -0
  830. package/dist/options-BAW2ZlZ8.js +8 -0
  831. package/dist/options-BMjcVuaI.js +82 -0
  832. package/dist/options-BOOEzor9.js +5 -0
  833. package/dist/options-BZsoPJGX.js +5 -0
  834. package/dist/options-BesyRBnM.js +16 -0
  835. package/dist/options-Bf96aVk5.js +10 -0
  836. package/dist/options-BlOPivzq.js +8 -0
  837. package/dist/options-Blg8lAkz.js +9 -0
  838. package/dist/options-Bn4cu0gt.js +5 -0
  839. package/dist/options-BnoJOwXK.js +8 -0
  840. package/dist/options-Bp7sgKvl.js +30 -0
  841. package/dist/options-BxcFLL1G.js +8 -0
  842. package/dist/options-C1HR4UZd.js +13 -0
  843. package/dist/options-C239TLRF.js +14 -0
  844. package/dist/options-C2HesT4A.js +9 -0
  845. package/dist/options-C3EzJATk.js +10 -0
  846. package/dist/options-C3hZ1fbC.js +10 -0
  847. package/dist/options-C6rEL6U5.js +8 -0
  848. package/dist/options-CAzVf-1T.js +8 -0
  849. package/dist/options-CGKSUFUq.js +5 -0
  850. package/dist/options-CGjGE8xS.js +12 -0
  851. package/dist/options-CK5WiFwG.js +11 -0
  852. package/dist/options-CN7PHkhU.js +8 -0
  853. package/dist/options-CTZNpb2n.js +5 -0
  854. package/dist/options-CUqQ9pm7.js +9 -0
  855. package/dist/options-CVSWgZpY.js +8 -0
  856. package/dist/options-CXFz0xxS.js +8 -0
  857. package/dist/options-CZk_fbbg.js +9 -0
  858. package/dist/options-C_pb1Nd3.js +5 -0
  859. package/dist/options-CbSOj53r.d.ts +52 -0
  860. package/dist/options-ChD15QxJ.js +9 -0
  861. package/dist/options-CkScQRJR.js +12 -0
  862. package/dist/options-CljDnQt2.js +25 -0
  863. package/dist/options-CmraJhd9.js +5 -0
  864. package/dist/options-CoX6VKGb.js +8 -0
  865. package/dist/options-CrC78Tee.js +5 -0
  866. package/dist/options-Ctac2R0Q.js +11 -0
  867. package/dist/options-CyD7OObW.js +17 -0
  868. package/dist/options-D1blDihM.js +9 -0
  869. package/dist/options-D2Gd6VfS.js +8 -0
  870. package/dist/options-D2d1fFuw.js +11 -0
  871. package/dist/options-D40CQzji.js +8 -0
  872. package/dist/options-D7f2VKzj.js +25 -0
  873. package/dist/options-DARkpk2P.js +8 -0
  874. package/dist/options-DCduTMST.js +17 -0
  875. package/dist/options-DDzggjN7.js +8 -0
  876. package/dist/options-DMR68VAC.js +5 -0
  877. package/dist/options-DNKyN5uq.js +20 -0
  878. package/dist/options-DTDxFT6J.js +13 -0
  879. package/dist/options-DWpz3V3F.js +8 -0
  880. package/dist/options-DXqcJyOP.js +10 -0
  881. package/dist/options-DYBQ973I.js +8 -0
  882. package/dist/options-Dh4wu9Ks.js +15 -0
  883. package/dist/options-Dmg1Da9P.js +25 -0
  884. package/dist/options-DsUgamiy.js +5 -0
  885. package/dist/options-EsUh744F.js +13 -0
  886. package/dist/options-Fz6xqu-b.js +5 -0
  887. package/dist/options-HSv8R6h5.js +13 -0
  888. package/dist/options-I8zVkB_y.js +8 -0
  889. package/dist/options-MHhjOoWz.js +5 -0
  890. package/dist/options-MLxMkd5B.js +11 -0
  891. package/dist/options-OJ5zmgr8.js +10 -0
  892. package/dist/options-QKP9FFcK.js +8 -0
  893. package/dist/options-SViK_2x2.js +12 -0
  894. package/dist/options-XgfTctbI.js +5 -0
  895. package/dist/options-_9arpsX9.js +11 -0
  896. package/dist/options-eBPsk4WI.js +11 -0
  897. package/dist/options-kLKILdIu.js +10 -0
  898. package/dist/options-n22NK3PL.js +8 -0
  899. package/dist/options-oeAq4Ho5.js +12 -0
  900. package/dist/options-qU8vgxhO.js +18 -0
  901. package/dist/options-vXMBEWSH.js +5 -0
  902. package/dist/options-wFnK3qWl.js +9 -0
  903. package/dist/options-xVAy3UsV.js +9 -0
  904. package/dist/organizations-Bxrm32IG.js +398 -0
  905. package/dist/orpc/index.d.ts +26 -10
  906. package/dist/orpc/index.js +54 -33
  907. package/dist/otel/index.d.ts +3 -3
  908. package/dist/otel/index.js +42 -7
  909. package/dist/outbox-BCGHl9X6.d.ts +181 -0
  910. package/dist/overlay/index.d.ts +1 -1
  911. package/dist/overlay/index.js +3 -3
  912. package/dist/payments-h45bswA-.js +16 -0
  913. package/dist/pg-error-BV_X8Isq.js +26 -0
  914. package/dist/plugin-D5OIaP93.d.ts +190 -0
  915. package/dist/plugins/actor/index.d.ts +1 -1
  916. package/dist/plugins/actor/index.js +1 -1
  917. package/dist/plugins/rules/index.d.ts +2 -2
  918. package/dist/plugins/rules/index.js +2 -2
  919. package/dist/plugins/soft-delete/index.d.ts +3 -3
  920. package/dist/plugins/soft-delete/index.js +4 -4
  921. package/dist/plugins/tenant/index.d.ts +4 -3
  922. package/dist/plugins/tenant/index.js +3 -3
  923. package/dist/plugins/timestamps/index.d.ts +1 -1
  924. package/dist/plugins/timestamps/index.js +1 -1
  925. package/dist/plugins/validation/index.d.ts +2 -2
  926. package/dist/plugins/validation/index.js +3 -3
  927. package/dist/pool-BBi4mot3.d.ts +117 -0
  928. package/dist/pool-errors-C94tPR_G.js +27 -0
  929. package/dist/ports-B53rB7zg.d.ts +285 -0
  930. package/dist/ports-Bcdppx0G.js +133 -0
  931. package/dist/ports-Dcnuo3HT.d.ts +86 -0
  932. package/dist/postgres/index.d.ts +28 -6
  933. package/dist/postgres/index.js +62 -25
  934. package/dist/postgrest-D6fEMsp4.d.ts +53 -0
  935. package/dist/powersync/index.d.ts +4 -4
  936. package/dist/powersync/index.js +4 -4
  937. package/dist/powersync/react/index.d.ts +8 -3
  938. package/dist/powersync/react/index.js +11 -3
  939. package/dist/preset/index.d.ts +4 -0
  940. package/dist/preset/index.js +4 -0
  941. package/dist/preset-BBrL6_Ln.js +648 -0
  942. package/dist/problem-CEjyhV5T.d.ts +76 -0
  943. package/dist/problem-pIiL3WbE.js +159 -0
  944. package/dist/provider-CQ1SrhLa.d.ts +113 -0
  945. package/dist/provider-DKh2xFZb.js +57 -0
  946. package/dist/push-token-CDMgWT13.d.ts +24 -0
  947. package/dist/push-token-D6REHMMw.js +16 -0
  948. package/dist/query/index.d.ts +2 -2
  949. package/dist/range-DwpWe8e7.js +7 -0
  950. package/dist/range-p5V4rBhZ.d.ts +8 -0
  951. package/dist/rank-keys-DcPMt_Jk.js +60 -0
  952. package/dist/rank-result-Dngpt2n5.d.ts +14 -0
  953. package/dist/rank-result-oUF1DYBm.js +18 -0
  954. package/dist/rate-limit-BtbddDnE.js +49 -0
  955. package/dist/rate-limit-ByfWNX9N.js +325 -0
  956. package/dist/rate-limit-C88MEAOm.d.ts +41 -0
  957. package/dist/ratelimit-headers-Bsxx0Tj2.js +62 -0
  958. package/dist/react/index.d.ts +9 -9
  959. package/dist/react/index.js +3 -4
  960. package/dist/react/native/index.d.ts +1 -1
  961. package/dist/react/native/index.js +2 -2
  962. package/dist/react/server.d.ts +10 -10
  963. package/dist/react/server.js +3 -3
  964. package/dist/react/session.d.ts +2 -2
  965. package/dist/react-BcKACxsj.js +410 -0
  966. package/dist/react-controller-Xn-IU44p.js +40 -0
  967. package/dist/react-env-Cc7Vf6eb.js +13 -0
  968. package/dist/react-router/index.d.ts +6 -6
  969. package/dist/react-router/index.js +7 -7
  970. package/dist/read-set-PWiJfv6S.js +314 -0
  971. package/dist/realtime/index.d.ts +8 -4
  972. package/dist/realtime/index.js +5 -327
  973. package/dist/realtime-status-D2dw1hOE.js +12 -0
  974. package/dist/realtime-status-DcsO00Gw.d.ts +8 -0
  975. package/dist/refusal-Bdr1k47u.d.ts +18 -0
  976. package/dist/refusal-Ch-u9dVd.js +61 -0
  977. package/dist/replicas-BvIL4_jL.js +94 -0
  978. package/dist/resolve-7atr-wWr.d.ts +266 -0
  979. package/dist/resolve-CAR9oaKW.js +869 -0
  980. package/dist/resource-CHGOmg1O.js +463 -0
  981. package/dist/resource-DO4gbVi5.js +91 -0
  982. package/dist/resource-DxcgtHq6.d.ts +106 -0
  983. package/dist/resource-execute-C45ICrN9.d.ts +12 -0
  984. package/dist/resource-types-CC59gMHE.d.ts +141 -0
  985. package/dist/resources-B71O7EVQ.d.ts +7 -0
  986. package/dist/resources-B7htXQeg.js +64 -0
  987. package/dist/respond-Cdg5ibH5.d.ts +93 -0
  988. package/dist/respond-Dpx48ATq.js +95 -0
  989. package/dist/result-COkvI9t5.js +134 -0
  990. package/dist/result-Cj3yWhjH.d.ts +298 -0
  991. package/dist/rrule-zBh3CA1r.js +290 -0
  992. package/dist/rules-4of_Fq-6.js +287 -0
  993. package/dist/run-watch-CQRdpy-f.js +53 -0
  994. package/dist/runtime-BOXURhEW.js +45 -0
  995. package/dist/sales-lines-C6gafAwg.d.ts +28 -0
  996. package/dist/sales-lines-CymdiwYd.js +41 -0
  997. package/dist/sales-shared-DAAGwQwN.d.ts +8 -0
  998. package/dist/sales-shared-DjCuN8xG.js +22 -0
  999. package/dist/scope-DgWjuXUw.js +90 -0
  1000. package/dist/search-BtoWY6n_.js +9 -0
  1001. package/dist/search-LbjCylX5.js +106 -0
  1002. package/dist/server/index.d.ts +157 -51
  1003. package/dist/server/index.js +295 -20
  1004. package/dist/server-types-fXwJoFjt.d.ts +737 -0
  1005. package/dist/session-Djo5t4KQ.d.ts +95 -0
  1006. package/dist/settings-DxXfDUmh.js +90 -0
  1007. package/dist/shared-9B02lczf.js +14 -0
  1008. package/dist/shared-BmMcMoW9.js +89 -0
  1009. package/dist/shared-as0EG51f.js +60 -0
  1010. package/dist/sign-in-D0xN6E_l.js +360 -0
  1011. package/dist/signatures-BMdJ7neI.d.ts +43 -0
  1012. package/dist/signatures-C9CGYZS1.js +145 -0
  1013. package/dist/signers-BjSgNAXP.d.ts +385 -0
  1014. package/dist/signing-keys-Ccr86Y2C.d.ts +90 -0
  1015. package/dist/solid/index.d.ts +8 -8
  1016. package/dist/solid/index.js +3 -8
  1017. package/dist/solid-controller-CZrt1Tg6.d.ts +11 -0
  1018. package/dist/solid-controller-DLsmrczT.js +33 -0
  1019. package/dist/solid-start/index.d.ts +8 -12
  1020. package/dist/solid-start/index.js +8 -7
  1021. package/dist/spec/index.d.ts +25 -5
  1022. package/dist/spec/index.js +37 -4
  1023. package/dist/spec-pins-Dqpml2dZ.d.ts +84 -0
  1024. package/dist/spec-pins-S4PymRxp.js +60 -0
  1025. package/dist/sql/index.d.ts +5 -548
  1026. package/dist/sql/index.js +5 -38398
  1027. package/dist/sql-BQshMgmB.js +422 -0
  1028. package/dist/sql-CgTZOQZ7.js +87439 -0
  1029. package/dist/sso-B5ZoEsXE.d.ts +131 -0
  1030. package/dist/sso-CwAnve68.js +217 -0
  1031. package/dist/ssr/index.d.ts +5 -6
  1032. package/dist/ssr/index.js +4 -4
  1033. package/dist/standard-C3_AAF3g.d.ts +7 -0
  1034. package/dist/standard-DZmwmIhV.js +25 -0
  1035. package/dist/stats-CUhqw6Ev.js +1128 -0
  1036. package/dist/storage/index.d.ts +3 -3
  1037. package/dist/storage/index.js +14 -10
  1038. package/dist/storage-api-B4Ib2Zpo.d.ts +582 -0
  1039. package/dist/store-B5qYKsTh.d.ts +68 -0
  1040. package/dist/streams/index.d.ts +4 -4
  1041. package/dist/streams/index.js +4 -4
  1042. package/dist/streams/redis/index.d.ts +1 -1
  1043. package/dist/streams/redis/index.js +4 -4
  1044. package/dist/stripe/index.d.ts +16 -0
  1045. package/dist/stripe/index.js +14 -0
  1046. package/dist/stripe-NVcNOhHy.d.ts +140 -0
  1047. package/dist/stripe-XZrSmDTf.js +32 -0
  1048. package/dist/subject-readers-81xiWh4M.d.ts +21 -0
  1049. package/dist/subject-readers-DDyPTIOr.js +46 -0
  1050. package/dist/subjects-DP-fvFkk.d.ts +77 -0
  1051. package/dist/subscribers-Cq--DL1E.js +34 -0
  1052. package/dist/supabase-mcp-DomZ-amK.js +28 -0
  1053. package/dist/support-BsqhV6jP.js +522 -0
  1054. package/dist/support-view-CznLe4jq.d.ts +17 -0
  1055. package/dist/svelte/index.d.ts +7 -7
  1056. package/dist/svelte/index.js +2 -2
  1057. package/dist/svelte-controller-CDAujo-_.js +50 -0
  1058. package/dist/svelte-controller-DDbju9CW.d.ts +10 -0
  1059. package/dist/sveltekit/index.d.ts +11 -13
  1060. package/dist/sveltekit/index.js +9 -9
  1061. package/dist/table-schema-pQlER3jj.js +283 -0
  1062. package/dist/tags-7NHyD1P8.d.ts +30 -0
  1063. package/dist/tags-DGldvcA4.js +84 -0
  1064. package/dist/tanstack-db/index.d.ts +2 -2
  1065. package/dist/tanstack-db/index.js +1 -1
  1066. package/dist/tanstack-db/supabase/index.d.ts +5 -6
  1067. package/dist/tanstack-db/supabase/index.js +180 -9
  1068. package/dist/tanstack-start/index.d.ts +7 -7
  1069. package/dist/tanstack-start/index.js +6 -6
  1070. package/dist/tax-DDZUB_oc.d.ts +273 -0
  1071. package/dist/tax-DZDpMMRw.js +140 -0
  1072. package/dist/tee-CdRV1tcj.js +101 -0
  1073. package/dist/template-DdgYjIZ5.js +123 -0
  1074. package/dist/temporal-CB5Fpo5d.js +79 -0
  1075. package/dist/temporal-required-DqRzr7i0.js +20 -0
  1076. package/dist/tenant-B-fiItlJ.js +27 -0
  1077. package/dist/tenant-DW_GmsW4.d.ts +17 -0
  1078. package/dist/tenant-naming-Bsj3Uvap.js +27 -0
  1079. package/dist/testing/index.d.ts +235 -32
  1080. package/dist/testing/index.js +1133 -76
  1081. package/dist/timing-BMCWgpdZ.js +92 -0
  1082. package/dist/topic-DB-1YTMj.js +561 -0
  1083. package/dist/topic-Dgs-eSYQ.d.ts +373 -0
  1084. package/dist/types-BO8lVTun.d.ts +363 -0
  1085. package/dist/types-C_GN-4ed.d.ts +162 -0
  1086. package/dist/types-DGHfTW8_.d.ts +9 -0
  1087. package/dist/types-DM8q3IOr.d.ts +240 -0
  1088. package/dist/types-DOaUIJxW.d.ts +205 -0
  1089. package/dist/types-DZj8CZMH.d.ts +649 -0
  1090. package/dist/types-P1S1cj6N.d.ts +564 -0
  1091. package/dist/types-R6syp1el.js +29 -0
  1092. package/dist/undo-0qM13zul.js +44 -0
  1093. package/dist/undo-D42sPjCf.d.ts +43 -0
  1094. package/dist/usage-BrJGPvCq.js +250 -0
  1095. package/dist/usage-CnQHSM_r.d.ts +202 -0
  1096. package/dist/vault-EnOQJWjn.d.ts +50 -0
  1097. package/dist/vercel-connect/index.d.ts +1 -1
  1098. package/dist/vercel-connect/index.js +4 -4
  1099. package/dist/verify-3NLjUIER.d.ts +142 -0
  1100. package/dist/verify-C9D_jjsQ.js +126 -0
  1101. package/dist/version-Bxj_xcUY.js +4 -0
  1102. package/dist/view-DZ63nqwt.js +105 -0
  1103. package/dist/view-SuASaomx.d.ts +90 -0
  1104. package/dist/vue/index.d.ts +8 -8
  1105. package/dist/vue/index.js +3 -16
  1106. package/dist/vue-controller-C9tFzqAc.js +32 -0
  1107. package/dist/vue-controller-D_ohttBZ.d.ts +11 -0
  1108. package/dist/watch-Blj1mQ9n.js +139 -0
  1109. package/dist/watch-D1wwzZ04.d.ts +84 -0
  1110. package/dist/watch-topic-D-rpUg5n.d.ts +28 -0
  1111. package/dist/watch-topic-miuymrli.js +57 -0
  1112. package/dist/wire-DEY0ajW9.js +45 -0
  1113. package/dist/workflow-builder-C5DBN7yq.js +697 -0
  1114. package/dist/workflow-sdk/builder/index.d.ts +46 -15
  1115. package/dist/workflow-sdk/builder/index.js +69 -21
  1116. package/dist/workflow-sdk/index.d.ts +75 -2
  1117. package/dist/workflow-sdk/index.js +83 -3
  1118. package/dist/workflow-sdk/world/index.d.ts +29 -4
  1119. package/dist/workflow-sdk/world/index.js +137 -59
  1120. package/dist/workflow-sdk-Di5pmCAu.d.ts +161 -0
  1121. package/dist/workflow-sdk-vjDWlnfX.js +243 -0
  1122. package/dist/workflow-sdk-world-DPMdBfzn.js +2103 -0
  1123. package/dist/workflows-DJXoxDZH.d.ts +243 -0
  1124. package/dist/workflows-DzdX28KN.js +282 -0
  1125. package/dist/yjs/index.d.ts +67 -0
  1126. package/dist/yjs/index.js +212 -0
  1127. package/package.json +800 -46
  1128. package/schemas/cli-commands-v1.json +220 -0
  1129. package/schemas/cli-result-v1.json +138 -0
  1130. package/schemas/config-v1.json +4503 -909
  1131. package/schemas/doctor-report-v1.json +30 -0
  1132. package/schemas/snapshot-v2.json +271 -0
  1133. package/skills/better-supabase/SKILL.md +12 -4
  1134. package/skills/better-supabase/references/plugins.md +2 -2
  1135. package/skills/better-supabase/references/ui-recipes.md +19324 -0
  1136. package/skills/better-supabase-api/SKILL.md +14 -14
  1137. package/skills/better-supabase-api/references/adapters.md +12 -2
  1138. package/skills/better-supabase-api/references/ai.md +4 -4
  1139. package/skills/better-supabase-api/references/expo.md +1 -1
  1140. package/skills/better-supabase-api/references/powersync.md +1 -1
  1141. package/skills/better-supabase-api/references/streams-credentials.md +8 -5
  1142. package/skills/better-supabase-auth/SKILL.md +18 -11
  1143. package/skills/better-supabase-auth/references/authorization-providers.md +5 -5
  1144. package/skills/better-supabase-testing/SKILL.md +2 -2
  1145. package/testing/act-cases.json +370 -0
  1146. package/dist/access-sql-CrSbK1q-.js +0 -181
  1147. package/dist/actor-CQTlc1Hh.d.ts +0 -43
  1148. package/dist/adapter-CN45ibbV.js +0 -1691
  1149. package/dist/agents-BY_LQXtQ.d.ts +0 -94
  1150. package/dist/ai-cache-Dfgk8nBT.js +0 -81
  1151. package/dist/ai-cache-DrUMMgp6.d.ts +0 -64
  1152. package/dist/ai-chat-CVLRWbtS.js +0 -744
  1153. package/dist/ai-chat-DXkMy74O.d.ts +0 -590
  1154. package/dist/ai-files-CioLu5du.js +0 -320
  1155. package/dist/ai-tasks-BRQ6iQLc.d.ts +0 -131
  1156. package/dist/announcements-Bouy0Ski.d.ts +0 -72
  1157. package/dist/announcements-p_BFofiR.js +0 -107
  1158. package/dist/api-Dnf2q-Ht.d.ts +0 -370
  1159. package/dist/api-DtHFC037.js +0 -676
  1160. package/dist/api-keys-C8BlF3L2.d.ts +0 -156
  1161. package/dist/assistant-DBlFDZsi.d.ts +0 -147
  1162. package/dist/attributes-5dYul0u0.js +0 -13
  1163. package/dist/authorization-BFCqamMs.d.ts +0 -172
  1164. package/dist/authorizer-ayxUDXXP.js +0 -126
  1165. package/dist/base64-D2gsioCY.js +0 -42
  1166. package/dist/before-route-CnR0C0Jr.js +0 -30
  1167. package/dist/bind-ButSzrHe.js +0 -97
  1168. package/dist/bind-CQ5mPyX1.d.ts +0 -62
  1169. package/dist/block-events-DTxU5tfr.js +0 -91
  1170. package/dist/block-fields-CroxUuF2.js +0 -49
  1171. package/dist/block-fields-D1pfrcIY.d.ts +0 -31
  1172. package/dist/block-helpers-C0Xj8War.d.ts +0 -37
  1173. package/dist/block-helpers-Cy3pB96I.js +0 -222
  1174. package/dist/block-hooks-BPNMIlLl.js +0 -114
  1175. package/dist/block-hooks-DaOVC7SC.d.ts +0 -107
  1176. package/dist/block-transport-bAKh-dGc.js +0 -85
  1177. package/dist/block-transport-inD4fFq-.d.ts +0 -70
  1178. package/dist/build-hPwk3_X5.js +0 -1296
  1179. package/dist/build-meLuYGri.js +0 -689
  1180. package/dist/channel-_2Mx1Oyu.d.ts +0 -70
  1181. package/dist/channels-CkgQ_X60.js +0 -114
  1182. package/dist/cli/add-1dc5wM5k.js +0 -69
  1183. package/dist/cli/bin.d.ts +0 -1
  1184. package/dist/cli/cache-CIfA-jBV.js +0 -483
  1185. package/dist/cli/codemod-JVlTQQG2.js +0 -491
  1186. package/dist/cli/command-DV-StG1x.js +0 -507
  1187. package/dist/cli/config-C2Pz2_4A.js +0 -52
  1188. package/dist/cli/config-DpbF8ML3.js +0 -2
  1189. package/dist/cli/config-M-WzL9O2.js +0 -1175
  1190. package/dist/cli/db-BkcfOlyB.js +0 -53
  1191. package/dist/cli/diff-D1jGdb3Y.js +0 -752
  1192. package/dist/cli/dist-DBPdlPYK.js +0 -1112
  1193. package/dist/cli/dist-DRAVaE6w.js +0 -842
  1194. package/dist/cli/dist-DreZ24Sz.js +0 -129
  1195. package/dist/cli/doctor-VcDtuusV.js +0 -3686
  1196. package/dist/cli/emit-BHHfwUoT.js +0 -1136
  1197. package/dist/cli/env-B--LMhEe.js +0 -514
  1198. package/dist/cli/env-vzBG90Um.js +0 -2
  1199. package/dist/cli/env-zHJtMIBo.js +0 -116
  1200. package/dist/cli/errors-CqTLXe2M.js +0 -72
  1201. package/dist/cli/fastest-levenshtein-CF7BCi9l.js +0 -120
  1202. package/dist/cli/files-BVupXPIC.js +0 -34
  1203. package/dist/cli/gen-DmVj3u4L.js +0 -322
  1204. package/dist/cli/glue-C1UE8gQN.js +0 -468
  1205. package/dist/cli/init-CVZ3s5kl.js +0 -258
  1206. package/dist/cli/introspect-BToGNfm-.js +0 -81
  1207. package/dist/cli/io-CFzJVJ68.js +0 -37
  1208. package/dist/cli/jsonc-BUniUpOk.js +0 -2
  1209. package/dist/cli/keys-CJhtIxJ3.js +0 -85
  1210. package/dist/cli/metadata-DSRKCaf-.js +0 -133
  1211. package/dist/cli/openapi-DWa4Ir1q.js +0 -60
  1212. package/dist/cli/project-DZRaBaY7.js +0 -75
  1213. package/dist/cli/prompts-BdeVmVpg.js +0 -2
  1214. package/dist/cli/prompts-DZJB1nTw.js +0 -1142
  1215. package/dist/cli/read-sets-DjJrm8Wj.js +0 -223
  1216. package/dist/cli/rolldown-runtime-CMFfr-1z.js +0 -26
  1217. package/dist/cli/run-DA6_lg3w.js +0 -389
  1218. package/dist/cli/run-DuN1MX-7.js +0 -705
  1219. package/dist/cli/scaffold-5DenHSxF.js +0 -292
  1220. package/dist/cli/scaffold-CwQUMFRb.js +0 -2
  1221. package/dist/cli/seed-CzBmrGON.js +0 -96
  1222. package/dist/cli/seed-DOmit9Hq.js +0 -2
  1223. package/dist/cli/skills-CnO8QFS7.js +0 -139
  1224. package/dist/cli/snapshot-Bstk6ulj.js +0 -287
  1225. package/dist/cli/source-args-BYfq6imV.js +0 -31
  1226. package/dist/cli/spec-CzosTYm3.js +0 -7438
  1227. package/dist/cli/spec-T_0Bcyw7.js +0 -2
  1228. package/dist/cli/sql-BKOOQAX3.js +0 -517
  1229. package/dist/cli/sql-DJrNDxQm.js +0 -3
  1230. package/dist/cli/sql-layout-D6cphHT3.js +0 -69
  1231. package/dist/cli/style-CB3vxgh0.js +0 -29
  1232. package/dist/cli/supabase-toml-B-bIukQF.js +0 -1095
  1233. package/dist/cli/typegen-Demi5-VQ.js +0 -486
  1234. package/dist/cli/typegen-version-DeFbtzYI.js +0 -8
  1235. package/dist/cli/validate-Ca13ktgz.js +0 -7522
  1236. package/dist/cli/version-B4k0aUxS.js +0 -4
  1237. package/dist/client-wxeTQFtB.js +0 -310
  1238. package/dist/cloud-event-Dune0KI7.d.ts +0 -64
  1239. package/dist/compiler-V1qvcST1.d.ts +0 -14
  1240. package/dist/compose-BHej1acw.js +0 -53
  1241. package/dist/composite-CWAJTRBF.d.ts +0 -146
  1242. package/dist/composite-zTe0TCqj.js +0 -130
  1243. package/dist/config-DlKvtt95.js +0 -540
  1244. package/dist/connector-CySQEFcW.d.ts +0 -107
  1245. package/dist/connectors--PGhmiu0.d.ts +0 -120
  1246. package/dist/context-DsV2SueA.d.ts +0 -246
  1247. package/dist/context-nPDvQ-Zl.js +0 -41
  1248. package/dist/cron-D25Ukpxy.js +0 -145
  1249. package/dist/cron-route-D2AN9SA1.js +0 -24
  1250. package/dist/csv-BZnHA1Py.js +0 -25
  1251. package/dist/define-CFQcvM20.js +0 -1949
  1252. package/dist/define-DmcfoNXB.d.ts +0 -1005
  1253. package/dist/embeddings-4ZvFzjsU.js +0 -127
  1254. package/dist/embeddings-B4vhS-dY.d.ts +0 -68
  1255. package/dist/ended-CcvcRqEd.d.ts +0 -69
  1256. package/dist/entitlements-BYFf0Cdh.js +0 -24
  1257. package/dist/entitlements-Ds8qoYZ-.d.ts +0 -51
  1258. package/dist/envelope-DqnYGRw7.js +0 -47
  1259. package/dist/errors-2M6CKMP4.js +0 -271
  1260. package/dist/errors-rZ7VIqp6.js +0 -44
  1261. package/dist/escape-like-DDWoHzh_.d.ts +0 -15
  1262. package/dist/eve-CoAIcCkq.d.ts +0 -151
  1263. package/dist/events-D1BOCll8.d.ts +0 -551
  1264. package/dist/executor-B-fD7DLt.js +0 -735
  1265. package/dist/executor-B_Hfobee.js +0 -162
  1266. package/dist/executor-C-R4pucm.js +0 -83
  1267. package/dist/executor-CpxLPCiz.d.ts +0 -36
  1268. package/dist/executor-DfEtf0cq.d.ts +0 -164
  1269. package/dist/executor-Drzu3dBK.d.ts +0 -261
  1270. package/dist/executor-ngjKL_Pe.d.ts +0 -30
  1271. package/dist/field-errors-DIe9XYWL.d.ts +0 -109
  1272. package/dist/format-DTXdu8ya.d.ts +0 -70
  1273. package/dist/framework-148t1m3C.d.ts +0 -25
  1274. package/dist/framework-3ey3QmrO.js +0 -51
  1275. package/dist/function-contract-BcZenXMO.d.ts +0 -8
  1276. package/dist/gateway-S9vicgeo.d.ts +0 -130
  1277. package/dist/graph-BGyLLFLX.js +0 -265
  1278. package/dist/hooks-Bhza9Hnr.js +0 -277
  1279. package/dist/http-sbmBe5d2.js +0 -25
  1280. package/dist/impersonation-DcqaTBHx.js +0 -148
  1281. package/dist/inbox-Cd1KCEBL.d.ts +0 -384
  1282. package/dist/index-B72Rvv_j.d.ts +0 -89
  1283. package/dist/index-BCHR4Ucl.d.ts +0 -300
  1284. package/dist/index-BUK7jUzR.d.ts +0 -82
  1285. package/dist/index-Ba1SI-uO.d.ts +0 -1331
  1286. package/dist/index-BfxOaOYs.d.ts +0 -245
  1287. package/dist/index-CicIyqOe.d.ts +0 -55
  1288. package/dist/index-D69h4QqD.d.ts +0 -74
  1289. package/dist/index-DG2SUXDQ.d.ts +0 -58
  1290. package/dist/index-DoNVLHOU.d.ts +0 -206
  1291. package/dist/index-R274XFlg.d.ts +0 -138
  1292. package/dist/index-_4R4b01v.d.ts +0 -257
  1293. package/dist/json-schema-CT4tvrkA.js +0 -548
  1294. package/dist/kit-BhHr9T9v.js +0 -104
  1295. package/dist/kit-W99LCPBS.d.ts +0 -66
  1296. package/dist/knowledge-CAReFpRA.d.ts +0 -176
  1297. package/dist/knowledge-DnHtb64A.js +0 -256
  1298. package/dist/list-query-D3JQeEL7.d.ts +0 -164
  1299. package/dist/list-query-gl808ac1.js +0 -459
  1300. package/dist/live-CTAZQkwl.js +0 -257
  1301. package/dist/messages-CJoHHCWT.js +0 -514
  1302. package/dist/mfa-SZc9YYyb.d.ts +0 -54
  1303. package/dist/model-OgBxvk3N.d.ts +0 -300
  1304. package/dist/model-messages-Cxw_Up4f.js +0 -206
  1305. package/dist/modules-DksjZyMW.js +0 -77
  1306. package/dist/modules-DpPwzC7E.d.ts +0 -192
  1307. package/dist/onboarding-LZvlK1P4.d.ts +0 -62
  1308. package/dist/optional-peer-D1pi-skw.js +0 -24
  1309. package/dist/outbox-DZfAvfzC.d.ts +0 -161
  1310. package/dist/plugin-CPK2HsbY.d.ts +0 -190
  1311. package/dist/pool-gkhbGp2E.d.ts +0 -89
  1312. package/dist/postgrest-BUqLag2Q.d.ts +0 -53
  1313. package/dist/problem-CJvFeGu7.js +0 -126
  1314. package/dist/problem-TvGdxO1t.d.ts +0 -73
  1315. package/dist/provider-DxRTex4x.js +0 -57
  1316. package/dist/provider-ib9wzUDz.d.ts +0 -113
  1317. package/dist/rate-limit-Bw7HgmFj.js +0 -260
  1318. package/dist/react-Bmpo59D7.js +0 -409
  1319. package/dist/react-topic-seAWjL3_.js +0 -38
  1320. package/dist/read-set-DAeWhqPf.js +0 -314
  1321. package/dist/refusal-CFI8-5nf.d.ts +0 -18
  1322. package/dist/refusal-K78A1Vmq.js +0 -61
  1323. package/dist/replicas-CwrYp5Zj.js +0 -94
  1324. package/dist/resolve-Bvgf3ut_.js +0 -786
  1325. package/dist/resolve-MxXVWyhd.d.ts +0 -173
  1326. package/dist/resource--vTrBe6I.d.ts +0 -103
  1327. package/dist/resource-BqNqlYg9.js +0 -91
  1328. package/dist/resource-DA811u_4.js +0 -463
  1329. package/dist/resource-execute-rbKvuCsY.d.ts +0 -12
  1330. package/dist/resource-types-CqB6GWGT.d.ts +0 -141
  1331. package/dist/resources-BVYPnuLo.js +0 -56
  1332. package/dist/resources-DZSk8tXJ.d.ts +0 -7
  1333. package/dist/respond-Cw-zanCm.d.ts +0 -93
  1334. package/dist/respond-volM3ByS.js +0 -91
  1335. package/dist/result-BchM1XZn.d.ts +0 -288
  1336. package/dist/result-DEqHCMKP.js +0 -128
  1337. package/dist/scope-CDHcS7dE.js +0 -90
  1338. package/dist/search-CUWCRYKL.js +0 -9
  1339. package/dist/server-types-CrAmZ8jv.d.ts +0 -614
  1340. package/dist/session-ChiXDZdZ.d.ts +0 -72
  1341. package/dist/shared-CBxosKK3.js +0 -75
  1342. package/dist/shared-DHjhfRdV.js +0 -60
  1343. package/dist/shared-DTneRoxi.js +0 -14
  1344. package/dist/sign-in-D_yoP0PF.js +0 -86
  1345. package/dist/signatures-BRS_p3WD.d.ts +0 -34
  1346. package/dist/signatures-DsWv_bYR.js +0 -103
  1347. package/dist/signers-cpdmZYrv.d.ts +0 -166
  1348. package/dist/spec-pins-CwzDY25w.d.ts +0 -44
  1349. package/dist/spec-pins-DsLfUH7l.js +0 -40
  1350. package/dist/sql-CwuqaQ4Y.js +0 -388
  1351. package/dist/standard-DkzZUneg.js +0 -25
  1352. package/dist/standard-lmkbOtPB.d.ts +0 -7
  1353. package/dist/stats-DhU78Ctf.js +0 -1127
  1354. package/dist/storage-api-CB7Zl1Ci.d.ts +0 -582
  1355. package/dist/store-DsIYEBnv.d.ts +0 -68
  1356. package/dist/stripe-D04h-QBT.d.ts +0 -136
  1357. package/dist/stripe-v-Y2lmop.js +0 -32
  1358. package/dist/supabase-mcp-Cpn5A4i-.js +0 -28
  1359. package/dist/support-D1pFFouF.js +0 -350
  1360. package/dist/support-view-scqMgtOo.d.ts +0 -17
  1361. package/dist/table-schema-htM_SbCW.js +0 -286
  1362. package/dist/tags-BO9LjtWG.d.ts +0 -30
  1363. package/dist/tee-Cb98Vn3b.js +0 -101
  1364. package/dist/template-lPVh-EwW.js +0 -123
  1365. package/dist/temporal-BJGitm-h.js +0 -79
  1366. package/dist/temporal-required-BtynQtM-.js +0 -20
  1367. package/dist/tenant-CM368LXb.d.ts +0 -17
  1368. package/dist/tenant-I1TEZ_BX.js +0 -27
  1369. package/dist/timing-CyTQPubY.js +0 -92
  1370. package/dist/types-6cYK9pbJ.js +0 -29
  1371. package/dist/types-Bb_4-vdW.d.ts +0 -220
  1372. package/dist/types-CD6yCDx3.d.ts +0 -359
  1373. package/dist/types-CbOUc5IH.d.ts +0 -156
  1374. package/dist/types-CoE5Zwy4.d.ts +0 -348
  1375. package/dist/types-DSJ3-m9X.d.ts +0 -192
  1376. package/dist/types-D__3EN0q.d.ts +0 -425
  1377. package/dist/usage-D0NNUFfr.d.ts +0 -177
  1378. package/dist/vault-BpmApxxW.d.ts +0 -50
  1379. package/dist/verify-C91Wyp40.d.ts +0 -142
  1380. package/dist/verify-CJbYfADA.js +0 -124
  1381. package/dist/version-Cq8gfDbd.js +0 -4
  1382. package/dist/view-D5ryq3gz.js +0 -99
  1383. package/dist/view-TpXEUcVN.d.ts +0 -87
  1384. package/dist/watch-BcvtAHOd.js +0 -122
  1385. package/dist/watch-COzRWvVN.d.ts +0 -74
  1386. package/dist/wire-Df3EWkG8.js +0 -45
  1387. package/dist/workflow-builder-CHqHpAVt.js +0 -399
  1388. package/dist/workflow-sdk-C2WJ_G2O.js +0 -173
  1389. package/dist/workflow-sdk-DTZyrvNo.d.ts +0 -98
  1390. package/dist/workflow-sdk-world-CMV1ahFW.js +0 -1399
  1391. package/dist/workflows-CcpCBfIe.d.ts +0 -185
  1392. package/dist/workflows-IvxzG2cl.js +0 -217
@@ -0,0 +1,1061 @@
1
+ import { n as CliError } from "./errors-Caiz_0so.js";
2
+ import { t as byCodePoint } from "./compare-BmIWVEui.js";
3
+ import { s as restrictSchemas, u as tsTypeOf } from "./typegen--TfvOPLh.js";
4
+ import { t as isRecord } from "./guards-CUlDNYZs.js";
5
+ import { t as toCatalog } from "./catalog-Di15TkM2.js";
6
+ import { resolveProviderSql } from "better-supabase/sql";
7
+ import { DEFAULT_CLAIMS, tenantClaimPaths } from "better-supabase/config";
8
+ import { toCamel } from "better-supabase";
9
+ //#region src/cli/gen/comment.ts
10
+ /**
11
+ * The metadata a `COMMENT ON` adds to a table or column: its description,
12
+ * without the `@example` lines the validator generators read, and
13
+ * `deprecated` when a line starts with `@deprecated`. The library's
14
+ * `parseComment` (`src/generators/shared.ts`) reads comments the same way.
15
+ */
16
+ function commentMeta(comment) {
17
+ if (!comment) return {};
18
+ const deprecated = /^\s*@deprecated\b/m.test(comment);
19
+ const description = comment.replaceAll(/^\s*@example\s+(.+?)\s*$/gm, "").replaceAll(/^\s*@deprecated\b.*$/gm, "").trim();
20
+ return {
21
+ ...description ? { description } : {},
22
+ ...deprecated ? { deprecated: true } : {}
23
+ };
24
+ }
25
+ //#endregion
26
+ //#region src/cli/gen/model-types.ts
27
+ const applyCasing = (name, casing) => casing === "camel" ? toCamel(name) : name;
28
+ const CODEC_TYPE = {
29
+ instant: "Temporal.Instant",
30
+ plainDateTime: "Temporal.PlainDateTime",
31
+ bigint: "bigint",
32
+ string: "string"
33
+ };
34
+ function codecFor(udt, config) {
35
+ const { codecs } = config;
36
+ if (codecs.timestamptz === "instant") {
37
+ if (udt === "timestamptz") return "instant";
38
+ if (udt === "timestamp") return "plainDateTime";
39
+ }
40
+ if (udt === "int8" && codecs.int8 !== "number") return codecs.int8;
41
+ if (udt === "numeric" && codecs.numeric === "string") return "string";
42
+ }
43
+ function enumType(values) {
44
+ return values.map((value) => JSON.stringify(value)).join(" | ");
45
+ }
46
+ //#endregion
47
+ //#region src/cli/gen/shared.ts
48
+ const q = (value) => JSON.stringify(value);
49
+ /** A property key: bare when it is a valid identifier, quoted otherwise. */
50
+ function prop(name) {
51
+ return /^[A-Za-z_$][\w$]*$/.test(name) ? name : q(name);
52
+ }
53
+ function nullable(type, isNullable) {
54
+ return isNullable ? `${type} | null` : type;
55
+ }
56
+ /** `T[]`, parenthesized when `T` is a union or other compound type. */
57
+ function arrayOf(type) {
58
+ return /^[\w.$]+$/.test(type) ? `${type}[]` : `(${type})[]`;
59
+ }
60
+ function indent(lines, depth) {
61
+ const pad = " ".repeat(depth);
62
+ return lines.flatMap((line) => line.split("\n")).map((line) => line === "" ? line : pad + line);
63
+ }
64
+ /** `name: {` + indented children + `};`, or an inline empty type. */
65
+ function block(name, children, empty = "{ [_ in never]: never }") {
66
+ if (children.length === 0) return [`${name}: ${empty};`];
67
+ return [
68
+ `${name}: {`,
69
+ ...indent(children, 1),
70
+ "};"
71
+ ];
72
+ }
73
+ function sameColumns(left, right) {
74
+ return left.length === right.length && left.every((column) => right.includes(column));
75
+ }
76
+ function singular(name) {
77
+ if (name.endsWith("ies")) return `${name.slice(0, -3)}y`;
78
+ if (name.endsWith("sses")) return name.slice(0, -2);
79
+ if (name.endsWith("s") && !name.endsWith("ss")) return name.slice(0, -1);
80
+ return name;
81
+ }
82
+ function pascal(name) {
83
+ return name.replaceAll(/(^|[_-]+)([a-z0-9])/g, (_, __, char) => char.toUpperCase()).replace(/^[a-z]/, (char) => char.toUpperCase());
84
+ }
85
+ /** A valid TypeScript identifier: other characters become `_`, a leading digit gets one. */
86
+ function identifier(name) {
87
+ const safe = name.replaceAll(/[^\w$]/g, "_");
88
+ return /^\d/.test(safe) ? `_${safe}` : safe;
89
+ }
90
+ /**
91
+ * The config entry for a database object, keyed `schema.name` or `name`.
92
+ * The qualified key wins.
93
+ */
94
+ function configFor(entries, schema, name) {
95
+ return entries[`${schema}.${name}`] ?? entries[name];
96
+ }
97
+ function isJsonUdt(udt) {
98
+ return udt === "json" || udt === "jsonb";
99
+ }
100
+ const CHECK_ANY = /^CHECK \(\(\(?"?(\w+)"?\)?(?:::\w+)? = ANY \(\(?ARRAY\[(.+)\]\)?(?:::\w+\[\])?\)\)\)$/;
101
+ const CHECK_OR = /^CHECK \(\((.+)\)\)$/;
102
+ const OR_TERM = /^\(?"?(\w+)"?\)?(?:::\w+)? = '((?:[^']|'')*)'(?:::\w+)?\)?$/;
103
+ const LITERAL = /'((?:[^']|'')*)'(?:::[\w ]+)?/g;
104
+ /**
105
+ * Extracts `column in ('a', 'b')` CHECK constraints, which Postgres stores as
106
+ * `CHECK ((col = ANY (ARRAY['a'::text, 'b'::text])))` or an OR chain.
107
+ */
108
+ function parseCheckUnion(definition) {
109
+ const any = CHECK_ANY.exec(definition);
110
+ if (any?.[1] && any[2]) {
111
+ const values = [...any[2].matchAll(LITERAL)].map((match) => (match[1] ?? "").replaceAll("''", "'"));
112
+ return values.length > 0 ? {
113
+ column: any[1],
114
+ values
115
+ } : void 0;
116
+ }
117
+ const chain = CHECK_OR.exec(definition);
118
+ if (chain?.[1]) {
119
+ const terms = chain[1].split(/\) OR \(|\s+OR\s+/);
120
+ let column;
121
+ const values = [];
122
+ for (const term of terms) {
123
+ const match = OR_TERM.exec(term.trim());
124
+ if (!match?.[1]) return;
125
+ if (column && column !== match[1]) return;
126
+ column = match[1];
127
+ values.push((match[2] ?? "").replaceAll("''", "'"));
128
+ }
129
+ return column && values.length > 1 ? {
130
+ column,
131
+ values
132
+ } : void 0;
133
+ }
134
+ }
135
+ /** The text inside one pair of parentheses that wraps all of `text`, if any. */
136
+ function unwrap(text) {
137
+ let current = text.trim();
138
+ while (current.startsWith("(") && current.endsWith(")")) {
139
+ let depth = 0;
140
+ let wraps = true;
141
+ for (let index = 0; index < current.length; index++) {
142
+ const char = current[index];
143
+ if (char === "(") depth++;
144
+ else if (char === ")") depth--;
145
+ if (depth === 0 && index < current.length - 1) {
146
+ wraps = false;
147
+ break;
148
+ }
149
+ }
150
+ if (!wraps) break;
151
+ current = current.slice(1, -1).trim();
152
+ }
153
+ return current;
154
+ }
155
+ /** Splits `text` on a keyword outside parentheses and quotes. */
156
+ function splitTopLevel(text, keyword) {
157
+ const parts = [];
158
+ let depth = 0;
159
+ let quote;
160
+ let start = 0;
161
+ const separator = ` ${keyword} `;
162
+ for (let index = 0; index < text.length; index++) {
163
+ const char = text[index];
164
+ if (quote) {
165
+ if (char === quote) quote = void 0;
166
+ continue;
167
+ }
168
+ if (char === "'" || char === "\"") quote = char;
169
+ else if (char === "(") depth++;
170
+ else if (char === ")") depth--;
171
+ else if (depth === 0 && text.slice(index, index + separator.length).toUpperCase() === separator) {
172
+ parts.push(text.slice(start, index));
173
+ start = index + separator.length;
174
+ index += separator.length - 1;
175
+ }
176
+ }
177
+ parts.push(text.slice(start));
178
+ return parts.map((part) => part.trim());
179
+ }
180
+ const IS_NOT_NULL = /^(?:"((?:[^"]|"")+)"|([\w$]+)) IS NOT NULL$/i;
181
+ /**
182
+ * Columns a CHECK constraint makes not null: `CHECK ((slug IS NOT NULL))` and
183
+ * the `IS NOT NULL` terms of a top-level `AND`. A term under `OR`, `NOT` or
184
+ * any other expression narrows nothing, and neither does a `NOT VALID` one.
185
+ */
186
+ function parseCheckNotNull(definition) {
187
+ const text = definition.trim();
188
+ if (/\bNOT VALID$/i.test(text)) return [];
189
+ const body = /^CHECK\s*(.*)$/is.exec(text)?.[1];
190
+ if (!body) return [];
191
+ const expression = unwrap(body);
192
+ if (splitTopLevel(expression, "OR").length > 1) return [];
193
+ return splitTopLevel(expression, "AND").flatMap((term) => {
194
+ const match = IS_NOT_NULL.exec(unwrap(term));
195
+ if (!match) return [];
196
+ return [match[1]?.replaceAll("\"\"", "\"") ?? match[2] ?? ""];
197
+ });
198
+ }
199
+ //#endregion
200
+ //#region src/cli/gen/model-functions.ts
201
+ const NOT_NULL_TAG = /@notNull(?:\(([^)]*)\))?/u;
202
+ /**
203
+ * The `@notNull` tag in a function's comment: `true` for every result, or the
204
+ * columns `@notNull(a, b)` names. `undefined` without a tag.
205
+ */
206
+ function notNullTag(comment) {
207
+ const match = comment === void 0 ? null : NOT_NULL_TAG.exec(comment);
208
+ if (!match) return;
209
+ const list = match[1];
210
+ return list === void 0 ? true : list.split(",").map((name) => name.trim()).filter((name) => name !== "");
211
+ }
212
+ /** The callable functions; warns about functions another schema shadows. */
213
+ function buildFunctions(ctx, tableModels) {
214
+ const { config, catalog, enumsByName, tsType, warnings } = ctx;
215
+ const tablesByName = new Map(tableModels.map((table) => [`${table.snapshot.schema}.${table.snapshot.name}`, table]));
216
+ 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"));
217
+ const ownerSchema = /* @__PURE__ */ new Map();
218
+ for (const schema of config.schemas) for (const fn of callable) if (fn.schema === schema && !ownerSchema.has(fn.name)) ownerSchema.set(fn.name, schema);
219
+ const shadowed = /* @__PURE__ */ new Set();
220
+ const functions = callable.filter((fn) => {
221
+ if (ownerSchema.get(fn.name) === fn.schema) return true;
222
+ shadowed.add(`${fn.schema}.${fn.name}`);
223
+ return false;
224
+ }).map((fn) => {
225
+ const typeOf = (format, typeSchema) => {
226
+ const isArray = format.startsWith("_");
227
+ const values = enumsByName.get(`${typeSchema ?? fn.schema}.${isArray ? format.slice(1) : format}`);
228
+ if (values) return isArray ? arrayOf(enumType(values)) : enumType(values);
229
+ return tsType(fn.schema, format, typeSchema);
230
+ };
231
+ const configured = configFor(config.functions, fn.schema, fn.name)?.notNull;
232
+ const notNull = configured ?? notNullTag(fn.comment);
233
+ const source = configured === void 0 ? `the @notNull tag on ${fn.schema}.${fn.name}` : `functions.${fn.name}.notNull`;
234
+ const notNullColumns = new Set(Array.isArray(notNull) ? notNull : []);
235
+ if (Array.isArray(notNull)) {
236
+ for (const name of notNullColumns) if (!fn.returnsTable?.some((column) => column.name === name)) throw new TypeError(`${source}: "${name}" is not a column the function returns`);
237
+ }
238
+ const orNull = (type, column) => notNull === true || column !== void 0 && notNullColumns.has(column) || type === "undefined" || type === "Json" || type === "unknown" ? type : `${type} | null`;
239
+ let returns;
240
+ let result;
241
+ const rowTable = fn.returnsRelation ? tablesByName.get(fn.returnsRelation) : void 0;
242
+ if (fn.returnsTable) {
243
+ const columns = fn.returnsTable.map((column) => {
244
+ const codec = codecFor(column.udt, config);
245
+ return {
246
+ db: column.name,
247
+ app: applyCasing(column.name, config.casing),
248
+ codec,
249
+ tsType: codec ? CODEC_TYPE[codec] : typeOf(column.udt, column.typeSchema)
250
+ };
251
+ });
252
+ returns = `{ ${columns.map((column) => `${JSON.stringify(column.app)}: ${orNull(column.tsType, column.db)}`).join("; ")} }[]`;
253
+ if (columns.some((column) => column.codec !== void 0 || column.app !== column.db)) result = { columns: columns.map(({ db, app, codec }) => ({
254
+ db,
255
+ ...app === db ? {} : { name: app },
256
+ ...codec ? { codec } : {}
257
+ })) };
258
+ } else if (rowTable) {
259
+ returns = `Models[${JSON.stringify(rowTable.key)}]['Row']`;
260
+ returns = fn.returnsSet ? arrayOf(returns) : orNull(returns);
261
+ if (rowTable.columns.some((column) => column.codec !== void 0 || column.app !== column.db)) result = { table: rowTable.key };
262
+ } else {
263
+ returns = orNull(typeOf(fn.returns, fn.returnsSchema));
264
+ if (fn.returnsSet) returns = arrayOf(returns);
265
+ }
266
+ return {
267
+ key: fn.name,
268
+ meta: {
269
+ name: fn.name,
270
+ schema: fn.schema,
271
+ args: fn.args.map((arg) => ({
272
+ name: arg.name,
273
+ type: arg.udt
274
+ })),
275
+ returns: fn.returns,
276
+ returnsSet: fn.returnsSet,
277
+ volatility: fn.volatility,
278
+ ...result ? { result } : {}
279
+ },
280
+ args: fn.args.map((arg) => ({
281
+ name: arg.name,
282
+ tsType: typeOf(arg.isArray ? `_${arg.udt}` : arg.udt, arg.typeSchema),
283
+ optional: arg.hasDefault
284
+ })),
285
+ returns
286
+ };
287
+ });
288
+ 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(", ")}`);
289
+ for (const id of shadowed) {
290
+ const name = id.slice(id.indexOf(".") + 1);
291
+ warnings.push(`${id}: ${ownerSchema.get(name) ?? ""}.${name} has the same name and comes first in \`schemas\`, so ${id} gets no \`$rpc\` types.`);
292
+ }
293
+ return functions;
294
+ }
295
+ //#endregion
296
+ //#region src/cli/gen/model-relations.ts
297
+ function buildRelations(ctx, tables) {
298
+ const { config, keyOf } = ctx;
299
+ const byKey = /* @__PURE__ */ new Map();
300
+ for (const entry of tables) byKey.set(`${entry.table.schema}.${entry.table.name}`, entry);
301
+ const appName = (schema, table, column) => {
302
+ return byKey.get(`${schema}.${table}`)?.byDb.get(column)?.app ?? column;
303
+ };
304
+ const relations = /* @__PURE__ */ new Map();
305
+ const push = (tableId, relation) => {
306
+ const list = relations.get(tableId);
307
+ if (list) list.push(relation);
308
+ else relations.set(tableId, [relation]);
309
+ };
310
+ for (const { table, casing, byDb: own } of tables) {
311
+ const sourceId = `${table.schema}.${table.name}`;
312
+ for (const fk of table.foreignKeys) {
313
+ const targetId = `${fk.refSchema}.${fk.refTable}`;
314
+ const target = byKey.get(targetId);
315
+ if (!target) continue;
316
+ const targetKey = keyOf.get(targetId) ?? fk.refTable;
317
+ const sourceColumns = fk.columns.map((column) => appName(table.schema, table.name, column));
318
+ const targetColumns = fk.refColumns.map((column) => appName(fk.refSchema, fk.refTable, column));
319
+ const nullable = config.relations.nullableUnderRls && target.table.rls || fk.columns.some((column) => own.get(column)?.nullable ?? true);
320
+ const onDelete = fk.onDelete === "cascade" || fk.onDelete === "set null" || fk.onDelete === "set default" ? { onDelete: fk.onDelete } : {};
321
+ const naming = namingColumns(fk.columns, fk.refColumns);
322
+ const [only] = naming;
323
+ const forwardBase = naming.length === 1 && only?.endsWith("_id") ? only.slice(0, -3) : singular(fk.refTable);
324
+ push(sourceId, {
325
+ name: applyCasing(forwardBase, casing),
326
+ base: forwardBase,
327
+ fkColumns: fk.columns,
328
+ refColumns: fk.refColumns,
329
+ meta: {
330
+ table: targetKey,
331
+ kind: "one",
332
+ nullable,
333
+ foreignKey: fk.name,
334
+ columns: sourceColumns,
335
+ references: targetColumns,
336
+ direction: "forward",
337
+ ...onDelete
338
+ }
339
+ });
340
+ const unique = fk.oneToOne || sameColumns(table.primaryKey, fk.columns) || table.uniques.some((key) => sameColumns(key.columns, fk.columns));
341
+ const reverseBase = unique ? singular(table.name) : table.name;
342
+ push(targetId, {
343
+ name: applyCasing(reverseBase, target.casing),
344
+ base: reverseBase,
345
+ fkColumns: fk.columns,
346
+ refColumns: fk.refColumns,
347
+ meta: {
348
+ table: keyOf.get(sourceId) ?? table.name,
349
+ kind: unique ? "one" : "many",
350
+ nullable: true,
351
+ foreignKey: fk.name,
352
+ columns: targetColumns,
353
+ references: sourceColumns,
354
+ direction: "reverse",
355
+ ...onDelete
356
+ }
357
+ });
358
+ }
359
+ }
360
+ return relations;
361
+ }
362
+ /**
363
+ * The columns that name a relation. A composite key that repeats a column on
364
+ * both sides, such as `(customer_id, organization_id)` referencing
365
+ * `(id, organization_id)` to keep rows in one tenant, is named by the rest.
366
+ */
367
+ function namingColumns(columns, references) {
368
+ const own = columns.filter((column, index) => column !== references[index]);
369
+ return own.length > 0 ? own : columns;
370
+ }
371
+ //#endregion
372
+ //#region src/cli/gen/model.ts
373
+ const SOFT_DELETE_UDTS = /* @__PURE__ */ new Set(["timestamptz", "timestamp"]);
374
+ /** The overloads of each function name, in model order. */
375
+ function functionGroups(functions) {
376
+ const groups = /* @__PURE__ */ new Map();
377
+ for (const fn of functions) {
378
+ const group = groups.get(fn.key);
379
+ if (group) group.push(fn);
380
+ else groups.set(fn.key, [fn]);
381
+ }
382
+ return groups;
383
+ }
384
+ function signatureOf(fn) {
385
+ const { name: _name, schema: _schema, ...signature } = fn.meta;
386
+ return {
387
+ ...signature,
388
+ args: signature.args.map((arg, index) => fn.args[index]?.optional ? {
389
+ ...arg,
390
+ optional: true
391
+ } : arg)
392
+ };
393
+ }
394
+ function tableKey(table, casing, schemas) {
395
+ const base = applyCasing(table.name, casing);
396
+ if (schemas.length === 1 || table.schema === "public") return base;
397
+ return applyCasing(`${table.schema}_${table.name}`, casing);
398
+ }
399
+ const TEXT_UDTS = /* @__PURE__ */ new Set([
400
+ "text",
401
+ "varchar",
402
+ "bpchar"
403
+ ]);
404
+ /** `config.storagePaths` resolved to bucket ids, with a check that every key is used. */
405
+ function numberedColumnsOf(config) {
406
+ const columns = /* @__PURE__ */ new Map();
407
+ const block = config.blocks["number-sequences"];
408
+ if (!config.blockNames.includes("number-sequences") || block?.mode === "custom" || !isRecord(block?.options?.["entities"])) return columns;
409
+ for (const entry of Object.values(block.options["entities"])) {
410
+ if (!isRecord(entry) || typeof entry["table"] !== "string" || typeof entry["column"] !== "string") continue;
411
+ const key = entry["table"].includes(".") ? entry["table"] : `public.${entry["table"]}`;
412
+ const set = columns.get(key) ?? /* @__PURE__ */ new Set();
413
+ set.add(entry["column"]);
414
+ if (typeof entry["sequenceColumn"] === "string") set.add(entry["sequenceColumn"]);
415
+ columns.set(key, set);
416
+ }
417
+ return columns;
418
+ }
419
+ function storagePathsOf(config) {
420
+ const bucketId = (name) => {
421
+ const bucket = config.buckets[name];
422
+ if (!bucket) return name;
423
+ return bucket.id ?? name.replaceAll(/[A-Z]/g, (char) => `-${char.toLowerCase()}`);
424
+ };
425
+ const unused = new Set(Object.keys(config.storagePaths));
426
+ return {
427
+ lookup(schema, table, column, udt) {
428
+ const key = [`${schema}.${table}.${column}`, `${table}.${column}`].find((candidate) => candidate in config.storagePaths);
429
+ if (key === void 0) return;
430
+ unused.delete(key);
431
+ if (!TEXT_UDTS.has(udt)) throw new TypeError(`storagePaths["${key}"]: ${schema}.${table}.${column} is ${udt}, not a text column`);
432
+ return bucketId(config.storagePaths[key]);
433
+ },
434
+ assertUsed() {
435
+ const [first] = unused;
436
+ if (first !== void 0) throw new TypeError(`storagePaths["${first}"]: no such column. Use \`table.column\` or \`schema.table.column\` (database names) in \`schemas\`.`);
437
+ }
438
+ };
439
+ }
440
+ function prepareCatalog(snapshot, config) {
441
+ const catalog = toCatalog(snapshot);
442
+ const introspection = restrictSchemas(snapshot.generator, config.schemas);
443
+ const tsType = (schema, format, typeSchema) => tsTypeOf(introspection, schema, format, typeSchema).replaceAll(/\(([\w.$]+)\)\[\]/g, "$1[]");
444
+ const enumsByName = /* @__PURE__ */ new Map();
445
+ for (const entry of catalog.enums) enumsByName.set(`${entry.schema}.${entry.name}`, entry.values);
446
+ const jsonImports = /* @__PURE__ */ new Map();
447
+ const unusedJson = new Set(Object.keys(config.json));
448
+ const jsonTypeFor = (schema, table, column) => {
449
+ const key = [`${schema}.${table}.${column}`, `${table}.${column}`].find((candidate) => candidate in config.json);
450
+ const override = key === void 0 ? void 0 : config.json[key];
451
+ if (key === void 0 || !override) return;
452
+ unusedJson.delete(key);
453
+ if ("type" in override) return override.type;
454
+ const [from, name] = override.import.split("#");
455
+ if (!from || !name) throw new TypeError(`json["${key}"].import must look like "./path.ts#TypeName"`);
456
+ jsonImports.set(name, {
457
+ name,
458
+ from
459
+ });
460
+ return name;
461
+ };
462
+ const optionsOf = (table) => configFor(config.tables, table.schema, table.name);
463
+ const included = catalog.tables.filter((table) => config.schemas.includes(table.schema) && !optionsOf(table)?.exclude);
464
+ const keyOf = /* @__PURE__ */ new Map();
465
+ const ownerOf = /* @__PURE__ */ new Map();
466
+ for (const table of included) {
467
+ const id = `${table.schema}.${table.name}`;
468
+ const key = tableKey(table, config.casing, config.schemas);
469
+ const other = ownerOf.get(key);
470
+ 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.`);
471
+ ownerOf.set(key, id);
472
+ keyOf.set(id, key);
473
+ }
474
+ return {
475
+ config,
476
+ catalog,
477
+ introspection,
478
+ enumsByName,
479
+ jsonImports,
480
+ unusedJson,
481
+ included,
482
+ keyOf,
483
+ warnings: [],
484
+ tsType,
485
+ jsonTypeFor,
486
+ optionsOf
487
+ };
488
+ }
489
+ function draftTables(ctx) {
490
+ const { config, included, enumsByName, tsType, jsonTypeFor, optionsOf } = ctx;
491
+ const storagePaths = storagePathsOf(config);
492
+ const numbered = numberedColumnsOf(config);
493
+ const tables = included.map((table) => {
494
+ const casing = optionsOf(table)?.casing ?? config.casing;
495
+ const checks = /* @__PURE__ */ new Map();
496
+ const checkedNotNull = /* @__PURE__ */ new Set();
497
+ for (const check of table.checks) {
498
+ const union = parseCheckUnion(check.definition);
499
+ if (union) checks.set(union.column, union.values);
500
+ for (const column of parseCheckNotNull(check.definition)) checkedNotNull.add(column);
501
+ }
502
+ const beforeInsert = table.triggers.some((trigger) => trigger.timing === "before" && trigger.level === "row" && trigger.events.includes("insert"));
503
+ const insertOptional = new Set(optionsOf(table)?.insertOptional);
504
+ const numberedColumns = numbered.get(`${table.schema}.${table.name}`);
505
+ 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}`);
506
+ const columns = table.columns.map((column) => {
507
+ const values = (column.isEnum ? enumsByName.get(`${column.typeSchema}.${column.udt}`) : void 0) ?? checks.get(column.name);
508
+ const json = isJsonUdt(column.udt);
509
+ const override = json ? jsonTypeFor(table.schema, table.name, column.name) : void 0;
510
+ const storage = storagePaths.lookup(table.schema, table.name, column.name, column.udt);
511
+ const codec = override || values || storage ? void 0 : codecFor(column.udt, config);
512
+ const base = override ?? (values ? enumType(values) : storage ? `StoragePath<${JSON.stringify(storage)}>` : codec ? CODEC_TYPE[codec] : void 0);
513
+ const columnType = base === void 0 ? tsType(table.schema, column.format, column.typeSchema) : column.isArray ? arrayOf(base) : base;
514
+ const readonly = column.generated || column.identity === "always";
515
+ const narrowed = column.nullable && checkedNotNull.has(column.name);
516
+ const nullable = column.nullable && !narrowed;
517
+ const filled = column.hasDefault || insertOptional.has(column.name) || (numberedColumns?.has(column.name) ?? false) || narrowed && beforeInsert;
518
+ const insertable = !readonly && table.insertable && (table.kind !== "view" || column.updatable);
519
+ const updatable = !readonly && table.updatable && column.updatable;
520
+ return {
521
+ ...table.schema === "public" && config.appTables[table.name]?.columns?.[column.name]?.access === "server" ? { selectable: false } : {},
522
+ app: applyCasing(column.name, casing),
523
+ db: column.name,
524
+ snapshot: column,
525
+ tsType: columnType,
526
+ nullable,
527
+ filled,
528
+ optional: nullable || filled || readonly,
529
+ readonly,
530
+ values,
531
+ json,
532
+ codec,
533
+ storage,
534
+ insertable,
535
+ updatable
536
+ };
537
+ });
538
+ const byApp = /* @__PURE__ */ new Map();
539
+ for (const column of columns) {
540
+ const other = byApp.get(column.app);
541
+ 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"\`.`);
542
+ byApp.set(column.app, column.db);
543
+ }
544
+ return {
545
+ table,
546
+ casing,
547
+ columns,
548
+ byDb: new Map(columns.map((column) => [column.db, column]))
549
+ };
550
+ });
551
+ storagePaths.assertUsed();
552
+ return tables;
553
+ }
554
+ /** Config entries that match no table or column. */
555
+ function configWarnings(ctx) {
556
+ const { config, catalog, unusedJson } = ctx;
557
+ const schemasOf = /* @__PURE__ */ new Map();
558
+ for (const table of catalog.tables) {
559
+ if (!config.schemas.includes(table.schema)) continue;
560
+ schemasOf.set(table.name, [...schemasOf.get(table.name) ?? [], table.schema]);
561
+ }
562
+ const known = (key) => {
563
+ const dot = key.indexOf(".");
564
+ if (dot === -1) return schemasOf.has(key);
565
+ return schemasOf.get(key.slice(dot + 1))?.includes(key.slice(0, dot)) ?? false;
566
+ };
567
+ return [
568
+ ...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.`),
569
+ ...Object.keys(config.tables).flatMap((name) => {
570
+ const shared = (schemasOf.get(name) ?? []).filter((schema) => !(`${schema}.${name}` in config.tables)).map((schema) => `${schema}.${name}`);
571
+ 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.`] : [];
572
+ }),
573
+ ...[...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.`)
574
+ ];
575
+ }
576
+ function toTableModels(ctx, tables, relations) {
577
+ const { config, keyOf, optionsOf } = ctx;
578
+ const flagsConfig = config.plugins;
579
+ const subjectDeletedAt = /* @__PURE__ */ new Map();
580
+ for (const [type, subject] of Object.entries(config.subjects)) if (subject.deletedAt !== void 0) {
581
+ const table = subject.table.includes(".") ? subject.table : `public.${subject.table}`;
582
+ subjectDeletedAt.set(table, {
583
+ db: subject.deletedAt,
584
+ source: `subjects.${type}.deletedAt`
585
+ });
586
+ }
587
+ return tables.map(({ table, casing, columns, byDb }) => {
588
+ const id = `${table.schema}.${table.name}`;
589
+ const renames = optionsOf(table)?.relations ?? {};
590
+ const columnNames = new Set(columns.map((column) => column.app));
591
+ const list = dedupeRelations(relations.get(id) ?? [], columnNames, casing).map((relation) => ({
592
+ ...relation,
593
+ name: renames[relation.name] ?? relation.name
594
+ }));
595
+ const has = (db) => byDb.get(db)?.app;
596
+ const flags = {};
597
+ const subjectColumn = subjectDeletedAt.get(id);
598
+ const softDelete = subjectColumn !== void 0 && byDb.has(subjectColumn.db) ? subjectColumn : flagsConfig.softDelete ? {
599
+ db: flagsConfig.softDelete.column,
600
+ source: "plugins.softDelete.column"
601
+ } : void 0;
602
+ const softDeleteColumn = softDelete && byDb.get(softDelete.db);
603
+ if (softDelete && softDeleteColumn) {
604
+ const udt = softDeleteColumn.snapshot.udt;
605
+ if (softDeleteColumn.snapshot.isArray || !SOFT_DELETE_UDTS.has(udt)) throw new TypeError(`${softDelete.source}: ${id}.${softDelete.db} is ${udt}, but softDelete() writes a timestamp. Use timestamptz or timestamp.`);
606
+ flags.softDelete = softDeleteColumn.app;
607
+ }
608
+ if (flagsConfig.timestamps) {
609
+ const createdAt = has(flagsConfig.timestamps.createdAt);
610
+ const updatedAt = has(flagsConfig.timestamps.updatedAt);
611
+ if (createdAt || updatedAt) flags.timestamps = {
612
+ ...createdAt ? { createdAt } : {},
613
+ ...updatedAt ? { updatedAt } : {}
614
+ };
615
+ }
616
+ if (flagsConfig.tenant) {
617
+ const column = has(flagsConfig.tenant.column);
618
+ if (column) flags.tenant = column;
619
+ }
620
+ if (flagsConfig.actor) {
621
+ const createdBy = has(flagsConfig.actor.createdBy);
622
+ const updatedBy = has(flagsConfig.actor.updatedBy);
623
+ const impersonatedBy = has(flagsConfig.actor.impersonatedBy);
624
+ if (createdBy || updatedBy || impersonatedBy) flags.actor = {
625
+ ...createdBy ? { createdBy } : {},
626
+ ...updatedBy ? { updatedBy } : {},
627
+ ...impersonatedBy ? { impersonatedBy } : {}
628
+ };
629
+ }
630
+ const key = keyOf.get(id) ?? table.name;
631
+ const columnMeta = {};
632
+ for (const column of columns) {
633
+ const meta = {
634
+ db: column.db,
635
+ type: column.snapshot.udt,
636
+ nullable: column.nullable,
637
+ hasDefault: column.filled
638
+ };
639
+ if (column.readonly) meta.generated = true;
640
+ if (column.snapshot.identity) meta.identity = column.snapshot.identity;
641
+ if (!column.readonly && !column.insertable) meta.insertable = false;
642
+ if (!column.readonly && !column.updatable) meta.updatable = false;
643
+ if (column.selectable === false) meta.selectable = false;
644
+ if (column.snapshot.isArray) meta.array = true;
645
+ if (column.json) meta.json = true;
646
+ if (column.values) meta.enum = column.values;
647
+ if (column.codec) meta.codec = column.codec;
648
+ if (column.storage) meta.storage = column.storage;
649
+ if (config.sensitive.includes(`${table.name}.${column.db}`) || config.sensitive.includes(`${table.schema}.${table.name}.${column.db}`)) meta.sensitive = true;
650
+ Object.assign(meta, commentMeta(column.snapshot.comment));
651
+ columnMeta[column.app] = meta;
652
+ }
653
+ const app = (db) => byDb.get(db)?.app ?? db;
654
+ const uniqueKeys = {};
655
+ for (const unique of table.uniques) uniqueKeys[unique.name] = unique.columns.map(app);
656
+ const relationMeta = {};
657
+ for (const relation of list) relationMeta[relation.name] = relation.meta;
658
+ return {
659
+ key,
660
+ snapshot: table,
661
+ casing,
662
+ columns,
663
+ relations: list,
664
+ meta: {
665
+ key,
666
+ name: table.name,
667
+ schema: table.schema,
668
+ kind: table.kind,
669
+ columns: columnMeta,
670
+ primaryKey: table.primaryKey.map(app),
671
+ uniqueKeys,
672
+ relations: relationMeta,
673
+ flags,
674
+ ...commentMeta(table.comment)
675
+ }
676
+ };
677
+ });
678
+ }
679
+ function buildEnums(ctx) {
680
+ const { config, catalog } = ctx;
681
+ const includedEnums = catalog.enums.filter((entry) => config.schemas.includes(entry.schema));
682
+ const enumNameCount = /* @__PURE__ */ new Map();
683
+ for (const entry of includedEnums) enumNameCount.set(entry.name, (enumNameCount.get(entry.name) ?? 0) + 1);
684
+ return includedEnums.map((entry) => {
685
+ const key = entry.schema !== "public" && (enumNameCount.get(entry.name) ?? 0) > 1 ? `${entry.schema}_${entry.name}` : entry.name;
686
+ return {
687
+ schema: entry.schema,
688
+ name: entry.name,
689
+ key,
690
+ constant: identifier(`${toCamel(key)}Values`),
691
+ typeName: identifier(pascal(key)),
692
+ values: entry.values
693
+ };
694
+ });
695
+ }
696
+ function assembleMeta(config, tableModels, enums, functions) {
697
+ const tablesMeta = {};
698
+ for (const table of tableModels) tablesMeta[table.key] = table.meta;
699
+ const enumsMeta = {};
700
+ for (const entry of enums) enumsMeta[entry.key] = entry.values;
701
+ const functionsMeta = {};
702
+ for (const [key, group] of functionGroups(functions)) {
703
+ const [first] = group;
704
+ if (!first) continue;
705
+ functionsMeta[key] = group.length === 1 ? first.meta : {
706
+ ...first.meta,
707
+ overloads: group.map(signatureOf)
708
+ };
709
+ }
710
+ const claimOverrides = {};
711
+ for (const key of Object.keys(DEFAULT_CLAIMS)) if (config.claims[key] !== DEFAULT_CLAIMS[key]) claimOverrides[key] = config.claims[key];
712
+ const tenantClaim = config.claims.tenant === DEFAULT_CLAIMS.tenant ? void 0 : tenantClaimPaths(config.claims.tenant);
713
+ return {
714
+ version: 1,
715
+ casing: config.casing,
716
+ tables: tablesMeta,
717
+ enums: enumsMeta,
718
+ functions: functionsMeta,
719
+ ...Object.keys(config.buckets).length > 0 ? { buckets: Object.fromEntries(Object.entries(config.buckets).map(([name, bucket]) => [name, {
720
+ id: bucket.id ?? name.replaceAll(/[A-Z]/g, (char) => `-${char.toLowerCase()}`),
721
+ public: bucket.public ?? false,
722
+ path: bucket.path,
723
+ ...bucket.policy ? { policy: typeof bucket.policy === "string" ? bucket.policy : resolveProviderSql(`buckets.${name}`, bucket.policy, config.authorization?.functions) } : {},
724
+ ...bucket.policy === "tenant" && tenantClaim ? { tenant: { claim: tenantClaim } } : {},
725
+ ...bucket.fileSizeLimit ? { fileSizeLimit: bucket.fileSizeLimit } : {},
726
+ ...bucket.allowedMimeTypes ? { allowedMimeTypes: bucket.allowedMimeTypes } : {},
727
+ ...bucket.versioning ? { versioning: true } : {},
728
+ ...bucket.lifecycle ? { lifecycle: bucket.lifecycle } : {}
729
+ }])) } : {},
730
+ ...Object.keys(config.topics).length > 0 ? { topics: config.topics } : {},
731
+ ...config.realtime.tables.length > 0 ? { realtime: realtimeMeta(config.realtime.tables, config.realtime.users, tableModels) } : {},
732
+ ...Object.keys(claimOverrides).length > 0 ? { claims: claimOverrides } : {}
733
+ };
734
+ }
735
+ /** Builds the codegen model from a snapshot and config. */
736
+ function buildModel(snapshot, config) {
737
+ const ctx = prepareCatalog(snapshot, config);
738
+ const tables = draftTables(ctx);
739
+ ctx.warnings.push(...configWarnings(ctx));
740
+ const tableModels = toTableModels(ctx, tables, buildRelations(ctx, tables));
741
+ const enums = buildEnums(ctx);
742
+ const functions = buildFunctions(ctx, tableModels);
743
+ return {
744
+ tables: tableModels,
745
+ enums,
746
+ functions,
747
+ jsonImports: [...ctx.jsonImports.values()],
748
+ meta: assembleMeta(config, tableModels, enums, functions),
749
+ config,
750
+ catalog: ctx.catalog,
751
+ introspection: ctx.introspection,
752
+ warnings: ctx.warnings
753
+ };
754
+ }
755
+ function deepFreeze(value) {
756
+ if (typeof value === "object" && value !== null && !Object.isFrozen(value)) {
757
+ Object.freeze(value);
758
+ for (const entry of Object.values(value)) deepFreeze(entry);
759
+ }
760
+ return value;
761
+ }
762
+ /** The public, frozen view of the model that generators receive. */
763
+ function generatorModel(model) {
764
+ return deepFreeze({
765
+ tables: model.tables.map((table) => ({
766
+ key: table.key,
767
+ schema: table.snapshot.schema,
768
+ name: table.snapshot.name,
769
+ casing: table.casing,
770
+ columns: table.columns.map((column) => ({
771
+ app: column.app,
772
+ db: column.db,
773
+ tsType: column.tsType,
774
+ nullable: column.nullable,
775
+ optional: column.optional,
776
+ readonly: column.readonly,
777
+ values: column.values === void 0 ? void 0 : [...column.values],
778
+ json: column.json
779
+ }))
780
+ })),
781
+ enums: model.enums.map((entry) => ({
782
+ schema: entry.schema,
783
+ name: entry.name,
784
+ values: [...entry.values]
785
+ }))
786
+ });
787
+ }
788
+ /**
789
+ * Makes relation names unique per table and distinct from column names:
790
+ * two FKs to the same table become `customersByPrimaryContact`-style names.
791
+ * When those still collide, the names use every column of the key
792
+ * (`locationsByCustomerOrganization`), then the constraint name, and only
793
+ * then a trailing `_`.
794
+ */
795
+ function dedupeRelations(list, columns, casing) {
796
+ const suffixed = (relation, suffix) => applyCasing(`${relation.base}_by_${suffix}`, casing);
797
+ const keyColumns = (relation, all) => (all ? relation.fkColumns : namingColumns(relation.fkColumns, relation.refColumns)).map((column) => column.replace(/_?[iI]d$/, "")).join("_");
798
+ const repeated = (names) => {
799
+ const seen = /* @__PURE__ */ new Set();
800
+ const twice = /* @__PURE__ */ new Set();
801
+ for (const name of names) (seen.has(name) ? twice : seen).add(name);
802
+ return twice;
803
+ };
804
+ const plain = repeated(list.map((relation) => relation.name));
805
+ const names = [(relation) => suffixed(relation, keyColumns(relation, true)), (relation) => suffixed(relation, relation.meta.foreignKey)].reduce((current, step) => {
806
+ const clash = repeated(current);
807
+ return list.map((relation, index) => {
808
+ const name = current[index] ?? relation.name;
809
+ return clash.has(name) || columns.has(name) ? step(relation) : name;
810
+ });
811
+ }, list.map((relation) => plain.has(relation.name) || columns.has(relation.name) ? suffixed(relation, keyColumns(relation, false)) : relation.name));
812
+ const used = /* @__PURE__ */ new Set();
813
+ return list.map((relation, index) => {
814
+ let name = names[index] ?? relation.name;
815
+ while (used.has(name) || columns.has(name)) name = `${name}_`;
816
+ used.add(name);
817
+ return {
818
+ ...relation,
819
+ name
820
+ };
821
+ });
822
+ }
823
+ function realtimeMeta(names, users, tables) {
824
+ const out = {};
825
+ for (const name of names) {
826
+ const table = tables.find((candidate) => candidate.meta.name === name || `${candidate.meta.schema}.${candidate.meta.name}` === name);
827
+ if (!table) throw new CliError("config_invalid", `realtime.tables: unknown table "${name}". Check the name and \`schemas\`.`);
828
+ const owner = users[name];
829
+ if (owner !== void 0) {
830
+ const user = Object.entries(table.meta.columns).find(([, column]) => column.db === owner)?.[0];
831
+ if (user === void 0) throw new CliError("config_invalid", `realtime.users: "${name}" has no column "${owner}".`);
832
+ out[table.key] = { user };
833
+ continue;
834
+ }
835
+ const tenant = table.meta.flags.tenant;
836
+ out[table.key] = tenant ? { tenant } : {};
837
+ }
838
+ return out;
839
+ }
840
+ //#endregion
841
+ //#region src/cli/gen/emit.ts
842
+ const GENERATED_HEADER = "// @generated by better-supabase gen. Do not edit; run `better-supabase gen` instead.";
843
+ function rowEntries(columns, name) {
844
+ return columns.map((column) => `${prop(column[name])}${column.selectable === false ? "?" : ""}: ${nullable(column.tsType, column.nullable)};`);
845
+ }
846
+ function insertEntries(columns, name) {
847
+ return columns.map((column) => {
848
+ if (!column.insertable) return `${prop(column[name])}?: never;`;
849
+ const optional = column.optional ? "?" : "";
850
+ return `${prop(column[name])}${optional}: ${nullable(column.tsType, column.nullable)};`;
851
+ });
852
+ }
853
+ function updateEntries(columns, name) {
854
+ return columns.map((column) => {
855
+ if (!column.updatable) return `${prop(column[name])}?: never;`;
856
+ return `${prop(column[name])}?: ${nullable(column.tsType, column.nullable)};`;
857
+ });
858
+ }
859
+ /** Postgres passes `null` to any argument, so every argument accepts it. */
860
+ function argEntries(fn) {
861
+ return fn.args.map((arg) => `${prop(arg.name)}${arg.optional ? "?" : ""}: ${nullable(arg.tsType, true)};`);
862
+ }
863
+ function enrichedDatabase(model) {
864
+ const schemas = model.config.schemas.flatMap((schema) => {
865
+ const tables = model.tables.filter((t) => t.snapshot.schema === schema).flatMap((table) => {
866
+ 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};`);
867
+ return overrides.length > 0 ? block(prop(table.snapshot.name), overrides) : [];
868
+ });
869
+ return tables.length > 0 ? block(prop(schema), tables) : [];
870
+ });
871
+ if (schemas.length === 0) return ["export type Database = SupabaseDatabase;"];
872
+ return [
873
+ "export type Database = EnrichDatabase<",
874
+ " SupabaseDatabase,",
875
+ " {",
876
+ ...indent(schemas, 2),
877
+ " }",
878
+ ">;"
879
+ ];
880
+ }
881
+ function modelsType(model) {
882
+ return [
883
+ "export type Models = {",
884
+ ...indent(model.tables.flatMap((table) => {
885
+ const relations = table.relations.map((relation) => `${prop(relation.name)}: { table: ${q(relation.meta.table)}; kind: ${q(relation.meta.kind)}; nullable: ${String(relation.meta.nullable)} };`);
886
+ const pk = table.meta.primaryKey;
887
+ const uniques = Object.entries(table.meta.uniqueKeys).map(([name, columns]) => `${prop(name)}: readonly [${columns.map(q).join(", ")}];`);
888
+ const flags = [];
889
+ const tableFlags = table.meta.flags;
890
+ if (tableFlags.softDelete) flags.push(`softDelete: ${q(tableFlags.softDelete)};`);
891
+ if (tableFlags.timestamps) flags.push("timestamps: true;");
892
+ if (tableFlags.tenant) flags.push(`tenant: ${q(tableFlags.tenant)};`);
893
+ if (tableFlags.actor) flags.push("actor: true;");
894
+ const none = "Record<never, never>";
895
+ const union = (names) => names.length === 0 ? "never" : names.map(q).join(" | ");
896
+ return block(prop(table.key), [
897
+ ...block("Row", rowEntries(table.columns, "app"), none),
898
+ ...table.snapshot.insertable ? block("Insert", insertEntries(table.columns, "app"), none) : ["Insert: never;"],
899
+ ...table.snapshot.updatable ? block("Update", updateEntries(table.columns, "app"), none) : ["Update: never;"],
900
+ ...block("Relations", relations, none),
901
+ `PrimaryKey: ${union(pk)};`,
902
+ ...block("UniqueKeys", uniques, none),
903
+ `Checks: ${union(table.snapshot.checks.map((check) => check.name))};`,
904
+ `ForeignKeys: ${union(table.snapshot.foreignKeys.map((fk) => fk.name))};`,
905
+ ...block("Flags", flags, none)
906
+ ]);
907
+ }), 1),
908
+ "};"
909
+ ];
910
+ }
911
+ function functionsType(model) {
912
+ if (model.functions.length === 0) return ["export type Functions = Record<never, never>;"];
913
+ return [
914
+ "export type Functions = {",
915
+ ...indent([...functionGroups(model.functions)].flatMap(([key, group]) => {
916
+ const [first] = group;
917
+ if (group.length === 1 && first) return block(prop(key), [...block("Args", argEntries(first), "Record<never, never>"), `Returns: ${first.returns};`]);
918
+ return [`${prop(key)}:`, ...indent(group.flatMap((fn, index) => {
919
+ const lines = [...block("Args", argEntries(fn), "Record<PropertyKey, never>"), `Returns: ${fn.returns};`];
920
+ const end = index === group.length - 1 ? "};" : "}";
921
+ return [
922
+ "| {",
923
+ ...indent(lines, 1),
924
+ end
925
+ ];
926
+ }), 1)];
927
+ }), 1),
928
+ "};"
929
+ ];
930
+ }
931
+ /** The metadata module next to `generated.ts`: `generated.meta.js` and its `.d.ts`. */
932
+ function metaPaths(output) {
933
+ const base = output.replace(/\.[cm]?[jt]sx?$/, "");
934
+ return {
935
+ js: `${base}.meta.js`,
936
+ dts: `${base}.meta.d.ts`
937
+ };
938
+ }
939
+ /**
940
+ * JSON with one line per table, function and other named entry, so the
941
+ * module stays small to load and a schema change still diffs per entry.
942
+ */
943
+ function compactJson(meta) {
944
+ return `{\n${Object.entries(meta).map(([key, value]) => {
945
+ const name = JSON.stringify(key);
946
+ if (typeof value !== "object" || value === null || Array.isArray(value)) return ` ${name}: ${JSON.stringify(value)}`;
947
+ const inner = Object.entries(value).map(([entry, item]) => ` ${JSON.stringify(entry)}: ${JSON.stringify(item)}`);
948
+ return inner.length === 0 ? ` ${name}: {}` : ` ${name}: {\n${inner.join(",\n")}\n }`;
949
+ }).join(",\n")}\n}`;
950
+ }
951
+ /**
952
+ * The schema metadata as plain JavaScript plus a one-line declaration, so
953
+ * TypeScript reads `SchemaMeta` instead of checking thousands of lines of
954
+ * object literal in every program that imports the generated module.
955
+ */
956
+ function emitMeta(model, options = {}) {
957
+ const runtime = options.runtimeImport ?? "better-supabase";
958
+ return {
959
+ js: [
960
+ GENERATED_HEADER,
961
+ `// @ts-self-types="${options.types ?? "./generated.meta.d.ts"}"`,
962
+ "/* oxlint-disable */",
963
+ "/* eslint-disable */",
964
+ "",
965
+ `export default ${compactJson({ ...model.meta })};`,
966
+ ""
967
+ ].join("\n"),
968
+ dts: [
969
+ GENERATED_HEADER,
970
+ "/* oxlint-disable */",
971
+ "/* eslint-disable */",
972
+ "",
973
+ `import type { SchemaMeta } from ${q(runtime)};`,
974
+ "",
975
+ "declare const meta: SchemaMeta;",
976
+ "export default meta;",
977
+ ""
978
+ ].join("\n")
979
+ };
980
+ }
981
+ /** Names the generated module declares or imports itself. */
982
+ const RESERVED_EXPORTS = [
983
+ "defineSchema",
984
+ "Schema",
985
+ "SchemaMeta",
986
+ "EnrichDatabase",
987
+ "MutableWhere",
988
+ "OrderByArg",
989
+ "OrderByInput",
990
+ "StoragePath",
991
+ "SupabaseDatabase",
992
+ "meta",
993
+ "Json",
994
+ "Database",
995
+ "Models",
996
+ "Functions",
997
+ "TableName",
998
+ "UniqueConstraint",
999
+ "CheckConstraint",
1000
+ "ForeignKeyConstraint",
1001
+ "RowOf",
1002
+ "InsertOf",
1003
+ "UpdateOf",
1004
+ "WhereOf",
1005
+ "OrderByOf",
1006
+ "OrderTermOf",
1007
+ "buckets",
1008
+ "topics",
1009
+ "subjectTypes",
1010
+ "SubjectType",
1011
+ "SubjectRef",
1012
+ "schema"
1013
+ ];
1014
+ /** Renders the generated module. */
1015
+ function emitModule(model, options) {
1016
+ const runtime = options.runtimeImport ?? "better-supabase";
1017
+ const lines = [
1018
+ GENERATED_HEADER,
1019
+ "/* oxlint-disable */",
1020
+ "/* eslint-disable */",
1021
+ "",
1022
+ `import { defineSchema, type Schema${options.inlineMeta ? ", type SchemaMeta" : ""} } from ${q(runtime)};`
1023
+ ];
1024
+ const storagePaths = model.tables.some((table) => table.columns.some((column) => column.storage !== void 0));
1025
+ 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")};`);
1026
+ const byFile = /* @__PURE__ */ new Map();
1027
+ for (const entry of model.jsonImports) {
1028
+ const list = byFile.get(entry.from) ?? [];
1029
+ list.push(entry.name);
1030
+ byFile.set(entry.from, list);
1031
+ }
1032
+ 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))};`);
1033
+ 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), "");
1034
+ const exported = new Map([...RESERVED_EXPORTS, ...model.jsonImports.map((entry) => entry.name)].map((name) => [name, "the generated module"]));
1035
+ const claim = (name, source) => {
1036
+ const other = exported.get(name);
1037
+ if (other !== void 0) throw new TypeError(`${source} and ${other} both export "${name}" from the generated module. Rename one of them in the database.`);
1038
+ exported.set(name, source);
1039
+ return name;
1040
+ };
1041
+ for (const entry of model.enums) {
1042
+ const source = `enum ${entry.schema}.${entry.name}`;
1043
+ 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];`);
1044
+ }
1045
+ for (const table of model.tables) for (const column of table.columns) if (column.values && !column.snapshot.isEnum) {
1046
+ const source = `the CHECK on ${table.snapshot.schema}.${table.snapshot.name}.${column.db}`;
1047
+ const constant = identifier(`${table.key}${pascal(column.app)}Values`.replace(/^[A-Z]/, (c) => c.toLowerCase()));
1048
+ const typeName = identifier(`${pascal(table.key)}${pascal(column.app)}`);
1049
+ lines.push(`export const ${claim(constant, source)} = [${column.values.map(q).join(", ")}] as const;`, `export type ${claim(typeName, source)} = (typeof ${constant})[number];`);
1050
+ }
1051
+ if (model.enums.length > 0) lines.push("");
1052
+ 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>;", "");
1053
+ 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;`, "");
1054
+ 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;`, "");
1055
+ const subjects = Object.keys(model.config.subjects);
1056
+ if (subjects.length > 0) lines.push("/** The app's subject types, from `config.subjects`. */", `export const subjectTypes = [${subjects.map(q).join(", ")}] as const;`, "export type SubjectType = (typeof subjectTypes)[number];", "/** One subject: its type and its id as text. */", "export type SubjectRef<T extends SubjectType = SubjectType> = { readonly type: T; readonly id: string };", "", "export const schema: Schema<Models, Database, Functions, SubjectType> = defineSchema(meta);", "");
1057
+ else lines.push("export const schema: Schema<Models, Database, Functions> = defineSchema(meta);", "");
1058
+ return lines.join("\n");
1059
+ }
1060
+ //#endregion
1061
+ export { buildModel as a, configFor as c, applyCasing as d, metaPaths as i, prop as l, emitMeta as n, generatorModel as o, emitModule as r, notNullTag as s, GENERATED_HEADER as t, q as u };