diff --git a/CHANGELOG.md b/CHANGELOG.md index 147a35c8a2e..64ce270915b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ Docs: https://docs.openclaw.ai - ACP/plugins: add an explicit default-off ACPX plugin-tools MCP bridge config, document the trust boundary, and harden the built-in bridge packaging/logging path so global installs and stdio MCP sessions work reliably. (#56867) Thanks @joe2643. - Docs/zh-CN: add a Chinese Diffs tool page so Chinese readers can access the full Diffs viewer, file-rendering, security, and troubleshooting docs. (#40773) Thanks @elliotllliu. - Docs/zh-CN: align the Chinese Diffs tool page with the current English source and generated translation metadata. Thanks @gumadeiras. +- Agents/LLM: add a configurable idle-stream timeout for embedded runner requests so stalled model streams abort cleanly instead of hanging until the broader run timeout fires. (#55072) Thanks @liuy. ### Fixes diff --git a/src/agents/pi-embedded-runner/run/attempt.ts b/src/agents/pi-embedded-runner/run/attempt.ts index a3f3b81e263..778e3ee905c 100644 --- a/src/agents/pi-embedded-runner/run/attempt.ts +++ b/src/agents/pi-embedded-runner/run/attempt.ts @@ -1066,8 +1066,6 @@ export async function runEmbeddedAttempt( let idleTimeoutTrigger: ((error: Error) => void) | undefined; - let idleTimeoutTrigger: ((error: Error) => void) | undefined; - // Wrap stream with idle timeout detection const idleTimeoutMs = resolveLlmIdleTimeoutMs(params.config); if (idleTimeoutMs > 0) {