better-supabase 0.7.0 → 0.8.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 (500) hide show
  1. package/README.md +6 -2
  2. package/dist/{access-sql-B0dF-SoF.js → access-sql-CrSbK1q-.js} +1 -1
  3. package/dist/{adapter-B-tL8hqg.js → adapter-CN45ibbV.js} +663 -157
  4. package/dist/{agents-CVHGd7It.d.ts → agents-BY_LQXtQ.d.ts} +4 -4
  5. package/dist/{ai-cache-CBWs1W0k.js → ai-cache-Dfgk8nBT.js} +2 -1
  6. package/dist/{ai-cache-DaDu_G5L.d.ts → ai-cache-DrUMMgp6.d.ts} +4 -4
  7. package/dist/{ai-chat-B24UI962.js → ai-chat-CVLRWbtS.js} +4 -3
  8. package/dist/{ai-chat-7amvXjmQ.d.ts → ai-chat-DXkMy74O.d.ts} +5 -5
  9. package/dist/{ai-files-CSPNswUY.js → ai-files-CioLu5du.js} +5 -4
  10. package/dist/ai-message-DfaP8sis.js +14 -0
  11. package/dist/ai-sdk/agents/index.d.ts +4 -4
  12. package/dist/ai-sdk/batches/index.d.ts +4 -4
  13. package/dist/ai-sdk/batches/index.js +4 -4
  14. package/dist/ai-sdk/cache/index.d.ts +2 -2
  15. package/dist/ai-sdk/cache/index.js +2 -2
  16. package/dist/ai-sdk/chat/index.d.ts +1 -1
  17. package/dist/ai-sdk/chat/index.js +8 -20
  18. package/dist/ai-sdk/embeddings/index.d.ts +2 -2
  19. package/dist/ai-sdk/files/index.d.ts +3 -3
  20. package/dist/ai-sdk/files/index.js +4 -4
  21. package/dist/ai-sdk/index.d.ts +37 -9
  22. package/dist/ai-sdk/index.js +3 -2
  23. package/dist/ai-sdk/mcp/index.d.ts +43 -6
  24. package/dist/ai-sdk/mcp/index.js +36 -7
  25. package/dist/ai-sdk/memory/index.d.ts +2 -2
  26. package/dist/ai-sdk/memory/index.js +1 -1
  27. package/dist/ai-sdk/workflow/index.d.ts +6 -6
  28. package/dist/ai-sdk/workflow/index.js +13 -24
  29. package/dist/{ai-tasks-Cd1HMFvB.d.ts → ai-tasks-BRQ6iQLc.d.ts} +4 -4
  30. package/dist/{announcements-ZRGnScWI.d.ts → announcements-Bouy0Ski.d.ts} +3 -3
  31. package/dist/{announcements-CiyOs-xP.js → announcements-p_BFofiR.js} +1 -1
  32. package/dist/api-Dnf2q-Ht.d.ts +370 -0
  33. package/dist/api-DtHFC037.js +676 -0
  34. package/dist/{api-keys-CIjghYjV.d.ts → api-keys-C8BlF3L2.d.ts} +4 -4
  35. package/dist/arazzo/index.d.ts +255 -0
  36. package/dist/arazzo/index.js +622 -0
  37. package/dist/{assistant-DwdpDH1q.d.ts → assistant-DBlFDZsi.d.ts} +5 -5
  38. package/dist/astro/index.d.ts +7 -7
  39. package/dist/astro/index.js +7 -7
  40. package/dist/asyncapi/index.d.ts +103 -0
  41. package/dist/asyncapi/index.js +569 -0
  42. package/dist/authorizer-ayxUDXXP.js +126 -0
  43. package/dist/authorizer-eiOjo-3l.d.ts +73 -0
  44. package/dist/better-result/index.d.ts +118 -0
  45. package/dist/better-result/index.js +64 -0
  46. package/dist/{bind-l4kAvYSv.js → bind-ButSzrHe.js} +1 -1
  47. package/dist/{bind-Bu_ZNa3W.d.ts → bind-CQ5mPyX1.d.ts} +3 -3
  48. package/dist/{block-events-CrT8r7Fe.js → block-events-DTxU5tfr.js} +18 -3
  49. package/dist/{block-fields-GFkxl4dP.js → block-fields-CroxUuF2.js} +3 -3
  50. package/dist/{block-fields-SJ6fEf3o.d.ts → block-fields-D1pfrcIY.d.ts} +2 -2
  51. package/dist/{block-helpers-CKtbFcRv.d.ts → block-helpers-C0Xj8War.d.ts} +2 -2
  52. package/dist/{block-helpers-DWHxHsEQ.js → block-helpers-Cy3pB96I.js} +41 -9
  53. package/dist/{block-hooks-BmjMyXTa.js → block-hooks-BPNMIlLl.js} +3 -3
  54. package/dist/{block-hooks-plbZ0AbJ.d.ts → block-hooks-DaOVC7SC.d.ts} +3 -3
  55. package/dist/{block-transport-BLr-ZgLc.js → block-transport-bAKh-dGc.js} +28 -2
  56. package/dist/{block-transport-DvaoPuZ9.d.ts → block-transport-inD4fFq-.d.ts} +24 -2
  57. package/dist/blocks/agents/index.d.ts +3 -3
  58. package/dist/blocks/agents/index.js +5 -4
  59. package/dist/blocks/ai-cache/index.d.ts +3 -3
  60. package/dist/blocks/ai-cache/index.js +3 -3
  61. package/dist/blocks/ai-chat/index.d.ts +9 -4
  62. package/dist/blocks/ai-chat/index.js +5 -5
  63. package/dist/blocks/ai-chat/react/index.d.ts +3 -3
  64. package/dist/blocks/ai-chat/react/index.js +5 -5
  65. package/dist/blocks/ai-files/index.d.ts +3 -3
  66. package/dist/blocks/ai-files/index.js +3 -3
  67. package/dist/blocks/ai-providers/index.d.ts +3 -3
  68. package/dist/blocks/ai-providers/index.js +8 -7
  69. package/dist/blocks/ai-tasks/index.d.ts +3 -3
  70. package/dist/blocks/ai-tasks/index.js +7 -6
  71. package/dist/blocks/announcements/index.d.ts +3 -3
  72. package/dist/blocks/announcements/index.js +3 -3
  73. package/dist/blocks/announcements/react/index.d.ts +3 -3
  74. package/dist/blocks/announcements/react/index.js +3 -3
  75. package/dist/blocks/api-keys/index.d.ts +5 -5
  76. package/dist/blocks/api-keys/index.js +8 -8
  77. package/dist/blocks/attachments/index.d.ts +12 -8
  78. package/dist/blocks/attachments/index.js +22 -13
  79. package/dist/blocks/audit/index.d.ts +21 -10
  80. package/dist/blocks/audit/index.js +30 -11
  81. package/dist/blocks/billing/index.d.ts +11 -9
  82. package/dist/blocks/billing/index.js +15 -15
  83. package/dist/blocks/comments/index.d.ts +8 -8
  84. package/dist/blocks/comments/index.js +8 -7
  85. package/dist/blocks/connectors/index.d.ts +3 -3
  86. package/dist/blocks/connectors/index.js +7 -6
  87. package/dist/blocks/data-lifecycle/index.d.ts +12 -8
  88. package/dist/blocks/data-lifecycle/index.js +13 -8
  89. package/dist/blocks/entitlements/index.d.ts +3 -3
  90. package/dist/blocks/entitlements/index.js +1 -1
  91. package/dist/blocks/flags/index.d.ts +4 -4
  92. package/dist/blocks/flags/index.js +4 -3
  93. package/dist/blocks/inbox/index.d.ts +3 -3
  94. package/dist/blocks/inbox/index.js +4 -5
  95. package/dist/blocks/inbox/react/index.d.ts +1 -1
  96. package/dist/blocks/inbox/react/index.js +1 -1
  97. package/dist/blocks/inbox/react/server.d.ts +1 -1
  98. package/dist/blocks/index.d.ts +10 -10
  99. package/dist/blocks/index.js +6 -6
  100. package/dist/blocks/jobs/index.d.ts +48 -32
  101. package/dist/blocks/jobs/index.js +44 -287
  102. package/dist/blocks/knowledge/index.d.ts +3 -3
  103. package/dist/blocks/knowledge/index.js +3 -3
  104. package/dist/blocks/memory/index.d.ts +4 -4
  105. package/dist/blocks/memory/index.js +7 -6
  106. package/dist/blocks/notifications/index.d.ts +11 -9
  107. package/dist/blocks/notifications/index.js +20 -25
  108. package/dist/blocks/notifications/react/index.d.ts +1 -1
  109. package/dist/blocks/notifications/react/index.js +1 -1
  110. package/dist/blocks/onboarding/index.d.ts +3 -3
  111. package/dist/blocks/onboarding/index.js +3 -3
  112. package/dist/blocks/onboarding/react/index.d.ts +2 -2
  113. package/dist/blocks/onboarding/react/index.js +2 -2
  114. package/dist/blocks/onboarding/react/server.d.ts +1 -1
  115. package/dist/blocks/organizations/index.d.ts +9 -9
  116. package/dist/blocks/organizations/index.js +11 -18
  117. package/dist/blocks/outbox/index.d.ts +2 -2
  118. package/dist/blocks/outbox/index.js +16 -25
  119. package/dist/blocks/profiles/index.d.ts +7 -7
  120. package/dist/blocks/profiles/index.js +7 -6
  121. package/dist/blocks/push/index.d.ts +4 -4
  122. package/dist/blocks/push/index.js +3 -3
  123. package/dist/blocks/settings/index.d.ts +4 -4
  124. package/dist/blocks/settings/index.js +7 -6
  125. package/dist/blocks/sso/index.d.ts +5 -5
  126. package/dist/blocks/sso/index.js +6 -5
  127. package/dist/blocks/usage/index.d.ts +3 -3
  128. package/dist/blocks/usage/index.js +5 -4
  129. package/dist/blocks/waitlist/index.d.ts +5 -5
  130. package/dist/blocks/waitlist/index.js +5 -4
  131. package/dist/blocks/webhooks/index.d.ts +22 -13
  132. package/dist/blocks/webhooks/index.js +41 -70
  133. package/dist/blocks/workflow-builder/index.d.ts +4 -4
  134. package/dist/blocks/workflow-builder/index.js +3 -3
  135. package/dist/blocks/workflow-builder/react/index.d.ts +4 -4
  136. package/dist/blocks/workflow-builder/react/index.js +4 -4
  137. package/dist/blocks/workflows/index.d.ts +3 -3
  138. package/dist/blocks/workflows/index.js +3 -3
  139. package/dist/blocks/workflows/react/index.d.ts +3 -3
  140. package/dist/blocks/workflows/react/index.js +3 -3
  141. package/dist/build-hPwk3_X5.js +1296 -0
  142. package/dist/{build-BXIzE6Xv.js → build-meLuYGri.js} +3 -3
  143. package/dist/casing-DdFWEtqr.js +16 -0
  144. package/dist/chat-sdk/index.d.ts +6 -6
  145. package/dist/chat-sdk/index.js +5 -4
  146. package/dist/chat-sdk/react/index.d.ts +1 -1
  147. package/dist/chat-sdk/react/server.d.ts +1 -1
  148. package/dist/{claims-DDBQT6BK.js → claims-0KZVT804.js} +1 -1
  149. package/dist/cli/add-1dc5wM5k.js +69 -0
  150. package/dist/cli/arazzo-1.0-BalU61-_.js +532 -0
  151. package/dist/cli/arazzo-1.1-Bnfasbun.js +705 -0
  152. package/dist/cli/asyncapi-3.0.0-C78dBjR6.js +5593 -0
  153. package/dist/cli/asyncapi-3.1.0-g-7aIfV1.js +5833 -0
  154. package/dist/cli/bin.js +4 -4
  155. package/dist/cli/cache-CIfA-jBV.js +483 -0
  156. package/dist/cli/{codemod-Bl_tQpHn.js → codemod-JVlTQQG2.js} +4 -4
  157. package/dist/cli/{command-CK14fP91.js → command-DV-StG1x.js} +5 -0
  158. package/dist/cli/{config-DU7EJImt.js → config-C2Pz2_4A.js} +7 -4
  159. package/dist/cli/config-DpbF8ML3.js +2 -0
  160. package/dist/cli/{config-NiPxAmUF.js → config-M-WzL9O2.js} +116 -18
  161. package/dist/cli/{db-DOBPt660.js → db-BkcfOlyB.js} +2 -1
  162. package/dist/cli/{diff-SjkO5rNr.js → diff-D1jGdb3Y.js} +1 -1
  163. package/dist/cli/{doctor-CVdnLahA.js → doctor-VcDtuusV.js} +317 -222
  164. package/dist/cli/emit-BHHfwUoT.js +1136 -0
  165. package/dist/cli/{env-qXgyMV6r.js → env-B--LMhEe.js} +13 -10
  166. package/dist/cli/env-vzBG90Um.js +2 -0
  167. package/dist/cli/{env-CJLbUVPB.js → env-zHJtMIBo.js} +11 -3
  168. package/dist/cli/{errors-4v4DTtda.js → errors-CqTLXe2M.js} +18 -2
  169. package/dist/cli/{fastest-levenshtein-CFN-lNDv.js → fastest-levenshtein-CF7BCi9l.js} +1 -1
  170. package/dist/cli/files-BVupXPIC.js +34 -0
  171. package/dist/cli/gen-DmVj3u4L.js +322 -0
  172. package/dist/cli/{init-Cr6arjXU.js → glue-C1UE8gQN.js} +16 -313
  173. package/dist/cli/index.d.ts +59 -31
  174. package/dist/cli/index.js +8 -6
  175. package/dist/cli/init-CVZ3s5kl.js +258 -0
  176. package/dist/cli/{introspect-Bzuv1HHj.js → introspect-BToGNfm-.js} +14 -14
  177. package/dist/cli/{io-DI1mTdSA.js → io-CFzJVJ68.js} +5 -1
  178. package/dist/cli/{keys-BGCnnb-s.js → keys-CJhtIxJ3.js} +4 -4
  179. package/dist/cli/metadata-DSRKCaf-.js +133 -0
  180. package/dist/cli/names-D6LrQnOv.js +6 -0
  181. package/dist/cli/openapi-3.0-t7xwkuRH.js +928 -0
  182. package/dist/cli/openapi-3.1-CVze7tBS.js +870 -0
  183. package/dist/cli/openapi-3.2-CFoMYM01.js +1031 -0
  184. package/dist/cli/{openapi-BlRJ18s3.js → openapi-DWa4Ir1q.js} +8 -14
  185. package/dist/cli/prompts-BdeVmVpg.js +2 -0
  186. package/dist/cli/{prompts-BNcNfAve.js → prompts-DZJB1nTw.js} +6 -6
  187. package/dist/cli/{rolldown-runtime-BPOCksWG.js → rolldown-runtime-CMFfr-1z.js} +3 -1
  188. package/dist/cli/run-DA6_lg3w.js +389 -0
  189. package/dist/cli/run-DuN1MX-7.js +705 -0
  190. package/dist/cli/scaffold-5DenHSxF.js +292 -0
  191. package/dist/cli/scaffold-CwQUMFRb.js +2 -0
  192. package/dist/cli/{seed-DQzqT7LP.js → seed-CzBmrGON.js} +14 -18
  193. package/dist/cli/seed-DOmit9Hq.js +2 -0
  194. package/dist/cli/{skills-QQs4q68J.js → skills-CnO8QFS7.js} +7 -6
  195. package/dist/cli/snapshot-Bstk6ulj.js +287 -0
  196. package/dist/cli/source-args-BYfq6imV.js +31 -0
  197. package/dist/cli/spec-CzosTYm3.js +7438 -0
  198. package/dist/cli/spec-T_0Bcyw7.js +2 -0
  199. package/dist/cli/{sql-B8csQPyn.js → sql-BKOOQAX3.js} +240 -218
  200. package/dist/cli/sql-DJrNDxQm.js +3 -0
  201. package/dist/cli/{style-C0NFdJRL.js → style-CB3vxgh0.js} +3 -3
  202. package/dist/cli/typegen-Demi5-VQ.js +486 -0
  203. package/dist/cli/validate-Ca13ktgz.js +7522 -0
  204. package/dist/cli/{version-Bp4fyubI.js → version-B4k0aUxS.js} +1 -1
  205. package/dist/client/index.d.ts +4 -3
  206. package/dist/client/index.js +60 -3
  207. package/dist/client/native/index.d.ts +3 -3
  208. package/dist/client/native/index.js +3 -3
  209. package/dist/{client-CI0Z2zWX.js → client-wxeTQFtB.js} +36 -3
  210. package/dist/{clone-BfgmLU90.js → clone-dN9XOL1K.js} +9 -1
  211. package/dist/{cloud-event-BnmD5fb9.js → cloud-event-CTh9Sr5w.js} +16 -2
  212. package/dist/{cloud-event-C1JCc1bH.d.ts → cloud-event-Dune0KI7.d.ts} +16 -2
  213. package/dist/{compiler-DY_wkj4R.d.ts → compiler-V1qvcST1.d.ts} +2 -2
  214. package/dist/{compose-BIBNgAnq.js → compose-BHej1acw.js} +3 -3
  215. package/dist/{composite-CpHLEo-G.d.ts → composite-CWAJTRBF.d.ts} +6 -6
  216. package/dist/{composite-C6I8ZyaF.js → composite-zTe0TCqj.js} +4 -4
  217. package/dist/config/index.d.ts +3 -4
  218. package/dist/config/index.js +4 -4
  219. package/dist/config-DlKvtt95.js +540 -0
  220. package/dist/{connector-Dv8kK0MO.d.ts → connector-CySQEFcW.d.ts} +1 -1
  221. package/dist/{connectors-CrpknU0P.d.ts → connectors--PGhmiu0.d.ts} +4 -4
  222. package/dist/{context-BCrWe7ow.d.ts → context-DsV2SueA.d.ts} +11 -2
  223. package/dist/context-nPDvQ-Zl.js +41 -0
  224. package/dist/credentials/index.d.ts +5 -5
  225. package/dist/credentials/index.js +9 -17
  226. package/dist/{cron-DVPUg5k3.js → cron-D25Ukpxy.js} +1 -1
  227. package/dist/cron-route-D2AN9SA1.js +24 -0
  228. package/dist/{csv-DCK-PT1n.js → csv-BZnHA1Py.js} +1 -1
  229. package/dist/{define-B-TVjC25.js → define-CFQcvM20.js} +263 -229
  230. package/dist/{define-CJJkkr1-.d.ts → define-DmcfoNXB.d.ts} +136 -111
  231. package/dist/edge/index.d.ts +66 -13
  232. package/dist/edge/index.js +65 -39
  233. package/dist/elysia/index.d.ts +1 -1
  234. package/dist/elysia/index.js +1 -1
  235. package/dist/{embeddings-C9KGQnXt.d.ts → embeddings-B4vhS-dY.d.ts} +1 -1
  236. package/dist/{ended-XjeGQ5XW.d.ts → ended-CcvcRqEd.d.ts} +7 -1
  237. package/dist/{entitlements-DRl6ZJUm.js → entitlements-BYFf0Cdh.js} +2 -2
  238. package/dist/{entitlements-BKSVGtrG.d.ts → entitlements-Ds8qoYZ-.d.ts} +1 -1
  239. package/dist/env/index.d.ts +1 -1
  240. package/dist/env/index.js +9 -2
  241. package/dist/{errors-B11Duf73.js → errors-2M6CKMP4.js} +5 -0
  242. package/dist/{errors-DLjJHPLK.js → errors-rZ7VIqp6.js} +2 -2
  243. package/dist/{escape-like-ImTK0ps_.d.ts → escape-like-DDWoHzh_.d.ts} +1 -1
  244. package/dist/eve/index.d.ts +5 -5
  245. package/dist/eve/index.js +5 -11
  246. package/dist/{eve-gT2Fpjut.d.ts → eve-CoAIcCkq.d.ts} +2 -2
  247. package/dist/events/index.d.ts +4 -4
  248. package/dist/events/index.js +7 -2
  249. package/dist/{events-DWDhx77e.d.ts → events-D1BOCll8.d.ts} +6 -4
  250. package/dist/{executor-Bq28caBo.js → executor-B-fD7DLt.js} +52 -35
  251. package/dist/executor-B_Hfobee.js +162 -0
  252. package/dist/{executor-BVBFM86G.d.ts → executor-CpxLPCiz.d.ts} +1 -1
  253. package/dist/{executor-CaWigTyR.d.ts → executor-DfEtf0cq.d.ts} +43 -27
  254. package/dist/{executor-DvsBbNBS.d.ts → executor-Drzu3dBK.d.ts} +2 -2
  255. package/dist/{executor-DbvExCFC.d.ts → executor-ngjKL_Pe.d.ts} +2 -2
  256. package/dist/expo/index.d.ts +4 -4
  257. package/dist/expo/index.js +6 -6
  258. package/dist/expo-sqlite/index.d.ts +3 -3
  259. package/dist/expo-sqlite/index.js +2 -2
  260. package/dist/extra-CGQ2_q3S.js +10 -0
  261. package/dist/{field-errors-BFOa7WhB.d.ts → field-errors-DIe9XYWL.d.ts} +17 -7
  262. package/dist/{field-errors-VF1yb8yI.js → field-errors-DZVRWRkf.js} +1 -1
  263. package/dist/format-DTXdu8ya.d.ts +70 -0
  264. package/dist/{framework-KIPvRQJU.d.ts → framework-148t1m3C.d.ts} +5 -5
  265. package/dist/{framework-BDCpJI7o.js → framework-3ey3QmrO.js} +2 -2
  266. package/dist/function-contract-BcZenXMO.d.ts +8 -0
  267. package/dist/{gateway-C1ssRHnf.d.ts → gateway-S9vicgeo.d.ts} +4 -4
  268. package/dist/{guards-BnzDvFrz.js → guards-6F2bCtQR.js} +3 -1
  269. package/dist/h3/index.d.ts +1 -1
  270. package/dist/h3/index.js +1 -1
  271. package/dist/h3/v1/index.d.ts +1 -1
  272. package/dist/h3/v1/index.js +1 -1
  273. package/dist/{message-CaKlqdsX.js → history-GH1HJWQV.js} +65 -13
  274. package/dist/hmac-DCud0myt.js +22 -0
  275. package/dist/hono/index.d.ts +19 -14
  276. package/dist/hono/index.js +21 -16
  277. package/dist/{hooks-1BTCJsiw.js → hooks-Bhza9Hnr.js} +68 -100
  278. package/dist/http-sbmBe5d2.js +25 -0
  279. package/dist/{inbox-i7E1ppo6.d.ts → inbox-Cd1KCEBL.d.ts} +3 -3
  280. package/dist/index-B72Rvv_j.d.ts +89 -0
  281. package/dist/{index-DunNRdnT.d.ts → index-BCHR4Ucl.d.ts} +4 -4
  282. package/dist/{index-CLg87OBW.d.ts → index-BUK7jUzR.d.ts} +6 -0
  283. package/dist/{config-D44Y7PAv.d.ts → index-Ba1SI-uO.d.ts} +625 -278
  284. package/dist/{index-D48jVS-N.d.ts → index-BfxOaOYs.d.ts} +4 -5
  285. package/dist/{index-ClmjK_o-.d.ts → index-CicIyqOe.d.ts} +4 -4
  286. package/dist/{index-ACiNPN4Z.d.ts → index-D69h4QqD.d.ts} +1 -1
  287. package/dist/index-DG2SUXDQ.d.ts +58 -0
  288. package/dist/{index-Bepi-Hgg.d.ts → index-DoNVLHOU.d.ts} +3 -3
  289. package/dist/{index-CdZKQF98.d.ts → index-R274XFlg.d.ts} +1 -1
  290. package/dist/{index-CewnYSpv.d.ts → index-_4R4b01v.d.ts} +8 -18
  291. package/dist/index.d.ts +89 -14
  292. package/dist/index.js +12 -11
  293. package/dist/{json-schema-CvER4kgT.js → json-schema-CT4tvrkA.js} +148 -102
  294. package/dist/{kit-Fm-Fv7q5.js → kit-BhHr9T9v.js} +36 -10
  295. package/dist/{kit-CkNzZUqv.d.ts → kit-W99LCPBS.d.ts} +13 -7
  296. package/dist/{knowledge-BXBbT0Tr.d.ts → knowledge-CAReFpRA.d.ts} +5 -5
  297. package/dist/{knowledge-CDmiMLew.js → knowledge-DnHtb64A.js} +4 -3
  298. package/dist/list/index.d.ts +1 -2
  299. package/dist/{list-query-BRt-zDF7.d.ts → list-query-D3JQeEL7.d.ts} +4 -4
  300. package/dist/mcp/index.d.ts +49 -19
  301. package/dist/mcp/index.js +158 -94
  302. package/dist/mcp/sdk/index.d.ts +38 -6
  303. package/dist/mcp/sdk/index.js +88 -6
  304. package/dist/{message-CfDoR0Y6.d.ts → message-B0fNJgq8.d.ts} +1 -2
  305. package/dist/{messages-B9-5887d.js → messages-CJoHHCWT.js} +4 -205
  306. package/dist/{mfa-Daak8ukG.d.ts → mfa-SZc9YYyb.d.ts} +1 -1
  307. package/dist/model-OgBxvk3N.d.ts +300 -0
  308. package/dist/model-messages-Cxw_Up4f.js +206 -0
  309. package/dist/model-messages-D4GZllOD.d.ts +34 -0
  310. package/dist/modules-DksjZyMW.js +77 -0
  311. package/dist/nestjs/index.d.ts +2 -2
  312. package/dist/nestjs/index.js +1 -1
  313. package/dist/next/index.d.ts +105 -55
  314. package/dist/next/index.js +204 -170
  315. package/dist/node/index.d.ts +2 -2
  316. package/dist/node/index.js +1 -1
  317. package/dist/{onboarding-BZGHYJks.d.ts → onboarding-LZvlK1P4.d.ts} +3 -3
  318. package/dist/openapi/index.d.ts +4 -2
  319. package/dist/openapi/index.js +21 -343
  320. package/dist/optional-peer-D1pi-skw.js +24 -0
  321. package/dist/orpc/index.d.ts +8 -8
  322. package/dist/orpc/index.js +21 -20
  323. package/dist/otel/index.d.ts +3 -3
  324. package/dist/otel/index.js +7 -7
  325. package/dist/{outbox-Cq7pPYvl.d.ts → outbox-DZfAvfzC.d.ts} +6 -6
  326. package/dist/overlay/index.d.ts +233 -0
  327. package/dist/overlay/index.js +554 -0
  328. package/dist/{plugin-FGY8UhYm.d.ts → plugin-CPK2HsbY.d.ts} +42 -3
  329. package/dist/plugins/actor/index.d.ts +1 -1
  330. package/dist/plugins/actor/index.js +1 -1
  331. package/dist/plugins/rules/index.d.ts +2 -2
  332. package/dist/plugins/rules/index.js +1 -1
  333. package/dist/plugins/soft-delete/index.d.ts +3 -3
  334. package/dist/plugins/soft-delete/index.js +9 -2
  335. package/dist/plugins/tenant/index.d.ts +7 -2
  336. package/dist/plugins/tenant/index.js +16 -2
  337. package/dist/plugins/timestamps/index.d.ts +1 -1
  338. package/dist/plugins/timestamps/index.js +8 -1
  339. package/dist/plugins/validation/index.d.ts +2 -2
  340. package/dist/plugins/validation/index.js +4 -4
  341. package/dist/{pool-CAu2nLrL.d.ts → pool-gkhbGp2E.d.ts} +2 -2
  342. package/dist/postgres/index.d.ts +4 -4
  343. package/dist/postgres/index.js +2 -1
  344. package/dist/{postgrest-BLVdEnfe.d.ts → postgrest-BUqLag2Q.d.ts} +1 -1
  345. package/dist/powersync/index.d.ts +5 -5
  346. package/dist/powersync/index.js +4 -4
  347. package/dist/powersync/react/index.d.ts +3 -3
  348. package/dist/powersync/react/index.js +1 -1
  349. package/dist/{problem-BreOl8b8.js → problem-CJvFeGu7.js} +13 -2
  350. package/dist/{problem-DD8LZFjc.d.ts → problem-TvGdxO1t.d.ts} +7 -1
  351. package/dist/{provider-Di3sRutW.js → provider-DxRTex4x.js} +1 -1
  352. package/dist/{provider-D-UEMvSD.d.ts → provider-ib9wzUDz.d.ts} +2 -2
  353. package/dist/query/index.d.ts +2 -2
  354. package/dist/query/index.js +1 -1
  355. package/dist/{query-BQ-NaZon.js → query-Ctz-qKRx.js} +1 -1
  356. package/dist/rate-limit-Bw7HgmFj.js +260 -0
  357. package/dist/react/index.d.ts +9 -9
  358. package/dist/react/index.js +4 -4
  359. package/dist/react/native/index.d.ts +1 -1
  360. package/dist/react/native/index.js +2 -2
  361. package/dist/react/server.d.ts +10 -10
  362. package/dist/react/server.js +3 -3
  363. package/dist/react/session.d.ts +2 -2
  364. package/dist/{react-F80mF4-t.js → react-Bmpo59D7.js} +4 -4
  365. package/dist/react-router/index.d.ts +6 -6
  366. package/dist/react-router/index.js +9 -11
  367. package/dist/{read-set-DuKWC9Mj.js → read-set-DAeWhqPf.js} +2 -2
  368. package/dist/realtime/index.d.ts +3 -3
  369. package/dist/realtime/index.js +30 -36
  370. package/dist/{refusal-DhSU2Vvr.d.ts → refusal-CFI8-5nf.d.ts} +4 -1
  371. package/dist/{refusal-CeJWxmkH.js → refusal-K78A1Vmq.js} +5 -5
  372. package/dist/{resolve-tJZY3FEa.js → resolve-Bvgf3ut_.js} +131 -42
  373. package/dist/{resolve-ChTYeTEl.d.ts → resolve-MxXVWyhd.d.ts} +12 -8
  374. package/dist/resource--vTrBe6I.d.ts +103 -0
  375. package/dist/resource-BqNqlYg9.js +91 -0
  376. package/dist/resource-DA811u_4.js +463 -0
  377. package/dist/resource-execute-rbKvuCsY.d.ts +12 -0
  378. package/dist/resource-schemas-BJ518zFH.js +79 -0
  379. package/dist/resource-types-CqB6GWGT.d.ts +141 -0
  380. package/dist/resources-BVYPnuLo.js +56 -0
  381. package/dist/resources-DZSk8tXJ.d.ts +7 -0
  382. package/dist/{respond-DprrgyXX.d.ts → respond-Cw-zanCm.d.ts} +3 -3
  383. package/dist/{respond-BUgsXNgk.js → respond-volM3ByS.js} +4 -4
  384. package/dist/{result-D7y2fT87.d.ts → result-BchM1XZn.d.ts} +7 -1
  385. package/dist/{result-DzUbqgdW.js → result-DEqHCMKP.js} +1 -1
  386. package/dist/server/index.d.ts +81 -19
  387. package/dist/server/index.js +16 -14
  388. package/dist/{server-ZSJ9rCcV.d.ts → server-types-CrAmZ8jv.d.ts} +110 -36
  389. package/dist/{shared-CxWmcyqB.js → shared-DHjhfRdV.js} +2 -15
  390. package/dist/shared-DTneRoxi.js +14 -0
  391. package/dist/{sign-in-Cb1mwv6X.js → sign-in-D_yoP0PF.js} +1 -1
  392. package/dist/signatures-BRS_p3WD.d.ts +34 -0
  393. package/dist/signatures-DsWv_bYR.js +103 -0
  394. package/dist/{signers-4y62_VIi.d.ts → signers-cpdmZYrv.d.ts} +1 -1
  395. package/dist/solid/index.d.ts +9 -18
  396. package/dist/solid/index.js +2 -2
  397. package/dist/solid-start/index.d.ts +6 -6
  398. package/dist/solid-start/index.js +7 -7
  399. package/dist/spec/index.d.ts +134 -0
  400. package/dist/spec/index.js +353 -0
  401. package/dist/{spec-pins-C89s6DyW.d.ts → spec-pins-CwzDY25w.d.ts} +18 -1
  402. package/dist/{spec-pins--j6mTok4.js → spec-pins-DsLfUH7l.js} +14 -1
  403. package/dist/sql/index.d.ts +145 -119
  404. package/dist/sql/index.js +19921 -19798
  405. package/dist/{executor-De1Of3m3.js → sql-CwuqaQ4Y.js} +34 -169
  406. package/dist/ssr/index.d.ts +4 -4
  407. package/dist/ssr/index.js +3 -2
  408. package/dist/{standard-BK0cqJ7y.js → standard-DkzZUneg.js} +2 -2
  409. package/dist/{standard-CYsm7xpT.d.ts → standard-lmkbOtPB.d.ts} +1 -1
  410. package/dist/{stats-D_AD9GGu.js → stats-DhU78Ctf.js} +8 -4
  411. package/dist/storage/index.d.ts +4 -6
  412. package/dist/storage/index.js +16 -17
  413. package/dist/{bucket-Cl46E3jS.d.ts → storage-api-CB7Zl1Ci.d.ts} +243 -8
  414. package/dist/{store-CGjgWu5n.d.ts → store-DsIYEBnv.d.ts} +1 -1
  415. package/dist/streams/index.d.ts +4 -4
  416. package/dist/streams/index.js +5 -4
  417. package/dist/streams/redis/index.d.ts +1 -1
  418. package/dist/streams/redis/index.js +5 -11
  419. package/dist/{stripe-BMj5LtsT.js → stripe-v-Y2lmop.js} +2 -8
  420. package/dist/supabase-mcp-C6tMoEjn.d.ts +43 -0
  421. package/dist/supabase-mcp-Cpn5A4i-.js +28 -0
  422. package/dist/{support-DWwzVf-O.js → support-D1pFFouF.js} +71 -35
  423. package/dist/{support-view-CVOJJLpc.d.ts → support-view-scqMgtOo.d.ts} +1 -1
  424. package/dist/svelte/index.d.ts +8 -17
  425. package/dist/svelte/index.js +2 -2
  426. package/dist/sveltekit/index.d.ts +7 -7
  427. package/dist/sveltekit/index.js +10 -12
  428. package/dist/table-schema-htM_SbCW.js +286 -0
  429. package/dist/{tags-Cx-LnIQP.d.ts → tags-BO9LjtWG.d.ts} +1 -1
  430. package/dist/tanstack-db/index.d.ts +2 -2
  431. package/dist/tanstack-db/supabase/index.d.ts +52 -0
  432. package/dist/tanstack-db/supabase/index.js +97 -0
  433. package/dist/tanstack-start/index.d.ts +6 -6
  434. package/dist/tanstack-start/index.js +8 -12
  435. package/dist/{tee-CoEppCER.js → tee-Cb98Vn3b.js} +1 -1
  436. package/dist/{template--jDkl3UP.js → template-lPVh-EwW.js} +11 -2
  437. package/dist/{temporal-required-BVvW7SYJ.js → temporal-required-BtynQtM-.js} +1 -1
  438. package/dist/{tenant-BxNFk9bx.d.ts → tenant-CM368LXb.d.ts} +2 -2
  439. package/dist/testing/index.d.ts +249 -118
  440. package/dist/testing/index.js +1418 -870
  441. package/dist/ttl-cache-XzZ-Q2eX.js +29 -0
  442. package/dist/types-BRTSpOIh.js +5 -0
  443. package/dist/{types-C05bxW-W.d.ts → types-Bb_4-vdW.d.ts} +4 -4
  444. package/dist/{types-AYOvcyep.d.ts → types-CD6yCDx3.d.ts} +5 -5
  445. package/dist/{types-6rocye-y.d.ts → types-CbOUc5IH.d.ts} +4 -4
  446. package/dist/{types-6BdhkmZe.d.ts → types-CoE5Zwy4.d.ts} +8 -0
  447. package/dist/{types-DGs5L0VN.d.ts → types-DSJ3-m9X.d.ts} +4 -4
  448. package/dist/{queue-CLJurhdy.d.ts → types-D__3EN0q.d.ts} +17 -19
  449. package/dist/{usage-CrvrL2vw.d.ts → usage-D0NNUFfr.d.ts} +3 -3
  450. package/dist/{vault-wlbBhqm7.d.ts → vault-BpmApxxW.d.ts} +3 -3
  451. package/dist/vercel-connect/index.d.ts +1 -1
  452. package/dist/vercel-connect/index.js +5 -11
  453. package/dist/{verify-DPuWngD4.d.ts → verify-C91Wyp40.d.ts} +5 -35
  454. package/dist/verify-CJbYfADA.js +124 -0
  455. package/dist/{version--AolB5ej.js → version-Cq8gfDbd.js} +1 -1
  456. package/dist/{view-BeFcRV6G.js → view-D5ryq3gz.js} +1 -1
  457. package/dist/{view-CF7ihnkg.d.ts → view-TpXEUcVN.d.ts} +3 -3
  458. package/dist/vue/index.d.ts +9 -18
  459. package/dist/vue/index.js +2 -2
  460. package/dist/{watch-Xuxrvxq-.js → watch-BcvtAHOd.js} +2 -2
  461. package/dist/{watch-DI34G86j.d.ts → watch-COzRWvVN.d.ts} +23 -9
  462. package/dist/{wire-DtZQ4sdE.js → wire-Df3EWkG8.js} +2 -2
  463. package/dist/{workflow-builder-DJ1oHn8g.js → workflow-builder-CHqHpAVt.js} +6 -5
  464. package/dist/workflow-sdk/builder/index.d.ts +3 -3
  465. package/dist/workflow-sdk/index.d.ts +1 -1
  466. package/dist/workflow-sdk/world/index.d.ts +23 -17
  467. package/dist/workflow-sdk/world/index.js +59 -76
  468. package/dist/{workflow-sdk-B3yLD6Br.d.ts → workflow-sdk-DTZyrvNo.d.ts} +3 -3
  469. package/dist/{workflow-sdk-world-D-prir6O.js → workflow-sdk-world-CMV1ahFW.js} +528 -526
  470. package/dist/{workflows-B0j9WKPu.d.ts → workflows-CcpCBfIe.d.ts} +3 -3
  471. package/dist/{workflows-wu1WWBn7.js → workflows-IvxzG2cl.js} +5 -4
  472. package/package.json +54 -3
  473. package/schemas/config-v1.json +243 -0
  474. package/schemas/doctor-report-v1.json +4 -1
  475. package/schemas/spec-manifest-v1.json +95 -0
  476. package/skills/better-supabase/SKILL.md +8 -4
  477. package/skills/better-supabase/references/troubleshooting.md +20 -20
  478. package/skills/better-supabase-api/references/expo.md +6 -3
  479. package/skills/better-supabase-api/references/powersync.md +2 -1
  480. package/skills/better-supabase-auth/SKILL.md +8 -4
  481. package/dist/cli/config-B9HkL8nF.js +0 -2
  482. package/dist/cli/gen-AIf4MREI.js +0 -3100
  483. package/dist/cli/gen-DSrahEdX.js +0 -2
  484. package/dist/cli/prompts-BTYQGunc.js +0 -2
  485. package/dist/cli/run-BO052mki.js +0 -361
  486. package/dist/config-Dn7F5k9A.js +0 -202
  487. package/dist/history-BZih6SFP.js +0 -64
  488. package/dist/index-BkWT_uBO.d.ts +0 -51
  489. package/dist/index-Bxih3l0u.d.ts +0 -81
  490. package/dist/index-CaxrMD1A.d.ts +0 -1
  491. package/dist/index-DQh4VCc9.d.ts +0 -98
  492. package/dist/keys-4MnkWTTh.js +0 -35
  493. package/dist/messages-DYP0sUTe.d.ts +0 -59
  494. package/dist/modules-dxrVK3ID.js +0 -228
  495. package/dist/path-Cv__-OTj.d.ts +0 -17
  496. package/dist/resource-BsvzCMlX.js +0 -212
  497. package/dist/resource-IPS5xi9q.d.ts +0 -74
  498. package/dist/template-CwO38Do8.d.ts +0 -6
  499. package/dist/verify-DL41hbvY.js +0 -232
  500. package/dist/cli/{read-sets-CETOSFx4.js → read-sets-DjJrm8Wj.js} +1 -1
