better-supabase 0.5.1 → 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 +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-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-C_A-KEAz.js → doctor-B4JOm_ox.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-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-DMa6M7hV.js → init-BIIwclPg.js} +242 -27
- package/dist/cli/{introspect-BKlaIu_M.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-Bo_NLT5n.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-BCtlgDQx.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-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-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-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-CeVeeXwz.d.ts} +224 -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 +34872 -6579
- 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-wHnK6zp-.js → support-BivNqSpK.js} +32 -11
- package/dist/{support-view-B8SlToQX.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 +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-Bvv6aLjZ.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,208 +0,0 @@
|
|
|
1
|
-
import { t as isList } from "./guards-BnzDvFrz.js";
|
|
2
|
-
//#region src/generators/shared.ts
|
|
3
|
-
const INTEGER = /* @__PURE__ */ new Set([
|
|
4
|
-
"int2",
|
|
5
|
-
"int4",
|
|
6
|
-
"int8"
|
|
7
|
-
]);
|
|
8
|
-
const NUMBER = /* @__PURE__ */ new Set([
|
|
9
|
-
"float4",
|
|
10
|
-
"float8",
|
|
11
|
-
"numeric",
|
|
12
|
-
"oid",
|
|
13
|
-
"money"
|
|
14
|
-
]);
|
|
15
|
-
const DATETIME = /* @__PURE__ */ new Set(["timestamptz"]);
|
|
16
|
-
function scalarKind(column) {
|
|
17
|
-
if (column.enum) return {
|
|
18
|
-
kind: "enum",
|
|
19
|
-
values: column.enum
|
|
20
|
-
};
|
|
21
|
-
if (column.json) return { kind: "json" };
|
|
22
|
-
if (column.codec === "instant") return { kind: "instant" };
|
|
23
|
-
if (column.codec === "plainDateTime") return { kind: "plainDateTime" };
|
|
24
|
-
if (column.codec === "bigint") return { kind: "bigint" };
|
|
25
|
-
if (column.codec === "string") return { kind: "string" };
|
|
26
|
-
if (column.type === "uuid") return { kind: "uuid" };
|
|
27
|
-
if (INTEGER.has(column.type)) return { kind: "integer" };
|
|
28
|
-
if (NUMBER.has(column.type)) return { kind: "number" };
|
|
29
|
-
if (column.type === "bool") return { kind: "boolean" };
|
|
30
|
-
if (DATETIME.has(column.type)) return { kind: "datetime" };
|
|
31
|
-
if (column.type === "date") return { kind: "date" };
|
|
32
|
-
if (column.type === "record" || column.type === "void") return { kind: "unknown" };
|
|
33
|
-
return { kind: "string" };
|
|
34
|
-
}
|
|
35
|
-
/** App names of the columns that plugins fill from the table's flags. */
|
|
36
|
-
function managedColumns(table) {
|
|
37
|
-
const { timestamps, actor, softDelete } = table.flags;
|
|
38
|
-
return new Set([
|
|
39
|
-
timestamps?.createdAt,
|
|
40
|
-
timestamps?.updatedAt,
|
|
41
|
-
actor?.createdBy,
|
|
42
|
-
actor?.updatedBy,
|
|
43
|
-
actor?.impersonatedBy,
|
|
44
|
-
softDelete
|
|
45
|
-
].filter((name) => name !== void 0));
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* The generated row type of a field (its element type for arrays). Storage
|
|
49
|
-
* path columns validate as strings and are cast to their `StoragePath` brand.
|
|
50
|
-
*/
|
|
51
|
-
function rowType(table, plan) {
|
|
52
|
-
const type = `NonNullable<RowOf<'${table}'>['${plan.name}']>`;
|
|
53
|
-
return plan.column.array ? `${type}[number]` : type;
|
|
54
|
-
}
|
|
55
|
-
/** The fields a variant accepts; read-only columns are left out of writes. */
|
|
56
|
-
function fieldsFor(table, variant, input) {
|
|
57
|
-
const fields = [];
|
|
58
|
-
const managed = managedColumns(table);
|
|
59
|
-
for (const [name, column] of Object.entries(table.columns)) {
|
|
60
|
-
if (variant === "Insert" && (column.generated || column.insertable === false)) continue;
|
|
61
|
-
if (variant === "Update" && (column.generated || column.updatable === false)) continue;
|
|
62
|
-
fields.push({
|
|
63
|
-
name,
|
|
64
|
-
column,
|
|
65
|
-
scalar: scalarKind(column),
|
|
66
|
-
nullable: column.nullable,
|
|
67
|
-
optional: variant === "Update" || variant === "Insert" && (column.nullable || column.hasDefault),
|
|
68
|
-
customJson: Boolean(column.json && input.config.json[`${table.name}.${column.db}`]),
|
|
69
|
-
managed: managed.has(name)
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
return fields;
|
|
73
|
-
}
|
|
74
|
-
function variantsFor(table) {
|
|
75
|
-
return table.kind === "view" ? ["Row"] : [
|
|
76
|
-
"Row",
|
|
77
|
-
"Insert",
|
|
78
|
-
"Update"
|
|
79
|
-
];
|
|
80
|
-
}
|
|
81
|
-
function tableEntries(input) {
|
|
82
|
-
return Object.entries(input.meta.tables).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0);
|
|
83
|
-
}
|
|
84
|
-
function propertyKey(name) {
|
|
85
|
-
return /^[A-Za-z_$][\w$]*$/.test(name) ? name : JSON.stringify(name);
|
|
86
|
-
}
|
|
87
|
-
/** `customerTags` + `Insert` → `customerTagsInsert`. */
|
|
88
|
-
function schemaName(table, variant) {
|
|
89
|
-
return `${table.replace(/^[A-Z]/, (c) => c.toLowerCase())}${variant}`;
|
|
90
|
-
}
|
|
91
|
-
/** Output path next to the main module: `generated.ts` → `generated.zod.ts`. */
|
|
92
|
-
function siblingPath(output, suffix) {
|
|
93
|
-
return output.replace(/(\.[cm]?ts)?$/, `.${suffix}`);
|
|
94
|
-
}
|
|
95
|
-
const HEADER = "// Generated by better-supabase. Do not edit; run `better-supabase gen`.\n";
|
|
96
|
-
/** `./metadata.ts#metadataSchema` → `{ from: './metadata.ts', name: 'metadataSchema' }`. */
|
|
97
|
-
function parseImport(spec) {
|
|
98
|
-
const [from, name] = spec.split("#");
|
|
99
|
-
if (!from || !name) throw new Error(`Expected "path#export", got "${spec}"`);
|
|
100
|
-
return {
|
|
101
|
-
from,
|
|
102
|
-
name
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
//#endregion
|
|
106
|
-
//#region src/generators/json-schema.ts
|
|
107
|
-
function scalar(kind) {
|
|
108
|
-
switch (kind.kind) {
|
|
109
|
-
case "uuid": return {
|
|
110
|
-
type: "string",
|
|
111
|
-
format: "uuid"
|
|
112
|
-
};
|
|
113
|
-
case "string": return { type: "string" };
|
|
114
|
-
case "integer": return { type: "integer" };
|
|
115
|
-
case "number": return { type: "number" };
|
|
116
|
-
case "boolean": return { type: "boolean" };
|
|
117
|
-
case "datetime": return {
|
|
118
|
-
type: "string",
|
|
119
|
-
format: "date-time"
|
|
120
|
-
};
|
|
121
|
-
case "date": return {
|
|
122
|
-
type: "string",
|
|
123
|
-
format: "date"
|
|
124
|
-
};
|
|
125
|
-
case "instant": return {
|
|
126
|
-
type: "string",
|
|
127
|
-
format: "date-time"
|
|
128
|
-
};
|
|
129
|
-
case "plainDateTime": return {
|
|
130
|
-
type: "string",
|
|
131
|
-
pattern: "^\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$"
|
|
132
|
-
};
|
|
133
|
-
case "bigint": return {
|
|
134
|
-
type: "string",
|
|
135
|
-
pattern: "^-?\\d+$"
|
|
136
|
-
};
|
|
137
|
-
case "json":
|
|
138
|
-
case "unknown": return {};
|
|
139
|
-
case "enum": return {
|
|
140
|
-
type: "string",
|
|
141
|
-
enum: [...kind.values]
|
|
142
|
-
};
|
|
143
|
-
default: return kind;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
function property(plan) {
|
|
147
|
-
const schema = nullable(plan);
|
|
148
|
-
return plan.managed ? {
|
|
149
|
-
...schema,
|
|
150
|
-
readOnly: true
|
|
151
|
-
} : schema;
|
|
152
|
-
}
|
|
153
|
-
function nullable(plan) {
|
|
154
|
-
let schema = scalar(plan.scalar);
|
|
155
|
-
if (plan.column.array) schema = {
|
|
156
|
-
type: "array",
|
|
157
|
-
items: schema
|
|
158
|
-
};
|
|
159
|
-
if (!plan.nullable) return schema;
|
|
160
|
-
if (Object.keys(schema).length === 0) return schema;
|
|
161
|
-
const { enum: values, ...rest } = schema;
|
|
162
|
-
if (isList(values)) return {
|
|
163
|
-
...rest,
|
|
164
|
-
type: ["string", "null"],
|
|
165
|
-
enum: [...values, null]
|
|
166
|
-
};
|
|
167
|
-
return typeof schema["type"] === "string" ? {
|
|
168
|
-
...schema,
|
|
169
|
-
type: [schema["type"], "null"]
|
|
170
|
-
} : { anyOf: [schema, { type: "null" }] };
|
|
171
|
-
}
|
|
172
|
-
/** JSON Schema (2020-12) `$defs` for every table: `customersRow`, `customersInsert`, ... */
|
|
173
|
-
function buildJsonSchema(input, id) {
|
|
174
|
-
const defs = {};
|
|
175
|
-
for (const [key, table] of tableEntries(input)) for (const variant of variantsFor(table)) {
|
|
176
|
-
const properties = {};
|
|
177
|
-
const required = [];
|
|
178
|
-
for (const plan of fieldsFor(table, variant, input)) {
|
|
179
|
-
properties[plan.name] = property(plan);
|
|
180
|
-
if (!plan.optional) required.push(plan.name);
|
|
181
|
-
}
|
|
182
|
-
defs[`${key}${variant}`] = {
|
|
183
|
-
type: "object",
|
|
184
|
-
properties,
|
|
185
|
-
...required.length > 0 ? { required } : {},
|
|
186
|
-
additionalProperties: false
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
return {
|
|
190
|
-
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
191
|
-
...id ? { $id: id } : {},
|
|
192
|
-
$defs: defs
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
/** Writes the JSON Schema document; `createOpenApi` reuses the same `$defs`. */
|
|
196
|
-
function jsonSchema(options = {}) {
|
|
197
|
-
return {
|
|
198
|
-
name: "json-schema",
|
|
199
|
-
generate(input) {
|
|
200
|
-
return [{
|
|
201
|
-
path: options.output ?? siblingPath(input.config.output, "schema.json"),
|
|
202
|
-
contents: `${JSON.stringify(buildJsonSchema(input, options.id), null, 2)}\n`
|
|
203
|
-
}];
|
|
204
|
-
}
|
|
205
|
-
};
|
|
206
|
-
}
|
|
207
|
-
//#endregion
|
|
208
|
-
export { parseImport as a, schemaName as c, variantsFor as d, fieldsFor as i, siblingPath as l, jsonSchema as n, propertyKey as o, HEADER as r, rowType as s, buildJsonSchema as t, tableEntries as u };
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { t as cloneValue } from "./clone-BfgmLU90.js";
|
|
2
|
-
import { n as nowInstant } from "./temporal-CVlIV2DZ.js";
|
|
3
|
-
//#region src/core/kit-events.ts
|
|
4
|
-
/**
|
|
5
|
-
* Fixed OpenTelemetry attribute names for kit work, so dashboards and
|
|
6
|
-
* queries can rely on them.
|
|
7
|
-
*/
|
|
8
|
-
const KIT_ATTRIBUTES = {
|
|
9
|
-
event: "better_supabase.kit.event",
|
|
10
|
-
tenant: "better_supabase.tenant",
|
|
11
|
-
actor: "better_supabase.actor.id",
|
|
12
|
-
supportSessionId: "better_supabase.support.session_id",
|
|
13
|
-
orgId: "better_supabase.org.id",
|
|
14
|
-
invitationId: "better_supabase.invitation.id",
|
|
15
|
-
notificationType: "better_supabase.notification.type",
|
|
16
|
-
webhookEndpointId: "better_supabase.webhook.endpoint_id"
|
|
17
|
-
};
|
|
18
|
-
/** The `KIT_ATTRIBUTES` an event carries. */
|
|
19
|
-
function kitEventAttributes(event) {
|
|
20
|
-
const attributes = { [KIT_ATTRIBUTES.event]: event.type };
|
|
21
|
-
if (event.tenant) attributes[KIT_ATTRIBUTES.tenant] = event.tenant;
|
|
22
|
-
if (event.actorId) attributes[KIT_ATTRIBUTES.actor] = event.actorId;
|
|
23
|
-
const data = Object.fromEntries(Object.entries(event.data));
|
|
24
|
-
const add = (key, value) => {
|
|
25
|
-
if (typeof value === "string" && value.length > 0) attributes[key] = value;
|
|
26
|
-
};
|
|
27
|
-
add(KIT_ATTRIBUTES.supportSessionId, data["sessionId"]);
|
|
28
|
-
add(KIT_ATTRIBUTES.orgId, data["organizationId"]);
|
|
29
|
-
add(KIT_ATTRIBUTES.invitationId, data["invitationId"]);
|
|
30
|
-
add(KIT_ATTRIBUTES.notificationType, data["type"]);
|
|
31
|
-
add(KIT_ATTRIBUTES.webhookEndpointId, data["endpointId"]);
|
|
32
|
-
return attributes;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Emits a kit event on `events` with a copy of `data`. Does nothing without
|
|
36
|
-
* a `kit` handler, so kits call it unconditionally.
|
|
37
|
-
*/
|
|
38
|
-
function emitKitEvent(events, type, data, meta = {}) {
|
|
39
|
-
if (!events.has("kit")) return;
|
|
40
|
-
const event = {
|
|
41
|
-
...meta,
|
|
42
|
-
type,
|
|
43
|
-
data: cloneValue(data),
|
|
44
|
-
time: nowInstant()
|
|
45
|
-
};
|
|
46
|
-
events.emit("kit", event);
|
|
47
|
-
}
|
|
48
|
-
const matches = (pattern, type) => pattern.endsWith(".*") ? type.startsWith(pattern.slice(0, -1)) : pattern === type;
|
|
49
|
-
/**
|
|
50
|
-
* Listens to the kit events that match `pattern` (`'support.started'` or
|
|
51
|
-
* `'support.*'`). Returns a function that stops listening.
|
|
52
|
-
*/
|
|
53
|
-
function onKitEvent(betterSupabase, pattern, handler) {
|
|
54
|
-
return betterSupabase.events.on("kit", (event) => {
|
|
55
|
-
if (!matches(pattern, event.type)) return;
|
|
56
|
-
handler(event);
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
//#endregion
|
|
60
|
-
export { onKitEvent as i, emitKitEvent as n, kitEventAttributes as r, KIT_ATTRIBUTES as t };
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { t as SqlClient } from "./executor-Cghdstwu.js";
|
|
2
|
-
//#region src/core/kit-transport.d.ts
|
|
3
|
-
/**
|
|
4
|
-
* Calls a kit function as the current user and resolves with its result.
|
|
5
|
-
* Rejects with the raw database error (a `pg` error or a PostgREST error
|
|
6
|
-
* object), which the kit maps to a `DbError`.
|
|
7
|
-
*/
|
|
8
|
-
interface KitTransport {
|
|
9
|
-
call(schema: string, fn: string, args: Readonly<Record<string, unknown>>): Promise<unknown>;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Calls the functions over Postgres, as the user `client` runs as:
|
|
13
|
-
* `sqlTransport(postgres.asUser(ctx.auth.claims))`. Works for any schema.
|
|
14
|
-
*/
|
|
15
|
-
declare function sqlTransport(client: SqlClient): KitTransport;
|
|
16
|
-
interface RpcResponse {
|
|
17
|
-
readonly data: unknown;
|
|
18
|
-
readonly error: unknown;
|
|
19
|
-
}
|
|
20
|
-
/** The part of a supabase-js client `rpcTransport` uses. */
|
|
21
|
-
interface RpcClient {
|
|
22
|
-
schema(name: string): {
|
|
23
|
-
rpc(fn: string, args: Record<string, unknown>): PromiseLike<RpcResponse>;
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Calls the functions over the Data API with the user's session. The kit
|
|
28
|
-
* schema must be exposed (`[api] schemas` in `config.toml`), or the modules
|
|
29
|
-
* installed in `public` (`kits.<module>.schema`).
|
|
30
|
-
*/
|
|
31
|
-
declare function rpcTransport(client: RpcClient): KitTransport;
|
|
32
|
-
//#endregion
|
|
33
|
-
export { sqlTransport as i, RpcClient as n, rpcTransport as r, KitTransport as t };
|
package/dist/kits-CGLLrNPd.js
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
import { t as DEFAULT_CLAIMS } from "./claims-BAf6c7is.js";
|
|
2
|
-
//#region src/config/config.ts
|
|
3
|
-
/** The JSON Schema document for a `json[...].schema` entry. */
|
|
4
|
-
function resolveJsonSchema(source) {
|
|
5
|
-
const standard = source["~standard"];
|
|
6
|
-
if (standard === void 0) return source;
|
|
7
|
-
const jsonSchema = standard.jsonSchema;
|
|
8
|
-
if (typeof jsonSchema?.input !== "function") throw new TypeError("json[...].schema: this Standard Schema library does not implement Standard JSON Schema; pass a JSON Schema object instead");
|
|
9
|
-
return jsonSchema.input({ target: "draft-2020-12" });
|
|
10
|
-
}
|
|
11
|
-
function entitlementsOf(config = {}) {
|
|
12
|
-
const customer = config.customer;
|
|
13
|
-
const dot = customer?.lastIndexOf(".") ?? -1;
|
|
14
|
-
if (customer !== void 0 && dot <= 0) throw new TypeError(`entitlements.customer must be "table.column", got "${customer}"`);
|
|
15
|
-
return {
|
|
16
|
-
...customer === void 0 ? {} : {
|
|
17
|
-
table: customer.slice(0, dot),
|
|
18
|
-
column: customer.slice(dot + 1)
|
|
19
|
-
},
|
|
20
|
-
key: config.key ?? "id",
|
|
21
|
-
permdock: config.permdock === false ? false : config.permdock?.scope === void 0 ? {} : { scope: config.permdock.scope }
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
function vectorSearchOf(config = {}) {
|
|
25
|
-
return Object.entries(config).map(([table, entry]) => typeof entry === "string" ? {
|
|
26
|
-
table,
|
|
27
|
-
column: entry,
|
|
28
|
-
distance: "cosine"
|
|
29
|
-
} : {
|
|
30
|
-
table,
|
|
31
|
-
column: entry.column,
|
|
32
|
-
distance: entry.distance ?? "cosine"
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
const CONFIG_SCHEMA_URL = "https://unpkg.com/better-supabase/schemas/config-v1.json";
|
|
36
|
-
/** Identity helper that types `better-supabase.config.ts`. */
|
|
37
|
-
function defineConfig(config) {
|
|
38
|
-
return config;
|
|
39
|
-
}
|
|
40
|
-
function pick(value, defaults) {
|
|
41
|
-
if (value === void 0 || value === false) return void 0;
|
|
42
|
-
if (value === true) return defaults;
|
|
43
|
-
return {
|
|
44
|
-
...defaults,
|
|
45
|
-
...value
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
function resolveExpose(entry) {
|
|
49
|
-
if (Array.isArray(entry)) return {
|
|
50
|
-
anon: [],
|
|
51
|
-
authenticated: entry
|
|
52
|
-
};
|
|
53
|
-
const roles = entry;
|
|
54
|
-
return {
|
|
55
|
-
anon: roles.anon ?? [],
|
|
56
|
-
authenticated: roles.authenticated ?? []
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
/** Applies defaults. Paths stay relative to `root`. */
|
|
60
|
-
function resolveConfig(config, root) {
|
|
61
|
-
const output = config.output ?? "src/lib/supabase/generated.ts";
|
|
62
|
-
return {
|
|
63
|
-
root,
|
|
64
|
-
source: config.source ?? {},
|
|
65
|
-
schemas: config.schemas ?? ["public"],
|
|
66
|
-
casing: config.casing ?? "snake",
|
|
67
|
-
tables: config.tables ?? {},
|
|
68
|
-
output,
|
|
69
|
-
databaseTypesOutput: output.replace(/[^/]+$/, "database.types.ts"),
|
|
70
|
-
postgrestVersion: config.postgrestVersion ?? "13",
|
|
71
|
-
json: config.json ?? {},
|
|
72
|
-
codecs: {
|
|
73
|
-
timestamptz: config.codecs?.timestamptz ?? "string",
|
|
74
|
-
int8: config.codecs?.int8 ?? "number",
|
|
75
|
-
numeric: config.codecs?.numeric ?? "number"
|
|
76
|
-
},
|
|
77
|
-
sensitive: config.sensitive ?? [],
|
|
78
|
-
storagePaths: config.storagePaths ?? {},
|
|
79
|
-
expose: Object.fromEntries(Object.entries(config.expose ?? {}).map(([table, entry]) => [table, resolveExpose(entry)])),
|
|
80
|
-
readSets: config.readSets ?? [],
|
|
81
|
-
generators: config.generators ?? [],
|
|
82
|
-
plugins: {
|
|
83
|
-
timestamps: pick(config.plugins?.timestamps, {
|
|
84
|
-
createdAt: "created_at",
|
|
85
|
-
updatedAt: "updated_at"
|
|
86
|
-
}),
|
|
87
|
-
softDelete: pick(config.plugins?.softDelete, { column: "deleted_at" }),
|
|
88
|
-
tenant: pick(config.plugins?.tenant, { column: "organization_id" }),
|
|
89
|
-
actor: pick(config.plugins?.actor, {
|
|
90
|
-
createdBy: "created_by",
|
|
91
|
-
updatedBy: "updated_by",
|
|
92
|
-
impersonatedBy: "impersonated_by"
|
|
93
|
-
})
|
|
94
|
-
},
|
|
95
|
-
claims: {
|
|
96
|
-
...DEFAULT_CLAIMS,
|
|
97
|
-
...config.claims
|
|
98
|
-
},
|
|
99
|
-
buckets: config.buckets ?? {},
|
|
100
|
-
topics: config.topics ?? {},
|
|
101
|
-
realtime: {
|
|
102
|
-
tables: config.realtime?.tables ?? [],
|
|
103
|
-
global: config.realtime?.global ?? []
|
|
104
|
-
},
|
|
105
|
-
entitlements: entitlementsOf(config.entitlements),
|
|
106
|
-
permdock: {
|
|
107
|
-
manifest: config.permdock?.manifest ?? "permdock.manifest.json",
|
|
108
|
-
catalog: config.permdock?.catalog ?? "permissions.catalog.json"
|
|
109
|
-
},
|
|
110
|
-
vectorSearch: vectorSearchOf(config.vectorSearch),
|
|
111
|
-
sql: {
|
|
112
|
-
dir: config.sql?.dir ?? "supabase/schemas",
|
|
113
|
-
prefix: config.sql?.prefix ?? "900_better_supabase",
|
|
114
|
-
testsDir: config.sql?.testsDir ?? "supabase/tests",
|
|
115
|
-
kit: config.sql?.kit ?? []
|
|
116
|
-
},
|
|
117
|
-
kits: config.kits ?? {},
|
|
118
|
-
seed: {
|
|
119
|
-
entry: config.seed?.entry ?? "supabase/seed.ts",
|
|
120
|
-
output: config.seed?.output ?? "supabase/seeds/000_better_supabase.sql"
|
|
121
|
-
},
|
|
122
|
-
openapi: {
|
|
123
|
-
entry: config.openapi?.entry ?? "src/lib/openapi.ts",
|
|
124
|
-
output: config.openapi?.output ?? "openapi.json"
|
|
125
|
-
},
|
|
126
|
-
doctor: {
|
|
127
|
-
ignore: config.doctor?.ignore ?? [],
|
|
128
|
-
strict: config.doctor?.strict ?? false,
|
|
129
|
-
sources: config.doctor?.sources ?? ["src/**/*.{ts,tsx}"],
|
|
130
|
-
policyHelperLimit: config.doctor?.policyHelperLimit ?? 5,
|
|
131
|
-
...config.doctor?.claimsLimit === void 0 ? {} : { claimsLimit: config.doctor.claimsLimit }
|
|
132
|
-
}
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
//#endregion
|
|
136
|
-
//#region src/config/kits.ts
|
|
137
|
-
/** URL tenancy: the tenant comes from the request (a slug), not a stored setting. */
|
|
138
|
-
const DEFAULT_ACTIVE_TENANT = "resolver";
|
|
139
|
-
const KIT_SCHEMA = "better_supabase";
|
|
140
|
-
function resolveKitModule(config = {}) {
|
|
141
|
-
return {
|
|
142
|
-
mode: config.mode ?? "managed",
|
|
143
|
-
schema: config.schema ?? KIT_SCHEMA,
|
|
144
|
-
tables: config.tables ?? {},
|
|
145
|
-
columns: config.columns ?? {},
|
|
146
|
-
...config.idType === void 0 ? {} : { idType: config.idType },
|
|
147
|
-
permissions: config.permissions ?? {},
|
|
148
|
-
options: config.options ?? {},
|
|
149
|
-
hooks: {
|
|
150
|
-
schema: config.hooks?.schema ?? "public",
|
|
151
|
-
functions: config.hooks?.functions ?? {}
|
|
152
|
-
},
|
|
153
|
-
events: config.events ?? true
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
//#endregion
|
|
157
|
-
export { resolveConfig as a, defineConfig as i, resolveKitModule as n, resolveJsonSchema as o, CONFIG_SCHEMA_URL as r, DEFAULT_ACTIVE_TENANT as t };
|
package/dist/mfa-Cu96oJdw.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { _ as DbError } from "./executor-BunPOO-k.js";
|
|
2
|
-
//#region src/auth/mfa.d.ts
|
|
3
|
-
/** Authenticator assurance level: `aal2` once a second factor is verified in this session. */
|
|
4
|
-
type Aal = "aal1" | "aal2";
|
|
5
|
-
/** One way the user proved who they are in this session (the JWT `amr` claim). */
|
|
6
|
-
interface AmrEntry {
|
|
7
|
-
/** `password`, `otp`, `oauth`, `totp`, `sso/saml`, `anonymous`, ... */
|
|
8
|
-
readonly method: string;
|
|
9
|
-
/** Seconds since epoch. */
|
|
10
|
-
readonly timestamp: number;
|
|
11
|
-
/** SSO provider id, for `sso/saml`. */
|
|
12
|
-
readonly provider?: string;
|
|
13
|
-
}
|
|
14
|
-
/** The session's assurance level from its claims; anything but `aal2` reads as `aal1`. */
|
|
15
|
-
declare function aalOf(claims: Readonly<Record<string, unknown>>): Aal;
|
|
16
|
-
/** The `amr` claim as typed entries, skipping malformed ones. */
|
|
17
|
-
declare function amrOf(claims: Readonly<Record<string, unknown>>): readonly AmrEntry[];
|
|
18
|
-
/**
|
|
19
|
-
* `undefined` when a user session meets `required`; otherwise a `forbidden`
|
|
20
|
-
* error with `required` and code `INSUFFICIENT_AAL`, for the client to start
|
|
21
|
-
* an MFA challenge. Non-user sessions pass: `allow` decides about them.
|
|
22
|
-
*/
|
|
23
|
-
declare function checkAal(auth: {
|
|
24
|
-
readonly kind: "user";
|
|
25
|
-
readonly claims: object;
|
|
26
|
-
} | {
|
|
27
|
-
readonly kind: string;
|
|
28
|
-
}, required: Aal): DbError | undefined;
|
|
29
|
-
//#endregion
|
|
30
|
-
export { checkAal as a, amrOf as i, AmrEntry as n, aalOf as r, Aal as t };
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
/// <reference lib="esnext.temporal" />
|
|
2
|
-
import { S as ErrorMapper, a as AsyncResult } from "../executor-BunPOO-k.js";
|
|
3
|
-
import { a as EventHub } from "../events-aIO7vsIk.js";
|
|
4
|
-
import { g as RequestContext } from "../plugin-o144f322.js";
|
|
5
|
-
import { i as sqlTransport, n as RpcClient, r as rpcTransport, t as KitTransport } from "../kit-transport-B82k1djG.js";
|
|
6
|
-
import { a as NotificationSubject, i as NotificationItem, n as NotificationMessage, o as RenderedText, r as NotificationSendResult, t as NotificationChannel } from "../channel-FQW-CnGR.js";
|
|
7
|
-
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
8
|
-
//#region src/notifications/notifications.d.ts
|
|
9
|
-
/** Notification type to the Standard Schema of its `data`. */
|
|
10
|
-
type NotificationTypes = Readonly<Record<string, StandardSchemaV1>>;
|
|
11
|
-
type TypeName<K extends NotificationTypes> = keyof K & string;
|
|
12
|
-
interface SendInput<D = unknown> {
|
|
13
|
-
/** Who gets it. Watchers of `subject` and the `notification_audience` hook add more. */
|
|
14
|
-
readonly recipients?: readonly string[];
|
|
15
|
-
/** The organization; required when an authenticated user sends. */
|
|
16
|
-
readonly tenant?: string;
|
|
17
|
-
readonly subject?: NotificationSubject;
|
|
18
|
-
readonly summary?: string;
|
|
19
|
-
readonly actionPath?: string;
|
|
20
|
-
/** One of `kits.notifications.options.priorities`. Defaults to `normal`. */
|
|
21
|
-
readonly priority?: string;
|
|
22
|
-
readonly data: D;
|
|
23
|
-
/** With a key, sending again (per tenant) returns the first notification. */
|
|
24
|
-
readonly key?: string;
|
|
25
|
-
/** Defaults to `kits.notifications.options.channels`. */
|
|
26
|
-
readonly channels?: readonly string[];
|
|
27
|
-
/** Also notify the user who caused it. Defaults to `false`. */
|
|
28
|
-
readonly includeActor?: boolean;
|
|
29
|
-
/**
|
|
30
|
-
* `participating` (default) reaches subject watchers at both levels;
|
|
31
|
-
* `all` is routine activity that only `all` watchers get.
|
|
32
|
-
*/
|
|
33
|
-
readonly activity?: "participating" | "all";
|
|
34
|
-
/** Create it already resolved, e.g. for a record of a finished approval. */
|
|
35
|
-
readonly resolved?: boolean;
|
|
36
|
-
/** The actor, when the service sends on a user's behalf. */
|
|
37
|
-
readonly actorId?: string;
|
|
38
|
-
}
|
|
39
|
-
interface ListOptions<K extends string = string> {
|
|
40
|
-
readonly tenant?: string;
|
|
41
|
-
readonly status?: "all" | "unread" | "read" | "unresolved";
|
|
42
|
-
readonly types?: readonly K[];
|
|
43
|
-
/**
|
|
44
|
-
* Page: only notifications older than this. Pass the last item of the
|
|
45
|
-
* previous page; a bare instant skips items created at that same instant.
|
|
46
|
-
*/
|
|
47
|
-
readonly before?: Temporal.Instant | Pick<NotificationItem, "createdAt" | "id">;
|
|
48
|
-
/** Up to 200. Defaults to 50. */
|
|
49
|
-
readonly limit?: number;
|
|
50
|
-
/** Passed to `render`. */
|
|
51
|
-
readonly locale?: string;
|
|
52
|
-
}
|
|
53
|
-
interface NotificationCounts {
|
|
54
|
-
readonly unread: number;
|
|
55
|
-
/** Unresolved notifications of the `actionable` types. */
|
|
56
|
-
readonly actionable: number;
|
|
57
|
-
}
|
|
58
|
-
type SubscriptionLevel = "participating" | "all" | "ignore";
|
|
59
|
-
interface DeliverOptions {
|
|
60
|
-
/** Channel names to work on. Defaults to every channel in `channels`. */
|
|
61
|
-
readonly channels?: readonly string[];
|
|
62
|
-
/** Deliveries per claim. Defaults to 50. */
|
|
63
|
-
readonly batch?: number;
|
|
64
|
-
/** How long a claimed delivery waits before another worker retries it. */
|
|
65
|
-
readonly lease?: string;
|
|
66
|
-
/**
|
|
67
|
-
* Tries before a delivery is `failed`. Defaults to 5. Retries wait a random
|
|
68
|
-
* time up to 30 seconds, doubling per attempt to an hour.
|
|
69
|
-
*/
|
|
70
|
-
readonly maxAttempts?: number;
|
|
71
|
-
readonly budgetMs?: number;
|
|
72
|
-
}
|
|
73
|
-
interface DeliverResult {
|
|
74
|
-
readonly sent: number;
|
|
75
|
-
readonly skipped: number;
|
|
76
|
-
/** Deliveries that threw; retried later unless they ran out of attempts. */
|
|
77
|
-
readonly failed: number;
|
|
78
|
-
}
|
|
79
|
-
interface Rendered<K extends string = string, D = unknown> extends NotificationItem<K, D> {
|
|
80
|
-
/** What `render` returned. Absent without a `render` option. */
|
|
81
|
-
readonly text?: RenderedText;
|
|
82
|
-
}
|
|
83
|
-
interface NotificationsOptions<K extends NotificationTypes> {
|
|
84
|
-
/** `sqlTransport(postgres.asUser(claims))`, or over `postgres.admin` for the service. */
|
|
85
|
-
readonly transport: KitTransport;
|
|
86
|
-
/** Each type's `data` schema: `send` validates against it. */
|
|
87
|
-
readonly types: K;
|
|
88
|
-
/** `kits.notifications.schema`. Defaults to `better_supabase`. */
|
|
89
|
-
readonly schema?: string;
|
|
90
|
-
/** Turns a notification into text at read time, in the reader's locale. */
|
|
91
|
-
readonly render?: (item: NotificationItem, context: {
|
|
92
|
-
readonly locale?: string;
|
|
93
|
-
}) => RenderedText;
|
|
94
|
-
/** Types that wait for an action; `counts().actionable` counts them. */
|
|
95
|
-
readonly actionable?: readonly TypeName<K>[];
|
|
96
|
-
/** Senders for the non-`in_app` channels, used by `deliver()`. */
|
|
97
|
-
readonly channels?: readonly NotificationChannel[];
|
|
98
|
-
/** Runs after a notification is stored, e.g. to call Next's `updateTag`. */
|
|
99
|
-
readonly onSent?: (sent: {
|
|
100
|
-
readonly id: string;
|
|
101
|
-
readonly type: string;
|
|
102
|
-
readonly tenant: string | null;
|
|
103
|
-
readonly recipients: readonly string[];
|
|
104
|
-
}) => void | Promise<void>;
|
|
105
|
-
/** `betterSupabase.events`, for `notification.*` kit events. */
|
|
106
|
-
readonly events?: EventHub;
|
|
107
|
-
readonly actorId?: string;
|
|
108
|
-
readonly context?: RequestContext;
|
|
109
|
-
readonly errorMappers?: readonly ErrorMapper[];
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* The `notifications` SQL kit module as typed calls. `send` validates the
|
|
113
|
-
* data against its type's schema; the database checks the send permission,
|
|
114
|
-
* leaves out the actor and non-members and applies subscriptions and
|
|
115
|
-
* preferences.
|
|
116
|
-
*/
|
|
117
|
-
interface Notifications<K extends NotificationTypes> {
|
|
118
|
-
/** The notification id, or `null` when nobody was left to notify. */
|
|
119
|
-
send<N extends TypeName<K>>(type: N, input: SendInput<StandardSchemaV1.InferInput<K[N]>>): AsyncResult<string | null>;
|
|
120
|
-
list(options?: ListOptions<TypeName<K>>): AsyncResult<readonly Rendered<TypeName<K>>[]>;
|
|
121
|
-
counts(options?: {
|
|
122
|
-
readonly tenant?: string;
|
|
123
|
-
}): AsyncResult<NotificationCounts>;
|
|
124
|
-
/** Marks the given notifications, or all of them, read. */
|
|
125
|
-
markRead(options?: {
|
|
126
|
-
readonly ids?: readonly string[];
|
|
127
|
-
readonly tenant?: string;
|
|
128
|
-
}): AsyncResult<number>;
|
|
129
|
-
dismiss(ids: readonly string[]): AsyncResult<number>;
|
|
130
|
-
/** Resolves every recipient's notification of a type about a subject. */
|
|
131
|
-
resolve(input: {
|
|
132
|
-
readonly type: TypeName<K>;
|
|
133
|
-
readonly subject: NotificationSubject;
|
|
134
|
-
readonly tenant?: string;
|
|
135
|
-
}): AsyncResult<number>;
|
|
136
|
-
/** Sets the user's level for a subject; `null` removes it. */
|
|
137
|
-
subscribe(input: {
|
|
138
|
-
readonly subject: NotificationSubject;
|
|
139
|
-
readonly level: SubscriptionLevel | null;
|
|
140
|
-
readonly tenant?: string;
|
|
141
|
-
/** Another member; only the service can set it. */
|
|
142
|
-
readonly userId?: string;
|
|
143
|
-
}): AsyncResult<void>;
|
|
144
|
-
/** Turns a type (`*` for all) on or off on a channel; `null` removes it. */
|
|
145
|
-
setPreference(input: {
|
|
146
|
-
readonly type: TypeName<K> | "*";
|
|
147
|
-
readonly channel: string;
|
|
148
|
-
readonly enabled: boolean | null;
|
|
149
|
-
/** One organization, or everywhere when omitted. */
|
|
150
|
-
readonly tenant?: string;
|
|
151
|
-
}): AsyncResult<void>;
|
|
152
|
-
/** Sends pending deliveries through `channels`. Run it from a cron or a job. */
|
|
153
|
-
deliver(options?: DeliverOptions): Promise<DeliverResult>;
|
|
154
|
-
/**
|
|
155
|
-
* Deletes up to `batch` (10,000) notifications older than `olderThan`
|
|
156
|
-
* (`90 days`) with their recipients and deliveries. Service only.
|
|
157
|
-
*/
|
|
158
|
-
purge(olderThan?: string, batch?: number): AsyncResult<number>;
|
|
159
|
-
}
|
|
160
|
-
export declare function createNotifications<const K extends NotificationTypes>(options: NotificationsOptions<K>): Notifications<K>;
|
|
161
|
-
//#endregion
|
|
162
|
-
export { type DeliverOptions, type DeliverResult, type KitTransport, type ListOptions, type NotificationChannel, type NotificationCounts, type NotificationItem, type NotificationMessage, type NotificationSendResult, type NotificationSubject, type NotificationTypes, type Notifications, type NotificationsOptions, type Rendered, type RenderedText, type RpcClient, type SendInput, type SubscriptionLevel, rpcTransport, sqlTransport };
|