fix(codex): extend message tool timeout (#85216) · openclaw/openclaw@cc4e30b
amknight
·
2026-05-22
·
via Recent Commits to openclaw:main
File tree
extensions/codex/src/app-server
| Original file line number | Diff line number | Diff line change |
|---|
@@ -66,6 +66,7 @@ Docs: https://docs.openclaw.ai
|
66 | 66 | - Providers/Ollama: preserve native Ollama tool-call IDs across assistant replay so Gemini over Ollama Cloud can keep its hidden function-call thought-signature handle. |
67 | 67 | - Discord: keep session recovery and `/stop` abort ownership on the source dispatch lane while bound ACP turns continue routing to their target session, so stalled pre-run work and late replies are cleared instead of leaking after stop. Fixes #84477. (#85100) Thanks @joshavant. |
68 | 68 | - Codex app-server: mark missing turn completion after observed execution as replay-unsafe and release the session so follow-up turns can run. Fixes #84076. (#85107) Thanks @joshavant. |
| 69 | +- Codex app-server: give visible `message` dynamic tool sends a longer timeout budget so slow channel delivery can return its own result or error instead of hitting the 30-second Codex wrapper. (#85216) Thanks @amknight. |
69 | 70 | - Codex app-server: add a dedicated post-tool raw assistant completion idle timeout config so trusted heavy turns can wait longer after tool handoff without weakening final assistant release. |
70 | 71 | - Matrix: keep explicitly configured two-person rooms on the room route before stale `m.direct` or strict two-member DM fallback can bypass mention gating. Fixes #85017. (#85137) Thanks @joshavant. |
71 | 72 | - Agents/subagents: require explicit subagent allowlist targets to be configured agents so stale deleted-agent ids are omitted from `agents_list` and rejected by `sessions_spawn`. Fixes #84811. (#85154) Thanks @joshavant. |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -2555,6 +2555,22 @@ describe("runCodexAppServerAttempt", () => {
|
2555 | 2555 | ).toBe(testing.CODEX_DYNAMIC_IMAGE_TOOL_TIMEOUT_MS); |
2556 | 2556 | }); |
2557 | 2557 | |
| 2558 | +it("keeps Codex message dynamic tool calls above slow channel send deadlines", () => { |
| 2559 | +expect( |
| 2560 | +testing.resolveDynamicToolCallTimeoutMs({ |
| 2561 | +call: { |
| 2562 | +threadId: "thread-1", |
| 2563 | +turnId: "turn-1", |
| 2564 | +callId: "call-message", |
| 2565 | +namespace: null, |
| 2566 | +tool: "message", |
| 2567 | +arguments: { action: "send", message: "long outbound update" }, |
| 2568 | +}, |
| 2569 | +config: undefined, |
| 2570 | +}), |
| 2571 | +).toBe(testing.CODEX_DYNAMIC_MESSAGE_TOOL_TIMEOUT_MS); |
| 2572 | +}); |
| 2573 | + |
2558 | 2574 | it("caps dynamic tool timeouts at the bridge maximum", () => { |
2559 | 2575 | expect( |
2560 | 2576 | testing.resolveDynamicToolCallTimeoutMs({ |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -195,6 +195,7 @@ const CODEX_DYNAMIC_TOOL_TIMEOUT_MS = 30_000;
|
195 | 195 | const CODEX_DYNAMIC_TOOL_MAX_TIMEOUT_MS = 600_000; |
196 | 196 | const CODEX_DYNAMIC_IMAGE_GENERATION_TOOL_TIMEOUT_MS = 120_000; |
197 | 197 | const CODEX_DYNAMIC_IMAGE_TOOL_TIMEOUT_MS = 60_000; |
| 198 | +const CODEX_DYNAMIC_MESSAGE_TOOL_TIMEOUT_MS = 120_000; |
198 | 199 | const CODEX_APP_SERVER_STARTUP_CONNECTION_CLOSE_MAX_ATTEMPTS = 3; |
199 | 200 | const CODEX_APP_SERVER_STARTUP_TIMEOUT_FLOOR_MS = 100; |
200 | 201 | const CODEX_APP_SERVER_INTERRUPT_TIMEOUT_MS = 5_000; |
@@ -3255,6 +3256,10 @@ function readConfiguredDynamicToolTimeoutMs(
|
3255 | 3256 | ); |
3256 | 3257 | } |
3257 | 3258 | |
| 3259 | +if (toolName === "message") { |
| 3260 | +return CODEX_DYNAMIC_MESSAGE_TOOL_TIMEOUT_MS; |
| 3261 | +} |
| 3262 | + |
3258 | 3263 | return undefined; |
3259 | 3264 | } |
3260 | 3265 | |
@@ -5139,6 +5144,7 @@ export const testing = {
|
5139 | 5144 | CODEX_DYNAMIC_TOOL_TIMEOUT_MS, |
5140 | 5145 | CODEX_DYNAMIC_TOOL_MAX_TIMEOUT_MS, |
5141 | 5146 | CODEX_DYNAMIC_IMAGE_TOOL_TIMEOUT_MS, |
| 5147 | +CODEX_DYNAMIC_MESSAGE_TOOL_TIMEOUT_MS, |
5142 | 5148 | CODEX_TURN_COMPLETION_IDLE_TIMEOUT_MS, |
5143 | 5149 | CODEX_TURN_TERMINAL_IDLE_TIMEOUT_MS, |
5144 | 5150 | createCodexSteeringQueue, |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。