- Split 25+ index.ts files into hook.ts + extracted modules - Rename all catch-all utils.ts/helpers.ts to domain-specific names - Split src/tools/lsp/ into ~15 focused modules - Split src/tools/delegate-task/ into ~18 focused modules - Separate shared types from implementation - 155 files changed, 60+ new files created - All typecheck clean, 61 tests pass
28 lines
828 B
TypeScript
28 lines
828 B
TypeScript
import { clearInjectedRules, loadInjectedRules } from "./storage";
|
|
|
|
export type SessionInjectedRulesCache = {
|
|
contentHashes: Set<string>;
|
|
realPaths: Set<string>;
|
|
};
|
|
|
|
export function createSessionCacheStore(): {
|
|
getSessionCache: (sessionID: string) => SessionInjectedRulesCache;
|
|
clearSessionCache: (sessionID: string) => void;
|
|
} {
|
|
const sessionCaches = new Map<string, SessionInjectedRulesCache>();
|
|
|
|
function getSessionCache(sessionID: string): SessionInjectedRulesCache {
|
|
if (!sessionCaches.has(sessionID)) {
|
|
sessionCaches.set(sessionID, loadInjectedRules(sessionID));
|
|
}
|
|
return sessionCaches.get(sessionID)!;
|
|
}
|
|
|
|
function clearSessionCache(sessionID: string): void {
|
|
sessionCaches.delete(sessionID);
|
|
clearInjectedRules(sessionID);
|
|
}
|
|
|
|
return { getSessionCache, clearSessionCache };
|
|
}
|