import { app } from 'electron'; import * as fs from 'fs'; import * as path from 'path'; export function getTranscriptFilePath(sessionKey: string): string { let agentId: string; let sessionId: string; if (sessionKey.startsWith('agent:')) { const parts = sessionKey.split(':'); agentId = parts[1] ?? 'default'; sessionId = parts.slice(2).join(':') || sessionKey; } else if (sessionKey.startsWith('local:')) { const parts = sessionKey.split(':'); agentId = parts[1] ?? 'local'; sessionId = parts.slice(2).join(':') || sessionKey; } else { agentId = 'default'; sessionId = sessionKey; } if (!sessionId) { sessionId = 'unknown'; } const baseDir = path.join(app.getPath('userData'), 'agents', agentId, 'sessions'); return path.join(baseDir, `${sessionId}.jsonl`); } export function appendTranscriptLine(sessionKey: string, lineObject: any): void { const filePath = getTranscriptFilePath(sessionKey); fs.mkdirSync(path.dirname(filePath), { recursive: true }); fs.appendFileSync(filePath, JSON.stringify(lineObject) + '\n', 'utf-8'); }