43 lines
1.1 KiB
TypeScript
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",
|
|
};
|
|
}
|