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
package/dist/expo/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { a as AnyModels, i as AnyFunctions } from "../types-
|
|
2
|
-
import { t as BetterSupabase } from "../define-
|
|
3
|
-
import { i as ServerContext, n as ContextOptions,
|
|
4
|
-
import { i as MiddlewareOptions, r as GuardOptions } from "../respond-
|
|
1
|
+
import { a as AnyModels, i as AnyFunctions } from "../types-CoE5Zwy4.js";
|
|
2
|
+
import { t as BetterSupabase } from "../define-DmcfoNXB.js";
|
|
3
|
+
import { i as ServerContext, n as ContextOptions, s as ServerOptions, t as BetterServer } from "../server-types-CrAmZ8jv.js";
|
|
4
|
+
import { i as MiddlewareOptions, r as GuardOptions } from "../respond-Cw-zanCm.js";
|
|
5
5
|
import { t as Validated } from "../shared-DDSjEGDR.js";
|
|
6
6
|
import { AnyEntry, Contributions } from "@supabase/middleware";
|
|
7
7
|
import { ImmutableRequest, MiddlewareFunction } from "expo-server";
|
package/dist/expo/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as DbException } from "../db-exception-CnWcYPxL.js";
|
|
2
|
-
import {
|
|
3
|
-
import { a as unexpectedResponse,
|
|
4
|
-
import {
|
|
5
|
-
import { a as respond, r as guard, t as defaultExpose } from "../respond-
|
|
6
|
-
import { t as withBetterSupabase } from "../composite-
|
|
2
|
+
import { s as toProblem } from "../problem-CJvFeGu7.js";
|
|
3
|
+
import { a as unexpectedResponse, b as refreshFor, c as extendServer, s as createServer } from "../adapter-CN45ibbV.js";
|
|
4
|
+
import { p as serializeCookie } from "../resolve-Bvgf3ut_.js";
|
|
5
|
+
import { a as respond, r as guard, t as defaultExpose } from "../respond-volM3ByS.js";
|
|
6
|
+
import { t as withBetterSupabase } from "../composite-zTe0TCqj.js";
|
|
7
7
|
import { r as handoffOf } from "../shared-CBxosKK3.js";
|
|
8
8
|
import { bufferRequest, pipeline, seedContext } from "@supabase/middleware";
|
|
9
9
|
import { StatusError, setResponseHeaders } from "expo-server";
|
|
@@ -76,7 +76,7 @@ function createExpo(betterSupabase, options = {}) {
|
|
|
76
76
|
request,
|
|
77
77
|
loader(fn, loaderOptions) {
|
|
78
78
|
return async (incoming, params) => {
|
|
79
|
-
if (!incoming) throw new StatusError(500, "better-supabase: bs.loader() needs a request
|
|
79
|
+
if (!incoming) throw new StatusError(500, "better-supabase: bs.loader() needs a request, and static rendering has none. Turn on unstable_useServerRendering on Expo SDK 57, or read public data in a loader built with createStaticLoader from \"expo-server\".");
|
|
80
80
|
const ctx = await request(incoming, loaderOptions);
|
|
81
81
|
try {
|
|
82
82
|
return await fn(ctx, params, incoming);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as Executor } from "../executor-
|
|
2
|
-
import { n as PowerSyncExecutorOptions, t as PowerSyncDatabaseLike } from "../executor-
|
|
3
|
-
import {
|
|
1
|
+
import { r as Executor } from "../executor-Drzu3dBK.js";
|
|
2
|
+
import { n as PowerSyncExecutorOptions, t as PowerSyncDatabaseLike } from "../executor-DfEtf0cq.js";
|
|
3
|
+
import { a as checkSqlite, n as sqliteTables, r as watch, t as WatchOptions } from "../watch-COzRWvVN.js";
|
|
4
4
|
//#region src/expo-sqlite/executor.d.ts
|
|
5
5
|
/** What an expo-sqlite database or exclusive transaction can run. */
|
|
6
6
|
interface ExpoSqliteContextLike {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as watch, t as sqliteTables } from "../watch-
|
|
2
|
-
import { i as checkSqlite,
|
|
1
|
+
import { n as watch, t as sqliteTables } from "../watch-BcvtAHOd.js";
|
|
2
|
+
import { i as checkSqlite, t as powersyncExecutor } from "../executor-B-fD7DLt.js";
|
|
3
3
|
//#region src/expo-sqlite/executor.ts
|
|
4
4
|
const DEFAULT_THROTTLE_MS = 30;
|
|
5
5
|
/** A UUID v4 from SQLite's `randomblob`, for runtimes without `crypto.randomUUID`. */
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/server/extra.ts
|
|
2
|
+
/** `{ ...base, ...extra }` that keeps lazy getters lazy. */
|
|
3
|
+
function withExtra(base, extra) {
|
|
4
|
+
return Object.defineProperties({}, {
|
|
5
|
+
...Object.getOwnPropertyDescriptors(base),
|
|
6
|
+
...Object.getOwnPropertyDescriptors(extra)
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
export { withExtra as t };
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { b as DbError } from "./result-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { a as ClientAuth } from "./bind-
|
|
5
|
-
import { T as TopicMessage, _ as RealtimeClient, a as LiveSource, g as PresenceSubscription, p as PresenceOptions, r as LiveCountSeed, y as SubscribeOptions } from "./index-
|
|
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 { a as ClientAuth } from "./bind-CQ5mPyX1.js";
|
|
5
|
+
import { T as TopicMessage, _ as RealtimeClient, a as LiveSource, g as PresenceSubscription, p as PresenceOptions, r as LiveCountSeed, y as SubscribeOptions } from "./index-BCHR4Ucl.js";
|
|
6
6
|
import { SupabaseClient } from "@supabase/supabase-js";
|
|
7
|
+
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
7
8
|
import { QueryClient } from "@tanstack/query-core";
|
|
8
9
|
//#region src/bindings/client.d.ts
|
|
9
10
|
/** The parts of `createClient()` the bindings need. */
|
|
@@ -77,6 +78,15 @@ interface PresenceTopic<P extends string, I, O> {
|
|
|
77
78
|
match(topic: string): TemplateValues<P> | null;
|
|
78
79
|
subscribe(client: RealtimeClient, values: TemplateValues<P>, handlers: Readonly<Record<string, never>>, options?: SubscribeOptions & PresenceOptions<O>): PresenceSubscription<I, O>;
|
|
79
80
|
}
|
|
81
|
+
/** Who a subscription runs as. */
|
|
82
|
+
/** The claims type of a client's `betterSupabase.claims(schema)`, `unknown` without one. */
|
|
83
|
+
type ClaimsOf<B extends ClientLike> = B["betterSupabase"] extends {
|
|
84
|
+
readonly claimsSchema: StandardSchemaV1<unknown, infer C> | undefined;
|
|
85
|
+
} ? C : unknown;
|
|
86
|
+
/** The profile type of a client's `betterSupabase.userMetadata(schema)`, `unknown` without one. */
|
|
87
|
+
type ProfileOf<B extends ClientLike> = B["betterSupabase"] extends {
|
|
88
|
+
readonly userMetadataSchema: StandardSchemaV1<unknown, infer P> | undefined;
|
|
89
|
+
} ? P : unknown;
|
|
80
90
|
/** A count spec or a `bs.liveCount()` seed. */
|
|
81
91
|
type LiveCountSource = QuerySpec<string, "count", number> | LiveCountSeed | null | undefined;
|
|
82
92
|
interface ActionState<I, T> {
|
|
@@ -92,8 +102,8 @@ interface ActionState<I, T> {
|
|
|
92
102
|
readonly error: DbError | undefined;
|
|
93
103
|
}
|
|
94
104
|
//#endregion
|
|
95
|
-
//#region src/
|
|
105
|
+
//#region src/bindings/field-errors.d.ts
|
|
96
106
|
/** The first message per top-level field of a `validation` error. */
|
|
97
107
|
declare function fieldErrorsOf(error: DbError | undefined): Readonly<Partial<Record<string, string>>>;
|
|
98
108
|
//#endregion
|
|
99
|
-
export { BroadcastOptions as a,
|
|
109
|
+
export { BroadcastOptions as a, LiveCountHookOptions as c, PresenceHookOptions as d, PresenceTopic as f, ActionState as i, LiveCountSource as l, UseActionOptions as m, ActionInputOf as n, ClaimsOf as o, ProfileOf as p, ActionResultOf as r, ClientLike as s, fieldErrorsOf as t, LiveQueryHookOptions as u };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { t as ApiModel } from "./model-OgBxvk3N.js";
|
|
2
|
+
//#region src/spec/format.d.ts
|
|
3
|
+
/** How a version of a format is supported. `preview` follows a draft and is never a default. */
|
|
4
|
+
type VersionStatus = "stable" | "legacy" | "preview";
|
|
5
|
+
interface FormatVersion {
|
|
6
|
+
/** The exact version or commit the output follows (a `SPEC_PINS` value). */
|
|
7
|
+
readonly pin: string;
|
|
8
|
+
readonly status: VersionStatus;
|
|
9
|
+
}
|
|
10
|
+
type DiagnosticSeverity = "error" | "warning" | "info";
|
|
11
|
+
/**
|
|
12
|
+
* A finding from building, lowering or checking a document. `code` is
|
|
13
|
+
* stable: tools and `--fail-on` read it, and a retired code stays reserved.
|
|
14
|
+
*/
|
|
15
|
+
interface SpecDiagnostic {
|
|
16
|
+
readonly code: string;
|
|
17
|
+
readonly severity: DiagnosticSeverity;
|
|
18
|
+
readonly message: string;
|
|
19
|
+
/** A JSON Pointer into the document or the model, when there is one. */
|
|
20
|
+
readonly pointer?: string;
|
|
21
|
+
}
|
|
22
|
+
interface LowerContext {
|
|
23
|
+
/** Records a diagnostic; lowering continues. */
|
|
24
|
+
report(diagnostic: SpecDiagnostic): void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The plugin contract every document format implements, the first-party
|
|
28
|
+
* ones included (API v1). `lower` is pure: it reads the model and returns a
|
|
29
|
+
* new document, so the same model renders to every version. `Docs` maps
|
|
30
|
+
* each version to its document type, so `transform` hooks can switch on the
|
|
31
|
+
* version; it defaults to `Doc` for every version.
|
|
32
|
+
*/
|
|
33
|
+
interface DocumentFormat<Id extends string = string, V extends string = string, Doc = unknown, Docs extends Readonly<Record<V, Doc>> = Readonly<Record<V, Doc>>> {
|
|
34
|
+
readonly apiVersion: 1;
|
|
35
|
+
readonly id: Id;
|
|
36
|
+
readonly versions: Readonly<Record<V, FormatVersion>>;
|
|
37
|
+
readonly defaultVersion: V;
|
|
38
|
+
lower(model: ApiModel, version: V, ctx: LowerContext): Doc;
|
|
39
|
+
/** Semantic checks a schema cannot express (unique ids, resolvable references). */
|
|
40
|
+
lint?(doc: Doc, version: V): readonly SpecDiagnostic[];
|
|
41
|
+
/** Default file name for a version, e.g. `openapi.json`. */
|
|
42
|
+
fileName(version: V): string;
|
|
43
|
+
/** Phantom carrying the per-version document types. */
|
|
44
|
+
readonly "~documents"?: Docs;
|
|
45
|
+
}
|
|
46
|
+
type AnyDocumentFormat = DocumentFormat<string, any, any, any>;
|
|
47
|
+
type VersionOf<F> = F extends DocumentFormat<string, infer V> ? V : never;
|
|
48
|
+
type DocumentOf<F> = F extends DocumentFormat<string, any, infer D, any> ? D : never;
|
|
49
|
+
/**
|
|
50
|
+
* What a `transform` hook receives: the document with its format and
|
|
51
|
+
* version, a union discriminated by `version`.
|
|
52
|
+
*/
|
|
53
|
+
type RenderedOf<F> = F extends DocumentFormat<infer Id, infer V, any, infer Docs> ? { [K in V]: {
|
|
54
|
+
readonly format: Id;
|
|
55
|
+
readonly version: K;
|
|
56
|
+
readonly document: K extends keyof Docs ? Docs[K] : never;
|
|
57
|
+
}; }[V] : never;
|
|
58
|
+
/** Identity helper that fixes `apiVersion` and checks that the default version exists. */
|
|
59
|
+
declare function defineDocumentFormat<const Id extends string, const V extends string, Doc, Docs extends Readonly<Record<V, Doc>> = Readonly<Record<V, Doc>>>(format: {
|
|
60
|
+
readonly apiVersion?: 1;
|
|
61
|
+
readonly id: Id;
|
|
62
|
+
readonly versions: Readonly<Record<V, FormatVersion>>;
|
|
63
|
+
readonly defaultVersion: NoInfer<V>;
|
|
64
|
+
lower(model: ApiModel, version: NoInfer<V>, ctx: LowerContext): Doc;
|
|
65
|
+
lint?(doc: Doc, version: NoInfer<V>): readonly SpecDiagnostic[];
|
|
66
|
+
fileName(version: NoInfer<V>): string;
|
|
67
|
+
readonly "~documents"?: Docs;
|
|
68
|
+
}): DocumentFormat<Id, V, Doc, Docs>;
|
|
69
|
+
//#endregion
|
|
70
|
+
export { FormatVersion as a, SpecDiagnostic as c, defineDocumentFormat as d, DocumentOf as i, VersionOf as l, DiagnosticSeverity as n, LowerContext as o, DocumentFormat as r, RenderedOf as s, AnyDocumentFormat as t, VersionStatus as u };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as AnyModels, i as AnyFunctions } from "./types-
|
|
2
|
-
import {
|
|
3
|
-
import { t as AuthSession } from "./view-
|
|
4
|
-
import { a as SessionEntryConfig, n as BetterSupabaseContributions } from "./composite-
|
|
5
|
-
import { t as RefusalRedirects } from "./refusal-
|
|
1
|
+
import { a as AnyModels, i as AnyFunctions } from "./types-CoE5Zwy4.js";
|
|
2
|
+
import { s as ServerOptions } from "./server-types-CrAmZ8jv.js";
|
|
3
|
+
import { t as AuthSession } from "./view-TpXEUcVN.js";
|
|
4
|
+
import { a as SessionEntryConfig, n as BetterSupabaseContributions } from "./composite-CWAJTRBF.js";
|
|
5
|
+
import { t as RefusalRedirects } from "./refusal-CFI8-5nf.js";
|
|
6
6
|
//#region src/server/framework.d.ts
|
|
7
7
|
/** What the framework factories (`createSvelteKit`, `createReactRouter`, `createTanStackStart`) take. */
|
|
8
8
|
interface FrameworkOptions extends ServerOptions, RefusalRedirects, Pick<SessionEntryConfig, "checkSession" | "cookieScopes" | "encode"> {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as toSession } from "./view-
|
|
2
|
-
import { t as withBetterSupabase } from "./composite-
|
|
1
|
+
import { n as toSession } from "./view-D5ryq3gz.js";
|
|
2
|
+
import { t as withBetterSupabase } from "./composite-zTe0TCqj.js";
|
|
3
3
|
//#region src/server/framework.ts
|
|
4
4
|
/** Every caller: the framework factories guard per loader, action or route instead. */
|
|
5
5
|
const EVERY_CALLER = [
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/core/function-contract.d.ts
|
|
2
|
+
/** What a typed Edge Function takes and returns, as the caller sees them. */
|
|
3
|
+
interface FunctionContract<In = unknown, Out = unknown> {
|
|
4
|
+
readonly input: In;
|
|
5
|
+
readonly output: Out;
|
|
6
|
+
}
|
|
7
|
+
//#endregion
|
|
8
|
+
export { FunctionContract as t };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference lib="esnext.temporal" />
|
|
2
|
-
import { b as DbError } from "./result-
|
|
3
|
-
import { m as JobHandler } from "./
|
|
4
|
-
import { g as AiModelInput, i as AiChat } from "./ai-chat-
|
|
5
|
-
import { i as Usage, m as UsageStatus, s as UsageEntry } from "./usage-
|
|
2
|
+
import { b as DbError } from "./result-BchM1XZn.js";
|
|
3
|
+
import { m as JobHandler } from "./types-D__3EN0q.js";
|
|
4
|
+
import { g as AiModelInput, i as AiChat } from "./ai-chat-DXkMy74O.js";
|
|
5
|
+
import { i as Usage, m as UsageStatus, s as UsageEntry } from "./usage-D0NNUFfr.js";
|
|
6
6
|
import { JSONValue, LanguageModelUsage } from "ai";
|
|
7
7
|
//#region src/ai-sdk/gateway.d.ts
|
|
8
8
|
/** Who a generation is for, as the AI Gateway reports spend. */
|
|
@@ -6,5 +6,7 @@
|
|
|
6
6
|
function isList(value) {
|
|
7
7
|
return Array.isArray(value);
|
|
8
8
|
}
|
|
9
|
+
/** A plain object: not null and not an array. */
|
|
10
|
+
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
9
11
|
//#endregion
|
|
10
|
-
export { isList as t };
|
|
12
|
+
export { isRecord as n, isList as t };
|
package/dist/h3/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/h3.d.ts
|
package/dist/h3/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as toResponse, n as bufferInPlace, 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
|
//#region src/bridges/h3.ts
|
|
4
4
|
/**
|
|
5
5
|
* Runs an entry array as H3 2 middleware (`app.use(...)`, Nitro and Nuxt
|
package/dist/h3/v1/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 { n as NodeRequestHead, t as NodeHeaderTarget } from "../../node-headers-AO06VhqH.js";
|
|
4
4
|
import { AnyEntry, Contributions } from "@supabase/middleware";
|
package/dist/h3/v1/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as routeRefusal, n as guardedLocals, t as errorResponse } from "../../refusal-
|
|
1
|
+
import { a as routeRefusal, n as guardedLocals, t as errorResponse } from "../../refusal-K78A1Vmq.js";
|
|
2
2
|
import { t as beforeRoute } from "../../before-route-CnR0C0Jr.js";
|
|
3
3
|
import { n as headRequest, t as applyWebHeaders } from "../../node-headers-C71zNQHe.js";
|
|
4
4
|
//#region src/h3/v1/index.ts
|
|
@@ -1,18 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as isRecord } from "./guards-6F2bCtQR.js";
|
|
2
|
+
import { t as AI_MESSAGE_PART_TYPES } from "./ai-message-DfaP8sis.js";
|
|
2
3
|
//#region src/blocks/ai-chat/message.ts
|
|
3
4
|
/** `$id` of `schemas/ai-message-v1.json`, the JSON Schema of `AiMessage`. */
|
|
4
5
|
const AI_MESSAGE_SCHEMA_ID = "https://unpkg.com/better-supabase/schemas/ai-message-v1.json";
|
|
5
|
-
const AI_MESSAGE_PART_TYPES = [
|
|
6
|
-
"text",
|
|
7
|
-
"reasoning",
|
|
8
|
-
"file",
|
|
9
|
-
"tool-call",
|
|
10
|
-
"tool-result",
|
|
11
|
-
"tool-approval",
|
|
12
|
-
"source",
|
|
13
|
-
"data",
|
|
14
|
-
"step"
|
|
15
|
-
];
|
|
16
6
|
const ROLES = /* @__PURE__ */ new Set([
|
|
17
7
|
"system",
|
|
18
8
|
"user",
|
|
@@ -216,4 +206,66 @@ function isAiMessage(value) {
|
|
|
216
206
|
return checkMessage(value).length === 0;
|
|
217
207
|
}
|
|
218
208
|
//#endregion
|
|
219
|
-
|
|
209
|
+
//#region src/blocks/ai-chat/history.ts
|
|
210
|
+
/** Checks an untrusted value (a request body) against the canonical format. */
|
|
211
|
+
function validateMessage(value) {
|
|
212
|
+
const result = aiMessageSchema["~standard"].validate(value);
|
|
213
|
+
if (result instanceof Promise) throw new TypeError("aiMessageSchema validates synchronously");
|
|
214
|
+
return result.issues ? {
|
|
215
|
+
ok: false,
|
|
216
|
+
issues: result.issues
|
|
217
|
+
} : {
|
|
218
|
+
ok: true,
|
|
219
|
+
message: result.value
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
/** The canonical messages of a path, in order, without the tree's fields. */
|
|
223
|
+
function pathToHistory(path) {
|
|
224
|
+
return path.map((message) => ({
|
|
225
|
+
id: message.id,
|
|
226
|
+
role: message.role,
|
|
227
|
+
parts: message.parts,
|
|
228
|
+
...message.metadata === void 0 ? {} : { metadata: message.metadata }
|
|
229
|
+
}));
|
|
230
|
+
}
|
|
231
|
+
/** The output a `tool-result` gets when its call never finished. */
|
|
232
|
+
const INTERRUPTED_TOOL_OUTPUT = "The tool call was interrupted.";
|
|
233
|
+
/**
|
|
234
|
+
* Closes every tool call that has no result yet, so a provider accepts the
|
|
235
|
+
* history after a crash or a stop mid-call: each gets a `tool-result` with
|
|
236
|
+
* `isError` right after it. A call waiting for approval is left alone.
|
|
237
|
+
*/
|
|
238
|
+
function repairDanglingToolCalls(messages) {
|
|
239
|
+
const answered = /* @__PURE__ */ new Set();
|
|
240
|
+
const waiting = /* @__PURE__ */ new Set();
|
|
241
|
+
for (const message of messages) for (const part of message.parts) {
|
|
242
|
+
if (part.type === "tool-result") answered.add(part.toolCallId);
|
|
243
|
+
if (part.type === "tool-approval" && part.state === "requested") waiting.add(part.toolCallId);
|
|
244
|
+
}
|
|
245
|
+
return messages.map((message) => {
|
|
246
|
+
if (!message.parts.some((part) => dangling(part, answered, waiting))) return message;
|
|
247
|
+
const parts = [];
|
|
248
|
+
for (const part of message.parts) {
|
|
249
|
+
parts.push(part);
|
|
250
|
+
if (part.type === "tool-call" && dangling(part, answered, waiting)) {
|
|
251
|
+
const result = {
|
|
252
|
+
type: "tool-result",
|
|
253
|
+
toolCallId: part.toolCallId,
|
|
254
|
+
toolName: part.toolName,
|
|
255
|
+
output: INTERRUPTED_TOOL_OUTPUT,
|
|
256
|
+
isError: true
|
|
257
|
+
};
|
|
258
|
+
parts.push(result);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return {
|
|
262
|
+
...message,
|
|
263
|
+
parts
|
|
264
|
+
};
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
function dangling(part, answered, waiting) {
|
|
268
|
+
return part.type === "tool-call" && part.providerExecuted !== true && !answered.has(part.toolCallId) && !waiting.has(part.toolCallId);
|
|
269
|
+
}
|
|
270
|
+
//#endregion
|
|
271
|
+
export { AI_MESSAGE_SCHEMA_ID as a, validateMessage as i, pathToHistory as n, aiMessageSchema as o, repairDanglingToolCalls as r, isAiMessage as s, INTERRUPTED_TOOL_OUTPUT as t };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/core/hmac.ts
|
|
2
|
+
const encoder = /* @__PURE__ */ new TextEncoder();
|
|
3
|
+
/** Constant-time string comparison. */
|
|
4
|
+
function timingSafeEqual(a, b) {
|
|
5
|
+
const left = encoder.encode(a);
|
|
6
|
+
const right = encoder.encode(b);
|
|
7
|
+
let diff = left.length ^ right.length;
|
|
8
|
+
for (let index = 0; index < Math.max(left.length, right.length); index++) diff |= (left[index] ?? 0) ^ (right[index] ?? 0);
|
|
9
|
+
return diff === 0;
|
|
10
|
+
}
|
|
11
|
+
/** Lowercase hex of a byte array. */
|
|
12
|
+
const toHex = (bytes) => Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
13
|
+
/** The hex HMAC-SHA-256 of `message`, keyed with the UTF-8 bytes of `secret`. */
|
|
14
|
+
async function hmacHex(secret, message) {
|
|
15
|
+
const key = await crypto.subtle.importKey("raw", encoder.encode(secret), {
|
|
16
|
+
name: "HMAC",
|
|
17
|
+
hash: "SHA-256"
|
|
18
|
+
}, false, ["sign"]);
|
|
19
|
+
return toHex(new Uint8Array(await crypto.subtle.sign("HMAC", key, encoder.encode(message))));
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { hmacHex as n, timingSafeEqual as r, encoder as t };
|
package/dist/hono/index.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { L as TableKey, a as AnyModels, i as AnyFunctions } from "../types-
|
|
2
|
-
import { r as AuthState } from "../resolve-
|
|
3
|
-
import { t as
|
|
4
|
-
import {
|
|
5
|
-
import { t as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
1
|
+
import { L as TableKey, a as AnyModels, i as AnyFunctions } from "../types-CoE5Zwy4.js";
|
|
2
|
+
import { r as AuthState } from "../resolve-MxXVWyhd.js";
|
|
3
|
+
import { s as PermissionRef, t as AnyAuthorizer } from "../authorizer-eiOjo-3l.js";
|
|
4
|
+
import { t as BetterSupabase } from "../define-DmcfoNXB.js";
|
|
5
|
+
import { i as ServerContext, s as ServerOptions, t as BetterServer } from "../server-types-CrAmZ8jv.js";
|
|
6
|
+
import { t as AuthSession } from "../view-TpXEUcVN.js";
|
|
7
|
+
import { i as MiddlewareOptions, r as GuardOptions } from "../respond-Cw-zanCm.js";
|
|
8
|
+
import { s as BlockRequireOptions } from "../kit-W99LCPBS.js";
|
|
9
|
+
import { i as ResourceContext, l as ResourceRouteOptions, o as ResourceHooks, r as ResourceAction, t as ActionArgs } from "../resource-types-CqB6GWGT.js";
|
|
10
|
+
import { t as defineAction } from "../resource-execute-rbKvuCsY.js";
|
|
9
11
|
import { AnyEntry, Contributions, ValidateEntries } from "@supabase/middleware";
|
|
10
12
|
import { Context, ErrorHandler, Hono, MiddlewareHandler } from "hono";
|
|
11
13
|
//#region src/bridges/hono.d.ts
|
|
@@ -54,7 +56,7 @@ export interface HonoOptions extends ServerOptions {
|
|
|
54
56
|
*/
|
|
55
57
|
readonly waitUntil?: (promise: Promise<unknown>) => void;
|
|
56
58
|
}
|
|
57
|
-
export interface BetterHono<M extends AnyModels, F extends AnyFunctions, E, C = unknown, P = unknown> extends BetterServer<M, F, E, C, P> {
|
|
59
|
+
export interface BetterHono<M extends AnyModels, F extends AnyFunctions, E, C = unknown, P = unknown, Ref = string> extends BetterServer<M, F, E, C, P> {
|
|
58
60
|
/**
|
|
59
61
|
* The app's Hono `Env`, for `new Hono<typeof bs.Env>()` and
|
|
60
62
|
* `Context<typeof bs.Env>`. Type only: `undefined` at runtime.
|
|
@@ -72,7 +74,7 @@ export interface BetterHono<M extends AnyModels, F extends AnyFunctions, E, C =
|
|
|
72
74
|
* app.post('/invites', bs.require({ requireTenant: true, roles: ['admin'] }), handler)
|
|
73
75
|
* ```
|
|
74
76
|
*/
|
|
75
|
-
require: (options?: BlockRequireOptions<C, P>) => MiddlewareHandler<HonoEnv<M, F, E, C, P>>;
|
|
77
|
+
require: (options?: BlockRequireOptions<C, P, boolean, Ref>) => MiddlewareHandler<HonoEnv<M, F, E, C, P>>;
|
|
76
78
|
/**
|
|
77
79
|
* Wraps a handler: `Result`s and `AsyncResult`s become JSON or Problem
|
|
78
80
|
* Details, `undefined` becomes 204.
|
|
@@ -87,12 +89,15 @@ export interface BetterHono<M extends AnyModels, F extends AnyFunctions, E, C =
|
|
|
87
89
|
*/
|
|
88
90
|
readonly onError: ErrorHandler<HonoEnv<M, F, E, C, P>>;
|
|
89
91
|
/**
|
|
90
|
-
* REST routes for a table matching
|
|
92
|
+
* REST routes for a table matching the API model: the collection, the
|
|
93
|
+
* item and each action's path. Mount with
|
|
91
94
|
* `app.route('/customers', bs.resource('customers'))` behind `middleware()`.
|
|
92
95
|
*/
|
|
93
|
-
resource<T extends TableKey<M>>(table: T, options?: ResourceRouteOptions<M, T>): Hono<HonoEnv<M, F, E, C, P>>;
|
|
96
|
+
resource<T extends TableKey<M>>(table: T, options?: ResourceRouteOptions<M, T, Ref, ServerContext<M, F, E, C, P>["db"]>): Hono<HonoEnv<M, F, E, C, P>>;
|
|
94
97
|
}
|
|
95
98
|
/** Hono integration: a server plus middleware, handlers and REST resources. */
|
|
96
|
-
export declare function createHono<M extends AnyModels, D, F extends AnyFunctions, E, C = unknown, P = unknown>(betterSupabase: BetterSupabase<M, D, F, E, C, P>, options?: HonoOptions
|
|
99
|
+
export declare function createHono<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?: HonoOptions & {
|
|
100
|
+
readonly authorizer?: A;
|
|
101
|
+
}): BetterHono<M, F, E, C, P, PermissionRef<A>>;
|
|
97
102
|
//#endregion
|
|
98
|
-
export type
|
|
103
|
+
export { type ActionArgs, type BlockRequireOptions, type GuardOptions, type HonoBridge, type MiddlewareOptions, type ResourceAction, type ResourceContext, type ResourceHooks, type ResourceRouteOptions, defineAction };
|
package/dist/hono/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { r as dbErrorOf } from "../errors-
|
|
2
|
-
import {
|
|
3
|
-
import { a as unexpectedResponse, c as extendServer, n as flushEvents, s as createServer } from "../adapter-
|
|
4
|
-
import { n as toSession } from "../view-
|
|
5
|
-
import { a as respond, t as defaultExpose } from "../respond-
|
|
6
|
-
import { t as withBetterSupabase } from "../composite-
|
|
7
|
-
import { t as defineResource } from "../resource-
|
|
8
|
-
import { i as requireCaller } from "../kit-
|
|
1
|
+
import { r as dbErrorOf } from "../errors-2M6CKMP4.js";
|
|
2
|
+
import { o as problemResponse } from "../problem-CJvFeGu7.js";
|
|
3
|
+
import { a as unexpectedResponse, c as extendServer, n as flushEvents, s as createServer } from "../adapter-CN45ibbV.js";
|
|
4
|
+
import { n as toSession } from "../view-D5ryq3gz.js";
|
|
5
|
+
import { a as respond, t as defaultExpose } from "../respond-volM3ByS.js";
|
|
6
|
+
import { t as withBetterSupabase } from "../composite-zTe0TCqj.js";
|
|
7
|
+
import { r as defineAction, t as defineResource } from "../resource-DA811u_4.js";
|
|
8
|
+
import { i as requireCaller } from "../kit-BhHr9T9v.js";
|
|
9
9
|
import { r as handoffOf } from "../shared-CBxosKK3.js";
|
|
10
10
|
import { bufferRequest, pipeline, seedContext } from "@supabase/middleware";
|
|
11
11
|
import { Hono } from "hono";
|
|
@@ -115,14 +115,17 @@ function createHono(betterSupabase, options = {}) {
|
|
|
115
115
|
c.set("tenant", tenant);
|
|
116
116
|
});
|
|
117
117
|
return async (c, next) => {
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
try {
|
|
119
|
+
await run(c, next);
|
|
120
|
+
} finally {
|
|
121
|
+
flushEvents(server, waitUntilOf(c));
|
|
122
|
+
}
|
|
120
123
|
};
|
|
121
124
|
},
|
|
122
125
|
require: (requireOptions = {}) => {
|
|
123
126
|
return async (c, next) => {
|
|
124
127
|
const ctx = contextOf(c);
|
|
125
|
-
const caller = await requireCaller(ctx.auth, requireOptions, c.get("tenant"));
|
|
128
|
+
const caller = await requireCaller(ctx.auth, requireOptions, c.get("tenant"), options.authorizer);
|
|
126
129
|
if ("kind" in caller) return problemResponse(caller, {
|
|
127
130
|
instance: new URL(c.req.url).pathname,
|
|
128
131
|
expose
|
|
@@ -141,17 +144,19 @@ function createHono(betterSupabase, options = {}) {
|
|
|
141
144
|
};
|
|
142
145
|
},
|
|
143
146
|
resource(table, resourceOptions) {
|
|
144
|
-
const resource = defineResource(betterSupabase, table, resourceOptions);
|
|
147
|
+
const resource = defineResource(betterSupabase, table, resourceOptions, options.authorizer);
|
|
148
|
+
const { keyParam } = resource;
|
|
145
149
|
const app = new Hono();
|
|
146
|
-
const serve = (
|
|
150
|
+
const serve = (template) => (c) => resource.serve(c.req.raw, contextOf(c).db, template.map((segment) => segment.startsWith("{") && keyParam ? c.req.param(keyParam) ?? "" : segment), {
|
|
147
151
|
instance: new URL(c.req.url).pathname,
|
|
148
152
|
expose
|
|
149
153
|
});
|
|
150
|
-
app.all("/", serve(
|
|
151
|
-
|
|
154
|
+
app.all("/", serve([]));
|
|
155
|
+
for (const action of resource.plan.actions) app.all(`/${action.segments.map((segment) => segment.startsWith("{") ? `:${keyParam}` : segment).join("/")}`, serve(action.segments));
|
|
156
|
+
if (keyParam) app.all(`/:${keyParam}`, serve([`{${keyParam}}`]));
|
|
152
157
|
return app;
|
|
153
158
|
}
|
|
154
159
|
});
|
|
155
160
|
}
|
|
156
161
|
//#endregion
|
|
157
|
-
export { createHono, toHono };
|
|
162
|
+
export { createHono, defineAction, toHono };
|