






















@@ -7,6 +7,7 @@ vi.mock("../../gateway/call.js", () => ({
77let isResolvedSessionVisibleToRequester: typeof import("./sessions-resolution.js").isResolvedSessionVisibleToRequester;
88let looksLikeSessionId: typeof import("./sessions-resolution.js").looksLikeSessionId;
99let looksLikeSessionKey: typeof import("./sessions-resolution.js").looksLikeSessionKey;
10+let resolveCurrentSessionClientAlias: typeof import("./sessions-resolution.js").resolveCurrentSessionClientAlias;
1011let resolveDisplaySessionKey: typeof import("./sessions-resolution.js").resolveDisplaySessionKey;
1112let resolveInternalSessionKey: typeof import("./sessions-resolution.js").resolveInternalSessionKey;
1213let resolveMainSessionAlias: typeof import("./sessions-resolution.js").resolveMainSessionAlias;
@@ -19,6 +20,7 @@ beforeAll(async () => {
1920 isResolvedSessionVisibleToRequester,
2021 looksLikeSessionId,
2122 looksLikeSessionKey,
23+ resolveCurrentSessionClientAlias,
2224 resolveDisplaySessionKey,
2325 resolveInternalSessionKey,
2426 resolveMainSessionAlias,
@@ -105,6 +107,22 @@ describe("session key display/internal mapping", () => {
105107"current",
106108);
107109});
110+111+it("maps interactive client ids to the requester session", () => {
112+expect(
113+resolveCurrentSessionClientAlias({
114+key: "openclaw-tui",
115+requesterInternalKey: "agent:main:main",
116+}),
117+).toBe("agent:main:main");
118+expect(resolveCurrentSessionClientAlias({ key: "openclaw-tui" })).toBeUndefined();
119+expect(
120+resolveCurrentSessionClientAlias({
121+key: "node-host",
122+requesterInternalKey: "agent:main:main",
123+}),
124+).toBeUndefined();
125+});
108126});
109127110128describe("session reference shape detection", () => {
@@ -303,4 +321,22 @@ describe("resolveSessionReference", () => {
303321});
304322expect(callGatewayMock).toHaveBeenCalledTimes(1);
305323});
324+325+it("treats the TUI client label as the requester session", async () => {
326+await expect(
327+resolveSessionReference({
328+sessionKey: "openclaw-tui",
329+alias: "main",
330+mainKey: "main",
331+requesterInternalKey: "agent:main:main",
332+restrictToSpawned: false,
333+}),
334+).resolves.toMatchObject({
335+ok: true,
336+key: "agent:main:main",
337+displayKey: "agent:main:main",
338+resolvedViaSessionId: false,
339+});
340+expect(callGatewayMock).not.toHaveBeenCalled();
341+});
306342});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。