claudekit
Version:
CLI tools for Claude Code development workflow
35 lines • 1.41 kB
TypeScript
export interface SessionData {
[key: string]: unknown;
timestamp: string;
sessionId: string;
}
export interface SessionHookState {
transcriptId: string;
disabledHooks: string[];
timestamp: string;
workingDirectory: string;
}
export declare class SessionTracker {
private claudekitDir;
private hookName;
constructor(hookName: string);
private ensureDirectory;
private getSessionFile;
getSessionData<T extends SessionData>(sessionId: string): Promise<T | null>;
setSessionData<T extends Partial<SessionData>>(sessionId: string, data: T): Promise<void>;
hasSessionFlag(sessionId: string, flag: string): Promise<boolean>;
setSessionFlag(sessionId: string, flag: string, value?: boolean): Promise<void>;
cleanOldSessions(maxAgeMs?: number): Promise<void>;
}
export declare class SessionHookManager extends SessionTracker {
private sessionsDir;
constructor();
private ensureSessionsDirectory;
private getTranscriptSessionFile;
disableHook(transcriptId: string, hookName: string): Promise<void>;
enableHook(transcriptId: string, hookName: string): Promise<void>;
isHookDisabled(transcriptId: string, hookName: string): Promise<boolean>;
getSessionState(transcriptId: string): Promise<SessionHookState | null>;
extractTranscriptUuid(transcriptPath: string): string | null;
}
//# sourceMappingURL=session-utils.d.ts.map