@bobmatnyc/claude-pm-portfolio-manager
Version:
Claude PM Portfolio Management Dashboard - React-based monitoring and reporting for Claude PM managed projects
43 lines (42 loc) • 1.5 kB
TypeScript
export interface ServiceDefinition {
name: string;
port?: number;
type: "framework-core" | "service-bridge" | "microservice" | "ai-service" | "database" | "cache" | "vector-database" | "development";
project: string;
healthCheck: string;
dependencies: string[];
status?: "online" | "offline" | "error" | "unknown";
uptime?: string;
memory?: string;
cpu?: string;
lastCheck?: Date;
}
export interface ServiceHealthResponse {
status: "ok" | "error";
timestamp: string;
uptime?: number;
memory?: {
used: number;
total: number;
percentage: number;
};
cpu?: number;
dependencies?: Record<string, boolean>;
}
export declare class LocalServicesService {
private services;
checkServiceHealth(service: ServiceDefinition): Promise<ServiceDefinition>;
private checkPM2Service;
private checkDockerService;
private formatUptime;
getAllServices(): Promise<ServiceDefinition[]>;
checkAllServicesHealth(): Promise<ServiceDefinition[]>;
getServicesByType(type: ServiceDefinition["type"]): ServiceDefinition[];
getServicesByProject(project: string): ServiceDefinition[];
restartService(serviceName: string): Promise<boolean>;
stopService(serviceName: string): Promise<boolean>;
startService(serviceName: string): Promise<boolean>;
getPortsInUse(): number[];
isPortAvailable(port: number): boolean;
getNextAvailablePort(preferredRange?: [number, number]): number;
}