UNPKG

tryaii-mcp-server

Version:

TryAII MCP Server - 15+ AI models with comparison, cost tracking, and collective intelligence

91 lines 2.22 kB
import { EncryptedData } from '../utils/encryption.js'; export interface EnhancedMCPSession { userId: string; apiKeyId: string; keyPrefix: string; userName?: string; userEmail?: string; permissions: string[]; usageQuota?: { maxRequests: number; maxCost: number; resetPeriod: string; }; metadata: { connectionSource: string; clientVersion?: string; lastActivity: Date; }; } export interface Session { sessionId: string; userId: string; apiKeyId: string; createdAt: Date; lastActivity: Date; requestQueue: RequestQueue; status: 'active' | 'idle' | 'expired'; encryptedUserData?: EncryptedData | null; userProvider?: string; userContext?: { keyPrefix: string; userName?: string | undefined; userEmail?: string | undefined; permissions: string[]; connectionSource?: string | undefined; clientVersion?: string | undefined; }; balanceInfo?: { totalCost: number; balanceResult?: any; }; } export interface RequestQueue { pending: PendingRequest[]; processing: ProcessingRequest | null; completed: CompletedRequest[]; } export interface PendingRequest { id: string; method: string; params: any; timestamp: Date; resolve: (value: any) => void; reject: (error: Error) => void; timeout?: NodeJS.Timeout; } export interface ProcessingRequest { id: string; method: string; params: any; startTime: Date; timeout?: NodeJS.Timeout; } export interface CompletedRequest { id: string; method: string; success: boolean; result?: any; error?: string; processingTime: number; completedAt: Date; } export interface SessionMetrics { sessionId: string; userId: string; totalRequests: number; successfulRequests: number; failedRequests: number; averageProcessingTime: number; totalCost: number; createdAt: Date; lastActivity: Date; status: string; } export interface QueueStatus { pending: number; processing: boolean; completed: number; averageWaitTime: number; } //# sourceMappingURL=session.d.ts.map