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,20 +1,34 @@
|
|
|
1
1
|
/// <reference lib="esnext.temporal" />
|
|
2
|
-
import { t as AsyncResult } from "./result-
|
|
3
|
-
import { a as AnyModels, i as AnyFunctions } from "./types-
|
|
4
|
-
import { t as SqlClient } from "./executor-
|
|
5
|
-
import { m as RequestContext } from "./plugin-
|
|
6
|
-
import { a as EventHub } from "./events-
|
|
7
|
-
import { t as BetterSupabaseEnv } from "./index-
|
|
2
|
+
import { t as AsyncResult } from "./result-BchM1XZn.js";
|
|
3
|
+
import { a as AnyModels, i as AnyFunctions } from "./types-CoE5Zwy4.js";
|
|
4
|
+
import { t as SqlClient } from "./executor-ngjKL_Pe.js";
|
|
5
|
+
import { m as RequestContext } from "./plugin-CPK2HsbY.js";
|
|
6
|
+
import { a as EventHub } from "./events-D1BOCll8.js";
|
|
7
|
+
import { t as BetterSupabaseEnv } from "./index-BUK7jUzR.js";
|
|
8
8
|
import { a as CookieWrite } from "./session-ChiXDZdZ.js";
|
|
9
|
-
import { a as ResolveAuthOptions, r as AuthState, t as AuthResolution } from "./resolve-
|
|
10
|
-
import { r as CredentialProvider } from "./provider-
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
9
|
+
import { a as ResolveAuthOptions, r as AuthState, t as AuthResolution } from "./resolve-MxXVWyhd.js";
|
|
10
|
+
import { r as CredentialProvider } from "./provider-ib9wzUDz.js";
|
|
11
|
+
import { a as ProblemFormat } from "./problem-TvGdxO1t.js";
|
|
12
|
+
import { t as AnyAuthorizer } from "./authorizer-eiOjo-3l.js";
|
|
13
|
+
import { i as EventSink } from "./cloud-event-Dune0KI7.js";
|
|
14
|
+
import { S as Bucket, t as StorageApi } from "./storage-api-CB7Zl1Ci.js";
|
|
15
|
+
import { Kt as StatsRecorder, Wt as DbStats, _ as Db, t as BetterSupabase } from "./define-DmcfoNXB.js";
|
|
16
|
+
import { o as ImpersonationOptions } from "./mfa-SZc9YYyb.js";
|
|
17
|
+
import { s as SqlClaims, t as BetterPostgres } from "./pool-gkhbGp2E.js";
|
|
16
18
|
import { SupabaseClient } from "@supabase/supabase-js";
|
|
17
19
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
20
|
+
//#region src/server/lite.d.ts
|
|
21
|
+
/** The `[db] driver` values Supabase Lite reads from `supabase/config.toml`. */
|
|
22
|
+
type LiteDriver = "sqlite-postgres" | "sqlite" | "pglite" | "postgres";
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region src/server/request-ids.d.ts
|
|
25
|
+
interface RequestIdOptions {
|
|
26
|
+
readonly requestHeader?: string;
|
|
27
|
+
readonly correlationHeader?: string;
|
|
28
|
+
readonly incoming?: boolean;
|
|
29
|
+
readonly generate?: boolean;
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
18
32
|
//#region src/auth/support.d.ts
|
|
19
33
|
type SupportEndedBy = "admin" | "expired" | "revoked";
|
|
20
34
|
/** A support session: a platform admin viewing the app as `targetUserId`. */
|
|
@@ -82,10 +96,27 @@ interface SupportSessionStore {
|
|
|
82
96
|
list(filter?: SupportListFilter, claims?: SupportCallerClaims): Promise<readonly SupportSession[]>;
|
|
83
97
|
/** The claims `targetUserId` would get, when the store can build them. */
|
|
84
98
|
claims?(targetUserId: string): Promise<Readonly<Record<string, unknown>>>;
|
|
99
|
+
/**
|
|
100
|
+
* Ends every running session past its expiry with `endedBy: "expired"`
|
|
101
|
+
* and returns them. Optional; `support.expire()` fails without it.
|
|
102
|
+
*/
|
|
103
|
+
expire?(): Promise<readonly SupportSession[]>;
|
|
104
|
+
/**
|
|
105
|
+
* The store with `namespace` for its time values, unless it was given one
|
|
106
|
+
* itself. Optional; `createServer` calls it with the definition's
|
|
107
|
+
* `temporal`.
|
|
108
|
+
*/
|
|
109
|
+
withTemporal?(namespace: typeof Temporal): SupportSessionStore;
|
|
85
110
|
}
|
|
86
111
|
interface SqlSupportStoreOptions {
|
|
87
112
|
/** `sql.modules.support-sessions.schema`. Defaults to `better_supabase`. */
|
|
88
113
|
readonly schema?: string;
|
|
114
|
+
/**
|
|
115
|
+
* The Temporal namespace for the sessions' time values, for runtimes
|
|
116
|
+
* without a global one. Defaults to the one `createServer` passes from the
|
|
117
|
+
* definition, then the provided or global Temporal.
|
|
118
|
+
*/
|
|
119
|
+
readonly temporal?: typeof Temporal;
|
|
89
120
|
}
|
|
90
121
|
/**
|
|
91
122
|
* Support sessions in the `support-sessions` SQL module. `start` runs
|
|
@@ -170,6 +201,13 @@ interface SupportStartRequest {
|
|
|
170
201
|
readonly tenant?: string;
|
|
171
202
|
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
172
203
|
}
|
|
204
|
+
/** Options for `support.expireRoute`. */
|
|
205
|
+
interface SupportExpireRouteOptions {
|
|
206
|
+
/** The bearer token the cron caller sends, such as `process.env.CRON_SECRET`. */
|
|
207
|
+
readonly secret: string | undefined;
|
|
208
|
+
/** Rewrites the Problem Details bodies of the route's errors. */
|
|
209
|
+
readonly problem?: ProblemFormat;
|
|
210
|
+
}
|
|
173
211
|
/** A running support session, as the request that carries its cookie sees it. */
|
|
174
212
|
interface ActiveSupport {
|
|
175
213
|
readonly session: SupportSession;
|
|
@@ -205,6 +243,17 @@ interface SupportApi {
|
|
|
205
243
|
current(request: Request, auth: AuthState): Promise<ActiveSupport | undefined>;
|
|
206
244
|
/** The sessions `caller` may view (the SQL store checks the view permission). */
|
|
207
245
|
list(caller: AuthState, filter?: SupportListFilter): AsyncResult<readonly SupportSession[]>;
|
|
246
|
+
/**
|
|
247
|
+
* Ends every session past its expiry through the store and emits
|
|
248
|
+
* `support.ended` with `endedBy: "expired"` for each; the SQL store runs
|
|
249
|
+
* over `postgres.admin`. Returns the sessions it ended.
|
|
250
|
+
*/
|
|
251
|
+
expire(): AsyncResult<readonly SupportSession[]>;
|
|
252
|
+
/**
|
|
253
|
+
* A `GET` or `POST` handler for a cron caller that runs `expire()` and
|
|
254
|
+
* answers `{ expired }`, the number of sessions it ended.
|
|
255
|
+
*/
|
|
256
|
+
expireRoute(options: SupportExpireRouteOptions): (request: Request) => Promise<Response>;
|
|
208
257
|
/** The support session id in a request's cookie. */
|
|
209
258
|
sessionIdOf(request: Request): string | undefined;
|
|
210
259
|
/** `Set-Cookie` that clears the support cookie. */
|
|
@@ -213,8 +262,11 @@ interface SupportApi {
|
|
|
213
262
|
/** `ServerOptions.support`, from `supportSessions(options)`. */
|
|
214
263
|
interface SupportSessions {
|
|
215
264
|
readonly options: SupportOptions;
|
|
216
|
-
/**
|
|
217
|
-
|
|
265
|
+
/**
|
|
266
|
+
* Builds `bs.support`; `createServer` calls it once, with the definition's
|
|
267
|
+
* `temporal`, which goes on to the store's `withTemporal`.
|
|
268
|
+
*/
|
|
269
|
+
readonly create: (events: EventHub, claimsSchema: StandardSchemaV1 | undefined, temporal?: typeof Temporal) => SupportApi;
|
|
218
270
|
}
|
|
219
271
|
/**
|
|
220
272
|
* Support sessions for `createServer(betterSupabase, { support })`. Apps that
|
|
@@ -278,14 +330,6 @@ interface ReplicaState {
|
|
|
278
330
|
pin(): void;
|
|
279
331
|
}
|
|
280
332
|
//#endregion
|
|
281
|
-
//#region src/server/request-ids.d.ts
|
|
282
|
-
interface RequestIdOptions {
|
|
283
|
-
readonly requestHeader?: string;
|
|
284
|
-
readonly correlationHeader?: string;
|
|
285
|
-
readonly incoming?: boolean;
|
|
286
|
-
readonly generate?: boolean;
|
|
287
|
-
}
|
|
288
|
-
//#endregion
|
|
289
333
|
//#region src/server/suspend-account.d.ts
|
|
290
334
|
interface EndSessionsResult {
|
|
291
335
|
readonly userId: string;
|
|
@@ -293,11 +337,24 @@ interface EndSessionsResult {
|
|
|
293
337
|
}
|
|
294
338
|
interface SuspendAccountOptions {
|
|
295
339
|
readonly suspended: boolean;
|
|
340
|
+
/** A Go duration for the ban, such as `"24h"`. Defaults to 100 years. */
|
|
296
341
|
readonly duration?: string;
|
|
342
|
+
/**
|
|
343
|
+
* Also end the sessions when suspending. Defaults to `false`: the sessions
|
|
344
|
+
* stay, so Auth answers refresh and `/user` with `user_banned` and the app
|
|
345
|
+
* can show why. Without the `sessions` SQL module, an access token keeps
|
|
346
|
+
* working against the Data API until it expires; set this to end the
|
|
347
|
+
* sessions at once instead.
|
|
348
|
+
*/
|
|
349
|
+
readonly endSessions?: boolean;
|
|
297
350
|
}
|
|
298
351
|
interface SuspendAccountResult {
|
|
299
352
|
readonly userId: string;
|
|
300
353
|
readonly suspended: boolean;
|
|
354
|
+
/**
|
|
355
|
+
* The sessions deleted: `0` on a suspension (unless `endSessions` is set),
|
|
356
|
+
* and the user's remaining sessions when the ban is lifted.
|
|
357
|
+
*/
|
|
301
358
|
readonly ended: number;
|
|
302
359
|
}
|
|
303
360
|
declare function endSessions(sql: SqlClient, userId: string): AsyncResult<EndSessionsResult>;
|
|
@@ -314,7 +371,7 @@ interface LastSignIn {
|
|
|
314
371
|
declare function lastSignIns(sql: SqlClient, userIds: readonly string[]): AsyncResult<ReadonlyMap<string, LastSignIn>>;
|
|
315
372
|
declare function suspendAccount(service: SupabaseClient | (() => SupabaseClient), sql: SqlClient, userId: string, options: SuspendAccountOptions): AsyncResult<SuspendAccountResult>;
|
|
316
373
|
//#endregion
|
|
317
|
-
//#region src/server/server.d.ts
|
|
374
|
+
//#region src/server/server-types.d.ts
|
|
318
375
|
/**
|
|
319
376
|
* PostgREST request settings for the caller's repositories and the shared
|
|
320
377
|
* service and anon clients, the `db` options supabase-js takes.
|
|
@@ -342,6 +399,13 @@ interface ServerOptions {
|
|
|
342
399
|
/** Enables `ctx.sql` and `actingAs()`. */
|
|
343
400
|
readonly postgres?: BetterPostgres;
|
|
344
401
|
readonly auth?: Omit<ResolveAuthOptions, "env">;
|
|
402
|
+
/**
|
|
403
|
+
* `"lite"` for Supabase Lite: tokens verify with `SUPABASE_JWT_SECRET`, no
|
|
404
|
+
* JWKS prefetch, and `rpc()` is `unsupported` on its SQLite drivers.
|
|
405
|
+
*/
|
|
406
|
+
readonly backend?: "supabase" | "lite";
|
|
407
|
+
/** Lite's `[db] driver`, default `sqlite-postgres`; `postgres` needs `postgres`. */
|
|
408
|
+
readonly liteDriver?: LiteDriver;
|
|
345
409
|
/**
|
|
346
410
|
* Fetch the JWKS when the server is created, so the first request verifies
|
|
347
411
|
* its token without waiting for it. Applies when neither `auth.jwks` nor
|
|
@@ -410,6 +474,12 @@ interface ServerOptions {
|
|
|
410
474
|
* fails the action.
|
|
411
475
|
*/
|
|
412
476
|
readonly audit?: EventSink;
|
|
477
|
+
/**
|
|
478
|
+
* The authorization decision point (`Authorizer` v1) that resources,
|
|
479
|
+
* actions, routes and MCP tools ask for their `permission`. Without one, a
|
|
480
|
+
* declared permission denies.
|
|
481
|
+
*/
|
|
482
|
+
readonly authorizer?: AnyAuthorizer;
|
|
413
483
|
}
|
|
414
484
|
interface ForContextOptions {
|
|
415
485
|
/** Recorded as `act.reason` when the context carries an impersonator. Defaults to `"job"`. */
|
|
@@ -449,6 +519,14 @@ interface ServerContext<M extends AnyModels, F extends AnyFunctions, E, C = unkn
|
|
|
449
519
|
* `sql` are the target's, and `resolution` stays the admin's.
|
|
450
520
|
*/
|
|
451
521
|
readonly support?: ActiveSupport;
|
|
522
|
+
/**
|
|
523
|
+
* Set in a support session, where `ctx.supabase` throws: Storage read as
|
|
524
|
+
* the target, with the file API of `supabase.storage`. Listings, `exists`
|
|
525
|
+
* and `info` run over Postgres as the target; downloads and signed URLs
|
|
526
|
+
* are checked there, then served with the service client. Writes are
|
|
527
|
+
* refused. Needs `SUPABASE_SECRET_KEY`.
|
|
528
|
+
*/
|
|
529
|
+
readonly storage?: StorageApi;
|
|
452
530
|
/** `options.credentials`, when the server has one. */
|
|
453
531
|
readonly credentials?: CredentialProvider;
|
|
454
532
|
readonly requestId?: string;
|
|
@@ -507,6 +585,11 @@ interface BetterServer<M extends AnyModels, F extends AnyFunctions, E, C = unkno
|
|
|
507
585
|
*/
|
|
508
586
|
deleteAccount(userId: string, options?: DeleteAccountOptions): AsyncResult<DeleteAccountResult>;
|
|
509
587
|
endSessions(userId: string): AsyncResult<EndSessionsResult>;
|
|
588
|
+
/**
|
|
589
|
+
* Bans the user in Auth and keeps their sessions, so Auth answers with
|
|
590
|
+
* `user_banned` (`endSessions: true` deletes them too). Lifting the ban
|
|
591
|
+
* ends the sessions first, so the user signs in again.
|
|
592
|
+
*/
|
|
510
593
|
suspendAccount(userId: string, options: SuspendAccountOptions): AsyncResult<SuspendAccountResult>;
|
|
511
594
|
/**
|
|
512
595
|
* Repositories running as a user, with RLS, over direct Postgres. With
|
|
@@ -523,18 +606,9 @@ interface BetterServer<M extends AnyModels, F extends AnyFunctions, E, C = unkno
|
|
|
523
606
|
forContext(context: RequestContext, options?: ForContextOptions): AsyncResult<Db<M, F, E, undefined>>;
|
|
524
607
|
/** Support sessions; every method fails without `ServerOptions.support`. */
|
|
525
608
|
readonly support: SupportApi;
|
|
609
|
+
/** `options.authorizer`, when the server has one. */
|
|
610
|
+
readonly authorizer: AnyAuthorizer | undefined;
|
|
526
611
|
}
|
|
527
612
|
type ServerKeys = keyof BetterServer<AnyModels, AnyFunctions, unknown>;
|
|
528
|
-
/**
|
|
529
|
-
* A framework adapter's server: `server` plus the adapter's own methods,
|
|
530
|
-
* without reading the lazy `env` getter. `extra` can't replace a
|
|
531
|
-
* `BetterServer` method.
|
|
532
|
-
*/
|
|
533
|
-
declare function extendServer<R extends object>(server: object, extra: Omit<R, ServerKeys>): R;
|
|
534
|
-
/**
|
|
535
|
-
* Server-side entry point for APIs, jobs, MCP servers and framework
|
|
536
|
-
* adapters. Holds the secrets; `betterSupabase` stays isomorphic.
|
|
537
|
-
*/
|
|
538
|
-
declare function createServer<M extends AnyModels, D, F extends AnyFunctions, E, C = unknown, P = unknown>(betterSupabase: BetterSupabase<M, D, F, E, C, P>, options?: ServerOptions): BetterServer<M, F, E, C, P>;
|
|
539
613
|
//#endregion
|
|
540
|
-
export {
|
|
614
|
+
export { SUPPORT_COOKIE as A, SupportSessionStore as B, SupportAuthorizeInput as C, SupportSessions as D, SupportPolicy as E, SqlSupportStoreOptions as F, LiteDriver as G, sqlSupportStore as H, SupportCallerClaims as I, SupportEndedBy as L, clearSupportCookie as M, supportCookie as N, SupportStartRequest as O, supportCookieValue as P, SupportListFilter as R, SupportApi as S, SupportOptions as T, supportClaims as U, SupportStartInput as V, RequestIdOptions as W, ReplicaState as _, ServerDbOptions as a, deleteAccount as b, TENANT_HEADER as c, SuspendAccountOptions as d, SuspendAccountResult as f, PRIMARY_COOKIE as g, suspendAccount as h, ServerContext as i, SupportCookieOptions as j, supportSessions as k, EndSessionsResult as l, lastSignIns as m, ContextOptions as n, ServerKeys as o, endSessions as p, ForContextOptions as r, ServerOptions as s, BetterServer as t, LastSignIn as u, DeleteAccountOptions as v, SupportExpireRouteOptions as w, ActiveSupport as x, DeleteAccountResult as y, SupportSession as z };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { t as DbException } from "./db-exception-CnWcYPxL.js";
|
|
2
|
-
import { n as dbError } from "./errors-
|
|
3
|
-
import { t as lookupOf } from "./lookup-BaP5bI27.js";
|
|
2
|
+
import { n as dbError } from "./errors-2M6CKMP4.js";
|
|
4
3
|
//#region src/plugins/shared.ts
|
|
5
4
|
/** Database column name for an app column, or `undefined` if it is unknown. */
|
|
6
5
|
function dbName(table, app) {
|
|
@@ -57,17 +56,5 @@ function insertsOnly(op) {
|
|
|
57
56
|
function forbidden(message) {
|
|
58
57
|
throw new DbException(dbError("forbidden", message));
|
|
59
58
|
}
|
|
60
|
-
/** Database-keyed row to app-keyed row. */
|
|
61
|
-
function toApp(table, row) {
|
|
62
|
-
const out = {};
|
|
63
|
-
for (const [app, meta] of lookupOf(table).entries) if (meta.db in row) out[app] = row[meta.db];
|
|
64
|
-
return out;
|
|
65
|
-
}
|
|
66
|
-
/** App-keyed row to database-keyed row. Unknown keys are dropped. */
|
|
67
|
-
function toDb(table, row) {
|
|
68
|
-
const out = {};
|
|
69
|
-
for (const [app, meta] of lookupOf(table).entries) if (app in row) out[meta.db] = row[app];
|
|
70
|
-
return out;
|
|
71
|
-
}
|
|
72
59
|
//#endregion
|
|
73
|
-
export { insertsOnly as a,
|
|
60
|
+
export { insertsOnly as a, withDefault as c, guardManaged as i, equals as n, isNotNull as o, forbidden as r, isNull as s, dbName as t };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { n as invalidRequest } from "./build-meLuYGri.js";
|
|
2
|
+
//#region src/compile/shared.ts
|
|
3
|
+
/** A row-count or offset value that is safe to inline into SQL text. */
|
|
4
|
+
function integer(value) {
|
|
5
|
+
if (!Number.isInteger(value) || value < 0) invalidRequest(`Expected a non-negative integer, got ${value}`);
|
|
6
|
+
return value;
|
|
7
|
+
}
|
|
8
|
+
/** The ` where a and b` clause for the parts that are present, or an empty string. */
|
|
9
|
+
function whereClause(parts) {
|
|
10
|
+
const present = parts.filter((part) => part !== void 0);
|
|
11
|
+
return present.length > 0 ? ` where ${present.join(" and ")}` : "";
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { whereClause as n, integer as t };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/// <reference lib="esnext.temporal" />
|
|
2
|
+
import { f as Result } from "./result-BchM1XZn.js";
|
|
3
|
+
//#region src/core/signatures.d.ts
|
|
4
|
+
interface VerifiedWebhook<T = unknown> {
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly timestamp: Temporal.Instant;
|
|
7
|
+
readonly payload: T;
|
|
8
|
+
readonly body: string;
|
|
9
|
+
}
|
|
10
|
+
interface VerifyOptions {
|
|
11
|
+
/** Allowed clock skew in seconds. Defaults to 300. */
|
|
12
|
+
readonly tolerance?: number;
|
|
13
|
+
readonly now?: () => Temporal.Instant;
|
|
14
|
+
}
|
|
15
|
+
type WebhookInput = Request | {
|
|
16
|
+
readonly headers: Headers | Readonly<Record<string, string>>;
|
|
17
|
+
readonly body: string;
|
|
18
|
+
};
|
|
19
|
+
/** Headers for a signed Standard Webhooks request. */
|
|
20
|
+
declare function signWebhook(secret: string, message: {
|
|
21
|
+
readonly id: string;
|
|
22
|
+
readonly body: string;
|
|
23
|
+
readonly timestamp?: Temporal.Instant;
|
|
24
|
+
}): Promise<Record<string, string>>;
|
|
25
|
+
/**
|
|
26
|
+
* Verifies a Standard Webhooks signature (`webhook-id`, `webhook-timestamp`,
|
|
27
|
+
* `webhook-signature`, or the `svix-` names Svix-based senders use) and
|
|
28
|
+
* parses the JSON body. Pass several secrets while rotating.
|
|
29
|
+
*/
|
|
30
|
+
declare function verifyWebhook<T = unknown>(input: WebhookInput, secrets: string | readonly string[], options?: VerifyOptions): Promise<Result<VerifiedWebhook<T>>>;
|
|
31
|
+
/** Checks a shared-secret header (database webhooks), in constant time. */
|
|
32
|
+
declare function verifySharedSecret(request: Request, secret: string, headerName?: string): boolean;
|
|
33
|
+
//#endregion
|
|
34
|
+
export { verifySharedSecret as a, signWebhook as i, VerifyOptions as n, verifyWebhook as o, WebhookInput as r, VerifiedWebhook as t };
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { n as dbError } from "./errors-2M6CKMP4.js";
|
|
2
|
+
import { c as optionalTemporal, s as nowInstant } from "./temporal-BJGitm-h.js";
|
|
3
|
+
import { n as temporalMissing } from "./temporal-required-BtynQtM-.js";
|
|
4
|
+
import { a as ok, r as err } from "./result-DEqHCMKP.js";
|
|
5
|
+
import { i as toBase64, r as fromBase64 } from "./base64-D2gsioCY.js";
|
|
6
|
+
import { r as timingSafeEqual, t as encoder } from "./hmac-DCud0myt.js";
|
|
7
|
+
//#region src/core/signatures.ts
|
|
8
|
+
/** Accepts `whsec_…`, `v1,whsec_…` (Supabase Auth hooks) or raw base64. */
|
|
9
|
+
function secretBytes(secret) {
|
|
10
|
+
const raw = secret.replace(/^v1,/, "").replace(/^whsec_/, "");
|
|
11
|
+
try {
|
|
12
|
+
return fromBase64(raw);
|
|
13
|
+
} catch {
|
|
14
|
+
throw new TypeError("Webhook secret is not valid base64");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/** Secrets come from configuration, so a handful of keys suffice. */
|
|
18
|
+
const keys = /* @__PURE__ */ new Map();
|
|
19
|
+
function keyFor(secret) {
|
|
20
|
+
let key = keys.get(secret);
|
|
21
|
+
if (!key) {
|
|
22
|
+
key = crypto.subtle.importKey("raw", secretBytes(secret), {
|
|
23
|
+
name: "HMAC",
|
|
24
|
+
hash: "SHA-256"
|
|
25
|
+
}, false, ["sign", "verify"]);
|
|
26
|
+
if (keys.size < 16) {
|
|
27
|
+
keys.set(secret, key);
|
|
28
|
+
key.catch(() => keys.delete(secret));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return key;
|
|
32
|
+
}
|
|
33
|
+
async function signature(secret, content) {
|
|
34
|
+
return toBase64(new Uint8Array(await crypto.subtle.sign("HMAC", await keyFor(secret), encoder.encode(content))));
|
|
35
|
+
}
|
|
36
|
+
function decodeSignature(value) {
|
|
37
|
+
try {
|
|
38
|
+
return fromBase64(value);
|
|
39
|
+
} catch {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function header(headers, name) {
|
|
44
|
+
if (headers instanceof Headers) return headers.get(name);
|
|
45
|
+
return Object.entries(headers).find(([key]) => key.toLowerCase() === name)?.[1] ?? null;
|
|
46
|
+
}
|
|
47
|
+
const unauthorized = (code, message) => dbError("unauthorized", message, { code });
|
|
48
|
+
/** Headers for a signed Standard Webhooks request. */
|
|
49
|
+
async function signWebhook(secret, message) {
|
|
50
|
+
const timestamp = String(Math.floor((message.timestamp ?? nowInstant()).epochMilliseconds / 1e3));
|
|
51
|
+
return {
|
|
52
|
+
"webhook-id": message.id,
|
|
53
|
+
"webhook-timestamp": timestamp,
|
|
54
|
+
"webhook-signature": `v1,${await signature(secret, `${message.id}.${timestamp}.${message.body}`)}`
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Verifies a Standard Webhooks signature (`webhook-id`, `webhook-timestamp`,
|
|
59
|
+
* `webhook-signature`, or the `svix-` names Svix-based senders use) and
|
|
60
|
+
* parses the JSON body. Pass several secrets while rotating.
|
|
61
|
+
*/
|
|
62
|
+
async function verifyWebhook(input, secrets, options = {}) {
|
|
63
|
+
const headers = input.headers;
|
|
64
|
+
const prefix = header(headers, "webhook-id") === null ? "svix" : "webhook";
|
|
65
|
+
const id = header(headers, `${prefix}-id`);
|
|
66
|
+
const timestamp = header(headers, `${prefix}-timestamp`);
|
|
67
|
+
const signatures = header(headers, `${prefix}-signature`);
|
|
68
|
+
if (!id || !timestamp || !signatures) return err(unauthorized("WEBHOOK_MISSING_HEADERS", "Missing webhook signature headers"));
|
|
69
|
+
const seconds = Number(timestamp);
|
|
70
|
+
if (!/^\d+$/.test(timestamp)) return err(unauthorized("WEBHOOK_INVALID_TIMESTAMP", "Invalid webhook timestamp"));
|
|
71
|
+
const namespace = optionalTemporal();
|
|
72
|
+
if (namespace === void 0) return err(temporalMissing());
|
|
73
|
+
const now = (options.now?.() ?? namespace.Now.instant()).epochMilliseconds / 1e3;
|
|
74
|
+
const tolerance = options.tolerance ?? 300;
|
|
75
|
+
if (seconds < now - tolerance) return err(unauthorized("WEBHOOK_TIMESTAMP_TOO_OLD", "Webhook timestamp is too old"));
|
|
76
|
+
if (seconds > now + tolerance) return err(unauthorized("WEBHOOK_TIMESTAMP_TOO_NEW", "Webhook timestamp is in the future"));
|
|
77
|
+
const body = input instanceof Request ? await input.text() : input.body;
|
|
78
|
+
const content = encoder.encode(`${id}.${timestamp}.${body}`);
|
|
79
|
+
const offered = signatures.split(" ").map((entry) => entry.split(",")).filter(([version, value]) => version === "v1" && value).flatMap(([, value]) => decodeSignature(value) ?? []);
|
|
80
|
+
let valid = false;
|
|
81
|
+
for (const secret of typeof secrets === "string" ? [secrets] : secrets) {
|
|
82
|
+
const key = await keyFor(secret);
|
|
83
|
+
for (const candidate of offered) if (await crypto.subtle.verify("HMAC", key, candidate, content)) valid = true;
|
|
84
|
+
}
|
|
85
|
+
if (!valid) return err(unauthorized("WEBHOOK_INVALID_SIGNATURE", "Invalid webhook signature"));
|
|
86
|
+
try {
|
|
87
|
+
return ok({
|
|
88
|
+
id,
|
|
89
|
+
timestamp: namespace.Instant.fromEpochMilliseconds(seconds * 1e3),
|
|
90
|
+
payload: JSON.parse(body),
|
|
91
|
+
body
|
|
92
|
+
});
|
|
93
|
+
} catch {
|
|
94
|
+
return err(dbError("invalid_request", "Webhook body is not JSON"));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/** Checks a shared-secret header (database webhooks), in constant time. */
|
|
98
|
+
function verifySharedSecret(request, secret, headerName = "authorization") {
|
|
99
|
+
const token = (request.headers.get(headerName) ?? "").replace(/^Bearer\s+/i, "");
|
|
100
|
+
return timingSafeEqual(token, secret);
|
|
101
|
+
}
|
|
102
|
+
//#endregion
|
|
103
|
+
export { verifyWebhook as a, verifySharedSecret as i, signWebhook as n, unauthorized as r, header as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference lib="esnext.temporal" />
|
|
2
|
-
import { t as BlockTransport } from "./block-transport-
|
|
2
|
+
import { t as BlockTransport } from "./block-transport-inD4fFq-.js";
|
|
3
3
|
//#region src/blocks/webhooks/url-policy.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Decides whether a webhook may be sent to `url`. Throwing means the check
|
package/dist/solid/index.d.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { b as DbError } from "../result-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { t as AuthSnapshot } from "../bind-
|
|
5
|
-
import { t as AuthSession } from "../view-
|
|
6
|
-
import { S as Topic, f as PresenceMember, u as EventSchemas, w as TopicHandlers, x as SubscriptionStatus } from "../index-
|
|
7
|
-
import { t as SupportView } from "../support-view-
|
|
8
|
-
import { a as BroadcastOptions, c as
|
|
1
|
+
import { b as DbError } from "../result-BchM1XZn.js";
|
|
2
|
+
import { J as TemplateValues } from "../storage-api-CB7Zl1Ci.js";
|
|
3
|
+
import { at as QuerySpec } from "../define-DmcfoNXB.js";
|
|
4
|
+
import { t as AuthSnapshot } from "../bind-CQ5mPyX1.js";
|
|
5
|
+
import { t as AuthSession } from "../view-TpXEUcVN.js";
|
|
6
|
+
import { S as Topic, f as PresenceMember, u as EventSchemas, w as TopicHandlers, x as SubscriptionStatus } from "../index-BCHR4Ucl.js";
|
|
7
|
+
import { t as SupportView } from "../support-view-scqMgtOo.js";
|
|
8
|
+
import { a as BroadcastOptions, c as LiveCountHookOptions, d as PresenceHookOptions, f as PresenceTopic, i as ActionState, l as LiveCountSource, m as UseActionOptions, n as ActionInputOf, o as ClaimsOf, p as ProfileOf, r as ActionResultOf, s as ClientLike, t as fieldErrorsOf, u as LiveQueryHookOptions } from "../field-errors-DIe9XYWL.js";
|
|
9
9
|
import { SupabaseClient } from "@supabase/supabase-js";
|
|
10
10
|
import { Accessor, JSX } from "solid-js";
|
|
11
|
-
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
12
11
|
import { QueryClient } from "@tanstack/query-core";
|
|
13
12
|
//#region src/solid/index.d.ts
|
|
14
13
|
/** A value, or an accessor Solid tracks. */
|
|
@@ -30,14 +29,6 @@ export declare function useSupabase(): SupabaseClient;
|
|
|
30
29
|
export declare function useSession<C = unknown, P = unknown>(): Accessor<AuthSession<C, P> | undefined>;
|
|
31
30
|
/** The support session the page renders in, or `undefined` for a normal session. */
|
|
32
31
|
export declare function useSupportSession(): Accessor<SupportView | undefined>;
|
|
33
|
-
/** The claims type of a client's `betterSupabase.claims(schema)`, `unknown` without one. */
|
|
34
|
-
export type ClaimsOf<B extends ClientLike> = B["betterSupabase"] extends {
|
|
35
|
-
readonly claimsSchema: StandardSchemaV1<unknown, infer C> | undefined;
|
|
36
|
-
} ? C : unknown;
|
|
37
|
-
/** The profile type of a client's `betterSupabase.userMetadata(schema)`, `unknown` without one. */
|
|
38
|
-
export type ProfileOf<B extends ClientLike> = B["betterSupabase"] extends {
|
|
39
|
-
readonly userMetadataSchema: StandardSchemaV1<unknown, infer P> | undefined;
|
|
40
|
-
} ? P : unknown;
|
|
41
32
|
export interface BetterPrimitives<B extends ClientLike> {
|
|
42
33
|
/** Repositories bound to the current session. */
|
|
43
34
|
readonly useDb: () => B["db"];
|
|
@@ -128,4 +119,4 @@ export interface ActionHandle<I, T> extends ActionState<I, T> {
|
|
|
128
119
|
*/
|
|
129
120
|
export declare function useAction<I, T>(action: (input: I) => Promise<ActionResultOf<T>>, options?: UseActionOptions<ActionInputOf<I>, T>): ActionHandle<ActionInputOf<I>, T>;
|
|
130
121
|
//#endregion
|
|
131
|
-
export { type ActionInputOf, type ActionResultOf, type ActionState, type AuthSession, type AuthSnapshot, type BroadcastOptions, type ClientLike, type LiveCountHookOptions, type LiveCountSource, type LiveQueryHookOptions, type PresenceHookOptions, type PresenceTopic, type SupportView, type UseActionOptions, fieldErrorsOf };
|
|
122
|
+
export { type ActionInputOf, type ActionResultOf, type ActionState, type AuthSession, type AuthSnapshot, type BroadcastOptions, type ClaimsOf, type ClientLike, type LiveCountHookOptions, type LiveCountSource, type LiveQueryHookOptions, type PresenceHookOptions, type PresenceTopic, type ProfileOf, type SupportView, type UseActionOptions, fieldErrorsOf };
|
package/dist/solid/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as clearOnUserChange } from "../user-change-XzvgafU4.js";
|
|
2
|
+
import { a as createActionRunner, c as liveKey, d as shownCount, f as startBroadcast, i as countSource, l as notJoined, m as startLiveQuery, n as assertInvalidateClient, o as joinPresence, p as startLiveCount, r as callerOf, s as keyed, t as NO_COUNT, u as plainCaller } from "../client-wxeTQFtB.js";
|
|
2
3
|
import { t as supportOf } from "../support-view-g4YLBeqX.js";
|
|
3
|
-
import { t as fieldErrorsOf } from "../field-errors-
|
|
4
|
-
import { a as createActionRunner, c as liveKey, d as shownCount, f as startBroadcast, i as countSource, l as notJoined, m as startLiveQuery, n as assertInvalidateClient, o as joinPresence, p as startLiveCount, r as callerOf, s as keyed, t as NO_COUNT, u as plainCaller } from "../client-CI0Z2zWX.js";
|
|
4
|
+
import { t as fieldErrorsOf } from "../field-errors-DZVRWRkf.js";
|
|
5
5
|
import { createComponent, createContext, createEffect, createMemo, createSignal, onCleanup, onMount, untrack, useContext } from "solid-js";
|
|
6
6
|
//#region src/solid/index.ts
|
|
7
7
|
function read(value) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a as AnyModels, i as AnyFunctions } from "../types-
|
|
2
|
-
import { t as BetterSupabase } from "../define-
|
|
3
|
-
import { t as BetterServer } from "../server-
|
|
4
|
-
import { a as AuthorizedContext, c as Unwrapped, n as ActionParsed, o as BlockActionOptions, r as ActionResult, s as BlockRequireOptions } from "../kit-
|
|
5
|
-
import { t as RefusalRedirects } from "../refusal-
|
|
6
|
-
import { n as FrameworkOptions, t as FrameworkLocals } from "../framework-
|
|
1
|
+
import { a as AnyModels, i as AnyFunctions } from "../types-CoE5Zwy4.js";
|
|
2
|
+
import { t as BetterSupabase } from "../define-DmcfoNXB.js";
|
|
3
|
+
import { t as BetterServer } from "../server-types-CrAmZ8jv.js";
|
|
4
|
+
import { a as AuthorizedContext, c as Unwrapped, n as ActionParsed, o as BlockActionOptions, r as ActionResult, s as BlockRequireOptions } from "../kit-W99LCPBS.js";
|
|
5
|
+
import { t as RefusalRedirects } from "../refusal-CFI8-5nf.js";
|
|
6
|
+
import { n as FrameworkOptions, t as FrameworkLocals } from "../framework-148t1m3C.js";
|
|
7
7
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
8
8
|
//#region src/solid-start/index.d.ts
|
|
9
9
|
/** The part of a SolidStart `FetchEvent` the integration reads and writes. */
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { c as extendServer, n as flushEvents, s as createServer } from "../adapter-
|
|
2
|
-
import { t as defaultExpose } from "../respond-
|
|
3
|
-
import { i as requireCaller, o as runAction } from "../kit-
|
|
4
|
-
import { i as localsOf, r as frameworkEntry } from "../framework-
|
|
5
|
-
import { r as refusalResponse } from "../refusal-
|
|
1
|
+
import { c as extendServer, n as flushEvents, s as createServer } from "../adapter-CN45ibbV.js";
|
|
2
|
+
import { t as defaultExpose } from "../respond-volM3ByS.js";
|
|
3
|
+
import { i as requireCaller, o as runAction } from "../kit-BhHr9T9v.js";
|
|
4
|
+
import { i as localsOf, r as frameworkEntry } from "../framework-3ey3QmrO.js";
|
|
5
|
+
import { r as refusalResponse } from "../refusal-K78A1Vmq.js";
|
|
6
6
|
import { t as beforeRoute } from "../before-route-CnR0C0Jr.js";
|
|
7
7
|
//#region src/solid-start/index.ts
|
|
8
8
|
/** SolidStart integration: middleware, guards and server function actions. */
|
|
@@ -36,7 +36,7 @@ function createSolidStart(betterSupabase, options) {
|
|
|
36
36
|
require: async (requireOptions = {}) => {
|
|
37
37
|
const event = eventOf();
|
|
38
38
|
const scope = scopeOf(event);
|
|
39
|
-
const caller = await requireCaller(scope.bs.auth, requireOptions, scope.tenant);
|
|
39
|
+
const caller = await requireCaller(scope.bs.auth, requireOptions, scope.tenant, options.authorizer);
|
|
40
40
|
if ("kind" in caller) throw refusalResponse(caller, event.request, options, expose);
|
|
41
41
|
return {
|
|
42
42
|
...scope,
|
|
@@ -49,7 +49,7 @@ function createSolidStart(betterSupabase, options) {
|
|
|
49
49
|
return await runAction(scope.bs.auth, actionOptions, input, scope.tenant, (parsed, caller) => fn(parsed, {
|
|
50
50
|
...scope,
|
|
51
51
|
...caller
|
|
52
|
-
}));
|
|
52
|
+
}), options.authorizer);
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
55
|
});
|