ccguard
Version:
Automated enforcement of net-negative LOC, complexity constraints, and quality standards for Claude code
34 lines • 1.43 kB
TypeScript
import { Storage } from './Storage';
import { SessionStats, GuardState, HotConfig, OperationHistory, LockedFiles } from '../contracts';
export declare class FileStorage implements Storage {
private dataDir;
private sessionStatsFile;
private guardStateFile;
private hotConfigFile;
private operationHistoryFile;
private lockedFilesFile;
private static readonly VALID_KEY_PATTERN;
private static readonly MAX_KEY_LENGTH;
constructor(sessionId?: string);
ensureDir(): Promise<void>;
getSessionStats(): Promise<SessionStats | null>;
saveSessionStats(stats: SessionStats): Promise<void>;
getGuardState(): Promise<GuardState | null>;
saveGuardState(state: GuardState): Promise<void>;
clearAll(): Promise<void>;
getHotConfig(): Promise<HotConfig | null>;
saveHotConfig(config: HotConfig): Promise<void>;
getOperationHistory(): Promise<OperationHistory | null>;
saveOperationHistory(history: OperationHistory): Promise<void>;
getLockedFiles(): Promise<LockedFiles | null>;
saveLockedFiles(lockedFiles: LockedFiles): Promise<void>;
get(key: string): Promise<any>;
set(key: string, value: any): Promise<void>;
delete(key: string): Promise<void>;
/**
* Sanitize storage key to prevent path injection attacks
* Uses a whitelist approach for maximum security
*/
private sanitizeKey;
}
//# sourceMappingURL=FileStorage.d.ts.map