refactor(memory): extract sync + status helpers
This commit is contained in:
55
src/memory/manager-cache-key.ts
Normal file
55
src/memory/manager-cache-key.ts
Normal file
@@ -0,0 +1,55 @@
|
||||
import type { ResolvedMemorySearchConfig } from "../agents/memory-search.js";
|
||||
|
||||
import { hashText } from "./internal.js";
|
||||
import { fingerprintHeaderNames } from "./headers-fingerprint.js";
|
||||
|
||||
export function computeMemoryManagerCacheKey(params: {
|
||||
agentId: string;
|
||||
workspaceDir: string;
|
||||
settings: ResolvedMemorySearchConfig;
|
||||
}): string {
|
||||
const settings = params.settings;
|
||||
const fingerprint = hashText(
|
||||
JSON.stringify({
|
||||
enabled: settings.enabled,
|
||||
sources: [...settings.sources].sort((a, b) => a.localeCompare(b)),
|
||||
provider: settings.provider,
|
||||
model: settings.model,
|
||||
fallback: settings.fallback,
|
||||
local: {
|
||||
modelPath: settings.local.modelPath,
|
||||
modelCacheDir: settings.local.modelCacheDir,
|
||||
},
|
||||
remote: settings.remote
|
||||
? {
|
||||
baseUrl: settings.remote.baseUrl,
|
||||
headerNames: fingerprintHeaderNames(settings.remote.headers),
|
||||
batch: settings.remote.batch
|
||||
? {
|
||||
enabled: settings.remote.batch.enabled,
|
||||
wait: settings.remote.batch.wait,
|
||||
concurrency: settings.remote.batch.concurrency,
|
||||
pollIntervalMs: settings.remote.batch.pollIntervalMs,
|
||||
timeoutMinutes: settings.remote.batch.timeoutMinutes,
|
||||
}
|
||||
: undefined,
|
||||
}
|
||||
: undefined,
|
||||
experimental: settings.experimental,
|
||||
store: {
|
||||
driver: settings.store.driver,
|
||||
path: settings.store.path,
|
||||
vector: {
|
||||
enabled: settings.store.vector.enabled,
|
||||
extensionPath: settings.store.vector.extensionPath,
|
||||
},
|
||||
},
|
||||
chunking: settings.chunking,
|
||||
sync: settings.sync,
|
||||
query: settings.query,
|
||||
cache: settings.cache,
|
||||
}),
|
||||
);
|
||||
return `${params.agentId}:${params.workspaceDir}:${fingerprint}`;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user