Agents: raise default timeout to 48h (#51874)

This commit is contained in:
Bob
2026-03-21 21:54:46 +01:00
committed by GitHub
parent 4229ffe2b9
commit c2634b5e40
3 changed files with 8 additions and 2 deletions

View File

@@ -65,6 +65,7 @@ Docs: https://docs.openclaw.ai
### Fixes
- Agents/default timeout: raise the shared default agent timeout from `600s` to `48h` so long-running ACP and agent sessions do not fail unless you configure a shorter limit.
- Gateway/Linux: auto-detect nvm-managed Node TLS CA bundle needs before CLI startup and refresh installed services that are missing `NODE_EXTRA_CA_CERTS`. (#51146) Thanks @GodsBoy.
- CLI/config: make `config set --strict-json` enforce real JSON, prefer `JSON.parse` with JSON5 fallback for machine-written cron/subagent stores, and relabel raw config surfaces as `JSON/JSON5` to match actual compatibility. Related: #48415, #43127, #14529, #21332. Thanks @adhitShet and @vincentkoc.
- CLI/Ollama onboarding: keep the interactive model picker for explicit `openclaw onboard --auth-choice ollama` runs so setup still selects a default model without reintroducing pre-picker auto-pulls. (#49249) Thanks @BruceMacD.

View File

@@ -3,7 +3,7 @@ import os from "node:os";
import path from "node:path";
import { describe, expect, it } from "vitest";
import { getSubagentDepthFromSessionStore } from "./subagent-depth.js";
import { resolveAgentTimeoutMs } from "./timeout.js";
import { resolveAgentTimeoutMs, resolveAgentTimeoutSeconds } from "./timeout.js";
describe("getSubagentDepthFromSessionStore", () => {
it("uses spawnDepth from the session store when available", () => {
@@ -115,6 +115,11 @@ describe("getSubagentDepthFromSessionStore", () => {
});
describe("resolveAgentTimeoutMs", () => {
it("defaults to 48 hours when config does not override the timeout", () => {
expect(resolveAgentTimeoutSeconds()).toBe(48 * 60 * 60);
expect(resolveAgentTimeoutMs({})).toBe(48 * 60 * 60 * 1000);
});
it("uses a timer-safe sentinel for no-timeout overrides", () => {
expect(resolveAgentTimeoutMs({ overrideSeconds: 0 })).toBe(2_147_000_000);
expect(resolveAgentTimeoutMs({ overrideMs: 0 })).toBe(2_147_000_000);

View File

@@ -1,6 +1,6 @@
import type { OpenClawConfig } from "../config/config.js";
const DEFAULT_AGENT_TIMEOUT_SECONDS = 600;
const DEFAULT_AGENT_TIMEOUT_SECONDS = 48 * 60 * 60;
const MAX_SAFE_TIMEOUT_MS = 2_147_000_000;
const normalizeNumber = (value: unknown): number | undefined =>