






















@@ -1067,6 +1067,8 @@ describe("runCodexAppServerAttempt", () => {
10671067createRuntimeDynamicTool("message"),
10681068createRuntimeDynamicTool("web_search"),
10691069createRuntimeDynamicTool("heartbeat_respond"),
1070+createRuntimeDynamicTool("sessions_spawn"),
1071+createRuntimeDynamicTool("sessions_yield"),
10701072]);
10711073const harness = createStartedThreadHarness();
10721074const params = createParams(
@@ -1076,7 +1078,13 @@ describe("runCodexAppServerAttempt", () => {
10761078params.disableTools = false;
10771079params.runtimePlan = createCodexRuntimePlanFixture();
10781080params.sourceReplyDeliveryMode = "message_tool_only";
1079-params.toolsAllow = ["message", "web_search", "heartbeat_respond"];
1081+params.toolsAllow = [
1082+"message",
1083+"web_search",
1084+"heartbeat_respond",
1085+"sessions_spawn",
1086+"sessions_yield",
1087+];
1080108810811089const run = runCodexAppServerAttempt(params, {
10821090pluginConfig: { appServer: { mode: "yolo" } },
@@ -1092,13 +1100,19 @@ describe("runCodexAppServerAttempt", () => {
10921100const message = dynamicTools.find((tool) => tool.name === "message");
10931101const webSearch = dynamicTools.find((tool) => tool.name === "web_search");
10941102const heartbeat = dynamicTools.find((tool) => tool.name === "heartbeat_respond");
1103+const sessionsSpawn = dynamicTools.find((tool) => tool.name === "sessions_spawn");
1104+const sessionsYield = dynamicTools.find((tool) => tool.name === "sessions_yield");
1095110510961106expect(message).not.toHaveProperty("namespace");
10971107expect(message).not.toHaveProperty("deferLoading");
10981108expect(webSearch?.namespace).toBe(CODEX_OPENCLAW_DYNAMIC_TOOL_NAMESPACE);
10991109expect(webSearch?.deferLoading).toBe(true);
11001110expect(heartbeat?.namespace).toBe(CODEX_OPENCLAW_DYNAMIC_TOOL_NAMESPACE);
11011111expect(heartbeat?.deferLoading).toBe(true);
1112+expect(sessionsSpawn?.namespace).toBe(CODEX_OPENCLAW_DYNAMIC_TOOL_NAMESPACE);
1113+expect(sessionsSpawn?.deferLoading).toBe(true);
1114+expect(sessionsYield).not.toHaveProperty("namespace");
1115+expect(sessionsYield).not.toHaveProperty("deferLoading");
11021116});
1103111711041118it("disables Codex native tool surfaces when runtime toolsAllow is empty", async () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。