UNPKG

il2cpp-dump-analyzer-mcp

Version:

Agentic RAG system for analyzing IL2CPP dump.cs files from Unity games

142 lines (141 loc) 3.68 kB
/** * Monitoring integration service for IL2CPP dump analyzer MCP system * Coordinates health monitoring, metrics collection, and lifecycle management */ import { EventEmitter } from 'events'; import { SupabaseConnectionManager } from '../database/connection-manager'; import { EnhancedSupabaseVectorStore } from '../database/enhanced-vector-store'; import { XenovaEmbeddings } from '../embeddings/xenova-embeddings'; export interface MonitoringConfig { enabled: boolean; healthChecks: { enabled: boolean; interval: number; timeout: number; }; metrics: { enabled: boolean; exportInterval: number; prometheusEnabled: boolean; }; lifecycle: { enabled: boolean; restartPolicy: 'never' | 'on-failure' | 'always'; maxRestarts: number; }; alerts: { enabled: boolean; webhookUrl?: string; emailEnabled: boolean; }; } export interface MonitoringStatus { overall: 'healthy' | 'degraded' | 'unhealthy'; services: { health: boolean; metrics: boolean; lifecycle: boolean; }; uptime: number; lastUpdate: Date; } /** * Comprehensive monitoring integration service */ export declare class MonitoringIntegration extends EventEmitter { private config; private healthService; private metricsService; private lifecycleManager; private isInitialized; private isRunning; private startTime; constructor(config?: Partial<MonitoringConfig>); /** * Initialize monitoring services */ private initializeServices; /** * Setup event handlers between services */ private setupEventHandlers; /** * Initialize monitoring with application components */ initialize(components: { connectionManager?: SupabaseConnectionManager; vectorStore?: EnhancedSupabaseVectorStore; embeddings?: XenovaEmbeddings; }): Promise<void>; /** * Start all monitoring services */ start(): Promise<void>; /** * Stop all monitoring services */ stop(): Promise<void>; /** * Get comprehensive monitoring status */ getStatus(): Promise<MonitoringStatus>; /** * Get health status */ getHealthStatus(): Promise<import("./health-service").HealthStatus>; /** * Get metrics in Prometheus format */ getPrometheusMetrics(): string; /** * Get lifecycle state */ getLifecycleState(): import("./lifecycle-manager").LifecycleState; /** * Force application restart */ forceRestart(reason?: string): Promise<void>; /** * Update MCP metrics */ updateMCPMetrics(metrics: { activeConnections?: number; requestProcessed?: boolean; responseTime?: number; error?: boolean; }): void; /** * Record custom metric */ recordMetric(metric: { name: string; value: number; labels?: Record<string, string>; type: 'counter' | 'gauge' | 'histogram' | 'summary'; help?: string; }): void; /** * Send alert notification */ private sendAlert; /** * Send webhook alert */ private sendWebhookAlert; /** * Register shutdown handler */ onShutdown(handler: () => Promise<void>): void; /** * Register startup handler */ onStartup(handler: () => Promise<void>): void; /** * Get monitoring configuration */ getConfig(): MonitoringConfig; /** * Update monitoring configuration */ updateConfig(updates: Partial<MonitoringConfig>): void; }