





















@@ -509,64 +509,25 @@ describe("runCodexAppServerAttempt", () => {
509509expect(__testing.shouldForceMessageTool(params)).toBe(false);
510510});
511511512-it("passes the live run session key to Codex dynamic tools when sandbox policy uses another key", async () => {
512+it("passes the live run session key to Codex dynamic tools when sandbox policy uses another key", () => {
513513const workspaceDir = path.join(tempDir, "workspace");
514-const sessionsPath = path.join(tempDir, "sessions.json");
515514const params = createParams(path.join(tempDir, "session.jsonl"), workspaceDir);
516-params.disableTools = false;
517515params.sessionKey = "agent:main:main";
518-params.config = {
519-session: { store: sessionsPath, mainKey: "main", scope: "per-sender" },
520-tools: { profile: "coding" },
521-};
522-params.runtimePlan = buildCodexRuntimePlan(params, workspaceDir);
523-await fs.writeFile(
524-sessionsPath,
525-JSON.stringify({
526-"agent:main:main": {
527-sessionId: "s-main",
528-updatedAt: 10,
529-status: "running",
530-},
531-"agent:main:telegram:default:direct:1234": {
532-sessionId: "s-telegram-policy",
533-updatedAt: 5,
534-status: "done",
535-},
536-}),
537-);
538-let seenRunSessionKey: string | undefined;
539-__testing.setOpenClawCodingToolsFactoryForTests((options) => {
540-seenRunSessionKey = options?.runSessionKey;
541-return [
542-{
543-name: "session_status",
544-description: "session status test tool",
545-parameters: { type: "object", properties: {} },
546-execute: vi.fn(async () => ({ details: { sessionKey: options?.runSessionKey } })),
547-},
548-] as never;
516+517+expect(
518+__testing.resolveOpenClawCodingToolsSessionKeys(
519+params,
520+"agent:main:telegram:default:direct:1234",
521+),
522+).toEqual({
523+sessionKey: "agent:main:telegram:default:direct:1234",
524+runSessionKey: "agent:main:main",
549525});
550526551-const dynamicTools = await __testing.buildDynamicTools({
552- params,
553-resolvedWorkspace: workspaceDir,
554-effectiveWorkspace: workspaceDir,
555-sandboxSessionKey: "agent:main:telegram:default:direct:1234",
556-sandbox: null,
557-runAbortController: new AbortController(),
558-sessionAgentId: "main",
559-pluginConfig: {},
560-onYieldDetected: () => undefined,
561-});
562-const sessionStatus = dynamicTools.find((tool) => tool.name === "session_status");
563-564-expect(sessionStatus).toBeDefined();
565-const result = await sessionStatus?.execute("call-current", { sessionKey: "current" });
566-expect(seenRunSessionKey).toBe("agent:main:main");
567-expect((result?.details as { sessionKey?: string } | undefined)?.sessionKey).toBe(
568-"agent:main:main",
569-);
527+expect(__testing.resolveOpenClawCodingToolsSessionKeys(params, "agent:main:main")).toEqual({
528+sessionKey: "agent:main:main",
529+runSessionKey: undefined,
530+});
570531});
571532572533it("returns a failed dynamic tool response when an app-server tool call exceeds the deadline", async () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。