Files
openclaw/src/gateway/server-methods/chat.test-helpers.ts

43 lines
1.1 KiB
TypeScript

import fs from "node:fs";
import os from "node:os";
import path from "node:path";
import { CURRENT_SESSION_VERSION } from "@mariozechner/pi-coding-agent";
export function createTranscriptFixtureSync(params: {
prefix: string;
sessionId: string;
fileName?: string;
}) {
const dir = fs.mkdtempSync(path.join(os.tmpdir(), params.prefix));
const transcriptPath = path.join(dir, params.fileName ?? "sess.jsonl");
fs.writeFileSync(
transcriptPath,
`${JSON.stringify({
type: "session",
version: CURRENT_SESSION_VERSION,
id: params.sessionId,
timestamp: new Date(0).toISOString(),
cwd: "/tmp",
})}\n`,
"utf-8",
);
return { dir, transcriptPath };
}
export function createMockSessionEntry(params: {
transcriptPath: string;
sessionId: string;
canonicalKey?: string;
cfg?: Record<string, unknown>;
}) {
return {
cfg: params.cfg ?? {},
storePath: path.join(path.dirname(params.transcriptPath), "sessions.json"),
entry: {
sessionId: params.sessionId,
sessionFile: params.transcriptPath,
},
canonicalKey: params.canonicalKey ?? "main",
};
}