import { SystemRole } from "@capakraken/shared"; import type { ToolContext } from "../router/assistant-tools.js"; export function createToolContext( db: Record, options?: { userRole?: SystemRole; }, ): ToolContext { const userRole = options?.userRole ?? SystemRole.ADMIN; let effectiveDb: Record; effectiveDb = "$transaction" in db ? db : { ...db, $transaction: async ( callback: (tx: ToolContext["db"]) => Promise, ) => callback(effectiveDb as ToolContext["db"]), }; return { db: effectiveDb as ToolContext["db"], userId: "user_1", userRole, permissions: new Set(), session: { user: { email: "assistant@example.com", name: "Assistant User", image: null }, expires: "2026-03-29T00:00:00.000Z", }, dbUser: { id: "user_1", systemRole: userRole, permissionOverrides: null, }, roleDefaults: null, }; }