fix(agent): preserve oversized tail output with trailing newline

closes #4715
This commit is contained in:
Mario Zechner
2026-05-18 23:05:34 +02:00
parent 93ecdbea35
commit b1893b3d77
3 changed files with 16 additions and 0 deletions

View File

@@ -102,6 +102,17 @@ describe("truncate utilities", () => {
expect(result.outputBytes).toBe(5);
});
it("truncates an oversized single line with a trailing newline", () => {
const input = `${"X".repeat(300_000)}\n`;
const result = truncateTail(input, { maxBytes: 1024, maxLines: 100 });
expect(result.content).toBe("X".repeat(1024));
expect(result.outputBytes).toBe(1024);
expect(result.outputLines).toBe(1);
expect(result.lastLinePartial).toBe(true);
expect(result.truncatedBy).toBe("bytes");
});
it("drops an oversized trailing character when it cannot fit in tail byte limit", () => {
const result = truncateTail("abc🙂", { maxBytes: 3, maxLines: 10 });