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/h3/index.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { i as toResponse, n as bufferInPlace, t as around } from "../shared-CBxosKK3.js";
|
|
2
|
+
import { a as routeRefusal, n as guardedLocals, t as errorResponse } from "../refusal-CeJWxmkH.js";
|
|
3
|
+
//#region src/bridges/h3.ts
|
|
4
|
+
/**
|
|
5
|
+
* Runs an entry array as H3 2 middleware (`app.use(...)`, Nitro and Nuxt
|
|
6
|
+
* server middleware). Every contributed key lands on `event.context`, and
|
|
7
|
+
* the handler's value comes back as a `Response` (JSON for plain values)
|
|
8
|
+
* so response-phase entries can add headers and cookies.
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* app.use(toH3([withBetterSupabase(server)]))
|
|
12
|
+
* app.get('/notes', (event) => event.context.db.notes.findMany().orThrow())
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
function toH3(entries, options = {}) {
|
|
16
|
+
const run = around(entries);
|
|
17
|
+
return (event, next) => {
|
|
18
|
+
bufferInPlace(event.req);
|
|
19
|
+
const env = options.env ? options.env(event) : event.context.cloudflare?.env;
|
|
20
|
+
return run(event.req, env, async (contributions) => {
|
|
21
|
+
Object.assign(event.context, contributions);
|
|
22
|
+
const value = await next();
|
|
23
|
+
return toResponse(value, {
|
|
24
|
+
status: event.res?.status,
|
|
25
|
+
statusText: event.res?.statusText,
|
|
26
|
+
headers: event.res?.headers
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
//#region src/h3/guard.ts
|
|
33
|
+
/**
|
|
34
|
+
* Route middleware that refuses callers outside `options`: Problem Details,
|
|
35
|
+
* or a redirect to `signIn` or `mfa`. Runs after `toH3(...)`.
|
|
36
|
+
*
|
|
37
|
+
* ```ts
|
|
38
|
+
* app.get('/admin', handler, { middleware: [guard({ roles: ['admin'] })] })
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
function guard(options = {}) {
|
|
42
|
+
return async (event, next) => {
|
|
43
|
+
return await routeRefusal(guardedLocals(event.context), event.req, options) ?? next();
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* An `onError` handler for `new H3({ onError })` that answers thrown
|
|
48
|
+
* `DbException`s (from `.orThrow()`) with Problem Details and leaves every
|
|
49
|
+
* other error to H3.
|
|
50
|
+
*/
|
|
51
|
+
function problemOnError(options = {}) {
|
|
52
|
+
return (error, event) => errorResponse(error, event.req, options);
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
export { guard, problemOnError, toH3 };
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { n as RouteGuardOptions } from "../../refusal-D1rgbzNq.js";
|
|
2
|
+
import { t as Validated } from "../../shared-DDSjEGDR.js";
|
|
3
|
+
import { n as NodeRequestHead, t as NodeHeaderTarget } from "../../node-headers-AO06VhqH.js";
|
|
4
|
+
import { AnyEntry, Contributions } from "@supabase/middleware";
|
|
5
|
+
//#region src/h3/v1/index.d.ts
|
|
6
|
+
/** The part of an H3 1 event (Nitro 2, Nuxt 3 and 4) the bridge reads and writes. */
|
|
7
|
+
export interface H3V1Event<Context extends object = Record<string, unknown>> {
|
|
8
|
+
readonly node: {
|
|
9
|
+
readonly req: NodeRequestHead;
|
|
10
|
+
readonly res: NodeHeaderTarget;
|
|
11
|
+
};
|
|
12
|
+
readonly context: Context & {
|
|
13
|
+
/** Nitro's Cloudflare presets put the bindings here. */
|
|
14
|
+
readonly cloudflare?: {
|
|
15
|
+
readonly env?: unknown;
|
|
16
|
+
} | undefined;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export interface ToH3V1Options<Context extends object> {
|
|
20
|
+
/** The host's env object for `getEnv`; defaults to `event.context.cloudflare.env`. */
|
|
21
|
+
readonly env?: (event: H3V1Event<Context>) => unknown;
|
|
22
|
+
/** Read the protocol and host from `x-forwarded-*`. Defaults to false. */
|
|
23
|
+
readonly trustProxy?: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* An H3 1 handler, typed structurally so the package does not import `h3`.
|
|
27
|
+
* It returns a `Response` to end the request or `undefined` to continue.
|
|
28
|
+
*/
|
|
29
|
+
export type H3V1Handler<Context extends object> = (event: H3V1Event<Context>) => Promise<Response | undefined>;
|
|
30
|
+
/**
|
|
31
|
+
* Runs an entry array as Nitro 2 server middleware. A short circuit (a 401,
|
|
32
|
+
* a CORS preflight) ends the request; otherwise the entries' cookies and
|
|
33
|
+
* headers go on the response and every contribution lands on
|
|
34
|
+
* `event.context`. Response-phase entries (`withDbStats`) see an empty
|
|
35
|
+
* response under H3 1.
|
|
36
|
+
*
|
|
37
|
+
* ```ts title="server/middleware/supabase.ts"
|
|
38
|
+
* export default defineEventHandler(toH3V1([withBetterSupabase(server)]))
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare function toH3V1<const Entries extends readonly AnyEntry[]>(entries: Entries & Validated<Entries>, options?: ToH3V1Options<Partial<Contributions<Entries>>>): H3V1Handler<Partial<Contributions<Entries>>>;
|
|
42
|
+
/**
|
|
43
|
+
* Refuses callers outside `options`: Problem Details, or a redirect to
|
|
44
|
+
* `signIn` or `mfa`. Returns `undefined` for callers it lets through, so a
|
|
45
|
+
* route handler can return its result.
|
|
46
|
+
*
|
|
47
|
+
* ```ts title="server/api/admin.get.ts"
|
|
48
|
+
* const admins = guard({ roles: ['admin'] })
|
|
49
|
+
* export default defineEventHandler(async (event) =>
|
|
50
|
+
* (await admins(event)) ?? event.context.db.members.findMany().orThrow())
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function guard(options?: RouteGuardOptions): (event: H3V1Event<object>) => Promise<Response | undefined>;
|
|
54
|
+
/**
|
|
55
|
+
* Answers thrown `DbException`s (from `.orThrow()`) with Problem Details
|
|
56
|
+
* and returns `undefined` for every other error, for a Nitro `error` hook
|
|
57
|
+
* or a handler's `catch`.
|
|
58
|
+
*/
|
|
59
|
+
export declare function problemOnError(options?: {
|
|
60
|
+
readonly expose?: boolean;
|
|
61
|
+
}): (error: unknown, event: H3V1Event<object>) => Response | undefined;
|
|
62
|
+
//#endregion
|
|
63
|
+
export type { RouteGuardOptions };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { a as routeRefusal, n as guardedLocals, t as errorResponse } from "../../refusal-CeJWxmkH.js";
|
|
2
|
+
import { t as beforeRoute } from "../../before-route-CnR0C0Jr.js";
|
|
3
|
+
import { n as headRequest, t as applyWebHeaders } from "../../node-headers-C71zNQHe.js";
|
|
4
|
+
//#region src/h3/v1/index.ts
|
|
5
|
+
/**
|
|
6
|
+
* Runs an entry array as Nitro 2 server middleware. A short circuit (a 401,
|
|
7
|
+
* a CORS preflight) ends the request; otherwise the entries' cookies and
|
|
8
|
+
* headers go on the response and every contribution lands on
|
|
9
|
+
* `event.context`. Response-phase entries (`withDbStats`) see an empty
|
|
10
|
+
* response under H3 1.
|
|
11
|
+
*
|
|
12
|
+
* ```ts title="server/middleware/supabase.ts"
|
|
13
|
+
* export default defineEventHandler(toH3V1([withBetterSupabase(server)]))
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
function toH3V1(entries, options = {}) {
|
|
17
|
+
const run = beforeRoute(entries);
|
|
18
|
+
return async (event) => {
|
|
19
|
+
const env = options.env ? options.env(event) : event.context.cloudflare?.env;
|
|
20
|
+
const outcome = await run(headRequest(event.node.req, options.trustProxy), env);
|
|
21
|
+
if (!outcome.reached) return outcome.response;
|
|
22
|
+
applyWebHeaders(event.node.res, outcome.headers);
|
|
23
|
+
Object.assign(event.context, outcome.contributions);
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Refuses callers outside `options`: Problem Details, or a redirect to
|
|
28
|
+
* `signIn` or `mfa`. Returns `undefined` for callers it lets through, so a
|
|
29
|
+
* route handler can return its result.
|
|
30
|
+
*
|
|
31
|
+
* ```ts title="server/api/admin.get.ts"
|
|
32
|
+
* const admins = guard({ roles: ['admin'] })
|
|
33
|
+
* export default defineEventHandler(async (event) =>
|
|
34
|
+
* (await admins(event)) ?? event.context.db.members.findMany().orThrow())
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
function guard(options = {}) {
|
|
38
|
+
return (event) => routeRefusal(guardedLocals(event.context), headRequest(event.node.req), options);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Answers thrown `DbException`s (from `.orThrow()`) with Problem Details
|
|
42
|
+
* and returns `undefined` for every other error, for a Nitro `error` hook
|
|
43
|
+
* or a handler's `catch`.
|
|
44
|
+
*/
|
|
45
|
+
function problemOnError(options = {}) {
|
|
46
|
+
return (error, event) => errorResponse(error, headRequest(event.node.req), options);
|
|
47
|
+
}
|
|
48
|
+
//#endregion
|
|
49
|
+
export { guard, problemOnError, toH3V1 };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { r as aiMessageSchema } from "./message-CaKlqdsX.js";
|
|
2
|
+
//#region src/blocks/ai-chat/history.ts
|
|
3
|
+
/** Checks an untrusted value (a request body) against the canonical format. */
|
|
4
|
+
function validateMessage(value) {
|
|
5
|
+
const result = aiMessageSchema["~standard"].validate(value);
|
|
6
|
+
if (result instanceof Promise) throw new TypeError("aiMessageSchema validates synchronously");
|
|
7
|
+
return result.issues ? {
|
|
8
|
+
ok: false,
|
|
9
|
+
issues: result.issues
|
|
10
|
+
} : {
|
|
11
|
+
ok: true,
|
|
12
|
+
message: result.value
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/** The canonical messages of a path, in order, without the tree's fields. */
|
|
16
|
+
function pathToHistory(path) {
|
|
17
|
+
return path.map((message) => ({
|
|
18
|
+
id: message.id,
|
|
19
|
+
role: message.role,
|
|
20
|
+
parts: message.parts,
|
|
21
|
+
...message.metadata === void 0 ? {} : { metadata: message.metadata }
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
/** The output a `tool-result` gets when its call never finished. */
|
|
25
|
+
const INTERRUPTED_TOOL_OUTPUT = "The tool call was interrupted.";
|
|
26
|
+
/**
|
|
27
|
+
* Closes every tool call that has no result yet, so a provider accepts the
|
|
28
|
+
* history after a crash or a stop mid-call: each gets a `tool-result` with
|
|
29
|
+
* `isError` right after it. A call waiting for approval is left alone.
|
|
30
|
+
*/
|
|
31
|
+
function repairDanglingToolCalls(messages) {
|
|
32
|
+
const answered = /* @__PURE__ */ new Set();
|
|
33
|
+
const waiting = /* @__PURE__ */ new Set();
|
|
34
|
+
for (const message of messages) for (const part of message.parts) {
|
|
35
|
+
if (part.type === "tool-result") answered.add(part.toolCallId);
|
|
36
|
+
if (part.type === "tool-approval" && part.state === "requested") waiting.add(part.toolCallId);
|
|
37
|
+
}
|
|
38
|
+
return messages.map((message) => {
|
|
39
|
+
if (!message.parts.some((part) => dangling(part, answered, waiting))) return message;
|
|
40
|
+
const parts = [];
|
|
41
|
+
for (const part of message.parts) {
|
|
42
|
+
parts.push(part);
|
|
43
|
+
if (part.type === "tool-call" && dangling(part, answered, waiting)) {
|
|
44
|
+
const result = {
|
|
45
|
+
type: "tool-result",
|
|
46
|
+
toolCallId: part.toolCallId,
|
|
47
|
+
toolName: part.toolName,
|
|
48
|
+
output: INTERRUPTED_TOOL_OUTPUT,
|
|
49
|
+
isError: true
|
|
50
|
+
};
|
|
51
|
+
parts.push(result);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
...message,
|
|
56
|
+
parts
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function dangling(part, answered, waiting) {
|
|
61
|
+
return part.type === "tool-call" && part.providerExecuted !== true && !answered.has(part.toolCallId) && !waiting.has(part.toolCallId);
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
export { validateMessage as i, pathToHistory as n, repairDanglingToolCalls as r, INTERRUPTED_TOOL_OUTPUT as t };
|
package/dist/hono/index.d.ts
CHANGED
|
@@ -1,9 +1,37 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { L as TableKey, a as AnyModels, i as AnyFunctions } from "../types-6BdhkmZe.js";
|
|
2
|
+
import { r as AuthState } from "../resolve-KW8nCeL6.js";
|
|
3
|
+
import { t as BetterSupabase } from "../define-CJJkkr1-.js";
|
|
4
|
+
import { i as ServerContext, o as ServerOptions, t as BetterServer } from "../server-CeVeeXwz.js";
|
|
5
|
+
import { t as AuthSession } from "../view-DbxLNu8L.js";
|
|
6
|
+
import { i as MiddlewareOptions, r as GuardOptions } from "../respond-DoBijysA.js";
|
|
7
|
+
import { s as BlockRequireOptions } from "../kit-B5tid-q5.js";
|
|
8
|
+
import { a as ResourceRouteOptions } from "../resource-D6Uc7Sk7.js";
|
|
9
|
+
import { AnyEntry, Contributions, ValidateEntries } from "@supabase/middleware";
|
|
6
10
|
import { Context, ErrorHandler, Hono, MiddlewareHandler } from "hono";
|
|
11
|
+
//#region src/bridges/hono.d.ts
|
|
12
|
+
/**
|
|
13
|
+
* The Hono middleware type when the entries compose, or the engine's error
|
|
14
|
+
* string when they don't, which surfaces at the `app.use` call.
|
|
15
|
+
*/
|
|
16
|
+
type HonoBridge<Entries extends readonly AnyEntry[]> = [ValidateEntries<Entries>] extends [true] ? MiddlewareHandler<{
|
|
17
|
+
Variables: Contributions<Entries>;
|
|
18
|
+
}> : ValidateEntries<Entries>;
|
|
19
|
+
/**
|
|
20
|
+
* Runs an entry array in Hono's middleware slot. The pipeline folds once,
|
|
21
|
+
* so entries keep their state across requests; each request publishes every
|
|
22
|
+
* contributed key on `c.var`, runs the rest of the Hono chain, and returns
|
|
23
|
+
* Hono's response back up through the entries, so response-phase entries
|
|
24
|
+
* (refreshed cookies, `withCors`) see it.
|
|
25
|
+
*
|
|
26
|
+
* ```ts
|
|
27
|
+
* const app = new Hono().use(toHono([withBetterSupabase(server)])).get('/notes', (c) => ...)
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* Chain `.use()` into the routes it gates: Hono carries the contributed
|
|
31
|
+
* keys through the chained call's type.
|
|
32
|
+
*/
|
|
33
|
+
export declare function toHono<const Entries extends readonly AnyEntry[]>(entries: Entries): HonoBridge<Entries>;
|
|
34
|
+
//#endregion
|
|
7
35
|
//#region src/hono/index.d.ts
|
|
8
36
|
/** Hono `Env` with the request's better-supabase context in `c.var`. */
|
|
9
37
|
export interface HonoEnv<M extends AnyModels, F extends AnyFunctions, E, C = unknown, P = unknown> {
|
|
@@ -11,11 +39,20 @@ export interface HonoEnv<M extends AnyModels, F extends AnyFunctions, E, C = unk
|
|
|
11
39
|
readonly bs: ServerContext<M, F, E, C, P>;
|
|
12
40
|
readonly db: ServerContext<M, F, E, C, P>["db"];
|
|
13
41
|
readonly auth: AuthState<C, P>;
|
|
42
|
+
/** The caller as plain data, safe to return in a response. */
|
|
43
|
+
readonly session: AuthSession<C, P>;
|
|
44
|
+
/** The active tenant: `ServerOptions.tenant`, then the tenant claim. */
|
|
45
|
+
readonly tenant: string | undefined;
|
|
14
46
|
};
|
|
15
47
|
}
|
|
16
48
|
export interface HonoOptions extends ServerOptions {
|
|
17
49
|
/** Include error details in problem responses. Defaults to `NODE_ENV === 'development'`. */
|
|
18
50
|
readonly exposeErrors?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Keeps the invocation alive for event sink sends a handler started.
|
|
53
|
+
* Defaults to `c.executionCtx.waitUntil` when the runtime passes one (Workers).
|
|
54
|
+
*/
|
|
55
|
+
readonly waitUntil?: (promise: Promise<unknown>) => void;
|
|
19
56
|
}
|
|
20
57
|
export interface BetterHono<M extends AnyModels, F extends AnyFunctions, E, C = unknown, P = unknown> extends BetterServer<M, F, E, C, P> {
|
|
21
58
|
/**
|
|
@@ -27,7 +64,19 @@ export interface BetterHono<M extends AnyModels, F extends AnyFunctions, E, C =
|
|
|
27
64
|
app(): Hono<HonoEnv<M, F, E, C, P>>;
|
|
28
65
|
/** Resolves the caller, enforces `allow` and sets `c.var.bs`, `c.var.db`, `c.var.auth`. */
|
|
29
66
|
middleware(options?: MiddlewareOptions): MiddlewareHandler<HonoEnv<M, F, E, C, P>>;
|
|
30
|
-
/**
|
|
67
|
+
/**
|
|
68
|
+
* A route guard after `middleware()`: `allow`, `aal`, `scopes`,
|
|
69
|
+
* `requireTenant` and `authorize`. A refused caller gets Problem Details.
|
|
70
|
+
*
|
|
71
|
+
* ```ts
|
|
72
|
+
* app.post('/invites', bs.require({ requireTenant: true, roles: ['admin'] }), handler)
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
require: (options?: BlockRequireOptions<C, P>) => MiddlewareHandler<HonoEnv<M, F, E, C, P>>;
|
|
76
|
+
/**
|
|
77
|
+
* Wraps a handler: `Result`s and `AsyncResult`s become JSON or Problem
|
|
78
|
+
* Details, `undefined` becomes 204.
|
|
79
|
+
*/
|
|
31
80
|
handler(fn: (c: Context<HonoEnv<M, F, E, C, P>>, ctx: ServerContext<M, F, E, C, P>) => unknown, options?: {
|
|
32
81
|
readonly status?: number;
|
|
33
82
|
}): (c: Context<HonoEnv<M, F, E, C, P>>) => Promise<Response>;
|
|
@@ -46,4 +95,4 @@ export interface BetterHono<M extends AnyModels, F extends AnyFunctions, E, C =
|
|
|
46
95
|
/** Hono integration: a server plus middleware, handlers and REST resources. */
|
|
47
96
|
export declare function createHono<M extends AnyModels, D, F extends AnyFunctions, E, C = unknown, P = unknown>(betterSupabase: BetterSupabase<M, D, F, E, C, P>, options?: HonoOptions): BetterHono<M, F, E, C, P>;
|
|
48
97
|
//#endregion
|
|
49
|
-
export type { GuardOptions, MiddlewareOptions, ResourceRouteOptions };
|
|
98
|
+
export type { BlockRequireOptions, GuardOptions, HonoBridge, MiddlewareOptions, ResourceRouteOptions };
|
package/dist/hono/index.js
CHANGED
|
@@ -1,42 +1,72 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as problemResponse } from "../problem-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { r as dbErrorOf } from "../errors-B11Duf73.js";
|
|
2
|
+
import { a as problemResponse } from "../problem-BreOl8b8.js";
|
|
3
|
+
import { a as unexpectedResponse, c as extendServer, n as flushEvents, s as createServer } from "../adapter-Bc1o3zyy.js";
|
|
4
|
+
import { n as toSession } from "../view-BeFcRV6G.js";
|
|
5
|
+
import { a as respond, t as defaultExpose } from "../respond-BUgsXNgk.js";
|
|
6
|
+
import { t as withBetterSupabase } from "../composite-DhE66P5u.js";
|
|
7
|
+
import { t as defineResource } from "../resource-BsvzCMlX.js";
|
|
8
|
+
import { i as requireCaller } from "../kit-Fm-Fv7q5.js";
|
|
9
|
+
import { r as handoffOf } from "../shared-CBxosKK3.js";
|
|
10
|
+
import { bufferRequest, pipeline, seedContext } from "@supabase/middleware";
|
|
5
11
|
import { Hono } from "hono";
|
|
6
12
|
import { HTTPException } from "hono/http-exception";
|
|
13
|
+
//#region src/bridges/hono.ts
|
|
14
|
+
const HANDOFF = Symbol("toHono.handoff");
|
|
15
|
+
/** Copies every contributed key onto `c.var`. */
|
|
16
|
+
function publishAll(c, ctx) {
|
|
17
|
+
for (const [key, value] of Object.entries(ctx)) c.set(key, value);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The Hono middleware for `entries`. `publish` decides what lands on
|
|
21
|
+
* `c.var`; `createHono` adds `auth` from `ctx.bs`.
|
|
22
|
+
*/
|
|
23
|
+
function honoMiddleware(entries, publish = publishAll) {
|
|
24
|
+
const run = pipeline(entries, async (_request, ctx) => {
|
|
25
|
+
const handoff = handoffOf(ctx, HANDOFF);
|
|
26
|
+
handoff.publish(handoff.c, ctx);
|
|
27
|
+
await handoff.next();
|
|
28
|
+
return handoff.c.res;
|
|
29
|
+
});
|
|
30
|
+
return async (c, next) => {
|
|
31
|
+
if (c.req.raw.body) c.req.raw = bufferRequest(c.req.raw);
|
|
32
|
+
const response = await run(c.req.raw, {
|
|
33
|
+
...seedContext(c.env),
|
|
34
|
+
[HANDOFF]: {
|
|
35
|
+
c,
|
|
36
|
+
next,
|
|
37
|
+
publish
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
if (response !== c.res) {
|
|
41
|
+
c.res = void 0;
|
|
42
|
+
c.res = response;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Runs an entry array in Hono's middleware slot. The pipeline folds once,
|
|
48
|
+
* so entries keep their state across requests; each request publishes every
|
|
49
|
+
* contributed key on `c.var`, runs the rest of the Hono chain, and returns
|
|
50
|
+
* Hono's response back up through the entries, so response-phase entries
|
|
51
|
+
* (refreshed cookies, `withCors`) see it.
|
|
52
|
+
*
|
|
53
|
+
* ```ts
|
|
54
|
+
* const app = new Hono().use(toHono([withBetterSupabase(server)])).get('/notes', (c) => ...)
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* Chain `.use()` into the routes it gates: Hono carries the contributed
|
|
58
|
+
* keys through the chained call's type.
|
|
59
|
+
*/
|
|
60
|
+
function toHono(entries) {
|
|
61
|
+
return honoMiddleware(entries);
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
7
64
|
//#region src/hono/index.ts
|
|
8
65
|
function contextOf(c) {
|
|
9
66
|
const ctx = c.get("bs");
|
|
10
67
|
if (!ctx) throw new TypeError("better-supabase: no context on this request; add app.use(bs.middleware()) first");
|
|
11
68
|
return ctx;
|
|
12
69
|
}
|
|
13
|
-
function isRecord(value) {
|
|
14
|
-
return typeof value === "object" && value !== null;
|
|
15
|
-
}
|
|
16
|
-
function isJwtClaims(value) {
|
|
17
|
-
return isRecord(value) && typeof value["sub"] === "string";
|
|
18
|
-
}
|
|
19
|
-
function isUserClaims(value) {
|
|
20
|
-
return isRecord(value) && typeof value["id"] === "string";
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* The bearer token `withSupabase` from `@supabase/server/adapters/hono`
|
|
24
|
-
* verified for this request, with the claims it stored in
|
|
25
|
-
* `c.var.supabaseContext`.
|
|
26
|
-
*/
|
|
27
|
-
function verifiedBySupabase(c) {
|
|
28
|
-
const supabase = c.var["supabaseContext"];
|
|
29
|
-
if (!isRecord(supabase) || supabase["authMode"] !== "user") return void 0;
|
|
30
|
-
const { jwtClaims, userClaims } = supabase;
|
|
31
|
-
const header = c.req.header("authorization");
|
|
32
|
-
const token = header?.startsWith("Bearer ") ? header.slice(7) : "";
|
|
33
|
-
if (!token || !isJwtClaims(jwtClaims) || !isUserClaims(userClaims)) return void 0;
|
|
34
|
-
return {
|
|
35
|
-
token,
|
|
36
|
-
claims: jwtClaims,
|
|
37
|
-
user: userClaims
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
70
|
/** Hono integration: a server plus middleware, handlers and REST resources. */
|
|
41
71
|
function createHono(betterSupabase, options = {}) {
|
|
42
72
|
const server = createServer(betterSupabase, options);
|
|
@@ -49,12 +79,22 @@ function createHono(betterSupabase, options = {}) {
|
|
|
49
79
|
instance,
|
|
50
80
|
expose
|
|
51
81
|
});
|
|
52
|
-
|
|
53
|
-
return problemResponse(error, {
|
|
82
|
+
return unexpectedResponse(cause, {
|
|
54
83
|
instance,
|
|
55
84
|
expose
|
|
56
85
|
});
|
|
57
86
|
};
|
|
87
|
+
const waitUntilOf = (c) => {
|
|
88
|
+
if (options.waitUntil) return options.waitUntil;
|
|
89
|
+
try {
|
|
90
|
+
const executionContext = c.executionCtx;
|
|
91
|
+
return (promise) => {
|
|
92
|
+
executionContext.waitUntil(promise);
|
|
93
|
+
};
|
|
94
|
+
} catch {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
58
98
|
return extendServer(server, {
|
|
59
99
|
Env: void 0,
|
|
60
100
|
onError,
|
|
@@ -62,20 +102,32 @@ function createHono(betterSupabase, options = {}) {
|
|
|
62
102
|
return new Hono().onError(onError);
|
|
63
103
|
},
|
|
64
104
|
middleware(middlewareOptions = {}) {
|
|
105
|
+
const run = honoMiddleware([withBetterSupabase(server, {
|
|
106
|
+
...middlewareOptions,
|
|
107
|
+
expose
|
|
108
|
+
})], (c, ctx) => {
|
|
109
|
+
const bs = ctx.bs;
|
|
110
|
+
const { tenant } = ctx;
|
|
111
|
+
c.set("bs", bs);
|
|
112
|
+
c.set("db", bs.db);
|
|
113
|
+
c.set("auth", bs.auth);
|
|
114
|
+
c.set("session", toSession(bs.auth));
|
|
115
|
+
c.set("tenant", tenant);
|
|
116
|
+
});
|
|
65
117
|
return async (c, next) => {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
118
|
+
await run(c, next);
|
|
119
|
+
flushEvents(server, waitUntilOf(c));
|
|
120
|
+
};
|
|
121
|
+
},
|
|
122
|
+
require: (requireOptions = {}) => {
|
|
123
|
+
return async (c, next) => {
|
|
124
|
+
const ctx = contextOf(c);
|
|
125
|
+
const caller = await requireCaller(ctx.auth, requireOptions, c.get("tenant"));
|
|
126
|
+
if ("kind" in caller) return problemResponse(caller, {
|
|
71
127
|
instance: new URL(c.req.url).pathname,
|
|
72
128
|
expose
|
|
73
|
-
})
|
|
74
|
-
|
|
75
|
-
c.set("db", ctx.db);
|
|
76
|
-
c.set("auth", ctx.auth);
|
|
77
|
-
await next();
|
|
78
|
-
c.res = ctx.apply(c.res);
|
|
129
|
+
});
|
|
130
|
+
return next();
|
|
79
131
|
};
|
|
80
132
|
},
|
|
81
133
|
handler(fn, handlerOptions = {}) {
|
|
@@ -102,4 +154,4 @@ function createHono(betterSupabase, options = {}) {
|
|
|
102
154
|
});
|
|
103
155
|
}
|
|
104
156
|
//#endregion
|
|
105
|
-
export { createHono };
|
|
157
|
+
export { createHono, toHono };
|