fix: deduplicate toolResults to avoid Kiro API validation error
This commit is contained in:
parent
55ae7664ec
commit
43d491fb5b
1 changed files with 20 additions and 2 deletions
|
|
@ -637,7 +637,16 @@ async initializeAuth(forceRefresh = false) {
|
||||||
userInputMessage.images = images;
|
userInputMessage.images = images;
|
||||||
}
|
}
|
||||||
if (toolResults.length > 0) {
|
if (toolResults.length > 0) {
|
||||||
userInputMessage.userInputMessageContext = { toolResults };
|
// 去重 toolResults - Kiro API 不接受重复的 toolUseId
|
||||||
|
const uniqueToolResults = [];
|
||||||
|
const seenIds = new Set();
|
||||||
|
for (const tr of toolResults) {
|
||||||
|
if (!seenIds.has(tr.toolUseId)) {
|
||||||
|
seenIds.add(tr.toolUseId);
|
||||||
|
uniqueToolResults.push(tr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
userInputMessage.userInputMessageContext = { toolResults: uniqueToolResults };
|
||||||
}
|
}
|
||||||
|
|
||||||
history.push({ userInputMessage });
|
history.push({ userInputMessage });
|
||||||
|
|
@ -777,7 +786,16 @@ async initializeAuth(forceRefresh = false) {
|
||||||
// 构建 userInputMessageContext,只包含非空字段
|
// 构建 userInputMessageContext,只包含非空字段
|
||||||
const userInputMessageContext = {};
|
const userInputMessageContext = {};
|
||||||
if (currentToolResults.length > 0) {
|
if (currentToolResults.length > 0) {
|
||||||
userInputMessageContext.toolResults = currentToolResults;
|
// 去重 toolResults - Kiro API 不接受重复的 toolUseId
|
||||||
|
const uniqueToolResults = [];
|
||||||
|
const seenToolUseIds = new Set();
|
||||||
|
for (const tr of currentToolResults) {
|
||||||
|
if (!seenToolUseIds.has(tr.toolUseId)) {
|
||||||
|
seenToolUseIds.add(tr.toolUseId);
|
||||||
|
uniqueToolResults.push(tr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
userInputMessageContext.toolResults = uniqueToolResults;
|
||||||
}
|
}
|
||||||
if (Object.keys(toolsContext).length > 0 && toolsContext.tools) {
|
if (Object.keys(toolsContext).length > 0 && toolsContext.tools) {
|
||||||
userInputMessageContext.tools = toolsContext.tools;
|
userInputMessageContext.tools = toolsContext.tools;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue