mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-10-10 03:28:03 +00:00
fix: validate tool_result IDs in delegation resume flow (#10135)
This commit is contained in:
parent
caf6142201
commit
c7cdf8398e
1 changed files with 10 additions and 0 deletions
|
|
@ -98,6 +98,7 @@ import { readTaskMessages } from "../task-persistence/taskMessages"
|
|||
import { getNonce } from "./getNonce"
|
||||
import { getUri } from "./getUri"
|
||||
import { REQUESTY_BASE_URL } from "../../shared/utils/requesty"
|
||||
import { validateAndFixToolResultIds } from "../task/validateToolResultIds"
|
||||
|
||||
/**
|
||||
* https://github.com/microsoft/vscode-webview-ui-toolkit-samples/blob/main/default/weather-webview/src/providers/WeatherViewProvider.ts
|
||||
|
|
@ -3167,6 +3168,15 @@ export class ClineProvider
|
|||
})
|
||||
}
|
||||
|
||||
// Validate the newly injected tool_result against the preceding assistant message.
|
||||
// This ensures the tool_result's tool_use_id matches a tool_use in the immediately
|
||||
// preceding assistant message (Anthropic API requirement).
|
||||
const lastMessage = parentApiMessages[parentApiMessages.length - 1]
|
||||
if (lastMessage?.role === "user") {
|
||||
const validatedMessage = validateAndFixToolResultIds(lastMessage, parentApiMessages.slice(0, -1))
|
||||
parentApiMessages[parentApiMessages.length - 1] = validatedMessage
|
||||
}
|
||||
|
||||
await saveApiMessages({ messages: parentApiMessages as any, taskId: parentTaskId, globalStoragePath })
|
||||
|
||||
// 3) Update child metadata to "completed" status
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue