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
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { defineMiddleware } from "@supabase/middleware";
|
|
2
|
+
//#region src/server/entries/timing.ts
|
|
3
|
+
/** The header `withDbStats` sets: `calls;waves;ms`, what `expectDbBudget` reads. */
|
|
4
|
+
const DB_CALLS_HEADER = "x-bs-db-calls";
|
|
5
|
+
/** `calls;waves;ms`, the value of the stats header. */
|
|
6
|
+
function formatDbStats(stats) {
|
|
7
|
+
return `${stats.calls};${stats.waves};${stats.ms}`;
|
|
8
|
+
}
|
|
9
|
+
/** Parses the stats header back into numbers, or `undefined` when it is malformed. */
|
|
10
|
+
function parseDbStats(value) {
|
|
11
|
+
if (!value) return void 0;
|
|
12
|
+
const [calls, waves, ms] = value.split(";").map(Number);
|
|
13
|
+
if (calls === void 0 || waves === void 0 || ms === void 0 || [
|
|
14
|
+
calls,
|
|
15
|
+
waves,
|
|
16
|
+
ms
|
|
17
|
+
].some(Number.isNaN)) return void 0;
|
|
18
|
+
return {
|
|
19
|
+
calls,
|
|
20
|
+
waves,
|
|
21
|
+
ms
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function withHeaders(response, edit) {
|
|
25
|
+
const headers = new Headers(response.headers);
|
|
26
|
+
edit(headers);
|
|
27
|
+
return new Response(response.body, {
|
|
28
|
+
status: response.status,
|
|
29
|
+
statusText: response.statusText,
|
|
30
|
+
headers
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
const TOKEN = /[^!#$%&'*+\-.^_`|~0-9A-Za-z]/g;
|
|
34
|
+
function metric(name, dur, description) {
|
|
35
|
+
const desc = description === void 0 ? "" : `;desc="${description.replaceAll(/["\\]/g, "")}"`;
|
|
36
|
+
return `${name.replaceAll(TOKEN, "_")};dur=${dur.toFixed(1)}${desc}`;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Entry contributing `ctx.timing`, and adding `Server-Timing` to the
|
|
40
|
+
* response: `bs;dur=<ms>` for everything after it, plus the metrics handlers
|
|
41
|
+
* add with `ctx.timing.add()` or `measure()`. Put it first, so it times the
|
|
42
|
+
* whole request. Browsers show it in the network panel.
|
|
43
|
+
*/
|
|
44
|
+
function withServerTiming(now = () => performance.now()) {
|
|
45
|
+
return defineMiddleware({
|
|
46
|
+
key: "timing",
|
|
47
|
+
run: () => async function* () {
|
|
48
|
+
const started = now();
|
|
49
|
+
const metrics = [];
|
|
50
|
+
const response = yield { timing: {
|
|
51
|
+
add: (name, dur, description) => {
|
|
52
|
+
metrics.push(metric(name, dur, description));
|
|
53
|
+
},
|
|
54
|
+
async measure(name, fn) {
|
|
55
|
+
const start = now();
|
|
56
|
+
try {
|
|
57
|
+
return await fn();
|
|
58
|
+
} finally {
|
|
59
|
+
metrics.push(metric(name, now() - start));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
} };
|
|
63
|
+
const total = metric("bs", now() - started);
|
|
64
|
+
return withHeaders(response, (headers) => {
|
|
65
|
+
headers.append("server-timing", [total, ...metrics].join(", "));
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
})();
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Entry adding the request's database totals to the response, after the
|
|
72
|
+
* handler ran: `x-bs-db-calls: calls;waves;ms`, which `expectDbBudget(response)`
|
|
73
|
+
* reads, and a `bs-db` `Server-Timing` metric. Put it
|
|
74
|
+
* after `withBetterSupabase`, which contributes `ctx.bs`.
|
|
75
|
+
*/
|
|
76
|
+
function withDbStats(options = {}) {
|
|
77
|
+
const header = options.header ?? "x-bs-db-calls";
|
|
78
|
+
return defineMiddleware({
|
|
79
|
+
key: "dbStats",
|
|
80
|
+
run: () => async function* (_request, ctx) {
|
|
81
|
+
const dbStats = () => ctx.bs.stats();
|
|
82
|
+
const response = yield { dbStats };
|
|
83
|
+
const stats = dbStats();
|
|
84
|
+
return withHeaders(response, (headers) => {
|
|
85
|
+
headers.set(header, formatDbStats(stats));
|
|
86
|
+
headers.append("server-timing", metric("bs-db", stats.ms, `${stats.calls} calls, ${stats.waves} waves`));
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
})();
|
|
90
|
+
}
|
|
91
|
+
//#endregion
|
|
92
|
+
export { withServerTiming as i, parseDbStats as n, withDbStats as r, DB_CALLS_HEADER as t };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/storage/ttl.ts
|
|
2
|
+
const TTL = {
|
|
3
|
+
minute: 60,
|
|
4
|
+
hour: 3600,
|
|
5
|
+
day: 86400,
|
|
6
|
+
week: 604800
|
|
7
|
+
};
|
|
8
|
+
function ttlSeconds(ttl) {
|
|
9
|
+
return typeof ttl === "number" ? ttl : TTL[ttl ?? "hour"];
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { ttlSeconds as n, TTL as t };
|
|
@@ -1,4 +1,38 @@
|
|
|
1
1
|
/// <reference lib="esnext.temporal" />
|
|
2
|
+
//#region src/storage/versioning.d.ts
|
|
3
|
+
/** A bucket's object versioning state in Storage. */
|
|
4
|
+
type VersioningStatus = "DISABLED" | "ENABLED" | "SUSPENDED";
|
|
5
|
+
/** One rule of a bucket lifecycle policy. Storage only expires noncurrent versions today. */
|
|
6
|
+
interface BucketLifecycleRule {
|
|
7
|
+
/** Storage generates one when you omit it. */
|
|
8
|
+
readonly id?: string;
|
|
9
|
+
/** Defaults to `Enabled`. `Disabled` keeps the rule stored but inactive. */
|
|
10
|
+
readonly status?: "Enabled" | "Disabled";
|
|
11
|
+
readonly noncurrentVersionExpiration: {
|
|
12
|
+
/** How old a noncurrent version must be before it expires, in days (at least 1). */
|
|
13
|
+
readonly noncurrentDays: number;
|
|
14
|
+
/** Keep this many of the newest noncurrent versions regardless of age (1 to 100). */
|
|
15
|
+
readonly newerNoncurrentVersions?: number;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/** A bucket lifecycle policy: 1 to 1000 rules, applied by `bucket.apply()`. */
|
|
19
|
+
interface BucketLifecycle {
|
|
20
|
+
readonly rules: readonly [BucketLifecycleRule, ...BucketLifecycleRule[]];
|
|
21
|
+
}
|
|
22
|
+
/** One version of an object, newest first in `versions()`. */
|
|
23
|
+
interface ObjectVersion {
|
|
24
|
+
readonly versionId: string;
|
|
25
|
+
/** The version the path serves now. */
|
|
26
|
+
readonly current: boolean;
|
|
27
|
+
/** A delete marker hides the object without removing its versions. */
|
|
28
|
+
readonly deleteMarker: boolean;
|
|
29
|
+
readonly size?: number;
|
|
30
|
+
readonly contentType?: string;
|
|
31
|
+
readonly createdAt: string | null;
|
|
32
|
+
/** When the version stopped being current. */
|
|
33
|
+
readonly archivedAt: string | null;
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
2
36
|
//#region src/schema/types.d.ts
|
|
3
37
|
type Casing = "snake" | "camel";
|
|
4
38
|
/** Runtime metadata for one column. Keyed by the app (cased) column name. */
|
|
@@ -8,6 +42,10 @@ interface ColumnMeta {
|
|
|
8
42
|
/** Postgres type name (`uuid`, `text`, `timestamptz`, `note_kind`). */
|
|
9
43
|
readonly type: string;
|
|
10
44
|
readonly nullable: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* An insert may leave the column out: it has a default, a `before insert`
|
|
47
|
+
* trigger can fill it, or `tables.<t>.insertOptional` lists it.
|
|
48
|
+
*/
|
|
11
49
|
readonly hasDefault: boolean;
|
|
12
50
|
readonly generated?: boolean;
|
|
13
51
|
/** Identity column; `'always'` columns can't be written. */
|
|
@@ -83,16 +121,44 @@ interface TableMeta {
|
|
|
83
121
|
readonly relations: Readonly<Record<string, RelationMeta>>;
|
|
84
122
|
readonly flags: TableFlags;
|
|
85
123
|
}
|
|
86
|
-
interface FunctionMeta {
|
|
124
|
+
interface FunctionMeta extends FunctionSignature {
|
|
87
125
|
readonly name: string;
|
|
88
126
|
readonly schema: string;
|
|
127
|
+
/**
|
|
128
|
+
* Every signature of an overloaded function, in signature order. The
|
|
129
|
+
* fields above describe the first one; `$rpc` picks the signature whose
|
|
130
|
+
* argument names match the call.
|
|
131
|
+
*/
|
|
132
|
+
readonly overloads?: readonly FunctionSignature[];
|
|
133
|
+
}
|
|
134
|
+
interface FunctionSignature {
|
|
89
135
|
readonly args: readonly {
|
|
90
136
|
readonly name: string;
|
|
91
137
|
readonly type: string;
|
|
138
|
+
/** The argument has a default; set in `overloads` only. */
|
|
139
|
+
readonly optional?: boolean;
|
|
92
140
|
}[];
|
|
93
141
|
readonly returns: string;
|
|
94
142
|
readonly returnsSet: boolean;
|
|
95
143
|
readonly volatility: "immutable" | "stable" | "volatile";
|
|
144
|
+
/**
|
|
145
|
+
* How `$rpc` decodes the returned rows, present when decoding changes
|
|
146
|
+
* them: the rows of a table (by app key), or a `returns table (...)` record.
|
|
147
|
+
*/
|
|
148
|
+
readonly result?: FunctionResult;
|
|
149
|
+
}
|
|
150
|
+
type FunctionResult = {
|
|
151
|
+
readonly table: string;
|
|
152
|
+
} | {
|
|
153
|
+
readonly columns: readonly ResultColumn[];
|
|
154
|
+
};
|
|
155
|
+
/** A column of a `returns table (...)` result. */
|
|
156
|
+
interface ResultColumn {
|
|
157
|
+
/** Database name, the key PostgREST returns. */
|
|
158
|
+
readonly db: string;
|
|
159
|
+
/** App name, when the casing changes it. */
|
|
160
|
+
readonly name?: string;
|
|
161
|
+
readonly codec?: Codec;
|
|
96
162
|
}
|
|
97
163
|
interface SchemaMeta {
|
|
98
164
|
readonly version: 1;
|
|
@@ -107,7 +173,7 @@ interface SchemaMeta {
|
|
|
107
173
|
/** Claim names from `config.claims` that differ from the defaults. */
|
|
108
174
|
readonly claims?: Partial<ClaimsMeta>;
|
|
109
175
|
}
|
|
110
|
-
/** The claim names the SQL
|
|
176
|
+
/** The claim names the SQL modules, codegen and runtime defaults agree on. */
|
|
111
177
|
interface ClaimsMeta {
|
|
112
178
|
/** Top-level claim holding the active tenant id. Defaults to `tenant_id`. */
|
|
113
179
|
readonly tenant: string;
|
|
@@ -115,19 +181,35 @@ interface ClaimsMeta {
|
|
|
115
181
|
readonly scope: string;
|
|
116
182
|
/** Claim holding plan features per tenant (`{ [tenantId]: string[] }`). Defaults to `features`. */
|
|
117
183
|
readonly features: string;
|
|
184
|
+
/** Claim holding the caller's memberships (`{ scope, id, role }[]`). Defaults to `memberships`. */
|
|
185
|
+
readonly memberships: string;
|
|
118
186
|
}
|
|
119
187
|
interface RealtimeTableMeta {
|
|
120
188
|
/** App column whose value scopes the broadcast topic. */
|
|
121
189
|
readonly tenant?: string;
|
|
190
|
+
/** App column of the row's user (`realtime.users`): the topic is per user. */
|
|
191
|
+
readonly user?: string;
|
|
122
192
|
}
|
|
193
|
+
type BucketPolicyName = "tenant" | "owner" | "public" | "none";
|
|
123
194
|
/**
|
|
124
|
-
* Storage
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
|
|
195
|
+
* SQL templates a Storage or Realtime policy calls instead of the access
|
|
196
|
+
* contract, usually an authorization provider's (`authorization.functions`).
|
|
197
|
+
* `{permission}` is the key as a literal and `{scope}` the policy's scope.
|
|
198
|
+
*/
|
|
199
|
+
interface AccessPolicySql {
|
|
200
|
+
/** The ids of the `{scope}` instances where the caller holds `{permission}`, as a set. */
|
|
201
|
+
readonly idsWith: string;
|
|
202
|
+
/** Whether the caller holds `{permission}` platform-wide. */
|
|
203
|
+
readonly isPlatform: string;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* A policy through the SQL modules' [access contract](/docs/blocks/access):
|
|
207
|
+
* `tenant_ids_with(permission)` for the tenant id in the path, or
|
|
208
|
+
* `is_platform(permission)`. Works with every access model. With `sql`, it
|
|
209
|
+
* calls those templates instead, for any scope they take.
|
|
128
210
|
*/
|
|
129
|
-
interface
|
|
130
|
-
readonly
|
|
211
|
+
interface AccessBucketPolicy {
|
|
212
|
+
readonly access: {
|
|
131
213
|
/** Downloads, signed URLs, renders and metadata reads. */
|
|
132
214
|
readonly read: string;
|
|
133
215
|
/** Listing; without it `read` covers listing too. */
|
|
@@ -136,60 +218,44 @@ interface PermdockBucketPolicy {
|
|
|
136
218
|
readonly write: string;
|
|
137
219
|
readonly delete?: string;
|
|
138
220
|
};
|
|
139
|
-
/**
|
|
140
|
-
|
|
141
|
-
|
|
221
|
+
/**
|
|
222
|
+
* `tenant` (default) checks the path's tenant segment; `platform` checks
|
|
223
|
+
* platform permissions. With `sql`, any scope name its templates take.
|
|
224
|
+
*/
|
|
225
|
+
readonly scope?: string;
|
|
226
|
+
/** 1-based path segment holding the scope id. Defaults to the `{organizationId}` segment. */
|
|
142
227
|
readonly segment?: number;
|
|
143
228
|
/**
|
|
144
|
-
*
|
|
145
|
-
*
|
|
229
|
+
* The templates to call, or `"provider"` for `authorization.functions`
|
|
230
|
+
* from the config, which `gen` copies in.
|
|
146
231
|
*/
|
|
147
|
-
readonly
|
|
232
|
+
readonly sql?: AccessPolicySql | "provider";
|
|
148
233
|
}
|
|
149
|
-
/**
|
|
150
|
-
interface
|
|
234
|
+
/** An access topic policy: `select` (receive) and `insert` (send) on `realtime.messages`. */
|
|
235
|
+
interface AccessTopicPolicy {
|
|
151
236
|
readonly receive: string;
|
|
152
237
|
/** Lets clients send on the topic with this permission. */
|
|
153
238
|
readonly send?: string;
|
|
154
|
-
/**
|
|
155
|
-
readonly scope
|
|
156
|
-
/** 1-based `:`-separated topic segment holding the scope id. Defaults to the `{
|
|
157
|
-
readonly segment?: number;
|
|
158
|
-
/** Schema of PermDock's helpers (`rls.schema`). Defaults to `permdock`. */
|
|
159
|
-
readonly schema?: string;
|
|
160
|
-
}
|
|
161
|
-
type BucketPolicyName = "tenant" | "owner" | "public" | "none";
|
|
162
|
-
/**
|
|
163
|
-
* A policy through the SQL kit's [access contract](/docs/kits/access):
|
|
164
|
-
* `tenant_ids_with(permission)` for the tenant id in the path, or
|
|
165
|
-
* `is_platform(permission)`. Works with every access model.
|
|
166
|
-
*/
|
|
167
|
-
interface AccessBucketPolicy {
|
|
168
|
-
readonly access: {
|
|
169
|
-
/** Downloads, signed URLs, renders and metadata reads. */
|
|
170
|
-
readonly read: string;
|
|
171
|
-
/** Listing; without it `read` covers listing too. */
|
|
172
|
-
readonly list?: string;
|
|
173
|
-
/** Uploads, updates and moves; also deletes unless `delete` is set. */
|
|
174
|
-
readonly write: string;
|
|
175
|
-
readonly delete?: string;
|
|
176
|
-
};
|
|
177
|
-
/** `tenant` (default) checks the path's tenant segment; `platform` checks platform permissions. */
|
|
178
|
-
readonly scope?: "tenant" | "platform";
|
|
179
|
-
/** 1-based path segment holding the tenant id. Defaults to the `{orgId}` segment. */
|
|
239
|
+
/** As for {@link AccessBucketPolicy}. */
|
|
240
|
+
readonly scope?: string;
|
|
241
|
+
/** 1-based `:`-separated topic segment holding the scope id. Defaults to the `{organizationId}` segment. */
|
|
180
242
|
readonly segment?: number;
|
|
243
|
+
/** As for {@link AccessBucketPolicy}. */
|
|
244
|
+
readonly sql?: AccessPolicySql | "provider";
|
|
181
245
|
}
|
|
182
246
|
interface BucketMeta {
|
|
183
247
|
readonly id: string;
|
|
184
248
|
readonly public: boolean;
|
|
185
|
-
readonly path: string;
|
|
186
|
-
readonly policy?: BucketPolicyName |
|
|
249
|
+
readonly path: string | readonly [string, ...string[]];
|
|
250
|
+
readonly policy?: BucketPolicyName | AccessBucketPolicy;
|
|
187
251
|
/** Claim paths for the tenant policy, when `config.claims.tenant` is not the default. */
|
|
188
252
|
readonly tenant?: {
|
|
189
253
|
readonly claim: readonly string[];
|
|
190
254
|
};
|
|
191
255
|
readonly fileSizeLimit?: string;
|
|
192
256
|
readonly allowedMimeTypes?: readonly string[];
|
|
257
|
+
readonly versioning?: boolean;
|
|
258
|
+
readonly lifecycle?: BucketLifecycle;
|
|
193
259
|
}
|
|
194
260
|
interface RelationTypes {
|
|
195
261
|
readonly table: string;
|
|
@@ -271,4 +337,4 @@ type IsUnion<T, U = T> = T extends unknown ? [U] extends [T] ? false : true : ne
|
|
|
271
337
|
type PrimaryKeyValue<M extends AnyModels, T extends keyof M> = true extends IsUnion<PrimaryKeyColumn<M, T>> ? { readonly [K in PrimaryKeyColumn<M, T>]: Row<M, T>[K]; } : Row<M, T>[PrimaryKeyColumn<M, T>];
|
|
272
338
|
type Simplify<T> = { [K in keyof T]: T[K]; } & {};
|
|
273
339
|
//#endregion
|
|
274
|
-
export {
|
|
340
|
+
export { Relations as A, UniqueKeyName as B, ModelTypes as C, RealtimeTableMeta as D, PrimaryKeyValue as E, Simplify as F, ObjectVersion as G, Update as H, TableFlags as I, VersioningStatus as K, TableKey as L, Row as M, Schema as N, RelationMeta as O, SchemaMeta as P, TableMeta as R, ModelFlags as S, PrimaryKeyColumn as T, BucketLifecycle as U, UniqueWhere as V, BucketLifecycleRule as W, FunctionResult as _, AnyModels as a, FunctionsOf as b, Casing as c, Codec as d, ColumnMeta as f, FunctionMeta as g, ForeignKeyConstraint as h, AnyFunctions as i, ResultColumn as j, RelationTypes as k, CheckConstraint as l, Flags as m, AccessPolicySql as n, BucketMeta as o, DatabaseOf as p, AccessTopicPolicy as r, BucketPolicyName as s, AccessBucketPolicy as t, ClaimsMeta as u, FunctionSignature as v, ModelsOf as w, Insert as x, FunctionTypes as y, UniqueConstraint as z };
|