better-supabase 0.5.1 → 0.6.1
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 +187 -46
- package/dist/access-sql-B0dF-SoF.js +181 -0
- package/dist/{actor-DaJjqD5R.d.ts → actor-CQTlc1Hh.d.ts} +1 -1
- package/dist/adapter-CHnPkCPd.js +1160 -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 +224 -0
- package/dist/blocks/attachments/index.js +234 -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 +259 -0
- package/dist/blocks/data-lifecycle/index.js +358 -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-C_A-KEAz.js → doctor-BMqBgM3X.js} +991 -317
- 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-4JlOwgWG.js +2 -0
- package/dist/cli/gen-DeuDgPxN.js +3100 -0
- package/dist/cli/index.d.ts +44 -5
- package/dist/cli/index.js +7 -7
- package/dist/cli/{init-DMa6M7hV.js → init-C7Xd0Kda.js} +242 -27
- package/dist/cli/{introspect-BKlaIu_M.js → introspect-CSnMJ94U.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-Bo_NLT5n.js → run-C8tnlHSb.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-BCtlgDQx.js → version-C_4JwyiM.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-CLqs9-OA.js +130 -0
- package/dist/composite-pSfeJNce.d.ts +146 -0
- package/dist/config/index.d.ts +6 -4
- package/dist/config/index.js +5 -5
- package/dist/{config-Bv7gvfzC.d.ts → config-D44Y7PAv.d.ts} +406 -214
- 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-CFPX0Qft.d.ts → ended-jLfvw8h-.d.ts} +20 -2
- package/dist/{entitlements-BiJZ4t49.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-CdPDPpFs.d.ts +25 -0
- package/dist/framework-xjTBoyBB.js +51 -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-BgSHAYLf.js → impersonation-DcqaTBHx.js} +21 -6
- 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-Daak8ukG.d.ts +54 -0
- 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-Bn6HNKUe.js → resolve-D_IcnvFd.js} +248 -240
- package/dist/{impersonation-BmePsuxz.d.ts → resolve-KW8nCeL6.d.ts} +29 -69
- package/dist/{resource-mqfJW4YF.js → resource-BsvzCMlX.js} +4 -4
- package/dist/{resource-DNRFP7KR.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 -22
- package/dist/server/index.js +46 -14
- package/dist/{respond-BR1fJWOB.d.ts → server-C6DWVEVG.d.ts} +237 -85
- 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 +313 -212
- package/dist/sql/index.js +34924 -6609
- 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-view-B8SlToQX.d.ts → support-view-33Oi07TT.d.ts} +1 -1
- package/dist/{support-wHnK6zp-.js → support-zIa1URaN.js} +32 -11
- 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 +315 -41
- package/dist/testing/index.js +1046 -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-DOYTYwHP.js → version-CQt77F3T.js} +1 -1
- package/dist/view-BeFcRV6G.js +99 -0
- package/dist/{view-CbgObAeb.d.ts → view-DbxLNu8L.d.ts} +22 -5
- 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 +461 -20
- package/schemas/ai-message-v1.json +258 -0
- package/schemas/config-v1.json +1074 -140
- package/schemas/doctor-report-v1.json +20 -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 +47 -11
- 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-CIdSQZad.js +0 -2
- package/dist/cli/gen-CjElD1Vw.js +0 -2241
- package/dist/cli/read-sets-VQcPgxU9.js +0 -436
- package/dist/cli/sql-CVx-1O8G.js +0 -373
- 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/index-CWMDdEr4.d.ts +0 -50
- package/dist/index-DOESKG27.d.ts +0 -100
- package/dist/index-DmXSxbLi.d.ts +0 -62
- package/dist/index-Dp2VDwog.d.ts +0 -161
- 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/mfa-Cu96oJdw.d.ts +0 -30
- 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-B1mZ7CgQ.js +0 -660
- package/dist/stats-Bqob3WqT.js +0 -592
- package/dist/support-CEPwlw2G.d.ts +0 -89
- 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 -122
|
@@ -1,157 +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
|
-
readonly scope?: string;
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
/** `kits` in the config, keyed by module name. */
|
|
136
|
-
interface KitsConfig {
|
|
137
|
-
readonly access?: AccessKitConfig;
|
|
138
|
-
/** `AccessKitConfig` is listed so an `access` literal passes the excess-property check. */
|
|
139
|
-
readonly [module: string]: KitModuleConfig | AccessKitConfig | undefined;
|
|
140
|
-
}
|
|
141
|
-
/** A module's config with defaults applied. */
|
|
142
|
-
interface ResolvedKitModule {
|
|
143
|
-
readonly mode: KitMode;
|
|
144
|
-
readonly schema: string;
|
|
145
|
-
readonly tables: Readonly<Record<string, string | null>>;
|
|
146
|
-
readonly columns: Readonly<Record<string, Readonly<Record<string, string | null>>>>;
|
|
147
|
-
readonly idType?: string;
|
|
148
|
-
readonly permissions: Readonly<Record<string, string>>;
|
|
149
|
-
readonly options: Readonly<Record<string, unknown>>;
|
|
150
|
-
readonly hooks: {
|
|
151
|
-
readonly schema: string;
|
|
152
|
-
readonly functions: Readonly<Record<string, string>>;
|
|
153
|
-
};
|
|
154
|
-
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
|
+
}[];
|
|
155
133
|
}
|
|
156
134
|
//#endregion
|
|
157
135
|
//#region src/config/snapshot.d.ts
|
|
@@ -191,6 +169,13 @@ interface SnapshotExtras {
|
|
|
191
169
|
* in any schema. Absent in older snapshots and without a `config.toml`.
|
|
192
170
|
*/
|
|
193
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;
|
|
194
179
|
}
|
|
195
180
|
/** An `[auth.hook.<name>]` with a `pg-functions://` URI. */
|
|
196
181
|
interface ExtrasHook {
|
|
@@ -218,7 +203,7 @@ interface ExtrasHookFunction extends ExtrasFunction {
|
|
|
218
203
|
interface ExtrasFunction {
|
|
219
204
|
readonly schema: string;
|
|
220
205
|
readonly name: string;
|
|
221
|
-
/** Identity arguments, e.g. `
|
|
206
|
+
/** Identity arguments, e.g. `organization uuid`. */
|
|
222
207
|
readonly signature: string;
|
|
223
208
|
/** `sql`, `plpgsql`, `c`, ... */
|
|
224
209
|
readonly language: string;
|
|
@@ -307,6 +292,10 @@ interface SnapshotBucket {
|
|
|
307
292
|
readonly public: boolean;
|
|
308
293
|
readonly fileSizeLimit: number | null;
|
|
309
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;
|
|
310
299
|
}
|
|
311
300
|
/**
|
|
312
301
|
* The snapshot joined into one record per table, function and enum. Codegen
|
|
@@ -388,9 +377,13 @@ interface CatalogFunction {
|
|
|
388
377
|
readonly returnsTable: readonly {
|
|
389
378
|
readonly name: string;
|
|
390
379
|
readonly udt: string;
|
|
380
|
+
/** Schema of the column's type, when typegen knows it. */
|
|
381
|
+
readonly typeSchema?: string;
|
|
391
382
|
}[] | null;
|
|
392
383
|
/** Return type name (`int4`, `_text`, a table's row type). */
|
|
393
384
|
readonly returns: string;
|
|
385
|
+
/** Schema of the return type, when typegen knows it. */
|
|
386
|
+
readonly returnsSchema?: string;
|
|
394
387
|
/** `schema.table` when the function returns rows of a table or view. */
|
|
395
388
|
readonly returnsRelation: string | null;
|
|
396
389
|
readonly returnsSet: boolean;
|
|
@@ -403,6 +396,8 @@ interface CatalogFunction {
|
|
|
403
396
|
interface CatalogFunctionArg {
|
|
404
397
|
readonly name: string;
|
|
405
398
|
readonly udt: string;
|
|
399
|
+
/** Schema of the argument's type, when typegen knows it. */
|
|
400
|
+
readonly typeSchema?: string;
|
|
406
401
|
readonly isArray: boolean;
|
|
407
402
|
readonly hasDefault: boolean;
|
|
408
403
|
}
|
|
@@ -455,8 +450,25 @@ interface TableConfig {
|
|
|
455
450
|
readonly casing?: Casing;
|
|
456
451
|
/** Leave the table out of the generated models. */
|
|
457
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;
|
|
458
460
|
/** Rename generated relations: `{ primaryContact: 'contact' }`. */
|
|
459
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[];
|
|
460
472
|
}
|
|
461
473
|
interface TimestampsConfig {
|
|
462
474
|
readonly createdAt?: string;
|
|
@@ -468,10 +480,7 @@ interface SoftDeleteConfig {
|
|
|
468
480
|
interface TenantConfig {
|
|
469
481
|
readonly column?: string;
|
|
470
482
|
}
|
|
471
|
-
/**
|
|
472
|
-
* Claim names shared by the SQL kit, codegen and the runtime defaults. They
|
|
473
|
-
* follow PermDock's claim contract.
|
|
474
|
-
*/
|
|
483
|
+
/** Claim names shared by the SQL modules, codegen and the runtime defaults. */
|
|
475
484
|
interface ClaimsConfig {
|
|
476
485
|
/** Top-level claim holding the active tenant id. Defaults to `tenant_id`. */
|
|
477
486
|
readonly tenant?: string;
|
|
@@ -479,11 +488,13 @@ interface ClaimsConfig {
|
|
|
479
488
|
readonly scope?: string;
|
|
480
489
|
/** Claim holding plan features per tenant (`{ [tenantId]: string[] }`). Defaults to `features`. */
|
|
481
490
|
readonly features?: string;
|
|
491
|
+
/** Claim the memberships hook (`membership_claims()` or the provider's) writes. Defaults to `memberships`. */
|
|
492
|
+
readonly memberships?: string;
|
|
482
493
|
}
|
|
483
494
|
interface ActorConfig {
|
|
484
495
|
readonly createdBy?: string;
|
|
485
496
|
readonly updatedBy?: string;
|
|
486
|
-
/** Defaults to `impersonated_by`, the column the SQL
|
|
497
|
+
/** Defaults to `impersonated_by`, the column the SQL modules' `track_actor` fills. */
|
|
487
498
|
readonly impersonatedBy?: string;
|
|
488
499
|
}
|
|
489
500
|
interface PluginFlagsConfig {
|
|
@@ -495,15 +506,20 @@ interface PluginFlagsConfig {
|
|
|
495
506
|
interface BucketConfig {
|
|
496
507
|
readonly id?: string;
|
|
497
508
|
readonly public?: boolean;
|
|
498
|
-
/** Path template with `{placeholders}`, e.g. `{orgId}/{customerId}/logo.webp`. */
|
|
499
|
-
readonly path: string;
|
|
500
509
|
/**
|
|
501
|
-
*
|
|
502
|
-
*
|
|
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.
|
|
503
513
|
*/
|
|
504
|
-
readonly
|
|
514
|
+
readonly path: string | readonly [string, ...string[]];
|
|
515
|
+
/** Generated storage policy, or an access contract policy (`{ access }`). */
|
|
516
|
+
readonly policy?: BucketPolicyName | AccessBucketPolicy;
|
|
505
517
|
readonly fileSizeLimit?: string;
|
|
506
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;
|
|
507
523
|
}
|
|
508
524
|
interface SqlConfig {
|
|
509
525
|
/** Directory declarative schema files are written to. */
|
|
@@ -512,8 +528,20 @@ interface SqlConfig {
|
|
|
512
528
|
readonly prefix?: string;
|
|
513
529
|
/** Directory pgTAP files (the `pgtap` module) are written to. */
|
|
514
530
|
readonly testsDir?: string;
|
|
515
|
-
/**
|
|
516
|
-
|
|
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[];
|
|
517
545
|
}
|
|
518
546
|
interface SeedConfig {
|
|
519
547
|
/** Module exporting `defineSeed(...)` as `seed` or default. */
|
|
@@ -543,10 +571,9 @@ interface DoctorConfig {
|
|
|
543
571
|
*/
|
|
544
572
|
readonly policyHelperLimit?: number;
|
|
545
573
|
/**
|
|
546
|
-
* The BS405 limit in bytes.
|
|
547
|
-
* budget
|
|
548
|
-
*
|
|
549
|
-
* 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).
|
|
550
577
|
*/
|
|
551
578
|
readonly claimsLimit?: number;
|
|
552
579
|
}
|
|
@@ -585,12 +612,51 @@ interface GeneratorInput {
|
|
|
585
612
|
readonly output: string;
|
|
586
613
|
/** Import path from `from` (a generated file) to `to`, with extension. */
|
|
587
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
|
+
}[];
|
|
588
652
|
}
|
|
589
653
|
/**
|
|
590
654
|
* Codegen extension point. First-party generators: `zod()`, `valibot()`,
|
|
591
655
|
* `jsonSchema()`. Prove custom ones with `testGenerator`.
|
|
592
656
|
*/
|
|
593
657
|
interface Generator {
|
|
658
|
+
/** The generator contract it targets. `gen` refuses versions it doesn't know. */
|
|
659
|
+
readonly apiVersion?: 1;
|
|
594
660
|
readonly name: string;
|
|
595
661
|
generate(input: GeneratorInput): readonly GeneratedFile[] | Promise<readonly GeneratedFile[]>;
|
|
596
662
|
}
|
|
@@ -607,11 +673,31 @@ interface RealtimeConfig {
|
|
|
607
673
|
* lacks the tenant column and is not listed here fails to install.
|
|
608
674
|
*/
|
|
609
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;
|
|
610
696
|
}
|
|
611
697
|
interface EntitlementsConfig {
|
|
612
698
|
/**
|
|
613
699
|
* `table.column` (or `schema.table.column`) holding each tenant's Stripe
|
|
614
|
-
* customer id, read by the `entitlements` SQL
|
|
700
|
+
* customer id, read by the `entitlements` SQL module. Required
|
|
615
701
|
* without the `organizations` module; with it, defaults to the
|
|
616
702
|
* `stripe_customer_id` column that module adds.
|
|
617
703
|
*/
|
|
@@ -619,22 +705,64 @@ interface EntitlementsConfig {
|
|
|
619
705
|
/** The tenant id column of that table. Defaults to `id`. */
|
|
620
706
|
readonly key?: string;
|
|
621
707
|
/**
|
|
622
|
-
*
|
|
623
|
-
*
|
|
624
|
-
* `
|
|
625
|
-
* `
|
|
626
|
-
* root scope (the `rls.scopes` entry without `within`); `false` keeps the
|
|
627
|
-
* 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"`.
|
|
628
712
|
*/
|
|
629
|
-
readonly
|
|
630
|
-
|
|
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>>;
|
|
631
733
|
};
|
|
632
734
|
}
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
readonly
|
|
636
|
-
|
|
637
|
-
|
|
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
|
+
};
|
|
638
766
|
}
|
|
639
767
|
/** pgvector distance: `<=>` (cosine), `<->` (l2) or `<#>` (negative inner product). */
|
|
640
768
|
type VectorDistance = "cosine" | "l2" | "inner_product";
|
|
@@ -642,21 +770,70 @@ type VectorDistance = "cosine" | "l2" | "inner_product";
|
|
|
642
770
|
type VectorSearchConfig = string | {
|
|
643
771
|
readonly column: string;
|
|
644
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;
|
|
645
802
|
};
|
|
646
803
|
/** A privilege the Data API roles can be granted on a table or view. */
|
|
647
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";
|
|
648
809
|
/**
|
|
649
810
|
* Data API grants for one table: privileges for `authenticated`, or per
|
|
650
|
-
* 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.
|
|
651
814
|
*/
|
|
652
|
-
type ExposeConfig = readonly
|
|
653
|
-
readonly anon?: readonly
|
|
654
|
-
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;
|
|
655
822
|
};
|
|
656
823
|
/** Resolved grants for one table. */
|
|
657
824
|
interface ResolvedExpose {
|
|
658
|
-
readonly anon: readonly
|
|
659
|
-
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;
|
|
660
837
|
}
|
|
661
838
|
interface BetterSupabaseConfig {
|
|
662
839
|
readonly $schema?: string;
|
|
@@ -680,6 +857,7 @@ interface BetterSupabaseConfig {
|
|
|
680
857
|
/** Types for jsonb columns, keyed by `table.column`. */
|
|
681
858
|
readonly json?: Readonly<Record<string, JsonTypeConfig>>;
|
|
682
859
|
readonly codecs?: CodecsConfig;
|
|
860
|
+
readonly relations?: RelationsConfig;
|
|
683
861
|
/**
|
|
684
862
|
* Columns that must not be read by accident (`table.column` or
|
|
685
863
|
* `schema.table.column`, database names), for the `noSensitiveSelect` rule.
|
|
@@ -693,16 +871,26 @@ interface BetterSupabaseConfig {
|
|
|
693
871
|
*/
|
|
694
872
|
readonly storagePaths?: Readonly<Record<string, string>>;
|
|
695
873
|
/**
|
|
696
|
-
*
|
|
697
|
-
*
|
|
698
|
-
*
|
|
699
|
-
*
|
|
700
|
-
* `
|
|
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).
|
|
701
889
|
*/
|
|
702
890
|
readonly expose?: Readonly<Record<string, ExposeConfig>>;
|
|
703
891
|
/**
|
|
704
892
|
* Modules that export `defineReadSet` results. `gen` compiles each set to
|
|
705
|
-
* a function in the `read-sets` SQL
|
|
893
|
+
* a function in the `read-sets` SQL module. Node imports them, so
|
|
706
894
|
* relative imports need their `.ts` extension.
|
|
707
895
|
*/
|
|
708
896
|
readonly readSets?: readonly string[];
|
|
@@ -711,25 +899,23 @@ interface BetterSupabaseConfig {
|
|
|
711
899
|
readonly plugins?: PluginFlagsConfig;
|
|
712
900
|
readonly claims?: ClaimsConfig;
|
|
713
901
|
readonly buckets?: Readonly<Record<string, BucketConfig>>;
|
|
714
|
-
/** Realtime topic templates: `{ notifications: '
|
|
902
|
+
/** Realtime topic templates: `{ notifications: 'organization:{organizationId}:notifications' }`. */
|
|
715
903
|
readonly topics?: Readonly<Record<string, string>>;
|
|
716
904
|
readonly realtime?: RealtimeConfig;
|
|
717
905
|
readonly entitlements?: EntitlementsConfig;
|
|
718
|
-
/**
|
|
719
|
-
|
|
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;
|
|
720
912
|
/**
|
|
721
913
|
* Embedding columns, keyed by `table` or `schema.table`. The
|
|
722
|
-
* `vector-search` SQL
|
|
914
|
+
* `vector-search` SQL module writes `search_<table>(query, k)` for each,
|
|
723
915
|
* which `db.$search(table, { vector, k })` calls.
|
|
724
916
|
*/
|
|
725
917
|
readonly vectorSearch?: Readonly<Record<string, VectorSearchConfig>>;
|
|
726
918
|
readonly sql?: SqlConfig;
|
|
727
|
-
/**
|
|
728
|
-
* How each SQL kit module maps onto the database: `managed` tables, or
|
|
729
|
-
* `adopt` and `custom` over the app's own, with table, column and
|
|
730
|
-
* permission names, keyed by module name.
|
|
731
|
-
*/
|
|
732
|
-
readonly kits?: KitsConfig;
|
|
733
919
|
readonly seed?: SeedConfig;
|
|
734
920
|
readonly openapi?: OpenApiConfig;
|
|
735
921
|
readonly doctor?: DoctorConfig;
|
|
@@ -747,9 +933,14 @@ interface ResolvedConfig {
|
|
|
747
933
|
readonly postgrestVersion: string;
|
|
748
934
|
readonly json: Readonly<Record<string, JsonTypeConfig>>;
|
|
749
935
|
readonly codecs: Required<CodecsConfig>;
|
|
936
|
+
readonly relations: Required<RelationsConfig>;
|
|
750
937
|
readonly sensitive: readonly string[];
|
|
751
938
|
readonly storagePaths: Readonly<Record<string, string>>;
|
|
939
|
+
readonly functions: Readonly<Record<string, FunctionConfig>>;
|
|
940
|
+
/** The table entries of `expose`. */
|
|
752
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[]>>;
|
|
753
944
|
readonly readSets: readonly string[];
|
|
754
945
|
readonly generators: readonly Generator[];
|
|
755
946
|
readonly plugins: {
|
|
@@ -765,20 +956,21 @@ interface ResolvedConfig {
|
|
|
765
956
|
readonly table?: string;
|
|
766
957
|
readonly column?: string;
|
|
767
958
|
readonly key: string;
|
|
768
|
-
readonly
|
|
769
|
-
|
|
770
|
-
|
|
959
|
+
readonly memberships: "tenant" | "provider";
|
|
960
|
+
readonly source: NonNullable<EntitlementsConfig["source"]>;
|
|
961
|
+
readonly claim?: NonNullable<EntitlementsConfig["claim"]>;
|
|
771
962
|
};
|
|
772
|
-
readonly
|
|
773
|
-
readonly vectorSearch: readonly {
|
|
963
|
+
readonly authorization?: AuthorizationProvider;
|
|
964
|
+
readonly vectorSearch: readonly ({
|
|
774
965
|
readonly table: string;
|
|
775
966
|
readonly column: string;
|
|
776
967
|
readonly distance: VectorDistance;
|
|
777
|
-
}[];
|
|
968
|
+
} & Omit<Exclude<VectorSearchConfig, string>, "column" | "distance">)[];
|
|
778
969
|
readonly topics: Readonly<Record<string, string>>;
|
|
779
|
-
readonly realtime: Required<RealtimeConfig
|
|
780
|
-
|
|
781
|
-
|
|
970
|
+
readonly realtime: Required<Omit<RealtimeConfig, "policies">> & {
|
|
971
|
+
readonly policies?: TopicPoliciesConfig;
|
|
972
|
+
};
|
|
973
|
+
readonly sql: ResolvedSqlConfig;
|
|
782
974
|
readonly seed: Required<SeedConfig>;
|
|
783
975
|
readonly openapi: Required<OpenApiConfig>;
|
|
784
976
|
readonly doctor: Required<Omit<DoctorConfig, "claimsLimit">> & Pick<DoctorConfig, "claimsLimit">;
|
|
@@ -789,4 +981,4 @@ declare function defineConfig(config: BetterSupabaseConfig): BetterSupabaseConfi
|
|
|
789
981
|
/** Applies defaults. Paths stay relative to `root`. */
|
|
790
982
|
declare function resolveConfig(config: BetterSupabaseConfig, root: string): ResolvedConfig;
|
|
791
983
|
//#endregion
|
|
792
|
-
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 };
|