fix: guard session tool results

This commit is contained in:
Peter Steinberger
2026-01-12 17:28:39 +00:00
parent f83fb70360
commit f5d5661adf
8 changed files with 414 additions and 13 deletions

View File

@@ -18,6 +18,10 @@ import {
sanitizeToolCallIdsForCloudCodeAssist,
} from "./tool-call-id.js";
import { sanitizeContentBlocksImages } from "./tool-images.js";
import {
repairToolUseResultPairing,
sanitizeToolUseResultPairing,
} from "./session-transcript-repair.js";
import type { WorkspaceBootstrapFile } from "./workspace.js";
export type EmbeddedContextFile = { path: string; content: string };
@@ -98,8 +102,10 @@ export async function sanitizeSessionMessagesImages(
const sanitizedIds = options?.sanitizeToolCallIds
? sanitizeToolCallIdsForCloudCodeAssist(messages)
: messages;
const repaired = repairToolUseResultPairing(sanitizedIds);
const base = repaired.messages;
const out: AgentMessage[] = [];
for (const msg of sanitizedIds) {
for (const msg of base) {
if (!msg || typeof msg !== "object") {
out.push(msg);
continue;