




















@@ -28,24 +28,29 @@ describe("OpenClawApp Talk controls", () => {
28282929it("retries Talk immediately when the previous session is already in error state", async () => {
3030const { OpenClawApp } = await import("./app.ts");
31-const staleStop = vi.fn();
32-const app: {
31+const app = Object.create(OpenClawApp.prototype) as {
3332client: unknown;
3433connected: boolean;
3534lastError: string | null;
3635realtimeTalkActive: boolean;
36+realtimeTalkDetail: string | null;
3737realtimeTalkStatus: string;
3838realtimeTalkSession: { stop(): void } | null;
39+realtimeTalkTranscript: string | null;
3940sessionKey: string;
40-} = {
41-client: { request: vi.fn() },
42-connected: true,
43-lastError: null,
44-realtimeTalkActive: true,
45-realtimeTalkStatus: "error",
46-realtimeTalkSession: { stop: staleStop },
47-sessionKey: "main",
4841};
42+const staleStop = vi.fn();
43+Object.defineProperties(app, {
44+client: { value: { request: vi.fn() }, writable: true },
45+connected: { value: true, writable: true },
46+lastError: { value: null, writable: true },
47+realtimeTalkActive: { value: true, writable: true },
48+realtimeTalkDetail: { value: null, writable: true },
49+realtimeTalkSession: { value: { stop: staleStop }, writable: true },
50+realtimeTalkStatus: { value: "error", writable: true },
51+realtimeTalkTranscript: { value: null, writable: true },
52+sessionKey: { value: "main", writable: true },
53+});
49545055await OpenClawApp.prototype.toggleRealtimeTalk.call(app as never);
5156此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。