better-supabase 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +299 -41
- package/dist/access-sql-B0dF-SoF.js +181 -0
- package/dist/actor-CQTlc1Hh.d.ts +43 -0
- package/dist/adapter-Bc1o3zyy.js +1106 -0
- package/dist/agents-CVHGd7It.d.ts +94 -0
- package/dist/ai-cache-CBWs1W0k.js +80 -0
- package/dist/ai-cache-DaDu_G5L.d.ts +64 -0
- package/dist/ai-chat-7amvXjmQ.d.ts +590 -0
- package/dist/ai-chat-B24UI962.js +743 -0
- package/dist/ai-files-CSPNswUY.js +319 -0
- package/dist/ai-sdk/agents/index.d.ts +74 -0
- package/dist/ai-sdk/agents/index.js +159 -0
- package/dist/ai-sdk/batches/index.d.ts +74 -0
- package/dist/ai-sdk/batches/index.js +180 -0
- package/dist/ai-sdk/cache/index.d.ts +38 -0
- package/dist/ai-sdk/cache/index.js +127 -0
- package/dist/ai-sdk/chat/index.d.ts +2 -0
- package/dist/ai-sdk/chat/index.js +246 -0
- package/dist/ai-sdk/embeddings/index.d.ts +3 -0
- package/dist/ai-sdk/embeddings/index.js +2 -0
- package/dist/ai-sdk/files/index.d.ts +61 -0
- package/dist/ai-sdk/files/index.js +111 -0
- package/dist/ai-sdk/index.d.ts +145 -0
- package/dist/ai-sdk/index.js +174 -0
- package/dist/ai-sdk/mcp/index.d.ts +102 -0
- package/dist/ai-sdk/mcp/index.js +362 -0
- package/dist/ai-sdk/memory/index.d.ts +67 -0
- package/dist/ai-sdk/memory/index.js +175 -0
- package/dist/ai-sdk/react/index.d.ts +2 -0
- package/dist/ai-sdk/react/index.js +3 -0
- package/dist/ai-sdk/react/server.d.ts +6 -0
- package/dist/ai-sdk/react/server.js +7 -0
- package/dist/ai-sdk/workflow/index.d.ts +249 -0
- package/dist/ai-sdk/workflow/index.js +575 -0
- package/dist/ai-sdk/workflow/react/index.d.ts +20 -0
- package/dist/ai-sdk/workflow/react/index.js +66 -0
- package/dist/ai-sdk/workflow/react/server.d.ts +10 -0
- package/dist/ai-sdk/workflow/react/server.js +12 -0
- package/dist/ai-tasks-Cd1HMFvB.d.ts +131 -0
- package/dist/announcements-CiyOs-xP.js +107 -0
- package/dist/announcements-ZRGnScWI.d.ts +72 -0
- package/dist/api-keys-rCGtKaZA.d.ts +156 -0
- package/dist/assistant-DwdpDH1q.d.ts +147 -0
- package/dist/astro/index.d.ts +86 -0
- package/dist/astro/index.js +93 -0
- package/dist/attributes-5dYul0u0.js +13 -0
- package/dist/auth-link-BjFPqwLz.d.ts +97 -0
- package/dist/auth-link-DrDX9KOT.js +114 -0
- package/dist/authorization-BFCqamMs.d.ts +172 -0
- package/dist/before-route-CnR0C0Jr.js +30 -0
- package/dist/bind-Bu_ZNa3W.d.ts +62 -0
- package/dist/bind-l4kAvYSv.js +97 -0
- package/dist/block-events-CrT8r7Fe.js +76 -0
- package/dist/block-fields-GFkxl4dP.js +49 -0
- package/dist/block-fields-SJ6fEf3o.d.ts +31 -0
- package/dist/block-helpers-CKtbFcRv.d.ts +37 -0
- package/dist/block-helpers-DWHxHsEQ.js +190 -0
- package/dist/block-hooks-BmjMyXTa.js +114 -0
- package/dist/block-hooks-plbZ0AbJ.d.ts +107 -0
- package/dist/{kit-transport-DJlHQUBU.js → block-transport-BLr-ZgLc.js} +11 -7
- package/dist/block-transport-DvaoPuZ9.d.ts +48 -0
- package/dist/blocks/agents/index.d.ts +3 -0
- package/dist/blocks/agents/index.js +123 -0
- package/dist/blocks/ai-cache/index.d.ts +3 -0
- package/dist/blocks/ai-cache/index.js +3 -0
- package/dist/blocks/ai-chat/index.d.ts +31 -0
- package/dist/blocks/ai-chat/index.js +5 -0
- package/dist/blocks/ai-chat/react/index.d.ts +77 -0
- package/dist/blocks/ai-chat/react/index.js +387 -0
- package/dist/blocks/ai-chat/react/server.d.ts +16 -0
- package/dist/blocks/ai-chat/react/server.js +14 -0
- package/dist/blocks/ai-files/index.d.ts +14 -0
- package/dist/blocks/ai-files/index.js +3 -0
- package/dist/blocks/ai-providers/index.d.ts +7 -0
- package/dist/blocks/ai-providers/index.js +211 -0
- package/dist/blocks/ai-tasks/index.d.ts +3 -0
- package/dist/blocks/ai-tasks/index.js +203 -0
- package/dist/blocks/announcements/index.d.ts +3 -0
- package/dist/blocks/announcements/index.js +3 -0
- package/dist/blocks/announcements/react/index.d.ts +31 -0
- package/dist/blocks/announcements/react/index.js +86 -0
- package/dist/blocks/announcements/react/server.d.ts +6 -0
- package/dist/blocks/announcements/react/server.js +7 -0
- package/dist/blocks/api-keys/index.d.ts +35 -0
- package/dist/blocks/api-keys/index.js +334 -0
- package/dist/blocks/attachments/index.d.ts +210 -0
- package/dist/blocks/attachments/index.js +222 -0
- package/dist/blocks/audit/index.d.ts +366 -0
- package/dist/blocks/audit/index.js +714 -0
- package/dist/blocks/billing/index.d.ts +265 -0
- package/dist/blocks/billing/index.js +400 -0
- package/dist/blocks/comments/index.d.ts +200 -0
- package/dist/blocks/comments/index.js +207 -0
- package/dist/blocks/connectors/index.d.ts +3 -0
- package/dist/blocks/connectors/index.js +164 -0
- package/dist/blocks/data-lifecycle/index.d.ts +251 -0
- package/dist/blocks/data-lifecycle/index.js +353 -0
- package/dist/blocks/entitlements/index.d.ts +14 -0
- package/dist/blocks/entitlements/index.js +25 -0
- package/dist/blocks/flags/index.d.ts +226 -0
- package/dist/blocks/flags/index.js +282 -0
- package/dist/blocks/inbox/index.d.ts +6 -0
- package/dist/blocks/inbox/index.js +499 -0
- package/dist/blocks/inbox/react/index.d.ts +2 -0
- package/dist/blocks/inbox/react/index.js +225 -0
- package/dist/blocks/inbox/react/server.d.ts +10 -0
- package/dist/blocks/inbox/react/server.js +12 -0
- package/dist/blocks/index.d.ts +65 -0
- package/dist/blocks/index.js +77 -0
- package/dist/blocks/jobs/index.d.ts +297 -0
- package/dist/blocks/jobs/index.js +1051 -0
- package/dist/blocks/knowledge/index.d.ts +3 -0
- package/dist/blocks/knowledge/index.js +3 -0
- package/dist/blocks/memory/index.d.ts +8 -0
- package/dist/blocks/memory/index.js +289 -0
- package/dist/blocks/notifications/index.d.ts +297 -0
- package/dist/blocks/notifications/index.js +425 -0
- package/dist/blocks/notifications/react/index.d.ts +44 -0
- package/dist/blocks/notifications/react/index.js +67 -0
- package/dist/blocks/notifications/react/server.d.ts +6 -0
- package/dist/blocks/notifications/react/server.js +7 -0
- package/dist/blocks/onboarding/index.d.ts +3 -0
- package/dist/blocks/onboarding/index.js +64 -0
- package/dist/blocks/onboarding/react/index.d.ts +28 -0
- package/dist/blocks/onboarding/react/index.js +78 -0
- package/dist/blocks/onboarding/react/server.d.ts +7 -0
- package/dist/blocks/onboarding/react/server.js +7 -0
- package/dist/blocks/organizations/index.d.ts +241 -0
- package/dist/blocks/organizations/index.js +400 -0
- package/dist/blocks/outbox/index.d.ts +3 -0
- package/dist/blocks/outbox/index.js +266 -0
- package/dist/blocks/profiles/index.d.ts +40 -0
- package/dist/blocks/profiles/index.js +28 -0
- package/dist/blocks/push/index.d.ts +185 -0
- package/dist/blocks/push/index.js +258 -0
- package/dist/blocks/settings/index.d.ts +89 -0
- package/dist/blocks/settings/index.js +104 -0
- package/dist/blocks/sso/index.d.ts +198 -0
- package/dist/blocks/sso/index.js +1297 -0
- package/dist/blocks/usage/index.d.ts +4 -0
- package/dist/blocks/usage/index.js +233 -0
- package/dist/blocks/waitlist/index.d.ts +117 -0
- package/dist/blocks/waitlist/index.js +132 -0
- package/dist/blocks/webhooks/index.d.ts +304 -0
- package/dist/{webhooks → blocks/webhooks}/index.js +468 -148
- package/dist/blocks/workflow-builder/index.d.ts +21 -0
- package/dist/blocks/workflow-builder/index.js +5 -0
- package/dist/blocks/workflow-builder/react/index.d.ts +47 -0
- package/dist/blocks/workflow-builder/react/index.js +119 -0
- package/dist/blocks/workflow-builder/react/server.d.ts +8 -0
- package/dist/blocks/workflow-builder/react/server.js +11 -0
- package/dist/blocks/workflows/index.d.ts +3 -0
- package/dist/blocks/workflows/index.js +3 -0
- package/dist/blocks/workflows/react/index.d.ts +47 -0
- package/dist/blocks/workflows/react/index.js +137 -0
- package/dist/blocks/workflows/react/server.d.ts +8 -0
- package/dist/blocks/workflows/react/server.js +11 -0
- package/dist/{index-SaTsEfGP.d.ts → bucket-Cl46E3jS.d.ts} +134 -91
- package/dist/{simplify-_0oUKqCd.js → build-BXIzE6Xv.js} +222 -124
- package/dist/{channel-FQW-CnGR.d.ts → channel-_2Mx1Oyu.d.ts} +2 -2
- package/dist/channels-CkgQ_X60.js +114 -0
- package/dist/chat-sdk/index.d.ts +303 -0
- package/dist/chat-sdk/index.js +733 -0
- package/dist/chat-sdk/react/index.d.ts +2 -0
- package/dist/chat-sdk/react/index.js +3 -0
- package/dist/chat-sdk/react/server.d.ts +3 -0
- package/dist/chat-sdk/react/server.js +2 -0
- package/dist/claims-DDBQT6BK.js +61 -0
- package/dist/{claims-BAf6c7is.js → claims-PqzCxaTD.js} +39 -2
- package/dist/cli/bin.js +1 -1
- package/dist/cli/{codemod-DqV7612m.js → codemod-Bl_tQpHn.js} +105 -2
- package/dist/cli/config-B9HkL8nF.js +2 -0
- package/dist/cli/config-DU7EJImt.js +49 -0
- package/dist/cli/config-NiPxAmUF.js +1077 -0
- package/dist/cli/{dist-xn4wlboc.js → dist-DRAVaE6w.js} +111 -1
- package/dist/cli/{doctor-L7Z8mYTx.js → doctor-B4JOm_ox.js} +992 -316
- package/dist/cli/{env-DmKv_G4A.js → env-CJLbUVPB.js} +1 -1
- package/dist/cli/{env-jIFUADLY.js → env-qXgyMV6r.js} +2 -2
- package/dist/cli/fresh-import-BeYf9I3x.js +40 -0
- package/dist/cli/gen-BGLb_zou.js +3100 -0
- package/dist/cli/gen-DAH8FM2W.js +2 -0
- package/dist/cli/index.d.ts +44 -5
- package/dist/cli/index.js +7 -7
- package/dist/cli/{init-Saf5-R9T.js → init-BIIwclPg.js} +242 -27
- package/dist/cli/{introspect--H7oGmcd.js → introspect-DNUTuNvb.js} +5 -5
- package/dist/cli/{io-k41_z-jT.js → io-DI1mTdSA.js} +12 -3
- package/dist/cli/{keys-ByKHnvP9.js → keys-BGCnnb-s.js} +8 -6
- package/dist/cli/{ohash-D7bG_EOb.js → ohash-BjQY1cBb.js} +1 -1
- package/dist/cli/{openapi-Cp5Fyta-.js → openapi-BlRJ18s3.js} +2 -2
- package/dist/cli/{project-B_GeXyHh.js → project-DZRaBaY7.js} +11 -6
- package/dist/cli/read-sets-CETOSFx4.js +223 -0
- package/dist/cli/{run-BKR2W_79.js → run-DNWxHynX.js} +33 -23
- package/dist/cli/{seed-CUlqWh-8.js → seed-DQzqT7LP.js} +8 -6
- package/dist/cli/{skills-LJJIhLFR.js → skills-QQs4q68J.js} +3 -2
- package/dist/cli/sql-D0GUtUPp.js +536 -0
- package/dist/cli/{config-CPVpXP5I.js → supabase-toml-B-bIukQF.js} +72 -942
- package/dist/cli/typegen-version-DeFbtzYI.js +8 -0
- package/dist/cli/{version-BDJuO0UR.js → version-hr88OZG0.js} +1 -1
- package/dist/client/index.d.ts +3 -2
- package/dist/client/index.js +11 -71
- package/dist/client/native/index.d.ts +228 -0
- package/dist/client/native/index.js +361 -0
- package/dist/client-CI0Z2zWX.js +277 -0
- package/dist/cloud-event-BnmD5fb9.js +46 -0
- package/dist/cloud-event-C1JCc1bH.d.ts +50 -0
- package/dist/{compiler-BXH_aZ7N.d.ts → compiler-DY_wkj4R.d.ts} +2 -2
- package/dist/compose-BIBNgAnq.js +53 -0
- package/dist/composite-Bt1YK3Ke.d.ts +146 -0
- package/dist/composite-DhE66P5u.js +130 -0
- package/dist/config/index.d.ts +6 -4
- package/dist/config/index.js +5 -5
- package/dist/{config-T_ejwyd3.d.ts → config-D44Y7PAv.d.ts} +406 -205
- package/dist/{config-DreERlKo.js → config-Dn7F5k9A.js} +62 -14
- package/dist/connector-Dv8kK0MO.d.ts +107 -0
- package/dist/connectors-hkLCwyEz.d.ts +120 -0
- package/dist/context-BCrWe7ow.d.ts +237 -0
- package/dist/credentials/index.d.ts +31 -0
- package/dist/credentials/index.js +168 -0
- package/dist/cron-DVPUg5k3.js +145 -0
- package/dist/csv-CPAzEmB6.js +25 -0
- package/dist/db-exception-CnWcYPxL.js +15 -0
- package/dist/{define-cNKzqwL_.js → define-B-TVjC25.js} +784 -227
- package/dist/{define-Bp_BZa5h.d.ts → define-CJJkkr1-.d.ts} +353 -61
- package/dist/edge/index.d.ts +69 -11
- package/dist/edge/index.js +191 -75
- package/dist/elysia/index.d.ts +59 -0
- package/dist/elysia/index.js +62 -0
- package/dist/embeddings-4ZvFzjsU.js +127 -0
- package/dist/embeddings-C9KGQnXt.d.ts +68 -0
- package/dist/{refresh-BTrQ_ZTp.d.ts → ended-jLfvw8h-.d.ts} +20 -2
- package/dist/{entitlements-DUxU4oHe.d.ts → entitlements-DHrY2UDZ.d.ts} +16 -7
- package/dist/entitlements-DRl6ZJUm.js +24 -0
- package/dist/envelope-DqnYGRw7.js +47 -0
- package/dist/{errors-DtwXa6b8.js → errors-B11Duf73.js} +82 -13
- package/dist/errors-DLjJHPLK.js +44 -0
- package/dist/escape-like-DHfx6jRr.js +7 -0
- package/dist/escape-like-ImTK0ps_.d.ts +15 -0
- package/dist/eve/index.d.ts +220 -0
- package/dist/eve/index.js +504 -0
- package/dist/eve-gT2Fpjut.d.ts +151 -0
- package/dist/events/index.d.ts +4 -3
- package/dist/events/index.js +9 -50
- package/dist/events-DWDhx77e.d.ts +549 -0
- package/dist/executor-Bq28caBo.js +718 -0
- package/dist/executor-C-R4pucm.js +83 -0
- package/dist/executor-CaWigTyR.d.ts +148 -0
- package/dist/executor-D14tGopJ.d.ts +36 -0
- package/dist/{executor-Cghdstwu.d.ts → executor-DbvExCFC.d.ts} +7 -1
- package/dist/{sql-Coh6n4cC.js → executor-De1Of3m3.js} +210 -11
- package/dist/executor-DvsBbNBS.d.ts +261 -0
- package/dist/expo/index.d.ts +79 -0
- package/dist/expo/index.js +129 -0
- package/dist/expo-sqlite/index.d.ts +58 -0
- package/dist/expo-sqlite/index.js +104 -0
- package/dist/field-errors-BFOa7WhB.d.ts +99 -0
- package/dist/field-errors-VF1yb8yI.js +13 -0
- package/dist/framework-CONDyPYx.js +51 -0
- package/dist/framework-DuVb4Xa8.d.ts +25 -0
- package/dist/gateway-C1ssRHnf.d.ts +130 -0
- package/dist/graph-BGyLLFLX.js +265 -0
- package/dist/h3/index.d.ts +59 -0
- package/dist/h3/index.js +55 -0
- package/dist/h3/v1/index.d.ts +63 -0
- package/dist/h3/v1/index.js +49 -0
- package/dist/history-BZih6SFP.js +64 -0
- package/dist/hono/index.d.ts +56 -7
- package/dist/hono/index.js +97 -45
- package/dist/{react-C_s7kiNz.js → hooks-1BTCJsiw.js} +104 -133
- package/dist/http-Cv4T29xh.js +40 -0
- package/dist/http-DdYadv-o.js +126 -0
- package/dist/image-url-pIVlO6R1.js +41 -0
- package/dist/impersonation-DcqaTBHx.js +148 -0
- package/dist/inbox-i7E1ppo6.d.ts +384 -0
- package/dist/index-ACiNPN4Z.d.ts +74 -0
- package/dist/{index-DgILJRXj.d.ts → index-Bepi-Hgg.d.ts} +91 -28
- package/dist/index-BkWT_uBO.d.ts +51 -0
- package/dist/index-BpFYMsi0.d.ts +53 -0
- package/dist/{index-C7f8cOBM.d.ts → index-Bxih3l0u.d.ts} +2 -2
- package/dist/index-CaxrMD1A.d.ts +1 -0
- package/dist/index-ClmjK_o-.d.ts +55 -0
- package/dist/index-CtuakVRc.d.ts +267 -0
- package/dist/index-D48jVS-N.d.ts +246 -0
- package/dist/index-DDrYaUcq.d.ts +138 -0
- package/dist/index-DQh4VCc9.d.ts +98 -0
- package/dist/{live-D9W2M5aO.d.ts → index-DunNRdnT.d.ts} +136 -38
- package/dist/index.d.ts +65 -18
- package/dist/index.js +42 -14
- package/dist/invalidate-BBqhpxyB.d.ts +19 -0
- package/dist/json-CEnpTHlZ.js +16 -0
- package/dist/json-schema-CvER4kgT.js +502 -0
- package/dist/keys-4MnkWTTh.js +35 -0
- package/dist/kit-B5tid-q5.d.ts +60 -0
- package/dist/kit-Fm-Fv7q5.js +78 -0
- package/dist/knowledge-BXBbT0Tr.d.ts +176 -0
- package/dist/knowledge-CDmiMLew.js +255 -0
- package/dist/lint/index.d.ts +1 -1
- package/dist/lint/index.js +37 -0
- package/dist/list/index.d.ts +3 -2
- package/dist/list/index.js +1 -444
- package/dist/{index-fag8VJZ2.d.ts → list-query-BRt-zDF7.d.ts} +20 -12
- package/dist/list-query-gl808ac1.js +459 -0
- package/dist/{live-CdJBOc4f.js → live-CTAZQkwl.js} +99 -14
- package/dist/logger-DWVYUmwi.d.ts +18 -0
- package/dist/mcp/index.d.ts +38 -11
- package/dist/mcp/index.js +82 -46
- package/dist/mcp/sdk/index.d.ts +105 -0
- package/dist/mcp/sdk/index.js +126 -0
- package/dist/message-CaKlqdsX.js +219 -0
- package/dist/message-CfDoR0Y6.d.ts +94 -0
- package/dist/messages-B9-5887d.js +715 -0
- package/dist/messages-DYP0sUTe.d.ts +59 -0
- package/dist/{mfa-CusDgPaD.d.ts → mfa-Daak8ukG.d.ts} +8 -2
- package/dist/modules-DpPwzC7E.d.ts +192 -0
- package/dist/modules-dxrVK3ID.js +228 -0
- package/dist/nestjs/index.d.ts +68 -0
- package/dist/nestjs/index.js +164 -0
- package/dist/next/client/index.d.ts +35 -0
- package/dist/next/client/index.js +36 -0
- package/dist/next/image/index.js +3 -24
- package/dist/next/index.d.ts +150 -51
- package/dist/next/index.js +261 -107
- package/dist/node/index.d.ts +4 -0
- package/dist/node/index.js +210 -0
- package/dist/node-headers-AO06VhqH.d.ts +24 -0
- package/dist/node-headers-C71zNQHe.js +55 -0
- package/dist/nuxt/index.d.ts +60 -0
- package/dist/nuxt/index.js +64 -0
- package/dist/onboarding-BZGHYJks.d.ts +62 -0
- package/dist/openapi/index.d.ts +1 -1
- package/dist/openapi/index.js +3 -3
- package/dist/orpc/index.d.ts +70 -11
- package/dist/orpc/index.js +73 -24
- package/dist/otel/index.d.ts +7 -7
- package/dist/otel/index.js +87 -57
- package/dist/outbox-Cq7pPYvl.d.ts +161 -0
- package/dist/{plugin-o144f322.d.ts → plugin-FGY8UhYm.d.ts} +30 -10
- package/dist/plugin-tfXW1-qO.js +45 -0
- package/dist/plugins/actor/index.d.ts +2 -2
- package/dist/plugins/actor/index.js +3 -3
- package/dist/plugins/rules/index.d.ts +11 -4
- package/dist/plugins/rules/index.js +40 -13
- package/dist/plugins/soft-delete/index.d.ts +5 -4
- package/dist/plugins/soft-delete/index.js +10 -5
- package/dist/plugins/tenant/index.d.ts +2 -2
- package/dist/plugins/tenant/index.js +18 -11
- package/dist/plugins/timestamps/index.d.ts +5 -3
- package/dist/plugins/timestamps/index.js +6 -4
- package/dist/plugins/validation/index.d.ts +2 -2
- package/dist/plugins/validation/index.js +10 -6
- package/dist/{pool-C9voM4Kw.d.ts → pool-CAu2nLrL.d.ts} +2 -2
- package/dist/postgres/index.d.ts +4 -4
- package/dist/postgres/index.js +1 -2
- package/dist/{postgrest-CruYKAvV.d.ts → postgrest-BLVdEnfe.d.ts} +13 -3
- package/dist/powersync/index.d.ts +43 -0
- package/dist/powersync/index.js +199 -0
- package/dist/powersync/react/index.d.ts +87 -0
- package/dist/powersync/react/index.js +108 -0
- package/dist/{problem-BW1KhzSG.js → problem-BreOl8b8.js} +14 -3
- package/dist/{problem-Blxe8S31.d.ts → problem-DD8LZFjc.d.ts} +21 -3
- package/dist/provider-BH5UWZJ6.d.ts +113 -0
- package/dist/provider-Di3sRutW.js +57 -0
- package/dist/query/index.d.ts +4 -2
- package/dist/query/index.js +4 -3
- package/dist/{query-CCbo44lG.js → query-BQ-NaZon.js} +141 -24
- package/dist/{queue-BYUCjr59.d.ts → queue-CLJurhdy.d.ts} +258 -83
- package/dist/react/index.d.ts +11 -7
- package/dist/react/index.js +7 -3
- package/dist/react/native/index.d.ts +116 -0
- package/dist/react/native/index.js +130 -0
- package/dist/react/server.d.ts +28 -10
- package/dist/react/server.js +22 -5
- package/dist/react/session.d.ts +2 -2
- package/dist/react-4ZqkP8da.js +79 -0
- package/dist/react-F80mF4-t.js +409 -0
- package/dist/react-router/index.d.ts +83 -0
- package/dist/react-router/index.js +89 -0
- package/dist/react-topic-seAWjL3_.js +38 -0
- package/dist/{read-set-DQFt1N_Y.js → read-set-DuKWC9Mj.js} +67 -25
- package/dist/realtime/index.d.ts +4 -5
- package/dist/realtime/index.js +144 -82
- package/dist/refusal-CeJWxmkH.js +61 -0
- package/dist/refusal-D1rgbzNq.d.ts +15 -0
- package/dist/replicas-CwrYp5Zj.js +94 -0
- package/dist/{view-Bq64ki8-.js → resolve-D_IcnvFd.js} +239 -289
- package/dist/{resolve-C15TJq77.d.ts → resolve-KW8nCeL6.d.ts} +29 -45
- package/dist/{resource-CRxxwkQq.js → resource-BsvzCMlX.js} +4 -4
- package/dist/{resource-D8iqWMr-.d.ts → resource-D6Uc7Sk7.d.ts} +5 -5
- package/dist/respond-BUgsXNgk.js +91 -0
- package/dist/respond-DoBijysA.d.ts +93 -0
- package/dist/result-D7y2fT87.d.ts +282 -0
- package/dist/{result-BKiliPY7.js → result-DzUbqgdW.js} +27 -2
- package/dist/run-state-CPo-1X2B.d.ts +12 -0
- package/dist/run-state-CgBKzYMW.js +13 -0
- package/dist/search-CUWCRYKL.js +9 -0
- package/dist/server/index.d.ts +143 -21
- package/dist/server/index.js +46 -14
- package/dist/{respond-D2OQl62-.d.ts → server-CeVeeXwz.d.ts} +225 -80
- package/dist/session-ChiXDZdZ.d.ts +72 -0
- package/dist/shared-CBxosKK3.js +75 -0
- package/dist/{shared-D1dRUrAg.js → shared-CxWmcyqB.js} +2 -1
- package/dist/shared-DDSjEGDR.d.ts +11 -0
- package/dist/sign-in-BCV5S2WZ.d.ts +49 -0
- package/dist/sign-in-Cb1mwv6X.js +86 -0
- package/dist/{signers-Cc6r98SW.d.ts → signers-4y62_VIi.d.ts} +13 -9
- package/dist/simplify-DDO0j0LI.js +83 -0
- package/dist/solid/index.d.ts +131 -0
- package/dist/solid/index.js +344 -0
- package/dist/solid-start/index.d.ts +75 -0
- package/dist/solid-start/index.js +58 -0
- package/dist/{spec-pins-C3oc-Tdp.js → spec-pins--j6mTok4.js} +8 -1
- package/dist/{spec-pins-CqorWDnO.d.ts → spec-pins-C89s6DyW.d.ts} +7 -0
- package/dist/sql/index.d.ts +330 -194
- package/dist/sql/index.js +34901 -6489
- package/dist/ssr/index.d.ts +6 -5
- package/dist/ssr/index.js +3 -3
- package/dist/{standard-D7r6dMUu.js → standard-BK0cqJ7y.js} +4 -3
- package/dist/{standard-J4YgMOLm.d.ts → standard-CYsm7xpT.d.ts} +1 -1
- package/dist/stats-D_AD9GGu.js +1123 -0
- package/dist/storage/index.d.ts +5 -5
- package/dist/storage/index.js +1027 -368
- package/dist/store-BdH5ruDx.js +66 -0
- package/dist/store-CGjgWu5n.d.ts +68 -0
- package/dist/streams/index.d.ts +76 -0
- package/dist/streams/index.js +77 -0
- package/dist/streams/redis/index.d.ts +52 -0
- package/dist/streams/redis/index.js +185 -0
- package/dist/stripe-BMj5LtsT.js +38 -0
- package/dist/stripe-D04h-QBT.d.ts +136 -0
- package/dist/{support-Dk6vdmEw.js → support-BivNqSpK.js} +35 -12
- package/dist/{support-view-Da5peKFg.d.ts → support-view-33Oi07TT.d.ts} +1 -1
- package/dist/svelte/index.d.ts +114 -0
- package/dist/svelte/index.js +344 -0
- package/dist/sveltekit/index.d.ts +116 -0
- package/dist/sveltekit/index.js +106 -0
- package/dist/tags-B99_U9Pp.js +39 -0
- package/dist/tags-Cx-LnIQP.d.ts +30 -0
- package/dist/tanstack-db/index.d.ts +71 -0
- package/dist/tanstack-db/index.js +72 -0
- package/dist/tanstack-start/index.d.ts +75 -0
- package/dist/tanstack-start/index.js +95 -0
- package/dist/tee-CoEppCER.js +101 -0
- package/dist/{template-TxrGI5jR.js → template--jDkl3UP.js} +34 -13
- package/dist/template-CwO38Do8.d.ts +6 -0
- package/dist/temporal-BJGitm-h.js +79 -0
- package/dist/{temporal-required-CAt4Dc9Z.js → temporal-required-BVvW7SYJ.js} +3 -2
- package/dist/tenant-I1TEZ_BX.js +27 -0
- package/dist/tenant-icPeuUBN.d.ts +17 -0
- package/dist/testing/index.d.ts +343 -37
- package/dist/testing/index.js +1186 -79
- package/dist/timing-CyTQPubY.js +92 -0
- package/dist/ttl-Hr34gRu8.js +12 -0
- package/dist/{types-Dnf_wRDz.d.ts → types-6BdhkmZe.d.ts} +111 -45
- package/dist/types-BI-0Sl2v.d.ts +359 -0
- package/dist/types-C05bxW-W.d.ts +220 -0
- package/dist/types-DGs5L0VN.d.ts +192 -0
- package/dist/types-TaiEeBGA.d.ts +156 -0
- package/dist/usage-CrvrL2vw.d.ts +177 -0
- package/dist/user-change-XzvgafU4.js +130 -0
- package/dist/vault-CSO7ss5C.d.ts +50 -0
- package/dist/vercel-connect/index.d.ts +47 -0
- package/dist/vercel-connect/index.js +119 -0
- package/dist/{verify-Ce49ETPz.js → verify-DL41hbvY.js} +85 -13
- package/dist/verify-DPuWngD4.d.ts +172 -0
- package/dist/{version-DM_Roffb.js → version-Bvv6aLjZ.js} +1 -1
- package/dist/view-BeFcRV6G.js +99 -0
- package/dist/{view-BEf0diC5.d.ts → view-DbxLNu8L.d.ts} +35 -32
- package/dist/vue/index.d.ts +141 -0
- package/dist/vue/index.js +362 -0
- package/dist/watch-DI34G86j.d.ts +60 -0
- package/dist/watch-Xuxrvxq-.js +122 -0
- package/dist/{wire-D2dT86vi.js → wire-DtZQ4sdE.js} +15 -5
- package/dist/workflow-builder-DJ1oHn8g.js +398 -0
- package/dist/workflow-sdk/builder/index.d.ts +85 -0
- package/dist/workflow-sdk/builder/index.js +250 -0
- package/dist/workflow-sdk/index.d.ts +14 -0
- package/dist/workflow-sdk/index.js +3 -0
- package/dist/workflow-sdk/world/index.d.ts +107 -0
- package/dist/workflow-sdk/world/index.js +702 -0
- package/dist/workflow-sdk-B3yLD6Br.d.ts +98 -0
- package/dist/workflow-sdk-C2WJ_G2O.js +173 -0
- package/dist/workflow-sdk-world-D-prir6O.js +1397 -0
- package/dist/workflows-B0j9WKPu.d.ts +185 -0
- package/dist/workflows-wu1WWBn7.js +216 -0
- package/package.json +470 -29
- package/schemas/ai-message-v1.json +258 -0
- package/schemas/config-v1.json +1074 -140
- package/schemas/doctor-report-v1.json +21 -1
- package/schemas/snapshot-v2.json +8 -0
- package/skills/better-supabase/SKILL.md +41 -12
- package/skills/better-supabase/references/frontend.md +96 -0
- package/skills/better-supabase/references/plugins.md +10 -6
- package/skills/better-supabase/references/troubleshooting.md +2 -1
- package/skills/better-supabase-api/SKILL.md +76 -22
- package/skills/better-supabase-api/references/adapters.md +207 -0
- package/skills/better-supabase-api/references/ai.md +125 -0
- package/skills/better-supabase-api/references/expo.md +65 -0
- package/skills/better-supabase-api/references/powersync.md +35 -0
- package/skills/better-supabase-api/references/streams-credentials.md +105 -0
- package/skills/better-supabase-auth/SKILL.md +62 -18
- package/skills/better-supabase-auth/references/authorization-providers.md +51 -0
- package/skills/better-supabase-testing/SKILL.md +3 -1
- package/dist/cli/config-dtoekM0v.js +0 -2
- package/dist/cli/gen-BJc9vdyu.js +0 -2
- package/dist/cli/gen-C2osRcr5.js +0 -2204
- package/dist/cli/read-sets-BfMQcKy8.js +0 -289
- package/dist/cli/sql-DzPbfngx.js +0 -348
- package/dist/entitlements-CTEBm7IB.js +0 -20
- package/dist/events-aIO7vsIk.d.ts +0 -230
- package/dist/executor-BunPOO-k.d.ts +0 -402
- package/dist/executor-XycESQPH.js +0 -94
- package/dist/impersonation-VfaGc4Q_.js +0 -41
- package/dist/index-BGdgBPdf.d.ts +0 -161
- package/dist/index-DOESKG27.d.ts +0 -100
- package/dist/index-DmXSxbLi.d.ts +0 -62
- package/dist/index-Dxn2a5cw.d.ts +0 -50
- package/dist/jobs/index.d.ts +0 -226
- package/dist/jobs/index.js +0 -1007
- package/dist/json-schema-m1fiwKgN.js +0 -208
- package/dist/kit-events-CTFDfSwb.js +0 -60
- package/dist/kit-transport-B82k1djG.d.ts +0 -33
- package/dist/kits-CGLLrNPd.js +0 -157
- package/dist/notifications/index.d.ts +0 -162
- package/dist/notifications/index.js +0 -264
- package/dist/orgs/index.d.ts +0 -132
- package/dist/orgs/index.js +0 -245
- package/dist/permdock-sql-C2Inc6Xc.d.ts +0 -29
- package/dist/permdock-sql-DgOfeixi.js +0 -51
- package/dist/plugin-DwARMuQp.js +0 -59
- package/dist/server-Csx2sRjg.js +0 -655
- package/dist/stats-Bqob3WqT.js +0 -592
- package/dist/support-DT-OhSxD.d.ts +0 -88
- package/dist/template-mbvlysOo.d.ts +0 -6
- package/dist/temporal-CVlIV2DZ.js +0 -40
- package/dist/user-change-CHFEUro1.js +0 -49
- package/dist/webhooks/index.d.ts +0 -285
- package/skills/better-supabase-auth/references/permdock.md +0 -100
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { i as useAuth, l as useSupabase } from "../../../hooks-1BTCJsiw.js";
|
|
3
|
+
import { n as rpcTransport } from "../../../block-transport-BLr-ZgLc.js";
|
|
4
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
5
|
+
//#region src/blocks/onboarding/react/index.ts
|
|
6
|
+
/**
|
|
7
|
+
* A checklist's progress for the signed-in user, or for an organization
|
|
8
|
+
* with `organizationId`, through the browser client.
|
|
9
|
+
*
|
|
10
|
+
* ```tsx
|
|
11
|
+
* const { progress, complete } = useOnboarding(gettingStarted, { organizationId });
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
function useOnboarding(checklist, options = {}) {
|
|
15
|
+
const supabase = useSupabase();
|
|
16
|
+
const auth = useAuth();
|
|
17
|
+
const [progress, setProgress] = useState(void 0);
|
|
18
|
+
const [error, setError] = useState(void 0);
|
|
19
|
+
const organizationId = options.organizationId ?? null;
|
|
20
|
+
const schema = options.schema;
|
|
21
|
+
const ready = auth.status === "signed-in" && (checklist.scope === "user" || organizationId !== null);
|
|
22
|
+
const bound = useMemo(() => {
|
|
23
|
+
const client = checklist.connect({
|
|
24
|
+
transport: rpcTransport(supabase),
|
|
25
|
+
...schema === void 0 ? {} : { schema }
|
|
26
|
+
});
|
|
27
|
+
const subject = checklist.scope === "organization" && organizationId !== null ? [organizationId] : [];
|
|
28
|
+
return {
|
|
29
|
+
progress: () => client.progress(...subject),
|
|
30
|
+
complete: (step) => client.complete(step, ...subject),
|
|
31
|
+
reset: (step) => client.reset(step, ...subject)
|
|
32
|
+
};
|
|
33
|
+
}, [
|
|
34
|
+
checklist,
|
|
35
|
+
supabase,
|
|
36
|
+
schema,
|
|
37
|
+
organizationId
|
|
38
|
+
]);
|
|
39
|
+
const userId = auth.user?.id ?? null;
|
|
40
|
+
const apply = useCallback((result) => {
|
|
41
|
+
if (result.ok) {
|
|
42
|
+
setProgress(result.data);
|
|
43
|
+
setError(void 0);
|
|
44
|
+
} else setError(result.error);
|
|
45
|
+
}, []);
|
|
46
|
+
const refresh = useCallback(async () => {
|
|
47
|
+
apply(await bound.progress());
|
|
48
|
+
}, [bound, apply]);
|
|
49
|
+
const change = useCallback(async (action, step) => {
|
|
50
|
+
const result = await bound[action](step);
|
|
51
|
+
if (result.ok) await refresh();
|
|
52
|
+
else setError(result.error);
|
|
53
|
+
}, [bound, refresh]);
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
if (!ready) return;
|
|
56
|
+
let active = true;
|
|
57
|
+
bound.progress().then((result) => {
|
|
58
|
+
if (active) apply(result);
|
|
59
|
+
});
|
|
60
|
+
return () => {
|
|
61
|
+
active = false;
|
|
62
|
+
};
|
|
63
|
+
}, [
|
|
64
|
+
bound,
|
|
65
|
+
apply,
|
|
66
|
+
ready,
|
|
67
|
+
userId
|
|
68
|
+
]);
|
|
69
|
+
return {
|
|
70
|
+
progress,
|
|
71
|
+
error,
|
|
72
|
+
complete: (step) => change("complete", step),
|
|
73
|
+
reset: (step) => change("reset", step),
|
|
74
|
+
refresh
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//#endregion
|
|
78
|
+
export { useOnboarding };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { a as ChecklistScope, t as Checklist } from "../../../onboarding-BZGHYJks.js";
|
|
2
|
+
import { OnboardingState, UseOnboardingOptions } from "./index.js";
|
|
3
|
+
//#region src/blocks/onboarding/react/server.d.ts
|
|
4
|
+
/** The `react-server` build of `useOnboarding`: call the checklist's `progress()` instead. */
|
|
5
|
+
export declare const useOnboarding: <Id extends string, Scope extends ChecklistScope>(checklist: Checklist<Id, Scope>, options?: UseOnboardingOptions) => OnboardingState<Id>;
|
|
6
|
+
//#endregion
|
|
7
|
+
export type { OnboardingState, UseOnboardingOptions };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
//#region src/blocks/onboarding/react/server.ts
|
|
2
|
+
/** The `react-server` build of `useOnboarding`: call the checklist's `progress()` instead. */
|
|
3
|
+
const useOnboarding = () => {
|
|
4
|
+
throw new Error("better-supabase: useOnboarding() runs in Client Components only. In Server Components call `checklist.connect(...).progress()` instead.");
|
|
5
|
+
};
|
|
6
|
+
//#endregion
|
|
7
|
+
export { useOnboarding };
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
/// <reference lib="esnext.temporal" />
|
|
2
|
+
import { t as AsyncResult, w as ErrorMapper } from "../../result-D7y2fT87.js";
|
|
3
|
+
import { i as sqlTransport, n as RpcClient, r as rpcTransport, t as BlockTransport } from "../../block-transport-DvaoPuZ9.js";
|
|
4
|
+
import { m as RequestContext } from "../../plugin-FGY8UhYm.js";
|
|
5
|
+
import { a as EventHub } from "../../events-DWDhx77e.js";
|
|
6
|
+
import { t as StandardSchemaV1 } from "../../standard-CYsm7xpT.js";
|
|
7
|
+
import { r as BlockTemporalOptions } from "../../block-helpers-CKtbFcRv.js";
|
|
8
|
+
import { a as BlockTransportMiddleware, d as extendBlock, f as withBlockHooks, n as BlockHooks, p as wrapTransport } from "../../block-hooks-plbZ0AbJ.js";
|
|
9
|
+
import { n as FieldsOf } from "../../block-fields-SJ6fEf3o.js";
|
|
10
|
+
//#region src/sql/modules/invitations-tables.d.ts
|
|
11
|
+
declare const INVITATION_ERRORS: {
|
|
12
|
+
readonly INVITATION_FORBIDDEN: "42501";
|
|
13
|
+
readonly INVITATION_ROLE_FORBIDDEN: "42501";
|
|
14
|
+
readonly INVITATION_ROLE_UNKNOWN: "23514";
|
|
15
|
+
readonly INVITATION_ALREADY_MEMBER: "23505";
|
|
16
|
+
readonly INVITATION_INVALID: "P0002";
|
|
17
|
+
readonly INVITATION_EXPIRED: "P0002";
|
|
18
|
+
readonly INVITATION_VALIDITY: "22023";
|
|
19
|
+
readonly INVITATION_SIGN_IN: "42501";
|
|
20
|
+
readonly INVITATION_EMAIL_MISMATCH: "42501";
|
|
21
|
+
readonly INVITATION_EMAIL_UNCONFIRMED: "42501";
|
|
22
|
+
readonly INVITATION_SELF: "42501";
|
|
23
|
+
readonly INVITATION_INVITER_REVOKED: "42501";
|
|
24
|
+
readonly INVITATION_SCOPE_UNSUPPORTED: "0A000";
|
|
25
|
+
};
|
|
26
|
+
type InvitationError = keyof typeof INVITATION_ERRORS;
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/blocks/organizations/organizations.d.ts
|
|
29
|
+
/**
|
|
30
|
+
* Organization columns by database name: `name`, `slug`, the columns in
|
|
31
|
+
* `sql.modules.organizations.options.attributes` and the ones
|
|
32
|
+
* `options.extraColumns` adds. Other keys are ignored.
|
|
33
|
+
*/
|
|
34
|
+
interface OrganizationAttributes {
|
|
35
|
+
readonly name?: string;
|
|
36
|
+
readonly slug?: string;
|
|
37
|
+
readonly [column: string]: unknown;
|
|
38
|
+
}
|
|
39
|
+
interface CreateOrganizationOptions {
|
|
40
|
+
/** The owner, when the transport runs as the service role. */
|
|
41
|
+
readonly ownerId?: string;
|
|
42
|
+
}
|
|
43
|
+
type SlugProblem = "invalid" | "reserved" | "taken";
|
|
44
|
+
interface InviteRequest {
|
|
45
|
+
/** `null` invites to the platform (`sql.modules.access.model: 'catalog'`). */
|
|
46
|
+
readonly organizationId: string | null;
|
|
47
|
+
readonly email: string;
|
|
48
|
+
/** A role name, or a role id or key under the catalog model. */
|
|
49
|
+
readonly role: string;
|
|
50
|
+
/** A Postgres interval such as `'3 days'`. Defaults to `options.validFor`. */
|
|
51
|
+
readonly validFor?: string;
|
|
52
|
+
/** Profile fields to fill in on sign-up. */
|
|
53
|
+
readonly prefill?: Readonly<Record<string, unknown>>;
|
|
54
|
+
}
|
|
55
|
+
interface Invitation {
|
|
56
|
+
readonly id: string;
|
|
57
|
+
readonly organizationId: string | null;
|
|
58
|
+
readonly email: string;
|
|
59
|
+
readonly role: string;
|
|
60
|
+
readonly expiresAt: Temporal.Instant;
|
|
61
|
+
/** Absent when the invitations table has no `createdAt` column. */
|
|
62
|
+
readonly createdAt?: Temporal.Instant;
|
|
63
|
+
readonly invitedBy?: string;
|
|
64
|
+
/** The organization's id and `options.previewColumns`; `null` for a platform invitation. */
|
|
65
|
+
readonly organization: Readonly<Record<string, unknown>> | null;
|
|
66
|
+
readonly prefill: Readonly<Record<string, unknown>>;
|
|
67
|
+
/**
|
|
68
|
+
* The inviter's `id` and public profile fields (`username`, `fullName`,
|
|
69
|
+
* `firstName`, `lastName`, `avatar`, as the profiles module maps them).
|
|
70
|
+
* `null` without the profiles module, an `invitedBy` column or the
|
|
71
|
+
* inviter's profile.
|
|
72
|
+
*/
|
|
73
|
+
readonly inviter: Readonly<Record<string, unknown>> | null;
|
|
74
|
+
/** The keys an `invitation_preview_extra` hook added, such as a role label. */
|
|
75
|
+
readonly extra: Readonly<Record<string, unknown>>;
|
|
76
|
+
}
|
|
77
|
+
/** What `updateInvitation` changes; a missing key keeps the current value. */
|
|
78
|
+
interface InvitationChanges {
|
|
79
|
+
readonly email?: string;
|
|
80
|
+
/** A role name, or a role id or key under the catalog model. */
|
|
81
|
+
readonly role?: string;
|
|
82
|
+
/** Replaces the profile fields to fill in on sign-up. */
|
|
83
|
+
readonly prefill?: Readonly<Record<string, unknown>>;
|
|
84
|
+
}
|
|
85
|
+
/** What `onInvite` receives: the place to send the email. */
|
|
86
|
+
interface InvitationSent {
|
|
87
|
+
readonly invitation: Invitation;
|
|
88
|
+
/** Put it in the accept link. It is never stored in plain text by default. */
|
|
89
|
+
readonly token: string;
|
|
90
|
+
readonly resent: boolean;
|
|
91
|
+
}
|
|
92
|
+
type InvitationStatus = "pending" | "accepted" | "declined" | "revoked" | "expired";
|
|
93
|
+
interface InvitationPreview {
|
|
94
|
+
readonly status: InvitationStatus;
|
|
95
|
+
readonly email: string;
|
|
96
|
+
readonly role: string;
|
|
97
|
+
readonly organizationId: string | null;
|
|
98
|
+
readonly expiresAt: Temporal.Instant;
|
|
99
|
+
/** The organization columns in `options.previewColumns`. */
|
|
100
|
+
readonly organization: Readonly<Record<string, unknown>> | null;
|
|
101
|
+
readonly prefill: Readonly<Record<string, unknown>>;
|
|
102
|
+
/**
|
|
103
|
+
* The keys an `invitation_preview_extra` hook added, such as a role's
|
|
104
|
+
* display name or branding. Empty without the hook.
|
|
105
|
+
*/
|
|
106
|
+
readonly extra: Readonly<Record<string, unknown>>;
|
|
107
|
+
}
|
|
108
|
+
interface SwitchResult {
|
|
109
|
+
readonly organizationId: string;
|
|
110
|
+
/** The active tenant is a claim: refresh the session to get it. */
|
|
111
|
+
readonly refresh: boolean;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* A membership `list_my_organizations` returns. The attribute and extra
|
|
115
|
+
* columns follow under their database names, parsed by `options.fields`
|
|
116
|
+
* when it is set.
|
|
117
|
+
*/
|
|
118
|
+
interface OrganizationMembership {
|
|
119
|
+
readonly id: string;
|
|
120
|
+
readonly name: string;
|
|
121
|
+
readonly slug?: string;
|
|
122
|
+
readonly role: string;
|
|
123
|
+
readonly disabledAt?: Temporal.Instant;
|
|
124
|
+
readonly [column: string]: unknown;
|
|
125
|
+
}
|
|
126
|
+
/** A row `list_members` returns. */
|
|
127
|
+
interface OrganizationMember {
|
|
128
|
+
readonly userId: string;
|
|
129
|
+
readonly role: string;
|
|
130
|
+
readonly disabledAt?: Temporal.Instant;
|
|
131
|
+
}
|
|
132
|
+
/** An open invitation `list_organization_invitations` returns. */
|
|
133
|
+
interface OrganizationInvitationRow {
|
|
134
|
+
readonly id: string;
|
|
135
|
+
readonly email: string;
|
|
136
|
+
readonly role: string;
|
|
137
|
+
readonly expiresAt?: Temporal.Instant;
|
|
138
|
+
}
|
|
139
|
+
interface OrganizationsOptions<S extends StandardSchemaV1 | undefined = undefined> extends BlockTemporalOptions {
|
|
140
|
+
/**
|
|
141
|
+
* A Standard Schema for the organization's extra columns
|
|
142
|
+
* (`options.attributes` and `options.extraColumns`), keyed by database
|
|
143
|
+
* name. It types and parses them on `mine()`, and validates them on
|
|
144
|
+
* `create` and `update`, which return a `validation` error for a bad value.
|
|
145
|
+
*/
|
|
146
|
+
readonly fields?: S;
|
|
147
|
+
/** `withBlockHooks` hooks around the methods, such as a seat limit on `invite`. */
|
|
148
|
+
readonly hooks?: NoInfer<BlockHooks<Organizations<FieldsOf<S>>>>;
|
|
149
|
+
/** `sqlTransport(postgres.asUser(claims))` or `rpcTransport(supabase)`. */
|
|
150
|
+
readonly transport: BlockTransport;
|
|
151
|
+
/**
|
|
152
|
+
* The schema holding the functions: `sql.modules.<module>.schema` with
|
|
153
|
+
* `sqlTransport`, the exposed API schema of wrappers with `rpcTransport`.
|
|
154
|
+
* One schema for both modules, or one per module. Defaults to
|
|
155
|
+
* `better_supabase`.
|
|
156
|
+
*/
|
|
157
|
+
readonly schema?: string | {
|
|
158
|
+
readonly organizations?: string;
|
|
159
|
+
readonly invitations?: string;
|
|
160
|
+
};
|
|
161
|
+
/** `betterSupabase.events`, to emit `organization.*` and `invitation.*` block events. */
|
|
162
|
+
readonly events?: EventHub;
|
|
163
|
+
/** The user acting, for event metadata. */
|
|
164
|
+
readonly actorId?: string;
|
|
165
|
+
readonly context?: RequestContext;
|
|
166
|
+
/**
|
|
167
|
+
* Runs before an invitation is created, after the database checks the
|
|
168
|
+
* caller may invite. Return `false` to refuse (seat limits, plans).
|
|
169
|
+
*/
|
|
170
|
+
readonly canInvite?: (request: InviteRequest) => boolean | Promise<boolean>;
|
|
171
|
+
/**
|
|
172
|
+
* Runs after an invitation is created or resent, to send the email. When
|
|
173
|
+
* it throws, the call returns an error and the invitation stays open:
|
|
174
|
+
* call `resendInvitation` to retry.
|
|
175
|
+
*/
|
|
176
|
+
readonly onInvite?: (sent: InvitationSent) => void | Promise<void>;
|
|
177
|
+
/** Error mappers that run before the built-in ones, as in `betterSupabase.mapError()`. */
|
|
178
|
+
readonly mappers?: readonly ErrorMapper[];
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* The `hint` of an invitation error: `INVITATION_EXPIRED` for an open
|
|
182
|
+
* invitation past its expiry, `INVITATION_INVALID` for one that is unknown,
|
|
183
|
+
* accepted, declined or revoked, and the other `INVITATION_*` codes.
|
|
184
|
+
*/
|
|
185
|
+
type InvitationErrorHint = InvitationError;
|
|
186
|
+
/**
|
|
187
|
+
* The `organizations` and `invitations` SQL modules as typed calls. Each
|
|
188
|
+
* method returns an `AsyncResult`; database errors carry the module's error
|
|
189
|
+
* code (`ORGANIZATION_FORBIDDEN`, `INVITATION_EXPIRED`) as `hint`. `F` is
|
|
190
|
+
* the extra fields `options.fields` describes.
|
|
191
|
+
*/
|
|
192
|
+
interface Organizations<F extends object = Record<never, never>> {
|
|
193
|
+
create(attributes: OrganizationAttributes & Partial<F>, options?: CreateOrganizationOptions): AsyncResult<{
|
|
194
|
+
readonly id: string;
|
|
195
|
+
}>;
|
|
196
|
+
update(organizationId: string, attributes: OrganizationAttributes & Partial<F>): AsyncResult<true>;
|
|
197
|
+
/** `false` when it did not exist (or was already soft-deleted). */
|
|
198
|
+
delete(organizationId: string): AsyncResult<boolean>;
|
|
199
|
+
/** Why a slug can't be used, or `undefined` when it can. */
|
|
200
|
+
slugProblem(slug: string, exceptOrganizationId?: string): AsyncResult<SlugProblem | undefined>;
|
|
201
|
+
updateMemberRole(organizationId: string, userId: string, role: string): AsyncResult<true>;
|
|
202
|
+
removeMember(organizationId: string, userId: string): AsyncResult<true>;
|
|
203
|
+
suspendMember(organizationId: string, userId: string): AsyncResult<boolean>;
|
|
204
|
+
resumeMember(organizationId: string, userId: string): AsyncResult<boolean>;
|
|
205
|
+
leave(organizationId: string): AsyncResult<true>;
|
|
206
|
+
/** `formerRole` defaults to `options.formerOwnerRole`. */
|
|
207
|
+
transferOwnership(organizationId: string, newOwnerId: string, formerRole?: string): AsyncResult<true>;
|
|
208
|
+
markUsed(organizationId: string): AsyncResult<boolean>;
|
|
209
|
+
switch(organizationId: string): AsyncResult<SwitchResult>;
|
|
210
|
+
/** Organizations the caller belongs to. */
|
|
211
|
+
mine(): AsyncResult<readonly (OrganizationMembership & F)[]>;
|
|
212
|
+
members(organizationId: string): AsyncResult<readonly OrganizationMember[]>;
|
|
213
|
+
invitations(organizationId: string): AsyncResult<readonly OrganizationInvitationRow[]>;
|
|
214
|
+
invite(request: InviteRequest): AsyncResult<InvitationSent>;
|
|
215
|
+
resendInvitation(invitationId: string, validFor?: string): AsyncResult<InvitationSent>;
|
|
216
|
+
/**
|
|
217
|
+
* A new email, role or prefill for an open invitation, with the checks
|
|
218
|
+
* `invite` makes. The token and expiry stay, so the link already sent
|
|
219
|
+
* keeps working; call `resendInvitation` to mail the new address. An
|
|
220
|
+
* expired invitation fails with `INVITATION_EXPIRED`; resend it first.
|
|
221
|
+
*/
|
|
222
|
+
updateInvitation(invitationId: string, changes: InvitationChanges): AsyncResult<Invitation>;
|
|
223
|
+
/** `false` when it was not open. */
|
|
224
|
+
revokeInvitation(invitationId: string): AsyncResult<boolean>;
|
|
225
|
+
declineInvitation(token: string): AsyncResult<boolean>;
|
|
226
|
+
/** `undefined` for an unknown token. Callable without a session. */
|
|
227
|
+
previewInvitation(token: string): AsyncResult<InvitationPreview | undefined>;
|
|
228
|
+
/** Returns the organization joined, `null` for a platform invitation. */
|
|
229
|
+
acceptInvitation(token: string): AsyncResult<{
|
|
230
|
+
readonly organizationId: string | null;
|
|
231
|
+
}>;
|
|
232
|
+
acceptInvitationById(invitationId: string): AsyncResult<{
|
|
233
|
+
readonly organizationId: string | null;
|
|
234
|
+
}>;
|
|
235
|
+
declineInvitationById(invitationId: string): AsyncResult<boolean>;
|
|
236
|
+
myInvitations(): AsyncResult<readonly Invitation[]>;
|
|
237
|
+
}
|
|
238
|
+
/** Calls the `organizations` and `invitations` block functions. */
|
|
239
|
+
export declare function createOrganizations<S extends StandardSchemaV1 | undefined = undefined>(options: OrganizationsOptions<S>): Organizations<FieldsOf<S>>;
|
|
240
|
+
//#endregion
|
|
241
|
+
export { type BlockHooks, type BlockTransport, type BlockTransportMiddleware, type CreateOrganizationOptions, type Invitation, type InvitationChanges, type InvitationErrorHint, type InvitationPreview, type InvitationSent, type InvitationStatus, type InviteRequest, type OrganizationAttributes, type OrganizationInvitationRow, type OrganizationMember, type OrganizationMembership, type Organizations, type OrganizationsOptions, type RpcClient, type SlugProblem, type SwitchResult, extendBlock, rpcTransport, sqlTransport, withBlockHooks, wrapTransport };
|