maplestorysea-mcp-server
Version:
NEXON MapleStory SEA API MCP Server for Claude Desktop - Complete character info, union details, guild data, rankings optimized for SEA servers
69 lines • 2.25 kB
TypeScript
/**
* Health check system for monitoring application status
*/
import { McpLogger } from './logger';
import { NexonApiClient } from '../api/nexon-client';
import { MemoryCache } from './cache';
export interface HealthStatus {
status: 'healthy' | 'unhealthy' | 'degraded';
timestamp: string;
uptime: number;
version?: string;
details: Record<string, ComponentHealth>;
}
export interface ComponentHealth {
status: 'healthy' | 'unhealthy' | 'degraded';
lastCheck: string;
responseTime?: number;
error?: string;
details?: Record<string, any>;
}
export interface HealthCheckOptions {
timeout?: number;
retries?: number;
interval?: number;
}
export declare abstract class HealthChecker {
abstract name: string;
abstract check(options?: HealthCheckOptions): Promise<ComponentHealth>;
}
export declare class ApiHealthChecker extends HealthChecker {
private apiClient;
name: string;
constructor(apiClient: NexonApiClient);
check(options?: HealthCheckOptions): Promise<ComponentHealth>;
}
export declare class CacheHealthChecker extends HealthChecker {
private cache;
name: string;
constructor(cache: MemoryCache);
check(): Promise<ComponentHealth>;
}
export declare class MemoryHealthChecker extends HealthChecker {
name: string;
check(): Promise<ComponentHealth>;
}
export declare class ProcessHealthChecker extends HealthChecker {
name: string;
private startTime;
check(): Promise<ComponentHealth>;
private formatUptime;
}
export declare class HealthCheckManager {
private checkers;
private logger;
private lastCheck?;
constructor(logger?: McpLogger);
registerChecker(checker: HealthChecker): void;
runHealthChecks(options?: HealthCheckOptions): Promise<HealthStatus>;
getLastCheck(): HealthStatus | undefined;
getQuickStatus(): Promise<{
status: string;
uptime: number;
timestamp: string;
}>;
startPeriodicChecks(interval?: number): NodeJS.Timeout;
}
export declare function createDefaultHealthManager(apiClient?: NexonApiClient, cache?: MemoryCache): HealthCheckManager;
export declare const defaultHealthManager: HealthCheckManager;
//# sourceMappingURL=health-check.d.ts.map