fix(agents): cache bootstrap snapshots per session key

Co-authored-by: Isis Anisoptera <github@lotuswind.net>
This commit is contained in:
Peter Steinberger
2026-02-23 19:04:54 +00:00
parent 8b3eee71ec
commit 40db3fef49
5 changed files with 136 additions and 4 deletions

View File

@@ -0,0 +1,25 @@
import { loadWorkspaceBootstrapFiles, type WorkspaceBootstrapFile } from "./workspace.js";
const cache = new Map<string, WorkspaceBootstrapFile[]>();
export async function getOrLoadBootstrapFiles(params: {
workspaceDir: string;
sessionKey: string;
}): Promise<WorkspaceBootstrapFile[]> {
const existing = cache.get(params.sessionKey);
if (existing) {
return existing;
}
const files = await loadWorkspaceBootstrapFiles(params.workspaceDir);
cache.set(params.sessionKey, files);
return files;
}
export function clearBootstrapSnapshot(sessionKey: string): void {
cache.delete(sessionKey);
}
export function clearAllBootstrapSnapshots(): void {
cache.clear();
}