Merge 5355b476f6 into 09be5d45d5
This commit is contained in:
commit
c11a72167c
@ -725,7 +725,28 @@ export async function runEmbeddedAttempt(
|
|||||||
sessionManager.resetLeaf();
|
sessionManager.resetLeaf();
|
||||||
}
|
}
|
||||||
const sessionContext = sessionManager.buildSessionContext();
|
const sessionContext = sessionManager.buildSessionContext();
|
||||||
activeSession.agent.replaceMessages(sessionContext.messages);
|
// Re-sanitize the rebuilt messages to ensure tool_use/tool_result pairing is valid.
|
||||||
|
// Without this, Anthropic API rejects the request with "unexpected tool_use_id" errors.
|
||||||
|
const rebuiltSanitized = await sanitizeSessionHistory({
|
||||||
|
messages: sessionContext.messages,
|
||||||
|
modelApi: params.model.api,
|
||||||
|
modelId: params.modelId,
|
||||||
|
provider: params.provider,
|
||||||
|
sessionManager,
|
||||||
|
sessionId: params.sessionId,
|
||||||
|
policy: transcriptPolicy,
|
||||||
|
});
|
||||||
|
const rebuiltValidatedGemini = transcriptPolicy.validateGeminiTurns
|
||||||
|
? validateGeminiTurns(rebuiltSanitized)
|
||||||
|
: rebuiltSanitized;
|
||||||
|
const rebuiltValidated = transcriptPolicy.validateAnthropicTurns
|
||||||
|
? validateAnthropicTurns(rebuiltValidatedGemini)
|
||||||
|
: rebuiltValidatedGemini;
|
||||||
|
const rebuiltLimited = limitHistoryTurns(
|
||||||
|
rebuiltValidated,
|
||||||
|
getDmHistoryLimitFromSessionKey(params.sessionKey, params.config),
|
||||||
|
);
|
||||||
|
activeSession.agent.replaceMessages(rebuiltLimited);
|
||||||
log.warn(
|
log.warn(
|
||||||
`Removed orphaned user message to prevent consecutive user turns. ` +
|
`Removed orphaned user message to prevent consecutive user turns. ` +
|
||||||
`runId=${params.runId} sessionId=${params.sessionId}`,
|
`runId=${params.runId} sessionId=${params.sessionId}`,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user