diff --git a/src/agents/pi-embedded-utils.test.ts b/src/agents/pi-embedded-utils.test.ts index 2b32c1466..e753bbab9 100644 --- a/src/agents/pi-embedded-utils.test.ts +++ b/src/agents/pi-embedded-utils.test.ts @@ -91,6 +91,70 @@ describe("extractAssistantText", () => { expect(result).toBe("Before\nAfter"); }); + it("strips minimax tool_call open and close tags", () => { + const msg: AssistantMessage = { + role: "assistant", + content: [ + { + type: "text", + text: "StartInnerEnd", + }, + ], + timestamp: Date.now(), + }; + + const result = extractAssistantText(msg); + expect(result).toBe("StartInnerEnd"); + }); + + it("ignores invoke blocks without minimax markers", () => { + const msg: AssistantMessage = { + role: "assistant", + content: [ + { + type: "text", + text: "BeforeKeepAfter", + }, + ], + timestamp: Date.now(), + }; + + const result = extractAssistantText(msg); + expect(result).toBe("BeforeKeepAfter"); + }); + + it("strips invoke blocks when minimax markers are present elsewhere", () => { + const msg: AssistantMessage = { + role: "assistant", + content: [ + { + type: "text", + text: "BeforeDropAfter", + }, + ], + timestamp: Date.now(), + }; + + const result = extractAssistantText(msg); + expect(result).toBe("BeforeAfter"); + }); + + it("strips invoke blocks with nested tags", () => { + const msg: AssistantMessage = { + role: "assistant", + content: [ + { + type: "text", + text: `A1B`, + }, + ], + timestamp: Date.now(), + }; + + const result = extractAssistantText(msg); + expect(result).toBe("AB"); + }); + it("strips tool XML mixed with regular content", () => { const msg: AssistantMessage = { role: "assistant",