import crypto from "node:crypto"; import type { OpenClawConfig } from "../../config/config.js"; import { loadSessionStore, resolveStorePath, type SessionEntry } from "../../config/sessions.js"; export function resolveCronSession(params: { cfg: OpenClawConfig; sessionKey: string; nowMs: number; agentId: string; }) { const sessionCfg = params.cfg.session; const storePath = resolveStorePath(sessionCfg?.store, { agentId: params.agentId, }); const store = loadSessionStore(storePath); const entry = store[params.sessionKey]; const sessionId = crypto.randomUUID(); const systemSent = false; const sessionEntry: SessionEntry = { sessionId, updatedAt: params.nowMs, systemSent, thinkingLevel: entry?.thinkingLevel, verboseLevel: entry?.verboseLevel, model: entry?.model, contextTokens: entry?.contextTokens, sendPolicy: entry?.sendPolicy, lastChannel: entry?.lastChannel, lastTo: entry?.lastTo, lastAccountId: entry?.lastAccountId, skillsSnapshot: entry?.skillsSnapshot, }; return { storePath, store, sessionEntry, systemSent, isNewSession: true }; }