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,12 +1,127 @@
|
|
|
1
1
|
/// <reference lib="esnext.temporal" />
|
|
2
|
-
import { b as DbError, p as ThrowMapper, t as AsyncResult, w as ErrorMapper } from "./result-
|
|
3
|
-
import { A as Relations, B as UniqueKeyName, E as PrimaryKeyValue, F as Simplify, H as Update, L as TableKey, M as Row, N as Schema, P as SchemaMeta, R as TableMeta, V as UniqueWhere, a as AnyModels, i as AnyFunctions, k as RelationTypes, x as Insert } from "./types-
|
|
4
|
-
import { l as CountMode, r as Executor, v as Operation } from "./executor-
|
|
5
|
-
import { a as ExtensionOf, h as WithExtension, m as RequestContext, n as AnyPlugin, r as ApplyExtension } from "./plugin-
|
|
6
|
-
import { a as EventHub, i as EventHandler, o as EventName, s as MutationNotice, u as RpcNotice } from "./events-
|
|
2
|
+
import { b as DbError, p as ThrowMapper, t as AsyncResult, w as ErrorMapper } from "./result-BchM1XZn.js";
|
|
3
|
+
import { A as Relations, B as UniqueKeyName, E as PrimaryKeyValue, F as Simplify, H as Update, L as TableKey, M as Row, N as Schema, P as SchemaMeta, R as TableMeta, V as UniqueWhere, a as AnyModels, i as AnyFunctions, k as RelationTypes, x as Insert } from "./types-CoE5Zwy4.js";
|
|
4
|
+
import { l as CountMode, r as Executor, v as Operation } from "./executor-Drzu3dBK.js";
|
|
5
|
+
import { a as ExtensionOf, h as WithExtension, m as RequestContext, n as AnyPlugin, r as ApplyExtension } from "./plugin-CPK2HsbY.js";
|
|
6
|
+
import { a as EventHub, i as EventHandler, o as EventName, s as MutationNotice, u as RpcNotice } from "./events-D1BOCll8.js";
|
|
7
7
|
import { n as Logger } from "./logger-DWVYUmwi.js";
|
|
8
|
-
import { t as StandardSchemaV1 } from "./standard-
|
|
9
|
-
import {
|
|
8
|
+
import { t as StandardSchemaV1 } from "./standard-lmkbOtPB.js";
|
|
9
|
+
import { t as StorageApi } from "./storage-api-CB7Zl1Ci.js";
|
|
10
|
+
import { a as PostgrestPlan, i as PostgrestCompileOptions } from "./postgrest-BUqLag2Q.js";
|
|
11
|
+
//#region src/core/stats.d.ts
|
|
12
|
+
/** Database work for one request (or one `db`). */
|
|
13
|
+
interface DbStats {
|
|
14
|
+
/** Executor calls: repository operations and RPCs. */
|
|
15
|
+
readonly calls: number;
|
|
16
|
+
/**
|
|
17
|
+
* Sequential rounds. A wave starts when a call begins while nothing else
|
|
18
|
+
* is in flight, so `Promise.all` of three reads is one wave.
|
|
19
|
+
*/
|
|
20
|
+
readonly waves: number;
|
|
21
|
+
/** App keys of the tables read or written, and `name()` for RPCs. */
|
|
22
|
+
readonly tables: readonly string[];
|
|
23
|
+
/** From the first call's start to the last call's end. */
|
|
24
|
+
readonly ms: number;
|
|
25
|
+
}
|
|
26
|
+
declare const EMPTY_STATS: DbStats;
|
|
27
|
+
/**
|
|
28
|
+
* Counts calls and waves. A recorder with a `parent` also reports to it, so
|
|
29
|
+
* a request-wide recorder sees every scope's calls.
|
|
30
|
+
*/
|
|
31
|
+
declare class StatsRecorder {
|
|
32
|
+
#private;
|
|
33
|
+
constructor(parent?: StatsRecorder, now?: () => number);
|
|
34
|
+
/** Records a call to `table`; the returned function ends it. */
|
|
35
|
+
begin(table: string): () => void;
|
|
36
|
+
/** The totals so far. */
|
|
37
|
+
snapshot(): DbStats;
|
|
38
|
+
}
|
|
39
|
+
/** Wraps an executor so every call is recorded. */
|
|
40
|
+
declare function recordStats(executor: Executor, recorder: StatsRecorder): Executor;
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region src/core/define-types.d.ts
|
|
43
|
+
interface SupabaseOptions {
|
|
44
|
+
/**
|
|
45
|
+
* Clock used by plugins (timestamps, soft delete) and for the `time` of
|
|
46
|
+
* block events on `betterSupabase.events`. Pass it to `createJobs` too.
|
|
47
|
+
*/
|
|
48
|
+
readonly now?: () => Temporal.Instant;
|
|
49
|
+
/**
|
|
50
|
+
* The `Temporal` namespace, for runtimes without a global one (Hermes,
|
|
51
|
+
* Node 24) when patching `globalThis` is not an option:
|
|
52
|
+
* `import { Temporal } from 'temporal-polyfill'`. Defaults to `globalThis.Temporal`.
|
|
53
|
+
*/
|
|
54
|
+
readonly temporal?: typeof Temporal;
|
|
55
|
+
/** Extra error mappers, run before plugin mappers. */
|
|
56
|
+
readonly errors?: readonly ErrorMapper[];
|
|
57
|
+
/** Receives errors from event handlers, hooks and cache adapters. Defaults to `console`. */
|
|
58
|
+
readonly logger?: Logger;
|
|
59
|
+
/**
|
|
60
|
+
* Debug records on `logger` for every query, database error, session
|
|
61
|
+
* refresh and auth resolution: table, operation, outcome, timing and row
|
|
62
|
+
* count, never tokens, row values, filters or error messages. Off by
|
|
63
|
+
* default; with it off, no handler runs.
|
|
64
|
+
*/
|
|
65
|
+
readonly diagnostics?: boolean;
|
|
66
|
+
/** RPCs that change tables, keyed by function name. Prefer `betterSupabase.defineRpc()`. */
|
|
67
|
+
readonly rpc?: Readonly<Record<string, RpcDefinition>>;
|
|
68
|
+
/** Builds the error `.orThrow()` throws. Prefer `betterSupabase.mapError()`. */
|
|
69
|
+
readonly throwAs?: ThrowMapper;
|
|
70
|
+
/** Validates verified JWT claims on the server. Prefer `betterSupabase.claims()`, which also types them. */
|
|
71
|
+
readonly claims?: StandardSchemaV1;
|
|
72
|
+
/** Parses `user_metadata` into `session.profile`. Prefer `betterSupabase.userMetadata()`, which also types it. */
|
|
73
|
+
readonly userMetadata?: StandardSchemaV1;
|
|
74
|
+
/**
|
|
75
|
+
* PostgREST's `db-max-rows`: the most rows one read returns. An unbounded
|
|
76
|
+
* `findMany` that returns this many sets `truncated` on the `query` event
|
|
77
|
+
* and logs a warning once per table. Defaults to 1000, the hosted default.
|
|
78
|
+
*/
|
|
79
|
+
readonly maxRows?: number;
|
|
80
|
+
/**
|
|
81
|
+
* The longest query string one PostgREST read sends, like supabase-js
|
|
82
|
+
* `db.urlLengthLimit`. Longer reads are split along their longest `in`
|
|
83
|
+
* list. Defaults to 6000 characters, or the client's `db.urlLengthLimit`
|
|
84
|
+
* when that is lower.
|
|
85
|
+
*/
|
|
86
|
+
readonly urlLengthLimit?: number;
|
|
87
|
+
/**
|
|
88
|
+
* The PostgREST version the app talks to, as in `postgrestVersion` in
|
|
89
|
+
* the better-supabase config. `maxAffected` needs 13 or later, and fails
|
|
90
|
+
* with `invalid_request` before any request on an older version.
|
|
91
|
+
* Defaults to `"13"`.
|
|
92
|
+
*/
|
|
93
|
+
readonly postgrestVersion?: string;
|
|
94
|
+
}
|
|
95
|
+
interface ConnectOptions {
|
|
96
|
+
/** Also records this connection's calls into a request-wide recorder. */
|
|
97
|
+
readonly stats?: StatsRecorder;
|
|
98
|
+
/**
|
|
99
|
+
* Runs operations instead of the client's own executor, while `$client`
|
|
100
|
+
* stays the client (e.g. routing reads to a replica).
|
|
101
|
+
*/
|
|
102
|
+
readonly executor?: Executor;
|
|
103
|
+
/**
|
|
104
|
+
* Fails each repository call and `$rpc` after this many milliseconds with
|
|
105
|
+
* a `timeout` error. A call's own `timeout` replaces it.
|
|
106
|
+
*/
|
|
107
|
+
readonly timeout?: number;
|
|
108
|
+
/**
|
|
109
|
+
* postgrest-js retries of idempotent requests for this connection; a
|
|
110
|
+
* call's own `retry` replaces it. Defaults to the client's setting.
|
|
111
|
+
*/
|
|
112
|
+
readonly retry?: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Storage that runs as the same caller, as `db.$storage`. Defaults to
|
|
115
|
+
* the client's `storage`; pass it when connecting an `Executor`, such as
|
|
116
|
+
* direct Postgres as a user.
|
|
117
|
+
*/
|
|
118
|
+
readonly storage?: StorageApi;
|
|
119
|
+
}
|
|
120
|
+
interface RpcDefinition {
|
|
121
|
+
/** App keys of the tables the function writes; their cached reads are invalidated on success. */
|
|
122
|
+
readonly invalidates: readonly string[];
|
|
123
|
+
}
|
|
124
|
+
//#endregion
|
|
10
125
|
//#region src/ir/args.d.ts
|
|
11
126
|
interface BaseOps<V> {
|
|
12
127
|
readonly eq?: V;
|
|
@@ -415,37 +530,6 @@ type SearchScore<A> = A extends {
|
|
|
415
530
|
readonly $score: number;
|
|
416
531
|
} : unknown;
|
|
417
532
|
//#endregion
|
|
418
|
-
//#region src/core/stats.d.ts
|
|
419
|
-
/** Database work for one request (or one `db`). */
|
|
420
|
-
interface DbStats {
|
|
421
|
-
/** Executor calls: repository operations and RPCs. */
|
|
422
|
-
readonly calls: number;
|
|
423
|
-
/**
|
|
424
|
-
* Sequential rounds. A wave starts when a call begins while nothing else
|
|
425
|
-
* is in flight, so `Promise.all` of three reads is one wave.
|
|
426
|
-
*/
|
|
427
|
-
readonly waves: number;
|
|
428
|
-
/** App keys of the tables read or written, and `name()` for RPCs. */
|
|
429
|
-
readonly tables: readonly string[];
|
|
430
|
-
/** From the first call's start to the last call's end. */
|
|
431
|
-
readonly ms: number;
|
|
432
|
-
}
|
|
433
|
-
declare const EMPTY_STATS: DbStats;
|
|
434
|
-
/**
|
|
435
|
-
* Counts calls and waves. A recorder with a `parent` also reports to it, so
|
|
436
|
-
* a request-wide recorder sees every scope's calls.
|
|
437
|
-
*/
|
|
438
|
-
declare class StatsRecorder {
|
|
439
|
-
#private;
|
|
440
|
-
constructor(parent?: StatsRecorder, now?: () => number);
|
|
441
|
-
/** Records a call to `table`; the returned function ends it. */
|
|
442
|
-
begin(table: string): () => void;
|
|
443
|
-
/** The totals so far. */
|
|
444
|
-
snapshot(): DbStats;
|
|
445
|
-
}
|
|
446
|
-
/** Wraps an executor so every call is recorded. */
|
|
447
|
-
declare function recordStats(executor: Executor, recorder: StatsRecorder): Executor;
|
|
448
|
-
//#endregion
|
|
449
533
|
//#region src/core/repository-types.d.ts
|
|
450
534
|
type FindExt<E, M extends AnyModels, T extends keyof M> = ApplyExtension<E, M, T, "findArgs">;
|
|
451
535
|
type DeleteExt<E, M extends AnyModels, T extends keyof M> = ApplyExtension<E, M, T, "deleteArgs">;
|
|
@@ -670,6 +754,13 @@ type RawRpcOptions = Omit<RpcOptions<unknown>, "returns" | "raw"> & {
|
|
|
670
754
|
interface DbHelpers<M extends AnyModels, F extends AnyFunctions, E, C> {
|
|
671
755
|
/** The underlying client (supabase-js), for anything the repository lacks. */
|
|
672
756
|
readonly $client: C;
|
|
757
|
+
/**
|
|
758
|
+
* Storage as the same caller: `connect()`'s `storage` option, or the
|
|
759
|
+
* client's `storage`. Pass it to `bucket.connect()` and the blocks, so
|
|
760
|
+
* Storage follows whatever the `Db` runs as. Throws when the connection
|
|
761
|
+
* has neither, such as a bare `Executor`.
|
|
762
|
+
*/
|
|
763
|
+
readonly $storage: StorageApi;
|
|
673
764
|
readonly $executor: Executor;
|
|
674
765
|
readonly $context: RequestContext;
|
|
675
766
|
/**
|
|
@@ -798,6 +889,12 @@ interface PostgrestExecutorOptions extends PostgrestCompileOptions {
|
|
|
798
889
|
* client's setting, which is on.
|
|
799
890
|
*/
|
|
800
891
|
readonly retry?: boolean;
|
|
892
|
+
/**
|
|
893
|
+
* When set, `rpc()` fails with an `unsupported` error carrying this
|
|
894
|
+
* message and sends no request: the backend has no database functions
|
|
895
|
+
* (Supabase Lite on SQLite).
|
|
896
|
+
*/
|
|
897
|
+
readonly rpcUnavailable?: string;
|
|
801
898
|
}
|
|
802
899
|
/** Executes IR operations through a supabase-js client. */
|
|
803
900
|
declare function postgrestExecutor(client: PostgrestClientLike, options?: PostgrestExecutorOptions): Executor;
|
|
@@ -805,78 +902,6 @@ declare function postgrestExecutor(client: PostgrestClientLike, options?: Postgr
|
|
|
805
902
|
declare function explainPostgrest(op: Operation, options?: PostgrestCompileOptions): PostgrestPlan;
|
|
806
903
|
//#endregion
|
|
807
904
|
//#region src/core/define.d.ts
|
|
808
|
-
interface SupabaseOptions {
|
|
809
|
-
/** Clock used by plugins (timestamps, soft delete). */
|
|
810
|
-
readonly now?: () => Temporal.Instant;
|
|
811
|
-
/**
|
|
812
|
-
* The `Temporal` namespace, for runtimes without a global one (Hermes,
|
|
813
|
-
* Node 24) when patching `globalThis` is not an option:
|
|
814
|
-
* `import { Temporal } from 'temporal-polyfill'`. Defaults to `globalThis.Temporal`.
|
|
815
|
-
*/
|
|
816
|
-
readonly temporal?: typeof Temporal;
|
|
817
|
-
/** Extra error mappers, run before plugin mappers. */
|
|
818
|
-
readonly errors?: readonly ErrorMapper[];
|
|
819
|
-
/** Receives errors from event handlers, hooks and cache adapters. Defaults to `console`. */
|
|
820
|
-
readonly logger?: Logger;
|
|
821
|
-
/**
|
|
822
|
-
* Debug records on `logger` for every query, database error, session
|
|
823
|
-
* refresh and auth resolution: table, operation, outcome, timing and row
|
|
824
|
-
* count, never tokens, row values, filters or error messages. Off by
|
|
825
|
-
* default; with it off, no handler runs.
|
|
826
|
-
*/
|
|
827
|
-
readonly diagnostics?: boolean;
|
|
828
|
-
/** RPCs that change tables, keyed by function name. Prefer `betterSupabase.defineRpc()`. */
|
|
829
|
-
readonly rpc?: Readonly<Record<string, RpcDefinition>>;
|
|
830
|
-
/** Builds the error `.orThrow()` throws. Prefer `betterSupabase.mapError()`. */
|
|
831
|
-
readonly throwAs?: ThrowMapper;
|
|
832
|
-
/** Validates verified JWT claims on the server. Prefer `betterSupabase.claims()`, which also types them. */
|
|
833
|
-
readonly claims?: StandardSchemaV1;
|
|
834
|
-
/** Parses `user_metadata` into `session.profile`. Prefer `betterSupabase.userMetadata()`, which also types it. */
|
|
835
|
-
readonly userMetadata?: StandardSchemaV1;
|
|
836
|
-
/**
|
|
837
|
-
* PostgREST's `db-max-rows`: the most rows one read returns. An unbounded
|
|
838
|
-
* `findMany` that returns this many sets `truncated` on the `query` event
|
|
839
|
-
* and logs a warning once per table. Defaults to 1000, the hosted default.
|
|
840
|
-
*/
|
|
841
|
-
readonly maxRows?: number;
|
|
842
|
-
/**
|
|
843
|
-
* The longest query string one PostgREST read sends, like supabase-js
|
|
844
|
-
* `db.urlLengthLimit`. Longer reads are split along their longest `in`
|
|
845
|
-
* list. Defaults to 6000 characters, or the client's `db.urlLengthLimit`
|
|
846
|
-
* when that is lower.
|
|
847
|
-
*/
|
|
848
|
-
readonly urlLengthLimit?: number;
|
|
849
|
-
/**
|
|
850
|
-
* The PostgREST version the app talks to, as in `postgrestVersion` in
|
|
851
|
-
* the better-supabase config. `maxAffected` needs 13 or later, and fails
|
|
852
|
-
* with `invalid_request` before any request on an older version.
|
|
853
|
-
* Defaults to `"13"`.
|
|
854
|
-
*/
|
|
855
|
-
readonly postgrestVersion?: string;
|
|
856
|
-
}
|
|
857
|
-
interface ConnectOptions {
|
|
858
|
-
/** Also records this connection's calls into a request-wide recorder. */
|
|
859
|
-
readonly stats?: StatsRecorder;
|
|
860
|
-
/**
|
|
861
|
-
* Runs operations instead of the client's own executor, while `$client`
|
|
862
|
-
* stays the client (e.g. routing reads to a replica).
|
|
863
|
-
*/
|
|
864
|
-
readonly executor?: Executor;
|
|
865
|
-
/**
|
|
866
|
-
* Fails each repository call and `$rpc` after this many milliseconds with
|
|
867
|
-
* a `timeout` error. A call's own `timeout` replaces it.
|
|
868
|
-
*/
|
|
869
|
-
readonly timeout?: number;
|
|
870
|
-
/**
|
|
871
|
-
* postgrest-js retries of idempotent requests for this connection; a
|
|
872
|
-
* call's own `retry` replaces it. Defaults to the client's setting.
|
|
873
|
-
*/
|
|
874
|
-
readonly retry?: boolean;
|
|
875
|
-
}
|
|
876
|
-
interface RpcDefinition {
|
|
877
|
-
/** App keys of the tables the function writes; their cached reads are invalidated on success. */
|
|
878
|
-
readonly invalidates: readonly string[];
|
|
879
|
-
}
|
|
880
905
|
/**
|
|
881
906
|
* The isomorphic definition of your data layer: schema plus plugins. Holds no
|
|
882
907
|
* secrets and no connection; `connect()` binds it to a client per request.
|
|
@@ -977,4 +1002,4 @@ declare class BetterSupabase<M extends AnyModels = AnyModels, D = unknown, F ext
|
|
|
977
1002
|
*/
|
|
978
1003
|
declare function defineSupabase<M extends AnyModels, D, F extends AnyFunctions>(schema: Schema<M, D, F>, options?: SupabaseOptions): BetterSupabase<M, D, F>;
|
|
979
1004
|
//#endregion
|
|
980
|
-
export {
|
|
1005
|
+
export { ReadSetParams as $, OverloadedName as A, NumericMeasureArg as At, UpsertArgs as B, WhereInput as Bt, ManyReturningArgs as C, FindOnlyArgs as Ct, OffsetRangeArgs as D, MeasureArg as Dt, OffsetPageArgs as E, JsonPathOps as Et, RepositoryOf as F, RelationMeasureArg as Ft, SearchScore as G, EMPTY_STATS as Gt, WriteArgs as H, RpcDefinition as Ht, Returned as I, RequestArgs as It, ReadSetAuth as J, InferReadSetParams as K, StatsRecorder as Kt, RpcArgs as L, SelectArg as Lt, PlainName as M, OrderByInput as Mt, RawRpcOptions as N, Payload as Nt, OverloadArgs as O, MeasureKey as Ot, Repository as P, ReadArgs as Pt, ReadSetParamValue as Q, RpcOptions as R, SortDirection as Rt, ManyResult as S, FindManyArgs as St, OffsetPage as T, IncludeArgs as Tt, WriteManyArgs as U, SupabaseOptions as Ut, UpsertManyArgs as V, ConnectOptions as Vt, SearchArgs as W, DbStats as Wt, ReadSetParamType as X, ReadSetOptions as Y, ReadSetParamTypes as Z, Db as _, ColumnOrderByArg as _t, explainPostgrest as a, QuerySpec as at, DeleteExt as b, FieldFilter as bt, CacheTarget as c, TableSpecs as ct, memoryCache as d, AggregateArgs as dt, ReadSetResult as et, rowKey as f, AggregateOrderBy as ft, CursorPageArgs as g, ColumnOrderBy as gt, CursorPage as h, AggregateRow as ht, PostgrestExecutorOptions as i, InferResult as it, PageOf as j, OrderByArg as jt, OverloadReturns as k, MutableWhere as kt, MemoryCache as l, isQuerySpec as lt, ConflictTarget as m, AggregateResult as mt, defineSupabase as n, isReadSet as nt, postgrestExecutor as o, ReadMethod as ot, rpcCacheTargets as p, AggregateOrderByArg as pt, ReadSet as q, recordStats as qt, PostgrestClientLike as r, readSetTables as rt, CacheAdapter as s, Specs as st, BetterSupabase as t, defineReadSet as tt, cacheTargetOf as u, specTables as ut, DbHelpers as v, CountArg as vt, NoArgName as w, IncludeArg as wt, FindExt as x, FindFirstArgs as xt, DeleteArgs as y, CountArgs as yt, UpdateArgs as z, SortSpec as zt };
|
package/dist/edge/index.d.ts
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { t as
|
|
5
|
-
import {
|
|
6
|
-
import { s as
|
|
1
|
+
import { f as Result } from "../result-BchM1XZn.js";
|
|
2
|
+
import { a as AnyModels, i as AnyFunctions } from "../types-CoE5Zwy4.js";
|
|
3
|
+
import { t as StandardSchemaV1 } from "../standard-lmkbOtPB.js";
|
|
4
|
+
import { s as PermissionRef, t as AnyAuthorizer } from "../authorizer-eiOjo-3l.js";
|
|
5
|
+
import { t as BetterSupabase } from "../define-DmcfoNXB.js";
|
|
6
|
+
import { i as ServerContext, s as ServerOptions, t as BetterServer } from "../server-types-CrAmZ8jv.js";
|
|
7
|
+
import { t as AuthSession } from "../view-TpXEUcVN.js";
|
|
8
|
+
import { i as MiddlewareOptions, r as GuardOptions } from "../respond-Cw-zanCm.js";
|
|
9
|
+
import { s as BlockRequireOptions } from "../kit-W99LCPBS.js";
|
|
10
|
+
import { t as FunctionContract } from "../function-contract-BcZenXMO.js";
|
|
7
11
|
import { t as Validated } from "../shared-DDSjEGDR.js";
|
|
8
|
-
import {
|
|
12
|
+
import { i as ResourceContext, l as ResourceRouteOptions, o as ResourceHooks, r as ResourceAction, t as ActionArgs } from "../resource-types-CqB6GWGT.js";
|
|
13
|
+
import { t as ResourceMap } from "../resources-DZSk8tXJ.js";
|
|
14
|
+
import { t as defineAction } from "../resource-execute-rbKvuCsY.js";
|
|
9
15
|
import { AnyEntry, Contributions } from "@supabase/middleware";
|
|
10
16
|
import { WithCorsConfig } from "@supabase/middleware/cors";
|
|
11
17
|
//#region src/bridges/edge.d.ts
|
|
@@ -27,6 +33,48 @@ type EdgeHandler = (request: Request, env?: unknown, executionContext?: EdgeExec
|
|
|
27
33
|
*/
|
|
28
34
|
export declare function toEdge<const Entries extends readonly AnyEntry[]>(entries: Entries & Validated<Entries>, handler: (request: Request, ctx: Contributions<Entries>, executionContext: EdgeExecutionContext | undefined, env: unknown) => Response | Promise<Response>): EdgeHandler;
|
|
29
35
|
//#endregion
|
|
36
|
+
//#region src/edge/function.d.ts
|
|
37
|
+
/** A fetch handler that carries its contract in its type. */
|
|
38
|
+
type TypedFunction<In, Out> = EdgeHandler & {
|
|
39
|
+
/** Type-only: never set at runtime. */
|
|
40
|
+
readonly "~contract"?: FunctionContract<In, Out>;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* The contract of a `defineFunction` handler, for `functions<Contracts>()` in
|
|
44
|
+
* `better-supabase/client`.
|
|
45
|
+
*/
|
|
46
|
+
type ContractOf<T> = T extends TypedFunction<infer In, infer Out> ? FunctionContract<In, Out> : never;
|
|
47
|
+
type Returned<Out> = Out | Result<Out> | Response | PromiseLike<Out | Result<Out> | Response> | undefined;
|
|
48
|
+
interface FunctionDefinition<I extends StandardSchemaV1, Out, M extends AnyModels, F extends AnyFunctions, E, C, P> extends MiddlewareOptions {
|
|
49
|
+
/** Parses the JSON body. A body it rejects answers 422 with the issues. */
|
|
50
|
+
readonly input: I;
|
|
51
|
+
/**
|
|
52
|
+
* Checks what the handler returns before it is sent. A value it rejects
|
|
53
|
+
* answers 500, so a function never sends data its contract doesn't promise.
|
|
54
|
+
*/
|
|
55
|
+
readonly output?: StandardSchemaV1<unknown, Out>;
|
|
56
|
+
/** Runs as the caller with the parsed input. Returns data or a `Result`. */
|
|
57
|
+
readonly handler: (input: StandardSchemaV1.InferOutput<I>, ctx: ServerContext<M, F, E, C, P> & {
|
|
58
|
+
readonly request: Request;
|
|
59
|
+
}) => Returned<Out>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* An Edge Function with a typed input and output: the body is parsed and
|
|
63
|
+
* checked with a Standard Schema (zod, valibot, arktype, ...) before the
|
|
64
|
+
* handler runs as the caller. Its type carries the contract, so the app calls
|
|
65
|
+
* it through `functions<Contracts>()` from `better-supabase/client`.
|
|
66
|
+
*
|
|
67
|
+
* ```ts
|
|
68
|
+
* const sendInvite = defineFunction(bs, {
|
|
69
|
+
* input: z.object({ email: z.email() }),
|
|
70
|
+
* handler: (input, ctx) => ctx.db.invites.create({ data: input }),
|
|
71
|
+
* });
|
|
72
|
+
* export type SendInvite = ContractOf<typeof sendInvite>;
|
|
73
|
+
* Deno.serve(sendInvite);
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export declare function defineFunction<I extends StandardSchemaV1, Out, M extends AnyModels, F extends AnyFunctions, E, C = unknown, P = unknown>(edge: Pick<BetterEdge<M, F, E, C, P>, "handler">, definition: FunctionDefinition<I, Out, M, F, E, C, P>): TypedFunction<StandardSchemaV1.InferInput<I>, Out>;
|
|
77
|
+
//#endregion
|
|
30
78
|
//#region src/edge/index.d.ts
|
|
31
79
|
export interface CorsOptions {
|
|
32
80
|
/** Allowed origins, or `*`. Defaults to `*`. */
|
|
@@ -48,7 +96,6 @@ export interface EdgeOptions extends ServerOptions {
|
|
|
48
96
|
*/
|
|
49
97
|
readonly waitUntil?: (promise: Promise<unknown>) => void;
|
|
50
98
|
}
|
|
51
|
-
export type ResourceMap<M extends AnyModels> = { readonly [T in TableKey<M>]?: ResourceRouteOptions<M, T> | true; };
|
|
52
99
|
export interface ResourcesOptions extends MiddlewareOptions {
|
|
53
100
|
/** Path before the resources, e.g. `/api` (Supabase: `/<function-name>`). */
|
|
54
101
|
readonly basePath?: string;
|
|
@@ -75,7 +122,7 @@ export interface EdgeRoute<M extends AnyModels, F extends AnyFunctions, E, C = u
|
|
|
75
122
|
* segments are params, a final `*` matches the rest of the path.
|
|
76
123
|
*/
|
|
77
124
|
export type EdgeRoutes<M extends AnyModels, F extends AnyFunctions, E, C = unknown, P = unknown> = Readonly<Record<string, EdgeRouteHandler<M, F, E, C, P> | EdgeRoute<M, F, E, C, P>>>;
|
|
78
|
-
export interface BetterEdge<M extends AnyModels, F extends AnyFunctions, E, C = unknown, P = unknown> extends BetterServer<M, F, E, C, P> {
|
|
125
|
+
export interface BetterEdge<M extends AnyModels, F extends AnyFunctions, E, C = unknown, P = unknown, Ref = string> extends BetterServer<M, F, E, C, P> {
|
|
79
126
|
/**
|
|
80
127
|
* A fetch handler (`Deno.serve`, Workers `fetch`) running as the caller.
|
|
81
128
|
* `Result`s become JSON or Problem Details; `undefined` becomes 204.
|
|
@@ -96,13 +143,19 @@ export interface BetterEdge<M extends AnyModels, F extends AnyFunctions, E, C =
|
|
|
96
143
|
* ```
|
|
97
144
|
*/
|
|
98
145
|
routes<K extends string>(routes: { readonly [Key in K]: EdgeRouteHandler<M, F, E, C, P, RouteParams<Key>> | EdgeRoute<M, F, E, C, P, RouteParams<Key>>; }, options?: ResourcesOptions): EdgeHandler;
|
|
99
|
-
/**
|
|
100
|
-
|
|
146
|
+
/**
|
|
147
|
+
* REST resources matching the API model, e.g.
|
|
148
|
+
* `Deno.serve(bs.resources({ customers: true }))`: collection, item and
|
|
149
|
+
* action paths. An unknown path answers 404 before auth resolves.
|
|
150
|
+
*/
|
|
151
|
+
resources(map: ResourceMap<M, Ref, ServerContext<M, F, E, C, P>["db"]>, options?: ResourcesOptions): EdgeHandler;
|
|
101
152
|
}
|
|
102
153
|
export declare const SUPABASE_CORS_HEADERS: readonly string[];
|
|
103
154
|
/** `CorsOptions` as `withCors` from `@supabase/middleware/cors` takes them. */
|
|
104
155
|
export declare function corsConfig(cors: CorsOptions): WithCorsConfig;
|
|
105
156
|
/** Fetch-handler integration for Supabase Edge Functions, Deno, Bun and Workers. */
|
|
106
|
-
export declare function createEdge<M extends AnyModels, D, F extends AnyFunctions, E, C = unknown, P = unknown>(betterSupabase: BetterSupabase<M, D, F, E, C, P>, options?: EdgeOptions
|
|
157
|
+
export declare function createEdge<M extends AnyModels, D, F extends AnyFunctions, E, C = unknown, P = unknown, A extends AnyAuthorizer | undefined = undefined>(betterSupabase: BetterSupabase<M, D, F, E, C, P>, options?: EdgeOptions & {
|
|
158
|
+
readonly authorizer?: A;
|
|
159
|
+
}): BetterEdge<M, F, E, C, P, PermissionRef<A>>;
|
|
107
160
|
//#endregion
|
|
108
|
-
export type
|
|
161
|
+
export { type ActionArgs, type BlockRequireOptions, type ContractOf, type EdgeExecutionContext, type EdgeHandler, type FunctionContract, type FunctionDefinition, type GuardOptions, type MiddlewareOptions, type ResourceAction, type ResourceContext, type ResourceHooks, type ResourceMap, type ResourceRouteOptions, type TypedFunction, defineAction };
|
package/dist/edge/index.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import { n as dbError } from "../errors-
|
|
2
|
-
import { r as err } from "../result-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { a as
|
|
6
|
-
import { t as
|
|
7
|
-
import { t as
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
1
|
+
import { n as dbError } from "../errors-2M6CKMP4.js";
|
|
2
|
+
import { a as ok, r as err } from "../result-DEqHCMKP.js";
|
|
3
|
+
import { n as validate } from "../standard-DkzZUneg.js";
|
|
4
|
+
import { o as problemResponse } from "../problem-CJvFeGu7.js";
|
|
5
|
+
import { a as unexpectedResponse, c as extendServer, o as withFlush, s as createServer } from "../adapter-CN45ibbV.js";
|
|
6
|
+
import { a as respond, o as settle, t as defaultExpose } from "../respond-volM3ByS.js";
|
|
7
|
+
import { t as withBetterSupabase } from "../composite-zTe0TCqj.js";
|
|
8
|
+
import { r as defineAction } from "../resource-DA811u_4.js";
|
|
9
|
+
import { i as requireCaller } from "../kit-BhHr9T9v.js";
|
|
10
|
+
import { t as withExtra } from "../extra-CGQ2_q3S.js";
|
|
11
|
+
import { t as resourceRouter } from "../resources-BVYPnuLo.js";
|
|
12
|
+
import { t as EVERY_CALLER } from "../framework-3ey3QmrO.js";
|
|
10
13
|
import { bufferRequest, pipeline, seedContext } from "@supabase/middleware";
|
|
11
14
|
import { withCors } from "@supabase/middleware/cors";
|
|
12
15
|
//#region src/bridges/edge.ts
|
|
@@ -99,6 +102,47 @@ function matchRoute(routes, method, path) {
|
|
|
99
102
|
return allowed.size > 0 ? [...allowed] : "none";
|
|
100
103
|
}
|
|
101
104
|
//#endregion
|
|
105
|
+
//#region src/edge/function.ts
|
|
106
|
+
async function readInput(request) {
|
|
107
|
+
if (request.method === "GET" || request.method === "HEAD") return ok(void 0);
|
|
108
|
+
const text = await request.text();
|
|
109
|
+
if (text === "") return ok(void 0);
|
|
110
|
+
try {
|
|
111
|
+
return ok(JSON.parse(text));
|
|
112
|
+
} catch {
|
|
113
|
+
return err(dbError("invalid_input", "The request body is not JSON"));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* An Edge Function with a typed input and output: the body is parsed and
|
|
118
|
+
* checked with a Standard Schema (zod, valibot, arktype, ...) before the
|
|
119
|
+
* handler runs as the caller. Its type carries the contract, so the app calls
|
|
120
|
+
* it through `functions<Contracts>()` from `better-supabase/client`.
|
|
121
|
+
*
|
|
122
|
+
* ```ts
|
|
123
|
+
* const sendInvite = defineFunction(bs, {
|
|
124
|
+
* input: z.object({ email: z.email() }),
|
|
125
|
+
* handler: (input, ctx) => ctx.db.invites.create({ data: input }),
|
|
126
|
+
* });
|
|
127
|
+
* export type SendInvite = ContractOf<typeof sendInvite>;
|
|
128
|
+
* Deno.serve(sendInvite);
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
function defineFunction(edge, definition) {
|
|
132
|
+
const { input, output, handler, ...options } = definition;
|
|
133
|
+
return edge.handler(async (request, ctx) => {
|
|
134
|
+
const body = await readInput(request);
|
|
135
|
+
if (!body.ok) return body;
|
|
136
|
+
const parsed = await validate(input, body.data, "input");
|
|
137
|
+
if (!parsed.ok) return parsed;
|
|
138
|
+
const settled = await settle(() => handler(parsed.data, withExtra(ctx, { request })));
|
|
139
|
+
if (!settled.ok) return err(settled.error);
|
|
140
|
+
if (output === void 0 || settled.data instanceof Response) return settled.data;
|
|
141
|
+
const checked = await validate(output, settled.data, "output");
|
|
142
|
+
return checked.ok ? checked.data : err(dbError("unexpected", "The function returned data its output rejects"));
|
|
143
|
+
}, options);
|
|
144
|
+
}
|
|
145
|
+
//#endregion
|
|
102
146
|
//#region src/edge/index.ts
|
|
103
147
|
const SUPABASE_CORS_HEADERS = [
|
|
104
148
|
"authorization",
|
|
@@ -148,9 +192,7 @@ function createEdge(betterSupabase, options = {}) {
|
|
|
148
192
|
const routed = (request, env, executionContext) => Promise.resolve(early?.(request) ?? authorized(request, env, executionContext));
|
|
149
193
|
const answer = withCorsConfig ? toEdge([withCors(withCorsConfig)], (request, _ctx, executionContext, env) => routed(request, env, executionContext)) : routed;
|
|
150
194
|
return async (request, env, executionContext) => {
|
|
151
|
-
|
|
152
|
-
flushEvents(server, options.waitUntil ?? executionContext?.waitUntil.bind(executionContext));
|
|
153
|
-
return response;
|
|
195
|
+
return withFlush(server, options.waitUntil ?? executionContext?.waitUntil.bind(executionContext), () => answer(request, env, executionContext));
|
|
154
196
|
};
|
|
155
197
|
};
|
|
156
198
|
return extendServer(server, {
|
|
@@ -193,7 +235,7 @@ function createEdge(betterSupabase, options = {}) {
|
|
|
193
235
|
const caller = await requireCaller(ctx.auth, {
|
|
194
236
|
...shared,
|
|
195
237
|
...route.options
|
|
196
|
-
}, tenant);
|
|
238
|
+
}, tenant, options.authorizer);
|
|
197
239
|
if ("kind" in caller) return err(caller);
|
|
198
240
|
return route.handler(request, withExtra(ctx, {
|
|
199
241
|
params,
|
|
@@ -209,40 +251,24 @@ function createEdge(betterSupabase, options = {}) {
|
|
|
209
251
|
});
|
|
210
252
|
},
|
|
211
253
|
resources(map, resourcesOptions = {}) {
|
|
212
|
-
const
|
|
213
|
-
const
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
}
|
|
218
|
-
const match = (request) => {
|
|
219
|
-
const { pathname } = new URL(request.url);
|
|
220
|
-
const [table, id, extra] = (pathname.startsWith(`${base}/`) ? pathname.slice(base.length + 1) : void 0)?.split("/") ?? [];
|
|
221
|
-
const handler = table ? handlers.get(table) : void 0;
|
|
222
|
-
if (!handler || extra !== void 0 || id !== void 0 && !handler.keyParam) return problemResponse(dbError("not_found", `No route for ${pathname}`), { instance: pathname });
|
|
223
|
-
try {
|
|
224
|
-
return {
|
|
225
|
-
handler,
|
|
226
|
-
id: id === void 0 || id === "" ? void 0 : decodeURIComponent(id),
|
|
227
|
-
instance: pathname
|
|
228
|
-
};
|
|
229
|
-
} catch {
|
|
230
|
-
return problemResponse(dbError("invalid_input", `Malformed id in ${pathname}`), { instance: pathname });
|
|
231
|
-
}
|
|
232
|
-
};
|
|
254
|
+
const { basePath, ...middlewareOptions } = resourcesOptions;
|
|
255
|
+
const router = resourceRouter(betterSupabase, map, {
|
|
256
|
+
...basePath === void 0 ? {} : { basePath },
|
|
257
|
+
...options.authorizer === void 0 ? {} : { authorizer: options.authorizer }
|
|
258
|
+
});
|
|
233
259
|
return serve((request, ctx) => {
|
|
234
|
-
const route = match(request);
|
|
260
|
+
const route = router.match(request);
|
|
235
261
|
if (route instanceof Response) return route;
|
|
236
|
-
return route.handler.
|
|
262
|
+
return route.handler.serve(request, ctx.db, route.segments, {
|
|
237
263
|
instance: route.instance,
|
|
238
264
|
expose
|
|
239
265
|
});
|
|
240
|
-
},
|
|
241
|
-
const route = match(request);
|
|
266
|
+
}, middlewareOptions, (request) => {
|
|
267
|
+
const route = router.match(request);
|
|
242
268
|
return route instanceof Response ? route : void 0;
|
|
243
269
|
});
|
|
244
270
|
}
|
|
245
271
|
});
|
|
246
272
|
}
|
|
247
273
|
//#endregion
|
|
248
|
-
export { SUPABASE_CORS_HEADERS, corsConfig, createEdge, toEdge };
|
|
274
|
+
export { SUPABASE_CORS_HEADERS, corsConfig, createEdge, defineAction, defineFunction, toEdge };
|
package/dist/elysia/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as RouteGuardOptions } from "../refusal-
|
|
1
|
+
import { n as RouteGuardOptions } from "../refusal-CFI8-5nf.js";
|
|
2
2
|
import { t as Validated } from "../shared-DDSjEGDR.js";
|
|
3
3
|
import { AnyEntry, Contributions } from "@supabase/middleware";
|
|
4
4
|
//#region src/bridges/elysia.d.ts
|
package/dist/elysia/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as around } from "../shared-CBxosKK3.js";
|
|
2
|
-
import { a as routeRefusal, n as guardedLocals, t as errorResponse } from "../refusal-
|
|
2
|
+
import { a as routeRefusal, n as guardedLocals, t as errorResponse } from "../refusal-K78A1Vmq.js";
|
|
3
3
|
import { bufferRequest } from "@supabase/middleware";
|
|
4
4
|
//#region src/bridges/elysia.ts
|
|
5
5
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as Embedder, o as KnowledgeHit, r as Knowledge, u as KnowledgeSearchOptions } from "./knowledge-
|
|
1
|
+
import { n as Embedder, o as KnowledgeHit, r as Knowledge, u as KnowledgeSearchOptions } from "./knowledge-CAReFpRA.js";
|
|
2
2
|
import { EmbeddingModel, RerankingModel, SourceDocumentUIPart, Tool, embedMany } from "ai";
|
|
3
3
|
//#region src/ai-sdk/embeddings/embeddings.d.ts
|
|
4
4
|
type ProviderOptions = Parameters<typeof embedMany>[0]["providerOptions"];
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { m as RequestContext } from "./plugin-CPK2HsbY.js";
|
|
1
2
|
import { c as StoredSession, n as CookieOptions } from "./session-ChiXDZdZ.js";
|
|
3
|
+
import { r as AuthState } from "./resolve-MxXVWyhd.js";
|
|
2
4
|
//#region src/auth/refresh.d.ts
|
|
3
5
|
interface RefreshOptions {
|
|
4
6
|
readonly url: string;
|
|
@@ -41,6 +43,10 @@ type RefreshOutcome = {
|
|
|
41
43
|
*/
|
|
42
44
|
declare function refreshSession(refreshToken: string, options: RefreshOptions): Promise<RefreshOutcome>;
|
|
43
45
|
//#endregion
|
|
46
|
+
//#region src/auth/context.d.ts
|
|
47
|
+
/** The repository context (`actor`, `claims`) for an auth state. */
|
|
48
|
+
declare function authContext(auth: AuthState): RequestContext;
|
|
49
|
+
//#endregion
|
|
44
50
|
//#region src/auth/ended.d.ts
|
|
45
51
|
/** `banned`: Auth rejected the token with `error_code: "user_banned"`. */
|
|
46
52
|
type SessionStatus = "active" | "ended" | "banned" | "unknown";
|
|
@@ -60,4 +66,4 @@ interface ClearSessionCookiesOptions {
|
|
|
60
66
|
declare function sessionStatus(input: Request | string, options: SessionStatusOptions): Promise<SessionStatus>;
|
|
61
67
|
declare function clearSessionCookies<R extends Response>(request: Request, response: R, options: ClearSessionCookiesOptions): R;
|
|
62
68
|
//#endregion
|
|
63
|
-
export { sessionStatus as a,
|
|
69
|
+
export { sessionStatus as a, RefreshOutcome as c, clearSessionCookies as i, refreshSession as l, SessionStatus as n, authContext as o, SessionStatusOptions as r, RefreshOptions as s, ClearSessionCookiesOptions as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as AsyncResult } from "./result-
|
|
2
|
-
import {
|
|
1
|
+
import { t as AsyncResult } from "./result-DEqHCMKP.js";
|
|
2
|
+
import { E as run } from "./block-helpers-Cy3pB96I.js";
|
|
3
3
|
//#region src/blocks/entitlements/entitlements.ts
|
|
4
4
|
/** The Stripe event sent when a customer's active entitlements change. */
|
|
5
5
|
const ENTITLEMENTS_UPDATED = "entitlements.active_entitlement_summary.updated";
|
package/dist/env/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as EnvResult, c as InlineJwks, d as loadEnv, f as parseEnv, i as EnvOptions, l as PublicEnv, m as toServerEnv, n as ENV_VARIABLES, o as EnvSource, p as publicEnv, r as EnvIssue, s as EnvValidationError, t as BetterSupabaseEnv, u as envSchema } from "../index-
|
|
1
|
+
import { a as EnvResult, c as InlineJwks, d as loadEnv, f as parseEnv, i as EnvOptions, l as PublicEnv, m as toServerEnv, n as ENV_VARIABLES, o as EnvSource, p as publicEnv, r as EnvIssue, s as EnvValidationError, t as BetterSupabaseEnv, u as envSchema } from "../index-BUK7jUzR.js";
|
|
2
2
|
export { BetterSupabaseEnv, ENV_VARIABLES, EnvIssue, EnvOptions, EnvResult, EnvSource, EnvValidationError, InlineJwks, PublicEnv, envSchema, loadEnv, parseEnv, publicEnv, toServerEnv };
|