





























@@ -2616,6 +2616,12 @@ grep -Fxq preserved "$TMPDIR/caller-fd"
26162616expect(assertions).toContain("OPENCLAW_CODEX_NPM_PLUGIN_ASSERT_MAX_TRANSCRIPT_FILES");
26172617expect(assertions).toContain("OPENCLAW_CODEX_NPM_PLUGIN_ASSERT_MAX_TRANSCRIPT_WALK_ENTRIES");
26182618expect(assertions).toContain("OPENCLAW_CODEX_NPM_PLUGIN_ASSERT_MAX_TRANSCRIPT_SCAN_BYTES");
2619+expect(assertions).toContain("const AGENT_TURN_TIMEOUT_SECONDS = readPositiveIntEnv(");
2620+expect(assertions).toContain('"OPENCLAW_CODEX_NPM_PLUGIN_AGENT_TIMEOUT_SECONDS"');
2621+expect(assertions).toContain("requestTimeoutMs: AGENT_TURN_TIMEOUT_SECONDS * 1000");
2622+expect(assertions).toContain("timeoutSeconds: AGENT_TURN_TIMEOUT_SECONDS");
2623+expect(assertions).not.toContain("requestTimeoutMs: 420_000");
2624+expect(assertions).not.toContain("timeoutSeconds: 420");
26192625expect(assertions).toContain("readTextFileBounded");
26202626expect(assertions).toContain("readTextFileTail");
26212627expect(assertions).toContain(
@@ -2628,6 +2634,29 @@ grep -Fxq preserved "$TMPDIR/caller-fd"
26282634expect(runner).not.toContain("cat /tmp/openclaw-codex-plugin-pack.log");
26292635expect(runner).toContain("tail -n 120 /tmp/openclaw-codex-agent-after-uninstall.err");
26302636expect(runner).not.toContain("cat /tmp/openclaw-codex-agent-after-uninstall.err");
2637+const profileSourceIndex = runner.indexOf('source "$PROFILE_FILE"');
2638+const agentTimeoutEnvIndex = runner.indexOf(
2639+"docker_e2e_read_positive_int_env OPENCLAW_CODEX_NPM_PLUGIN_AGENT_TIMEOUT_SECONDS 420",
2640+);
2641+const dockerBuildIndex = runner.indexOf("docker_e2e_build_or_reuse");
2642+expect(profileSourceIndex).toBeGreaterThanOrEqual(0);
2643+expect(agentTimeoutEnvIndex).toBeGreaterThan(profileSourceIndex);
2644+expect(dockerBuildIndex).toBeGreaterThan(agentTimeoutEnvIndex);
2645+expect(runner).toContain(
2646+"docker_e2e_read_positive_int_env OPENCLAW_CODEX_NPM_PLUGIN_AGENT_TIMEOUT_SECONDS 420",
2647+);
2648+expect(runner).toContain(
2649+'COMMAND_TIMEOUT="${OPENCLAW_E2E_COMMAND_TIMEOUT:-$((AGENT_TURN_TIMEOUT_SECONDS + 60))s}"',
2650+);
2651+expect(runner).toContain(
2652+'-e "OPENCLAW_CODEX_NPM_PLUGIN_AGENT_TIMEOUT_SECONDS=$AGENT_TURN_TIMEOUT_SECONDS"',
2653+);
2654+expect(runner).toContain('-e "OPENCLAW_E2E_COMMAND_TIMEOUT=$COMMAND_TIMEOUT"');
2655+expect(runner).toContain(
2656+'AGENT_TURN_TIMEOUT_SECONDS="${OPENCLAW_CODEX_NPM_PLUGIN_AGENT_TIMEOUT_SECONDS:-420}"',
2657+);
2658+expect(runner).toContain('--timeout "$AGENT_TURN_TIMEOUT_SECONDS"');
2659+expect(runner).not.toContain("--timeout 420");
26312660});
2632266126332662it.each([
@@ -2637,6 +2666,12 @@ grep -Fxq preserved "$TMPDIR/caller-fd"
26372666"OPENCLAW_CODEX_NPM_PLUGIN_ASSERT_MAX_TEXT_FILE_BYTES",
26382667"64kb",
26392668],
2669+[
2670+"Codex npm plugin live agent timeout",
2671+CODEX_NPM_PLUGIN_LIVE_DOCKER_E2E_PATH,
2672+"OPENCLAW_CODEX_NPM_PLUGIN_AGENT_TIMEOUT_SECONDS",
2673+"420s",
2674+],
26402675[
26412676"npm onboard channel-agent",
26422677NPM_ONBOARD_CHANNEL_AGENT_DOCKER_E2E_PATH,
@@ -2683,6 +2718,7 @@ grep -Fxq preserved "$TMPDIR/caller-fd"
26832718["OPENCLAW_CODEX_NPM_PLUGIN_ASSERT_MAX_TRANSCRIPT_FILES", "64"],
26842719["OPENCLAW_CODEX_NPM_PLUGIN_ASSERT_MAX_TRANSCRIPT_WALK_ENTRIES", "4096"],
26852720["OPENCLAW_CODEX_NPM_PLUGIN_ASSERT_MAX_TRANSCRIPT_SCAN_BYTES", "2097152"],
2721+["OPENCLAW_CODEX_NPM_PLUGIN_AGENT_TIMEOUT_SECONDS", "420"],
26862722],
26872723],
26882724[
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。