import log4js from "logger"; import { dbGlobal } from "drizzle-pkg/lib/db"; import { agentSessions } from "drizzle-pkg/lib/schema/agent"; import { lt, and, isNotNull } from "drizzle-orm"; const logger = log4js.getLogger("SCHEDULER"); export default async function cleanupExpiredAgentSessions() { try { const now = new Date(); await dbGlobal .delete(agentSessions) .where( and( isNotNull(agentSessions.expiresAt), lt(agentSessions.expiresAt, now), ), ); logger.info("Agent session cleanup: expired temp sessions cleaned"); return { success: true, message: "Cleaned expired temp agent sessions", }; } catch (err) { logger.error( "Agent session cleanup failed: %s", err instanceof Error ? err.message : String(err), ); return { success: false, message: "Agent session cleanup failed" }; } }