vibe-coder-mcp
Version:
Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.
136 lines • 4 kB
TypeScript
import { TagCollection, BaseTag, TagCategory, TagSource } from '../types/metadata-types.js';
import { AtomicTask } from '../types/task.js';
import { OpenRouterConfig } from '../../../types/workflow.js';
export interface TagSuggestion {
tag: BaseTag;
confidence: number;
reasoning: string;
source: 'ai' | 'pattern' | 'similarity' | 'template';
}
export interface TagValidation {
isValid: boolean;
issues: TagValidationIssue[];
suggestions: string[];
}
export interface TagValidationIssue {
type: 'duplicate' | 'invalid_category' | 'naming_convention' | 'hierarchy_conflict' | 'deprecated';
description: string;
severity: 'error' | 'warning' | 'info';
}
export interface TagAnalytics {
popular: TagUsage[];
trends: TagTrend[];
distribution: TagDistribution[];
relationships: TagRelationship[];
orphaned: string[];
period: {
start: Date;
end: Date;
};
}
export interface TagUsage {
tag: string;
count: number;
percentage: number;
category: TagCategory;
trend: 'increasing' | 'stable' | 'decreasing';
}
export interface TagTrend {
tag: string;
data: {
date: Date;
count: number;
}[];
direction: 'up' | 'down' | 'stable';
strength: number;
}
export interface TagDistribution {
category: TagCategory;
count: number;
percentage: number;
averageUsage: number;
}
export interface TagRelationship {
tag: string;
related: {
tag: string;
strength: number;
frequency: number;
}[];
type: 'often_together' | 'mutually_exclusive' | 'hierarchical' | 'contextual';
}
export interface TagSearchFilters {
query?: string;
categories?: TagCategory[];
sources?: TagSource[];
minConfidence?: number;
includeDeprecated?: boolean;
createdAfter?: Date;
createdBefore?: Date;
}
export declare class TagManagementService {
private static instance;
private config;
private tagCache;
private tagHierarchy;
private tagPatterns;
private constructor();
static getInstance(config: OpenRouterConfig): TagManagementService;
private initializeTagPatterns;
createTag(value: string, category: TagCategory, options?: {
source?: TagSource;
confidence?: number;
parentId?: string;
metadata?: Record<string, unknown>;
}): Promise<BaseTag>;
suggestTags(description: string, task: AtomicTask): Promise<{
success: boolean;
tags?: TagCollection;
source: string;
confidence?: number;
}>;
suggestTags(content: {
title: string;
description: string;
type?: string;
existingTags?: string[];
}, options?: {
maxSuggestions?: number;
categories?: TagCategory[];
useAI?: boolean;
}): Promise<TagSuggestion[]>;
private suggestTagsInternal;
validateTag(tag: BaseTag): Promise<TagValidation>;
enhanceTagCollection(content: {
title: string;
description: string;
type?: string;
}, existingTags?: string[]): Promise<TagCollection>;
getTagAnalytics(filters?: {
entityType?: 'task' | 'epic' | 'project';
projectId?: string;
dateRange?: {
start: Date;
end: Date;
};
}): Promise<TagAnalytics>;
searchTags(filters: TagSearchFilters): Promise<BaseTag[]>;
private generateTagId;
private getPatternBasedSuggestions;
private getAIBasedSuggestions;
private getSimilarityBasedSuggestions;
private extractKeywords;
private categorizeTag;
private createOrGetTag;
private addTagToCollection;
private deduplicateSuggestions;
private filterSuggestionsByCategory;
private updateTagHierarchy;
private getPopularTags;
private getTagTrends;
private getTagDistribution;
private getTagRelationships;
private getOrphanedTags;
cleanup(): Promise<void>;
}
//# sourceMappingURL=tag-management-service.d.ts.map