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.
- package/README.md +6 -2
- package/dist/{access-sql-B0dF-SoF.js → access-sql-CrSbK1q-.js} +1 -1
- package/dist/{adapter-B-tL8hqg.js → adapter-CN45ibbV.js} +663 -157
- package/dist/{agents-CVHGd7It.d.ts → agents-BY_LQXtQ.d.ts} +4 -4
- package/dist/{ai-cache-CBWs1W0k.js → ai-cache-Dfgk8nBT.js} +2 -1
- package/dist/{ai-cache-DaDu_G5L.d.ts → ai-cache-DrUMMgp6.d.ts} +4 -4
- package/dist/{ai-chat-B24UI962.js → ai-chat-CVLRWbtS.js} +4 -3
- package/dist/{ai-chat-7amvXjmQ.d.ts → ai-chat-DXkMy74O.d.ts} +5 -5
- package/dist/{ai-files-CSPNswUY.js → ai-files-CioLu5du.js} +5 -4
- package/dist/ai-message-DfaP8sis.js +14 -0
- package/dist/ai-sdk/agents/index.d.ts +4 -4
- package/dist/ai-sdk/batches/index.d.ts +4 -4
- package/dist/ai-sdk/batches/index.js +4 -4
- package/dist/ai-sdk/cache/index.d.ts +2 -2
- package/dist/ai-sdk/cache/index.js +2 -2
- package/dist/ai-sdk/chat/index.d.ts +1 -1
- package/dist/ai-sdk/chat/index.js +8 -20
- package/dist/ai-sdk/embeddings/index.d.ts +2 -2
- package/dist/ai-sdk/files/index.d.ts +3 -3
- package/dist/ai-sdk/files/index.js +4 -4
- package/dist/ai-sdk/index.d.ts +37 -9
- package/dist/ai-sdk/index.js +3 -2
- package/dist/ai-sdk/mcp/index.d.ts +43 -6
- package/dist/ai-sdk/mcp/index.js +36 -7
- package/dist/ai-sdk/memory/index.d.ts +2 -2
- package/dist/ai-sdk/memory/index.js +1 -1
- package/dist/ai-sdk/workflow/index.d.ts +6 -6
- package/dist/ai-sdk/workflow/index.js +13 -24
- package/dist/{ai-tasks-Cd1HMFvB.d.ts → ai-tasks-BRQ6iQLc.d.ts} +4 -4
- package/dist/{announcements-ZRGnScWI.d.ts → announcements-Bouy0Ski.d.ts} +3 -3
- package/dist/{announcements-CiyOs-xP.js → announcements-p_BFofiR.js} +1 -1
- package/dist/api-Dnf2q-Ht.d.ts +370 -0
- package/dist/api-DtHFC037.js +676 -0
- package/dist/{api-keys-CIjghYjV.d.ts → api-keys-C8BlF3L2.d.ts} +4 -4
- package/dist/arazzo/index.d.ts +255 -0
- package/dist/arazzo/index.js +622 -0
- package/dist/{assistant-DwdpDH1q.d.ts → assistant-DBlFDZsi.d.ts} +5 -5
- package/dist/astro/index.d.ts +7 -7
- package/dist/astro/index.js +7 -7
- package/dist/asyncapi/index.d.ts +103 -0
- package/dist/asyncapi/index.js +569 -0
- package/dist/authorizer-ayxUDXXP.js +126 -0
- package/dist/authorizer-eiOjo-3l.d.ts +73 -0
- package/dist/better-result/index.d.ts +118 -0
- package/dist/better-result/index.js +64 -0
- package/dist/{bind-l4kAvYSv.js → bind-ButSzrHe.js} +1 -1
- package/dist/{bind-Bu_ZNa3W.d.ts → bind-CQ5mPyX1.d.ts} +3 -3
- package/dist/{block-events-CrT8r7Fe.js → block-events-DTxU5tfr.js} +18 -3
- package/dist/{block-fields-GFkxl4dP.js → block-fields-CroxUuF2.js} +3 -3
- package/dist/{block-fields-SJ6fEf3o.d.ts → block-fields-D1pfrcIY.d.ts} +2 -2
- package/dist/{block-helpers-CKtbFcRv.d.ts → block-helpers-C0Xj8War.d.ts} +2 -2
- package/dist/{block-helpers-DWHxHsEQ.js → block-helpers-Cy3pB96I.js} +41 -9
- package/dist/{block-hooks-BmjMyXTa.js → block-hooks-BPNMIlLl.js} +3 -3
- package/dist/{block-hooks-plbZ0AbJ.d.ts → block-hooks-DaOVC7SC.d.ts} +3 -3
- package/dist/{block-transport-BLr-ZgLc.js → block-transport-bAKh-dGc.js} +28 -2
- package/dist/{block-transport-DvaoPuZ9.d.ts → block-transport-inD4fFq-.d.ts} +24 -2
- package/dist/blocks/agents/index.d.ts +3 -3
- package/dist/blocks/agents/index.js +5 -4
- package/dist/blocks/ai-cache/index.d.ts +3 -3
- package/dist/blocks/ai-cache/index.js +3 -3
- package/dist/blocks/ai-chat/index.d.ts +9 -4
- package/dist/blocks/ai-chat/index.js +5 -5
- package/dist/blocks/ai-chat/react/index.d.ts +3 -3
- package/dist/blocks/ai-chat/react/index.js +5 -5
- package/dist/blocks/ai-files/index.d.ts +3 -3
- package/dist/blocks/ai-files/index.js +3 -3
- package/dist/blocks/ai-providers/index.d.ts +3 -3
- package/dist/blocks/ai-providers/index.js +8 -7
- package/dist/blocks/ai-tasks/index.d.ts +3 -3
- package/dist/blocks/ai-tasks/index.js +7 -6
- package/dist/blocks/announcements/index.d.ts +3 -3
- package/dist/blocks/announcements/index.js +3 -3
- package/dist/blocks/announcements/react/index.d.ts +3 -3
- package/dist/blocks/announcements/react/index.js +3 -3
- package/dist/blocks/api-keys/index.d.ts +5 -5
- package/dist/blocks/api-keys/index.js +8 -8
- package/dist/blocks/attachments/index.d.ts +12 -8
- package/dist/blocks/attachments/index.js +22 -13
- package/dist/blocks/audit/index.d.ts +21 -10
- package/dist/blocks/audit/index.js +30 -11
- package/dist/blocks/billing/index.d.ts +11 -9
- package/dist/blocks/billing/index.js +15 -15
- package/dist/blocks/comments/index.d.ts +8 -8
- package/dist/blocks/comments/index.js +8 -7
- package/dist/blocks/connectors/index.d.ts +3 -3
- package/dist/blocks/connectors/index.js +7 -6
- package/dist/blocks/data-lifecycle/index.d.ts +12 -8
- package/dist/blocks/data-lifecycle/index.js +13 -8
- package/dist/blocks/entitlements/index.d.ts +3 -3
- package/dist/blocks/entitlements/index.js +1 -1
- package/dist/blocks/flags/index.d.ts +4 -4
- package/dist/blocks/flags/index.js +4 -3
- package/dist/blocks/inbox/index.d.ts +3 -3
- package/dist/blocks/inbox/index.js +4 -5
- package/dist/blocks/inbox/react/index.d.ts +1 -1
- package/dist/blocks/inbox/react/index.js +1 -1
- package/dist/blocks/inbox/react/server.d.ts +1 -1
- package/dist/blocks/index.d.ts +10 -10
- package/dist/blocks/index.js +6 -6
- package/dist/blocks/jobs/index.d.ts +48 -32
- package/dist/blocks/jobs/index.js +44 -287
- package/dist/blocks/knowledge/index.d.ts +3 -3
- package/dist/blocks/knowledge/index.js +3 -3
- package/dist/blocks/memory/index.d.ts +4 -4
- package/dist/blocks/memory/index.js +7 -6
- package/dist/blocks/notifications/index.d.ts +11 -9
- package/dist/blocks/notifications/index.js +20 -25
- package/dist/blocks/notifications/react/index.d.ts +1 -1
- package/dist/blocks/notifications/react/index.js +1 -1
- package/dist/blocks/onboarding/index.d.ts +3 -3
- package/dist/blocks/onboarding/index.js +3 -3
- package/dist/blocks/onboarding/react/index.d.ts +2 -2
- package/dist/blocks/onboarding/react/index.js +2 -2
- package/dist/blocks/onboarding/react/server.d.ts +1 -1
- package/dist/blocks/organizations/index.d.ts +9 -9
- package/dist/blocks/organizations/index.js +11 -18
- package/dist/blocks/outbox/index.d.ts +2 -2
- package/dist/blocks/outbox/index.js +16 -25
- package/dist/blocks/profiles/index.d.ts +7 -7
- package/dist/blocks/profiles/index.js +7 -6
- package/dist/blocks/push/index.d.ts +4 -4
- package/dist/blocks/push/index.js +3 -3
- package/dist/blocks/settings/index.d.ts +4 -4
- package/dist/blocks/settings/index.js +7 -6
- package/dist/blocks/sso/index.d.ts +5 -5
- package/dist/blocks/sso/index.js +6 -5
- package/dist/blocks/usage/index.d.ts +3 -3
- package/dist/blocks/usage/index.js +5 -4
- package/dist/blocks/waitlist/index.d.ts +5 -5
- package/dist/blocks/waitlist/index.js +5 -4
- package/dist/blocks/webhooks/index.d.ts +22 -13
- package/dist/blocks/webhooks/index.js +41 -70
- package/dist/blocks/workflow-builder/index.d.ts +4 -4
- package/dist/blocks/workflow-builder/index.js +3 -3
- package/dist/blocks/workflow-builder/react/index.d.ts +4 -4
- package/dist/blocks/workflow-builder/react/index.js +4 -4
- package/dist/blocks/workflows/index.d.ts +3 -3
- package/dist/blocks/workflows/index.js +3 -3
- package/dist/blocks/workflows/react/index.d.ts +3 -3
- package/dist/blocks/workflows/react/index.js +3 -3
- package/dist/build-hPwk3_X5.js +1296 -0
- package/dist/{build-BXIzE6Xv.js → build-meLuYGri.js} +3 -3
- package/dist/casing-DdFWEtqr.js +16 -0
- package/dist/chat-sdk/index.d.ts +6 -6
- package/dist/chat-sdk/index.js +5 -4
- package/dist/chat-sdk/react/index.d.ts +1 -1
- package/dist/chat-sdk/react/server.d.ts +1 -1
- package/dist/{claims-DDBQT6BK.js → claims-0KZVT804.js} +1 -1
- package/dist/cli/add-1dc5wM5k.js +69 -0
- package/dist/cli/arazzo-1.0-BalU61-_.js +532 -0
- package/dist/cli/arazzo-1.1-Bnfasbun.js +705 -0
- package/dist/cli/asyncapi-3.0.0-C78dBjR6.js +5593 -0
- package/dist/cli/asyncapi-3.1.0-g-7aIfV1.js +5833 -0
- package/dist/cli/bin.js +4 -4
- package/dist/cli/cache-CIfA-jBV.js +483 -0
- package/dist/cli/{codemod-Bl_tQpHn.js → codemod-JVlTQQG2.js} +4 -4
- package/dist/cli/{command-CK14fP91.js → command-DV-StG1x.js} +5 -0
- package/dist/cli/{config-DU7EJImt.js → config-C2Pz2_4A.js} +7 -4
- package/dist/cli/config-DpbF8ML3.js +2 -0
- package/dist/cli/{config-NiPxAmUF.js → config-M-WzL9O2.js} +116 -18
- package/dist/cli/{db-DOBPt660.js → db-BkcfOlyB.js} +2 -1
- package/dist/cli/{diff-SjkO5rNr.js → diff-D1jGdb3Y.js} +1 -1
- package/dist/cli/{doctor-CVdnLahA.js → doctor-VcDtuusV.js} +317 -222
- package/dist/cli/emit-BHHfwUoT.js +1136 -0
- package/dist/cli/{env-qXgyMV6r.js → env-B--LMhEe.js} +13 -10
- package/dist/cli/env-vzBG90Um.js +2 -0
- package/dist/cli/{env-CJLbUVPB.js → env-zHJtMIBo.js} +11 -3
- package/dist/cli/{errors-4v4DTtda.js → errors-CqTLXe2M.js} +18 -2
- package/dist/cli/{fastest-levenshtein-CFN-lNDv.js → fastest-levenshtein-CF7BCi9l.js} +1 -1
- package/dist/cli/files-BVupXPIC.js +34 -0
- package/dist/cli/gen-DmVj3u4L.js +322 -0
- package/dist/cli/{init-Cr6arjXU.js → glue-C1UE8gQN.js} +16 -313
- package/dist/cli/index.d.ts +59 -31
- package/dist/cli/index.js +8 -6
- package/dist/cli/init-CVZ3s5kl.js +258 -0
- package/dist/cli/{introspect-Bzuv1HHj.js → introspect-BToGNfm-.js} +14 -14
- package/dist/cli/{io-DI1mTdSA.js → io-CFzJVJ68.js} +5 -1
- package/dist/cli/{keys-BGCnnb-s.js → keys-CJhtIxJ3.js} +4 -4
- package/dist/cli/metadata-DSRKCaf-.js +133 -0
- package/dist/cli/names-D6LrQnOv.js +6 -0
- package/dist/cli/openapi-3.0-t7xwkuRH.js +928 -0
- package/dist/cli/openapi-3.1-CVze7tBS.js +870 -0
- package/dist/cli/openapi-3.2-CFoMYM01.js +1031 -0
- package/dist/cli/{openapi-BlRJ18s3.js → openapi-DWa4Ir1q.js} +8 -14
- package/dist/cli/prompts-BdeVmVpg.js +2 -0
- package/dist/cli/{prompts-BNcNfAve.js → prompts-DZJB1nTw.js} +6 -6
- package/dist/cli/{rolldown-runtime-BPOCksWG.js → rolldown-runtime-CMFfr-1z.js} +3 -1
- package/dist/cli/run-DA6_lg3w.js +389 -0
- package/dist/cli/run-DuN1MX-7.js +705 -0
- package/dist/cli/scaffold-5DenHSxF.js +292 -0
- package/dist/cli/scaffold-CwQUMFRb.js +2 -0
- package/dist/cli/{seed-DQzqT7LP.js → seed-CzBmrGON.js} +14 -18
- package/dist/cli/seed-DOmit9Hq.js +2 -0
- package/dist/cli/{skills-QQs4q68J.js → skills-CnO8QFS7.js} +7 -6
- package/dist/cli/snapshot-Bstk6ulj.js +287 -0
- package/dist/cli/source-args-BYfq6imV.js +31 -0
- package/dist/cli/spec-CzosTYm3.js +7438 -0
- package/dist/cli/spec-T_0Bcyw7.js +2 -0
- package/dist/cli/{sql-B8csQPyn.js → sql-BKOOQAX3.js} +240 -218
- package/dist/cli/sql-DJrNDxQm.js +3 -0
- package/dist/cli/{style-C0NFdJRL.js → style-CB3vxgh0.js} +3 -3
- package/dist/cli/typegen-Demi5-VQ.js +486 -0
- package/dist/cli/validate-Ca13ktgz.js +7522 -0
- package/dist/cli/{version-Bp4fyubI.js → version-B4k0aUxS.js} +1 -1
- package/dist/client/index.d.ts +4 -3
- package/dist/client/index.js +60 -3
- package/dist/client/native/index.d.ts +3 -3
- package/dist/client/native/index.js +3 -3
- package/dist/{client-CI0Z2zWX.js → client-wxeTQFtB.js} +36 -3
- package/dist/{clone-BfgmLU90.js → clone-dN9XOL1K.js} +9 -1
- package/dist/{cloud-event-BnmD5fb9.js → cloud-event-CTh9Sr5w.js} +16 -2
- package/dist/{cloud-event-C1JCc1bH.d.ts → cloud-event-Dune0KI7.d.ts} +16 -2
- package/dist/{compiler-DY_wkj4R.d.ts → compiler-V1qvcST1.d.ts} +2 -2
- package/dist/{compose-BIBNgAnq.js → compose-BHej1acw.js} +3 -3
- package/dist/{composite-CpHLEo-G.d.ts → composite-CWAJTRBF.d.ts} +6 -6
- package/dist/{composite-C6I8ZyaF.js → composite-zTe0TCqj.js} +4 -4
- package/dist/config/index.d.ts +3 -4
- package/dist/config/index.js +4 -4
- package/dist/config-DlKvtt95.js +540 -0
- package/dist/{connector-Dv8kK0MO.d.ts → connector-CySQEFcW.d.ts} +1 -1
- package/dist/{connectors-CrpknU0P.d.ts → connectors--PGhmiu0.d.ts} +4 -4
- package/dist/{context-BCrWe7ow.d.ts → context-DsV2SueA.d.ts} +11 -2
- package/dist/context-nPDvQ-Zl.js +41 -0
- package/dist/credentials/index.d.ts +5 -5
- package/dist/credentials/index.js +9 -17
- package/dist/{cron-DVPUg5k3.js → cron-D25Ukpxy.js} +1 -1
- package/dist/cron-route-D2AN9SA1.js +24 -0
- package/dist/{csv-DCK-PT1n.js → csv-BZnHA1Py.js} +1 -1
- package/dist/{define-B-TVjC25.js → define-CFQcvM20.js} +263 -229
- package/dist/{define-CJJkkr1-.d.ts → define-DmcfoNXB.d.ts} +136 -111
- package/dist/edge/index.d.ts +66 -13
- package/dist/edge/index.js +65 -39
- package/dist/elysia/index.d.ts +1 -1
- package/dist/elysia/index.js +1 -1
- package/dist/{embeddings-C9KGQnXt.d.ts → embeddings-B4vhS-dY.d.ts} +1 -1
- package/dist/{ended-XjeGQ5XW.d.ts → ended-CcvcRqEd.d.ts} +7 -1
- package/dist/{entitlements-DRl6ZJUm.js → entitlements-BYFf0Cdh.js} +2 -2
- package/dist/{entitlements-BKSVGtrG.d.ts → entitlements-Ds8qoYZ-.d.ts} +1 -1
- package/dist/env/index.d.ts +1 -1
- package/dist/env/index.js +9 -2
- package/dist/{errors-B11Duf73.js → errors-2M6CKMP4.js} +5 -0
- package/dist/{errors-DLjJHPLK.js → errors-rZ7VIqp6.js} +2 -2
- package/dist/{escape-like-ImTK0ps_.d.ts → escape-like-DDWoHzh_.d.ts} +1 -1
- package/dist/eve/index.d.ts +5 -5
- package/dist/eve/index.js +5 -11
- package/dist/{eve-gT2Fpjut.d.ts → eve-CoAIcCkq.d.ts} +2 -2
- package/dist/events/index.d.ts +4 -4
- package/dist/events/index.js +7 -2
- package/dist/{events-DWDhx77e.d.ts → events-D1BOCll8.d.ts} +6 -4
- package/dist/{executor-Bq28caBo.js → executor-B-fD7DLt.js} +52 -35
- package/dist/executor-B_Hfobee.js +162 -0
- package/dist/{executor-BVBFM86G.d.ts → executor-CpxLPCiz.d.ts} +1 -1
- package/dist/{executor-CaWigTyR.d.ts → executor-DfEtf0cq.d.ts} +43 -27
- package/dist/{executor-DvsBbNBS.d.ts → executor-Drzu3dBK.d.ts} +2 -2
- package/dist/{executor-DbvExCFC.d.ts → executor-ngjKL_Pe.d.ts} +2 -2
- package/dist/expo/index.d.ts +4 -4
- package/dist/expo/index.js +6 -6
- package/dist/expo-sqlite/index.d.ts +3 -3
- package/dist/expo-sqlite/index.js +2 -2
- package/dist/extra-CGQ2_q3S.js +10 -0
- package/dist/{field-errors-BFOa7WhB.d.ts → field-errors-DIe9XYWL.d.ts} +17 -7
- package/dist/{field-errors-VF1yb8yI.js → field-errors-DZVRWRkf.js} +1 -1
- package/dist/format-DTXdu8ya.d.ts +70 -0
- package/dist/{framework-KIPvRQJU.d.ts → framework-148t1m3C.d.ts} +5 -5
- package/dist/{framework-BDCpJI7o.js → framework-3ey3QmrO.js} +2 -2
- package/dist/function-contract-BcZenXMO.d.ts +8 -0
- package/dist/{gateway-C1ssRHnf.d.ts → gateway-S9vicgeo.d.ts} +4 -4
- package/dist/{guards-BnzDvFrz.js → guards-6F2bCtQR.js} +3 -1
- package/dist/h3/index.d.ts +1 -1
- package/dist/h3/index.js +1 -1
- package/dist/h3/v1/index.d.ts +1 -1
- package/dist/h3/v1/index.js +1 -1
- package/dist/{message-CaKlqdsX.js → history-GH1HJWQV.js} +65 -13
- package/dist/hmac-DCud0myt.js +22 -0
- package/dist/hono/index.d.ts +19 -14
- package/dist/hono/index.js +21 -16
- package/dist/{hooks-1BTCJsiw.js → hooks-Bhza9Hnr.js} +68 -100
- package/dist/http-sbmBe5d2.js +25 -0
- package/dist/{inbox-i7E1ppo6.d.ts → inbox-Cd1KCEBL.d.ts} +3 -3
- package/dist/index-B72Rvv_j.d.ts +89 -0
- package/dist/{index-DunNRdnT.d.ts → index-BCHR4Ucl.d.ts} +4 -4
- package/dist/{index-CLg87OBW.d.ts → index-BUK7jUzR.d.ts} +6 -0
- package/dist/{config-D44Y7PAv.d.ts → index-Ba1SI-uO.d.ts} +625 -278
- package/dist/{index-D48jVS-N.d.ts → index-BfxOaOYs.d.ts} +4 -5
- package/dist/{index-ClmjK_o-.d.ts → index-CicIyqOe.d.ts} +4 -4
- package/dist/{index-ACiNPN4Z.d.ts → index-D69h4QqD.d.ts} +1 -1
- package/dist/index-DG2SUXDQ.d.ts +58 -0
- package/dist/{index-Bepi-Hgg.d.ts → index-DoNVLHOU.d.ts} +3 -3
- package/dist/{index-CdZKQF98.d.ts → index-R274XFlg.d.ts} +1 -1
- package/dist/{index-CewnYSpv.d.ts → index-_4R4b01v.d.ts} +8 -18
- package/dist/index.d.ts +89 -14
- package/dist/index.js +12 -11
- package/dist/{json-schema-CvER4kgT.js → json-schema-CT4tvrkA.js} +148 -102
- package/dist/{kit-Fm-Fv7q5.js → kit-BhHr9T9v.js} +36 -10
- package/dist/{kit-CkNzZUqv.d.ts → kit-W99LCPBS.d.ts} +13 -7
- package/dist/{knowledge-BXBbT0Tr.d.ts → knowledge-CAReFpRA.d.ts} +5 -5
- package/dist/{knowledge-CDmiMLew.js → knowledge-DnHtb64A.js} +4 -3
- package/dist/list/index.d.ts +1 -2
- package/dist/{list-query-BRt-zDF7.d.ts → list-query-D3JQeEL7.d.ts} +4 -4
- package/dist/mcp/index.d.ts +49 -19
- package/dist/mcp/index.js +158 -94
- package/dist/mcp/sdk/index.d.ts +38 -6
- package/dist/mcp/sdk/index.js +88 -6
- package/dist/{message-CfDoR0Y6.d.ts → message-B0fNJgq8.d.ts} +1 -2
- package/dist/{messages-B9-5887d.js → messages-CJoHHCWT.js} +4 -205
- package/dist/{mfa-Daak8ukG.d.ts → mfa-SZc9YYyb.d.ts} +1 -1
- package/dist/model-OgBxvk3N.d.ts +300 -0
- package/dist/model-messages-Cxw_Up4f.js +206 -0
- package/dist/model-messages-D4GZllOD.d.ts +34 -0
- package/dist/modules-DksjZyMW.js +77 -0
- package/dist/nestjs/index.d.ts +2 -2
- package/dist/nestjs/index.js +1 -1
- package/dist/next/index.d.ts +105 -55
- package/dist/next/index.js +204 -170
- package/dist/node/index.d.ts +2 -2
- package/dist/node/index.js +1 -1
- package/dist/{onboarding-BZGHYJks.d.ts → onboarding-LZvlK1P4.d.ts} +3 -3
- package/dist/openapi/index.d.ts +4 -2
- package/dist/openapi/index.js +21 -343
- package/dist/optional-peer-D1pi-skw.js +24 -0
- package/dist/orpc/index.d.ts +8 -8
- package/dist/orpc/index.js +21 -20
- package/dist/otel/index.d.ts +3 -3
- package/dist/otel/index.js +7 -7
- package/dist/{outbox-Cq7pPYvl.d.ts → outbox-DZfAvfzC.d.ts} +6 -6
- package/dist/overlay/index.d.ts +233 -0
- package/dist/overlay/index.js +554 -0
- package/dist/{plugin-FGY8UhYm.d.ts → plugin-CPK2HsbY.d.ts} +42 -3
- package/dist/plugins/actor/index.d.ts +1 -1
- package/dist/plugins/actor/index.js +1 -1
- package/dist/plugins/rules/index.d.ts +2 -2
- package/dist/plugins/rules/index.js +1 -1
- package/dist/plugins/soft-delete/index.d.ts +3 -3
- package/dist/plugins/soft-delete/index.js +9 -2
- package/dist/plugins/tenant/index.d.ts +7 -2
- package/dist/plugins/tenant/index.js +16 -2
- package/dist/plugins/timestamps/index.d.ts +1 -1
- package/dist/plugins/timestamps/index.js +8 -1
- package/dist/plugins/validation/index.d.ts +2 -2
- package/dist/plugins/validation/index.js +4 -4
- package/dist/{pool-CAu2nLrL.d.ts → pool-gkhbGp2E.d.ts} +2 -2
- package/dist/postgres/index.d.ts +4 -4
- package/dist/postgres/index.js +2 -1
- package/dist/{postgrest-BLVdEnfe.d.ts → postgrest-BUqLag2Q.d.ts} +1 -1
- package/dist/powersync/index.d.ts +5 -5
- package/dist/powersync/index.js +4 -4
- package/dist/powersync/react/index.d.ts +3 -3
- package/dist/powersync/react/index.js +1 -1
- package/dist/{problem-BreOl8b8.js → problem-CJvFeGu7.js} +13 -2
- package/dist/{problem-DD8LZFjc.d.ts → problem-TvGdxO1t.d.ts} +7 -1
- package/dist/{provider-Di3sRutW.js → provider-DxRTex4x.js} +1 -1
- package/dist/{provider-D-UEMvSD.d.ts → provider-ib9wzUDz.d.ts} +2 -2
- package/dist/query/index.d.ts +2 -2
- package/dist/query/index.js +1 -1
- package/dist/{query-BQ-NaZon.js → query-Ctz-qKRx.js} +1 -1
- package/dist/rate-limit-Bw7HgmFj.js +260 -0
- package/dist/react/index.d.ts +9 -9
- package/dist/react/index.js +4 -4
- package/dist/react/native/index.d.ts +1 -1
- package/dist/react/native/index.js +2 -2
- package/dist/react/server.d.ts +10 -10
- package/dist/react/server.js +3 -3
- package/dist/react/session.d.ts +2 -2
- package/dist/{react-F80mF4-t.js → react-Bmpo59D7.js} +4 -4
- package/dist/react-router/index.d.ts +6 -6
- package/dist/react-router/index.js +9 -11
- package/dist/{read-set-DuKWC9Mj.js → read-set-DAeWhqPf.js} +2 -2
- package/dist/realtime/index.d.ts +3 -3
- package/dist/realtime/index.js +30 -36
- package/dist/{refusal-DhSU2Vvr.d.ts → refusal-CFI8-5nf.d.ts} +4 -1
- package/dist/{refusal-CeJWxmkH.js → refusal-K78A1Vmq.js} +5 -5
- package/dist/{resolve-tJZY3FEa.js → resolve-Bvgf3ut_.js} +131 -42
- package/dist/{resolve-ChTYeTEl.d.ts → resolve-MxXVWyhd.d.ts} +12 -8
- package/dist/resource--vTrBe6I.d.ts +103 -0
- package/dist/resource-BqNqlYg9.js +91 -0
- package/dist/resource-DA811u_4.js +463 -0
- package/dist/resource-execute-rbKvuCsY.d.ts +12 -0
- package/dist/resource-schemas-BJ518zFH.js +79 -0
- package/dist/resource-types-CqB6GWGT.d.ts +141 -0
- package/dist/resources-BVYPnuLo.js +56 -0
- package/dist/resources-DZSk8tXJ.d.ts +7 -0
- package/dist/{respond-DprrgyXX.d.ts → respond-Cw-zanCm.d.ts} +3 -3
- package/dist/{respond-BUgsXNgk.js → respond-volM3ByS.js} +4 -4
- package/dist/{result-D7y2fT87.d.ts → result-BchM1XZn.d.ts} +7 -1
- package/dist/{result-DzUbqgdW.js → result-DEqHCMKP.js} +1 -1
- package/dist/server/index.d.ts +81 -19
- package/dist/server/index.js +16 -14
- package/dist/{server-ZSJ9rCcV.d.ts → server-types-CrAmZ8jv.d.ts} +110 -36
- package/dist/{shared-CxWmcyqB.js → shared-DHjhfRdV.js} +2 -15
- package/dist/shared-DTneRoxi.js +14 -0
- package/dist/{sign-in-Cb1mwv6X.js → sign-in-D_yoP0PF.js} +1 -1
- package/dist/signatures-BRS_p3WD.d.ts +34 -0
- package/dist/signatures-DsWv_bYR.js +103 -0
- package/dist/{signers-4y62_VIi.d.ts → signers-cpdmZYrv.d.ts} +1 -1
- package/dist/solid/index.d.ts +9 -18
- package/dist/solid/index.js +2 -2
- package/dist/solid-start/index.d.ts +6 -6
- package/dist/solid-start/index.js +7 -7
- package/dist/spec/index.d.ts +134 -0
- package/dist/spec/index.js +353 -0
- package/dist/{spec-pins-C89s6DyW.d.ts → spec-pins-CwzDY25w.d.ts} +18 -1
- package/dist/{spec-pins--j6mTok4.js → spec-pins-DsLfUH7l.js} +14 -1
- package/dist/sql/index.d.ts +145 -119
- package/dist/sql/index.js +19921 -19798
- package/dist/{executor-De1Of3m3.js → sql-CwuqaQ4Y.js} +34 -169
- package/dist/ssr/index.d.ts +4 -4
- package/dist/ssr/index.js +3 -2
- package/dist/{standard-BK0cqJ7y.js → standard-DkzZUneg.js} +2 -2
- package/dist/{standard-CYsm7xpT.d.ts → standard-lmkbOtPB.d.ts} +1 -1
- package/dist/{stats-D_AD9GGu.js → stats-DhU78Ctf.js} +8 -4
- package/dist/storage/index.d.ts +4 -6
- package/dist/storage/index.js +16 -17
- package/dist/{bucket-Cl46E3jS.d.ts → storage-api-CB7Zl1Ci.d.ts} +243 -8
- package/dist/{store-CGjgWu5n.d.ts → store-DsIYEBnv.d.ts} +1 -1
- package/dist/streams/index.d.ts +4 -4
- package/dist/streams/index.js +5 -4
- package/dist/streams/redis/index.d.ts +1 -1
- package/dist/streams/redis/index.js +5 -11
- package/dist/{stripe-BMj5LtsT.js → stripe-v-Y2lmop.js} +2 -8
- package/dist/supabase-mcp-C6tMoEjn.d.ts +43 -0
- package/dist/supabase-mcp-Cpn5A4i-.js +28 -0
- package/dist/{support-DWwzVf-O.js → support-D1pFFouF.js} +71 -35
- package/dist/{support-view-CVOJJLpc.d.ts → support-view-scqMgtOo.d.ts} +1 -1
- package/dist/svelte/index.d.ts +8 -17
- package/dist/svelte/index.js +2 -2
- package/dist/sveltekit/index.d.ts +7 -7
- package/dist/sveltekit/index.js +10 -12
- package/dist/table-schema-htM_SbCW.js +286 -0
- package/dist/{tags-Cx-LnIQP.d.ts → tags-BO9LjtWG.d.ts} +1 -1
- package/dist/tanstack-db/index.d.ts +2 -2
- package/dist/tanstack-db/supabase/index.d.ts +52 -0
- package/dist/tanstack-db/supabase/index.js +97 -0
- package/dist/tanstack-start/index.d.ts +6 -6
- package/dist/tanstack-start/index.js +8 -12
- package/dist/{tee-CoEppCER.js → tee-Cb98Vn3b.js} +1 -1
- package/dist/{template--jDkl3UP.js → template-lPVh-EwW.js} +11 -2
- package/dist/{temporal-required-BVvW7SYJ.js → temporal-required-BtynQtM-.js} +1 -1
- package/dist/{tenant-BxNFk9bx.d.ts → tenant-CM368LXb.d.ts} +2 -2
- package/dist/testing/index.d.ts +249 -118
- package/dist/testing/index.js +1418 -870
- package/dist/ttl-cache-XzZ-Q2eX.js +29 -0
- package/dist/types-BRTSpOIh.js +5 -0
- package/dist/{types-C05bxW-W.d.ts → types-Bb_4-vdW.d.ts} +4 -4
- package/dist/{types-AYOvcyep.d.ts → types-CD6yCDx3.d.ts} +5 -5
- package/dist/{types-6rocye-y.d.ts → types-CbOUc5IH.d.ts} +4 -4
- package/dist/{types-6BdhkmZe.d.ts → types-CoE5Zwy4.d.ts} +8 -0
- package/dist/{types-DGs5L0VN.d.ts → types-DSJ3-m9X.d.ts} +4 -4
- package/dist/{queue-CLJurhdy.d.ts → types-D__3EN0q.d.ts} +17 -19
- package/dist/{usage-CrvrL2vw.d.ts → usage-D0NNUFfr.d.ts} +3 -3
- package/dist/{vault-wlbBhqm7.d.ts → vault-BpmApxxW.d.ts} +3 -3
- package/dist/vercel-connect/index.d.ts +1 -1
- package/dist/vercel-connect/index.js +5 -11
- package/dist/{verify-DPuWngD4.d.ts → verify-C91Wyp40.d.ts} +5 -35
- package/dist/verify-CJbYfADA.js +124 -0
- package/dist/{version--AolB5ej.js → version-Cq8gfDbd.js} +1 -1
- package/dist/{view-BeFcRV6G.js → view-D5ryq3gz.js} +1 -1
- package/dist/{view-CF7ihnkg.d.ts → view-TpXEUcVN.d.ts} +3 -3
- package/dist/vue/index.d.ts +9 -18
- package/dist/vue/index.js +2 -2
- package/dist/{watch-Xuxrvxq-.js → watch-BcvtAHOd.js} +2 -2
- package/dist/{watch-DI34G86j.d.ts → watch-COzRWvVN.d.ts} +23 -9
- package/dist/{wire-DtZQ4sdE.js → wire-Df3EWkG8.js} +2 -2
- package/dist/{workflow-builder-DJ1oHn8g.js → workflow-builder-CHqHpAVt.js} +6 -5
- package/dist/workflow-sdk/builder/index.d.ts +3 -3
- package/dist/workflow-sdk/index.d.ts +1 -1
- package/dist/workflow-sdk/world/index.d.ts +23 -17
- package/dist/workflow-sdk/world/index.js +59 -76
- package/dist/{workflow-sdk-B3yLD6Br.d.ts → workflow-sdk-DTZyrvNo.d.ts} +3 -3
- package/dist/{workflow-sdk-world-D-prir6O.js → workflow-sdk-world-CMV1ahFW.js} +528 -526
- package/dist/{workflows-B0j9WKPu.d.ts → workflows-CcpCBfIe.d.ts} +3 -3
- package/dist/{workflows-wu1WWBn7.js → workflows-IvxzG2cl.js} +5 -4
- package/package.json +54 -3
- package/schemas/config-v1.json +243 -0
- package/schemas/doctor-report-v1.json +4 -1
- package/schemas/spec-manifest-v1.json +95 -0
- package/skills/better-supabase/SKILL.md +8 -4
- package/skills/better-supabase/references/troubleshooting.md +20 -20
- package/skills/better-supabase-api/references/expo.md +6 -3
- package/skills/better-supabase-api/references/powersync.md +2 -1
- package/skills/better-supabase-auth/SKILL.md +8 -4
- package/dist/cli/config-B9HkL8nF.js +0 -2
- package/dist/cli/gen-AIf4MREI.js +0 -3100
- package/dist/cli/gen-DSrahEdX.js +0 -2
- package/dist/cli/prompts-BTYQGunc.js +0 -2
- package/dist/cli/run-BO052mki.js +0 -361
- package/dist/config-Dn7F5k9A.js +0 -202
- package/dist/history-BZih6SFP.js +0 -64
- package/dist/index-BkWT_uBO.d.ts +0 -51
- package/dist/index-Bxih3l0u.d.ts +0 -81
- package/dist/index-CaxrMD1A.d.ts +0 -1
- package/dist/index-DQh4VCc9.d.ts +0 -98
- package/dist/keys-4MnkWTTh.js +0 -35
- package/dist/messages-DYP0sUTe.d.ts +0 -59
- package/dist/modules-dxrVK3ID.js +0 -228
- package/dist/path-Cv__-OTj.d.ts +0 -17
- package/dist/resource-BsvzCMlX.js +0 -212
- package/dist/resource-IPS5xi9q.d.ts +0 -74
- package/dist/template-CwO38Do8.d.ts +0 -6
- package/dist/verify-DL41hbvY.js +0 -232
- package/dist/cli/{read-sets-CETOSFx4.js → read-sets-DjJrm8Wj.js} +1 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { r as defineCliCommand } from "./command-
|
|
2
|
-
import {
|
|
1
|
+
import { r as defineCliCommand } from "./command-DV-StG1x.js";
|
|
2
|
+
import { r as errorText } from "./errors-CqTLXe2M.js";
|
|
3
|
+
import { r as readIfExists, t as display } from "./io-CFzJVJ68.js";
|
|
3
4
|
import { r as publicPrefix, t as detectProject } from "./project-DZRaBaY7.js";
|
|
5
|
+
import { r as writeLine } from "./files-BVupXPIC.js";
|
|
4
6
|
import { basename, delimiter, dirname, normalize, resolve } from "node:path";
|
|
5
7
|
import { closeSync, existsSync, openSync, readSync, statSync } from "node:fs";
|
|
6
8
|
import { readFile } from "node:fs/promises";
|
|
@@ -374,7 +376,7 @@ async function exec(command, args, cwd) {
|
|
|
374
376
|
return {
|
|
375
377
|
code: 127,
|
|
376
378
|
stdout: "",
|
|
377
|
-
stderr:
|
|
379
|
+
stderr: errorText(error)
|
|
378
380
|
};
|
|
379
381
|
}
|
|
380
382
|
}
|
|
@@ -393,12 +395,12 @@ async function supabaseCli(args, cwd, env) {
|
|
|
393
395
|
const ARGS = {
|
|
394
396
|
out: {
|
|
395
397
|
type: "string",
|
|
396
|
-
description: "Env file to write. Defaults to .env.local",
|
|
398
|
+
description: "Env file to write. Defaults to env.output, then .env.local",
|
|
397
399
|
valueHint: "file"
|
|
398
400
|
},
|
|
399
401
|
prefix: {
|
|
400
402
|
type: "string",
|
|
401
|
-
description: "Prefix for browser variables, detected from your framework; \"none\" for no prefix",
|
|
403
|
+
description: "Prefix for browser variables. Defaults to env.prefix, then one detected from your framework; \"none\" for no prefix",
|
|
402
404
|
valueHint: "prefix"
|
|
403
405
|
},
|
|
404
406
|
from: {
|
|
@@ -459,7 +461,7 @@ function mergeEnv(current, values) {
|
|
|
459
461
|
async function runEnv(config, args, env) {
|
|
460
462
|
const status = await readStatus(config, args, env);
|
|
461
463
|
const project = await detectProject(config.root);
|
|
462
|
-
const prefixFlag = args.prefix;
|
|
464
|
+
const prefixFlag = args.prefix ?? config.env.prefix;
|
|
463
465
|
const prefix = prefixFlag === void 0 ? publicPrefix(project) : prefixFlag === "none" ? "" : prefixFlag;
|
|
464
466
|
const url = text(status, "API_URL");
|
|
465
467
|
const publishableKey = text(status, "PUBLISHABLE_KEY", "ANON_KEY");
|
|
@@ -481,10 +483,11 @@ async function runEnv(config, args, env) {
|
|
|
481
483
|
code: 0,
|
|
482
484
|
output: Object.entries(values).map(([key, value]) => `${key}=${value}`).join("\n")
|
|
483
485
|
};
|
|
484
|
-
const out = args.out ??
|
|
486
|
+
const out = args.out ?? config.env.output;
|
|
485
487
|
const path = resolve(config.root, out);
|
|
486
|
-
const current =
|
|
487
|
-
const
|
|
488
|
+
const current = await readIfExists(path) ?? "";
|
|
489
|
+
const { line } = await writeLine(path, mergeEnv(current, values), display(config.root, out), `: ${Object.keys(values).join(", ")}`);
|
|
490
|
+
const lines = [line];
|
|
488
491
|
if (!text(status, "PUBLISHABLE_KEY")) lines.push("Warning: this Supabase CLI prints only legacy JWT keys. Upgrade it to get sb_publishable_/sb_secret_ keys.");
|
|
489
492
|
const gitignore = resolve(config.root, ".gitignore");
|
|
490
493
|
if (!(existsSync(gitignore) && (await readFile(gitignore, "utf8")).split("\n").some((line) => [
|
|
@@ -508,4 +511,4 @@ const envCommand = defineCliCommand({
|
|
|
508
511
|
run: (args, { config, env }) => runEnv(config, args, env)
|
|
509
512
|
});
|
|
510
513
|
//#endregion
|
|
511
|
-
export { envCommand };
|
|
514
|
+
export { mergeEnv as n, runEnv as r, envCommand as t };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as CliError } from "./errors-
|
|
1
|
+
import { n as CliError } from "./errors-CqTLXe2M.js";
|
|
2
2
|
import { h as pipe, p as optional, w as url, x as string } from "./dist-DRAVaE6w.js";
|
|
3
3
|
//#region ../../node_modules/.pnpm/@t3-oss+env-core@0.13.11_arktype@2.2.3_typescript@7.0.2_valibot@1.5.0_typescript@7.0.2__zod@4.6.5/node_modules/@t3-oss/env-core/dist/standard.js
|
|
4
4
|
function ensureSynchronous(value, message) {
|
|
@@ -82,6 +82,12 @@ function createEnv(opts) {
|
|
|
82
82
|
}
|
|
83
83
|
//#endregion
|
|
84
84
|
//#region src/cli/env.ts
|
|
85
|
+
/** `--env`, then `$BETTER_SUPABASE_ENV`, then `ci` when `$CI` is set to anything but false. */
|
|
86
|
+
function configEnvironment(flag, env) {
|
|
87
|
+
if (flag !== void 0 && flag !== "") return flag;
|
|
88
|
+
if (env.BETTER_SUPABASE_ENV !== void 0) return env.BETTER_SUPABASE_ENV;
|
|
89
|
+
return env.CI !== void 0 && env.CI !== "false" && env.CI !== "0" ? "ci" : void 0;
|
|
90
|
+
}
|
|
85
91
|
const optionalString = optional(string());
|
|
86
92
|
const optionalUrl = optional(pipe(string(), url("must be a URL, e.g. postgresql://user@host/db")));
|
|
87
93
|
/** Parses the variables the CLI reads; an invalid value is a `env_invalid` usage error. */
|
|
@@ -89,11 +95,13 @@ function parseEnv(env) {
|
|
|
89
95
|
return createEnv({
|
|
90
96
|
server: {
|
|
91
97
|
DATABASE_URL: optionalUrl,
|
|
98
|
+
SUPABASE_DB_URL: optionalUrl,
|
|
92
99
|
SUPABASE_ACCESS_TOKEN: optionalString,
|
|
93
100
|
SUPABASE_API_URL: optionalUrl,
|
|
94
101
|
SUPABASE_BIN: optionalString,
|
|
95
102
|
HOME: optionalString,
|
|
96
|
-
CI: optionalString
|
|
103
|
+
CI: optionalString,
|
|
104
|
+
BETTER_SUPABASE_ENV: optionalString
|
|
97
105
|
},
|
|
98
106
|
runtimeEnv: env,
|
|
99
107
|
isServer: true,
|
|
@@ -105,4 +113,4 @@ function parseEnv(env) {
|
|
|
105
113
|
});
|
|
106
114
|
}
|
|
107
115
|
//#endregion
|
|
108
|
-
export { parseEnv };
|
|
116
|
+
export { configEnvironment, parseEnv };
|
|
@@ -50,7 +50,23 @@ function isCittyUsageError(cause) {
|
|
|
50
50
|
function toCliError(cause) {
|
|
51
51
|
if (cause instanceof CliError) return cause;
|
|
52
52
|
if (isCittyUsageError(cause)) return new CliError("usage", cause.message);
|
|
53
|
-
return new CliError("internal",
|
|
53
|
+
return new CliError("internal", errorText(cause), { cause });
|
|
54
|
+
}
|
|
55
|
+
/** A thrown value as the message to print. */
|
|
56
|
+
const errorText = (cause) => cause instanceof Error ? cause.message : String(cause);
|
|
57
|
+
/** A step that threw, as a failed command result. */
|
|
58
|
+
const failedResult = (cause) => ({
|
|
59
|
+
code: 1,
|
|
60
|
+
error: errorText(cause)
|
|
61
|
+
});
|
|
62
|
+
/**
|
|
63
|
+
* The `values` that `isValid` accepts, or a usage message naming the ones
|
|
64
|
+
* it rejects and the `available` names.
|
|
65
|
+
*/
|
|
66
|
+
function parseNames(values, isValid, noun, available) {
|
|
67
|
+
const unknown = values.filter((value) => !isValid(value));
|
|
68
|
+
if (unknown.length > 0) return `Unknown ${noun} ${unknown.map((value) => `"${value}"`).join(", ")}. Available: ${available.join(", ")}.`;
|
|
69
|
+
return values.filter(isValid);
|
|
54
70
|
}
|
|
55
71
|
//#endregion
|
|
56
|
-
export { CliError as n, toCliError as r, CLI_ERRORS_URL as t };
|
|
72
|
+
export { parseNames as a, failedResult as i, CliError as n, toCliError as o, errorText as r, CLI_ERRORS_URL as t };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as __commonJSMin } from "./rolldown-runtime-
|
|
1
|
+
import { t as __commonJSMin } from "./rolldown-runtime-CMFfr-1z.js";
|
|
2
2
|
//#region ../../node_modules/.pnpm/fastest-levenshtein@1.0.16/node_modules/fastest-levenshtein/mod.js
|
|
3
3
|
var require_fastest_levenshtein = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
4
4
|
exports.__esModule = true;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { a as writeIfChanged, i as sameText, r as readIfExists, t as display } from "./io-CFzJVJ68.js";
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
//#region src/cli/files.ts
|
|
4
|
+
/** Reads `out` under `root` and compares it with `contents`, ignoring line endings. */
|
|
5
|
+
async function fileState(root, out, contents) {
|
|
6
|
+
const path = resolve(root, out);
|
|
7
|
+
const current = await readIfExists(path);
|
|
8
|
+
return {
|
|
9
|
+
file: display(root, out),
|
|
10
|
+
path,
|
|
11
|
+
current,
|
|
12
|
+
upToDate: sameText(current, contents)
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/** The result of `--check` for one file: up to date, or failed with the command that rewrites it. */
|
|
16
|
+
function staleResult(state, regenerate) {
|
|
17
|
+
return state.upToDate ? {
|
|
18
|
+
code: 0,
|
|
19
|
+
output: `${state.file} is up to date.`
|
|
20
|
+
} : {
|
|
21
|
+
code: 1,
|
|
22
|
+
error: `${state.file} is out of date. Run \`${regenerate}\`.`
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/** Writes `contents` when it changed and returns the `Wrote` or `Unchanged` line for `shown`. */
|
|
26
|
+
async function writeLine(path, contents, shown, suffix = "") {
|
|
27
|
+
const wrote = await writeIfChanged(path, contents);
|
|
28
|
+
return {
|
|
29
|
+
wrote,
|
|
30
|
+
line: `${wrote ? "Wrote" : "Unchanged"} ${shown}${suffix}`
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { staleResult as n, writeLine as r, fileState as t };
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
import { a as list, r as defineCliCommand } from "./command-DV-StG1x.js";
|
|
2
|
+
import { a as parseNames, i as failedResult, r as errorText } from "./errors-CqTLXe2M.js";
|
|
3
|
+
import { i as plain, r as painter } from "./style-CB3vxgh0.js";
|
|
4
|
+
import { a as catalogFingerprint } from "./cache-CIfA-jBV.js";
|
|
5
|
+
import { n as runGen } from "./run-DuN1MX-7.js";
|
|
6
|
+
import { r as isGenTask, t as GEN_TASKS } from "./names-D6LrQnOv.js";
|
|
7
|
+
import { o as snapshotFile, r as openSource, t as loadSnapshot } from "./snapshot-Bstk6ulj.js";
|
|
8
|
+
import { r as runMetadataGen, t as EMITS } from "./metadata-DSRKCaf-.js";
|
|
9
|
+
import { n as withSpinner } from "./prompts-DZJB1nTw.js";
|
|
10
|
+
import { r as runEnv } from "./env-B--LMhEe.js";
|
|
11
|
+
import { a as modifiedTime, c as sleep, l as stampFiles, o as onceReporter, r as specOptionsFromConfig, s as parseInterval, t as runSpec } from "./spec-CzosTYm3.js";
|
|
12
|
+
import { t as runScaffold } from "./scaffold-5DenHSxF.js";
|
|
13
|
+
import { t as runSeed } from "./seed-CzBmrGON.js";
|
|
14
|
+
import { t as runSql } from "./sql-BKOOQAX3.js";
|
|
15
|
+
import { n as sourceArgs, t as SOURCE_ARGS } from "./source-args-BYfq6imV.js";
|
|
16
|
+
import { resolve } from "node:path";
|
|
17
|
+
import { existsSync } from "node:fs";
|
|
18
|
+
//#region src/cli/commands/gen-pipeline.ts
|
|
19
|
+
/** Tasks run in this order whatever order the config lists them in. */
|
|
20
|
+
const ORDER = new Map(GEN_TASKS.map((task, index) => [task, index]));
|
|
21
|
+
/** Checks `--tasks` names. Returns an error message for an unknown one. */
|
|
22
|
+
function parseTasks(names) {
|
|
23
|
+
return parseNames(names, isGenTask, "gen task", GEN_TASKS);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The tasks `gen` runs, in pipeline order: `--tasks`, then `gen.tasks`, then
|
|
27
|
+
* every task the config sets up.
|
|
28
|
+
*/
|
|
29
|
+
function selectTasks(config, requested) {
|
|
30
|
+
const named = requested ?? config.gen.tasks;
|
|
31
|
+
if (named === void 0) return configuredTasks(config);
|
|
32
|
+
return [...new Set(named)].toSorted((a, b) => (ORDER.get(a) ?? 0) - (ORDER.get(b) ?? 0));
|
|
33
|
+
}
|
|
34
|
+
/** Every task the config sets up. `env` runs only when a task list names it. */
|
|
35
|
+
function configuredTasks(config) {
|
|
36
|
+
const exists = (path) => existsSync(resolve(config.root, path));
|
|
37
|
+
const configured = {
|
|
38
|
+
types: () => true,
|
|
39
|
+
sql: () => config.sql.moduleNames.length > 0 || config.realtime.policies !== void 0,
|
|
40
|
+
spec: () => exists(config.specs.entry),
|
|
41
|
+
seed: () => exists(config.seed.entry),
|
|
42
|
+
scaffold: () => config.scaffold.api !== void 0,
|
|
43
|
+
env: () => false
|
|
44
|
+
};
|
|
45
|
+
return GEN_TASKS.filter((task) => configured[task]());
|
|
46
|
+
}
|
|
47
|
+
/** Files the steps after `types` read, so `gen --watch` reruns them when one changes. */
|
|
48
|
+
function stepInputs(config, tasks) {
|
|
49
|
+
const at = (path) => resolve(config.root, path);
|
|
50
|
+
const inputs = {
|
|
51
|
+
types: () => [],
|
|
52
|
+
sql: () => [],
|
|
53
|
+
spec: () => [at(config.specs.entry), ...config.specs.outputs.flatMap((output) => (output.overlays ?? []).map(at))],
|
|
54
|
+
seed: () => [at(config.seed.entry)],
|
|
55
|
+
scaffold: () => [],
|
|
56
|
+
env: () => []
|
|
57
|
+
};
|
|
58
|
+
return tasks.flatMap((task) => inputs[task]());
|
|
59
|
+
}
|
|
60
|
+
const STEPS = {
|
|
61
|
+
sql: ({ config, check, paint }) => runSql(config, {
|
|
62
|
+
_: ["sync"],
|
|
63
|
+
check
|
|
64
|
+
}, paint),
|
|
65
|
+
spec: ({ config, check }) => runSpec(specOptionsFromConfig(config, check ? "check" : "emit")),
|
|
66
|
+
seed: ({ config, check, env }) => runSeed(config, { check }, env),
|
|
67
|
+
scaffold: ({ config, check }) => runScaffold(config, { _: ["api"] }, {
|
|
68
|
+
generatedOnly: true,
|
|
69
|
+
check
|
|
70
|
+
}),
|
|
71
|
+
env: async ({ config, check, env }) => check ? {
|
|
72
|
+
code: 0,
|
|
73
|
+
output: "Skipped: env writes local keys, so --check leaves it out."
|
|
74
|
+
} : runEnv(config, {}, env)
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Runs the steps after `types`, in order. A write run stops at the first
|
|
78
|
+
* failure, since later steps read what earlier ones wrote; `--check` runs
|
|
79
|
+
* every step so it reports everything that is out of date.
|
|
80
|
+
*/
|
|
81
|
+
async function runSteps(tasks, options, previous = []) {
|
|
82
|
+
const results = [...previous];
|
|
83
|
+
for (const task of tasks) {
|
|
84
|
+
if (task === "types") continue;
|
|
85
|
+
if (!options.check && results.some(({ result }) => result.code !== 0)) break;
|
|
86
|
+
const result = await STEPS[task](options).catch(failedResult);
|
|
87
|
+
results.push({
|
|
88
|
+
task,
|
|
89
|
+
result
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
return results;
|
|
93
|
+
}
|
|
94
|
+
const indent = (text) => text.split("\n").map((line) => line === "" ? line : ` ${line}`).join("\n");
|
|
95
|
+
/**
|
|
96
|
+
* One result for the run. A single task returns its own result unchanged;
|
|
97
|
+
* several tasks get a section each, the first failing exit code and every
|
|
98
|
+
* error.
|
|
99
|
+
*/
|
|
100
|
+
function combineResults(results) {
|
|
101
|
+
const [only] = results;
|
|
102
|
+
if (results.length === 1 && only) return only.result;
|
|
103
|
+
const output = results.flatMap(({ task, result }) => result.output ? [`[${task}]\n${indent(result.output)}`] : [`[${task}] done`]).join("\n");
|
|
104
|
+
const errors = results.flatMap(({ task, result }) => result.error ? [`[${task}] ${result.error}`] : []);
|
|
105
|
+
return {
|
|
106
|
+
code: results.find(({ result }) => result.code !== 0)?.result.code ?? 0,
|
|
107
|
+
output,
|
|
108
|
+
...errors.length > 0 ? { error: errors.join("\n") } : {},
|
|
109
|
+
data: { tasks: Object.fromEntries(results.map(({ task, result }) => [task, {
|
|
110
|
+
code: result.code,
|
|
111
|
+
...result.data === void 0 ? {} : { data: result.data }
|
|
112
|
+
}])) }
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
//#endregion
|
|
116
|
+
//#region src/cli/commands/gen.ts
|
|
117
|
+
const ARGS = {
|
|
118
|
+
metadata: {
|
|
119
|
+
type: "string",
|
|
120
|
+
description: "Read a GeneratorMetadata document (- for stdin) and print one file on stdout",
|
|
121
|
+
valueHint: "path|-"
|
|
122
|
+
},
|
|
123
|
+
emit: {
|
|
124
|
+
type: "string",
|
|
125
|
+
description: `With --metadata, the file to print: ${EMITS.join(", ")}. Defaults to schema`,
|
|
126
|
+
valueHint: "file"
|
|
127
|
+
},
|
|
128
|
+
out: {
|
|
129
|
+
type: "string",
|
|
130
|
+
description: "With --metadata, write every generated file into this directory instead of printing one",
|
|
131
|
+
valueHint: "dir"
|
|
132
|
+
},
|
|
133
|
+
tasks: {
|
|
134
|
+
type: "string",
|
|
135
|
+
description: `Tasks to run: ${GEN_TASKS.join(", ")}. Defaults to gen.tasks, or every task the config sets up`,
|
|
136
|
+
valueHint: "list"
|
|
137
|
+
},
|
|
138
|
+
check: {
|
|
139
|
+
type: "boolean",
|
|
140
|
+
description: "Fail when a generated file is out of date"
|
|
141
|
+
},
|
|
142
|
+
watch: {
|
|
143
|
+
type: "boolean",
|
|
144
|
+
description: "Run again whenever the schema, the config file or a task's input changes"
|
|
145
|
+
},
|
|
146
|
+
interval: {
|
|
147
|
+
type: "string",
|
|
148
|
+
description: "Milliseconds between checks in --watch. Defaults to gen.watchInterval, then 2000",
|
|
149
|
+
valueHint: "ms"
|
|
150
|
+
},
|
|
151
|
+
...SOURCE_ARGS
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* Reads the schema when it may have changed. Returns the new change marker (the
|
|
155
|
+
* catalog fingerprint, or the snapshot itself when the source has none) and
|
|
156
|
+
* the snapshot, or no snapshot when the fingerprint still matches `last`.
|
|
157
|
+
*/
|
|
158
|
+
async function poll(options, db, last) {
|
|
159
|
+
const fingerprint = db ? await catalogFingerprint(db.queryable).catch(() => void 0) : void 0;
|
|
160
|
+
if (fingerprint !== void 0 && fingerprint === last) return { marker: last };
|
|
161
|
+
const snapshot = await loadSnapshot(options.config, options.env, options, void 0, db ? () => Promise.resolve(db) : void 0);
|
|
162
|
+
const marker = fingerprint ?? JSON.stringify(snapshot);
|
|
163
|
+
return marker === last ? { marker } : {
|
|
164
|
+
marker,
|
|
165
|
+
snapshot
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Runs `tasks`: `types` through `runGen`, then the steps after it. Without
|
|
170
|
+
* `types` in the list, `snapshot` is unused.
|
|
171
|
+
*/
|
|
172
|
+
async function runTasks(tasks, options) {
|
|
173
|
+
const types = tasks.includes("types") ? [{
|
|
174
|
+
task: "types",
|
|
175
|
+
result: await runGen(options).catch(failedResult)
|
|
176
|
+
}] : [];
|
|
177
|
+
return combineResults(await runSteps(tasks, {
|
|
178
|
+
config: options.config,
|
|
179
|
+
env: options.env,
|
|
180
|
+
check: options.check,
|
|
181
|
+
paint: options.paint ?? plain
|
|
182
|
+
}, types));
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Runs the tasks again whenever the schema, the config file or a task's
|
|
186
|
+
* input (the spec entry and its overlays, the seed entry) changes. A
|
|
187
|
+
* database source keeps one connection open and polls the catalog
|
|
188
|
+
* fingerprint, so an unchanged schema costs one small query per interval; a
|
|
189
|
+
* source without a fingerprint is introspected each time and compared. The
|
|
190
|
+
* schema is read only when `types` runs. A changed config file is loaded
|
|
191
|
+
* again and forces a run; a changed input reruns the steps after `types`. A
|
|
192
|
+
* failed run is retried every interval until it succeeds, and the same
|
|
193
|
+
* error is printed once.
|
|
194
|
+
*/
|
|
195
|
+
async function watch(initial, requested, interval, { io, signal, configFile, reloadConfig }) {
|
|
196
|
+
let options = initial;
|
|
197
|
+
let last = "";
|
|
198
|
+
let inputs = "";
|
|
199
|
+
const fresh = onceReporter();
|
|
200
|
+
let stamp = await modifiedTime(configFile);
|
|
201
|
+
let db;
|
|
202
|
+
const aborted = () => signal?.aborted ?? false;
|
|
203
|
+
const report = (message) => {
|
|
204
|
+
if (fresh(message)) io.stderr(`${message}\n`);
|
|
205
|
+
};
|
|
206
|
+
const closeDb = async () => {
|
|
207
|
+
await db?.close().catch(() => void 0);
|
|
208
|
+
db = void 0;
|
|
209
|
+
};
|
|
210
|
+
try {
|
|
211
|
+
while (!aborted()) {
|
|
212
|
+
const changed = await modifiedTime(configFile);
|
|
213
|
+
if (reloadConfig && changed !== stamp) try {
|
|
214
|
+
options = {
|
|
215
|
+
...options,
|
|
216
|
+
config: await reloadConfig()
|
|
217
|
+
};
|
|
218
|
+
stamp = changed;
|
|
219
|
+
last = "";
|
|
220
|
+
inputs = "";
|
|
221
|
+
await closeDb();
|
|
222
|
+
} catch (cause) {
|
|
223
|
+
report(errorText(cause));
|
|
224
|
+
await sleep(interval, signal);
|
|
225
|
+
continue;
|
|
226
|
+
}
|
|
227
|
+
const tasks = selectTasks(options.config, requested);
|
|
228
|
+
const current = await stampFiles(stepInputs(options.config, tasks));
|
|
229
|
+
let polled;
|
|
230
|
+
if (tasks.includes("types")) try {
|
|
231
|
+
db ??= snapshotFile(options.config, options) === void 0 ? await openSource(options.config, options.env, options) : void 0;
|
|
232
|
+
polled = await poll(options, db, last);
|
|
233
|
+
} catch (cause) {
|
|
234
|
+
report(errorText(cause));
|
|
235
|
+
await closeDb();
|
|
236
|
+
await sleep(interval, signal);
|
|
237
|
+
continue;
|
|
238
|
+
}
|
|
239
|
+
const run = polled?.snapshot ? tasks : current === inputs ? void 0 : tasks.filter((task) => task !== "types");
|
|
240
|
+
const result = run && run.length > 0 ? await runTasks(run, {
|
|
241
|
+
...options,
|
|
242
|
+
...polled?.snapshot ? { snapshot: polled.snapshot } : {}
|
|
243
|
+
}) : void 0;
|
|
244
|
+
if (result && result.code !== 0) report(result.error ?? `gen exited with code ${result.code}`);
|
|
245
|
+
else {
|
|
246
|
+
if (result?.output) io.stdout(`${result.output}\n`);
|
|
247
|
+
if (polled) last = polled.marker;
|
|
248
|
+
inputs = current;
|
|
249
|
+
fresh("");
|
|
250
|
+
}
|
|
251
|
+
await sleep(interval, signal);
|
|
252
|
+
}
|
|
253
|
+
} finally {
|
|
254
|
+
await closeDb();
|
|
255
|
+
}
|
|
256
|
+
return { code: 0 };
|
|
257
|
+
}
|
|
258
|
+
const genCommand = defineCliCommand({
|
|
259
|
+
meta: {
|
|
260
|
+
name: "gen",
|
|
261
|
+
description: "Writes the typed client from the database, then every other generated file the config sets up"
|
|
262
|
+
},
|
|
263
|
+
args: ARGS,
|
|
264
|
+
lists: ["tasks"],
|
|
265
|
+
run: async (args, context) => {
|
|
266
|
+
if (args.metadata !== void 0) {
|
|
267
|
+
const conflicting = [
|
|
268
|
+
...args.watch === true ? ["--watch"] : [],
|
|
269
|
+
...args.snapshot === void 0 ? [] : ["--snapshot"],
|
|
270
|
+
...args["db-url-stdin"] === true ? ["--db-url-stdin"] : [],
|
|
271
|
+
...args["project-ref"] === void 0 ? [] : ["--project-ref"]
|
|
272
|
+
];
|
|
273
|
+
if (conflicting.length > 0) return {
|
|
274
|
+
code: 2,
|
|
275
|
+
error: `--metadata reads the schema from the document, so it can't be combined with ${conflicting.join(", ")}`
|
|
276
|
+
};
|
|
277
|
+
return runMetadataGen({
|
|
278
|
+
config: context.config,
|
|
279
|
+
env: context.env,
|
|
280
|
+
cwd: context.cwd,
|
|
281
|
+
io: context.io,
|
|
282
|
+
metadata: args.metadata,
|
|
283
|
+
check: args.check === true,
|
|
284
|
+
json: context.json,
|
|
285
|
+
paint: painter(context.io.color),
|
|
286
|
+
...args.emit === void 0 ? {} : { emit: args.emit },
|
|
287
|
+
...args.out === void 0 ? {} : { out: args.out }
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
if (args.emit !== void 0 || args.out !== void 0) return {
|
|
291
|
+
code: 2,
|
|
292
|
+
error: `${args.emit === void 0 ? "--out" : "--emit"} only applies with --metadata`
|
|
293
|
+
};
|
|
294
|
+
const requested = args.tasks === void 0 ? void 0 : parseTasks(list(args.tasks));
|
|
295
|
+
if (typeof requested === "string") return {
|
|
296
|
+
code: 2,
|
|
297
|
+
error: requested
|
|
298
|
+
};
|
|
299
|
+
const tasks = selectTasks(context.config, requested);
|
|
300
|
+
if (tasks.length === 0) return {
|
|
301
|
+
code: 2,
|
|
302
|
+
error: "--tasks names no task."
|
|
303
|
+
};
|
|
304
|
+
const options = {
|
|
305
|
+
config: context.config,
|
|
306
|
+
env: context.env,
|
|
307
|
+
check: args.check === true,
|
|
308
|
+
paint: painter(context.io.color),
|
|
309
|
+
...await sourceArgs(args, context.io),
|
|
310
|
+
...context.signal ? { signal: context.signal } : {},
|
|
311
|
+
cache: true
|
|
312
|
+
};
|
|
313
|
+
const interval = parseInterval(args.interval, context.config.gen.watchInterval);
|
|
314
|
+
if (typeof interval === "string") return {
|
|
315
|
+
code: 2,
|
|
316
|
+
error: interval
|
|
317
|
+
};
|
|
318
|
+
return args.watch === true ? watch(options, requested, interval, context) : withSpinner(context.io.prompts, "Generating from the schema", () => runTasks(tasks, options));
|
|
319
|
+
}
|
|
320
|
+
});
|
|
321
|
+
//#endregion
|
|
322
|
+
export { genCommand };
|