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,297 @@
|
|
|
1
|
+
/// <reference lib="esnext.temporal" />
|
|
2
|
+
import { f as Result, t as AsyncResult, w as ErrorMapper } from "../../result-D7y2fT87.js";
|
|
3
|
+
import { t as SqlClient } from "../../executor-DbvExCFC.js";
|
|
4
|
+
import { t as BlockTransport } from "../../block-transport-DvaoPuZ9.js";
|
|
5
|
+
import { r as BlockTemporalOptions } from "../../block-helpers-CKtbFcRv.js";
|
|
6
|
+
import { a as ProblemFormat, t as BlockProblemOptions } from "../../problem-DD8LZFjc.js";
|
|
7
|
+
import { A as QueueMessageBody, C as ScheduleInfo, D as DeadJobRow, E as createJobs, F as sqlQueueBackend, M as QueueRpcClient, N as QueueStats, O as DueSchedule, P as pgmqPublicBackend, S as ScheduleFilter, T as WorkOptions, _ as QueueSchemas, a as DrainResult, b as ScheduleDefinition, c as EnqueueOptions, d as FailOptions, f as Job, g as ListDeadOptions, h as Jobs, i as DrainOptions, j as QueueMessageRow, k as QueueBackend, l as EnsureSchedulesOptions, m as JobHandler, n as DeadJob, o as DrainRouteOptions, p as JobContext, r as DrainMonitor, s as DrainRouteResult, t as ClaimOptions, u as EnsureSchedulesResult, v as RetryDeadOptions, w as ScheduleOptions, x as ScheduleDefinitions, y as RunSchedulesOptions } from "../../queue-CLJurhdy.js";
|
|
8
|
+
//#region src/blocks/jobs/cron.d.ts
|
|
9
|
+
/**
|
|
10
|
+
* Throws a `TypeError` unless `expression` is a schedule `nextCronRun`
|
|
11
|
+
* understands: five cron fields, a macro such as `@daily`, or an interval
|
|
12
|
+
* such as `30 seconds`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function assertCron(expression: string): void;
|
|
15
|
+
/**
|
|
16
|
+
* The first run of `expression` after `after`, in `timeZone`.
|
|
17
|
+
*
|
|
18
|
+
* Accepts five cron fields (lists, ranges and steps; a restricted day of
|
|
19
|
+
* month and day of week match either, as in cron), the macros `@hourly`,
|
|
20
|
+
* `@daily`, `@weekly`, `@monthly` and `@yearly`, and intervals such as
|
|
21
|
+
* `30 seconds`, `5 minutes` or `2 hours`, counted from `after`. A local time
|
|
22
|
+
* that a DST change skips runs at the same offset after the gap.
|
|
23
|
+
*/
|
|
24
|
+
export declare function nextCronRun(expression: string, timeZone: string, after: Temporal.Instant): Temporal.Instant;
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region src/blocks/jobs/dev.d.ts
|
|
27
|
+
interface DevDrainOptions {
|
|
28
|
+
readonly url: string | URL;
|
|
29
|
+
readonly secret: string;
|
|
30
|
+
readonly every?: number;
|
|
31
|
+
readonly fetch?: typeof fetch;
|
|
32
|
+
readonly signal?: AbortSignal;
|
|
33
|
+
readonly onError?: (message: string) => void;
|
|
34
|
+
}
|
|
35
|
+
interface DevDrain {
|
|
36
|
+
tick(): Promise<void>;
|
|
37
|
+
stop(): void;
|
|
38
|
+
}
|
|
39
|
+
export declare function devDrainSecret(env: Record<string, string | undefined>, name?: string): string;
|
|
40
|
+
export declare function devDrain(options: DevDrainOptions): DevDrain;
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region src/blocks/jobs/jobs.d.ts
|
|
43
|
+
interface IdempotencyOptions extends BlockProblemOptions, BlockTemporalOptions {
|
|
44
|
+
/**
|
|
45
|
+
* Separates keys of different callers, endpoints or tenants. Defaults to a
|
|
46
|
+
* hash of the caller's credentials (the `Authorization` header or the
|
|
47
|
+
* Supabase auth cookies), so one caller never replays another's response.
|
|
48
|
+
* Pass the verified user id to keep keys across token refreshes.
|
|
49
|
+
*/
|
|
50
|
+
readonly scope?: string | ((request: Request) => string);
|
|
51
|
+
/** How long a completed response is replayed. Defaults to `24 hours`. */
|
|
52
|
+
readonly ttl?: number | string;
|
|
53
|
+
/** How long a running request holds the key. Defaults to `1 minute`. */
|
|
54
|
+
readonly lock?: number | string;
|
|
55
|
+
/** Answer 400 when the header is missing. Defaults to false (run without a key). */
|
|
56
|
+
readonly required?: boolean;
|
|
57
|
+
/** Defaults to `Idempotency-Key`. */
|
|
58
|
+
readonly header?: string;
|
|
59
|
+
}
|
|
60
|
+
type IdempotencyState = "started" | "replay" | "running" | "mismatch";
|
|
61
|
+
interface Idempotency {
|
|
62
|
+
/**
|
|
63
|
+
* Runs `handler` at most once per key: retries with the same key and body
|
|
64
|
+
* get the stored response (with `Idempotency-Replayed: true`).
|
|
65
|
+
*/
|
|
66
|
+
handle(request: Request, handler: (request: Request) => Promise<Response> | Response): Promise<Response>;
|
|
67
|
+
/** The lower-level protocol, for non-HTTP callers. */
|
|
68
|
+
begin(key: string, fingerprint: string, scope?: string): AsyncResult<{
|
|
69
|
+
state: IdempotencyState;
|
|
70
|
+
status: number | null;
|
|
71
|
+
body: unknown;
|
|
72
|
+
/** The token `complete` and `release` need, when `state` is `started`. */
|
|
73
|
+
holder: string | undefined;
|
|
74
|
+
}>;
|
|
75
|
+
/**
|
|
76
|
+
* Stores the response for `holder`. `false` when the lock ran out and
|
|
77
|
+
* another caller took the key over, so the response was not stored.
|
|
78
|
+
*/
|
|
79
|
+
complete(key: string, holder: string, status: number, body: unknown, scope?: string): AsyncResult<boolean>;
|
|
80
|
+
/** Forgets the key so it can be retried; `false` when `holder` lost it. */
|
|
81
|
+
release(key: string, holder: string, scope?: string): AsyncResult<boolean>;
|
|
82
|
+
}
|
|
83
|
+
/** HTTP idempotency keys (IETF `Idempotency-Key` header) over the `idempotency` SQL module. */
|
|
84
|
+
export declare function createIdempotency(sql: SqlClient, options?: IdempotencyOptions): Idempotency;
|
|
85
|
+
interface LeaseOptions {
|
|
86
|
+
/** How long the lease holds without an `extend`. Defaults to 60 seconds. */
|
|
87
|
+
readonly seconds?: number;
|
|
88
|
+
readonly scope?: string;
|
|
89
|
+
}
|
|
90
|
+
/** The held lease, passed to the `withLease` callback. */
|
|
91
|
+
interface Lease {
|
|
92
|
+
readonly holder: string;
|
|
93
|
+
/** Moves the expiry; `false` once the lease was lost to another holder. */
|
|
94
|
+
extend(seconds?: number): AsyncResult<boolean>;
|
|
95
|
+
}
|
|
96
|
+
type LeaseOutcome<T> = {
|
|
97
|
+
readonly acquired: true;
|
|
98
|
+
readonly value: T;
|
|
99
|
+
} | {
|
|
100
|
+
readonly acquired: false;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Runs `fn` while holding the lease on `key`, one holder at a time, and
|
|
104
|
+
* releases it afterwards, also when `fn` throws. `{ acquired: false }` while
|
|
105
|
+
* another holder has it. A lease that expires mid-run is taken by the next
|
|
106
|
+
* caller; call `lease.extend()` for long work.
|
|
107
|
+
*/
|
|
108
|
+
export declare function withLease<T>(sql: SqlClient, key: string, fn: (lease: Lease) => Promise<T> | T, options?: LeaseOptions): AsyncResult<LeaseOutcome<T>>;
|
|
109
|
+
interface WebhookInboxMessage<T = unknown> {
|
|
110
|
+
readonly id: number;
|
|
111
|
+
readonly source: string;
|
|
112
|
+
readonly messageId: string;
|
|
113
|
+
readonly type: string | null;
|
|
114
|
+
readonly payload: T;
|
|
115
|
+
readonly headers: Readonly<Record<string, string>>;
|
|
116
|
+
/** 1 on the first attempt. */
|
|
117
|
+
readonly attempts: number;
|
|
118
|
+
/**
|
|
119
|
+
* The source's limit when the message was stored. A handler running with
|
|
120
|
+
* `attempts === maxAttempts` is on its last attempt: when it fails, the
|
|
121
|
+
* message is marked dead.
|
|
122
|
+
*/
|
|
123
|
+
readonly maxAttempts: number;
|
|
124
|
+
readonly receivedAt: Temporal.Instant;
|
|
125
|
+
/** The tenant the message was stored for, or null. */
|
|
126
|
+
readonly tenant: string | null;
|
|
127
|
+
/** Progress an earlier attempt saved with `checkpoint`, `{}` at first. */
|
|
128
|
+
readonly progress: Readonly<Record<string, unknown>>;
|
|
129
|
+
/**
|
|
130
|
+
* Saves progress mid-processing (merged into `progress`), so a retry
|
|
131
|
+
* resumes there, such as a provider's page cursor. `false` when the lease
|
|
132
|
+
* was lost. Only while the handler runs.
|
|
133
|
+
*/
|
|
134
|
+
checkpoint(fields: Readonly<Record<string, unknown>>): Promise<boolean>;
|
|
135
|
+
}
|
|
136
|
+
/** A verified event to store, from `verify` or from `store` for a provider SDK that verifies itself. */
|
|
137
|
+
interface WebhookInboxEvent {
|
|
138
|
+
/** The sender's message id; the inbox stores each one once. */
|
|
139
|
+
readonly id: string;
|
|
140
|
+
readonly payload: unknown;
|
|
141
|
+
/** Defaults to `typeOf(payload)`. */
|
|
142
|
+
readonly type?: string | null;
|
|
143
|
+
/** Defaults to `tenantOf(payload)`. */
|
|
144
|
+
readonly tenant?: string | null;
|
|
145
|
+
readonly headers?: Readonly<Record<string, string>>;
|
|
146
|
+
}
|
|
147
|
+
interface WebhookInboxOptions extends BlockProblemOptions, BlockTemporalOptions {
|
|
148
|
+
/** Name of the sender, e.g. `stripe` or `supabase-auth`. */
|
|
149
|
+
readonly source: string;
|
|
150
|
+
/**
|
|
151
|
+
* Standard Webhooks secrets; the signature is verified before storing.
|
|
152
|
+
* Leave out `secrets` and `verify` for a source that only `store` fills
|
|
153
|
+
* (a chat or provider SDK that verifies its own requests); `receive` then
|
|
154
|
+
* throws.
|
|
155
|
+
*/
|
|
156
|
+
readonly secrets?: string | readonly string[];
|
|
157
|
+
/**
|
|
158
|
+
* Custom verification for senders that don't use Standard Webhooks. It
|
|
159
|
+
* may also return the event's tenant.
|
|
160
|
+
*/
|
|
161
|
+
readonly verify?: (request: Request, body: string) => Promise<Result<{
|
|
162
|
+
id: string;
|
|
163
|
+
payload: unknown;
|
|
164
|
+
tenant?: string | null;
|
|
165
|
+
}>>;
|
|
166
|
+
/** Event type from the payload. Defaults to `payload.type`. */
|
|
167
|
+
readonly typeOf?: (payload: unknown) => string | null;
|
|
168
|
+
/** The tenant a payload belongs to, for per-tenant integrations. Defaults to none. */
|
|
169
|
+
readonly tenantOf?: (payload: unknown) => string | null | undefined;
|
|
170
|
+
/** Headers kept with the message. Defaults to none. */
|
|
171
|
+
readonly keepHeaders?: readonly string[];
|
|
172
|
+
readonly worker?: string;
|
|
173
|
+
/**
|
|
174
|
+
* Attempts before a message of this source is marked dead, stored with
|
|
175
|
+
* each message as it arrives. Defaults to 8.
|
|
176
|
+
*/
|
|
177
|
+
readonly maxAttempts?: number;
|
|
178
|
+
/**
|
|
179
|
+
* The largest body `receive` reads; a larger one gets 413 without being
|
|
180
|
+
* read to the end. Defaults to 1 MiB.
|
|
181
|
+
*/
|
|
182
|
+
readonly maxBodyBytes?: number;
|
|
183
|
+
}
|
|
184
|
+
interface WebhookInboxProcessOptions {
|
|
185
|
+
/** Messages claimed at once. Defaults to 10. */
|
|
186
|
+
readonly batch?: number;
|
|
187
|
+
/**
|
|
188
|
+
* How long a claimed message stays with this worker. It is renewed when
|
|
189
|
+
* the message's turn in the batch comes and every half lease while the
|
|
190
|
+
* handler runs. Defaults to 300 seconds.
|
|
191
|
+
*/
|
|
192
|
+
readonly lease?: number | string;
|
|
193
|
+
/**
|
|
194
|
+
* Stop claiming after this many ms, so a backlog can't outrun a
|
|
195
|
+
* serverless function's maximum duration; claimed messages still finish.
|
|
196
|
+
* Defaults to no limit.
|
|
197
|
+
*/
|
|
198
|
+
readonly budgetMs?: number;
|
|
199
|
+
}
|
|
200
|
+
interface WebhookInboxListOptions {
|
|
201
|
+
readonly tenant: string;
|
|
202
|
+
/** Only this status: `pending`, `processing`, `processed` or `dead`. */
|
|
203
|
+
readonly status?: "pending" | "processing" | "processed" | "dead";
|
|
204
|
+
/** Defaults to 100, at most 1000. */
|
|
205
|
+
readonly limit?: number;
|
|
206
|
+
}
|
|
207
|
+
/** A stored message as `list` returns it. */
|
|
208
|
+
interface WebhookInboxEntry {
|
|
209
|
+
readonly id: number;
|
|
210
|
+
readonly messageId: string;
|
|
211
|
+
readonly type: string | null;
|
|
212
|
+
readonly status: "pending" | "processing" | "processed" | "dead";
|
|
213
|
+
readonly attempts: number;
|
|
214
|
+
readonly maxAttempts: number;
|
|
215
|
+
readonly lastError: string | null;
|
|
216
|
+
readonly tenant: string | null;
|
|
217
|
+
readonly receivedAt: Temporal.Instant;
|
|
218
|
+
readonly processedAt: Temporal.Instant | null;
|
|
219
|
+
}
|
|
220
|
+
interface WebhookInboxPurgeOptions {
|
|
221
|
+
/** Defaults to `30 days`; `0` with `tenant` removes all of that tenant's processed messages. */
|
|
222
|
+
readonly olderThan?: number | string;
|
|
223
|
+
readonly includeDead?: boolean;
|
|
224
|
+
readonly tenant?: string;
|
|
225
|
+
readonly batch?: number;
|
|
226
|
+
}
|
|
227
|
+
interface WebhookInbox {
|
|
228
|
+
/**
|
|
229
|
+
* Verifies and stores a webhook; answers 202, or 200 for a duplicate
|
|
230
|
+
* delivery. Throws a `TypeError` when the inbox has neither `secrets` nor
|
|
231
|
+
* `verify`.
|
|
232
|
+
*/
|
|
233
|
+
receive(request: Request): Promise<Response>;
|
|
234
|
+
/**
|
|
235
|
+
* Stores an event your code already verified (a provider SDK that
|
|
236
|
+
* verifies and parses in one call). `duplicate` when the id was stored
|
|
237
|
+
* before.
|
|
238
|
+
*/
|
|
239
|
+
store(event: WebhookInboxEvent): AsyncResult<{
|
|
240
|
+
id: number;
|
|
241
|
+
duplicate: boolean;
|
|
242
|
+
}>;
|
|
243
|
+
/**
|
|
244
|
+
* Processes stored messages until none are ready, or until `budgetMs`
|
|
245
|
+
* is spent. A message whose lease another claim took over is skipped,
|
|
246
|
+
* and its outcome is not counted.
|
|
247
|
+
*/
|
|
248
|
+
process<T = unknown>(handler: (message: WebhookInboxMessage<T>) => unknown, options?: WebhookInboxProcessOptions): Promise<DrainResult>;
|
|
249
|
+
/** A tenant's messages of this source, newest first. */
|
|
250
|
+
list(options: WebhookInboxListOptions): AsyncResult<WebhookInboxEntry[]>;
|
|
251
|
+
/** Deletes old processed (and, with `includeDead`, dead) messages of this source's table; returns how many. */
|
|
252
|
+
purge(options?: WebhookInboxPurgeOptions): AsyncResult<number>;
|
|
253
|
+
}
|
|
254
|
+
/** Store-then-process webhooks: acknowledge fast, process with retries, never twice. */
|
|
255
|
+
export declare function createWebhookInbox(sql: SqlClient, options: WebhookInboxOptions): WebhookInbox;
|
|
256
|
+
//#endregion
|
|
257
|
+
//#region src/blocks/jobs/rate-limit.d.ts
|
|
258
|
+
/** One counted hit: whether it is allowed, and when to retry if not. */
|
|
259
|
+
interface RateLimitDecision {
|
|
260
|
+
readonly allowed: boolean;
|
|
261
|
+
/** Hits left in the current window. */
|
|
262
|
+
readonly remaining: number;
|
|
263
|
+
/** Seconds until the window ends; 0 when allowed. */
|
|
264
|
+
readonly retryAfter: number;
|
|
265
|
+
}
|
|
266
|
+
/** A limit for one call, instead of the scope's rule from `set_rate_limit`. */
|
|
267
|
+
interface RateLimitRule {
|
|
268
|
+
readonly max: number;
|
|
269
|
+
/** Seconds, or a Postgres interval such as `1 minute`. */
|
|
270
|
+
readonly period: number | string;
|
|
271
|
+
}
|
|
272
|
+
interface RateLimit {
|
|
273
|
+
/**
|
|
274
|
+
* Counts a hit of `key` (an API key, a public token, a tenant) against
|
|
275
|
+
* `scope`. The limit is the scope's rule (`set_rate_limit`) unless `rule`
|
|
276
|
+
* gives one.
|
|
277
|
+
*/
|
|
278
|
+
check(scope: string, key: string, rule?: RateLimitRule): AsyncResult<RateLimitDecision>;
|
|
279
|
+
}
|
|
280
|
+
interface RateLimitOptions extends BlockTemporalOptions {
|
|
281
|
+
readonly mappers?: readonly ErrorMapper[];
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Fixed-window limits for keys that aren't claims, over the `rate-limit`
|
|
285
|
+
* module's counters. Pass a service SQL connection (`ctx.postgresAdmin`,
|
|
286
|
+
* `postgres.admin`), or a service-role `BlockTransport` such as
|
|
287
|
+
* `rpcTransport(adminClient)`.
|
|
288
|
+
*/
|
|
289
|
+
export declare function createRateLimit(source: SqlClient | BlockTransport, options?: RateLimitOptions): RateLimit;
|
|
290
|
+
/** A `problem+json` 429 with `Retry-After`, for a refused `check`. */
|
|
291
|
+
export declare function rateLimited(decision: Pick<RateLimitDecision, "retryAfter">, options?: {
|
|
292
|
+
readonly instance?: string;
|
|
293
|
+
readonly detail?: string;
|
|
294
|
+
readonly problem?: ProblemFormat;
|
|
295
|
+
}): Response;
|
|
296
|
+
//#endregion
|
|
297
|
+
export { type ClaimOptions, type DeadJob, type DeadJobRow, type DevDrain, type DevDrainOptions, type DrainMonitor, type DrainOptions, type DrainResult, type DrainRouteOptions, type DrainRouteResult, type DueSchedule, type EnqueueOptions, type EnsureSchedulesOptions, type EnsureSchedulesResult, type FailOptions, type Idempotency, type IdempotencyOptions, type IdempotencyState, type Job, type JobContext, type JobHandler, type Jobs, type Lease, type LeaseOptions, type LeaseOutcome, type ListDeadOptions, type QueueBackend, type QueueMessageBody, type QueueMessageRow, type QueueRpcClient, type QueueSchemas, type QueueStats, type RateLimit, type RateLimitDecision, type RateLimitOptions, type RateLimitRule, type RetryDeadOptions, type RunSchedulesOptions, type ScheduleDefinition, type ScheduleDefinitions, type ScheduleFilter, type ScheduleInfo, type ScheduleOptions, type SqlClient, type WebhookInbox, type WebhookInboxEntry, type WebhookInboxEvent, type WebhookInboxListOptions, type WebhookInboxMessage, type WebhookInboxOptions, type WebhookInboxProcessOptions, type WebhookInboxPurgeOptions, type WorkOptions, createJobs, pgmqPublicBackend, sqlQueueBackend };
|