

























@@ -12,6 +12,7 @@ import {
1212ensurePairedTestGatewayClientIdentity,
1313getFreeGatewayPort,
1414} from "./gateway-cli-backend.live-helpers.js";
15+import { restoreLiveEnv, snapshotLiveEnv, type LiveEnvSnapshot } from "./live-env-test-helpers.js";
1516import { extractPayloadText } from "./test-helpers.agent-results.js";
16171718const LIVE = isLiveTestEnabled();
@@ -23,22 +24,6 @@ const GATEWAY_CONNECT_TIMEOUT_MS = 60_000;
2324const AGENT_REQUEST_TIMEOUT_MS = 180_000;
2425const DEFAULT_CODEX_MODEL = "codex/gpt-5.4";
252626-type EnvSnapshot = {
27-agentRuntime?: string;
28-configPath?: string;
29-gatewayToken?: string;
30-openaiApiKey?: string;
31-openaiBaseUrl?: string;
32-skipBrowserControl?: string;
33-skipCanvas?: string;
34-skipChannels?: string;
35-skipCron?: string;
36-skipGmail?: string;
37-stateDir?: string;
38-trajectory?: string;
39-trajectoryDir?: string;
40-};
41-4227function logLiveStep(step: string, details?: Record<string, unknown>): void {
4328if (!CODEX_HARNESS_DEBUG) {
4429return;
@@ -47,46 +32,12 @@ function logLiveStep(step: string, details?: Record<string, unknown>): void {
4732console.error(`[gateway-trajectory-live] ${step}${suffix}`);
4833}
493450-function snapshotEnv(): EnvSnapshot {
51-return {
52-agentRuntime: process.env.OPENCLAW_AGENT_RUNTIME,
53-configPath: process.env.OPENCLAW_CONFIG_PATH,
54-gatewayToken: process.env.OPENCLAW_GATEWAY_TOKEN,
55-openaiApiKey: process.env.OPENAI_API_KEY,
56-openaiBaseUrl: process.env.OPENAI_BASE_URL,
57-skipBrowserControl: process.env.OPENCLAW_SKIP_BROWSER_CONTROL_SERVER,
58-skipCanvas: process.env.OPENCLAW_SKIP_CANVAS_HOST,
59-skipChannels: process.env.OPENCLAW_SKIP_CHANNELS,
60-skipCron: process.env.OPENCLAW_SKIP_CRON,
61-skipGmail: process.env.OPENCLAW_SKIP_GMAIL_WATCHER,
62-stateDir: process.env.OPENCLAW_STATE_DIR,
63-trajectory: process.env.OPENCLAW_TRAJECTORY,
64-trajectoryDir: process.env.OPENCLAW_TRAJECTORY_DIR,
65-};
66-}
67-68-function restoreEnv(snapshot: EnvSnapshot): void {
69-restoreEnvVar("OPENCLAW_AGENT_RUNTIME", snapshot.agentRuntime);
70-restoreEnvVar("OPENCLAW_CONFIG_PATH", snapshot.configPath);
71-restoreEnvVar("OPENCLAW_GATEWAY_TOKEN", snapshot.gatewayToken);
72-restoreEnvVar("OPENAI_API_KEY", snapshot.openaiApiKey);
73-restoreEnvVar("OPENAI_BASE_URL", snapshot.openaiBaseUrl);
74-restoreEnvVar("OPENCLAW_SKIP_BROWSER_CONTROL_SERVER", snapshot.skipBrowserControl);
75-restoreEnvVar("OPENCLAW_SKIP_CANVAS_HOST", snapshot.skipCanvas);
76-restoreEnvVar("OPENCLAW_SKIP_CHANNELS", snapshot.skipChannels);
77-restoreEnvVar("OPENCLAW_SKIP_CRON", snapshot.skipCron);
78-restoreEnvVar("OPENCLAW_SKIP_GMAIL_WATCHER", snapshot.skipGmail);
79-restoreEnvVar("OPENCLAW_STATE_DIR", snapshot.stateDir);
80-restoreEnvVar("OPENCLAW_TRAJECTORY", snapshot.trajectory);
81-restoreEnvVar("OPENCLAW_TRAJECTORY_DIR", snapshot.trajectoryDir);
35+function snapshotEnv(): LiveEnvSnapshot {
36+return snapshotLiveEnv(["OPENCLAW_TRAJECTORY", "OPENCLAW_TRAJECTORY_DIR"]);
8237}
833884-function restoreEnvVar(name: string, value: string | undefined): void {
85-if (value === undefined) {
86-delete process.env[name];
87-return;
88-}
89-process.env[name] = value;
39+function restoreEnv(snapshot: LiveEnvSnapshot): void {
40+restoreLiveEnv(snapshot);
9041}
91429243async function writeLiveGatewayConfig(params: {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。