@@ -3,6 +3,16 @@ import { describe, expect, it } from "vitest";
|
3 | 3 | import { appendInjectedAssistantMessageToTranscript } from "./chat-transcript-inject.js"; |
4 | 4 | import { createTranscriptFixtureSync } from "./chat.test-helpers.js"; |
5 | 5 | |
| 6 | +function readTranscriptLines(transcriptPath: string): string[] { |
| 7 | +const lines: string[] = []; |
| 8 | +for (const line of fs.readFileSync(transcriptPath, "utf-8").split(/\r?\n/)) { |
| 9 | +if (line.length > 0) { |
| 10 | +lines.push(line); |
| 11 | +} |
| 12 | +} |
| 13 | +return lines; |
| 14 | +} |
| 15 | + |
6 | 16 | // Guardrail: Gateway-injected assistant transcript messages must attach to the |
7 | 17 | // current leaf with a `parentId` and must not sever compaction history. |
8 | 18 | describe("gateway chat.inject transcript writes", () => { |
@@ -25,7 +35,7 @@ describe("gateway chat.inject transcript writes", () => {
|
25 | 35 | } |
26 | 36 | expect(messageId.length).toBeGreaterThan(0); |
27 | 37 | |
28 | | -const lines = fs.readFileSync(transcriptPath, "utf-8").split(/\r?\n/).filter(Boolean); |
| 38 | +const lines = readTranscriptLines(transcriptPath); |
29 | 39 | expect(lines.length).toBeGreaterThanOrEqual(2); |
30 | 40 | |
31 | 41 | const last = JSON.parse(lines.at(-1) as string) as Record<string, unknown>; |
@@ -72,7 +82,7 @@ describe("gateway chat.inject transcript writes", () => {
|
72 | 82 | } |
73 | 83 | expect(messageId.length).toBeGreaterThan(0); |
74 | 84 | |
75 | | -const lines = fs.readFileSync(transcriptPath, "utf-8").split(/\r?\n/).filter(Boolean); |
| 85 | +const lines = readTranscriptLines(transcriptPath); |
76 | 86 | const last = JSON.parse(lines.at(-1) as string) as Record<string, unknown>; |
77 | 87 | |
78 | 88 | expect(last.type).toBe("message"); |
|