vibe-coder-mcp
Version:
Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.
77 lines • 2.47 kB
TypeScript
import { AtomicTask } from '../types/task.js';
import { ProjectContext } from '../types/project-context.js';
export type AgentStatus = 'DONE' | 'HELP' | 'BLOCKED' | 'IN_PROGRESS' | 'FAILED';
export interface TaskPayload {
task: AtomicTask;
context: {
project_name: string;
epic_title: string;
codebase_context: string;
related_files: string[];
dependencies: string[];
};
instructions: {
implementation_guide: string;
acceptance_criteria: string[];
completion_signal: string;
timeout_minutes: number;
};
metadata: {
protocol_version: string;
task_id: string;
timestamp: string;
priority: number;
};
}
export interface AgentResponse {
status: AgentStatus;
task_id: string;
agent_id?: string;
message?: string;
progress_percentage?: number;
completion_details?: {
files_modified: string[];
tests_passed: boolean;
build_successful: boolean;
notes: string;
};
help_request?: {
issue_description: string;
attempted_solutions: string[];
specific_questions: string[];
};
blocker_details?: {
blocker_type: 'dependency' | 'resource' | 'technical' | 'clarification';
description: string;
suggested_resolution: string;
};
timestamp: string;
}
export interface ProtocolConfig {
version: string;
timeout_minutes: number;
max_retries: number;
enable_compression: boolean;
validate_responses: boolean;
}
export declare class SentinelProtocol {
private static readonly PROTOCOL_VERSION;
private static readonly TASK_START_MARKER;
private static readonly TASK_END_MARKER;
private static readonly STATUS_PREFIX;
private config;
constructor(config?: Partial<ProtocolConfig>);
formatTaskForAgent(task: AtomicTask, context: ProjectContext, epicTitle?: string): string;
parseAgentResponse(responseText: string, expectedTaskId?: string): AgentResponse;
validateResponse(response: AgentResponse): void;
private generateImplementationGuide;
private summarizeCodebaseContext;
private mapPriorityToNumber;
private parseStatus;
private parseCompletionDetails;
private parseHelpRequest;
private parseBlockerDetails;
getConfig(): ProtocolConfig;
updateConfig(updates: Partial<ProtocolConfig>): void;
}
//# sourceMappingURL=sentinel-protocol.d.ts.map