fix: stabilize flaky tests and sanitize directive-only chat tags

This commit is contained in:
Peter Steinberger
2026-02-22 12:18:13 +01:00
parent 3700151ec0
commit 78c3c2a542
9 changed files with 161 additions and 77 deletions

View File

@@ -0,0 +1,42 @@
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",
};
}