Files
triggerdotdev--trigger.dev/apps/webapp/app/services/dashboardAgentDb.server.ts
T
2026-07-13 13:32:57 +08:00

21 lines
943 B
TypeScript

import { createDashboardAgentDb, type DashboardAgentDb } from "@internal/dashboard-agent-db";
import { env } from "~/env.server";
import { singleton } from "~/utils/singleton";
/**
* The webapp's connection to the dashboard-agent conversation store (the History
* tab + the chat panel's create / rename / delete / resume actions). Same Drizzle
* client the agent task uses, pointed at the same database.
*
* This is the agent's OWN datastore — NOT the main Prisma database, which the
* agent has no access to. Cloud uses the dedicated PlanetScale database; OSS
* falls back to DATABASE_URL with tables isolated in the `trigger_dashboard_agent`
* schema.
*/
export const dashboardAgentDb: DashboardAgentDb = singleton("dashboardAgentDb", () => {
const connectionString = env.DASHBOARD_AGENT_DATABASE_URL ?? env.DATABASE_URL;
return createDashboardAgentDb(connectionString, {
max: env.DATABASE_CONNECTION_LIMIT,
}).db;
});