@voltagent/cloudflare-d1
v2.0.4
Published
VoltAgent Cloudflare D1 - D1 Memory provider integration for VoltAgent
Downloads
52
Readme
@voltagent/cloudflare-d1
Cloudflare D1 storage adapter for VoltAgent Memory V2.
Installation
pnpm add @voltagent/cloudflare-d1Usage
import { openai } from "@ai-sdk/openai";
import { Agent, Memory, VoltAgent } from "@voltagent/core";
import { D1MemoryAdapter } from "@voltagent/cloudflare-d1";
import { serverlessHono } from "@voltagent/serverless-hono";
import type { D1Database } from "@cloudflare/workers-types";
import { weatherTool } from "./tools";
type Env = {
DB: D1Database;
OPENAI_API_KEY: string;
};
const createWorker = (env: Env) => {
const memory = new Memory({
storage: new D1MemoryAdapter({
binding: env.DB,
tablePrefix: "voltagent_memory",
}),
});
const agent = new Agent({
name: "serverless-assistant",
instructions: "Answer user questions quickly.",
model: openai("gpt-4o-mini"),
tools: [weatherTool],
memory,
});
const voltAgent = new VoltAgent({
agents: { agent },
serverless: serverlessHono(),
});
return voltAgent.serverless().toCloudflareWorker();
};
let cached: ReturnType<typeof createWorker> | undefined;
export default {
fetch: (request: Request, env: Env, ctx: ExecutionContext) => {
if (!cached) {
cached = createWorker(env);
}
return cached.fetch(request, env, ctx);
},
};Options
binding(required): Cloudflare D1 binding from the Worker env.tablePrefix: Customize the table name prefix. Default isvoltagent_memory.maxRetries: Retry count for busy/locked database operations. Default is3.retryDelayMs: Initial backoff delay in milliseconds. Default is100.debug: Enable debug logging. Default isfalse.logger: Provide a custom logger.
