test(mcp): add regression coverage for transcript and disable overrides

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
YeonGyu-Kim
2026-04-04 01:12:35 +09:00
parent 53eeac3f31
commit 58e85960a1
2 changed files with 113 additions and 0 deletions
@@ -99,4 +99,82 @@ describe("transcript caching", () => {
expect(client.session.messages).toHaveBeenCalledTimes(2)
})
it("keeps intermediate tool calls across sequential transcript rebuilds", async () => {
// given
const client = createMockClient([])
// when
const firstPath = await buildTranscriptFromSession(
client,
"ses_sequential",
"/tmp",
"bash",
{ command: "echo first" }
)
const secondPath = await buildTranscriptFromSession(
client,
"ses_sequential",
"/tmp",
"read",
{ filePath: "/tmp/second.txt" }
)
const thirdPath = await buildTranscriptFromSession(
client,
"ses_sequential",
"/tmp",
"write",
{ filePath: "/tmp/third.txt", content: "third" }
)
// then
expect(firstPath).not.toBeNull()
expect(secondPath).not.toBeNull()
expect(thirdPath).not.toBeNull()
if (thirdPath) {
const content = readFileSync(thirdPath, "utf-8")
expect(content).toContain("Bash")
expect(content).toContain("Read")
expect(content).toContain("Write")
}
deleteTempTranscript(firstPath)
deleteTempTranscript(secondPath)
deleteTempTranscript(thirdPath)
})
it("cleans up previous temp transcript files when rebuilding cached transcripts", async () => {
// given
const client = createMockClient([])
// when
const firstPath = await buildTranscriptFromSession(
client,
"ses_cleanup",
"/tmp",
"bash",
{ command: "echo first" }
)
const secondPath = await buildTranscriptFromSession(
client,
"ses_cleanup",
"/tmp",
"read",
{ filePath: "/tmp/second.txt" }
)
// then
expect(firstPath).not.toBeNull()
expect(secondPath).not.toBeNull()
if (firstPath && secondPath) {
expect(existsSync(firstPath)).toBe(false)
expect(existsSync(secondPath)).toBe(true)
}
deleteTempTranscript(firstPath)
deleteTempTranscript(secondPath)
})
})