@@ -1,9 +1,8 @@
1
- import { r as defineCliCommand } from "./command-CK14fP91.js";
2
- import { i as writeIfChanged, t as display } from "./io-DI1mTdSA.js";
3
- import { i as importExport } from "./config-NiPxAmUF.js";
1
+ import { r as defineCliCommand } from "./command-DV-StG1x.js";
2
+ import { t as display } from "./io-CFzJVJ68.js";
3
+ import { a as importExport } from "./config-M-WzL9O2.js";
4
+ import { n as staleResult, r as writeLine, t as fileState } from "./files-BVupXPIC.js";
4
5
  import { resolve } from "node:path";
5
- import { existsSync } from "node:fs";
6
- import { readFile } from "node:fs/promises";
7
6
  //#region src/cli/commands/openapi.ts
8
7
  const ARGS = {
9
8
  action: {
@@ -41,17 +40,12 @@ async function runOpenApi(config, args) {
41
40
  error: `${display(config.root, entry)} must export an OpenAPI document (createOpenApi(...)) as \`openapi\` or default.`
42
41
  };
43
42
  const contents = `${JSON.stringify(document, null, 2)}\n`;
44
- const path = resolve(config.root, out);
45
- if (args.check === true) return (existsSync(path) ? await readFile(path, "utf8") : void 0) === contents ? {
46
- code: 0,
47
- output: `${display(config.root, out)} is up to date.`
48
- } : {
49
- code: 1,
50
- error: `${display(config.root, out)} is out of date. Run \`better-supabase openapi emit\`.`
51
- };
43
+ const state = await fileState(config.root, out, contents);
44
+ if (args.check === true) return staleResult(state, "better-supabase openapi emit");
45
+ const { line } = await writeLine(state.path, contents, state.file);
52
46
  return {
53
47
  code: 0,
54
- output: `${await writeIfChanged(path, contents) ? "Wrote" : "Unchanged"} ${display(config.root, out)}`
48
+ output: line
55
49
  };
56
50
  }
57
51
  const openapiCommand = defineCliCommand({
@@ -0,0 +1,2 @@
1
+ import { t as createClackPrompter } from "./prompts-DZJB1nTw.js";
2
+ export { createClackPrompter };
@@ -1,4 +1,4 @@
1
- import { t as __commonJSMin } from "./rolldown-runtime-BPOCksWG.js";
1
+ import { t as __commonJSMin } from "./rolldown-runtime-CMFfr-1z.js";
2
2
  import { styleText } from "node:util";
3
3
  import "node:path";
4
4
  import "node:fs";
@@ -1093,8 +1093,8 @@ const options = (choices) => choices.map((choice) => ({
1093
1093
  label: choice.label,
1094
1094
  ...choice.hint ? { hint: choice.hint } : {}
1095
1095
  }));
1096
- /** The @clack/prompts implementation; spinners write to stderr so stdout stays pipeable. */
1097
- const clackPrompter = {
1096
+ /** The @clack/prompts implementation; spinners write to `output` (stderr in the bin) so stdout stays pipeable. */
1097
+ const createClackPrompter = (output) => ({
1098
1098
  select: async (message, choices, initial) => {
1099
1099
  const answer = await select({
1100
1100
  message,
@@ -1122,13 +1122,13 @@ const clackPrompter = {
1122
1122
  return isCancel(answer) ? void 0 : answer;
1123
1123
  },
1124
1124
  spinner: (message) => {
1125
- const spin = spinner({ output: process.stderr });
1125
+ const spin = spinner({ output });
1126
1126
  spin.start(message);
1127
1127
  return () => {
1128
1128
  spin.clear();
1129
1129
  };
1130
1130
  }
1131
- };
1131
+ });
1132
1132
  /** Runs `task` behind a spinner when `prompts` is set. */
1133
1133
  async function withSpinner(prompts, message, task) {
1134
1134
  const stop = prompts?.spinner(message);
@@ -1139,4 +1139,4 @@ async function withSpinner(prompts, message, task) {
1139
1139
  }
1140
1140
  }
1141
1141
  //#endregion
1142
- export { withSpinner as n, clackPrompter as t };
1142
+ export { withSpinner as n, createClackPrompter as t };
@@ -1,3 +1,4 @@
1
+ import { createRequire } from "node:module";
1
2
  //#region \0rolldown/runtime.js
2
3
  var __create = Object.create;
3
4
  var __defProp = Object.defineProperty;
@@ -20,5 +21,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
20
21
  value: mod,
21
22
  enumerable: true
22
23
  }) : target, mod));
24
+ var __require = /* #__PURE__ */ (() => createRequire(import.meta.url))();
23
25
  //#endregion
24
- export { __toESM as n, __commonJSMin as t };
26
+ export { __require as n, __toESM as r, __commonJSMin as t };
@@ -0,0 +1,389 @@
1
+ import { r as __toESM } from "./rolldown-runtime-CMFfr-1z.js";
2
+ import { c as parseArgs$2, i as joinRepeated, l as renderUsage, n as cliContext, o as listArgs, s as defineCommand, t as GLOBAL_ARGS, u as runCommand } from "./command-DV-StG1x.js";
3
+ import { n as CliError, o as toCliError } from "./errors-CqTLXe2M.js";
4
+ import { n as highlight, r as painter } from "./style-CB3vxgh0.js";
5
+ import { t as VERSION } from "./version-B4k0aUxS.js";
6
+ import { stripVTControlCharacters } from "node:util";
7
+ import { resolve } from "node:path";
8
+ //#region src/cli/builtin-commands.ts
9
+ const BUILTIN = [
10
+ ["init", {
11
+ load: () => import("./init-CVZ3s5kl.js").then((m) => m.initCommand),
12
+ description: "Writes better-supabase.config.ts, src/lib/supabase/index.ts and glue for the frameworks in package.json"
13
+ }],
14
+ ["add", {
15
+ load: () => import("./add-1dc5wM5k.js").then((m) => m.addCommand),
16
+ description: "Adds glue for an integration to an existing project"
17
+ }],
18
+ ["env", {
19
+ load: () => import("./env-vzBG90Um.js").then((m) => m.envCommand),
20
+ description: "Writes the local stack's URL and keys from `supabase status` to an env file, keeping its other lines"
21
+ }],
22
+ ["keys", {
23
+ load: () => import("./keys-CJhtIxJ3.js").then((m) => m.keysCommand),
24
+ description: "Creates an ES256 signing key for the local stack, so local tokens verify through JWKS like hosted ones"
25
+ }],
26
+ ["skills", {
27
+ load: () => import("./skills-CnO8QFS7.js").then((m) => m.skillsCommand),
28
+ description: "Installs the Agent Skills that ship with this version of better-supabase"
29
+ }],
30
+ ["gen", {
31
+ load: () => import("./gen-DmVj3u4L.js").then((m) => m.genCommand),
32
+ description: "Writes the typed client from the database, then every other generated file the config sets up"
33
+ }],
34
+ ["introspect", {
35
+ load: () => import("./introspect-BToGNfm-.js").then((m) => m.introspectCommand),
36
+ description: "Saves the database schema as a snapshot for offline gen"
37
+ }],
38
+ ["openapi", {
39
+ load: () => import("./openapi-DWa4Ir1q.js").then((m) => m.openapiCommand),
40
+ description: "Writes the document your createOpenApi() module exports, so CI can check it for drift"
41
+ }],
42
+ ["spec", {
43
+ load: () => import("./spec-T_0Bcyw7.js").then((m) => m.specCommand),
44
+ description: "Writes, checks or validates the OpenAPI and other spec documents your defineApi() module renders"
45
+ }],
46
+ ["scaffold", {
47
+ load: () => import("./scaffold-CwQUMFRb.js").then((m) => m.scaffoldCommand),
48
+ description: "Writes an API module, its resource routes and an OpenAPI route for Hono or Next.js"
49
+ }],
50
+ ["seed", {
51
+ load: () => import("./seed-DOmit9Hq.js").then((m) => m.seedCommand),
52
+ description: "Renders the fixtures from defineSeed() (better-supabase/testing) to SQL"
53
+ }],
54
+ ["doctor", {
55
+ load: () => import("./doctor-VcDtuusV.js").then((m) => m.doctorCommand),
56
+ description: "Checks RLS, indexes, drift, auth config and env files; exits 1 on errors, or on warnings with --strict"
57
+ }],
58
+ ["sql", {
59
+ load: () => import("./sql-DJrNDxQm.js").then((m) => m.sqlCommand),
60
+ description: "Lists, adds, syncs, upgrades and prints SQL modules"
61
+ }],
62
+ ["config", {
63
+ load: () => import("./config-C2Pz2_4A.js").then((m) => m.configCommand),
64
+ description: "Prints the resolved config: the file it came from, the active environment and every option with its default"
65
+ }],
66
+ ["codemod", {
67
+ load: () => import("./codemod-JVlTQQG2.js").then((m) => m.codemodCommand),
68
+ description: "Rewrites imports and calls for renamed better-supabase APIs"
69
+ }]
70
+ ];
71
+ /** A fresh registry of the built-in commands, for `createCli`. */
72
+ function builtinCommands() {
73
+ return new Map(BUILTIN);
74
+ }
75
+ //#endregion
76
+ //#region src/cli/legacy.ts
77
+ const ARRAY_FLAGS = /* @__PURE__ */ new Set([
78
+ "schema",
79
+ "only",
80
+ "ignore",
81
+ "agent",
82
+ "block",
83
+ "with",
84
+ "explain"
85
+ ]);
86
+ const BOOLEAN_FLAGS = /* @__PURE__ */ new Set([
87
+ "check",
88
+ "watch",
89
+ "json",
90
+ "strict",
91
+ "help",
92
+ "version",
93
+ "force",
94
+ "dry-run",
95
+ "no-color",
96
+ "yes",
97
+ "local",
98
+ "rotate",
99
+ "apply",
100
+ "print",
101
+ "global",
102
+ "stats",
103
+ "fix-grants"
104
+ ]);
105
+ function parseArgs$1(argv) {
106
+ const flags = {};
107
+ const positionals = [];
108
+ for (let index = 0; index < argv.length; index += 1) {
109
+ const token = argv[index];
110
+ if (token === void 0) continue;
111
+ if (token === "--") {
112
+ positionals.push(...argv.slice(index + 1));
113
+ break;
114
+ }
115
+ if (token === "-h") {
116
+ flags["help"] = true;
117
+ continue;
118
+ }
119
+ if (token.startsWith("--")) {
120
+ const body = token.slice(2);
121
+ const eq = body.indexOf("=");
122
+ if (eq !== -1) {
123
+ setFlag(flags, body.slice(0, eq), body.slice(eq + 1));
124
+ continue;
125
+ }
126
+ const next = argv[index + 1];
127
+ if (!BOOLEAN_FLAGS.has(body) && next !== void 0 && !next.startsWith("-")) {
128
+ setFlag(flags, body, next);
129
+ index += 1;
130
+ continue;
131
+ }
132
+ flags[body] = true;
133
+ continue;
134
+ }
135
+ positionals.push(token);
136
+ }
137
+ return {
138
+ command: positionals[0],
139
+ rest: positionals.slice(1),
140
+ flags
141
+ };
142
+ }
143
+ function setFlag(flags, name, value) {
144
+ if (ARRAY_FLAGS.has(name)) {
145
+ const current = flags[name];
146
+ const pieces = value.split(",").map((item) => item.trim()).filter(Boolean);
147
+ flags[name] = typeof current === "object" ? [...current, ...pieces] : pieces;
148
+ return;
149
+ }
150
+ flags[name] = value;
151
+ }
152
+ /**
153
+ * Wraps a `(context) => CommandResult` command as a citty command. Its flags
154
+ * are parsed the way 0.2 parsed them, because it declares no citty args.
155
+ */
156
+ function legacyCommand(name, command, help) {
157
+ return defineCommand({
158
+ meta: {
159
+ name,
160
+ description: help ?? ""
161
+ },
162
+ run: ({ rawArgs, data }) => {
163
+ const parsed = parseArgs$1([name, ...rawArgs]);
164
+ const context = cliContext(data);
165
+ return command({
166
+ ...context,
167
+ env: { ...context.env },
168
+ args: parsed
169
+ });
170
+ }
171
+ });
172
+ }
173
+ //#endregion
174
+ //#region src/cli/output.ts
175
+ const document = (value) => JSON.stringify(value, null, 2);
176
+ /**
177
+ * A command's result. Under `--json`, stdout gets the command's `data`, or
178
+ * `{ "message": output }` when it has none, or Problem Details when it failed
179
+ * without data; the text output moves to stderr as a diagnostic.
180
+ */
181
+ function renderResult(result, options) {
182
+ if (!options.json) return {
183
+ ...result.output ? { stdout: highlight(result.output, options.paint) } : {},
184
+ ...result.error ? { stderr: options.paint("red", result.error) } : {}
185
+ };
186
+ if (result.data === void 0 && result.error) return {
187
+ stdout: document(new CliError("failed", result.error, { exitCode: result.code }).problem),
188
+ ...result.output ? { stderr: result.output } : {}
189
+ };
190
+ const diagnostics = [...result.data !== void 0 && result.output ? [result.output] : [], ...result.error ? [result.error] : []];
191
+ return {
192
+ stdout: document(result.data ?? { message: result.output ?? "" }),
193
+ ...diagnostics.length > 0 ? { stderr: diagnostics.join("\n") } : {}
194
+ };
195
+ }
196
+ /** An error that stopped the run, with the usage text for usage errors. */
197
+ function renderError(error, options) {
198
+ if (options.json) return { stdout: document(error.problem) };
199
+ return { stderr: options.usage ? `${error.message}\n\n${options.usage}` : error.message };
200
+ }
201
+ //#endregion
202
+ //#region src/cli/run.ts
203
+ /** Global options that take a value, so the command name is the token after them. */
204
+ const GLOBAL_VALUE_FLAGS = new Set(Object.entries(GLOBAL_ARGS).flatMap(([name, definition]) => definition.type === "string" ? [`--${name}`] : []));
205
+ /** The index of the command name: the first token that is not an option or an option's value. */
206
+ function commandIndex(argv) {
207
+ for (let index = 0; index < argv.length; index += 1) {
208
+ const token = argv[index];
209
+ if (token === "--") return -1;
210
+ if (!token.startsWith("-")) return index;
211
+ if (GLOBAL_VALUE_FLAGS.has(token)) index += 1;
212
+ }
213
+ return -1;
214
+ }
215
+ function isCommandResult(value) {
216
+ return typeof value === "object" && value !== null && "code" in value && typeof value.code === "number";
217
+ }
218
+ const SHOWS_USAGE = /* @__PURE__ */ new Set(["usage", "unknown_command"]);
219
+ function withoutPrompts(io) {
220
+ const { prompts: _prompts, ...rest } = io;
221
+ return rest;
222
+ }
223
+ /** The registered command closest to a mistyped one, if it is close enough to be a typo. */
224
+ async function suggestCommand(name, names) {
225
+ if (names.length === 0) return void 0;
226
+ const { closest, distance } = await import("./fastest-levenshtein-CF7BCi9l.js").then((m) => /* @__PURE__ */ __toESM(m.default, 1));
227
+ const candidate = closest(name, [...names]);
228
+ return distance(name, candidate) <= Math.max(2, Math.floor(name.length / 3)) ? candidate : void 0;
229
+ }
230
+ /** A CLI over its own command registry, so tests and embedders don't share state through the module. */
231
+ function createCli(init) {
232
+ const commands = new Map(init.commands);
233
+ const root = defineCommand({
234
+ meta: {
235
+ name: "better-supabase",
236
+ version: VERSION,
237
+ description: "Typed Supabase: codegen, doctor, the SQL modules and project setup"
238
+ },
239
+ args: GLOBAL_ARGS,
240
+ subCommands: () => Object.fromEntries([...commands].map(([name, entry]) => [name, "command" in entry ? entry.command : defineCommand({ meta: {
241
+ name,
242
+ description: entry.description
243
+ } })]))
244
+ });
245
+ const help = async (command, color = false) => {
246
+ const load = command === void 0 ? void 0 : commands.get(command)?.load;
247
+ const text = load ? await renderUsage(await load(), root) : await renderUsage(root);
248
+ return color ? text : stripVTControlCharacters(text);
249
+ };
250
+ const run = async (argv, options = {}) => {
251
+ const stdout = [];
252
+ const stderr = [];
253
+ const io = options.io ?? {
254
+ stdout: (text) => {
255
+ stdout.push(text);
256
+ },
257
+ stderr: (text) => {
258
+ stderr.push(text);
259
+ }
260
+ };
261
+ const out = (text) => {
262
+ const line = text.endsWith("\n") ? text : `${text}\n`;
263
+ if (options.io) stdout.push(line);
264
+ io.stdout(line);
265
+ };
266
+ const fail = (text) => {
267
+ const line = text.endsWith("\n") ? text : `${text}\n`;
268
+ if (options.io) stderr.push(line);
269
+ io.stderr(line);
270
+ };
271
+ const paint = painter(io.color);
272
+ const usage = (command) => help(command, io.color === true);
273
+ const finish = (code) => ({
274
+ code,
275
+ stdout: stdout.join(""),
276
+ stderr: stderr.join("")
277
+ });
278
+ const index = commandIndex(argv);
279
+ const name = index === -1 ? void 0 : argv[index];
280
+ const rest = index === -1 ? [...argv] : argv.toSpliced(index, 1);
281
+ const flags = new Set(rest.slice(0, rest.includes("--") ? rest.indexOf("--") : void 0));
282
+ const wantsHelp = flags.has("--help") || flags.has("-h");
283
+ const json = flags.has("--json");
284
+ const report = (rendered) => {
285
+ if (rendered.stdout) out(rendered.stdout);
286
+ if (rendered.stderr) fail(rendered.stderr);
287
+ };
288
+ const reportError = async (cause) => {
289
+ const error = toCliError(cause);
290
+ const shown = error.code === "usage" ? new CliError("usage", stripVTControlCharacters(error.message)) : error;
291
+ report(renderError(shown, {
292
+ json,
293
+ paint,
294
+ ...SHOWS_USAGE.has(error.code) ? { usage: await usage(error.code === "usage" ? name : void 0) } : {}
295
+ }));
296
+ return finish(error.exitCode);
297
+ };
298
+ if (flags.has("--version") || name === "version") {
299
+ out(json ? JSON.stringify({ version: VERSION }) : VERSION);
300
+ return finish(0);
301
+ }
302
+ if (name === void 0) {
303
+ (wantsHelp ? out : fail)(await usage());
304
+ return finish(wantsHelp ? 0 : 2);
305
+ }
306
+ if (name === "help") {
307
+ out(await usage(rest.find((token) => !token.startsWith("-"))));
308
+ return finish(0);
309
+ }
310
+ const load = commands.get(name)?.load;
311
+ if (!load) {
312
+ const suggestion = await suggestCommand(name, [...commands.keys()]);
313
+ return reportError(new CliError("unknown_command", `Unknown command "${name}".${suggestion ? ` Did you mean "${suggestion}"?` : ""}`, suggestion ? { suggestion } : {}));
314
+ }
315
+ if (wantsHelp) {
316
+ out(await usage(name));
317
+ return finish(0);
318
+ }
319
+ let context;
320
+ let command;
321
+ try {
322
+ const [loaded, { discoverConfig, loadConfig }, { configEnvironment, parseEnv }] = await Promise.all([
323
+ load(),
324
+ import("./config-DpbF8ML3.js"),
325
+ import("./env-zHJtMIBo.js")
326
+ ]);
327
+ command = loaded;
328
+ const globals = parseArgs$2(rest, GLOBAL_ARGS);
329
+ const cwd = resolve(options.cwd ?? ".", globals.cwd ?? ".");
330
+ const env = parseEnv(options.env ?? {});
331
+ const environment = configEnvironment(globals.env, env);
332
+ const reloadConfig = () => loadConfig(cwd, globals.config, environment).catch((cause) => {
333
+ throw cause instanceof CliError ? cause : new CliError("config_invalid", toCliError(cause).message, { cause });
334
+ });
335
+ const config = await reloadConfig();
336
+ const configFile = discoverConfig(cwd, globals.config);
337
+ const interactive = globals.json !== true && globals.yes !== true && env.CI === void 0;
338
+ context = {
339
+ cwd,
340
+ config,
341
+ ...configFile ? { configFile } : {},
342
+ reloadConfig,
343
+ io: interactive ? io : withoutPrompts(io),
344
+ env,
345
+ json: globals.json === true,
346
+ signal: options.signal
347
+ };
348
+ } catch (cause) {
349
+ return reportError(cause);
350
+ }
351
+ try {
352
+ const { result } = await runCommand(command, {
353
+ rawArgs: joinRepeated(rest, listArgs(command)),
354
+ data: context
355
+ });
356
+ if (!isCommandResult(result)) return finish(0);
357
+ report(renderResult(result, {
358
+ json,
359
+ paint
360
+ }));
361
+ return finish(result.code);
362
+ } catch (cause) {
363
+ return reportError(cause);
364
+ }
365
+ };
366
+ return {
367
+ run,
368
+ help,
369
+ commandNames: () => [...commands.keys()],
370
+ commandDescriptions: () => new Map([...commands].flatMap(([name, entry]) => "description" in entry ? [[name, entry.description]] : [])),
371
+ register: (name, command) => {
372
+ commands.set(name, {
373
+ load: () => Promise.resolve(command),
374
+ command
375
+ });
376
+ }
377
+ };
378
+ }
379
+ /** The CLI the `better-supabase` bin runs, with every built-in command. */
380
+ const defaultCli = createCli({ commands: builtinCommands() });
381
+ const run = (argv, options) => defaultCli.run(argv, options);
382
+ const help = (command, color) => defaultCli.help(command, color);
383
+ /** The names `run()` dispatches, registered commands included. */
384
+ const commandNames = () => defaultCli.commandNames();
385
+ function registerCommand(name, command, help) {
386
+ defaultCli.register(name, typeof command === "function" ? legacyCommand(name, command, help) : command);
387
+ }
388
+ //#endregion
389
+ export { run as i, help as n, registerCommand as r, commandNames as t };