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,590 @@
|
|
|
1
|
+
/// <reference lib="esnext.temporal" />
|
|
2
|
+
import { t as AsyncResult, w as ErrorMapper } from "./result-D7y2fT87.js";
|
|
3
|
+
import { t as BlockTransport } from "./block-transport-DvaoPuZ9.js";
|
|
4
|
+
import { a as AiMessage, c as AiMessageRole } from "./message-CfDoR0Y6.js";
|
|
5
|
+
import { r as BlockTemporalOptions } from "./block-helpers-CKtbFcRv.js";
|
|
6
|
+
import { m as JobHandler } from "./queue-CLJurhdy.js";
|
|
7
|
+
import { n as FinalRunState, r as RunState } from "./run-state-CPo-1X2B.js";
|
|
8
|
+
//#region src/blocks/ai-chat/durable.d.ts
|
|
9
|
+
/** Where a run is: written by `runs.claim`, `release` and `stop`. */
|
|
10
|
+
type AiRunState = Exclude<RunState, "waiting">;
|
|
11
|
+
/** One generation of a chat, as `ai_runs` stores it. */
|
|
12
|
+
interface AiRun {
|
|
13
|
+
readonly id: string;
|
|
14
|
+
readonly chatId: string;
|
|
15
|
+
readonly ownerId: string;
|
|
16
|
+
readonly assistantMessageId: string | undefined;
|
|
17
|
+
readonly streamId: string | undefined;
|
|
18
|
+
/** `ai-sdk` for a request-bound answer, `workflow` for a durable one. */
|
|
19
|
+
readonly engine: string;
|
|
20
|
+
/** The durable engine's own run id, such as a Workflow SDK run. */
|
|
21
|
+
readonly externalRunId: string | undefined;
|
|
22
|
+
readonly model: string | undefined;
|
|
23
|
+
readonly status: AiRunState;
|
|
24
|
+
readonly usage: Readonly<Record<string, unknown>>;
|
|
25
|
+
readonly costMicroUsd: number | undefined;
|
|
26
|
+
readonly error: string | undefined;
|
|
27
|
+
readonly startedAt: Temporal.Instant;
|
|
28
|
+
readonly endedAt: Temporal.Instant | undefined;
|
|
29
|
+
}
|
|
30
|
+
interface AiRunQuery {
|
|
31
|
+
/** One chat's runs; without it, the caller's own. */
|
|
32
|
+
readonly chatId?: string;
|
|
33
|
+
/** `true` keeps unfinished runs, `false` finished ones. */
|
|
34
|
+
readonly active?: boolean;
|
|
35
|
+
/** At most 200; defaults to 50. */
|
|
36
|
+
readonly limit?: number;
|
|
37
|
+
}
|
|
38
|
+
type AiRunStepStatus = "running" | "done" | "error" | "skipped";
|
|
39
|
+
/** One step of a long run's progress, as `ai_run_steps` stores it. */
|
|
40
|
+
interface AiRunStep {
|
|
41
|
+
readonly id: string;
|
|
42
|
+
readonly runId: string;
|
|
43
|
+
readonly chatId: string;
|
|
44
|
+
/** The idempotency key: recording the same key again updates the step. */
|
|
45
|
+
readonly key: string;
|
|
46
|
+
readonly label: string;
|
|
47
|
+
readonly status: AiRunStepStatus;
|
|
48
|
+
readonly detail: Readonly<Record<string, unknown>>;
|
|
49
|
+
readonly startedAt: Temporal.Instant;
|
|
50
|
+
readonly endedAt: Temporal.Instant | undefined;
|
|
51
|
+
}
|
|
52
|
+
interface AiRunStepInput {
|
|
53
|
+
readonly key: string;
|
|
54
|
+
/** Defaults to the key on the first record, then keeps the stored label. */
|
|
55
|
+
readonly label?: string;
|
|
56
|
+
/** Defaults to `running`. */
|
|
57
|
+
readonly status?: AiRunStepStatus;
|
|
58
|
+
/** Merged into the stored detail. */
|
|
59
|
+
readonly detail?: Readonly<Record<string, unknown>>;
|
|
60
|
+
}
|
|
61
|
+
/** An undecided approval in the caller's inbox, with its chat's title. */
|
|
62
|
+
interface AiPendingApproval extends AiToolApproval {
|
|
63
|
+
readonly chatTitle: string;
|
|
64
|
+
}
|
|
65
|
+
/** Run lookups and steps; `AiChat.runs` has all of them. */
|
|
66
|
+
interface AiRuns {
|
|
67
|
+
get(runId: string): AsyncResult<AiRun>;
|
|
68
|
+
list(query?: AiRunQuery): AsyncResult<readonly AiRun[]>;
|
|
69
|
+
/** Records the durable engine's run id on a claimed run (service role). */
|
|
70
|
+
attach(runId: string, externalRunId: string): AsyncResult<boolean>;
|
|
71
|
+
readonly steps: {
|
|
72
|
+
/** Records or updates one step by its key (service role). */
|
|
73
|
+
record(runId: string, step: AiRunStepInput): AsyncResult<AiRunStep>;
|
|
74
|
+
list(runId: string): AsyncResult<readonly AiRunStep[]>;
|
|
75
|
+
};
|
|
76
|
+
/** The caller's undecided approvals across chats, newest first. */
|
|
77
|
+
pendingApprovals(size?: number): AsyncResult<readonly AiPendingApproval[]>;
|
|
78
|
+
}
|
|
79
|
+
type AiHarnessStatus = "active" | "idle" | "stopped" | "error";
|
|
80
|
+
/**
|
|
81
|
+
* What a coding-agent harness keeps per chat to pick the conversation up
|
|
82
|
+
* again. The states are the harness's own JSON; nothing here reads them.
|
|
83
|
+
*/
|
|
84
|
+
interface AiHarnessSession {
|
|
85
|
+
readonly chatId: string;
|
|
86
|
+
readonly harnessId: string;
|
|
87
|
+
readonly ownerId: string;
|
|
88
|
+
readonly resumeState: unknown;
|
|
89
|
+
readonly continueState: unknown;
|
|
90
|
+
readonly sandboxId: string | undefined;
|
|
91
|
+
readonly status: AiHarnessStatus;
|
|
92
|
+
readonly lockHolder: string | undefined;
|
|
93
|
+
readonly lockedUntil: Temporal.Instant | undefined;
|
|
94
|
+
readonly lastActiveAt: Temporal.Instant;
|
|
95
|
+
readonly createdAt: Temporal.Instant;
|
|
96
|
+
readonly updatedAt: Temporal.Instant;
|
|
97
|
+
}
|
|
98
|
+
/** The fields to change; a field that is absent keeps its value. */
|
|
99
|
+
interface AiHarnessSessionPatch {
|
|
100
|
+
readonly resumeState?: unknown;
|
|
101
|
+
readonly continueState?: unknown;
|
|
102
|
+
/**
|
|
103
|
+
* Registers the session's sandbox in `ai_sandboxes`; `null` marks it
|
|
104
|
+
* stopped.
|
|
105
|
+
*/
|
|
106
|
+
readonly sandboxId?: string | null;
|
|
107
|
+
/** Who runs the sandbox, such as `vercel`. Defaults to `harness`. */
|
|
108
|
+
readonly sandboxProvider?: string;
|
|
109
|
+
readonly status?: AiHarnessStatus;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* The experimental harness session store, on the service role: `lock` keeps
|
|
113
|
+
* two turns from driving one sandbox, `save` refuses a session another holder
|
|
114
|
+
* locked (`AI_HARNESS_LOCKED`).
|
|
115
|
+
*/
|
|
116
|
+
interface AiHarnessSessions {
|
|
117
|
+
load(chatId: string, harnessId: string): AsyncResult<AiHarnessSession | undefined>;
|
|
118
|
+
save(chatId: string, harnessId: string, patch: AiHarnessSessionPatch, options?: {
|
|
119
|
+
readonly holder?: string;
|
|
120
|
+
}): AsyncResult<AiHarnessSession>;
|
|
121
|
+
/** `true` when `holder` holds the lock for `ttlSeconds` (default 300). */
|
|
122
|
+
lock(chatId: string, harnessId: string, holder: string, options?: {
|
|
123
|
+
readonly ttlSeconds?: number;
|
|
124
|
+
}): AsyncResult<boolean>;
|
|
125
|
+
unlock(chatId: string, harnessId: string, holder: string): AsyncResult<boolean>;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* The harness session store of the `ai-chat` block (experimental). It takes
|
|
129
|
+
* a service transport: harness state stays on the server.
|
|
130
|
+
*/
|
|
131
|
+
declare function createHarnessSessions(options: AiChatOptions): AiHarnessSessions;
|
|
132
|
+
//#endregion
|
|
133
|
+
//#region src/blocks/ai-chat/sandboxes.d.ts
|
|
134
|
+
type AiSandboxStatus = "running" | "stopping" | "stopped";
|
|
135
|
+
interface AiSandbox {
|
|
136
|
+
readonly id: string;
|
|
137
|
+
readonly organizationId: string;
|
|
138
|
+
readonly userId: string | undefined;
|
|
139
|
+
readonly chatId: string | undefined;
|
|
140
|
+
/** The harness session the sandbox belongs to, when a harness started it. */
|
|
141
|
+
readonly harnessId: string | undefined;
|
|
142
|
+
/** Who runs it, such as `vercel` or `anthropic`; `harness` for a harness session's sandbox saved without one. */
|
|
143
|
+
readonly provider: string;
|
|
144
|
+
readonly sandboxId: string;
|
|
145
|
+
/** A provider container id, such as Anthropic's code execution container. */
|
|
146
|
+
readonly containerId: string | undefined;
|
|
147
|
+
readonly status: AiSandboxStatus;
|
|
148
|
+
readonly metadata: Readonly<Record<string, unknown>>;
|
|
149
|
+
readonly idleSeconds: number;
|
|
150
|
+
readonly error: string | undefined;
|
|
151
|
+
readonly lastUsedAt: Temporal.Instant;
|
|
152
|
+
readonly expiresAt: Temporal.Instant | undefined;
|
|
153
|
+
readonly stoppedAt: Temporal.Instant | undefined;
|
|
154
|
+
readonly createdAt: Temporal.Instant;
|
|
155
|
+
}
|
|
156
|
+
interface NewAiSandbox {
|
|
157
|
+
readonly provider: string;
|
|
158
|
+
readonly sandboxId: string;
|
|
159
|
+
readonly userId?: string;
|
|
160
|
+
readonly chatId?: string;
|
|
161
|
+
readonly harnessId?: string;
|
|
162
|
+
readonly containerId?: string;
|
|
163
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
164
|
+
/** Seconds without use before the idle-stop claim takes it; ai-chat's `sandboxIdleAfter` by default. */
|
|
165
|
+
readonly idleSeconds?: number;
|
|
166
|
+
readonly expiresAt?: Temporal.Instant;
|
|
167
|
+
}
|
|
168
|
+
/** Stops one sandbox at its provider. A throw keeps it running for the next try. */
|
|
169
|
+
type AiSandboxStopper = (sandbox: AiSandbox) => Promise<unknown>;
|
|
170
|
+
/**
|
|
171
|
+
* The sandboxes chats and harness sessions started, in `ai_sandboxes`, with
|
|
172
|
+
* one idle-stop claim for all of them.
|
|
173
|
+
*/
|
|
174
|
+
interface AiSandboxes {
|
|
175
|
+
/** Records a sandbox, or marks a known one running and used (service role). */
|
|
176
|
+
register(organizationId: string, sandbox: NewAiSandbox): AsyncResult<AiSandbox>;
|
|
177
|
+
/** Marks a sandbox used now (service role). `false` when it is not running. */
|
|
178
|
+
touch(sandboxId: string): AsyncResult<boolean>;
|
|
179
|
+
/** The chat's running sandbox at a provider, to reuse it (service role). */
|
|
180
|
+
forChat(chatId: string, provider: string): AsyncResult<AiSandbox | undefined>;
|
|
181
|
+
list(organizationId: string, options?: {
|
|
182
|
+
readonly chatId?: string;
|
|
183
|
+
}): AsyncResult<readonly AiSandbox[]>;
|
|
184
|
+
/**
|
|
185
|
+
* Claims idle and expired sandboxes to stop (service role). A sandbox
|
|
186
|
+
* whose harness session is locked by a turn is skipped.
|
|
187
|
+
*/
|
|
188
|
+
idle(options?: {
|
|
189
|
+
readonly batch?: number;
|
|
190
|
+
readonly leaseSeconds?: number;
|
|
191
|
+
}): AsyncResult<readonly AiSandbox[]>;
|
|
192
|
+
/**
|
|
193
|
+
* Records a claimed stop. A stopped harness sandbox stops its session too;
|
|
194
|
+
* `false` when a turn used the sandbox again since the claim.
|
|
195
|
+
*/
|
|
196
|
+
finishStop(sandboxId: string, stopped: boolean, error?: string): AsyncResult<boolean>;
|
|
197
|
+
/** Claims idle sandboxes, stops each with `stop`, and records the outcome. Returns how many stopped. */
|
|
198
|
+
stopIdle(stop: AiSandboxStopper, options?: {
|
|
199
|
+
readonly batch?: number;
|
|
200
|
+
}): AsyncResult<number>;
|
|
201
|
+
/** A job handler that runs `stopIdle`; schedule it every few minutes. */
|
|
202
|
+
idleStopJob(stop: AiSandboxStopper, options?: {
|
|
203
|
+
readonly batch?: number;
|
|
204
|
+
}): JobHandler<unknown>;
|
|
205
|
+
}
|
|
206
|
+
//#endregion
|
|
207
|
+
//#region src/blocks/ai-chat/ai-chat.d.ts
|
|
208
|
+
type AiChatVisibility = "private" | "organization";
|
|
209
|
+
interface AiChatRecord {
|
|
210
|
+
readonly id: string;
|
|
211
|
+
readonly organizationId: string;
|
|
212
|
+
readonly ownerId: string;
|
|
213
|
+
readonly projectId: string | undefined;
|
|
214
|
+
readonly agentId: string | undefined;
|
|
215
|
+
readonly title: string;
|
|
216
|
+
readonly model: string | undefined;
|
|
217
|
+
readonly visibility: AiChatVisibility;
|
|
218
|
+
readonly pinned: boolean;
|
|
219
|
+
readonly archivedAt: Temporal.Instant | undefined;
|
|
220
|
+
/** A temporary chat expires at `expiresAt` and never reaches the chat list. */
|
|
221
|
+
readonly temporary: boolean;
|
|
222
|
+
readonly expiresAt: Temporal.Instant | undefined;
|
|
223
|
+
/** The message the chat shows: the end of the active branch. */
|
|
224
|
+
readonly leafId: string | undefined;
|
|
225
|
+
/** The stream of the answer being written, while one runs. */
|
|
226
|
+
readonly activeStreamId: string | undefined;
|
|
227
|
+
readonly activeRunId: string | undefined;
|
|
228
|
+
readonly lastMessageAt: Temporal.Instant;
|
|
229
|
+
readonly createdAt: Temporal.Instant;
|
|
230
|
+
readonly updatedAt: Temporal.Instant;
|
|
231
|
+
}
|
|
232
|
+
interface AiChatInput {
|
|
233
|
+
/** A client-made id, so a retried create returns the same chat. */
|
|
234
|
+
readonly id?: string;
|
|
235
|
+
readonly title?: string;
|
|
236
|
+
readonly model?: string | null;
|
|
237
|
+
readonly projectId?: string | null;
|
|
238
|
+
readonly agentId?: string | null;
|
|
239
|
+
/** `organization` needs `ai_chat.share`. */
|
|
240
|
+
readonly visibility?: AiChatVisibility;
|
|
241
|
+
readonly pinned?: boolean;
|
|
242
|
+
readonly temporary?: boolean;
|
|
243
|
+
/** The service role only: the user the chat belongs to. */
|
|
244
|
+
readonly ownerId?: string;
|
|
245
|
+
}
|
|
246
|
+
interface AiChatPatch {
|
|
247
|
+
readonly title?: string;
|
|
248
|
+
readonly model?: string | null;
|
|
249
|
+
readonly projectId?: string | null;
|
|
250
|
+
readonly visibility?: AiChatVisibility;
|
|
251
|
+
readonly pinned?: boolean;
|
|
252
|
+
readonly archived?: boolean;
|
|
253
|
+
}
|
|
254
|
+
interface AiChatQuery {
|
|
255
|
+
readonly organizationId?: string | null;
|
|
256
|
+
/** Full-text search over titles and message text. */
|
|
257
|
+
readonly search?: string;
|
|
258
|
+
readonly projectId?: string;
|
|
259
|
+
readonly pinned?: boolean;
|
|
260
|
+
readonly archived?: boolean;
|
|
261
|
+
/** The `next` cursor of the previous page. */
|
|
262
|
+
readonly cursor?: string;
|
|
263
|
+
readonly limit?: number;
|
|
264
|
+
}
|
|
265
|
+
interface AiChatPage {
|
|
266
|
+
readonly items: readonly AiChatRecord[];
|
|
267
|
+
/** Pass as `after` for the next page; `undefined` on the last one. */
|
|
268
|
+
readonly next: string | undefined;
|
|
269
|
+
}
|
|
270
|
+
interface AiProject {
|
|
271
|
+
readonly id: string;
|
|
272
|
+
readonly organizationId: string;
|
|
273
|
+
readonly ownerId: string;
|
|
274
|
+
readonly name: string;
|
|
275
|
+
readonly instructions: string;
|
|
276
|
+
readonly defaultModel: string | undefined;
|
|
277
|
+
readonly pinned: boolean;
|
|
278
|
+
readonly archivedAt: Temporal.Instant | undefined;
|
|
279
|
+
readonly createdAt: Temporal.Instant;
|
|
280
|
+
readonly updatedAt: Temporal.Instant;
|
|
281
|
+
}
|
|
282
|
+
interface AiProjectInput {
|
|
283
|
+
readonly name?: string;
|
|
284
|
+
readonly instructions?: string;
|
|
285
|
+
readonly defaultModel?: string | null;
|
|
286
|
+
readonly pinned?: boolean;
|
|
287
|
+
readonly archived?: boolean;
|
|
288
|
+
}
|
|
289
|
+
type AiStoredMessageStatus = "complete" | "aborted" | "error";
|
|
290
|
+
/** A message as the tree stores it: the canonical fields plus its place. */
|
|
291
|
+
interface AiStoredMessage extends AiMessage {
|
|
292
|
+
readonly parentId: string | undefined;
|
|
293
|
+
/** `canonical`, or the format `native` holds (such as `ai-sdk-ui`). */
|
|
294
|
+
readonly format: string;
|
|
295
|
+
/** The SDK's own message, when `path(..., { native: true })` asks for it. */
|
|
296
|
+
readonly native: unknown;
|
|
297
|
+
readonly model: string | undefined;
|
|
298
|
+
readonly status: AiStoredMessageStatus;
|
|
299
|
+
readonly createdAt: Temporal.Instant;
|
|
300
|
+
/** How many messages share this one's parent, itself included. */
|
|
301
|
+
readonly siblingCount: number;
|
|
302
|
+
/** Its position among them, from 0, oldest first. */
|
|
303
|
+
readonly siblingIndex: number;
|
|
304
|
+
}
|
|
305
|
+
interface AiMessageSibling {
|
|
306
|
+
readonly id: string;
|
|
307
|
+
readonly role: AiMessageRole;
|
|
308
|
+
readonly createdAt: Temporal.Instant;
|
|
309
|
+
}
|
|
310
|
+
type AiUserMessageTrigger = "submit-message" | "regenerate-message";
|
|
311
|
+
interface AiAppendResult {
|
|
312
|
+
/** The stored id: a fresh one when the message edits an earlier one. */
|
|
313
|
+
readonly messageId: string;
|
|
314
|
+
readonly parentId: string | undefined;
|
|
315
|
+
/** `false` for a retry, or for `regenerate-message`, which adds nothing. */
|
|
316
|
+
readonly created: boolean;
|
|
317
|
+
}
|
|
318
|
+
interface AiAssistantMessageOptions {
|
|
319
|
+
readonly parentId: string;
|
|
320
|
+
readonly status?: AiStoredMessageStatus;
|
|
321
|
+
readonly model?: string;
|
|
322
|
+
/** The format of `native`, such as `ai-sdk-ui`. */
|
|
323
|
+
readonly format?: string;
|
|
324
|
+
readonly native?: unknown;
|
|
325
|
+
/** The run `runs.claim` returned. */
|
|
326
|
+
readonly runId?: string | undefined;
|
|
327
|
+
}
|
|
328
|
+
interface AiSaveResult {
|
|
329
|
+
readonly messageId: string;
|
|
330
|
+
readonly parentId: string | undefined;
|
|
331
|
+
readonly created: boolean;
|
|
332
|
+
}
|
|
333
|
+
interface AiStreamClaim {
|
|
334
|
+
/** `false` while another live stream writes the chat's answer. */
|
|
335
|
+
readonly claimed: boolean;
|
|
336
|
+
readonly streamId: string | undefined;
|
|
337
|
+
readonly runId: string | undefined;
|
|
338
|
+
}
|
|
339
|
+
/** How a run ended, as `runs.release` records it. */
|
|
340
|
+
type AiRunStatus = Extract<AiRunState, FinalRunState>;
|
|
341
|
+
interface AiRunRelease {
|
|
342
|
+
readonly status?: AiRunStatus;
|
|
343
|
+
readonly usage?: Readonly<Record<string, unknown>>;
|
|
344
|
+
readonly generationId?: string;
|
|
345
|
+
readonly error?: string;
|
|
346
|
+
readonly costMicroUsd?: number;
|
|
347
|
+
}
|
|
348
|
+
type AiApprovalDecision = "pending" | "approved" | "denied";
|
|
349
|
+
interface AiToolApproval {
|
|
350
|
+
readonly approvalId: string;
|
|
351
|
+
readonly chatId: string;
|
|
352
|
+
readonly runId: string | undefined;
|
|
353
|
+
readonly messageId: string | undefined;
|
|
354
|
+
readonly tool: string;
|
|
355
|
+
readonly toolCallId: string;
|
|
356
|
+
readonly input: unknown;
|
|
357
|
+
readonly decision: AiApprovalDecision;
|
|
358
|
+
readonly reason: string | undefined;
|
|
359
|
+
readonly signature: string | undefined;
|
|
360
|
+
readonly decidedBy: string | undefined;
|
|
361
|
+
readonly decidedAt: Temporal.Instant | undefined;
|
|
362
|
+
readonly createdAt: Temporal.Instant;
|
|
363
|
+
}
|
|
364
|
+
interface AiToolApprovalRequest {
|
|
365
|
+
readonly approvalId: string;
|
|
366
|
+
readonly tool: string;
|
|
367
|
+
readonly toolCallId: string;
|
|
368
|
+
readonly input?: unknown;
|
|
369
|
+
readonly runId?: string;
|
|
370
|
+
readonly messageId?: string;
|
|
371
|
+
/** A signature over the input, so the decision can't be replayed on other input. */
|
|
372
|
+
readonly signature?: string;
|
|
373
|
+
}
|
|
374
|
+
type AiToolPolicy = "auto" | "ask" | "deny";
|
|
375
|
+
interface AiPendingInput {
|
|
376
|
+
readonly id: string;
|
|
377
|
+
readonly chatId: string;
|
|
378
|
+
readonly runId: string | undefined;
|
|
379
|
+
readonly toolCallId: string | undefined;
|
|
380
|
+
readonly question: string;
|
|
381
|
+
/** A JSON Schema for the answer. */
|
|
382
|
+
readonly schema: unknown;
|
|
383
|
+
readonly answer: unknown;
|
|
384
|
+
readonly answeredAt: Temporal.Instant | undefined;
|
|
385
|
+
readonly createdAt: Temporal.Instant;
|
|
386
|
+
}
|
|
387
|
+
interface AiPendingInputRequest {
|
|
388
|
+
readonly question: string;
|
|
389
|
+
readonly schema?: unknown;
|
|
390
|
+
readonly runId?: string;
|
|
391
|
+
readonly toolCallId?: string;
|
|
392
|
+
}
|
|
393
|
+
interface AiFeedback {
|
|
394
|
+
readonly chatId: string;
|
|
395
|
+
readonly messageId: string;
|
|
396
|
+
/** `1` up, `-1` down, `0` cleared. */
|
|
397
|
+
readonly rating: -1 | 0 | 1;
|
|
398
|
+
readonly reason: string | undefined;
|
|
399
|
+
readonly comment: string | undefined;
|
|
400
|
+
}
|
|
401
|
+
interface AiChatShare {
|
|
402
|
+
readonly id: string;
|
|
403
|
+
readonly leafId: string;
|
|
404
|
+
readonly createdBy: string | undefined;
|
|
405
|
+
readonly createdAt: Temporal.Instant;
|
|
406
|
+
readonly revokedAt: Temporal.Instant | undefined;
|
|
407
|
+
}
|
|
408
|
+
/** A new share link. The token is shown once; only its hash is stored. */
|
|
409
|
+
interface AiShareLink {
|
|
410
|
+
readonly id: string;
|
|
411
|
+
readonly token: string;
|
|
412
|
+
readonly leafId: string;
|
|
413
|
+
readonly createdAt: Temporal.Instant;
|
|
414
|
+
}
|
|
415
|
+
interface SharedAiChat {
|
|
416
|
+
readonly chat: {
|
|
417
|
+
readonly id: string;
|
|
418
|
+
readonly title: string;
|
|
419
|
+
readonly model: string | undefined;
|
|
420
|
+
readonly createdAt: Temporal.Instant;
|
|
421
|
+
};
|
|
422
|
+
readonly leafId: string;
|
|
423
|
+
readonly messages: readonly AiStoredMessage[];
|
|
424
|
+
}
|
|
425
|
+
interface AiModel {
|
|
426
|
+
readonly id: string;
|
|
427
|
+
readonly provider: string;
|
|
428
|
+
readonly name: string;
|
|
429
|
+
readonly pricing: Readonly<Record<string, unknown>>;
|
|
430
|
+
readonly capabilities: Readonly<Record<string, unknown>>;
|
|
431
|
+
/** Entitlement keys that unlock it; empty for every tenant. */
|
|
432
|
+
readonly plans: readonly string[];
|
|
433
|
+
readonly enabled: boolean;
|
|
434
|
+
readonly refreshedAt: Temporal.Instant | undefined;
|
|
435
|
+
}
|
|
436
|
+
interface AiModelInput {
|
|
437
|
+
readonly id: string;
|
|
438
|
+
readonly provider?: string;
|
|
439
|
+
readonly name?: string;
|
|
440
|
+
readonly pricing?: Readonly<Record<string, unknown>>;
|
|
441
|
+
readonly capabilities?: Readonly<Record<string, unknown>>;
|
|
442
|
+
readonly plans?: readonly string[];
|
|
443
|
+
readonly enabled?: boolean;
|
|
444
|
+
}
|
|
445
|
+
type AiModerationStage = "input" | "output" | "tool";
|
|
446
|
+
type AiModerationAction = "allow" | "flag" | "redact" | "block";
|
|
447
|
+
interface AiModerationEvent {
|
|
448
|
+
readonly id: string;
|
|
449
|
+
readonly organizationId: string;
|
|
450
|
+
readonly chatId: string | undefined;
|
|
451
|
+
readonly messageId: string | undefined;
|
|
452
|
+
readonly userId: string | undefined;
|
|
453
|
+
readonly stage: AiModerationStage;
|
|
454
|
+
/** What the moderator flagged, such as `pii` or `prompt-injection`. */
|
|
455
|
+
readonly category: string;
|
|
456
|
+
readonly score: number | undefined;
|
|
457
|
+
readonly action: AiModerationAction;
|
|
458
|
+
readonly createdAt: Temporal.Instant;
|
|
459
|
+
}
|
|
460
|
+
interface AiModerationInput {
|
|
461
|
+
readonly organizationId: string;
|
|
462
|
+
readonly stage: AiModerationStage;
|
|
463
|
+
readonly action: AiModerationAction;
|
|
464
|
+
readonly category: string;
|
|
465
|
+
readonly chatId?: string;
|
|
466
|
+
readonly messageId?: string;
|
|
467
|
+
readonly userId?: string;
|
|
468
|
+
readonly score?: number;
|
|
469
|
+
}
|
|
470
|
+
interface AiChatOptions extends BlockTemporalOptions {
|
|
471
|
+
/** Calls as the user: `rpcTransport(supabase)` or `sqlTransport(postgres.asUser(claims))`. */
|
|
472
|
+
readonly transport: BlockTransport;
|
|
473
|
+
/**
|
|
474
|
+
* Calls as the service role, for what only the server writes (assistant
|
|
475
|
+
* messages, stream claims, approvals, the model catalog). Defaults to
|
|
476
|
+
* `transport`, which then has to be a service transport.
|
|
477
|
+
*/
|
|
478
|
+
readonly service?: BlockTransport;
|
|
479
|
+
/** The module schema (`sql.modules["ai-chat"].schema`), default `better_supabase`. */
|
|
480
|
+
readonly schema?: string;
|
|
481
|
+
readonly mappers?: readonly ErrorMapper[];
|
|
482
|
+
}
|
|
483
|
+
interface AiChat {
|
|
484
|
+
readonly chats: {
|
|
485
|
+
create(organizationId: string, input?: AiChatInput): AsyncResult<AiChatRecord>;
|
|
486
|
+
get(chatId: string): AsyncResult<AiChatRecord>;
|
|
487
|
+
list(query?: AiChatQuery): AsyncResult<AiChatPage>;
|
|
488
|
+
update(chatId: string, patch: AiChatPatch): AsyncResult<AiChatRecord>;
|
|
489
|
+
remove(chatId: string): AsyncResult<boolean>;
|
|
490
|
+
/** Deletes expired temporary chats (service role); returns how many. */
|
|
491
|
+
purge(batch?: number): AsyncResult<number>;
|
|
492
|
+
};
|
|
493
|
+
readonly projects: {
|
|
494
|
+
create(organizationId: string, input: AiProjectInput & {
|
|
495
|
+
readonly name: string;
|
|
496
|
+
}): AsyncResult<AiProject>;
|
|
497
|
+
update(projectId: string, input: AiProjectInput): AsyncResult<AiProject>;
|
|
498
|
+
list(organizationId: string): AsyncResult<readonly AiProject[]>;
|
|
499
|
+
remove(projectId: string): AsyncResult<boolean>;
|
|
500
|
+
};
|
|
501
|
+
readonly messages: {
|
|
502
|
+
/**
|
|
503
|
+
* Stores the user's message under the chat's leaf. A retry with the same
|
|
504
|
+
* id is a no-op; the same id with other parts is an edit, stored as a
|
|
505
|
+
* sibling with a fresh id.
|
|
506
|
+
*/
|
|
507
|
+
appendUser(chatId: string, message: AiMessage, options?: {
|
|
508
|
+
readonly trigger?: AiUserMessageTrigger;
|
|
509
|
+
readonly messageId?: string;
|
|
510
|
+
}): AsyncResult<AiAppendResult>;
|
|
511
|
+
/** Stores an answer (service role); a retry with the same id updates it. */
|
|
512
|
+
saveAssistant(chatId: string, message: AiMessage, options: AiAssistantMessageOptions): AsyncResult<AiSaveResult>;
|
|
513
|
+
/** The messages from the root to `leafId`, default the chat's leaf. */
|
|
514
|
+
path(chatId: string, options?: {
|
|
515
|
+
readonly leafId?: string;
|
|
516
|
+
readonly native?: boolean;
|
|
517
|
+
}): AsyncResult<readonly AiStoredMessage[]>;
|
|
518
|
+
siblings(chatId: string, messageId: string): AsyncResult<readonly AiMessageSibling[]>;
|
|
519
|
+
/** Shows the branch through `messageId`; returns the new leaf. */
|
|
520
|
+
switchBranch(chatId: string, messageId: string): AsyncResult<string>;
|
|
521
|
+
};
|
|
522
|
+
/**
|
|
523
|
+
* The sandboxes chats and harness sessions started, with one idle-stop
|
|
524
|
+
* claim for both (service role, except `list`).
|
|
525
|
+
*/
|
|
526
|
+
readonly sandboxes: AiSandboxes;
|
|
527
|
+
/** Runs: the stream claim, lookups, steps and the approval inbox. */
|
|
528
|
+
readonly runs: AiRuns & {
|
|
529
|
+
/** Claims the chat's answer for one stream (service role). */
|
|
530
|
+
claim(chatId: string, streamId: string, options?: {
|
|
531
|
+
readonly model?: string;
|
|
532
|
+
readonly messageId?: string;
|
|
533
|
+
readonly engine?: string;
|
|
534
|
+
/** The durable engine's own run id, such as a Workflow SDK run. */
|
|
535
|
+
readonly externalRunId?: string;
|
|
536
|
+
}): AsyncResult<AiStreamClaim>;
|
|
537
|
+
release(chatId: string, streamId: string, options?: AiRunRelease): AsyncResult<boolean>;
|
|
538
|
+
/** Asks the running answer to stop; `undefined` when none runs. */
|
|
539
|
+
stop(chatId: string): AsyncResult<{
|
|
540
|
+
readonly streamId: string;
|
|
541
|
+
readonly runId: string;
|
|
542
|
+
} | undefined>;
|
|
543
|
+
/** Writes the gateway's cost for a generation, once it is known. */
|
|
544
|
+
setCost(generationId: string, costMicroUsd: number, usage?: Readonly<Record<string, unknown>>): AsyncResult<boolean>;
|
|
545
|
+
};
|
|
546
|
+
readonly approvals: {
|
|
547
|
+
request(chatId: string, request: AiToolApprovalRequest): AsyncResult<AiToolApproval>;
|
|
548
|
+
decide(approvalId: string, approved: boolean, reason?: string): AsyncResult<AiToolApproval>;
|
|
549
|
+
list(chatId: string, approvalIds?: readonly string[]): AsyncResult<readonly AiToolApproval[]>;
|
|
550
|
+
/** Sets a tool's policy for a tenant (`ai_chat.admin`); `null` removes it. */
|
|
551
|
+
setPolicy(organizationId: string, tool: string, policy: AiToolPolicy | null): AsyncResult<AiToolPolicy | undefined>;
|
|
552
|
+
policies(organizationId: string): AsyncResult<Readonly<Record<string, AiToolPolicy>>>;
|
|
553
|
+
};
|
|
554
|
+
readonly inputs: {
|
|
555
|
+
open(chatId: string, request: AiPendingInputRequest): AsyncResult<AiPendingInput>;
|
|
556
|
+
answer(inputId: string, answer: unknown): AsyncResult<AiPendingInput>;
|
|
557
|
+
};
|
|
558
|
+
readonly feedback: {
|
|
559
|
+
rate(chatId: string, messageId: string, rating: -1 | 0 | 1, options?: {
|
|
560
|
+
readonly reason?: string;
|
|
561
|
+
readonly comment?: string;
|
|
562
|
+
}): AsyncResult<AiFeedback>;
|
|
563
|
+
};
|
|
564
|
+
readonly shares: {
|
|
565
|
+
create(chatId: string, leafId?: string): AsyncResult<AiShareLink>;
|
|
566
|
+
revoke(shareId: string): AsyncResult<boolean>;
|
|
567
|
+
list(chatId: string): AsyncResult<readonly AiChatShare[]>;
|
|
568
|
+
/** Reads a shared chat by its token; anyone with the token may. */
|
|
569
|
+
get(token: string): AsyncResult<SharedAiChat>;
|
|
570
|
+
};
|
|
571
|
+
readonly models: {
|
|
572
|
+
/** The enabled models the tenant's plans allow. */
|
|
573
|
+
allowed(organizationId?: string | null): AsyncResult<readonly AiModel[]>;
|
|
574
|
+
/** Upserts the catalog (service role); `prune` deletes the rest. */
|
|
575
|
+
upsert(models: readonly AiModelInput[], options?: {
|
|
576
|
+
readonly prune?: boolean;
|
|
577
|
+
}): AsyncResult<number>;
|
|
578
|
+
};
|
|
579
|
+
readonly moderation: {
|
|
580
|
+
record(event: AiModerationInput): AsyncResult<AiModerationEvent>;
|
|
581
|
+
list(organizationId: string, size?: number): AsyncResult<readonly AiModerationEvent[]>;
|
|
582
|
+
};
|
|
583
|
+
}
|
|
584
|
+
/** The topic of one chat's events (`message.saved`, `stream.started`, ...). */
|
|
585
|
+
declare function aiChatTopic(chatId: string, prefix?: string): string;
|
|
586
|
+
/** The topic that tells a user their chat list changed. */
|
|
587
|
+
declare function aiChatListTopic(userId: string, prefix?: string): string;
|
|
588
|
+
declare function createAiChat(options: AiChatOptions): AiChat;
|
|
589
|
+
//#endregion
|
|
590
|
+
export { AiRunStep as $, AiStoredMessageStatus as A, AiSandbox as B, AiProject as C, AiSaveResult as D, AiRunStatus as E, AiUserMessageTrigger as F, AiHarnessSession as G, AiSandboxStopper as H, SharedAiChat as I, AiHarnessStatus as J, AiHarnessSessionPatch as K, aiChatListTopic as L, AiToolApproval as M, AiToolApprovalRequest as N, AiShareLink as O, AiToolPolicy as P, AiRunState as Q, aiChatTopic as R, AiPendingInputRequest as S, AiRunRelease as T, AiSandboxes as U, AiSandboxStatus as V, NewAiSandbox as W, AiRun as X, AiPendingApproval as Y, AiRunQuery as Z, AiModerationAction as _, AiChatInput as a, AiModerationStage as b, AiChatPatch as c, AiChatShare as d, AiRunStepInput as et, AiChatVisibility as f, AiModelInput as g, AiModel as h, AiChat as i, AiStreamClaim as j, AiStoredMessage as k, AiChatQuery as l, AiMessageSibling as m, AiApprovalDecision as n, AiRuns as nt, AiChatOptions as o, AiFeedback as p, AiHarnessSessions as q, AiAssistantMessageOptions as r, createHarnessSessions as rt, AiChatPage as s, AiAppendResult as t, AiRunStepStatus as tt, AiChatRecord as u, AiModerationEvent as v, AiProjectInput as w, AiPendingInput as x, AiModerationInput as y, createAiChat as z };
|