refactor(memory): share workspace key normalization

This commit is contained in:
Vincent Koc
2026-06-22 14:01:21 +08:00
parent 8e4213b1c4
commit 7668ef2d35

View File

@@ -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<typeof resolveMemoryDreamingWorkspaces>[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 [];
}