fix: deduplicate openai-compatible tool call ids openclaw#40996 thanks @xaeon2026

This commit is contained in:
Frank Yang 2026-03-15 19:38:39 +08:00
parent 11efa73c83
commit 38d8048359
2 changed files with 1 additions and 1 deletions

View File

@ -32,6 +32,7 @@ Docs: https://docs.openclaw.ai
- Models/openai-completions: default non-native OpenAI-compatible providers to omit tool-definition `strict` fields unless users explicitly opt back in, so tool calling keeps working on providers that reject that option. (#45497) Thanks @sahancava. - Models/openai-completions: default non-native OpenAI-compatible providers to omit tool-definition `strict` fields unless users explicitly opt back in, so tool calling keeps working on providers that reject that option. (#45497) Thanks @sahancava.
- WhatsApp/reconnect: restore the append recency filter in the extension inbox monitor and handle protobuf `Long` timestamps correctly, so fresh post-reconnect append messages are processed while stale history sync stays suppressed. (#42588) thanks @MonkeyLeeT. - WhatsApp/reconnect: restore the append recency filter in the extension inbox monitor and handle protobuf `Long` timestamps correctly, so fresh post-reconnect append messages are processed while stale history sync stays suppressed. (#42588) thanks @MonkeyLeeT.
- WhatsApp/login: wait for pending creds writes before reopening after Baileys `515` pairing restarts in both QR login and `channels login` flows, and keep the restart coverage pinned to the real wrapped error shape plus per-account creds queues. (#27910) Thanks @asyncjason. - WhatsApp/login: wait for pending creds writes before reopening after Baileys `515` pairing restarts in both QR login and `channels login` flows, and keep the restart coverage pinned to the real wrapped error shape plus per-account creds queues. (#27910) Thanks @asyncjason.
- Agents/openai-compatible tool calls: deduplicate repeated tool call ids across live assistant messages and replayed history so OpenAI-compatible backends no longer reject duplicate `tool_call_id` values with HTTP 400. (#40996) Thanks @xaeon2026.
### Fixes ### Fixes

View File

@ -3,7 +3,6 @@ import type { AssistantMessage, UserMessage, Usage } from "@mariozechner/pi-ai";
import { beforeEach, describe, expect, it, vi } from "vitest"; import { beforeEach, describe, expect, it, vi } from "vitest";
import { import {
expectOpenAIResponsesStrictSanitizeCall, expectOpenAIResponsesStrictSanitizeCall,
expectGoogleModelApiFullSanitizeCall,
loadSanitizeSessionHistoryWithCleanMocks, loadSanitizeSessionHistoryWithCleanMocks,
makeMockSessionManager, makeMockSessionManager,
makeInMemorySessionManager, makeInMemorySessionManager,