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.

168 lines 4.85 kB
export type AgentStatus = 'idle' | 'busy' | 'error' | 'offline' | 'initializing'; export type AgentCapability = 'code_generation' | 'testing' | 'documentation' | 'research' | 'deployment' | 'review' | 'debugging' | 'optimization'; export interface Agent { id: string; name: string; description: string; status: AgentStatus; capabilities: AgentCapability[]; currentTask?: string; taskQueue: string[]; performance: { tasksCompleted: number; averageCompletionTime: number; successRate: number; lastActiveAt: Date; }; config: { maxConcurrentTasks: number; preferredTaskTypes: string[]; workingHours?: { start: string; end: string; timezone: string; }; }; communication: { protocol: 'sentinel' | 'direct' | 'webhook'; endpoint?: string; apiKey?: string; timeout: number; }; metadata: { createdAt: Date; lastUpdatedAt: Date; version: string; tags: string[]; }; } export type MessageType = 'task_assignment' | 'task_update' | 'task_completion' | 'task_error' | 'status_request' | 'status_response' | 'heartbeat' | 'shutdown' | 'configuration_update'; export interface AgentMessage { id: string; type: MessageType; from: string; to: string; payload: Record<string, unknown>; priority: 'low' | 'normal' | 'high' | 'urgent'; timestamp: Date; expiresAt?: Date; requiresAck: boolean; correlationId?: string; retryCount: number; maxRetries: number; } export interface TaskAssignment { id: string; taskId: string; agentId: string; assignedAt: Date; expectedCompletionAt: Date; priority: 'low' | 'normal' | 'high' | 'urgent'; context: { projectId: string; epicId: string; dependencies: string[]; resources: string[]; constraints: string[]; }; status: 'pending' | 'accepted' | 'in_progress' | 'completed' | 'failed' | 'cancelled'; progress: { percentage: number; currentStep: string; estimatedTimeRemaining: number; lastUpdateAt: Date; }; results?: { success: boolean; output: string; artifacts: string[]; metrics: Record<string, number>; logs: string[]; errors: string[]; }; } export interface CoordinationStrategy { name: string; description: string; loadBalancing: 'round_robin' | 'least_loaded' | 'capability_based' | 'priority_based'; distributionRules: { maxTasksPerAgent: number; preferredAgentTypes: Record<string, AgentCapability[]>; fallbackStrategy: 'queue' | 'reassign' | 'fail'; }; conflictResolution: { strategy: 'queue' | 'priority' | 'merge' | 'split'; timeout: number; escalation: boolean; }; healthMonitoring: { heartbeatInterval: number; timeoutThreshold: number; retryAttempts: number; failoverEnabled: boolean; }; } export interface SentinelProtocolConfig { version: string; communication: { port: number; host: string; secure: boolean; timeout: number; retryInterval: number; maxRetries: number; }; messaging: { maxMessageSize: number; compressionEnabled: boolean; encryptionEnabled: boolean; batchingEnabled: boolean; batchSize: number; }; registration: { autoRegister: boolean; registrationTimeout: number; capabilityValidation: boolean; authenticationRequired: boolean; }; monitoring: { metricsEnabled: boolean; loggingLevel: 'debug' | 'info' | 'warn' | 'error'; performanceTracking: boolean; alertingEnabled: boolean; }; } export interface OrchestrationResult { sessionId: string; assignments: TaskAssignment[]; status: 'pending' | 'in_progress' | 'completed' | 'failed' | 'cancelled'; progress: { totalTasks: number; completedTasks: number; failedTasks: number; percentage: number; }; metrics: { startTime: Date; endTime?: Date; totalDuration?: number; averageTaskTime: number; throughput: number; errorRate: number; }; issues: { type: 'agent_unavailable' | 'task_failed' | 'timeout' | 'dependency_error'; severity: 'low' | 'medium' | 'high' | 'critical'; description: string; affectedTasks: string[]; resolution?: string; }[]; results?: { success: boolean; completedTasks: string[]; failedTasks: string[]; artifacts: string[]; logs: string[]; }; } //# sourceMappingURL=agent.d.ts.map