better-supabase 0.5.0 → 0.6.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 +299 -41
- package/dist/access-sql-B0dF-SoF.js +181 -0
- package/dist/actor-CQTlc1Hh.d.ts +43 -0
- package/dist/adapter-Bc1o3zyy.js +1106 -0
- package/dist/agents-CVHGd7It.d.ts +94 -0
- package/dist/ai-cache-CBWs1W0k.js +80 -0
- package/dist/ai-cache-DaDu_G5L.d.ts +64 -0
- package/dist/ai-chat-7amvXjmQ.d.ts +590 -0
- package/dist/ai-chat-B24UI962.js +743 -0
- package/dist/ai-files-CSPNswUY.js +319 -0
- package/dist/ai-sdk/agents/index.d.ts +74 -0
- package/dist/ai-sdk/agents/index.js +159 -0
- package/dist/ai-sdk/batches/index.d.ts +74 -0
- package/dist/ai-sdk/batches/index.js +180 -0
- package/dist/ai-sdk/cache/index.d.ts +38 -0
- package/dist/ai-sdk/cache/index.js +127 -0
- package/dist/ai-sdk/chat/index.d.ts +2 -0
- package/dist/ai-sdk/chat/index.js +246 -0
- package/dist/ai-sdk/embeddings/index.d.ts +3 -0
- package/dist/ai-sdk/embeddings/index.js +2 -0
- package/dist/ai-sdk/files/index.d.ts +61 -0
- package/dist/ai-sdk/files/index.js +111 -0
- package/dist/ai-sdk/index.d.ts +145 -0
- package/dist/ai-sdk/index.js +174 -0
- package/dist/ai-sdk/mcp/index.d.ts +102 -0
- package/dist/ai-sdk/mcp/index.js +362 -0
- package/dist/ai-sdk/memory/index.d.ts +67 -0
- package/dist/ai-sdk/memory/index.js +175 -0
- package/dist/ai-sdk/react/index.d.ts +2 -0
- package/dist/ai-sdk/react/index.js +3 -0
- package/dist/ai-sdk/react/server.d.ts +6 -0
- package/dist/ai-sdk/react/server.js +7 -0
- package/dist/ai-sdk/workflow/index.d.ts +249 -0
- package/dist/ai-sdk/workflow/index.js +575 -0
- package/dist/ai-sdk/workflow/react/index.d.ts +20 -0
- package/dist/ai-sdk/workflow/react/index.js +66 -0
- package/dist/ai-sdk/workflow/react/server.d.ts +10 -0
- package/dist/ai-sdk/workflow/react/server.js +12 -0
- package/dist/ai-tasks-Cd1HMFvB.d.ts +131 -0
- package/dist/announcements-CiyOs-xP.js +107 -0
- package/dist/announcements-ZRGnScWI.d.ts +72 -0
- package/dist/api-keys-rCGtKaZA.d.ts +156 -0
- package/dist/assistant-DwdpDH1q.d.ts +147 -0
- package/dist/astro/index.d.ts +86 -0
- package/dist/astro/index.js +93 -0
- package/dist/attributes-5dYul0u0.js +13 -0
- package/dist/auth-link-BjFPqwLz.d.ts +97 -0
- package/dist/auth-link-DrDX9KOT.js +114 -0
- package/dist/authorization-BFCqamMs.d.ts +172 -0
- package/dist/before-route-CnR0C0Jr.js +30 -0
- package/dist/bind-Bu_ZNa3W.d.ts +62 -0
- package/dist/bind-l4kAvYSv.js +97 -0
- package/dist/block-events-CrT8r7Fe.js +76 -0
- package/dist/block-fields-GFkxl4dP.js +49 -0
- package/dist/block-fields-SJ6fEf3o.d.ts +31 -0
- package/dist/block-helpers-CKtbFcRv.d.ts +37 -0
- package/dist/block-helpers-DWHxHsEQ.js +190 -0
- package/dist/block-hooks-BmjMyXTa.js +114 -0
- package/dist/block-hooks-plbZ0AbJ.d.ts +107 -0
- package/dist/{kit-transport-DJlHQUBU.js → block-transport-BLr-ZgLc.js} +11 -7
- package/dist/block-transport-DvaoPuZ9.d.ts +48 -0
- package/dist/blocks/agents/index.d.ts +3 -0
- package/dist/blocks/agents/index.js +123 -0
- package/dist/blocks/ai-cache/index.d.ts +3 -0
- package/dist/blocks/ai-cache/index.js +3 -0
- package/dist/blocks/ai-chat/index.d.ts +31 -0
- package/dist/blocks/ai-chat/index.js +5 -0
- package/dist/blocks/ai-chat/react/index.d.ts +77 -0
- package/dist/blocks/ai-chat/react/index.js +387 -0
- package/dist/blocks/ai-chat/react/server.d.ts +16 -0
- package/dist/blocks/ai-chat/react/server.js +14 -0
- package/dist/blocks/ai-files/index.d.ts +14 -0
- package/dist/blocks/ai-files/index.js +3 -0
- package/dist/blocks/ai-providers/index.d.ts +7 -0
- package/dist/blocks/ai-providers/index.js +211 -0
- package/dist/blocks/ai-tasks/index.d.ts +3 -0
- package/dist/blocks/ai-tasks/index.js +203 -0
- package/dist/blocks/announcements/index.d.ts +3 -0
- package/dist/blocks/announcements/index.js +3 -0
- package/dist/blocks/announcements/react/index.d.ts +31 -0
- package/dist/blocks/announcements/react/index.js +86 -0
- package/dist/blocks/announcements/react/server.d.ts +6 -0
- package/dist/blocks/announcements/react/server.js +7 -0
- package/dist/blocks/api-keys/index.d.ts +35 -0
- package/dist/blocks/api-keys/index.js +334 -0
- package/dist/blocks/attachments/index.d.ts +210 -0
- package/dist/blocks/attachments/index.js +222 -0
- package/dist/blocks/audit/index.d.ts +366 -0
- package/dist/blocks/audit/index.js +714 -0
- package/dist/blocks/billing/index.d.ts +265 -0
- package/dist/blocks/billing/index.js +400 -0
- package/dist/blocks/comments/index.d.ts +200 -0
- package/dist/blocks/comments/index.js +207 -0
- package/dist/blocks/connectors/index.d.ts +3 -0
- package/dist/blocks/connectors/index.js +164 -0
- package/dist/blocks/data-lifecycle/index.d.ts +251 -0
- package/dist/blocks/data-lifecycle/index.js +353 -0
- package/dist/blocks/entitlements/index.d.ts +14 -0
- package/dist/blocks/entitlements/index.js +25 -0
- package/dist/blocks/flags/index.d.ts +226 -0
- package/dist/blocks/flags/index.js +282 -0
- package/dist/blocks/inbox/index.d.ts +6 -0
- package/dist/blocks/inbox/index.js +499 -0
- package/dist/blocks/inbox/react/index.d.ts +2 -0
- package/dist/blocks/inbox/react/index.js +225 -0
- package/dist/blocks/inbox/react/server.d.ts +10 -0
- package/dist/blocks/inbox/react/server.js +12 -0
- package/dist/blocks/index.d.ts +65 -0
- package/dist/blocks/index.js +77 -0
- package/dist/blocks/jobs/index.d.ts +297 -0
- package/dist/blocks/jobs/index.js +1051 -0
- package/dist/blocks/knowledge/index.d.ts +3 -0
- package/dist/blocks/knowledge/index.js +3 -0
- package/dist/blocks/memory/index.d.ts +8 -0
- package/dist/blocks/memory/index.js +289 -0
- package/dist/blocks/notifications/index.d.ts +297 -0
- package/dist/blocks/notifications/index.js +425 -0
- package/dist/blocks/notifications/react/index.d.ts +44 -0
- package/dist/blocks/notifications/react/index.js +67 -0
- package/dist/blocks/notifications/react/server.d.ts +6 -0
- package/dist/blocks/notifications/react/server.js +7 -0
- package/dist/blocks/onboarding/index.d.ts +3 -0
- package/dist/blocks/onboarding/index.js +64 -0
- package/dist/blocks/onboarding/react/index.d.ts +28 -0
- package/dist/blocks/onboarding/react/index.js +78 -0
- package/dist/blocks/onboarding/react/server.d.ts +7 -0
- package/dist/blocks/onboarding/react/server.js +7 -0
- package/dist/blocks/organizations/index.d.ts +241 -0
- package/dist/blocks/organizations/index.js +400 -0
- package/dist/blocks/outbox/index.d.ts +3 -0
- package/dist/blocks/outbox/index.js +266 -0
- package/dist/blocks/profiles/index.d.ts +40 -0
- package/dist/blocks/profiles/index.js +28 -0
- package/dist/blocks/push/index.d.ts +185 -0
- package/dist/blocks/push/index.js +258 -0
- package/dist/blocks/settings/index.d.ts +89 -0
- package/dist/blocks/settings/index.js +104 -0
- package/dist/blocks/sso/index.d.ts +198 -0
- package/dist/blocks/sso/index.js +1297 -0
- package/dist/blocks/usage/index.d.ts +4 -0
- package/dist/blocks/usage/index.js +233 -0
- package/dist/blocks/waitlist/index.d.ts +117 -0
- package/dist/blocks/waitlist/index.js +132 -0
- package/dist/blocks/webhooks/index.d.ts +304 -0
- package/dist/{webhooks → blocks/webhooks}/index.js +468 -148
- package/dist/blocks/workflow-builder/index.d.ts +21 -0
- package/dist/blocks/workflow-builder/index.js +5 -0
- package/dist/blocks/workflow-builder/react/index.d.ts +47 -0
- package/dist/blocks/workflow-builder/react/index.js +119 -0
- package/dist/blocks/workflow-builder/react/server.d.ts +8 -0
- package/dist/blocks/workflow-builder/react/server.js +11 -0
- package/dist/blocks/workflows/index.d.ts +3 -0
- package/dist/blocks/workflows/index.js +3 -0
- package/dist/blocks/workflows/react/index.d.ts +47 -0
- package/dist/blocks/workflows/react/index.js +137 -0
- package/dist/blocks/workflows/react/server.d.ts +8 -0
- package/dist/blocks/workflows/react/server.js +11 -0
- package/dist/{index-SaTsEfGP.d.ts → bucket-Cl46E3jS.d.ts} +134 -91
- package/dist/{simplify-_0oUKqCd.js → build-BXIzE6Xv.js} +222 -124
- package/dist/{channel-FQW-CnGR.d.ts → channel-_2Mx1Oyu.d.ts} +2 -2
- package/dist/channels-CkgQ_X60.js +114 -0
- package/dist/chat-sdk/index.d.ts +303 -0
- package/dist/chat-sdk/index.js +733 -0
- package/dist/chat-sdk/react/index.d.ts +2 -0
- package/dist/chat-sdk/react/index.js +3 -0
- package/dist/chat-sdk/react/server.d.ts +3 -0
- package/dist/chat-sdk/react/server.js +2 -0
- package/dist/claims-DDBQT6BK.js +61 -0
- package/dist/{claims-BAf6c7is.js → claims-PqzCxaTD.js} +39 -2
- package/dist/cli/bin.js +1 -1
- package/dist/cli/{codemod-DqV7612m.js → codemod-Bl_tQpHn.js} +105 -2
- package/dist/cli/config-B9HkL8nF.js +2 -0
- package/dist/cli/config-DU7EJImt.js +49 -0
- package/dist/cli/config-NiPxAmUF.js +1077 -0
- package/dist/cli/{dist-xn4wlboc.js → dist-DRAVaE6w.js} +111 -1
- package/dist/cli/{doctor-L7Z8mYTx.js → doctor-B4JOm_ox.js} +992 -316
- package/dist/cli/{env-DmKv_G4A.js → env-CJLbUVPB.js} +1 -1
- package/dist/cli/{env-jIFUADLY.js → env-qXgyMV6r.js} +2 -2
- package/dist/cli/fresh-import-BeYf9I3x.js +40 -0
- package/dist/cli/gen-BGLb_zou.js +3100 -0
- package/dist/cli/gen-DAH8FM2W.js +2 -0
- package/dist/cli/index.d.ts +44 -5
- package/dist/cli/index.js +7 -7
- package/dist/cli/{init-Saf5-R9T.js → init-BIIwclPg.js} +242 -27
- package/dist/cli/{introspect--H7oGmcd.js → introspect-DNUTuNvb.js} +5 -5
- package/dist/cli/{io-k41_z-jT.js → io-DI1mTdSA.js} +12 -3
- package/dist/cli/{keys-ByKHnvP9.js → keys-BGCnnb-s.js} +8 -6
- package/dist/cli/{ohash-D7bG_EOb.js → ohash-BjQY1cBb.js} +1 -1
- package/dist/cli/{openapi-Cp5Fyta-.js → openapi-BlRJ18s3.js} +2 -2
- package/dist/cli/{project-B_GeXyHh.js → project-DZRaBaY7.js} +11 -6
- package/dist/cli/read-sets-CETOSFx4.js +223 -0
- package/dist/cli/{run-BKR2W_79.js → run-DNWxHynX.js} +33 -23
- package/dist/cli/{seed-CUlqWh-8.js → seed-DQzqT7LP.js} +8 -6
- package/dist/cli/{skills-LJJIhLFR.js → skills-QQs4q68J.js} +3 -2
- package/dist/cli/sql-D0GUtUPp.js +536 -0
- package/dist/cli/{config-CPVpXP5I.js → supabase-toml-B-bIukQF.js} +72 -942
- package/dist/cli/typegen-version-DeFbtzYI.js +8 -0
- package/dist/cli/{version-BDJuO0UR.js → version-hr88OZG0.js} +1 -1
- package/dist/client/index.d.ts +3 -2
- package/dist/client/index.js +11 -71
- package/dist/client/native/index.d.ts +228 -0
- package/dist/client/native/index.js +361 -0
- package/dist/client-CI0Z2zWX.js +277 -0
- package/dist/cloud-event-BnmD5fb9.js +46 -0
- package/dist/cloud-event-C1JCc1bH.d.ts +50 -0
- package/dist/{compiler-BXH_aZ7N.d.ts → compiler-DY_wkj4R.d.ts} +2 -2
- package/dist/compose-BIBNgAnq.js +53 -0
- package/dist/composite-Bt1YK3Ke.d.ts +146 -0
- package/dist/composite-DhE66P5u.js +130 -0
- package/dist/config/index.d.ts +6 -4
- package/dist/config/index.js +5 -5
- package/dist/{config-T_ejwyd3.d.ts → config-D44Y7PAv.d.ts} +406 -205
- package/dist/{config-DreERlKo.js → config-Dn7F5k9A.js} +62 -14
- package/dist/connector-Dv8kK0MO.d.ts +107 -0
- package/dist/connectors-hkLCwyEz.d.ts +120 -0
- package/dist/context-BCrWe7ow.d.ts +237 -0
- package/dist/credentials/index.d.ts +31 -0
- package/dist/credentials/index.js +168 -0
- package/dist/cron-DVPUg5k3.js +145 -0
- package/dist/csv-CPAzEmB6.js +25 -0
- package/dist/db-exception-CnWcYPxL.js +15 -0
- package/dist/{define-cNKzqwL_.js → define-B-TVjC25.js} +784 -227
- package/dist/{define-Bp_BZa5h.d.ts → define-CJJkkr1-.d.ts} +353 -61
- package/dist/edge/index.d.ts +69 -11
- package/dist/edge/index.js +191 -75
- package/dist/elysia/index.d.ts +59 -0
- package/dist/elysia/index.js +62 -0
- package/dist/embeddings-4ZvFzjsU.js +127 -0
- package/dist/embeddings-C9KGQnXt.d.ts +68 -0
- package/dist/{refresh-BTrQ_ZTp.d.ts → ended-jLfvw8h-.d.ts} +20 -2
- package/dist/{entitlements-DUxU4oHe.d.ts → entitlements-DHrY2UDZ.d.ts} +16 -7
- package/dist/entitlements-DRl6ZJUm.js +24 -0
- package/dist/envelope-DqnYGRw7.js +47 -0
- package/dist/{errors-DtwXa6b8.js → errors-B11Duf73.js} +82 -13
- package/dist/errors-DLjJHPLK.js +44 -0
- package/dist/escape-like-DHfx6jRr.js +7 -0
- package/dist/escape-like-ImTK0ps_.d.ts +15 -0
- package/dist/eve/index.d.ts +220 -0
- package/dist/eve/index.js +504 -0
- package/dist/eve-gT2Fpjut.d.ts +151 -0
- package/dist/events/index.d.ts +4 -3
- package/dist/events/index.js +9 -50
- package/dist/events-DWDhx77e.d.ts +549 -0
- package/dist/executor-Bq28caBo.js +718 -0
- package/dist/executor-C-R4pucm.js +83 -0
- package/dist/executor-CaWigTyR.d.ts +148 -0
- package/dist/executor-D14tGopJ.d.ts +36 -0
- package/dist/{executor-Cghdstwu.d.ts → executor-DbvExCFC.d.ts} +7 -1
- package/dist/{sql-Coh6n4cC.js → executor-De1Of3m3.js} +210 -11
- package/dist/executor-DvsBbNBS.d.ts +261 -0
- package/dist/expo/index.d.ts +79 -0
- package/dist/expo/index.js +129 -0
- package/dist/expo-sqlite/index.d.ts +58 -0
- package/dist/expo-sqlite/index.js +104 -0
- package/dist/field-errors-BFOa7WhB.d.ts +99 -0
- package/dist/field-errors-VF1yb8yI.js +13 -0
- package/dist/framework-CONDyPYx.js +51 -0
- package/dist/framework-DuVb4Xa8.d.ts +25 -0
- package/dist/gateway-C1ssRHnf.d.ts +130 -0
- package/dist/graph-BGyLLFLX.js +265 -0
- package/dist/h3/index.d.ts +59 -0
- package/dist/h3/index.js +55 -0
- package/dist/h3/v1/index.d.ts +63 -0
- package/dist/h3/v1/index.js +49 -0
- package/dist/history-BZih6SFP.js +64 -0
- package/dist/hono/index.d.ts +56 -7
- package/dist/hono/index.js +97 -45
- package/dist/{react-C_s7kiNz.js → hooks-1BTCJsiw.js} +104 -133
- package/dist/http-Cv4T29xh.js +40 -0
- package/dist/http-DdYadv-o.js +126 -0
- package/dist/image-url-pIVlO6R1.js +41 -0
- package/dist/impersonation-DcqaTBHx.js +148 -0
- package/dist/inbox-i7E1ppo6.d.ts +384 -0
- package/dist/index-ACiNPN4Z.d.ts +74 -0
- package/dist/{index-DgILJRXj.d.ts → index-Bepi-Hgg.d.ts} +91 -28
- package/dist/index-BkWT_uBO.d.ts +51 -0
- package/dist/index-BpFYMsi0.d.ts +53 -0
- package/dist/{index-C7f8cOBM.d.ts → index-Bxih3l0u.d.ts} +2 -2
- package/dist/index-CaxrMD1A.d.ts +1 -0
- package/dist/index-ClmjK_o-.d.ts +55 -0
- package/dist/index-CtuakVRc.d.ts +267 -0
- package/dist/index-D48jVS-N.d.ts +246 -0
- package/dist/index-DDrYaUcq.d.ts +138 -0
- package/dist/index-DQh4VCc9.d.ts +98 -0
- package/dist/{live-D9W2M5aO.d.ts → index-DunNRdnT.d.ts} +136 -38
- package/dist/index.d.ts +65 -18
- package/dist/index.js +42 -14
- package/dist/invalidate-BBqhpxyB.d.ts +19 -0
- package/dist/json-CEnpTHlZ.js +16 -0
- package/dist/json-schema-CvER4kgT.js +502 -0
- package/dist/keys-4MnkWTTh.js +35 -0
- package/dist/kit-B5tid-q5.d.ts +60 -0
- package/dist/kit-Fm-Fv7q5.js +78 -0
- package/dist/knowledge-BXBbT0Tr.d.ts +176 -0
- package/dist/knowledge-CDmiMLew.js +255 -0
- package/dist/lint/index.d.ts +1 -1
- package/dist/lint/index.js +37 -0
- package/dist/list/index.d.ts +3 -2
- package/dist/list/index.js +1 -444
- package/dist/{index-fag8VJZ2.d.ts → list-query-BRt-zDF7.d.ts} +20 -12
- package/dist/list-query-gl808ac1.js +459 -0
- package/dist/{live-CdJBOc4f.js → live-CTAZQkwl.js} +99 -14
- package/dist/logger-DWVYUmwi.d.ts +18 -0
- package/dist/mcp/index.d.ts +38 -11
- package/dist/mcp/index.js +82 -46
- package/dist/mcp/sdk/index.d.ts +105 -0
- package/dist/mcp/sdk/index.js +126 -0
- package/dist/message-CaKlqdsX.js +219 -0
- package/dist/message-CfDoR0Y6.d.ts +94 -0
- package/dist/messages-B9-5887d.js +715 -0
- package/dist/messages-DYP0sUTe.d.ts +59 -0
- package/dist/{mfa-CusDgPaD.d.ts → mfa-Daak8ukG.d.ts} +8 -2
- package/dist/modules-DpPwzC7E.d.ts +192 -0
- package/dist/modules-dxrVK3ID.js +228 -0
- package/dist/nestjs/index.d.ts +68 -0
- package/dist/nestjs/index.js +164 -0
- package/dist/next/client/index.d.ts +35 -0
- package/dist/next/client/index.js +36 -0
- package/dist/next/image/index.js +3 -24
- package/dist/next/index.d.ts +150 -51
- package/dist/next/index.js +261 -107
- package/dist/node/index.d.ts +4 -0
- package/dist/node/index.js +210 -0
- package/dist/node-headers-AO06VhqH.d.ts +24 -0
- package/dist/node-headers-C71zNQHe.js +55 -0
- package/dist/nuxt/index.d.ts +60 -0
- package/dist/nuxt/index.js +64 -0
- package/dist/onboarding-BZGHYJks.d.ts +62 -0
- package/dist/openapi/index.d.ts +1 -1
- package/dist/openapi/index.js +3 -3
- package/dist/orpc/index.d.ts +70 -11
- package/dist/orpc/index.js +73 -24
- package/dist/otel/index.d.ts +7 -7
- package/dist/otel/index.js +87 -57
- package/dist/outbox-Cq7pPYvl.d.ts +161 -0
- package/dist/{plugin-o144f322.d.ts → plugin-FGY8UhYm.d.ts} +30 -10
- package/dist/plugin-tfXW1-qO.js +45 -0
- package/dist/plugins/actor/index.d.ts +2 -2
- package/dist/plugins/actor/index.js +3 -3
- package/dist/plugins/rules/index.d.ts +11 -4
- package/dist/plugins/rules/index.js +40 -13
- package/dist/plugins/soft-delete/index.d.ts +5 -4
- package/dist/plugins/soft-delete/index.js +10 -5
- package/dist/plugins/tenant/index.d.ts +2 -2
- package/dist/plugins/tenant/index.js +18 -11
- package/dist/plugins/timestamps/index.d.ts +5 -3
- package/dist/plugins/timestamps/index.js +6 -4
- package/dist/plugins/validation/index.d.ts +2 -2
- package/dist/plugins/validation/index.js +10 -6
- package/dist/{pool-C9voM4Kw.d.ts → pool-CAu2nLrL.d.ts} +2 -2
- package/dist/postgres/index.d.ts +4 -4
- package/dist/postgres/index.js +1 -2
- package/dist/{postgrest-CruYKAvV.d.ts → postgrest-BLVdEnfe.d.ts} +13 -3
- package/dist/powersync/index.d.ts +43 -0
- package/dist/powersync/index.js +199 -0
- package/dist/powersync/react/index.d.ts +87 -0
- package/dist/powersync/react/index.js +108 -0
- package/dist/{problem-BW1KhzSG.js → problem-BreOl8b8.js} +14 -3
- package/dist/{problem-Blxe8S31.d.ts → problem-DD8LZFjc.d.ts} +21 -3
- package/dist/provider-BH5UWZJ6.d.ts +113 -0
- package/dist/provider-Di3sRutW.js +57 -0
- package/dist/query/index.d.ts +4 -2
- package/dist/query/index.js +4 -3
- package/dist/{query-CCbo44lG.js → query-BQ-NaZon.js} +141 -24
- package/dist/{queue-BYUCjr59.d.ts → queue-CLJurhdy.d.ts} +258 -83
- package/dist/react/index.d.ts +11 -7
- package/dist/react/index.js +7 -3
- package/dist/react/native/index.d.ts +116 -0
- package/dist/react/native/index.js +130 -0
- package/dist/react/server.d.ts +28 -10
- package/dist/react/server.js +22 -5
- package/dist/react/session.d.ts +2 -2
- package/dist/react-4ZqkP8da.js +79 -0
- package/dist/react-F80mF4-t.js +409 -0
- package/dist/react-router/index.d.ts +83 -0
- package/dist/react-router/index.js +89 -0
- package/dist/react-topic-seAWjL3_.js +38 -0
- package/dist/{read-set-DQFt1N_Y.js → read-set-DuKWC9Mj.js} +67 -25
- package/dist/realtime/index.d.ts +4 -5
- package/dist/realtime/index.js +144 -82
- package/dist/refusal-CeJWxmkH.js +61 -0
- package/dist/refusal-D1rgbzNq.d.ts +15 -0
- package/dist/replicas-CwrYp5Zj.js +94 -0
- package/dist/{view-Bq64ki8-.js → resolve-D_IcnvFd.js} +239 -289
- package/dist/{resolve-C15TJq77.d.ts → resolve-KW8nCeL6.d.ts} +29 -45
- package/dist/{resource-CRxxwkQq.js → resource-BsvzCMlX.js} +4 -4
- package/dist/{resource-D8iqWMr-.d.ts → resource-D6Uc7Sk7.d.ts} +5 -5
- package/dist/respond-BUgsXNgk.js +91 -0
- package/dist/respond-DoBijysA.d.ts +93 -0
- package/dist/result-D7y2fT87.d.ts +282 -0
- package/dist/{result-BKiliPY7.js → result-DzUbqgdW.js} +27 -2
- package/dist/run-state-CPo-1X2B.d.ts +12 -0
- package/dist/run-state-CgBKzYMW.js +13 -0
- package/dist/search-CUWCRYKL.js +9 -0
- package/dist/server/index.d.ts +143 -21
- package/dist/server/index.js +46 -14
- package/dist/{respond-D2OQl62-.d.ts → server-CeVeeXwz.d.ts} +225 -80
- package/dist/session-ChiXDZdZ.d.ts +72 -0
- package/dist/shared-CBxosKK3.js +75 -0
- package/dist/{shared-D1dRUrAg.js → shared-CxWmcyqB.js} +2 -1
- package/dist/shared-DDSjEGDR.d.ts +11 -0
- package/dist/sign-in-BCV5S2WZ.d.ts +49 -0
- package/dist/sign-in-Cb1mwv6X.js +86 -0
- package/dist/{signers-Cc6r98SW.d.ts → signers-4y62_VIi.d.ts} +13 -9
- package/dist/simplify-DDO0j0LI.js +83 -0
- package/dist/solid/index.d.ts +131 -0
- package/dist/solid/index.js +344 -0
- package/dist/solid-start/index.d.ts +75 -0
- package/dist/solid-start/index.js +58 -0
- package/dist/{spec-pins-C3oc-Tdp.js → spec-pins--j6mTok4.js} +8 -1
- package/dist/{spec-pins-CqorWDnO.d.ts → spec-pins-C89s6DyW.d.ts} +7 -0
- package/dist/sql/index.d.ts +330 -194
- package/dist/sql/index.js +34901 -6489
- package/dist/ssr/index.d.ts +6 -5
- package/dist/ssr/index.js +3 -3
- package/dist/{standard-D7r6dMUu.js → standard-BK0cqJ7y.js} +4 -3
- package/dist/{standard-J4YgMOLm.d.ts → standard-CYsm7xpT.d.ts} +1 -1
- package/dist/stats-D_AD9GGu.js +1123 -0
- package/dist/storage/index.d.ts +5 -5
- package/dist/storage/index.js +1027 -368
- package/dist/store-BdH5ruDx.js +66 -0
- package/dist/store-CGjgWu5n.d.ts +68 -0
- package/dist/streams/index.d.ts +76 -0
- package/dist/streams/index.js +77 -0
- package/dist/streams/redis/index.d.ts +52 -0
- package/dist/streams/redis/index.js +185 -0
- package/dist/stripe-BMj5LtsT.js +38 -0
- package/dist/stripe-D04h-QBT.d.ts +136 -0
- package/dist/{support-Dk6vdmEw.js → support-BivNqSpK.js} +35 -12
- package/dist/{support-view-Da5peKFg.d.ts → support-view-33Oi07TT.d.ts} +1 -1
- package/dist/svelte/index.d.ts +114 -0
- package/dist/svelte/index.js +344 -0
- package/dist/sveltekit/index.d.ts +116 -0
- package/dist/sveltekit/index.js +106 -0
- package/dist/tags-B99_U9Pp.js +39 -0
- package/dist/tags-Cx-LnIQP.d.ts +30 -0
- package/dist/tanstack-db/index.d.ts +71 -0
- package/dist/tanstack-db/index.js +72 -0
- package/dist/tanstack-start/index.d.ts +75 -0
- package/dist/tanstack-start/index.js +95 -0
- package/dist/tee-CoEppCER.js +101 -0
- package/dist/{template-TxrGI5jR.js → template--jDkl3UP.js} +34 -13
- package/dist/template-CwO38Do8.d.ts +6 -0
- package/dist/temporal-BJGitm-h.js +79 -0
- package/dist/{temporal-required-CAt4Dc9Z.js → temporal-required-BVvW7SYJ.js} +3 -2
- package/dist/tenant-I1TEZ_BX.js +27 -0
- package/dist/tenant-icPeuUBN.d.ts +17 -0
- package/dist/testing/index.d.ts +343 -37
- package/dist/testing/index.js +1186 -79
- package/dist/timing-CyTQPubY.js +92 -0
- package/dist/ttl-Hr34gRu8.js +12 -0
- package/dist/{types-Dnf_wRDz.d.ts → types-6BdhkmZe.d.ts} +111 -45
- package/dist/types-BI-0Sl2v.d.ts +359 -0
- package/dist/types-C05bxW-W.d.ts +220 -0
- package/dist/types-DGs5L0VN.d.ts +192 -0
- package/dist/types-TaiEeBGA.d.ts +156 -0
- package/dist/usage-CrvrL2vw.d.ts +177 -0
- package/dist/user-change-XzvgafU4.js +130 -0
- package/dist/vault-CSO7ss5C.d.ts +50 -0
- package/dist/vercel-connect/index.d.ts +47 -0
- package/dist/vercel-connect/index.js +119 -0
- package/dist/{verify-Ce49ETPz.js → verify-DL41hbvY.js} +85 -13
- package/dist/verify-DPuWngD4.d.ts +172 -0
- package/dist/{version-DM_Roffb.js → version-Bvv6aLjZ.js} +1 -1
- package/dist/view-BeFcRV6G.js +99 -0
- package/dist/{view-BEf0diC5.d.ts → view-DbxLNu8L.d.ts} +35 -32
- package/dist/vue/index.d.ts +141 -0
- package/dist/vue/index.js +362 -0
- package/dist/watch-DI34G86j.d.ts +60 -0
- package/dist/watch-Xuxrvxq-.js +122 -0
- package/dist/{wire-D2dT86vi.js → wire-DtZQ4sdE.js} +15 -5
- package/dist/workflow-builder-DJ1oHn8g.js +398 -0
- package/dist/workflow-sdk/builder/index.d.ts +85 -0
- package/dist/workflow-sdk/builder/index.js +250 -0
- package/dist/workflow-sdk/index.d.ts +14 -0
- package/dist/workflow-sdk/index.js +3 -0
- package/dist/workflow-sdk/world/index.d.ts +107 -0
- package/dist/workflow-sdk/world/index.js +702 -0
- package/dist/workflow-sdk-B3yLD6Br.d.ts +98 -0
- package/dist/workflow-sdk-C2WJ_G2O.js +173 -0
- package/dist/workflow-sdk-world-D-prir6O.js +1397 -0
- package/dist/workflows-B0j9WKPu.d.ts +185 -0
- package/dist/workflows-wu1WWBn7.js +216 -0
- package/package.json +470 -29
- package/schemas/ai-message-v1.json +258 -0
- package/schemas/config-v1.json +1074 -140
- package/schemas/doctor-report-v1.json +21 -1
- package/schemas/snapshot-v2.json +8 -0
- package/skills/better-supabase/SKILL.md +41 -12
- package/skills/better-supabase/references/frontend.md +96 -0
- package/skills/better-supabase/references/plugins.md +10 -6
- package/skills/better-supabase/references/troubleshooting.md +2 -1
- package/skills/better-supabase-api/SKILL.md +76 -22
- package/skills/better-supabase-api/references/adapters.md +207 -0
- package/skills/better-supabase-api/references/ai.md +125 -0
- package/skills/better-supabase-api/references/expo.md +65 -0
- package/skills/better-supabase-api/references/powersync.md +35 -0
- package/skills/better-supabase-api/references/streams-credentials.md +105 -0
- package/skills/better-supabase-auth/SKILL.md +62 -18
- package/skills/better-supabase-auth/references/authorization-providers.md +51 -0
- package/skills/better-supabase-testing/SKILL.md +3 -1
- package/dist/cli/config-dtoekM0v.js +0 -2
- package/dist/cli/gen-BJc9vdyu.js +0 -2
- package/dist/cli/gen-C2osRcr5.js +0 -2204
- package/dist/cli/read-sets-BfMQcKy8.js +0 -289
- package/dist/cli/sql-DzPbfngx.js +0 -348
- package/dist/entitlements-CTEBm7IB.js +0 -20
- package/dist/events-aIO7vsIk.d.ts +0 -230
- package/dist/executor-BunPOO-k.d.ts +0 -402
- package/dist/executor-XycESQPH.js +0 -94
- package/dist/impersonation-VfaGc4Q_.js +0 -41
- package/dist/index-BGdgBPdf.d.ts +0 -161
- package/dist/index-DOESKG27.d.ts +0 -100
- package/dist/index-DmXSxbLi.d.ts +0 -62
- package/dist/index-Dxn2a5cw.d.ts +0 -50
- package/dist/jobs/index.d.ts +0 -226
- package/dist/jobs/index.js +0 -1007
- package/dist/json-schema-m1fiwKgN.js +0 -208
- package/dist/kit-events-CTFDfSwb.js +0 -60
- package/dist/kit-transport-B82k1djG.d.ts +0 -33
- package/dist/kits-CGLLrNPd.js +0 -157
- package/dist/notifications/index.d.ts +0 -162
- package/dist/notifications/index.js +0 -264
- package/dist/orgs/index.d.ts +0 -132
- package/dist/orgs/index.js +0 -245
- package/dist/permdock-sql-C2Inc6Xc.d.ts +0 -29
- package/dist/permdock-sql-DgOfeixi.js +0 -51
- package/dist/plugin-DwARMuQp.js +0 -59
- package/dist/server-Csx2sRjg.js +0 -655
- package/dist/stats-Bqob3WqT.js +0 -592
- package/dist/support-DT-OhSxD.d.ts +0 -88
- package/dist/template-mbvlysOo.d.ts +0 -6
- package/dist/temporal-CVlIV2DZ.js +0 -40
- package/dist/user-change-CHFEUro1.js +0 -49
- package/dist/webhooks/index.d.ts +0 -285
- package/skills/better-supabase-auth/references/permdock.md +0 -100
|
@@ -1,53 +1,76 @@
|
|
|
1
1
|
/// <reference lib="esnext.temporal" />
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { n as PermdockCatalog } from "./permdock-sql-C2Inc6Xc.js";
|
|
2
|
+
import { b as DbError, f as Result, t as AsyncResult } from "./result-D7y2fT87.js";
|
|
3
|
+
import { G as ObjectVersion, K as VersioningStatus, U as BucketLifecycle, s as BucketPolicyName, t as AccessBucketPolicy } from "./types-6BdhkmZe.js";
|
|
4
|
+
import { m as RequestContext } from "./plugin-FGY8UhYm.js";
|
|
6
5
|
import { n as StoragePath, t as PathIn } from "./path-Cv__-OTj.js";
|
|
7
|
-
import { n as TemplateValues, t as TemplateParams } from "./template-
|
|
6
|
+
import { n as TemplateValues, t as TemplateParams } from "./template-CwO38Do8.js";
|
|
8
7
|
import { SupabaseClient } from "@supabase/supabase-js";
|
|
8
|
+
//#region src/storage/ttl.d.ts
|
|
9
|
+
declare const TTL: {
|
|
10
|
+
readonly minute: 60;
|
|
11
|
+
readonly hour: 3600;
|
|
12
|
+
readonly day: 86_400;
|
|
13
|
+
readonly week: 604_800;
|
|
14
|
+
};
|
|
15
|
+
type TtlPreset = keyof typeof TTL;
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region src/storage/apply.d.ts
|
|
18
|
+
interface AppliedBucket {
|
|
19
|
+
/** The bucket did not exist and was created. */
|
|
20
|
+
readonly created: boolean;
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
9
23
|
//#region src/storage/bucket.d.ts
|
|
10
|
-
type BucketPolicy = BucketPolicyName |
|
|
24
|
+
type BucketPolicy = BucketPolicyName | AccessBucketPolicy;
|
|
11
25
|
interface BucketConfig<P extends string = string, Id extends string = string> {
|
|
12
26
|
/** Bucket id, e.g. `customer-logos`. */
|
|
13
27
|
readonly id: Id;
|
|
14
|
-
/**
|
|
15
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Object path template, e.g. `{organizationId}/{customerId}/logo/{version}.webp`,
|
|
30
|
+
* or several for a bucket that stores objects in more than one layout. A
|
|
31
|
+
* path from values uses the template whose placeholders are exactly the
|
|
32
|
+
* values given, and a stored path string is accepted when any template
|
|
33
|
+
* matches it, so list the current layout first and keep older ones after
|
|
34
|
+
* it. A last segment `{...rest}` matches one or more segments.
|
|
35
|
+
*/
|
|
36
|
+
readonly path: P | readonly [P, ...P[]];
|
|
16
37
|
readonly public?: boolean;
|
|
17
38
|
/**
|
|
18
39
|
* Generated `storage.objects` policies. `tenant` and `owner` match a path
|
|
19
40
|
* segment against the JWT; `public` allows reads (on a `public: true`
|
|
20
41
|
* bucket the public URLs need no policy, so none is written and nobody can
|
|
21
42
|
* list the objects); `none` leaves access to
|
|
22
|
-
* the secret key; `{
|
|
23
|
-
* `
|
|
24
|
-
*
|
|
43
|
+
* the secret key; `{ access }` calls the SQL modules' access contract
|
|
44
|
+
* (`tenant_ids_with`), or the `sql` templates it is given. Defaults to
|
|
45
|
+
* `none`.
|
|
25
46
|
*
|
|
26
|
-
* The
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* keys here; `better-supabase doctor` (BS214) refuses them from the
|
|
31
|
-
* catalog file.
|
|
47
|
+
* The access checks decide by role and scope only: for a permission with
|
|
48
|
+
* row conditions (e.g. `ownerId = principal.id`) the bucket would grant
|
|
49
|
+
* every object in the scope. `better-supabase doctor` (BS214) refuses
|
|
50
|
+
* keys the authorization provider doesn't mark `sqlComplete: true`.
|
|
32
51
|
*/
|
|
33
52
|
readonly policy?: BucketPolicy;
|
|
34
|
-
/**
|
|
35
|
-
* PermDock's `permissions.catalog.json`. With it, a `permdock` policy
|
|
36
|
-
* naming a permission without `rowConditions: false` (including one the
|
|
37
|
-
* catalog doesn't list) throws.
|
|
38
|
-
*/
|
|
39
|
-
readonly catalog?: PermdockCatalog;
|
|
40
53
|
/** `'5MiB'`, `'500KB'` or bytes. */
|
|
41
54
|
readonly fileSizeLimit?: string | number;
|
|
42
55
|
/** `['image/png', 'image/*']`. */
|
|
43
56
|
readonly allowedMimeTypes?: readonly string[];
|
|
57
|
+
/**
|
|
58
|
+
* Keep earlier versions of an object when it is overwritten or removed.
|
|
59
|
+
* Set by `apply()` through the Storage API; `sql()` can't write it.
|
|
60
|
+
*/
|
|
61
|
+
readonly versioning?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* When noncurrent versions expire. Needs `versioning: true`; set by
|
|
64
|
+
* `apply()`, which removes a stored policy when this is unset.
|
|
65
|
+
*/
|
|
66
|
+
readonly lifecycle?: BucketLifecycle;
|
|
44
67
|
/**
|
|
45
68
|
* The tenant segment. Set it and connected clients only touch paths whose
|
|
46
69
|
* `param` holds the caller's tenant: pass `{ context }` or `{ tenant }` to
|
|
47
70
|
* `connect()`, or `{ allTenants: true }` for cross-tenant admin work.
|
|
48
71
|
*/
|
|
49
72
|
readonly tenant?: {
|
|
50
|
-
/** Placeholder holding the tenant id. Defaults to `
|
|
73
|
+
/** Placeholder holding the tenant id. Defaults to `organizationId`. */
|
|
51
74
|
readonly param?: string;
|
|
52
75
|
/** JWT claim paths, first match wins. Defaults to `tenant_id`, then `app_metadata.tenant_id`. */
|
|
53
76
|
readonly claim?: string | readonly string[];
|
|
@@ -59,18 +82,14 @@ interface BucketConfig<P extends string = string, Id extends string = string> {
|
|
|
59
82
|
readonly param?: string;
|
|
60
83
|
};
|
|
61
84
|
}
|
|
85
|
+
/** The values of one of the bucket's path templates. */
|
|
86
|
+
type PathValues<P extends string> = P extends string ? TemplateValues<P> : never;
|
|
62
87
|
/**
|
|
63
|
-
* A path from the
|
|
64
|
-
* against the
|
|
88
|
+
* A path from the values of one of the bucket's templates, or an existing
|
|
89
|
+
* path string (checked against the templates). `StoragePath`s of other
|
|
90
|
+
* buckets are rejected.
|
|
65
91
|
*/
|
|
66
|
-
type ObjectTarget<P extends string, Id extends string = string> =
|
|
67
|
-
declare const TTL: {
|
|
68
|
-
readonly minute: 60;
|
|
69
|
-
readonly hour: 3600;
|
|
70
|
-
readonly day: 86_400;
|
|
71
|
-
readonly week: 604_800;
|
|
72
|
-
};
|
|
73
|
-
type TtlPreset = keyof typeof TTL;
|
|
92
|
+
type ObjectTarget<P extends string, Id extends string = string> = PathValues<P> | PathIn<Id>;
|
|
74
93
|
interface TransformOptions {
|
|
75
94
|
readonly width?: number;
|
|
76
95
|
readonly height?: number;
|
|
@@ -85,6 +104,13 @@ interface UploadOptions {
|
|
|
85
104
|
readonly upsert?: boolean;
|
|
86
105
|
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
87
106
|
readonly signal?: AbortSignal;
|
|
107
|
+
/**
|
|
108
|
+
* Upload progress from 0 to 1. Where `XMLHttpRequest` exists (browsers,
|
|
109
|
+
* React Native) the body goes to a signed upload URL so progress events
|
|
110
|
+
* arrive and `signal` cancels the request; elsewhere it reports 1 when
|
|
111
|
+
* done. Uploads with `metadata` or a stream body report 1 when done.
|
|
112
|
+
*/
|
|
113
|
+
readonly onProgress?: (fraction: number) => void;
|
|
88
114
|
}
|
|
89
115
|
interface UrlOptions {
|
|
90
116
|
/** Seconds or a preset. Defaults to `hour`. */
|
|
@@ -92,6 +118,24 @@ interface UrlOptions {
|
|
|
92
118
|
readonly transform?: TransformOptions;
|
|
93
119
|
/** Serve as an attachment, optionally with a file name. */
|
|
94
120
|
readonly download?: boolean | string;
|
|
121
|
+
/** Added to the URL so the CDN and browsers fetch it again, e.g. the object's `updatedAt`. */
|
|
122
|
+
readonly cacheNonce?: string;
|
|
123
|
+
/** A URL for this version of the object instead of the current one (a versioned bucket). */
|
|
124
|
+
readonly versionId?: string;
|
|
125
|
+
}
|
|
126
|
+
interface DownloadOptions {
|
|
127
|
+
/** Read this version of the object instead of the current one. */
|
|
128
|
+
readonly versionId?: string;
|
|
129
|
+
readonly signal?: AbortSignal;
|
|
130
|
+
}
|
|
131
|
+
interface TransferOptions {
|
|
132
|
+
/** Copy or move this version of the source instead of the current one. */
|
|
133
|
+
readonly versionId?: string;
|
|
134
|
+
}
|
|
135
|
+
interface PurgeCacheOptions {
|
|
136
|
+
/** Purge only the transformed variants and keep the cached original. */
|
|
137
|
+
readonly transformations?: boolean;
|
|
138
|
+
readonly signal?: AbortSignal;
|
|
95
139
|
}
|
|
96
140
|
interface StoredObject {
|
|
97
141
|
readonly path: string;
|
|
@@ -106,7 +150,10 @@ interface Reservation {
|
|
|
106
150
|
readonly signedUrl: string;
|
|
107
151
|
}
|
|
108
152
|
interface ReplaceOptions<Id extends string = string> extends UploadOptions {
|
|
109
|
-
/**
|
|
153
|
+
/**
|
|
154
|
+
* Path the object replaces, checked like any other target before the
|
|
155
|
+
* upload. Removed after `commit` succeeds.
|
|
156
|
+
*/
|
|
110
157
|
readonly previous?: string | null;
|
|
111
158
|
/**
|
|
112
159
|
* Store the new path, e.g. update the row. Throwing or returning an error
|
|
@@ -141,7 +188,7 @@ interface SweepResult {
|
|
|
141
188
|
readonly removed: readonly string[];
|
|
142
189
|
}
|
|
143
190
|
interface BucketDrift {
|
|
144
|
-
readonly field: "missing" | "public" | "fileSizeLimit" | "allowedMimeTypes";
|
|
191
|
+
readonly field: "missing" | "public" | "fileSizeLimit" | "allowedMimeTypes" | "versioning" | "lifecycle";
|
|
145
192
|
readonly expected: unknown;
|
|
146
193
|
readonly actual: unknown;
|
|
147
194
|
readonly message: string;
|
|
@@ -151,6 +198,10 @@ interface ActualBucket {
|
|
|
151
198
|
readonly public: boolean;
|
|
152
199
|
readonly fileSizeLimit?: number | null;
|
|
153
200
|
readonly allowedMimeTypes?: readonly string[] | null;
|
|
201
|
+
/** `storage.buckets.versioning_status`; leave it out when Storage has no versioning, and it isn't compared. */
|
|
202
|
+
readonly versioning?: VersioningStatus | null;
|
|
203
|
+
/** `storage.buckets.lifecycle_configuration`; leave it out to skip the comparison. */
|
|
204
|
+
readonly lifecycle?: unknown;
|
|
154
205
|
}
|
|
155
206
|
type StorageClient = Pick<SupabaseClient, "storage">;
|
|
156
207
|
interface BucketClient<P extends string, Id extends string = string> {
|
|
@@ -160,18 +211,38 @@ interface BucketClient<P extends string, Id extends string = string> {
|
|
|
160
211
|
upload(target: ObjectTarget<P, Id>, body: UploadBody, options?: UploadOptions): AsyncResult<{
|
|
161
212
|
path: StoragePath<Id>;
|
|
162
213
|
}>;
|
|
163
|
-
download(target: ObjectTarget<P, Id>, options?:
|
|
164
|
-
signal?: AbortSignal;
|
|
165
|
-
}): AsyncResult<Blob>;
|
|
214
|
+
download(target: ObjectTarget<P, Id>, options?: DownloadOptions): AsyncResult<Blob>;
|
|
166
215
|
exists(target: ObjectTarget<P, Id>): AsyncResult<boolean>;
|
|
167
216
|
remove(targets: readonly ObjectTarget<P, Id>[]): AsyncResult<readonly string[]>;
|
|
217
|
+
/** Copies an object to another path in the bucket; an existing object there is a `conflict`. */
|
|
218
|
+
copy(from: ObjectTarget<P, Id>, to: ObjectTarget<P, Id>, options?: TransferOptions): AsyncResult<{
|
|
219
|
+
path: StoragePath<Id>;
|
|
220
|
+
}>;
|
|
221
|
+
/** Moves an object to another path in the bucket, as one Storage request. */
|
|
222
|
+
move(from: ObjectTarget<P, Id>, to: ObjectTarget<P, Id>, options?: TransferOptions): AsyncResult<{
|
|
223
|
+
path: StoragePath<Id>;
|
|
224
|
+
}>;
|
|
225
|
+
/** Every version of the object, newest first, including delete markers. */
|
|
226
|
+
versions(target: ObjectTarget<P, Id>, options?: {
|
|
227
|
+
signal?: AbortSignal;
|
|
228
|
+
}): AsyncResult<readonly ObjectVersion[]>;
|
|
229
|
+
/** Permanently removes versions of the object, current or noncurrent. */
|
|
230
|
+
removeVersions(target: ObjectTarget<P, Id>, versionIds: readonly string[]): AsyncResult<readonly string[]>;
|
|
231
|
+
/**
|
|
232
|
+
* Purges the CDN cache for the object. Needs the secret key, and on
|
|
233
|
+
* self-hosted Storage a configured CDN purge endpoint.
|
|
234
|
+
*/
|
|
235
|
+
purgeCache(target: ObjectTarget<P, Id>, options?: PurgeCacheOptions): AsyncResult<void>;
|
|
168
236
|
list(within?: Partial<TemplateValues<P>>, options?: {
|
|
169
237
|
signal?: AbortSignal;
|
|
170
238
|
}): AsyncResult<readonly StoredObject[]>;
|
|
171
239
|
signedUrl(target: ObjectTarget<P, Id>, options?: UrlOptions): AsyncResult<string>;
|
|
172
240
|
signedUrls(targets: readonly ObjectTarget<P, Id>[], options?: Omit<UrlOptions, "transform">): AsyncResult<readonly string[]>;
|
|
173
|
-
/**
|
|
174
|
-
|
|
241
|
+
/**
|
|
242
|
+
* URL for public buckets. No request is made, so it returns a `Result`
|
|
243
|
+
* like `path()`: an error for a path outside the templates or the tenant.
|
|
244
|
+
*/
|
|
245
|
+
publicUrl(target: ObjectTarget<P, Id>, options?: Omit<UrlOptions, "ttl">): Result<string>;
|
|
175
246
|
/** Image transform URL: public for public buckets, signed otherwise. */
|
|
176
247
|
renderUrl(target: ObjectTarget<P, Id>, transform: TransformOptions, options?: Omit<UrlOptions, "transform">): AsyncResult<string>;
|
|
177
248
|
/** Upload the new object, run `commit`, then remove the previous object. */
|
|
@@ -183,12 +254,15 @@ interface BucketClient<P extends string, Id extends string = string> {
|
|
|
183
254
|
uploadReserved(reservation: Pick<Reservation, "path" | "token">, body: UploadBody, options?: UploadOptions): AsyncResult<{
|
|
184
255
|
path: StoragePath<Id>;
|
|
185
256
|
}>;
|
|
186
|
-
/** Removes objects that match the
|
|
257
|
+
/** Removes objects that match a template and the `within` values, are old enough and are not referenced. */
|
|
187
258
|
sweep(options: SweepOptions<P>): AsyncResult<SweepResult>;
|
|
188
259
|
}
|
|
189
260
|
interface Bucket<P extends string, Id extends string = string> {
|
|
190
261
|
readonly id: Id;
|
|
262
|
+
/** The first path template. */
|
|
191
263
|
readonly template: P;
|
|
264
|
+
/** Every path template, in the order given. */
|
|
265
|
+
readonly templates: readonly P[];
|
|
192
266
|
readonly params: readonly TemplateParams<P>[];
|
|
193
267
|
readonly public: boolean;
|
|
194
268
|
readonly policy: BucketPolicy;
|
|
@@ -202,8 +276,16 @@ interface Bucket<P extends string, Id extends string = string> {
|
|
|
202
276
|
readonly tenant: string | undefined;
|
|
203
277
|
readonly fileSizeLimit: number | undefined;
|
|
204
278
|
readonly allowedMimeTypes: readonly string[] | undefined;
|
|
205
|
-
|
|
206
|
-
|
|
279
|
+
readonly versioning: boolean;
|
|
280
|
+
readonly lifecycle: BucketLifecycle | undefined;
|
|
281
|
+
/**
|
|
282
|
+
* Builds a path with the template whose placeholders are exactly the keys
|
|
283
|
+
* of `values`. A value Storage would refuse, or keys no template takes, is
|
|
284
|
+
* an `invalid_input` error.
|
|
285
|
+
*/
|
|
286
|
+
path(values: PathValues<P>): Result<StoragePath<Id>>;
|
|
287
|
+
/** The values of the first template that matches `path`, or `null`. */
|
|
288
|
+
match(path: string): PathValues<P> | null;
|
|
207
289
|
/** Folder prefix filled by `values`, for listing. */
|
|
208
290
|
prefix(values?: Partial<TemplateValues<P>>): string;
|
|
209
291
|
/** Checks a size and content type against the bucket limits. */
|
|
@@ -216,6 +298,12 @@ interface Bucket<P extends string, Id extends string = string> {
|
|
|
216
298
|
/** A `[storage.buckets.<id>]` section for `supabase/config.toml`. */
|
|
217
299
|
toml(): string;
|
|
218
300
|
drift(actual: ActualBucket | undefined): readonly BucketDrift[];
|
|
301
|
+
/**
|
|
302
|
+
* Creates or updates the bucket through the Storage API, including
|
|
303
|
+
* versioning and the lifecycle policy, which `sql()` can't set. Needs the
|
|
304
|
+
* secret key. Idempotent.
|
|
305
|
+
*/
|
|
306
|
+
apply(client: StorageClient): AsyncResult<AppliedBucket>;
|
|
219
307
|
connect(client: StorageClient, options?: BucketConnectOptions): BucketClient<P, Id>;
|
|
220
308
|
}
|
|
221
309
|
interface BucketConnectOptions {
|
|
@@ -239,8 +327,6 @@ interface BucketConnectOptions {
|
|
|
239
327
|
readonly allTenants?: boolean;
|
|
240
328
|
}
|
|
241
329
|
declare function parseSize(value: string | number): number;
|
|
242
|
-
/** Maps a Storage error (`StorageApiError`, fetch failures) to a `DbError`. */
|
|
243
|
-
declare function fromStorageError(raw: unknown, table?: string): DbError;
|
|
244
330
|
/**
|
|
245
331
|
* A typed Storage bucket: path builders from a template, limits, generated
|
|
246
332
|
* SQL policies and `config.toml`, and helpers for the multi-step work apps
|
|
@@ -249,7 +335,7 @@ declare function fromStorageError(raw: unknown, table?: string): DbError;
|
|
|
249
335
|
* ```ts
|
|
250
336
|
* export const logos = defineBucket({
|
|
251
337
|
* id: 'customer-logos',
|
|
252
|
-
* path: '{
|
|
338
|
+
* path: '{organizationId}/{customerId}/logo/{version}.webp',
|
|
253
339
|
* policy: 'tenant',
|
|
254
340
|
* fileSizeLimit: '5MiB',
|
|
255
341
|
* allowedMimeTypes: ['image/webp'],
|
|
@@ -258,47 +344,4 @@ declare function fromStorageError(raw: unknown, table?: string): DbError;
|
|
|
258
344
|
*/
|
|
259
345
|
declare function defineBucket<const P extends string, const Id extends string = string>(config: BucketConfig<P, Id>): Bucket<P, Id>;
|
|
260
346
|
//#endregion
|
|
261
|
-
|
|
262
|
-
/** The image types browsers display everywhere. */
|
|
263
|
-
declare const IMAGE_TYPES: readonly string[];
|
|
264
|
-
interface ImageBucketOptions<P extends string, Id extends string> {
|
|
265
|
-
readonly id?: Id;
|
|
266
|
-
/** The path template; keep the preset's placeholders the policy relies on. */
|
|
267
|
-
readonly path?: P;
|
|
268
|
-
/** Defaults to `true`: images load from their public URL without signing. */
|
|
269
|
-
readonly public?: boolean;
|
|
270
|
-
readonly fileSizeLimit?: string | number;
|
|
271
|
-
readonly allowedMimeTypes?: readonly string[];
|
|
272
|
-
/** Replaces the preset's policy. */
|
|
273
|
-
readonly policy?: BucketPolicy;
|
|
274
|
-
}
|
|
275
|
-
type AvatarBucketOptions<P extends string, Id extends string> = ImageBucketOptions<P, Id>;
|
|
276
|
-
interface OrgLogoBucketOptions<P extends string, Id extends string> extends ImageBucketOptions<P, Id> {
|
|
277
|
-
/**
|
|
278
|
-
* The permission that may upload, replace and delete a logo, checked
|
|
279
|
-
* through the access contract. Defaults to `organization.update`, the
|
|
280
|
-
* `organizations` module's update permission.
|
|
281
|
-
*/
|
|
282
|
-
readonly permission?: string;
|
|
283
|
-
/**
|
|
284
|
-
* The tenant segment connected clients are held to. `false` lets one
|
|
285
|
-
* client upload for any organization the policy allows. Defaults to
|
|
286
|
-
* `{ param: 'orgId' }`.
|
|
287
|
-
*/
|
|
288
|
-
readonly tenant?: BucketConfig["tenant"] | false;
|
|
289
|
-
}
|
|
290
|
-
declare const AVATAR_PATH = "{userId}/avatar-{version}.{ext}";
|
|
291
|
-
declare const LOGO_PATH = "{orgId}/logo-{version}.{ext}";
|
|
292
|
-
/**
|
|
293
|
-
* A bucket for profile pictures: `{userId}/avatar-{version}.{ext}`, public,
|
|
294
|
-
* 2 MiB of images, written only by their owner (the `owner` policy).
|
|
295
|
-
*/
|
|
296
|
-
declare function avatarBucket<const P extends string = typeof AVATAR_PATH, const Id extends string = "avatars">(options?: AvatarBucketOptions<P, Id>): Bucket<P, Id>;
|
|
297
|
-
/**
|
|
298
|
-
* A bucket for organization logos: `{orgId}/logo-{version}.{ext}`, public,
|
|
299
|
-
* 2 MiB of images, written by members with the update permission through
|
|
300
|
-
* the access contract (`tenant_ids_with`), so it follows the app's roles.
|
|
301
|
-
*/
|
|
302
|
-
declare function orgLogoBucket<const P extends string = typeof LOGO_PATH, const Id extends string = "organization-logos">(options?: OrgLogoBucketOptions<P, Id>): Bucket<P, Id>;
|
|
303
|
-
//#endregion
|
|
304
|
-
export { parseSize as A, TransformOptions as C, UrlOptions as D, UploadOptions as E, defineBucket as O, TTL as S, UploadBody as T, Reservation as _, avatarBucket as a, SweepOptions as b, Bucket as c, BucketConnectOptions as d, BucketDrift as f, ReplaceResult as g, ReplaceOptions as h, OrgLogoBucketOptions as i, fromStorageError as k, BucketClient as l, ObjectTarget as m, IMAGE_TYPES as n, orgLogoBucket as o, BucketPolicy as p, ImageBucketOptions as r, ActualBucket as s, AvatarBucketOptions as t, BucketConfig as u, StorageClient as v, TtlPreset as w, SweepResult as x, StoredObject as y };
|
|
347
|
+
export { UrlOptions as C, TTL as D, AppliedBucket as E, TtlPreset as O, UploadOptions as S, parseSize as T, SweepOptions as _, BucketConnectOptions as a, TransformOptions as b, DownloadOptions as c, PurgeCacheOptions as d, ReplaceOptions as f, StoredObject as g, StorageClient as h, BucketConfig as i, ObjectTarget as l, Reservation as m, Bucket as n, BucketDrift as o, ReplaceResult as p, BucketClient as r, BucketPolicy as s, ActualBucket as t, PathValues as u, SweepResult as v, defineBucket as w, UploadBody as x, TransferOptions as y };
|