import type { AgentMessage } from "@mariozechner/pi-agent-core"; import type { AssistantMessage, UserMessage } from "@mariozechner/pi-ai"; import type { ExtensionContext } from "@mariozechner/pi-coding-agent"; import * as piCodingAgent from "@mariozechner/pi-coding-agent"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { retryAsync } from "../infra/retry.js";
// Mock the external generateSummary function
vi.mock("@mariozechner/pi-coding-agent", async () => { const actual = await vi.importActual<typeof piCodingAgent>("@mariozechner/pi-coding-agent"); return {
...actual,
generateSummary: vi.fn(),
};
});
await vi.runAllTimersAsync(); const result = await promise;
expect(result).toBe("Success on 3rd attempt");
expect(mockGenerateSummary).toHaveBeenCalledTimes(3); // First retry: 500ms, second retry: 1000ms
expect(delays[0]).toBe(500);
expect(delays[1]).toBe(1000);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.