test(agents): tighten pi message typing and dedupe malformed tool-call cases

This commit is contained in:
Peter Steinberger
2026-03-03 01:42:26 +00:00
parent bd8c3230e8
commit 39520ad21b
7 changed files with 512 additions and 252 deletions

View File

@@ -1,4 +1,5 @@
import type { AgentMessage } from "@mariozechner/pi-agent-core";
import type { AssistantMessage, UserMessage } from "@mariozechner/pi-ai";
import type { ExtensionContext } from "@mariozechner/pi-coding-agent";
import * as piCodingAgent from "@mariozechner/pi-coding-agent";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
@@ -24,10 +25,30 @@ describe("compaction retry integration", () => {
vi.clearAllTimers();
vi.useRealTimers();
});
const testMessages = [
{ role: "user", content: "Test message" },
{ role: "assistant", content: "Test response" },
] as unknown as AgentMessage[];
const testMessages: AgentMessage[] = [
{
role: "user",
content: "Test message",
timestamp: 1,
} satisfies UserMessage,
{
role: "assistant",
content: [{ type: "text", text: "Test response" }],
api: "openai-responses",
provider: "openai",
model: "gpt-5.2",
usage: {
input: 0,
output: 0,
cacheRead: 0,
cacheWrite: 0,
totalTokens: 0,
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },
},
stopReason: "stop",
timestamp: 2,
} satisfies AssistantMessage,
];
const testModel = {
provider: "anthropic",