



























@@ -4,36 +4,29 @@ import path from "node:path";
44import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
55import type { HandleCommandsParams } from "./commands-types.js";
667-const hoisted = vi.hoisted(() => ({
8-resolveDefaultSessionStorePathMock: vi.fn(() => "/tmp/target-store/sessions.json"),
9-resolveSessionFilePathMock: vi.fn(() => "/tmp/target-store/session.jsonl"),
10-resolveSessionFilePathOptionsMock: vi.fn(
11-(params: { agentId: string; storePath: string }) => params,
12-),
13-loadSessionStoreMock: vi.fn(() => ({
14-"agent:target:session": {
15-sessionId: "session-1",
16-updatedAt: 1,
17-},
18-})),
19-exportTrajectoryBundleMock: vi.fn(() => ({
20-outputDir: "/tmp/workspace/.openclaw/trajectory-exports/openclaw-trajectory-session",
21-manifest: {
22-eventCount: 7,
23-runtimeEventCount: 3,
24-transcriptEventCount: 4,
25-},
26-events: [{ type: "context.compiled" }],
27-runtimeFile: "/tmp/target-store/session.trajectory.jsonl",
28-supplementalFiles: ["metadata.json", "artifacts.json", "prompts.json"],
29-})),
30-resolveDefaultTrajectoryExportDirMock: vi.fn(
31-() => "/tmp/workspace/.openclaw/trajectory-exports/openclaw-trajectory-session",
32-),
33-existsSyncMock: vi.fn((file: fs.PathLike, actualExistsSync: (path: fs.PathLike) => boolean) =>
34-actualExistsSync(file),
35-),
36-}));
7+const hoisted = await vi.hoisted(async () => {
8+const { createExportCommandSessionMocks } = await import("./commands-export-test-mocks.js");
9+return {
10+ ...createExportCommandSessionMocks(vi),
11+exportTrajectoryBundleMock: vi.fn(() => ({
12+outputDir: "/tmp/workspace/.openclaw/trajectory-exports/openclaw-trajectory-session",
13+manifest: {
14+eventCount: 7,
15+runtimeEventCount: 3,
16+transcriptEventCount: 4,
17+},
18+events: [{ type: "context.compiled" }],
19+runtimeFile: "/tmp/target-store/session.trajectory.jsonl",
20+supplementalFiles: ["metadata.json", "artifacts.json", "prompts.json"],
21+})),
22+resolveDefaultTrajectoryExportDirMock: vi.fn(
23+() => "/tmp/workspace/.openclaw/trajectory-exports/openclaw-trajectory-session",
24+),
25+existsSyncMock: vi.fn((file: fs.PathLike, actualExistsSync: (path: fs.PathLike) => boolean) =>
26+actualExistsSync(file),
27+),
28+};
29+});
37303831vi.mock("../../config/sessions/paths.js", () => ({
3932resolveDefaultSessionStorePath: hoisted.resolveDefaultSessionStorePathMock,
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。