better-supabase 0.7.1 → 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-iKgjHVPx.js → adapter-CN45ibbV.js} +658 -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-DJk0aeBi.js → doctor-VcDtuusV.js} +316 -221
- 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-BHuEQrQK.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-DzR2nyQb.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-59gcepIG.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--yqry7uW.d.ts → composite-CWAJTRBF.d.ts} +6 -6
- package/dist/{composite-DXVUibdi.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-BmzgK32X.d.ts → framework-148t1m3C.d.ts} +5 -5
- package/dist/{framework-a7aRCIqv.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-Bh0EVSwU.d.ts → server-types-CrAmZ8jv.d.ts} +92 -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-ig_K4PvS.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-C6OfRAIn.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/dist/cli/config-B9HkL8nF.js +0 -2
- package/dist/cli/gen-CCMc39Dx.js +0 -3100
- package/dist/cli/gen-DRmzPI75.js +0 -2
- package/dist/cli/prompts-BTYQGunc.js +0 -2
- package/dist/cli/run-BqDPh9UH.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,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { n as invalidRequest } from "./build-BXIzE6Xv.js";
|
|
1
|
+
import { t as MAX_AFFECTED_MARKER } from "./errors-2M6CKMP4.js";
|
|
2
|
+
import { n as invalidRequest } from "./build-meLuYGri.js";
|
|
4
3
|
import { t as lookupOf } from "./lookup-BaP5bI27.js";
|
|
5
|
-
import { a as ok, r as err, s as toDbError } from "./result-DzUbqgdW.js";
|
|
6
4
|
import { n as simplifyOrFalse } from "./simplify-DDO0j0LI.js";
|
|
5
|
+
import { n as whereClause, t as integer } from "./shared-DTneRoxi.js";
|
|
7
6
|
//#region src/compile/sql.ts
|
|
8
7
|
const MAX_PARAMS = 65535;
|
|
9
8
|
const MAX_PAIRS = 50;
|
|
@@ -21,6 +20,21 @@ function dbColumn(table, app) {
|
|
|
21
20
|
function columnType(table, db) {
|
|
22
21
|
return lookupOf(table).byDb.get(db)?.[1].type;
|
|
23
22
|
}
|
|
23
|
+
function jsonText(value) {
|
|
24
|
+
return value === null || value === void 0 ? value : JSON.stringify(value);
|
|
25
|
+
}
|
|
26
|
+
function columnValue(table, db, value) {
|
|
27
|
+
const meta = lookupOf(table).byDb.get(db)?.[1];
|
|
28
|
+
if (!meta?.json) return value;
|
|
29
|
+
if (meta.array && Array.isArray(value)) return value.map(jsonText);
|
|
30
|
+
return jsonText(value);
|
|
31
|
+
}
|
|
32
|
+
function comparedValue(table, condition) {
|
|
33
|
+
const { value } = condition;
|
|
34
|
+
if (condition.path || typeof value !== "object" || value === null) return value;
|
|
35
|
+
const meta = lookupOf(table).byDb.get(condition.column)?.[1];
|
|
36
|
+
return meta?.json && !meta.array ? JSON.stringify(value) : value;
|
|
37
|
+
}
|
|
24
38
|
/**
|
|
25
39
|
* `a > x or (a = x and b > y) or ...` as `(a, b) > (x, y)`, which an index
|
|
26
40
|
* on `(a, b)` serves. Both forms give the same result under SQL's
|
|
@@ -93,12 +107,12 @@ var SqlCompiler = class {
|
|
|
93
107
|
const column = condition.path ? `(${this.column(alias, condition.column)} #>> ${this.param(condition.path, "text[]")})` : this.column(alias, condition.column);
|
|
94
108
|
const { value } = condition;
|
|
95
109
|
switch (condition.op) {
|
|
96
|
-
case "eq": return `${column} = ${this.param(
|
|
97
|
-
case "neq": return `${column} <> ${this.param(
|
|
98
|
-
case "gt": return `${column} > ${this.param(
|
|
99
|
-
case "gte": return `${column} >= ${this.param(
|
|
100
|
-
case "lt": return `${column} < ${this.param(
|
|
101
|
-
case "lte": return `${column} <= ${this.param(
|
|
110
|
+
case "eq": return `${column} = ${this.param(comparedValue(table, condition))}`;
|
|
111
|
+
case "neq": return `${column} <> ${this.param(comparedValue(table, condition))}`;
|
|
112
|
+
case "gt": return `${column} > ${this.param(comparedValue(table, condition))}`;
|
|
113
|
+
case "gte": return `${column} >= ${this.param(comparedValue(table, condition))}`;
|
|
114
|
+
case "lt": return `${column} < ${this.param(comparedValue(table, condition))}`;
|
|
115
|
+
case "lte": return `${column} <= ${this.param(comparedValue(table, condition))}`;
|
|
102
116
|
case "like": return `${column} like ${this.param(value)}`;
|
|
103
117
|
case "ilike": return `${column} ilike ${this.param(value)}`;
|
|
104
118
|
case "match": return `${column} ~ ${this.param(value)}`;
|
|
@@ -195,14 +209,6 @@ var SqlCompiler = class {
|
|
|
195
209
|
return `(select coalesce(json_agg(s.r order by s.o), '[]'::json) from (${`select ${row} as r, ${`row_number() over (${order ? `order by ${order}` : ""})`} as o ${from}${order ? ` order by ${order}` : ""}${limit}`}) as s)`;
|
|
196
210
|
}
|
|
197
211
|
};
|
|
198
|
-
function integer(value) {
|
|
199
|
-
if (!Number.isInteger(value) || value < 0) invalidRequest(`Expected a non-negative integer, got ${value}`);
|
|
200
|
-
return value;
|
|
201
|
-
}
|
|
202
|
-
function whereClause(parts) {
|
|
203
|
-
const present = parts.filter((part) => part !== void 0);
|
|
204
|
-
return present.length > 0 ? ` where ${present.join(" and ")}` : "";
|
|
205
|
-
}
|
|
206
212
|
function insertColumns(op) {
|
|
207
213
|
const columns = /* @__PURE__ */ new Set();
|
|
208
214
|
for (const row of op.rows) for (const key of Object.keys(row)) columns.add(key);
|
|
@@ -225,7 +231,9 @@ function compileSql(op) {
|
|
|
225
231
|
count: void 0,
|
|
226
232
|
never: true
|
|
227
233
|
};
|
|
228
|
-
const
|
|
234
|
+
const where = simple.condition ? compiler.condition(simple.condition, op.table, alias) : void 0;
|
|
235
|
+
const required = compiler.requiredIncludes(op.selection, op.table, alias);
|
|
236
|
+
const filter = whereClause([where, ...required]);
|
|
229
237
|
const countText = op.count ? `select count(*)::int as count from ${from}${filter}` : void 0;
|
|
230
238
|
if (op.head) return {
|
|
231
239
|
rows: void 0,
|
|
@@ -279,7 +287,9 @@ function compileSql(op) {
|
|
|
279
287
|
};
|
|
280
288
|
const entries = Object.entries(op.set);
|
|
281
289
|
if (entries.length === 0) invalidRequest(`Update on "${op.table.key}" sets no columns`);
|
|
282
|
-
|
|
290
|
+
const set = entries.map(([column, value]) => `${quoteIdent(column)} = ${compiler.param(columnValue(op.table, column, value))}`).join(", ");
|
|
291
|
+
const where = simple.condition ? compiler.condition(simple.condition, op.table, alias) : void 0;
|
|
292
|
+
return mutation(`update ${from} set ${set}${whereClause([where])}${returningRows(compiler, op, alias)}`, op.returning !== void 0, compiler.params, maxAffectedOf(op));
|
|
283
293
|
}
|
|
284
294
|
case "delete": {
|
|
285
295
|
const simple = simplifyOrFalse(op.where);
|
|
@@ -288,7 +298,8 @@ function compileSql(op) {
|
|
|
288
298
|
count: void 0,
|
|
289
299
|
never: true
|
|
290
300
|
};
|
|
291
|
-
|
|
301
|
+
const where = simple.condition ? compiler.condition(simple.condition, op.table, alias) : void 0;
|
|
302
|
+
return mutation(`delete from ${from}${whereClause([where])}${returningRows(compiler, op, alias)}`, op.returning !== void 0, compiler.params, maxAffectedOf(op));
|
|
292
303
|
}
|
|
293
304
|
default: return op;
|
|
294
305
|
}
|
|
@@ -304,7 +315,7 @@ function insertPlan(compiler, from, alias, op, columns) {
|
|
|
304
315
|
if (op.rows.length > 1) invalidRequest("Cannot insert several rows without columns");
|
|
305
316
|
body = "default values";
|
|
306
317
|
} else {
|
|
307
|
-
const values = op.rows.map((row) => `(${columns.map((column) => column in row ? compiler.param(row[column]) : op.defaultToNull ? "null" : "default").join(", ")})`);
|
|
318
|
+
const values = op.rows.map((row) => `(${columns.map((column) => column in row ? compiler.param(columnValue(op.table, column, row[column])) : op.defaultToNull ? "null" : "default").join(", ")})`);
|
|
308
319
|
body = `(${columns.map(quoteIdent).join(", ")}) values ${values.join(", ")}`;
|
|
309
320
|
}
|
|
310
321
|
let conflict = "";
|
|
@@ -374,150 +385,4 @@ function mutation(statement, returning, params, maxAffected) {
|
|
|
374
385
|
};
|
|
375
386
|
}
|
|
376
387
|
//#endregion
|
|
377
|
-
|
|
378
|
-
function isPgError(value) {
|
|
379
|
-
return typeof value === "object" && value !== null && typeof value.code === "string";
|
|
380
|
-
}
|
|
381
|
-
/** node-postgres error fields to the shape `mapDbError` reads. */
|
|
382
|
-
function fromPgError(error) {
|
|
383
|
-
if (!isPgError(error)) return void 0;
|
|
384
|
-
const raw = {};
|
|
385
|
-
if (error.code !== void 0) raw.code = error.code;
|
|
386
|
-
if (error.message !== void 0) raw.message = error.message;
|
|
387
|
-
if (error.detail !== void 0) raw.details = error.detail;
|
|
388
|
-
if (error.hint !== void 0) raw.hint = error.hint;
|
|
389
|
-
if (error.constraint !== void 0) raw.constraint = error.constraint;
|
|
390
|
-
if (error.column !== void 0) raw.column = error.column;
|
|
391
|
-
if (error.table !== void 0) raw.table = error.table;
|
|
392
|
-
return raw;
|
|
393
|
-
}
|
|
394
|
-
async function run(client, plan, op) {
|
|
395
|
-
const rows = plan.rows ? (await client.queryRaw(plan.rows.text, [...plan.rows.params])).map((entry) => entry.row) : [];
|
|
396
|
-
let count = null;
|
|
397
|
-
if (plan.count) {
|
|
398
|
-
const [first] = await client.queryRaw(plan.count.text, [...plan.count.params]);
|
|
399
|
-
count = first?.count ?? 0;
|
|
400
|
-
} else if (op.kind !== "select") count = rows.length;
|
|
401
|
-
for (const next of plan.chunks ?? []) {
|
|
402
|
-
const more = await run(client, next, op);
|
|
403
|
-
rows.push(...more.rows);
|
|
404
|
-
count = (count ?? 0) + (more.count ?? 0);
|
|
405
|
-
}
|
|
406
|
-
return {
|
|
407
|
-
rows,
|
|
408
|
-
count
|
|
409
|
-
};
|
|
410
|
-
}
|
|
411
|
-
/**
|
|
412
|
-
* Executes repository operations as SQL on a direct Postgres connection.
|
|
413
|
-
* Rows have the same shape as over PostgREST. RLS applies when the client
|
|
414
|
-
* runs as the caller (`ctx.postgres`, `createPostgres().asUser()`).
|
|
415
|
-
*
|
|
416
|
-
* `maxAffected` fails the statement itself, so its writes roll back.
|
|
417
|
-
* A call's `timeout` is checked before the statement starts; set
|
|
418
|
-
* `statement_timeout` on the connection to bound a running statement.
|
|
419
|
-
* `retry` does nothing here.
|
|
420
|
-
*/
|
|
421
|
-
function postgresExecutor(client) {
|
|
422
|
-
return {
|
|
423
|
-
name: "postgres",
|
|
424
|
-
functionSources: true,
|
|
425
|
-
execute: (op, context) => executeOn(client, op, context),
|
|
426
|
-
rpc: (name, args, context) => callFunction(client, name, args, context),
|
|
427
|
-
async batch(ops, context) {
|
|
428
|
-
if (!client.transaction) return Promise.all(ops.map((op) => executeOn(client, op, context)));
|
|
429
|
-
try {
|
|
430
|
-
return await client.transaction(async (scoped) => {
|
|
431
|
-
const results = [];
|
|
432
|
-
for (const op of ops) {
|
|
433
|
-
const result = await executeOn(scoped, op, context);
|
|
434
|
-
if (!result.ok) throw new BatchFailed();
|
|
435
|
-
results.push(result);
|
|
436
|
-
}
|
|
437
|
-
return results;
|
|
438
|
-
});
|
|
439
|
-
} catch (cause) {
|
|
440
|
-
if (!(cause instanceof BatchFailed)) throw cause;
|
|
441
|
-
return Promise.all(ops.map((op) => executeOn(client, op, context)));
|
|
442
|
-
}
|
|
443
|
-
}
|
|
444
|
-
};
|
|
445
|
-
}
|
|
446
|
-
var BatchFailed = class extends Error {};
|
|
447
|
-
async function executeOn(client, op, context) {
|
|
448
|
-
let plan;
|
|
449
|
-
try {
|
|
450
|
-
plan = compileSql(op);
|
|
451
|
-
} catch (cause) {
|
|
452
|
-
return err(toDbError(cause));
|
|
453
|
-
}
|
|
454
|
-
if (plan.never) return ok({
|
|
455
|
-
rows: [],
|
|
456
|
-
count: 0
|
|
457
|
-
});
|
|
458
|
-
if (context.signal?.aborted) return err(dbError("aborted", "The request was aborted"));
|
|
459
|
-
let result;
|
|
460
|
-
try {
|
|
461
|
-
result = plan.chunks && client.transaction ? await client.transaction((scoped) => run(scoped, plan, op)) : await run(client, plan, op);
|
|
462
|
-
} catch (cause) {
|
|
463
|
-
const raw = fromPgError(cause);
|
|
464
|
-
const error = raw ? mapDbError(raw, context.errorMappers) : toDbError(cause);
|
|
465
|
-
return err(withMaxAffected(error, op.kind === "update" || op.kind === "delete" ? op.maxAffected : void 0));
|
|
466
|
-
}
|
|
467
|
-
if (op.kind === "select" && op.single) {
|
|
468
|
-
if (result.rows.length > 1) return err(dbError("multiple_rows", `Expected one ${op.table.key} row`));
|
|
469
|
-
if (result.rows.length === 0 && op.single === "one") return err(dbError("not_found", `No ${op.table.key} row matched`));
|
|
470
|
-
}
|
|
471
|
-
return ok(result);
|
|
472
|
-
}
|
|
473
|
-
const JSON_TYPES = /* @__PURE__ */ new Set(["json", "jsonb"]);
|
|
474
|
-
async function signatureOf(client, name, context) {
|
|
475
|
-
const fn = context.function;
|
|
476
|
-
if (fn) return {
|
|
477
|
-
returnsSet: fn.returnsSet,
|
|
478
|
-
returnsVoid: fn.returns === "void",
|
|
479
|
-
json: new Set(fn.args.filter((arg) => JSON_TYPES.has(arg.type)).map((arg) => arg.name))
|
|
480
|
-
};
|
|
481
|
-
const [found] = await client.queryRaw("select p.proretset as returns_set, p.prorettype = 'pg_catalog.void'::pg_catalog.regtype as returns_void from pg_catalog.pg_proc p join pg_catalog.pg_namespace n on n.oid = p.pronamespace where n.nspname = $1 and p.proname = $2 limit 1", [context.schema, name]);
|
|
482
|
-
return found ? {
|
|
483
|
-
returnsSet: found.returns_set,
|
|
484
|
-
returnsVoid: found.returns_void,
|
|
485
|
-
json: /* @__PURE__ */ new Set()
|
|
486
|
-
} : void 0;
|
|
487
|
-
}
|
|
488
|
-
function argValue(value, json) {
|
|
489
|
-
if (value === null) return null;
|
|
490
|
-
if (json) return JSON.stringify(value);
|
|
491
|
-
if (typeof value === "bigint") return value.toString();
|
|
492
|
-
if (Array.isArray(value)) return value.map((item) => argValue(item, false));
|
|
493
|
-
if (isPlainObject(value)) return JSON.stringify(value);
|
|
494
|
-
if (typeof value === "object" && !(value instanceof Date) && !(value instanceof Uint8Array)) return String(value);
|
|
495
|
-
return value;
|
|
496
|
-
}
|
|
497
|
-
async function callFunction(client, name, args, context) {
|
|
498
|
-
if (context.signal?.aborted) return err(dbError("aborted", "The request was aborted"));
|
|
499
|
-
try {
|
|
500
|
-
const signature = await signatureOf(client, name, context);
|
|
501
|
-
if (!signature) return err(mapDbError({
|
|
502
|
-
code: "PGRST202",
|
|
503
|
-
message: `Could not find the function ${context.schema}.${name} in the database`
|
|
504
|
-
}, context.errorMappers));
|
|
505
|
-
const params = [];
|
|
506
|
-
const named = Object.entries(args).filter(([, value]) => value !== void 0).map(([key, value]) => {
|
|
507
|
-
params.push(argValue(value, signature.json.has(key)));
|
|
508
|
-
return `${quoteIdent(key)} => $${String(params.length)}`;
|
|
509
|
-
});
|
|
510
|
-
const call = `${quoteIdent(context.schema)}.${quoteIdent(name)}(${named.join(", ")})`;
|
|
511
|
-
if (signature.returnsVoid) {
|
|
512
|
-
await client.queryRaw(`select ${call}`, params);
|
|
513
|
-
return ok(null);
|
|
514
|
-
}
|
|
515
|
-
const values = (await client.queryRaw(`select to_json(bs_call) as value from ${call} as bs_call`, params)).map((row) => row.value);
|
|
516
|
-
return ok(signature.returnsSet ? values : values[0] ?? null);
|
|
517
|
-
} catch (cause) {
|
|
518
|
-
const raw = fromPgError(cause);
|
|
519
|
-
return err(raw ? mapDbError(raw, context.errorMappers) : toDbError(cause));
|
|
520
|
-
}
|
|
521
|
-
}
|
|
522
|
-
//#endregion
|
|
523
|
-
export { quoteIdent as i, postgresExecutor as n, compileSql as r, fromPgError as t };
|
|
388
|
+
export { quoteIdent as n, compileSql as t };
|
package/dist/ssr/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { _ as writeSession, a as CookieWrite, c as StoredSession, d as clearSessionAtScopes, f as parseCookies, g as sessionEncoding, h as sessionCookieName, i as CookieScope, l as WriteSessionOptions, m as serializeCookie, n as CookieOptions, o as DEFAULT_SESSION_ENCODING, p as readSession, r as CookieRecord, s as SessionEncoding, t as AUTH_CACHE_HEADERS, u as applyCookieWrites } from "../session-ChiXDZdZ.js";
|
|
2
|
-
import { a as ResolveAuthOptions,
|
|
3
|
-
import { n as toSession, t as AuthSession } from "../view-
|
|
4
|
-
import { r as MembershipClaim } from "../entitlements-
|
|
5
|
-
import { a as sessionStatus, c as
|
|
2
|
+
import { a as ResolveAuthOptions, c as resolveAuth, n as AuthResolver, r as AuthState, t as AuthResolution } from "../resolve-MxXVWyhd.js";
|
|
3
|
+
import { n as toSession, t as AuthSession } from "../view-TpXEUcVN.js";
|
|
4
|
+
import { r as MembershipClaim } from "../entitlements-Ds8qoYZ-.js";
|
|
5
|
+
import { a as sessionStatus, c as RefreshOutcome, i as clearSessionCookies, l as refreshSession, n as SessionStatus, o as authContext, r as SessionStatusOptions, s as RefreshOptions, t as ClearSessionCookiesOptions } from "../ended-CcvcRqEd.js";
|
|
6
6
|
export { AUTH_CACHE_HEADERS, type AuthResolution, type AuthResolver, type AuthSession, type AuthState, type ClearSessionCookiesOptions, type CookieOptions, type CookieRecord, type CookieScope, type CookieWrite, DEFAULT_SESSION_ENCODING, type MembershipClaim, type RefreshOptions, type RefreshOutcome, type ResolveAuthOptions, type SessionEncoding, type SessionStatus, type SessionStatusOptions, type StoredSession, type WriteSessionOptions, applyCookieWrites, authContext, clearSessionAtScopes, clearSessionCookies, parseCookies, readSession, refreshSession, resolveAuth, serializeCookie, sessionCookieName, sessionEncoding, sessionStatus, toSession, writeSession };
|
package/dist/ssr/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { t as authContext } from "../context-nPDvQ-Zl.js";
|
|
2
|
+
import { a as clearSessionCookies, c as DEFAULT_SESSION_ENCODING, d as parseCookies, f as readSession, g as writeSession, h as sessionEncoding, i as refreshSession, l as applyCookieWrites, m as sessionCookieName, o as sessionStatus, p as serializeCookie, r as resolveAuth, s as AUTH_CACHE_HEADERS, u as clearSessionAtScopes } from "../resolve-Bvgf3ut_.js";
|
|
3
|
+
import { n as toSession } from "../view-D5ryq3gz.js";
|
|
3
4
|
export { AUTH_CACHE_HEADERS, DEFAULT_SESSION_ENCODING, applyCookieWrites, authContext, clearSessionAtScopes, clearSessionCookies, parseCookies, readSession, refreshSession, resolveAuth, serializeCookie, sessionCookieName, sessionEncoding, sessionStatus, toSession, writeSession };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as dbError } from "./errors-
|
|
2
|
-
import { a as ok, r as err } from "./result-
|
|
1
|
+
import { n as dbError } from "./errors-2M6CKMP4.js";
|
|
2
|
+
import { a as ok, r as err } from "./result-DEqHCMKP.js";
|
|
3
3
|
//#region src/core/standard.ts
|
|
4
4
|
/** Validates with any Standard Schema (zod, valibot, arktype, ...). */
|
|
5
5
|
async function validate(schema, value, label = "value") {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { f as Result } from "./result-
|
|
1
|
+
import { f as Result } from "./result-BchM1XZn.js";
|
|
2
2
|
import { StandardSchemaV1 as StandardSchemaV1$1 } from "@standard-schema/spec";
|
|
3
3
|
//#region src/core/standard.d.ts
|
|
4
4
|
/** Validates with any Standard Schema (zod, valibot, arktype, ...). */
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { c as mapDbError, n as dbError, u as withMaxAffected } from "./errors-
|
|
2
|
-
import { n as invalidRequest } from "./build-
|
|
1
|
+
import { c as mapDbError, n as dbError, u as withMaxAffected } from "./errors-2M6CKMP4.js";
|
|
2
|
+
import { n as invalidRequest } from "./build-meLuYGri.js";
|
|
3
3
|
import { t as lookupOf } from "./lookup-BaP5bI27.js";
|
|
4
4
|
import { d as temporalText } from "./temporal-BJGitm-h.js";
|
|
5
|
-
import { t as dateText } from "./wire-
|
|
6
|
-
import { a as ok, r as err, s as toDbError } from "./result-
|
|
5
|
+
import { t as dateText } from "./wire-Df3EWkG8.js";
|
|
6
|
+
import { a as ok, r as err, s as toDbError } from "./result-DEqHCMKP.js";
|
|
7
7
|
import { n as simplifyOrFalse } from "./simplify-DDO0j0LI.js";
|
|
8
8
|
//#region src/compile/postgrest.ts
|
|
9
9
|
/** `false` only for a version string whose major is known to be below 13. */
|
|
@@ -1007,6 +1007,10 @@ function postgrestExecutor(client, options = {}) {
|
|
|
1007
1007
|
functionSources: true,
|
|
1008
1008
|
execute,
|
|
1009
1009
|
async rpc(name, args, context) {
|
|
1010
|
+
if (options.rpcUnavailable !== void 0) return err(dbError("unsupported", options.rpcUnavailable, {
|
|
1011
|
+
code: "RPC_UNAVAILABLE",
|
|
1012
|
+
details: `rpc("${name}")`
|
|
1013
|
+
}));
|
|
1010
1014
|
const scoped = scope(client, context.schema);
|
|
1011
1015
|
if (!scoped.rpc) return err(toDbError(/* @__PURE__ */ new Error("The client does not support rpc()")));
|
|
1012
1016
|
if (context.signal?.aborted) return err(aborted());
|
package/dist/storage/index.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { G as ObjectVersion, K as VersioningStatus, U as BucketLifecycle, W as BucketLifecycleRule, n as AccessPolicySql, t as AccessBucketPolicy } from "../types-
|
|
2
|
-
import {
|
|
3
|
-
import { C as
|
|
4
|
-
|
|
5
|
-
import { A as defineBuckets, C as BucketIdOf, D as ConnectedRef, E as Buckets, M as StorageImageSize, N as storageImageUrl, O as ResolvedRef, P as fromStorageError, S as AnyBucket, T as BucketWithId, _ as IMAGE_TYPES, a as VectorHit, b as avatarBucket, c as VectorMetadata, d as defineVectorBucket, f as AnalyticsBucket, g as AvatarBucketOptions, h as defineAnalyticsBucket, i as VectorDistance, j as StorageImageOptions, k as StoredRef, l as VectorQueryOptions, m as AnalyticsCatalog, n as VectorBucketClient, o as VectorIndexClient, p as AnalyticsBucketClient, r as VectorBucketConfig, s as VectorIndexConfig, t as VectorBucket, u as VectorRecord, v as ImageBucketOptions, w as BucketMap, x as organizationLogoBucket, y as OrganizationLogoBucketOptions } from "../index-D48jVS-N.js";
|
|
6
|
-
export { type AccessBucketPolicy, type AccessPolicySql, type ActualBucket, type AnalyticsBucket, type AnalyticsBucketClient, type AnalyticsCatalog, type AnyBucket, type AppliedBucket, type AvatarBucketOptions, type Bucket, type BucketClient, type BucketConfig, type BucketConnectOptions, type BucketDrift, type BucketIdOf, type BucketLifecycle, type BucketLifecycleRule, type BucketMap, type BucketPolicy, type BucketWithId, type Buckets, type ConnectedRef, type DownloadOptions, IMAGE_TYPES, type ImageBucketOptions, type ObjectTarget, type ObjectVersion, type OrganizationLogoBucketOptions, type PathIn, type PathValues, type PurgeCacheOptions, type ReplaceOptions, type ReplaceResult, type Reservation, type ResolvedRef, type StorageClient, type StorageImageOptions, type StorageImageSize, type StoragePath, type StoredObject, type StoredRef, type SweepOptions, type SweepResult, TTL, type TemplateParams, type TemplateValues, type TransferOptions, type TransformOptions, type TtlPreset, type UploadBody, type UploadOptions, type UrlOptions, type VectorBucket, type VectorBucketClient, type VectorBucketConfig, type VectorDistance, type VectorHit, type VectorIndexClient, type VectorIndexConfig, type VectorMetadata, type VectorQueryOptions, type VectorRecord, type VersioningStatus, avatarBucket, defineAnalyticsBucket, defineBucket, defineBuckets, defineVectorBucket, fromStorageError, organizationLogoBucket, parseSize, storageImageUrl };
|
|
1
|
+
import { G as ObjectVersion, K as VersioningStatus, U as BucketLifecycle, W as BucketLifecycleRule, n as AccessPolicySql, t as AccessBucketPolicy } from "../types-CoE5Zwy4.js";
|
|
2
|
+
import { A as PathValues, B as TransformOptions, C as BucketClient, D as BucketPolicy, E as BucketDrift, F as StorageAdminClient, G as parseSize, H as UploadOptions, I as StoredObject, J as TemplateValues, K as AppliedBucket, L as SweepOptions, M as ReplaceOptions, N as ReplaceResult, O as DownloadOptions, P as Reservation, Q as StoragePath, R as SweepResult, S as Bucket, T as BucketConnectOptions, U as UrlOptions, V as UploadBody, W as defineBucket, X as TtlPreset, Y as TTL, Z as PathIn, _ as StorageSearchV2Options, a as StorageDownloadOptions, b as StorageUrlOptions, c as StorageFileOptions, d as StorageListV2Object, f as StorageListV2Result, g as StorageSearchOptions, h as StorageResponse, i as StorageDestinationOptions, j as PurgeCacheOptions, k as ObjectTarget, l as StorageListEntry, m as StorageRemoveEntry, n as StorageBucketApi, o as StorageFailure, p as StorageObjectInfo, q as TemplateParams, r as StorageClient, s as StorageFetchParameters, t as StorageApi, u as StorageListV2Folder, v as StorageSignedUrlEntry, w as BucketConfig, x as ActualBucket, y as StorageTransform, z as TransferOptions } from "../storage-api-CB7Zl1Ci.js";
|
|
3
|
+
import { A as defineBuckets, C as BucketIdOf, D as ConnectedRef, E as Buckets, M as StorageImageSize, N as storageImageUrl, O as ResolvedRef, P as fromStorageError, S as AnyBucket, T as BucketWithId, _ as IMAGE_TYPES, a as VectorHit, b as avatarBucket, c as VectorMetadata, d as defineVectorBucket, f as AnalyticsBucket, g as AvatarBucketOptions, h as defineAnalyticsBucket, i as VectorDistance, j as StorageImageOptions, k as StoredRef, l as VectorQueryOptions, m as AnalyticsCatalog, n as VectorBucketClient, o as VectorIndexClient, p as AnalyticsBucketClient, r as VectorBucketConfig, s as VectorIndexConfig, t as VectorBucket, u as VectorRecord, v as ImageBucketOptions, w as BucketMap, x as organizationLogoBucket, y as OrganizationLogoBucketOptions } from "../index-BfxOaOYs.js";
|
|
4
|
+
export { type AccessBucketPolicy, type AccessPolicySql, type ActualBucket, type AnalyticsBucket, type AnalyticsBucketClient, type AnalyticsCatalog, type AnyBucket, type AppliedBucket, type AvatarBucketOptions, type Bucket, type BucketClient, type BucketConfig, type BucketConnectOptions, type BucketDrift, type BucketIdOf, type BucketLifecycle, type BucketLifecycleRule, type BucketMap, type BucketPolicy, type BucketWithId, type Buckets, type ConnectedRef, type DownloadOptions, IMAGE_TYPES, type ImageBucketOptions, type ObjectTarget, type ObjectVersion, type OrganizationLogoBucketOptions, type PathIn, type PathValues, type PurgeCacheOptions, type ReplaceOptions, type ReplaceResult, type Reservation, type ResolvedRef, type StorageAdminClient, type StorageApi, type StorageBucketApi, type StorageClient, type StorageDestinationOptions, type StorageDownloadOptions, type StorageFailure, type StorageFetchParameters, type StorageFileOptions, type StorageImageOptions, type StorageImageSize, type StorageListEntry, type StorageListV2Folder, type StorageListV2Object, type StorageListV2Result, type StorageObjectInfo, type StoragePath, type StorageRemoveEntry, type StorageResponse, type StorageSearchOptions, type StorageSearchV2Options, type StorageSignedUrlEntry, type StorageTransform, type StorageUrlOptions, type StoredObject, type StoredRef, type SweepOptions, type SweepResult, TTL, type TemplateParams, type TemplateValues, type TransferOptions, type TransformOptions, type TtlPreset, type UploadBody, type UploadOptions, type UrlOptions, type VectorBucket, type VectorBucketClient, type VectorBucketConfig, type VectorDistance, type VectorHit, type VectorIndexClient, type VectorIndexConfig, type VectorMetadata, type VectorQueryOptions, type VectorRecord, type VersioningStatus, avatarBucket, defineAnalyticsBucket, defineBucket, defineBuckets, defineVectorBucket, fromStorageError, organizationLogoBucket, parseSize, storageImageUrl };
|
package/dist/storage/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { t as DbException } from "../db-exception-CnWcYPxL.js";
|
|
2
|
-
import { n as dbError } from "../errors-
|
|
3
|
-
import { c as optionalTemporal } from "../temporal-BJGitm-h.js";
|
|
4
|
-
import { n as temporalMissing } from "../temporal-required-
|
|
5
|
-
import { a as ok, r as err, s as toDbError, t as AsyncResult } from "../result-
|
|
2
|
+
import { n as dbError } from "../errors-2M6CKMP4.js";
|
|
3
|
+
import { c as optionalTemporal, n as isInstant } from "../temporal-BJGitm-h.js";
|
|
4
|
+
import { n as temporalMissing } from "../temporal-required-BtynQtM-.js";
|
|
5
|
+
import { a as ok, r as err, s as toDbError, t as AsyncResult } from "../result-DEqHCMKP.js";
|
|
6
6
|
import { a as spansAllTenants } from "../plugin-tfXW1-qO.js";
|
|
7
7
|
import { a as tenantClaimPaths, o as tenantFrom, s as tenantPathsFor } from "../claims-PqzCxaTD.js";
|
|
8
8
|
import { n as ttlSeconds, t as TTL } from "../ttl-Hr34gRu8.js";
|
|
9
|
-
import {
|
|
9
|
+
import { a as sqlString, i as sqlIdent, n as parseTemplate, r as slug, t as claimSql } from "../template-lPVh-EwW.js";
|
|
10
10
|
import { t as storageImageUrl } from "../image-url-pIVlO6R1.js";
|
|
11
|
-
import { t as fromStorageError } from "../errors-
|
|
12
|
-
import { r as accessCheck } from "../access-sql-
|
|
11
|
+
import { t as fromStorageError } from "../errors-rZ7VIqp6.js";
|
|
12
|
+
import { r as accessCheck } from "../access-sql-CrSbK1q-.js";
|
|
13
13
|
//#region src/storage/versioning.ts
|
|
14
14
|
const MAX_DAYS = 2147483647;
|
|
15
15
|
function wholeIn(value, min, max) {
|
|
@@ -272,6 +272,12 @@ function parseFailure(status, text) {
|
|
|
272
272
|
};
|
|
273
273
|
}
|
|
274
274
|
//#endregion
|
|
275
|
+
//#region src/storage/storage-api.ts
|
|
276
|
+
/** The `StorageApi` of a client, or the client itself. */
|
|
277
|
+
function storageApiOf(client) {
|
|
278
|
+
return "storage" in client ? client.storage : client;
|
|
279
|
+
}
|
|
280
|
+
//#endregion
|
|
275
281
|
//#region src/storage/connect.ts
|
|
276
282
|
/** Folder listings in flight at once while `list` walks a tree. */
|
|
277
283
|
const LIST_CONCURRENCY = 4;
|
|
@@ -334,7 +340,8 @@ function connectBucket(bucket, client, resolveTarget, connectOptions, guard) {
|
|
|
334
340
|
...within,
|
|
335
341
|
[guard.param]: guard.within(within)
|
|
336
342
|
} : within ?? {};
|
|
337
|
-
const
|
|
343
|
+
const storage = storageApiOf(client);
|
|
344
|
+
const api = () => storage.from(bucket.id);
|
|
338
345
|
const signed = connectOptions.cacheSignedUrls ? /* @__PURE__ */ new Map() : void 0;
|
|
339
346
|
/** Drops cached signed URLs for `paths`; keys start with the JSON-quoted path. */
|
|
340
347
|
const evict = (paths) => {
|
|
@@ -653,7 +660,7 @@ function connectBucket(bucket, client, resolveTarget, connectOptions, guard) {
|
|
|
653
660
|
const namespace = optionalTemporal();
|
|
654
661
|
if (namespace === void 0) return err(temporalMissing());
|
|
655
662
|
const now = options.now?.() ?? namespace.Now.instant();
|
|
656
|
-
const cutoff = options.olderThan
|
|
663
|
+
const cutoff = isInstant(options.olderThan) ? options.olderThan.epochMilliseconds : now.epochMilliseconds - options.olderThan.total("milliseconds");
|
|
657
664
|
const scope = scopedWithin(options.within);
|
|
658
665
|
const size = options.batchSize ?? 100;
|
|
659
666
|
const orphans = [];
|
|
@@ -778,14 +785,6 @@ function parseSize(value) {
|
|
|
778
785
|
if (!match || unit === void 0) throw new TypeError(`Invalid size "${value}"`);
|
|
779
786
|
return Math.round(Number(match[1]) * unit);
|
|
780
787
|
}
|
|
781
|
-
function claimSql(claim) {
|
|
782
|
-
const expressions = (typeof claim === "string" ? [claim] : claim).map((path) => {
|
|
783
|
-
const keys = path.split(".");
|
|
784
|
-
const last = keys.pop();
|
|
785
|
-
return `(select auth.jwt())${keys.map((key) => ` -> ${sqlString(key)}`).join("")} ->> ${sqlString(last)}`;
|
|
786
|
-
});
|
|
787
|
-
return expressions.length === 1 ? expressions[0] : `coalesce(${expressions.join(", ")})`;
|
|
788
|
-
}
|
|
789
788
|
/**
|
|
790
789
|
* Path segment `index` equals `value`. A first segment also bounds `name` to
|
|
791
790
|
* the `value/` prefix in the "C" collation, the storage name indexes', so
|