UNPKG

vibe-coder-mcp

Version:

Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.

130 lines 4.62 kB
import { Job } from '../../../services/job-manager/index.js'; import { EventEmitter } from 'events'; export interface TaskJob extends Job { taskId?: string; projectId?: string; operationType: 'decomposition' | 'execution' | 'validation' | 'analysis' | 'codemap' | 'context_enrichment'; priority: 'low' | 'medium' | 'high' | 'critical'; estimatedDuration?: number; resourceRequirements?: { memoryMB: number; cpuWeight: number; diskSpaceMB?: number; }; dependencies?: string[]; metadata?: { sessionId?: string; userId?: string; batchId?: string; retryCount?: number; maxRetries?: number; }; } export interface JobMetrics { jobId: string; startTime: number; endTime?: number; duration?: number; resourceUsage: { peakMemoryMB: number; averageCpuUsage: number; diskUsageMB?: number; }; performanceScore: number; errorCount: number; retryCount: number; } export interface JobQueueConfig { maxConcurrentJobs: number; priorityWeights: Record<string, number>; retryPolicy: { maxRetries: number; backoffMultiplier: number; initialDelayMs: number; }; timeoutPolicy: { defaultTimeoutMs: number; operationTimeouts: Record<string, number>; }; resourceLimits: { maxMemoryMB: number; maxCpuWeight: number; maxDiskSpaceMB: number; }; } export type JobEventCallback = (job: TaskJob, metrics?: JobMetrics) => void; export type JobProgressCallback = (jobId: string, progress: number, message?: string) => void; export declare class JobManagerIntegrationService extends EventEmitter { private static instance; private taskJobs; private jobMetrics; private jobQueue; private runningJobs; private jobSubscriptions; private progressSubscriptions; private config; private userConfig; private processingInterval?; private initialized; private constructor(); private getConfig; private ensureInitialized; static getInstance(config?: Partial<JobQueueConfig>): JobManagerIntegrationService; createTaskJob(toolName: string, params: Record<string, unknown>, options: { taskId?: string; projectId?: string; operationType: TaskJob['operationType']; priority?: TaskJob['priority']; estimatedDuration?: number; resourceRequirements?: TaskJob['resourceRequirements']; dependencies?: string[]; metadata?: TaskJob['metadata']; }): Promise<string>; getTaskJob(jobId: string): TaskJob | null; getJobMetrics(jobId: string): JobMetrics | null; updateJobProgress(jobId: string, progress: number, message?: string, resourceUsage?: Partial<JobMetrics['resourceUsage']>): Promise<boolean>; completeJob(jobId: string, result: unknown, finalMetrics?: Partial<JobMetrics>): Promise<boolean>; failJob(jobId: string, error: Error, shouldRetry?: boolean): Promise<boolean>; cancelJob(jobId: string, reason?: string): Promise<boolean>; getQueueStatus(): { queueLength: number; runningJobs: number; totalJobs: number; jobsByPriority: Record<string, number>; jobsByOperation: Record<string, number>; averageWaitTime: number; }; getJobStatistics(): { totalJobs: number; completedJobs: number; failedJobs: number; runningJobs: number; queuedJobs: number; averageExecutionTime: number; averagePerformanceScore: number; resourceUtilization: { averageMemoryMB: number; averageCpuUsage: number; peakMemoryMB: number; }; operationStats: Record<string, { count: number; averageTime: number; successRate: number; }>; }; subscribeToJob(jobId: string, callback: JobEventCallback): () => void; subscribeToJobProgress(jobId: string, callback: JobProgressCallback): () => void; updateConfig(newConfig: Partial<JobQueueConfig>): void; cleanupOldJobs(maxAgeMs?: number): number; dispose(): void; private startJobProcessor; private processJobQueue; private areDependenciesSatisfied; private startJob; private handleJobTimeout; private calculatePerformanceScore; } export declare const jobManagerIntegration: JobManagerIntegrationService; export declare function getJobManagerIntegration(config?: Partial<JobQueueConfig>): JobManagerIntegrationService; //# sourceMappingURL=job-manager-integration.d.ts.map