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
package/dist/testing/index.d.ts
CHANGED
|
@@ -1,18 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as Executor } from "../executor-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { o as
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
1
|
+
import { H as Update, L as TableKey, P as SchemaMeta, a as AnyModels, i as AnyFunctions, x as Insert } from "../types-6BdhkmZe.js";
|
|
2
|
+
import { r as Executor } from "../executor-DvsBbNBS.js";
|
|
3
|
+
import { t as SqlClient } from "../executor-DbvExCFC.js";
|
|
4
|
+
import { m as RequestContext, n as AnyPlugin } from "../plugin-FGY8UhYm.js";
|
|
5
|
+
import { n as AuthResolver } from "../resolve-KW8nCeL6.js";
|
|
6
|
+
import { a as CredentialSubject, i as CredentialRef, r as CredentialProvider } from "../provider-BH5UWZJ6.js";
|
|
7
|
+
import { k as QueueBackend } from "../queue-CLJurhdy.js";
|
|
8
|
+
import { n as Embedder } from "../knowledge-BXBbT0Tr.js";
|
|
9
|
+
import { o as StreamStore } from "../store-CGjgWu5n.js";
|
|
10
|
+
import { B as DbStats, b as Db, t as BetterSupabase, u as CacheAdapter } from "../define-CJJkkr1-.js";
|
|
11
|
+
import { r as EventSink, t as CloudEvent } from "../cloud-event-C1JCc1bH.js";
|
|
12
|
+
import { t as BetterPostgres } from "../pool-CAu2nLrL.js";
|
|
13
|
+
import { R as SupportSessionStore, i as ServerContext, o as ServerOptions } from "../server-CeVeeXwz.js";
|
|
14
|
+
import { s as Impersonator } from "../mfa-Daak8ukG.js";
|
|
15
|
+
import { n as SessionActor, r as SessionDelegation } from "../actor-CQTlc1Hh.js";
|
|
16
|
+
import { r as GuardOptions } from "../respond-DoBijysA.js";
|
|
17
|
+
import { i as AuthorizationProvider } from "../authorization-BFCqamMs.js";
|
|
18
|
+
import { i as AiTaskRun, o as AiTaskRunner, t as AiTask } from "../ai-tasks-Cd1HMFvB.js";
|
|
19
|
+
import { D as ResolvedConfig, _ as GeneratorInput, h as Generator, v as GeneratorModel } from "../config-D44Y7PAv.js";
|
|
20
|
+
import { a as BlockTransportMiddleware } from "../block-hooks-plbZ0AbJ.js";
|
|
21
|
+
import { t as NotificationChannel } from "../channel-_2Mx1Oyu.js";
|
|
22
|
+
import { c as WebhookSecretStore, i as WebhookSigner, m as WebhookTransport } from "../signers-4y62_VIi.js";
|
|
23
|
+
import { T as WorkflowGraph, i as BuilderStarter, r as BuilderStartCall, s as GraphCompiler } from "../types-BI-0Sl2v.js";
|
|
24
|
+
import { t as EveDocumentBackend } from "../eve-gT2Fpjut.js";
|
|
15
25
|
import { SupabaseClient } from "@supabase/supabase-js";
|
|
26
|
+
import { Message, StateAdapter } from "chat";
|
|
16
27
|
import { webcrypto } from "node:crypto";
|
|
17
28
|
//#region src/testing/jwt.d.ts
|
|
18
29
|
interface TestJwtClaims {
|
|
@@ -112,19 +123,24 @@ interface TestUser<M extends AnyModels, F extends AnyFunctions, E> {
|
|
|
112
123
|
export declare function asUser<M extends AnyModels, D, F extends AnyFunctions, E>(betterSupabase: BetterSupabase<M, D, F, E>, claims: TestJwtClaims, stack?: LocalStack): Promise<TestUser<M, F, E>>;
|
|
113
124
|
//#endregion
|
|
114
125
|
//#region src/testing/budget.d.ts
|
|
126
|
+
/** The part of a Playwright `Request` the budget check reads. */
|
|
127
|
+
interface BudgetRequest {
|
|
128
|
+
headers(): Record<string, string>;
|
|
129
|
+
}
|
|
115
130
|
/** The part of a Playwright `Response` the budget check reads. */
|
|
116
131
|
interface BudgetResponse {
|
|
117
132
|
url(): string;
|
|
118
133
|
headers(): Record<string, string>;
|
|
134
|
+
/** Never settles when the browser aborts the stream, so `requestfailed` ends the wait too. */
|
|
119
135
|
finished(): Promise<unknown>;
|
|
120
|
-
request():
|
|
121
|
-
headers(): Record<string, string>;
|
|
122
|
-
};
|
|
136
|
+
request(): BudgetRequest;
|
|
123
137
|
}
|
|
124
138
|
/** The part of a Playwright `Page` the budget check uses. */
|
|
125
139
|
interface BudgetPage {
|
|
126
140
|
on(event: "response", listener: (response: BudgetResponse) => void): unknown;
|
|
141
|
+
on(event: "requestfailed", listener: (request: BudgetRequest) => void): unknown;
|
|
127
142
|
off(event: "response", listener: (response: BudgetResponse) => void): unknown;
|
|
143
|
+
off(event: "requestfailed", listener: (request: BudgetRequest) => void): unknown;
|
|
128
144
|
reload(): Promise<unknown>;
|
|
129
145
|
readonly request: {
|
|
130
146
|
get(url: string): Promise<{
|
|
@@ -143,12 +159,39 @@ interface DbBudgetExpectation {
|
|
|
143
159
|
readonly prefetches?: boolean;
|
|
144
160
|
/** How long to wait for a streamed response to finish. Defaults to 10 seconds. */
|
|
145
161
|
readonly timeoutMs?: number;
|
|
162
|
+
/**
|
|
163
|
+
* How long to keep listening once `during` resolves and no new response
|
|
164
|
+
* arrives, for renders it started that answer later (the dynamic render
|
|
165
|
+
* after an `instant()` lock releases). Defaults to 500 ms.
|
|
166
|
+
*/
|
|
167
|
+
readonly settleMs?: number;
|
|
168
|
+
/**
|
|
169
|
+
* When no document or RSC response carries `x-bs-request-id`, throw
|
|
170
|
+
* (the default) or return `[]`. Cache-only navigations never hit the
|
|
171
|
+
* proxy, so they have no request id.
|
|
172
|
+
*/
|
|
173
|
+
readonly requireRequest?: boolean;
|
|
146
174
|
}
|
|
147
175
|
interface MeasuredRender {
|
|
148
176
|
readonly url: string;
|
|
149
177
|
readonly requestId: string;
|
|
150
178
|
readonly stats: DbStats;
|
|
151
179
|
}
|
|
180
|
+
/** What `expectDbBudget` measures on a plain fetch `Response`. */
|
|
181
|
+
interface ResponseBudgetExpectation {
|
|
182
|
+
readonly maxCalls?: number;
|
|
183
|
+
readonly maxWaves?: number;
|
|
184
|
+
/** The header `withDbStats` wrote. Defaults to `x-bs-db-calls`. */
|
|
185
|
+
readonly header?: string;
|
|
186
|
+
}
|
|
187
|
+
/** The calls, waves and time one response's request made. */
|
|
188
|
+
type ResponseDbStats = Pick<DbStats, "calls" | "waves" | "ms">;
|
|
189
|
+
/**
|
|
190
|
+
* Reads the `withDbStats()` header of a fetch `Response` from any adapter
|
|
191
|
+
* (Hono, SvelteKit, oRPC, an edge function) and fails when its request made
|
|
192
|
+
* more database calls or waves than allowed.
|
|
193
|
+
*/
|
|
194
|
+
export declare function expectDbBudget(response: Response, expectation: ResponseBudgetExpectation): ResponseDbStats;
|
|
152
195
|
/**
|
|
153
196
|
* Measures every document and RSC navigation response during `during` and
|
|
154
197
|
* fails when one render makes more database calls or waves than allowed.
|
|
@@ -156,6 +199,67 @@ interface MeasuredRender {
|
|
|
156
199
|
*/
|
|
157
200
|
export declare function expectDbBudget(page: BudgetPage, expectation: DbBudgetExpectation): Promise<readonly MeasuredRender[]>;
|
|
158
201
|
//#endregion
|
|
202
|
+
//#region src/testing/instant.d.ts
|
|
203
|
+
/** The part of a Playwright `BrowserContext` that `instant()` uses. */
|
|
204
|
+
interface InstantBrowserContext {
|
|
205
|
+
addCookies(cookies: {
|
|
206
|
+
name: string;
|
|
207
|
+
value: string;
|
|
208
|
+
url?: string;
|
|
209
|
+
domain?: string;
|
|
210
|
+
path?: string;
|
|
211
|
+
expires?: number;
|
|
212
|
+
}[]): Promise<void>;
|
|
213
|
+
cookies(): Promise<{
|
|
214
|
+
name: string;
|
|
215
|
+
value: string;
|
|
216
|
+
domain: string;
|
|
217
|
+
path: string;
|
|
218
|
+
}[]>;
|
|
219
|
+
}
|
|
220
|
+
/** The part of a Playwright `Page` that `expectInstant` uses. */
|
|
221
|
+
interface InstantPage extends BudgetPage {
|
|
222
|
+
url(): string;
|
|
223
|
+
context(): InstantBrowserContext;
|
|
224
|
+
}
|
|
225
|
+
/** The part of a Playwright `Locator` that `expectInstant` checks. */
|
|
226
|
+
interface InstantLocator {
|
|
227
|
+
waitFor(options: {
|
|
228
|
+
state: "visible";
|
|
229
|
+
timeout?: number;
|
|
230
|
+
}): Promise<void>;
|
|
231
|
+
count(): Promise<number>;
|
|
232
|
+
}
|
|
233
|
+
interface InstantExpectation {
|
|
234
|
+
/** The navigation to hold, such as a click on a `<Link>`. */
|
|
235
|
+
readonly during: () => Promise<unknown>;
|
|
236
|
+
/** Locators that must be visible while the lock holds. */
|
|
237
|
+
readonly visible: readonly InstantLocator[];
|
|
238
|
+
/** Locators that must not exist while the lock holds. */
|
|
239
|
+
readonly absent?: readonly InstantLocator[];
|
|
240
|
+
/**
|
|
241
|
+
* Fails when one render of the navigation makes more database calls, or
|
|
242
|
+
* when no render reached the proxy (a navigation the client cache served
|
|
243
|
+
* has nothing to measure: drop the budget for it).
|
|
244
|
+
*/
|
|
245
|
+
readonly maxCalls?: number;
|
|
246
|
+
/** Fails when one render of the navigation makes more sequential waves. */
|
|
247
|
+
readonly maxWaves?: number;
|
|
248
|
+
/** How long to wait for the render that streams in after the lock releases. Defaults to 500 ms. */
|
|
249
|
+
readonly settleMs?: number;
|
|
250
|
+
/** Scopes the lock on a page that has not loaded yet. */
|
|
251
|
+
readonly baseURL?: string;
|
|
252
|
+
/** How long each `visible` locator may take. Defaults to 5 seconds. */
|
|
253
|
+
readonly timeoutMs?: number;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Runs `during` inside `@next/playwright`'s `instant()`, checks what the
|
|
257
|
+
* prefetched UI shows while the lock holds, and with `maxCalls` or
|
|
258
|
+
* `maxWaves` checks the navigation's database budget like `expectDbBudget`.
|
|
259
|
+
* Needs a `next build` with the testing API exposed.
|
|
260
|
+
*/
|
|
261
|
+
export declare function expectInstant(page: InstantPage, expectation: InstantExpectation): Promise<readonly MeasuredRender[]>;
|
|
262
|
+
//#endregion
|
|
159
263
|
//#region src/testing/conformance.d.ts
|
|
160
264
|
interface ConformanceCheck {
|
|
161
265
|
readonly name: string;
|
|
@@ -172,10 +276,10 @@ export declare class ConformanceError extends Error {
|
|
|
172
276
|
readonly report: ConformanceReport;
|
|
173
277
|
constructor(report: ConformanceReport);
|
|
174
278
|
}
|
|
175
|
-
type AnySupabase = BetterSupabase<any, any, any, any>;
|
|
279
|
+
type AnySupabase$1 = BetterSupabase<any, any, any, any>;
|
|
176
280
|
interface TestExecutorOptions {
|
|
177
281
|
/** A definition whose schema matches the executor's database. Install no plugins. */
|
|
178
|
-
readonly betterSupabase: AnySupabase;
|
|
282
|
+
readonly betterSupabase: AnySupabase$1;
|
|
179
283
|
/** App key of a table with rows the executor can read. Defaults to the first table. */
|
|
180
284
|
readonly table?: string;
|
|
181
285
|
/** A row to insert and delete again, to check writes. Skips write checks when omitted. */
|
|
@@ -184,7 +288,8 @@ interface TestExecutorOptions {
|
|
|
184
288
|
/**
|
|
185
289
|
* Proves an `Executor` meets the contract: rows keyed by the selection's
|
|
186
290
|
* aliases, counts, `aborted` errors, failures returned as `Result`s rather
|
|
187
|
-
* than thrown, and (with `create`) a write round trip
|
|
291
|
+
* than thrown, and (with `create`) a write round trip and a `deleteMany`
|
|
292
|
+
* that `maxAffected` refuses without deleting anything.
|
|
188
293
|
*
|
|
189
294
|
* ```ts
|
|
190
295
|
* it('conforms', () => testExecutor(myExecutor, { betterSupabase, table: 'tags', create: { name: 'x' } }));
|
|
@@ -249,19 +354,9 @@ interface TestAuthResolverOptions {
|
|
|
249
354
|
* closed (`invalid`, never anon) on bad credentials, and never throws.
|
|
250
355
|
*/
|
|
251
356
|
export declare function testAuthResolver(resolver: AuthResolver, options: TestAuthResolverOptions): Promise<ConformanceReport>;
|
|
252
|
-
interface TestGeneratorOptions {
|
|
253
|
-
/** Schema metadata to generate from: `schema.meta` from your generated module. */
|
|
254
|
-
readonly meta: SchemaMeta;
|
|
255
|
-
/** Typegen metadata; defaults to an empty database. */
|
|
256
|
-
readonly introspection?: GeneratorInput["introspection"];
|
|
257
|
-
readonly extras?: GeneratorInput["extras"];
|
|
258
|
-
readonly config?: ResolvedConfig;
|
|
259
|
-
}
|
|
260
|
-
/** Proves a `Generator` writes relative, unique paths, is deterministic and doesn't mutate its input. */
|
|
261
|
-
export declare function testGenerator(generator: Generator, options: TestGeneratorOptions): Promise<ConformanceReport>;
|
|
262
357
|
interface TestPluginOptions {
|
|
263
358
|
/** The definition without this plugin. */
|
|
264
|
-
readonly betterSupabase: AnySupabase;
|
|
359
|
+
readonly betterSupabase: AnySupabase$1;
|
|
265
360
|
/** Table to exercise. Defaults to the first table. */
|
|
266
361
|
readonly table?: string;
|
|
267
362
|
/** Context the plugin needs, such as `{ tenant }` for `tenant()`. */
|
|
@@ -270,8 +365,10 @@ interface TestPluginOptions {
|
|
|
270
365
|
readonly create?: Readonly<Record<string, unknown>>;
|
|
271
366
|
}
|
|
272
367
|
/**
|
|
273
|
-
* Proves a `Plugin` targets API v1, installs cleanly
|
|
274
|
-
*
|
|
368
|
+
* Proves a `Plugin` targets API v1, installs cleanly on its own and next to
|
|
369
|
+
* the first-party plugins in either order, adds repository methods without
|
|
370
|
+
* replacing base ones, keeps `context`, `transformQuery` and
|
|
371
|
+
* `beforeMutation` pure and deterministic, and keeps executors'
|
|
275
372
|
* results intact when it wraps them.
|
|
276
373
|
*/
|
|
277
374
|
export declare function testPlugin(plugin: AnyPlugin, options: TestPluginOptions): Promise<ConformanceReport>;
|
|
@@ -331,9 +428,8 @@ export declare function expectTenantIsolation<M extends AnyModels, D, F extends
|
|
|
331
428
|
/**
|
|
332
429
|
* Claims of a Supabase access token where someone acts for the user, with
|
|
333
430
|
* what `toSession` reads from them: `actor`, `impersonator` and
|
|
334
|
-
* `delegation`. Plain data
|
|
335
|
-
* (
|
|
336
|
-
* fixture passes PermDock's `schemas/supabase-claims-v1.json`.
|
|
431
|
+
* `delegation`. Plain data, so another library that reads the same `act`
|
|
432
|
+
* claim (RFC 8693) can test against the same fixtures.
|
|
337
433
|
*/
|
|
338
434
|
interface SupabaseClaimFixture {
|
|
339
435
|
/** Without `iat` and `exp`, so a test signer sets them. */
|
|
@@ -388,13 +484,135 @@ export declare function isSeed(value: unknown): value is Seed<unknown>;
|
|
|
388
484
|
*/
|
|
389
485
|
export declare function defineSeed<M extends AnyModels, D, F extends AnyFunctions, E, const S extends SeedFixtures<M>>(betterSupabase: BetterSupabase<M, D, F, E>, fixtures: S & ExactSeed<M, S>): Seed<S>;
|
|
390
486
|
//#endregion
|
|
487
|
+
//#region src/testing/adapter.d.ts
|
|
488
|
+
type AnySupabase = BetterSupabase<any, any, any, any>;
|
|
489
|
+
/** What the adapter module asks a handler to do with the caller's context. */
|
|
490
|
+
type AdapterRun = (ctx: Pick<ServerContext<AnyModels, AnyFunctions, unknown>, "auth" | "replica">) => unknown;
|
|
491
|
+
interface TestAdapterOptions {
|
|
492
|
+
/** The definition the adapter is built from: the module tracks event sends on its `events`. */
|
|
493
|
+
readonly betterSupabase: AnySupabase;
|
|
494
|
+
/**
|
|
495
|
+
* Builds the adapter with `server` (pass it to `createX(betterSupabase,
|
|
496
|
+
* server)`) and returns a fetch function that answers a request with
|
|
497
|
+
* `run` as the caller, behind a guard that allows `allow`. Translate the
|
|
498
|
+
* module's bare GET into what the adapter expects (a JSON-RPC `tools/call`,
|
|
499
|
+
* an oRPC call) inside the function.
|
|
500
|
+
*/
|
|
501
|
+
readonly serve: (server: ServerOptions & {
|
|
502
|
+
readonly exposeErrors: false;
|
|
503
|
+
}, run: AdapterRun, options: {
|
|
504
|
+
readonly allow: NonNullable<GuardOptions["allow"]>;
|
|
505
|
+
readonly waitUntil: (promise: Promise<unknown>) => void;
|
|
506
|
+
}) => (request: Request) => Promise<Response>;
|
|
507
|
+
/** The adapter answers handler errors in a 200 body (MCP tool results), not with HTTP statuses. */
|
|
508
|
+
readonly errorsInBody?: boolean;
|
|
509
|
+
/** The adapter sends no cookies (bearer-only transports such as MCP). */
|
|
510
|
+
readonly cookies?: false;
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* Proves a framework adapter refuses callers its guard rejects, answers
|
|
514
|
+
* `DbError`s with their status, hides unexpected errors, applies the
|
|
515
|
+
* context's cookies and hands pending event sends to `waitUntil`, the way
|
|
516
|
+
* `handle()` from `better-supabase/server` does.
|
|
517
|
+
*/
|
|
518
|
+
export declare function testAdapter(name: string, options: TestAdapterOptions): Promise<ConformanceReport>;
|
|
519
|
+
//#endregion
|
|
520
|
+
//#region src/testing/transport-middleware.d.ts
|
|
521
|
+
/**
|
|
522
|
+
* Proves a `BlockTransportMiddleware` meets the contract: it declares API 1
|
|
523
|
+
* and a name, calls `next` at most once per call, leaves the request it got
|
|
524
|
+
* unchanged, resolves when `next` does, and rejects with the database error
|
|
525
|
+
* `next` rejected with, so blocks still map it to a `DbError`.
|
|
526
|
+
*
|
|
527
|
+
* ```ts
|
|
528
|
+
* it('conforms', () => testBlockTransportMiddleware(statementTimeout('5s')));
|
|
529
|
+
* ```
|
|
530
|
+
*/
|
|
531
|
+
export declare function testBlockTransportMiddleware(middleware: BlockTransportMiddleware): Promise<ConformanceReport>;
|
|
532
|
+
//#endregion
|
|
533
|
+
//#region src/testing/authorization-provider.d.ts
|
|
534
|
+
/**
|
|
535
|
+
* Proves an `AuthorizationProvider` targets API v1, is plain JSON, names
|
|
536
|
+
* valid scopes with a tenant scope that has an id type, writes templates
|
|
537
|
+
* that are safe to inline and use the placeholders they need, lists every
|
|
538
|
+
* function its templates call in `requires`, and keeps its token hook,
|
|
539
|
+
* suspension rows, role sources and deciding columns well formed.
|
|
540
|
+
*/
|
|
541
|
+
export declare function testAuthorizationProvider(provider: AuthorizationProvider): Promise<ConformanceReport>;
|
|
542
|
+
//#endregion
|
|
543
|
+
//#region src/testing/generator.d.ts
|
|
544
|
+
interface TestGeneratorOptions {
|
|
545
|
+
/** Schema metadata to generate from: `schema.meta` from your generated module. */
|
|
546
|
+
readonly meta: SchemaMeta;
|
|
547
|
+
/** Typegen metadata; defaults to an empty database. */
|
|
548
|
+
readonly introspection?: GeneratorInput["introspection"];
|
|
549
|
+
readonly extras?: GeneratorInput["extras"];
|
|
550
|
+
readonly config?: ResolvedConfig;
|
|
551
|
+
/** Defaults to one built from `meta`, with `unknown` for column types it can't name. */
|
|
552
|
+
readonly model?: GeneratorModel;
|
|
553
|
+
}
|
|
554
|
+
/** Proves a `Generator` writes relative, unique paths, is deterministic and doesn't mutate its input. */
|
|
555
|
+
export declare function testGenerator(generator: Generator, options: TestGeneratorOptions): Promise<ConformanceReport>;
|
|
556
|
+
//#endregion
|
|
557
|
+
//#region src/testing/injectables.d.ts
|
|
558
|
+
interface TestEmbedderOptions {
|
|
559
|
+
/** The texts to embed. Defaults to two short sentences. */
|
|
560
|
+
readonly values?: readonly string[];
|
|
561
|
+
}
|
|
562
|
+
/**
|
|
563
|
+
* Proves an `Embedder` for the knowledge and memory blocks names its model,
|
|
564
|
+
* embeds an empty list to nothing, and returns one finite vector per value,
|
|
565
|
+
* all of the same length on every call. It calls the real model.
|
|
566
|
+
*/
|
|
567
|
+
export declare function testEmbedder(embedder: Embedder, options?: TestEmbedderOptions): Promise<ConformanceReport>;
|
|
568
|
+
interface TestAiTaskRunnerOptions {
|
|
569
|
+
/** A task the runner can run, as the ai-tasks block passes it. */
|
|
570
|
+
readonly task: AiTask;
|
|
571
|
+
/** The claimed run for `task`. */
|
|
572
|
+
readonly run: AiTaskRun;
|
|
573
|
+
}
|
|
574
|
+
/**
|
|
575
|
+
* Proves an `AiTaskRunner` resolves with nothing or a chat id and stops when
|
|
576
|
+
* its signal is already aborted. It runs `options.task` for real.
|
|
577
|
+
*/
|
|
578
|
+
export declare function testAiTaskRunner(runner: AiTaskRunner, options: TestAiTaskRunnerOptions): Promise<ConformanceReport>;
|
|
579
|
+
interface TestGraphCompilerOptions {
|
|
580
|
+
/** A valid graph for the compiler's engine. */
|
|
581
|
+
readonly graph: WorkflowGraph;
|
|
582
|
+
}
|
|
583
|
+
/**
|
|
584
|
+
* Proves a `GraphCompiler` returns a JSON value (stored with the published
|
|
585
|
+
* version), compiles the same graph to the same value and leaves the graph
|
|
586
|
+
* unchanged.
|
|
587
|
+
*/
|
|
588
|
+
export declare function testGraphCompiler(compile: GraphCompiler, options: TestGraphCompilerOptions): Promise<ConformanceReport>;
|
|
589
|
+
interface TestBuilderStarterOptions {
|
|
590
|
+
/** A start call the engine can run. */
|
|
591
|
+
readonly call: BuilderStartCall;
|
|
592
|
+
}
|
|
593
|
+
/**
|
|
594
|
+
* Proves a `BuilderStarter` returns a run id and returns the same id when
|
|
595
|
+
* the same idempotency key starts again. It starts real runs.
|
|
596
|
+
*/
|
|
597
|
+
export declare function testBuilderStarter(start: BuilderStarter, options: TestBuilderStarterOptions): Promise<ConformanceReport>;
|
|
598
|
+
interface TestEveDocumentBackendOptions {
|
|
599
|
+
/** The document key to write. Defaults to a random `conformance/` key. */
|
|
600
|
+
readonly key?: string;
|
|
601
|
+
}
|
|
602
|
+
/**
|
|
603
|
+
* Proves an `EveDocumentBackend` reads a missing document as `null`, creates
|
|
604
|
+
* one with `expectedVersion: null`, refuses a stale version and moves the
|
|
605
|
+
* version on every write. It writes `options.key` on the real store.
|
|
606
|
+
*/
|
|
607
|
+
export declare function testEveDocumentBackend(backend: EveDocumentBackend, options?: TestEveDocumentBackendOptions): Promise<ConformanceReport>;
|
|
608
|
+
//#endregion
|
|
391
609
|
//#region src/testing/notification-channel.d.ts
|
|
392
610
|
interface TestNotificationChannelOptions {
|
|
393
611
|
/** The recipient's email in the sample message. Defaults to `null`. */
|
|
394
612
|
readonly email?: string | null;
|
|
395
613
|
/**
|
|
396
|
-
* The delivery ids the provider received, read after the
|
|
397
|
-
* given, the
|
|
614
|
+
* The delivery ids the provider received, read after the module sends. When
|
|
615
|
+
* given, the module checks that the sample message arrived.
|
|
398
616
|
*/
|
|
399
617
|
readonly received?: () => Promise<readonly string[]>;
|
|
400
618
|
}
|
|
@@ -408,7 +626,7 @@ export declare function testNotificationChannel(channel: NotificationChannel, op
|
|
|
408
626
|
//#region src/testing/webhooks.d.ts
|
|
409
627
|
interface TestWebhookSignerOptions {
|
|
410
628
|
/**
|
|
411
|
-
* The receiver's check, e.g. `verifyWebhook`. When given, the
|
|
629
|
+
* The receiver's check, e.g. `verifyWebhook`. When given, the module checks
|
|
412
630
|
* that the signed sample verifies with its secret.
|
|
413
631
|
*/
|
|
414
632
|
readonly verify?: (request: {
|
|
@@ -425,7 +643,7 @@ export declare function testWebhookSigner(signer: WebhookSigner, options?: TestW
|
|
|
425
643
|
interface TestWebhookTransportOptions {
|
|
426
644
|
/** A receiver the transport may POST the sample to, e.g. a local server. */
|
|
427
645
|
readonly url: string;
|
|
428
|
-
/** The bodies the receiver got, read after the
|
|
646
|
+
/** The bodies the receiver got, read after the module sends. */
|
|
429
647
|
readonly received?: () => Promise<readonly string[]>;
|
|
430
648
|
}
|
|
431
649
|
/**
|
|
@@ -445,4 +663,60 @@ interface TestWebhookSecretStoreOptions {
|
|
|
445
663
|
*/
|
|
446
664
|
export declare function testWebhookSecretStore(store: WebhookSecretStore, options: TestWebhookSecretStoreOptions): Promise<ConformanceReport>;
|
|
447
665
|
//#endregion
|
|
448
|
-
|
|
666
|
+
//#region src/testing/chat-state.d.ts
|
|
667
|
+
interface TestChatStateOptions {
|
|
668
|
+
/** Builds a queued message, e.g. `createTestMessage(id, text)` from `@chat-adapter/tests`. */
|
|
669
|
+
readonly message: (id: string, text: string) => Message;
|
|
670
|
+
/** A fresh key or thread id per call. Defaults to `conformance-<uuid>`. */
|
|
671
|
+
readonly id?: () => string;
|
|
672
|
+
/** The TTL the expiry checks use, in milliseconds. Defaults to 300. */
|
|
673
|
+
readonly ttlMs?: number;
|
|
674
|
+
}
|
|
675
|
+
/**
|
|
676
|
+
* Runs the Chat SDK `StateAdapter` contract against `state`: subscriptions,
|
|
677
|
+
* one lock holder at a time with token-checked release and extension, lock
|
|
678
|
+
* and cache TTLs, `setIfNotExists`, list trimming, and a per-thread queue
|
|
679
|
+
* that keeps the newest entries, reports its depth and drops expired ones.
|
|
680
|
+
*/
|
|
681
|
+
export declare function testChatState(state: StateAdapter, options: TestChatStateOptions): Promise<ConformanceReport>;
|
|
682
|
+
//#endregion
|
|
683
|
+
//#region src/testing/streams.d.ts
|
|
684
|
+
interface TestStreamStoreOptions {
|
|
685
|
+
/** A fresh stream id per call. Defaults to `conformance-<uuid>`. */
|
|
686
|
+
readonly id?: () => string;
|
|
687
|
+
/** Milliseconds a read may take before the check fails. Defaults to 5000. */
|
|
688
|
+
readonly timeoutMs?: number;
|
|
689
|
+
}
|
|
690
|
+
/**
|
|
691
|
+
* Runs the `StreamStore` contract against `store`: the API version, open
|
|
692
|
+
* once, idempotent appends that refuse gaps, reads from any index that end
|
|
693
|
+
* when the stream closes, a live read that sees later appends, cancel seen by
|
|
694
|
+
* the writer, a closed stream that refuses appends, and a missing stream.
|
|
695
|
+
*/
|
|
696
|
+
export declare function testStreamStore(store: StreamStore, options?: TestStreamStoreOptions): Promise<ConformanceReport>;
|
|
697
|
+
//#endregion
|
|
698
|
+
//#region src/testing/credentials.d.ts
|
|
699
|
+
interface TestCredentialProviderOptions {
|
|
700
|
+
/** An app-scoped ref the kit may store into and revoke. */
|
|
701
|
+
readonly ref: CredentialRef;
|
|
702
|
+
/** Stores `value` as the credential `ref` names for `subject`. */
|
|
703
|
+
readonly seed: (ref: CredentialRef, subject: CredentialSubject, value: string) => Promise<void>;
|
|
704
|
+
/** A per-user ref, for providers that keep one credential per user. */
|
|
705
|
+
readonly userRef?: CredentialRef;
|
|
706
|
+
/** A ref with an inbound scheme and a function that signs a request with `secret`. */
|
|
707
|
+
readonly inbound?: {
|
|
708
|
+
readonly ref: CredentialRef;
|
|
709
|
+
readonly sign: (body: string, secret: string) => Promise<Request>;
|
|
710
|
+
};
|
|
711
|
+
}
|
|
712
|
+
/**
|
|
713
|
+
* Runs the `CredentialProvider` contract against `provider`: the API version,
|
|
714
|
+
* an unknown ref, a stored token with its headers, a new value seen after it
|
|
715
|
+
* is stored, separate credentials per user and per tenant (`ref` with a
|
|
716
|
+
* `tenant`, which `seed` must store too), revoke (per user, as the
|
|
717
|
+
* organization purger revokes connector grants), and inbound checks that
|
|
718
|
+
* accept a signed request and refuse a tampered one.
|
|
719
|
+
*/
|
|
720
|
+
export declare function testCredentialProvider(provider: CredentialProvider, options: TestCredentialProviderOptions): Promise<ConformanceReport>;
|
|
721
|
+
//#endregion
|
|
722
|
+
export type { AdapterRun, BudgetPage, BudgetRequest, BudgetResponse, ConformanceCheck, ConformanceReport, DbBudgetExpectation, ExactSeed, InstantBrowserContext, InstantExpectation, InstantLocator, InstantPage, IsolationTable, IsolationTables, IsolationTenant, LocalStack, MeasuredRender, ResponseBudgetExpectation, ResponseDbStats, Seed, SeedFixtures, SigningJwk, SupabaseClaimFixture, SupabaseClaimFixtureName, TenantIsolationOptions, TestAdapterOptions, TestAiTaskRunnerOptions, TestAuthResolverOptions, TestBuilderStarterOptions, TestChatStateOptions, TestCredentialProviderOptions, TestEmbedderOptions, TestEveDocumentBackendOptions, TestEventSinkOptions, TestExecutorOptions, TestGeneratorOptions, TestGraphCompilerOptions, TestJwtClaims, TestNotificationChannelOptions, TestPluginOptions, TestQueueBackendOptions, TestSigner, TestStreamStoreOptions, TestSupportSessionStoreOptions, TestUser, TestWebhookSecretStoreOptions, TestWebhookSignerOptions, TestWebhookTransportOptions };
|