From 512dc4f2b102cd24bd93ca42733e80084bdf7d2e Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 20 Apr 2026 21:14:46 +0100 Subject: [PATCH] test: share memory session search setup --- .../memory-core/src/memory/index.test.ts | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/extensions/memory-core/src/memory/index.test.ts b/extensions/memory-core/src/memory/index.test.ts index 750eb257921..8d19743b333 100644 --- a/extensions/memory-core/src/memory/index.test.ts +++ b/extensions/memory-core/src/memory/index.test.ts @@ -284,6 +284,26 @@ describe("memory index", () => { } } + async function getFtsSessionManager(params: { + stateDirName: string; + storeFileName: string; + }): Promise { + forceNoProvider = true; + vi.stubEnv("OPENCLAW_STATE_DIR", path.join(workspaceDir, params.stateDirName)); + const cfg = createCfg({ + storePath: path.join(workspaceDir, params.storeFileName), + sources: ["memory", "sessions"], + sessionMemory: true, + minScore: 0, + hybrid: { enabled: true, vectorWeight: 0.7, textWeight: 0.3 }, + }); + const result = await getMemorySearchManager({ cfg, agentId: "main" }); + const manager = requireManager(result); + managersForCleanup.add(manager); + resetManagerForTest(manager); + return manager.status().fts?.available ? manager : null; + } + it.skip("indexes memory files and searches", async () => { const cfg = createCfg({ storePath: indexMainPath, @@ -399,22 +419,12 @@ describe("memory index", () => { }); it("prefers exact session transcript hits in FTS-only mode", async () => { - forceNoProvider = true; - const stateDir = path.join(workspaceDir, ".state-session-ranking"); - vi.stubEnv("OPENCLAW_STATE_DIR", stateDir); try { - const cfg = createCfg({ - storePath: path.join(workspaceDir, "index-fts-session-ranking.sqlite"), - sources: ["memory", "sessions"], - sessionMemory: true, - minScore: 0, - hybrid: { enabled: true, vectorWeight: 0.7, textWeight: 0.3 }, + const manager = await getFtsSessionManager({ + stateDirName: ".state-session-ranking", + storeFileName: "index-fts-session-ranking.sqlite", }); - const result = await getMemorySearchManager({ cfg, agentId: "main" }); - const manager = requireManager(result); - managersForCleanup.add(manager); - resetManagerForTest(manager); - if (!manager.status().fts?.available) { + if (!manager) { return; } @@ -469,22 +479,12 @@ describe("memory index", () => { }); it("bootstraps an empty index on first search so session transcript hits are available", async () => { - forceNoProvider = true; - const stateDir = path.join(workspaceDir, ".state-session-bootstrap"); - vi.stubEnv("OPENCLAW_STATE_DIR", stateDir); try { - const cfg = createCfg({ - storePath: path.join(workspaceDir, "index-fts-session-bootstrap.sqlite"), - sources: ["memory", "sessions"], - sessionMemory: true, - minScore: 0, - hybrid: { enabled: true, vectorWeight: 0.7, textWeight: 0.3 }, + const manager = await getFtsSessionManager({ + stateDirName: ".state-session-bootstrap", + storeFileName: "index-fts-session-bootstrap.sqlite", }); - const result = await getMemorySearchManager({ cfg, agentId: "main" }); - const manager = requireManager(result); - managersForCleanup.add(manager); - resetManagerForTest(manager); - if (!manager.status().fts?.available) { + if (!manager) { return; }