






















@@ -1,10 +1,6 @@
11import type { Bot } from "grammy";
22import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
3-import { resolveChunkMode as resolveChunkModeRuntime } from "../../../src/auto-reply/chunk.js";
4-import { resolveMarkdownTableMode as resolveMarkdownTableModeRuntime } from "../../../src/config/markdown-tables.js";
5-import { resolveSessionStoreEntry as resolveSessionStoreEntryRuntime } from "../../../src/config/sessions/store.js";
63import type { OpenClawConfig } from "../../../src/config/types.openclaw.js";
7-import { getAgentScopedMediaLocalRoots as getAgentScopedMediaLocalRootsRuntime } from "../../../src/media/local-roots.js";
84import { resolveAutoTopicLabelConfig as resolveAutoTopicLabelConfigRuntime } from "./auto-topic-label-config.js";
95import type { TelegramBotDeps } from "./bot-deps.js";
106import {
@@ -67,6 +63,16 @@ const resolveAgentDir = vi.hoisted(() => vi.fn(() => "/tmp/agent"));
6763const resolveDefaultModelForAgent = vi.hoisted(() =>
6864vi.fn(() => ({ provider: "openai", model: "gpt-test" })),
6965);
66+const getAgentScopedMediaLocalRoots = vi.hoisted(() =>
67+vi.fn((_cfg: unknown, agentId: string) => [`/tmp/.openclaw/workspace-${agentId}`]),
68+);
69+const resolveChunkMode = vi.hoisted(() => vi.fn(() => undefined));
70+const resolveMarkdownTableMode = vi.hoisted(() => vi.fn(() => "preserve"));
71+const resolveSessionStoreEntry = vi.hoisted(() =>
72+vi.fn(({ store, sessionKey }: { store: Record<string, unknown>; sessionKey: string }) => ({
73+existing: store[sessionKey],
74+})),
75+);
70767177vi.mock("./draft-stream.js", () => ({
7278 createTelegramDraftStream,
@@ -95,12 +101,12 @@ vi.mock("./send.js", () => ({
9510196102vi.mock("./bot-message-dispatch.runtime.js", () => ({
97103 generateTopicLabel,
98-getAgentScopedMediaLocalRoots: getAgentScopedMediaLocalRootsRuntime,
104+ getAgentScopedMediaLocalRoots,
99105 loadSessionStore,
100106resolveAutoTopicLabelConfig: resolveAutoTopicLabelConfigRuntime,
101-resolveChunkMode: resolveChunkModeRuntime,
102-resolveMarkdownTableMode: resolveMarkdownTableModeRuntime,
103-resolveSessionStoreEntry: resolveSessionStoreEntryRuntime,
107+ resolveChunkMode,
108+ resolveMarkdownTableMode,
109+ resolveSessionStoreEntry,
104110 resolveStorePath,
105111}));
106112@@ -186,6 +192,10 @@ describe("dispatchTelegramMessage draft streaming", () => {
186192loadSessionStore.mockReset();
187193resolveStorePath.mockReset();
188194generateTopicLabel.mockReset();
195+getAgentScopedMediaLocalRoots.mockClear();
196+resolveChunkMode.mockClear();
197+resolveMarkdownTableMode.mockClear();
198+resolveSessionStoreEntry.mockClear();
189199describeStickerImage.mockReset();
190200loadModelCatalog.mockReset();
191201findModelInCatalog.mockReset();
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。