[BUG] @voltagent/core fails in Supabase Edge Functions because Deno eagerly resolves @libsql/client native binary
Describe the bug
Summary
@voltagent/core cannot be used directly in Supabase Edge Functions via npm: imports because Deno eagerly resolves transitive dependencies, including @libsql/client, which then loads a native *.node binary requiring FFI.
This makes VoltAgent unusable in Supabase Edge Functions even when the app does not configure LibSQL memory at all.
Environment
- Platform: Supabase Edge Functions
- Runtime: Deno-based edge runtime
- Import style: direct
npm:imports - VoltAgent package:
@voltagent/core - Tested on: April 22, 2026
Minimal repro
import { Agent } from "npm:@voltagent/core";
Deno.serve(() => {
const agent = new Agent({
name: "test",
instructions: "Say hello",
model: "openai/gpt-4o-mini",
});
return new Response("ok");
});Steps To Reproduce
Create a new Supabase Edge Function.
Add a minimal VoltAgent import:
import { Agent } from "npm:@voltagent/core@<VERSION>"; Deno.serve(() => { const agent = new Agent({ name: "test", instructions: "Say hello", model: "openai/gpt-4o-mini", }); return new Response("ok"); });Serve or deploy the function with Supabase Edge Functions.
Observe that Deno eagerly resolves transitive dependencies from
@voltagent/core, including@libsql/client.Resolution reaches a native
*.nodebinary from the LibSQL stack, which requires FFI/native module loading and fails in the Supabase Edge runtime.
Expected behavior
Importing and using @voltagent/core in Supabase Edge Functions should work when LibSQL is not configured or used.
Unused native storage adapters should not block edge/serverless usage of the core package. If LibSQL is optional, it should only be loaded when explicitly imported/configured.
Packages
Tested package:
npm:@voltagent/core@<EXACT_VERSION_TESTED>
Not explicitly used in the repro:
@voltagent/libsql@libsql/client
Runtime context:
- Supabase Edge Functions
- Deno-based edge runtime
Additional Context
No response
Source: VoltAgent/voltagent