From 7668ef2d3596c2bcab90cd8a3de7b0637aa0d282 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Mon, 22 Jun 2026 14:01:21 +0800 Subject: [PATCH] refactor(memory): share workspace key normalization --- extensions/memory-core/src/dreaming-phases.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/extensions/memory-core/src/dreaming-phases.ts b/extensions/memory-core/src/dreaming-phases.ts index 993851e532fa..e16c3ad3ec88 100644 --- a/extensions/memory-core/src/dreaming-phases.ts +++ b/extensions/memory-core/src/dreaming-phases.ts @@ -34,6 +34,7 @@ import { DREAMING_SESSION_INGESTION_FILES_NAMESPACE, DREAMING_SESSION_INGESTION_SEEN_NAMESPACE, SESSION_SEEN_HASHES_PER_CHUNK, + normalizeMemoryCoreWorkspaceKey, readMemoryCoreWorkspaceEntries, writeMemoryCoreWorkspaceEntries, } from "./dreaming-state.js"; @@ -542,11 +543,6 @@ type SessionIngestionCollectionResult = { changed: boolean; }; -function normalizeWorkspaceKey(workspaceDir: string): string { - const resolved = path.resolve(workspaceDir).replace(/\\/g, "/"); - return process.platform === "win32" ? resolved.toLowerCase() : resolved; -} - export function normalizeSessionIngestionState(raw: unknown): SessionIngestionState { const record = asRecord(raw); const filesRaw = asRecord(record?.files); @@ -749,7 +745,7 @@ function resolveSessionAgentsForWorkspace(params: { if (!cfg) { return []; } - const target = normalizeWorkspaceKey(workspaceDir); + const target = normalizeMemoryCoreWorkspaceKey(workspaceDir); const workspaces = resolveMemoryDreamingWorkspaces( cfg as Parameters[0], { @@ -757,7 +753,9 @@ function resolveSessionAgentsForWorkspace(params: { primaryAgentId: "main", }, ); - const match = workspaces.find((entry) => normalizeWorkspaceKey(entry.workspaceDir) === target); + const match = workspaces.find( + (entry) => normalizeMemoryCoreWorkspaceKey(entry.workspaceDir) === target, + ); if (!match) { return []; }