vibe-coder-mcp
Version:
Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.
132 lines • 4.51 kB
TypeScript
import { BaseMetadata, TaskMetadata, EpicMetadata, ProjectMetadata, MetadataChange, MetadataValue, EntityLifecycle } from '../types/metadata-types.js';
import { AtomicTask, Epic, Project } from '../types/task.js';
import { OpenRouterConfig } from '../../../types/workflow.js';
export interface MetadataEnrichmentOptions {
useAI?: boolean;
analyzeComplexity?: boolean;
estimatePerformance?: boolean;
assessQuality?: boolean;
enhanceTags?: boolean;
updateExisting?: boolean;
}
export interface MetadataValidationResult {
isValid: boolean;
errors: MetadataValidationError[];
warnings: MetadataValidationWarning[];
suggestions: MetadataImprovement[];
}
export interface MetadataValidationError {
field: string;
message: string;
severity: 'error' | 'critical';
suggestedFix?: string;
}
export interface MetadataValidationWarning {
field: string;
message: string;
impact: 'low' | 'medium' | 'high';
}
export interface MetadataImprovement {
field: string;
description: string;
suggestedValue?: MetadataValue;
benefit: string;
}
export interface MetadataSearchFilters {
entityType?: 'task' | 'epic' | 'project';
entityIds?: string[];
lifecycles?: EntityLifecycle[];
createdBy?: string[];
dateRange?: {
start: Date;
end: Date;
};
attributes?: Record<string, MetadataValue>;
minVersion?: number;
tags?: string[];
}
export interface MetadataAnalytics {
totalEntities: number;
completeness: {
average: number;
byEntityType: Record<string, number>;
byLifecycle: Record<EntityLifecycle, number>;
};
changeFrequency: {
daily: number;
weekly: number;
monthly: number;
};
activeUsers: {
user: string;
changes: number;
percentage: number;
}[];
commonAttributes: {
attribute: string;
usage: number;
percentage: number;
}[];
quality: {
average: number;
distribution: Record<string, number>;
trends: {
improving: number;
stable: number;
declining: number;
};
};
}
export declare class MetadataService {
private static instance;
private config;
private tagService;
private metadataCache;
private changeHistory;
private constructor();
static getInstance(config: OpenRouterConfig): MetadataService;
createTaskMetadata(task: AtomicTask, options?: MetadataEnrichmentOptions): Promise<TaskMetadata>;
createEpicMetadata(epic: Epic, options?: MetadataEnrichmentOptions): Promise<EpicMetadata>;
createProjectMetadata(project: Project, options?: MetadataEnrichmentOptions): Promise<ProjectMetadata>;
updateMetadata(entityId: string, updates: Partial<BaseMetadata>, updatedBy: string, reason?: string): Promise<BaseMetadata>;
validateMetadata(metadata: BaseMetadata): Promise<MetadataValidationResult>;
getMetadataAnalytics(filters?: MetadataSearchFilters): Promise<MetadataAnalytics>;
searchMetadata(filters: MetadataSearchFilters): Promise<BaseMetadata[]>;
getChangeHistory(entityId: string): MetadataChange[];
private createBaseMetadata;
private createTagCollection;
private analyzeComplexity;
private estimatePerformance;
private assessQuality;
private createCollaborationMetadata;
private createIntegrationMetadata;
private recordChange;
private calculateTechnicalComplexity;
private calculateBusinessComplexity;
private calculateIntegrationComplexity;
private identifyComplexityFactors;
private calculateEfficiency;
private calculateResourceUtilization;
private calculateScalability;
private createQualityGates;
private applyFilters;
private calculateAverageCompleteness;
private calculateCompletenessByType;
private calculateCompletenessByLifecycle;
private calculateChangeFrequency;
private calculateActiveUsers;
private calculateCommonAttributes;
private calculateQualityMetrics;
private enrichTaskMetadataWithAI;
private enrichEpicMetadataWithAI;
private enrichProjectMetadataWithAI;
private createScopeMetadata;
private createProgressMetadata;
private createResourceMetadata;
private createProjectClassification;
private createBusinessMetadata;
private createTechnicalMetadata;
private createGovernanceMetadata;
cleanup(): Promise<void>;
}
//# sourceMappingURL=metadata-service.d.ts.map