21 lines
943 B
TypeScript
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;
|
|
});
|