



















@@ -121,6 +121,18 @@ describe("subscribeEmbeddedPiSession", () => {
121121.find((payload) => payload.text === text);
122122}
123123124+function mockCallArg(mock: { mock: { calls: unknown[][] } }, callIndex = 0): unknown {
125+const call = mock.mock.calls[callIndex];
126+if (!call) {
127+throw new Error(`expected mock call ${callIndex + 1}`);
128+}
129+return call[0];
130+}
131+132+function latestMockCallArg(mock: { mock: { calls: unknown[][] } }): unknown {
133+return mockCallArg(mock, mock.mock.calls.length - 1);
134+}
135+124136function expectBlockReplyPayload(
125137onBlockReply: { mock: { calls: unknown[][] } },
126138expected: { text: string; mediaUrls?: string[] },
@@ -249,7 +261,7 @@ describe("subscribeEmbeddedPiSession", () => {
249261await flushBlockReplyCallbacks();
250262251263expect(onBlockReply).toHaveBeenCalledTimes(1);
252-expect(onBlockReply.mock.calls.at(0)?.[0].text).toBe("Final answer");
264+expect((mockCallArg(onBlockReply) as { text?: string }).text).toBe("Final answer");
253265254266const streamTexts = onReasoningStream.mock.calls
255267.map((call) => call[0]?.text)
@@ -340,11 +352,9 @@ describe("subscribeEmbeddedPiSession", () => {
340352await vi.waitFor(() => {
341353expect(onToolResult).toHaveBeenCalledTimes(2);
342354});
343-const payload = onToolResult.mock.calls.at(-1)?.[0] as
344-| { text?: string; mediaUrls?: string[] }
345-| undefined;
346-expect(payload?.text ?? "").toContain("Fetched page");
347-expect(payload?.mediaUrls).toBeUndefined();
355+const payload = latestMockCallArg(onToolResult) as { text?: string; mediaUrls?: string[] };
356+expect(payload.text ?? "").toContain("Fetched page");
357+expect(payload.mediaUrls).toBeUndefined();
348358});
349359350360it("delivers generated image media once in markdown verbose output", async () => {
@@ -382,11 +392,12 @@ describe("subscribeEmbeddedPiSession", () => {
382392await vi.waitFor(() => {
383393expect(onToolResult).toHaveBeenCalledTimes(2);
384394});
385-const toolPayload = onToolResult.mock.calls.at(-1)?.[0] as
386-| { text?: string; mediaUrls?: string[] }
387-| undefined;
388-expect(toolPayload?.text ?? "").toContain("Generated 1 image");
389-expect(toolPayload?.mediaUrls).toBeUndefined();
395+const toolPayload = latestMockCallArg(onToolResult) as {
396+text?: string;
397+mediaUrls?: string[];
398+};
399+expect(toolPayload.text ?? "").toContain("Generated 1 image");
400+expect(toolPayload.mediaUrls).toBeUndefined();
390401391402emit({ type: "message_start", message: { role: "assistant" } });
392403emitAssistantTextDelta(emit, "Here is the image.");
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。