UNPKG

@sethdouglasford/claude-flow

Version:

Claude Code Flow - Advanced AI-powered development workflows with SPARC methodology

60 lines 2.07 kB
/** * Session manager for MCP connections */ import { MCPSession, MCPInitializeParams, MCPConfig } from "../utils/types.js"; import { ILogger } from "../core/logger.js"; export interface ISessionManager { createSession(transport: "stdio" | "http" | "websocket"): MCPSession; getSession(id: string): MCPSession | undefined; initializeSession(sessionId: string, params: MCPInitializeParams): void; authenticateSession(sessionId: string, credentials: unknown): boolean; updateActivity(sessionId: string): void; removeSession(sessionId: string): void; getActiveSessions(): MCPSession[]; cleanupExpiredSessions(): void; getSessionMetrics(): { total: number; active: number; authenticated: number; expired: number; }; } /** * Session manager implementation */ export declare class SessionManager implements ISessionManager { private config; private logger; private sessions; private authConfig; private sessionTimeout; private maxSessions; private cleanupInterval?; constructor(config: MCPConfig, logger: ILogger); createSession(transport: "stdio" | "http" | "websocket"): MCPSession; getSession(id: string): MCPSession | undefined; initializeSession(sessionId: string, params: MCPInitializeParams): void; authenticateSession(sessionId: string, credentials: unknown): boolean; updateActivity(sessionId: string): void; removeSession(sessionId: string): void; getActiveSessions(): MCPSession[]; cleanupExpiredSessions(): void; getSessionMetrics(): { total: number; active: number; authenticated: number; expired: number; }; destroy(): void; private generateSessionId; private isSessionExpired; private validateProtocolVersion; private authenticateToken; private authenticateBasic; private authenticateOAuth; private extractToken; private extractBasicAuth; private extractAuthData; private hashPassword; } //# sourceMappingURL=session-manager.d.ts.map