import { vi, type Mock } from "vitest"; export const runEmbeddedPiAgentMock: Mock = vi.fn(); export const compactEmbeddedPiSessionMock: Mock = vi.fn(); export const loadModelCatalogMock: Mock = vi.fn(); vi.mock("../agents/pi-embedded.js", () => ({ abortEmbeddedPiRun: vi.fn().mockReturnValue(false), compactEmbeddedPiSession: (...args: unknown[]) => compactEmbeddedPiSessionMock(...args), runEmbeddedPiAgent: (...args: unknown[]) => runEmbeddedPiAgentMock(...args), queueEmbeddedPiMessage: vi.fn().mockReturnValue(false), resolveEmbeddedSessionLane: (key: string) => `session:${key.trim() || "main"}`, isEmbeddedPiRunActive: vi.fn().mockReturnValue(false), isEmbeddedPiRunStreaming: vi.fn().mockReturnValue(false), })); vi.mock("../agents/pi-embedded.runtime.js", () => ({ abortEmbeddedPiRun: vi.fn().mockReturnValue(false), compactEmbeddedPiSession: (...args: unknown[]) => compactEmbeddedPiSessionMock(...args), runEmbeddedPiAgent: (...args: unknown[]) => runEmbeddedPiAgentMock(...args), queueEmbeddedPiMessage: vi.fn().mockReturnValue(false), resolveActiveEmbeddedRunSessionId: vi.fn().mockReturnValue(undefined), resolveEmbeddedSessionLane: (key: string) => `session:${key.trim() || "main"}`, isEmbeddedPiRunActive: vi.fn().mockReturnValue(false), isEmbeddedPiRunStreaming: vi.fn().mockReturnValue(false), waitForEmbeddedPiRunEnd: vi.fn().mockResolvedValue(true), })); vi.mock("../agents/model-catalog.js", () => ({ loadModelCatalog: loadModelCatalogMock, }));