vibe-coder-mcp
Version:
Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.
127 lines • 3.76 kB
TypeScript
export type Intent = 'create_project' | 'list_projects' | 'open_project' | 'update_project' | 'create_task' | 'list_tasks' | 'run_task' | 'check_status' | 'decompose_task' | 'decompose_epic' | 'decompose_project' | 'search_files' | 'search_content' | 'refine_task' | 'assign_task' | 'get_help' | 'parse_prd' | 'parse_tasks' | 'import_artifact' | 'unrecognized_intent' | 'clarification_needed' | 'unknown';
export type ConfidenceLevel = 'very_low' | 'low' | 'medium' | 'high' | 'very_high';
export interface Entity {
type: string;
value: string;
confidence: number;
start?: number;
end?: number;
}
export interface RecognizedIntent {
intent: Intent;
confidence: number;
confidenceLevel: ConfidenceLevel;
entities: Entity[];
originalInput: string;
processedInput: string;
alternatives: {
intent: Intent;
confidence: number;
}[];
metadata: {
processingTime: number;
method: 'pattern' | 'llm' | 'hybrid';
modelUsed?: string;
timestamp: Date;
};
}
export interface IntentPattern {
id: string;
intent: Intent;
patterns: string[];
keywords: string[];
requiredEntities: string[];
optionalEntities: string[];
priority: number;
active: boolean;
examples: string[];
}
export interface ExtractedEntity {
type: string;
value: string;
normalizedValue: string;
confidence: number;
position: {
start: number;
end: number;
};
method: 'regex' | 'nlp' | 'llm';
}
export interface CommandProcessingResult {
success: boolean;
intent: RecognizedIntent;
toolParams: Record<string, unknown>;
validationErrors: string[];
suggestions: string[];
metadata: {
processingTime: number;
confidence: number;
requiresConfirmation: boolean;
ambiguousInput: boolean;
};
}
export interface NLResponse {
text: string;
type: 'success' | 'error' | 'warning' | 'info' | 'confirmation';
data?: Record<string, unknown>;
suggestions?: string[];
requiresConfirmation: boolean;
metadata: {
generatedAt: Date;
method: 'template' | 'llm' | 'hybrid';
confidence: number;
};
}
export interface IntentRecognitionConfig {
primaryMethod: 'pattern' | 'llm' | 'hybrid';
fallbackMethod: 'pattern' | 'llm' | 'none';
minConfidence: number;
useLlmForAmbiguous: boolean;
maxProcessingTime: number;
cacheResults: boolean;
cacheTTL: number;
learningEnabled: boolean;
customPatterns: IntentPattern[];
}
export interface NLProcessingStats {
totalRequests: number;
successfulRecognitions: number;
failedRecognitions: number;
averageConfidence: number;
averageProcessingTime: number;
intentDistribution: Record<Intent, number>;
methodUsage: {
pattern: number;
llm: number;
hybrid: number;
};
errorStats: {
lowConfidence: number;
timeout: number;
parseError: number;
validationError: number;
};
performance: {
p50ProcessingTime: number;
p95ProcessingTime: number;
p99ProcessingTime: number;
errorRate: number;
};
}
export interface ConversationContext {
sessionId: string;
currentProject?: string;
currentTask?: string;
intentHistory: RecognizedIntent[];
pendingEntities: Record<string, string>;
userPreferences: Record<string, unknown>;
state: 'active' | 'waiting_confirmation' | 'waiting_input' | 'completed';
lastInteractionAt: Date;
metadata: {
startedAt: Date;
totalInteractions: number;
averageConfidence: number;
primaryLanguage: string;
};
}
//# sourceMappingURL=nl.d.ts.map