diff --git a/extensions/telegram/src/bot-message-context.dm-threads.test.ts b/extensions/telegram/src/bot-message-context.dm-threads.test.ts index f11af44f791..ef8f18caa4f 100644 --- a/extensions/telegram/src/bot-message-context.dm-threads.test.ts +++ b/extensions/telegram/src/bot-message-context.dm-threads.test.ts @@ -3,9 +3,14 @@ import os from "node:os"; import path from "node:path"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { resetTopicNameCacheForTest } from "./topic-name-cache.js"; + +type SessionRuntimeModule = typeof import("./bot-message-context.session.runtime.js"); +type RecordInboundSessionFn = SessionRuntimeModule["recordInboundSession"]; +type ResolveStorePathFn = SessionRuntimeModule["resolveStorePath"]; + const { recordInboundSessionMock, resolveStorePathMock } = vi.hoisted(() => ({ - recordInboundSessionMock: vi.fn().mockResolvedValue(undefined), - resolveStorePathMock: vi.fn(() => "/tmp/openclaw-session-store.json"), + recordInboundSessionMock: vi.fn(async () => undefined), + resolveStorePathMock: vi.fn(() => "/tmp/openclaw-session-store.json"), })); vi.mock("./bot-message-context.session.runtime.js", async () => { @@ -14,8 +19,10 @@ vi.mock("./bot-message-context.session.runtime.js", async () => { ); return { ...actual, - recordInboundSession: (...args: unknown[]) => recordInboundSessionMock(...args), - resolveStorePath: (...args: unknown[]) => resolveStorePathMock(...args), + recordInboundSession: (...args: Parameters) => + recordInboundSessionMock(...args), + resolveStorePath: (...args: Parameters) => + resolveStorePathMock(...args), }; }); diff --git a/extensions/telegram/src/topic-name-cache.ts b/extensions/telegram/src/topic-name-cache.ts index ec647fa4c7e..8a9542da20e 100644 --- a/extensions/telegram/src/topic-name-cache.ts +++ b/extensions/telegram/src/topic-name-cache.ts @@ -116,7 +116,7 @@ function getTopicStoreState(persistedPath?: string): TopicNameStoreState { store: readPersistedTopicNames(persistedPath), } : createTopicNameStoreState(); - next.lastUpdatedAt = Math.max(0, ...next.store.values().map((entry) => entry.updatedAt)); + next.lastUpdatedAt = Math.max(0, ...Array.from(next.store.values(), (entry) => entry.updatedAt)); state.stores.set(stateKey, next); return next; }