UNPKG

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