mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-09 08:37:41 +00:00
test(agents): dedupe media and thinking sanitize test setup
This commit is contained in:
@@ -38,6 +38,33 @@ async function sanitizeGoogleAssistantWithContent(content: unknown[]) {
|
||||
return getAssistantMessage(out);
|
||||
}
|
||||
|
||||
async function sanitizeSimpleSession(params: {
|
||||
modelApi: string;
|
||||
sessionId: string;
|
||||
content: unknown[];
|
||||
modelId?: string;
|
||||
}) {
|
||||
const sessionManager = SessionManager.inMemory();
|
||||
const input = [
|
||||
{
|
||||
role: "user",
|
||||
content: "hi",
|
||||
},
|
||||
{
|
||||
role: "assistant",
|
||||
content: params.content,
|
||||
},
|
||||
] as unknown as AgentMessage[];
|
||||
|
||||
return sanitizeSessionHistory({
|
||||
messages: input,
|
||||
modelApi: params.modelApi,
|
||||
modelId: params.modelId,
|
||||
sessionManager,
|
||||
sessionId: params.sessionId,
|
||||
});
|
||||
}
|
||||
|
||||
describe("sanitizeSessionHistory (google thinking)", () => {
|
||||
it("keeps thinking blocks without signatures for Google models", async () => {
|
||||
const assistant = await sanitizeGoogleAssistantWithContent([
|
||||
@@ -65,24 +92,11 @@ describe("sanitizeSessionHistory (google thinking)", () => {
|
||||
});
|
||||
|
||||
it("drops unsigned thinking blocks for Antigravity Claude", async () => {
|
||||
const sessionManager = SessionManager.inMemory();
|
||||
const input = [
|
||||
{
|
||||
role: "user",
|
||||
content: "hi",
|
||||
},
|
||||
{
|
||||
role: "assistant",
|
||||
content: [{ type: "thinking", thinking: "reasoning" }],
|
||||
},
|
||||
] as unknown as AgentMessage[];
|
||||
|
||||
const out = await sanitizeSessionHistory({
|
||||
messages: input,
|
||||
const out = await sanitizeSimpleSession({
|
||||
modelApi: "google-antigravity",
|
||||
modelId: "anthropic/claude-3.5-sonnet",
|
||||
sessionManager,
|
||||
sessionId: "session:antigravity-claude",
|
||||
content: [{ type: "thinking", thinking: "reasoning" }],
|
||||
});
|
||||
|
||||
const assistant = out.find((msg) => (msg as { role?: string }).role === "assistant");
|
||||
@@ -273,23 +287,10 @@ describe("sanitizeSessionHistory (google thinking)", () => {
|
||||
});
|
||||
|
||||
it("keeps thinking blocks for non-Google models", async () => {
|
||||
const sessionManager = SessionManager.inMemory();
|
||||
const input = [
|
||||
{
|
||||
role: "user",
|
||||
content: "hi",
|
||||
},
|
||||
{
|
||||
role: "assistant",
|
||||
content: [{ type: "thinking", thinking: "reasoning" }],
|
||||
},
|
||||
] as unknown as AgentMessage[];
|
||||
|
||||
const out = await sanitizeSessionHistory({
|
||||
messages: input,
|
||||
const out = await sanitizeSimpleSession({
|
||||
modelApi: "openai",
|
||||
sessionManager,
|
||||
sessionId: "session:openai",
|
||||
content: [{ type: "thinking", thinking: "reasoning" }],
|
||||
});
|
||||
|
||||
const assistant = out.find((msg) => (msg as { role?: string }).role === "assistant") as {
|
||||
|
||||
Reference in New Issue
Block a user