@emmahyde/thinking-patterns
Version:
MCP server combining systematic thinking, mental models, debugging approaches, and stochastic algorithms for comprehensive cognitive pattern support
52 lines (51 loc) • 1.82 kB
TypeScript
interface SessionData {
thoughtHistory: ThoughtData[];
branches: Record<string, ThoughtData[]>;
createdAt: Date;
lastAccessedAt: Date;
}
interface ThoughtData {
thought: string;
thoughtNumber: number;
totalThoughts: number;
isRevision?: boolean;
revisesThought?: number;
branchFromThought?: number;
branchId?: string;
needsMoreThoughts?: boolean;
nextThoughtNeeded: boolean;
}
export interface SessionManager {
createSession(sessionId: string): void;
getSession(sessionId: string): SessionData | null;
clearSession(sessionId: string): void;
cleanupExpiredSessions(): void;
addThought(sessionId: string, thought: ThoughtData): void;
addBranch(sessionId: string, branchId: string, thought: ThoughtData): void;
getThoughtHistory(sessionId: string): ThoughtData[];
getBranches(sessionId: string): Record<string, ThoughtData[]>;
}
export declare class InMemorySessionManager implements SessionManager {
private sessions;
private readonly SESSION_TIMEOUT_MS;
private cleanupInterval;
constructor();
createSession(sessionId: string): void;
getSession(sessionId: string): SessionData | null;
clearSession(sessionId: string): void;
cleanupExpiredSessions(): void;
addThought(sessionId: string, thought: ThoughtData): void;
addBranch(sessionId: string, branchId: string, thought: ThoughtData): void;
getThoughtHistory(sessionId: string): ThoughtData[];
getBranches(sessionId: string): Record<string, ThoughtData[]>;
destroy(): void;
getSessionCount(): number;
getSessionInfo(): Array<{
sessionId: string;
thoughtCount: number;
branchCount: number;
lastAccessed: Date;
}>;
}
export declare const sessionManager: InMemorySessionManager;
export {};