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,148 +1,135 @@
|
|
|
1
1
|
/// <reference lib="esnext.temporal" />
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
2
|
+
import { P as SchemaMeta, U as BucketLifecycle, c as Casing, s as BucketPolicyName, t as AccessBucketPolicy } from "./types-6BdhkmZe.js";
|
|
3
|
+
import { s as ModulesConfig } from "./modules-DpPwzC7E.js";
|
|
4
|
+
import { i as AuthorizationProvider } from "./authorization-BFCqamMs.js";
|
|
5
|
+
//#region src/config/generator-metadata.d.ts
|
|
5
6
|
/**
|
|
6
|
-
*
|
|
7
|
-
* the
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* A copy of `@supabase/postgrest-typegen`'s `GeneratorMetadata` contract
|
|
8
|
+
* (version 1), so the published types don't reference the package: it is an
|
|
9
|
+
* optional peer that only the CLI loads. `tests/config/generator-metadata.test-d.ts`
|
|
10
|
+
* checks the copy against the pinned version.
|
|
10
11
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
}
|
|
132
|
-
/** A module's config with defaults applied. */
|
|
133
|
-
interface ResolvedKitModule {
|
|
134
|
-
readonly mode: KitMode;
|
|
135
|
-
readonly schema: string;
|
|
136
|
-
readonly tables: Readonly<Record<string, string | null>>;
|
|
137
|
-
readonly columns: Readonly<Record<string, Readonly<Record<string, string | null>>>>;
|
|
138
|
-
readonly idType?: string;
|
|
139
|
-
readonly permissions: Readonly<Record<string, string>>;
|
|
140
|
-
readonly options: Readonly<Record<string, unknown>>;
|
|
141
|
-
readonly hooks: {
|
|
142
|
-
readonly schema: string;
|
|
143
|
-
readonly functions: Readonly<Record<string, string>>;
|
|
144
|
-
};
|
|
145
|
-
readonly events: boolean;
|
|
12
|
+
interface PostgresColumn {
|
|
13
|
+
table_id: number;
|
|
14
|
+
schema: string;
|
|
15
|
+
table: string;
|
|
16
|
+
id: string;
|
|
17
|
+
ordinal_position: number;
|
|
18
|
+
name: string;
|
|
19
|
+
default_value: unknown;
|
|
20
|
+
data_type: string;
|
|
21
|
+
format: string;
|
|
22
|
+
type_schema: string;
|
|
23
|
+
is_identity: boolean;
|
|
24
|
+
identity_generation: "ALWAYS" | "BY DEFAULT" | null;
|
|
25
|
+
is_generated: boolean;
|
|
26
|
+
is_nullable: boolean;
|
|
27
|
+
is_updatable: boolean;
|
|
28
|
+
is_unique: boolean;
|
|
29
|
+
enums: string[];
|
|
30
|
+
check: string | null;
|
|
31
|
+
comment: string | null;
|
|
32
|
+
}
|
|
33
|
+
interface PostgresFunctionArg {
|
|
34
|
+
mode: "in" | "inout" | "out" | "table" | "variadic";
|
|
35
|
+
name: string;
|
|
36
|
+
type_id: number;
|
|
37
|
+
has_default: boolean | null;
|
|
38
|
+
}
|
|
39
|
+
interface PostgresFunction {
|
|
40
|
+
id: number;
|
|
41
|
+
schema: string;
|
|
42
|
+
name: string;
|
|
43
|
+
language: string;
|
|
44
|
+
definition: string;
|
|
45
|
+
complete_statement: string;
|
|
46
|
+
args: PostgresFunctionArg[];
|
|
47
|
+
argument_types: string;
|
|
48
|
+
identity_argument_types: string;
|
|
49
|
+
return_type_id: number;
|
|
50
|
+
return_type: string;
|
|
51
|
+
return_type_relation_id: number | null;
|
|
52
|
+
is_set_returning_function: boolean;
|
|
53
|
+
prorows: number | null;
|
|
54
|
+
behavior: "IMMUTABLE" | "STABLE" | "VOLATILE";
|
|
55
|
+
security_definer: boolean;
|
|
56
|
+
config_params: {
|
|
57
|
+
[x: string]: string;
|
|
58
|
+
} | null;
|
|
59
|
+
}
|
|
60
|
+
interface GeneratorMetadata {
|
|
61
|
+
version: 1;
|
|
62
|
+
schemas: {
|
|
63
|
+
id: number;
|
|
64
|
+
name: string;
|
|
65
|
+
owner: string;
|
|
66
|
+
}[];
|
|
67
|
+
tables: {
|
|
68
|
+
bytes: number;
|
|
69
|
+
comment: string | null;
|
|
70
|
+
dead_rows_estimate: number;
|
|
71
|
+
id: number;
|
|
72
|
+
live_rows_estimate: number;
|
|
73
|
+
name: string;
|
|
74
|
+
replica_identity: "DEFAULT" | "FULL" | "INDEX" | "NOTHING";
|
|
75
|
+
rls_enabled: boolean;
|
|
76
|
+
rls_forced: boolean;
|
|
77
|
+
schema: string;
|
|
78
|
+
size: string;
|
|
79
|
+
}[];
|
|
80
|
+
foreignTables: {
|
|
81
|
+
comment: string | null;
|
|
82
|
+
id: number;
|
|
83
|
+
name: string;
|
|
84
|
+
schema: string;
|
|
85
|
+
}[];
|
|
86
|
+
views: {
|
|
87
|
+
comment: string | null;
|
|
88
|
+
id: number;
|
|
89
|
+
is_insert_enabled?: boolean | undefined;
|
|
90
|
+
is_updatable: boolean;
|
|
91
|
+
is_update_enabled?: boolean | undefined;
|
|
92
|
+
name: string;
|
|
93
|
+
schema: string;
|
|
94
|
+
}[];
|
|
95
|
+
materializedViews: {
|
|
96
|
+
comment: string | null;
|
|
97
|
+
id: number;
|
|
98
|
+
is_populated: boolean;
|
|
99
|
+
name: string;
|
|
100
|
+
schema: string;
|
|
101
|
+
}[];
|
|
102
|
+
columns: PostgresColumn[];
|
|
103
|
+
primaryKeys: {
|
|
104
|
+
schema: string;
|
|
105
|
+
table_name: string;
|
|
106
|
+
name: string;
|
|
107
|
+
table_id: number;
|
|
108
|
+
}[];
|
|
109
|
+
relationships: {
|
|
110
|
+
foreign_key_name: string;
|
|
111
|
+
schema: string;
|
|
112
|
+
relation: string;
|
|
113
|
+
columns: string[];
|
|
114
|
+
is_one_to_one: boolean;
|
|
115
|
+
referenced_schema: string;
|
|
116
|
+
referenced_relation: string;
|
|
117
|
+
referenced_columns: string[];
|
|
118
|
+
}[];
|
|
119
|
+
functions: PostgresFunction[];
|
|
120
|
+
types: {
|
|
121
|
+
id: number;
|
|
122
|
+
name: string;
|
|
123
|
+
schema: string;
|
|
124
|
+
format: string;
|
|
125
|
+
enums: string[];
|
|
126
|
+
attributes: {
|
|
127
|
+
name: string;
|
|
128
|
+
type_id: number;
|
|
129
|
+
}[];
|
|
130
|
+
comment: string | null;
|
|
131
|
+
type_relation_id: number | null;
|
|
132
|
+
}[];
|
|
146
133
|
}
|
|
147
134
|
//#endregion
|
|
148
135
|
//#region src/config/snapshot.d.ts
|
|
@@ -182,6 +169,13 @@ interface SnapshotExtras {
|
|
|
182
169
|
* in any schema. Absent in older snapshots and without a `config.toml`.
|
|
183
170
|
*/
|
|
184
171
|
readonly hooks?: readonly ExtrasHook[];
|
|
172
|
+
/**
|
|
173
|
+
* Set when the snapshot comes from a `GeneratorMetadata` document alone
|
|
174
|
+
* (`gen --metadata`): unique keys, checks and foreign keys are inferred from
|
|
175
|
+
* the columns and relationships, and the rest is empty, so doctor skips
|
|
176
|
+
* the rules that read it.
|
|
177
|
+
*/
|
|
178
|
+
readonly fromMetadata?: true;
|
|
185
179
|
}
|
|
186
180
|
/** An `[auth.hook.<name>]` with a `pg-functions://` URI. */
|
|
187
181
|
interface ExtrasHook {
|
|
@@ -209,7 +203,7 @@ interface ExtrasHookFunction extends ExtrasFunction {
|
|
|
209
203
|
interface ExtrasFunction {
|
|
210
204
|
readonly schema: string;
|
|
211
205
|
readonly name: string;
|
|
212
|
-
/** Identity arguments, e.g. `
|
|
206
|
+
/** Identity arguments, e.g. `organization uuid`. */
|
|
213
207
|
readonly signature: string;
|
|
214
208
|
/** `sql`, `plpgsql`, `c`, ... */
|
|
215
209
|
readonly language: string;
|
|
@@ -298,6 +292,10 @@ interface SnapshotBucket {
|
|
|
298
292
|
readonly public: boolean;
|
|
299
293
|
readonly fileSizeLimit: number | null;
|
|
300
294
|
readonly allowedMimeTypes: readonly string[] | null;
|
|
295
|
+
/** `versioning_status`; absent when Storage has no versioning. */
|
|
296
|
+
readonly versioning?: "DISABLED" | "ENABLED" | "SUSPENDED" | null;
|
|
297
|
+
/** `lifecycle_configuration`; absent when Storage has no lifecycles. */
|
|
298
|
+
readonly lifecycle?: unknown;
|
|
301
299
|
}
|
|
302
300
|
/**
|
|
303
301
|
* The snapshot joined into one record per table, function and enum. Codegen
|
|
@@ -379,9 +377,13 @@ interface CatalogFunction {
|
|
|
379
377
|
readonly returnsTable: readonly {
|
|
380
378
|
readonly name: string;
|
|
381
379
|
readonly udt: string;
|
|
380
|
+
/** Schema of the column's type, when typegen knows it. */
|
|
381
|
+
readonly typeSchema?: string;
|
|
382
382
|
}[] | null;
|
|
383
383
|
/** Return type name (`int4`, `_text`, a table's row type). */
|
|
384
384
|
readonly returns: string;
|
|
385
|
+
/** Schema of the return type, when typegen knows it. */
|
|
386
|
+
readonly returnsSchema?: string;
|
|
385
387
|
/** `schema.table` when the function returns rows of a table or view. */
|
|
386
388
|
readonly returnsRelation: string | null;
|
|
387
389
|
readonly returnsSet: boolean;
|
|
@@ -394,6 +396,8 @@ interface CatalogFunction {
|
|
|
394
396
|
interface CatalogFunctionArg {
|
|
395
397
|
readonly name: string;
|
|
396
398
|
readonly udt: string;
|
|
399
|
+
/** Schema of the argument's type, when typegen knows it. */
|
|
400
|
+
readonly typeSchema?: string;
|
|
397
401
|
readonly isArray: boolean;
|
|
398
402
|
readonly hasDefault: boolean;
|
|
399
403
|
}
|
|
@@ -446,8 +450,25 @@ interface TableConfig {
|
|
|
446
450
|
readonly casing?: Casing;
|
|
447
451
|
/** Leave the table out of the generated models. */
|
|
448
452
|
readonly exclude?: boolean;
|
|
453
|
+
/**
|
|
454
|
+
* Keep the table off the Data API on purpose: only `service_role` reaches
|
|
455
|
+
* it. The models are still generated for admin clients, and doctor (BS106)
|
|
456
|
+
* checks that `anon` and `authenticated` have no grants instead of
|
|
457
|
+
* requiring them.
|
|
458
|
+
*/
|
|
459
|
+
readonly serviceRole?: boolean;
|
|
449
460
|
/** Rename generated relations: `{ primaryContact: 'contact' }`. */
|
|
450
461
|
readonly relations?: Readonly<Record<string, string>>;
|
|
462
|
+
/**
|
|
463
|
+
* Database names of not-null columns an insert may leave out because the
|
|
464
|
+
* database fills them, for example from a `before insert` trigger. `gen`
|
|
465
|
+
* makes them optional in `InsertOf` and the insert validators.
|
|
466
|
+
*/
|
|
467
|
+
readonly insertOptional?: readonly string[];
|
|
468
|
+
}
|
|
469
|
+
interface FunctionConfig {
|
|
470
|
+
/** `true`, or the `returns table` columns (database names) that are never null. */
|
|
471
|
+
readonly notNull?: true | readonly string[];
|
|
451
472
|
}
|
|
452
473
|
interface TimestampsConfig {
|
|
453
474
|
readonly createdAt?: string;
|
|
@@ -459,10 +480,7 @@ interface SoftDeleteConfig {
|
|
|
459
480
|
interface TenantConfig {
|
|
460
481
|
readonly column?: string;
|
|
461
482
|
}
|
|
462
|
-
/**
|
|
463
|
-
* Claim names shared by the SQL kit, codegen and the runtime defaults. They
|
|
464
|
-
* follow PermDock's claim contract.
|
|
465
|
-
*/
|
|
483
|
+
/** Claim names shared by the SQL modules, codegen and the runtime defaults. */
|
|
466
484
|
interface ClaimsConfig {
|
|
467
485
|
/** Top-level claim holding the active tenant id. Defaults to `tenant_id`. */
|
|
468
486
|
readonly tenant?: string;
|
|
@@ -470,11 +488,13 @@ interface ClaimsConfig {
|
|
|
470
488
|
readonly scope?: string;
|
|
471
489
|
/** Claim holding plan features per tenant (`{ [tenantId]: string[] }`). Defaults to `features`. */
|
|
472
490
|
readonly features?: string;
|
|
491
|
+
/** Claim the memberships hook (`membership_claims()` or the provider's) writes. Defaults to `memberships`. */
|
|
492
|
+
readonly memberships?: string;
|
|
473
493
|
}
|
|
474
494
|
interface ActorConfig {
|
|
475
495
|
readonly createdBy?: string;
|
|
476
496
|
readonly updatedBy?: string;
|
|
477
|
-
/** Defaults to `impersonated_by`, the column the SQL
|
|
497
|
+
/** Defaults to `impersonated_by`, the column the SQL modules' `track_actor` fills. */
|
|
478
498
|
readonly impersonatedBy?: string;
|
|
479
499
|
}
|
|
480
500
|
interface PluginFlagsConfig {
|
|
@@ -486,15 +506,20 @@ interface PluginFlagsConfig {
|
|
|
486
506
|
interface BucketConfig {
|
|
487
507
|
readonly id?: string;
|
|
488
508
|
readonly public?: boolean;
|
|
489
|
-
/** Path template with `{placeholders}`, e.g. `{orgId}/{customerId}/logo.webp`. */
|
|
490
|
-
readonly path: string;
|
|
491
509
|
/**
|
|
492
|
-
*
|
|
493
|
-
*
|
|
510
|
+
* Path template with `{placeholders}`, e.g. `{organizationId}/{customerId}/logo.webp`,
|
|
511
|
+
* or several when the bucket stores objects in more than one layout. A last
|
|
512
|
+
* segment `{...rest}` matches one or more segments.
|
|
494
513
|
*/
|
|
495
|
-
readonly
|
|
514
|
+
readonly path: string | readonly [string, ...string[]];
|
|
515
|
+
/** Generated storage policy, or an access contract policy (`{ access }`). */
|
|
516
|
+
readonly policy?: BucketPolicyName | AccessBucketPolicy;
|
|
496
517
|
readonly fileSizeLimit?: string;
|
|
497
518
|
readonly allowedMimeTypes?: readonly string[];
|
|
519
|
+
/** Keep earlier object versions. `bucket.apply()` sets it; doctor (BS302) compares it. */
|
|
520
|
+
readonly versioning?: boolean;
|
|
521
|
+
/** When noncurrent versions expire. Needs `versioning: true`. */
|
|
522
|
+
readonly lifecycle?: BucketLifecycle;
|
|
498
523
|
}
|
|
499
524
|
interface SqlConfig {
|
|
500
525
|
/** Directory declarative schema files are written to. */
|
|
@@ -503,8 +528,20 @@ interface SqlConfig {
|
|
|
503
528
|
readonly prefix?: string;
|
|
504
529
|
/** Directory pgTAP files (the `pgtap` module) are written to. */
|
|
505
530
|
readonly testsDir?: string;
|
|
506
|
-
/**
|
|
507
|
-
|
|
531
|
+
/**
|
|
532
|
+
* The SQL modules to keep in sync (`better-supabase sql add`): a list of
|
|
533
|
+
* names, or an object keyed by module name whose values set each module's
|
|
534
|
+
* mode, schema, table and column names, permission keys and options.
|
|
535
|
+
*/
|
|
536
|
+
readonly modules?: readonly string[] | ModulesConfig;
|
|
537
|
+
}
|
|
538
|
+
/** `sql` with defaults applied: settings per module, and their names in order. */
|
|
539
|
+
interface ResolvedSqlConfig {
|
|
540
|
+
readonly dir: string;
|
|
541
|
+
readonly prefix: string;
|
|
542
|
+
readonly testsDir: string;
|
|
543
|
+
readonly modules: ModulesConfig;
|
|
544
|
+
readonly moduleNames: readonly string[];
|
|
508
545
|
}
|
|
509
546
|
interface SeedConfig {
|
|
510
547
|
/** Module exporting `defineSeed(...)` as `seed` or default. */
|
|
@@ -534,10 +571,9 @@ interface DoctorConfig {
|
|
|
534
571
|
*/
|
|
535
572
|
readonly policyHelperLimit?: number;
|
|
536
573
|
/**
|
|
537
|
-
* The BS405 limit in bytes.
|
|
538
|
-
* budget
|
|
539
|
-
*
|
|
540
|
-
* limits the whole token's claims (default 2048).
|
|
574
|
+
* The BS405 limit in bytes. When the authorization provider's token hook
|
|
575
|
+
* has a budget, it replaces that budget and the whole token keeps 2048.
|
|
576
|
+
* Otherwise it limits the whole token's claims (default 2048).
|
|
541
577
|
*/
|
|
542
578
|
readonly claimsLimit?: number;
|
|
543
579
|
}
|
|
@@ -576,12 +612,51 @@ interface GeneratorInput {
|
|
|
576
612
|
readonly output: string;
|
|
577
613
|
/** Import path from `from` (a generated file) to `to`, with extension. */
|
|
578
614
|
readonly importPath: (from: string, to: string) => string;
|
|
615
|
+
/**
|
|
616
|
+
* The tables and enums `gen` emits, with the TypeScript type it wrote for
|
|
617
|
+
* each column (after `json` overrides, codecs and enum unions). Frozen.
|
|
618
|
+
*/
|
|
619
|
+
readonly model: GeneratorModel;
|
|
620
|
+
}
|
|
621
|
+
interface GeneratorColumn {
|
|
622
|
+
/** Name in rows, after casing. */
|
|
623
|
+
readonly app: string;
|
|
624
|
+
/** Database name. */
|
|
625
|
+
readonly db: string;
|
|
626
|
+
/** TypeScript type without `| null`. */
|
|
627
|
+
readonly tsType: string;
|
|
628
|
+
readonly nullable: boolean;
|
|
629
|
+
/** Optional on insert. */
|
|
630
|
+
readonly optional: boolean;
|
|
631
|
+
/** Generated or identity always: never written. */
|
|
632
|
+
readonly readonly: boolean;
|
|
633
|
+
/** Enum or check-constraint values, when the column has a closed set. */
|
|
634
|
+
readonly values: readonly string[] | undefined;
|
|
635
|
+
readonly json: boolean;
|
|
636
|
+
}
|
|
637
|
+
interface GeneratorTable {
|
|
638
|
+
/** Key in `schema.tables` and on the client. */
|
|
639
|
+
readonly key: string;
|
|
640
|
+
readonly schema: string;
|
|
641
|
+
readonly name: string;
|
|
642
|
+
readonly casing: Casing;
|
|
643
|
+
readonly columns: readonly GeneratorColumn[];
|
|
644
|
+
}
|
|
645
|
+
interface GeneratorModel {
|
|
646
|
+
readonly tables: readonly GeneratorTable[];
|
|
647
|
+
readonly enums: readonly {
|
|
648
|
+
readonly schema: string;
|
|
649
|
+
readonly name: string;
|
|
650
|
+
readonly values: readonly string[];
|
|
651
|
+
}[];
|
|
579
652
|
}
|
|
580
653
|
/**
|
|
581
654
|
* Codegen extension point. First-party generators: `zod()`, `valibot()`,
|
|
582
655
|
* `jsonSchema()`. Prove custom ones with `testGenerator`.
|
|
583
656
|
*/
|
|
584
657
|
interface Generator {
|
|
658
|
+
/** The generator contract it targets. `gen` refuses versions it doesn't know. */
|
|
659
|
+
readonly apiVersion?: 1;
|
|
585
660
|
readonly name: string;
|
|
586
661
|
generate(input: GeneratorInput): readonly GeneratedFile[] | Promise<readonly GeneratedFile[]>;
|
|
587
662
|
}
|
|
@@ -598,11 +673,31 @@ interface RealtimeConfig {
|
|
|
598
673
|
* lacks the tenant column and is not listed here fails to install.
|
|
599
674
|
*/
|
|
600
675
|
readonly global?: readonly string[];
|
|
676
|
+
/**
|
|
677
|
+
* Tables in `tables` whose rows belong to one user: table to its user
|
|
678
|
+
* column (`{ notifications: "user_id" }`). They broadcast on a topic per
|
|
679
|
+
* user, `bs:t:<schema>.<table>:u:<user id>`, which only that user
|
|
680
|
+
* receives, instead of the tenant's topic.
|
|
681
|
+
*/
|
|
682
|
+
readonly users?: Readonly<Record<string, string>>;
|
|
683
|
+
/**
|
|
684
|
+
* Writes the `realtime.messages` policies of the topics that `from`
|
|
685
|
+
* exports (`defineTopic`) to `output`, a file in `supabase/schemas`, on
|
|
686
|
+
* `better-supabase sql sync`; `sql sync --check` fails when it is stale.
|
|
687
|
+
*/
|
|
688
|
+
readonly policies?: TopicPoliciesConfig;
|
|
689
|
+
}
|
|
690
|
+
/** `realtime.policies`: where topic policies come from and go. */
|
|
691
|
+
interface TopicPoliciesConfig {
|
|
692
|
+
/** Modules that export `defineTopic` results. Node imports them. */
|
|
693
|
+
readonly from: readonly string[];
|
|
694
|
+
/** The SQL file to write, such as `supabase/schemas/905_topics.sql`. */
|
|
695
|
+
readonly output: string;
|
|
601
696
|
}
|
|
602
697
|
interface EntitlementsConfig {
|
|
603
698
|
/**
|
|
604
699
|
* `table.column` (or `schema.table.column`) holding each tenant's Stripe
|
|
605
|
-
* customer id, read by the `entitlements` SQL
|
|
700
|
+
* customer id, read by the `entitlements` SQL module. Required
|
|
606
701
|
* without the `organizations` module; with it, defaults to the
|
|
607
702
|
* `stripe_customer_id` column that module adds.
|
|
608
703
|
*/
|
|
@@ -610,22 +705,64 @@ interface EntitlementsConfig {
|
|
|
610
705
|
/** The tenant id column of that table. Defaults to `id`. */
|
|
611
706
|
readonly key?: string;
|
|
612
707
|
/**
|
|
613
|
-
*
|
|
614
|
-
*
|
|
615
|
-
* `
|
|
616
|
-
* `
|
|
617
|
-
* root scope (the `rls.scopes` entry without `within`); `false` keeps the
|
|
618
|
-
* kit's memberships table.
|
|
708
|
+
* Where `has_entitlement` and `feature_claims` read memberships from.
|
|
709
|
+
* `"provider"` calls the authorization provider's `memberIds` and
|
|
710
|
+
* `memberIdsFor` functions; `"tenant"` reads `better_supabase.memberships`.
|
|
711
|
+
* Defaults to `"provider"` when `authorization` is set, else `"tenant"`.
|
|
619
712
|
*/
|
|
620
|
-
readonly
|
|
621
|
-
|
|
713
|
+
readonly memberships?: "tenant" | "provider";
|
|
714
|
+
/**
|
|
715
|
+
* Where each tenant's entitlements come from. `"stripe-sync"` (the
|
|
716
|
+
* default) reads the Stripe Sync Engine's `stripe.active_entitlements`
|
|
717
|
+
* through `customer`. `{ plans }` reads a plan catalog: the tenant's
|
|
718
|
+
* active subscription and the features its plan includes. `"custom"`
|
|
719
|
+
* leaves `better_supabase.tenant_entitlements(tenant)` to you; the module
|
|
720
|
+
* writes the checks and the claim over it.
|
|
721
|
+
*/
|
|
722
|
+
readonly source?: "stripe-sync" | "custom" | EntitlementPlansSource;
|
|
723
|
+
/**
|
|
724
|
+
* The shape of the features claim `feature_claims` writes, which every
|
|
725
|
+
* token carries. `false` writes `{}` (check entitlements in SQL with
|
|
726
|
+
* `has_entitlement` only); `maxTenants` keeps at most that many tenants;
|
|
727
|
+
* `keys` writes short codes instead of the feature keys. Pass the same
|
|
728
|
+
* `keys` to `hasEntitlement`.
|
|
729
|
+
*/
|
|
730
|
+
readonly claim?: false | {
|
|
731
|
+
readonly maxTenants?: number;
|
|
732
|
+
readonly keys?: Readonly<Record<string, string>>;
|
|
622
733
|
};
|
|
623
734
|
}
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
readonly
|
|
627
|
-
|
|
628
|
-
|
|
735
|
+
/** `entitlements.source.plans`: a plan catalog in your own tables. */
|
|
736
|
+
interface EntitlementPlansSource {
|
|
737
|
+
readonly plans: {
|
|
738
|
+
readonly subscriptions: {
|
|
739
|
+
/** `table` or `schema.table`. */
|
|
740
|
+
readonly table: string;
|
|
741
|
+
/** The tenant id column. */
|
|
742
|
+
readonly tenant: string;
|
|
743
|
+
/** The plan key column. */
|
|
744
|
+
readonly plan: string;
|
|
745
|
+
/** A status column; with it, only rows in `activeStatuses` count. */
|
|
746
|
+
readonly status?: string;
|
|
747
|
+
/** Defaults to `["active", "trialing"]`. */
|
|
748
|
+
readonly activeStatuses?: readonly string[];
|
|
749
|
+
};
|
|
750
|
+
readonly features: {
|
|
751
|
+
/** `table` or `schema.table`. */
|
|
752
|
+
readonly table: string;
|
|
753
|
+
/** The plan key column. */
|
|
754
|
+
readonly plan: string;
|
|
755
|
+
/** The feature key column: what `has_entitlement` and the claim name. */
|
|
756
|
+
readonly feature: string;
|
|
757
|
+
/** A boolean column; with it, only included features count. */
|
|
758
|
+
readonly included?: string;
|
|
759
|
+
/**
|
|
760
|
+
* A column with the feature's value (a number, text or jsonb), such as
|
|
761
|
+
* a limit, that `tenant_entitlement_value` returns.
|
|
762
|
+
*/
|
|
763
|
+
readonly value?: string;
|
|
764
|
+
};
|
|
765
|
+
};
|
|
629
766
|
}
|
|
630
767
|
/** pgvector distance: `<=>` (cosine), `<->` (l2) or `<#>` (negative inner product). */
|
|
631
768
|
type VectorDistance = "cosine" | "l2" | "inner_product";
|
|
@@ -633,21 +770,70 @@ type VectorDistance = "cosine" | "l2" | "inner_product";
|
|
|
633
770
|
type VectorSearchConfig = string | {
|
|
634
771
|
readonly column: string;
|
|
635
772
|
readonly distance?: VectorDistance;
|
|
773
|
+
/** The column's pgvector type. Defaults to `vector`. */
|
|
774
|
+
readonly type?: "vector" | "halfvec";
|
|
775
|
+
/** The primary key column `db.$search({ score: true })` merges by. Defaults to `id`. */
|
|
776
|
+
readonly key?: string;
|
|
777
|
+
/**
|
|
778
|
+
* Fuses a full-text ranking over a `tsvector` column with the vector
|
|
779
|
+
* ranking (reciprocal rank fusion), for `db.$search({ text })`.
|
|
780
|
+
*/
|
|
781
|
+
readonly hybrid?: {
|
|
782
|
+
readonly tsvector: string;
|
|
783
|
+
/** The query's text search configuration. Defaults to `simple`. */
|
|
784
|
+
readonly config?: string;
|
|
785
|
+
/** The RRF constant. Defaults to 60. */
|
|
786
|
+
readonly k?: number;
|
|
787
|
+
};
|
|
788
|
+
/** A SQL expression over the row `t` the score is multiplied by, such as `t.priority`. */
|
|
789
|
+
readonly boost?: string;
|
|
790
|
+
/** Columns `db.$search({ filter })` narrows before ranking. */
|
|
791
|
+
readonly prefilter?: readonly string[];
|
|
792
|
+
/**
|
|
793
|
+
* A SQL condition over the row `t` every candidate must meet, applied
|
|
794
|
+
* before ranking: ranges, a parent row, such as
|
|
795
|
+
* `t.expires_at > now() and exists (select 1 from public.folders f where f.id = t.folder_id and not f.disabled)`.
|
|
796
|
+
*/
|
|
797
|
+
readonly predicate?: string;
|
|
798
|
+
/** How `boost` combines with the score: `multiply` (default) or `add`. */
|
|
799
|
+
readonly boostMode?: "multiply" | "add";
|
|
800
|
+
/** A SQL `order by` list over the row `t` that breaks score ties, such as `t.created_at desc`. */
|
|
801
|
+
readonly order?: string;
|
|
636
802
|
};
|
|
637
803
|
/** A privilege the Data API roles can be granted on a table or view. */
|
|
638
804
|
type Privilege = "select" | "insert" | "update" | "delete";
|
|
805
|
+
type ColumnPrivilege = `${"select" | "insert" | "update"}(${string})`;
|
|
806
|
+
type ExposePrivilege = Privilege | ColumnPrivilege;
|
|
807
|
+
/** A role the `grants` module writes privileges for. */
|
|
808
|
+
type ExposeRole = "anon" | "authenticated" | "service_role";
|
|
639
809
|
/**
|
|
640
810
|
* Data API grants for one table: privileges for `authenticated`, or per
|
|
641
|
-
* role.
|
|
811
|
+
* role. `serviceRole` defaults to every privilege. For a function, keyed by
|
|
812
|
+
* its signature (`search_notes(text, integer)`), `execute` lists the roles
|
|
813
|
+
* that may call it; `service_role` is added unless `serviceRole` is false.
|
|
642
814
|
*/
|
|
643
|
-
type ExposeConfig = readonly
|
|
644
|
-
readonly anon?: readonly
|
|
645
|
-
readonly authenticated?: readonly
|
|
815
|
+
type ExposeConfig = readonly ExposePrivilege[] | {
|
|
816
|
+
readonly anon?: readonly ExposePrivilege[];
|
|
817
|
+
readonly authenticated?: readonly ExposePrivilege[];
|
|
818
|
+
readonly serviceRole?: readonly ExposePrivilege[];
|
|
819
|
+
} | {
|
|
820
|
+
readonly execute: readonly ("anon" | "authenticated")[];
|
|
821
|
+
readonly serviceRole?: boolean;
|
|
646
822
|
};
|
|
647
823
|
/** Resolved grants for one table. */
|
|
648
824
|
interface ResolvedExpose {
|
|
649
|
-
readonly anon: readonly
|
|
650
|
-
readonly authenticated: readonly
|
|
825
|
+
readonly anon: readonly ExposePrivilege[];
|
|
826
|
+
readonly authenticated: readonly ExposePrivilege[];
|
|
827
|
+
readonly serviceRole: readonly ExposePrivilege[];
|
|
828
|
+
}
|
|
829
|
+
interface RelationsConfig {
|
|
830
|
+
/**
|
|
831
|
+
* Type a to-one include as `| null` when the related table has row level
|
|
832
|
+
* security, even over a `not null` foreign key, since a policy can hide
|
|
833
|
+
* the related row. `required: true` on the include keeps it non-null.
|
|
834
|
+
* Defaults to `false`.
|
|
835
|
+
*/
|
|
836
|
+
readonly nullableUnderRls?: boolean;
|
|
651
837
|
}
|
|
652
838
|
interface BetterSupabaseConfig {
|
|
653
839
|
readonly $schema?: string;
|
|
@@ -671,6 +857,7 @@ interface BetterSupabaseConfig {
|
|
|
671
857
|
/** Types for jsonb columns, keyed by `table.column`. */
|
|
672
858
|
readonly json?: Readonly<Record<string, JsonTypeConfig>>;
|
|
673
859
|
readonly codecs?: CodecsConfig;
|
|
860
|
+
readonly relations?: RelationsConfig;
|
|
674
861
|
/**
|
|
675
862
|
* Columns that must not be read by accident (`table.column` or
|
|
676
863
|
* `schema.table.column`, database names), for the `noSensitiveSelect` rule.
|
|
@@ -684,16 +871,26 @@ interface BetterSupabaseConfig {
|
|
|
684
871
|
*/
|
|
685
872
|
readonly storagePaths?: Readonly<Record<string, string>>;
|
|
686
873
|
/**
|
|
687
|
-
*
|
|
688
|
-
*
|
|
689
|
-
*
|
|
690
|
-
*
|
|
691
|
-
* `
|
|
874
|
+
* Function results `gen` may type as not null, keyed by function name.
|
|
875
|
+
* Results are `| null` by default, since Postgres can't promise a function
|
|
876
|
+
* returns a value. `notNull: true` covers the whole result (each element
|
|
877
|
+
* of a set, each column of `returns table`); a list names the
|
|
878
|
+
* `returns table` columns that are never null.
|
|
879
|
+
*/
|
|
880
|
+
readonly functions?: Readonly<Record<string, FunctionConfig>>;
|
|
881
|
+
/**
|
|
882
|
+
* Data API grants, keyed by `table` or `schema.table`, and function
|
|
883
|
+
* `execute` grants, keyed by `name(argument types)` or
|
|
884
|
+
* `schema.name(argument types)`. Supabase no longer grants new tables to
|
|
885
|
+
* `anon` and `authenticated` automatically; the `grants` SQL module writes
|
|
886
|
+
* these as the complete privilege set (it revokes what is not listed), and
|
|
887
|
+
* doctor (BS106) checks them. Tables not listed need `select, insert,
|
|
888
|
+
* update, delete` for `authenticated` (`select` for views).
|
|
692
889
|
*/
|
|
693
890
|
readonly expose?: Readonly<Record<string, ExposeConfig>>;
|
|
694
891
|
/**
|
|
695
892
|
* Modules that export `defineReadSet` results. `gen` compiles each set to
|
|
696
|
-
* a function in the `read-sets` SQL
|
|
893
|
+
* a function in the `read-sets` SQL module. Node imports them, so
|
|
697
894
|
* relative imports need their `.ts` extension.
|
|
698
895
|
*/
|
|
699
896
|
readonly readSets?: readonly string[];
|
|
@@ -702,25 +899,23 @@ interface BetterSupabaseConfig {
|
|
|
702
899
|
readonly plugins?: PluginFlagsConfig;
|
|
703
900
|
readonly claims?: ClaimsConfig;
|
|
704
901
|
readonly buckets?: Readonly<Record<string, BucketConfig>>;
|
|
705
|
-
/** Realtime topic templates: `{ notifications: '
|
|
902
|
+
/** Realtime topic templates: `{ notifications: 'organization:{organizationId}:notifications' }`. */
|
|
706
903
|
readonly topics?: Readonly<Record<string, string>>;
|
|
707
904
|
readonly realtime?: RealtimeConfig;
|
|
708
905
|
readonly entitlements?: EntitlementsConfig;
|
|
709
|
-
/**
|
|
710
|
-
|
|
906
|
+
/**
|
|
907
|
+
* An authorization system the SQL modules, policies and doctor delegate
|
|
908
|
+
* to: the `provider` access model, `entitlements.memberships` and the
|
|
909
|
+
* hook and policy checks.
|
|
910
|
+
*/
|
|
911
|
+
readonly authorization?: AuthorizationProvider;
|
|
711
912
|
/**
|
|
712
913
|
* Embedding columns, keyed by `table` or `schema.table`. The
|
|
713
|
-
* `vector-search` SQL
|
|
914
|
+
* `vector-search` SQL module writes `search_<table>(query, k)` for each,
|
|
714
915
|
* which `db.$search(table, { vector, k })` calls.
|
|
715
916
|
*/
|
|
716
917
|
readonly vectorSearch?: Readonly<Record<string, VectorSearchConfig>>;
|
|
717
918
|
readonly sql?: SqlConfig;
|
|
718
|
-
/**
|
|
719
|
-
* How each SQL kit module maps onto the database: `managed` tables, or
|
|
720
|
-
* `adopt` and `custom` over the app's own, with table, column and
|
|
721
|
-
* permission names, keyed by module name.
|
|
722
|
-
*/
|
|
723
|
-
readonly kits?: KitsConfig;
|
|
724
919
|
readonly seed?: SeedConfig;
|
|
725
920
|
readonly openapi?: OpenApiConfig;
|
|
726
921
|
readonly doctor?: DoctorConfig;
|
|
@@ -738,9 +933,14 @@ interface ResolvedConfig {
|
|
|
738
933
|
readonly postgrestVersion: string;
|
|
739
934
|
readonly json: Readonly<Record<string, JsonTypeConfig>>;
|
|
740
935
|
readonly codecs: Required<CodecsConfig>;
|
|
936
|
+
readonly relations: Required<RelationsConfig>;
|
|
741
937
|
readonly sensitive: readonly string[];
|
|
742
938
|
readonly storagePaths: Readonly<Record<string, string>>;
|
|
939
|
+
readonly functions: Readonly<Record<string, FunctionConfig>>;
|
|
940
|
+
/** The table entries of `expose`. */
|
|
743
941
|
readonly expose: Readonly<Record<string, ResolvedExpose>>;
|
|
942
|
+
/** The function entries of `expose`: the roles that may execute each one. */
|
|
943
|
+
readonly exposeFunctions: Readonly<Record<string, readonly ExposeRole[]>>;
|
|
744
944
|
readonly readSets: readonly string[];
|
|
745
945
|
readonly generators: readonly Generator[];
|
|
746
946
|
readonly plugins: {
|
|
@@ -756,20 +956,21 @@ interface ResolvedConfig {
|
|
|
756
956
|
readonly table?: string;
|
|
757
957
|
readonly column?: string;
|
|
758
958
|
readonly key: string;
|
|
759
|
-
readonly
|
|
760
|
-
|
|
761
|
-
|
|
959
|
+
readonly memberships: "tenant" | "provider";
|
|
960
|
+
readonly source: NonNullable<EntitlementsConfig["source"]>;
|
|
961
|
+
readonly claim?: NonNullable<EntitlementsConfig["claim"]>;
|
|
762
962
|
};
|
|
763
|
-
readonly
|
|
764
|
-
readonly vectorSearch: readonly {
|
|
963
|
+
readonly authorization?: AuthorizationProvider;
|
|
964
|
+
readonly vectorSearch: readonly ({
|
|
765
965
|
readonly table: string;
|
|
766
966
|
readonly column: string;
|
|
767
967
|
readonly distance: VectorDistance;
|
|
768
|
-
}[];
|
|
968
|
+
} & Omit<Exclude<VectorSearchConfig, string>, "column" | "distance">)[];
|
|
769
969
|
readonly topics: Readonly<Record<string, string>>;
|
|
770
|
-
readonly realtime: Required<RealtimeConfig
|
|
771
|
-
|
|
772
|
-
|
|
970
|
+
readonly realtime: Required<Omit<RealtimeConfig, "policies">> & {
|
|
971
|
+
readonly policies?: TopicPoliciesConfig;
|
|
972
|
+
};
|
|
973
|
+
readonly sql: ResolvedSqlConfig;
|
|
773
974
|
readonly seed: Required<SeedConfig>;
|
|
774
975
|
readonly openapi: Required<OpenApiConfig>;
|
|
775
976
|
readonly doctor: Required<Omit<DoctorConfig, "claimsLimit">> & Pick<DoctorConfig, "claimsLimit">;
|
|
@@ -780,4 +981,4 @@ declare function defineConfig(config: BetterSupabaseConfig): BetterSupabaseConfi
|
|
|
780
981
|
/** Applies defaults. Paths stay relative to `root`. */
|
|
781
982
|
declare function resolveConfig(config: BetterSupabaseConfig, root: string): ResolvedConfig;
|
|
782
983
|
//#endregion
|
|
783
|
-
export {
|
|
984
|
+
export { CatalogTable as $, SeedConfig as A, resolveConfig as B, PluginFlagsConfig as C, ResolvedConfig as D, RelationsConfig as E, TenantConfig as F, CatalogColumnGrant as G, Catalog as H, TimestampsConfig as I, CatalogFunction as J, CatalogEnum as K, VectorDistance as L, SourceConfig as M, SqlConfig as N, ResolvedExpose as O, TableConfig as P, CatalogPolicy as Q, VectorSearchConfig as R, OpenApiConfig as S, RealtimeConfig as T, CatalogCheck as U, resolveJsonSchema as V, CatalogColumn as W, CatalogGrant as X, CatalogFunctionArg as Y, CatalogIndex as Z, GeneratorInput as _, ClaimsConfig as a, ExtrasTable as at, JsonSchemaSource as b, DoctorConfig as c, SnapshotBucket as ct, ExposeConfig as d, PostgresColumn as dt, CatalogTrigger as et, ExposePrivilege as f, PostgresFunction as ft, GeneratorColumn as g, Generator as h, CONFIG_SCHEMA_URL as i, ExtrasHookFunction as it, SoftDeleteConfig as j, ResolvedSqlConfig as k, EntitlementPlansSource as l, SnapshotExtras as lt, GeneratedFile as m, BetterSupabaseConfig as n, ExtrasFunction as nt, CodecsConfig as o, ForeignKeyAction as ot, ExposeRole as p, PostgresFunctionArg as pt, CatalogForeignKey as q, BucketConfig as r, ExtrasHook as rt, ColumnPrivilege as s, Snapshot as st, ActorConfig as t, CatalogUnique as tt, EntitlementsConfig as u, GeneratorMetadata as ut, GeneratorModel as v, Privilege as w, JsonTypeConfig as x, GeneratorTable as y, defineConfig as z };
|