refactor: split session store loader from maintenance

This commit is contained in:
Shakker
2026-04-01 17:13:53 +01:00
committed by Shakker
parent 883a35a38c
commit c2e93c76bd
6 changed files with 155 additions and 145 deletions

View File

@@ -12,7 +12,7 @@ vi.mock("../../config/sessions/paths.js", () => ({
resolveStorePath: vi.fn().mockReturnValue("/tmp/test-store.json"),
}));
vi.mock("../../config/sessions/store.js", () => ({
vi.mock("../../config/sessions/store-load.js", () => ({
loadSessionStore: vi.fn().mockReturnValue({}),
}));
@@ -33,13 +33,13 @@ vi.mock("../../pairing/pairing-store.js", () => ({
const mockedModuleIds = [
"../../config/sessions/main-session.js",
"../../config/sessions/paths.js",
"../../config/sessions/store.js",
"../../config/sessions/store-load.js",
"../../infra/outbound/channel-selection.js",
"../../infra/outbound/target-resolver.js",
"../../pairing/pairing-store.js",
];
import { loadSessionStore } from "../../config/sessions/store.js";
import { loadSessionStore } from "../../config/sessions/store-load.js";
import { resolveMessageChannelSelection } from "../../infra/outbound/channel-selection.js";
import { maybeResolveIdLikeTarget } from "../../infra/outbound/target-resolver.js";
import { readChannelAllowFromStoreSync } from "../../pairing/pairing-store.js";

View File

@@ -3,7 +3,7 @@ import type { ChannelId } from "../../channels/plugins/types.js";
import type { OpenClawConfig } from "../../config/config.js";
import { resolveAgentMainSessionKey } from "../../config/sessions/main-session.js";
import { resolveStorePath } from "../../config/sessions/paths.js";
import { loadSessionStore } from "../../config/sessions/store.js";
import { loadSessionStore } from "../../config/sessions/store-load.js";
import { resolveMessageChannelSelection } from "../../infra/outbound/channel-selection.js";
import { maybeResolveIdLikeTarget } from "../../infra/outbound/target-resolver.js";
import type { OutboundChannel } from "../../infra/outbound/targets.js";

View File

@@ -1,9 +1,15 @@
import { beforeEach, describe, expect, it, vi } from "vitest";
import type { OpenClawConfig } from "../../config/config.js";
vi.mock("../../config/sessions.js", () => ({
vi.mock("../../config/sessions/store-load.js", () => ({
loadSessionStore: vi.fn(),
}));
vi.mock("../../config/sessions/paths.js", () => ({
resolveStorePath: vi.fn().mockReturnValue("/tmp/test-store.json"),
}));
vi.mock("../../config/sessions/reset.js", () => ({
evaluateSessionFreshness: vi.fn().mockReturnValue({ fresh: true }),
resolveSessionResetPolicy: vi.fn().mockReturnValue({ mode: "idle", idleMinutes: 60 }),
}));
@@ -18,7 +24,8 @@ vi.mock("../../agents/bootstrap-cache.js", () => ({
}));
import { clearBootstrapSnapshot } from "../../agents/bootstrap-cache.js";
import { loadSessionStore, evaluateSessionFreshness } from "../../config/sessions.js";
import { evaluateSessionFreshness } from "../../config/sessions/reset.js";
import { loadSessionStore } from "../../config/sessions/store-load.js";
import { resolveCronSession } from "./session.js";
const NOW_MS = 1_737_600_000_000;

View File

@@ -1,13 +1,10 @@
import crypto from "node:crypto";
import { clearBootstrapSnapshotOnSessionRollover } from "../../agents/bootstrap-cache.js";
import type { OpenClawConfig } from "../../config/config.js";
import {
evaluateSessionFreshness,
loadSessionStore,
resolveSessionResetPolicy,
resolveStorePath,
type SessionEntry,
} from "../../config/sessions.js";
} from "../../config/sessions/reset.js";
import { resolveStorePath } from "../../config/sessions/paths.js";
import { loadSessionStore } from "../../config/sessions/store-load.js";
import type { SessionEntry } from "../../config/sessions/types.js";
export function resolveCronSession(params: {
cfg: OpenClawConfig;