import { vi } from "vitest"; const hoisted = vi.hoisted(() => ({ recordInboundSessionMock: vi.fn().mockResolvedValue(undefined), })); export const recordInboundSessionMock = hoisted.recordInboundSessionMock; vi.mock("openclaw/plugin-sdk/conversation-runtime", async (importOriginal) => { const actual = await importOriginal(); return { ...actual, recordInboundSession: (...args: unknown[]) => recordInboundSessionMock(...args), }; }); export async function loadTelegramMessageContextRouteHarness() { vi.resetModules(); const [ { clearRuntimeConfigSnapshot, setRuntimeConfigSnapshot }, { buildTelegramMessageContextForTest }, ] = await Promise.all([ import("../../../src/config/config.js"), import("./bot-message-context.test-harness.js"), ]); return { clearRuntimeConfigSnapshot, setRuntimeConfigSnapshot, buildTelegramMessageContextForTest, }; } export function getRecordedUpdateLastRoute(callIndex = -1): unknown { const callArgs = callIndex === -1 ? (recordInboundSessionMock.mock.calls.at(-1)?.[0] as | { updateLastRoute?: unknown } | undefined) : (recordInboundSessionMock.mock.calls[callIndex]?.[0] as | { updateLastRoute?: unknown } | undefined); return callArgs?.updateLastRoute; }