YeonGyu-Kim 29155ec7bc refactor: wave 1 - extract leaf modules, rename catch-all files, split index.ts hooks
- 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
2026-02-08 13:57:26 +09:00

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 };
}