UNPKG

claude-buddy

Version:

Your friendly AI development companion for Claude Code - supercharge Claude Code with intelligent workflows and safety features

176 lines 4.87 kB
export type PersonaCategory = 'technical' | 'process' | 'knowledge'; export type ActivationReason = 'manual' | 'automatic'; export type CollaborationStrategy = 'single_persona' | 'multi_persona' | 'comprehensive' | 'isolated' | 'collaborative' | 'manual_selection' | 'focus_driven'; export interface AutoActivationConfig { keywords: string[]; file_patterns: string[]; confidence_threshold: number; } export interface PersonaConfig { category: PersonaCategory; description: string; specializations: string[]; auto_activation: AutoActivationConfig; compatible_with: string[]; priority_hierarchy: string[]; } export interface ActivePersona { name: string; confidence: number; activationReason: ActivationReason; reasoning?: string; category: PersonaCategory; specializations: string[]; } export interface CollaborationPattern { personas: string[]; description: string; synergy: 'positive' | 'neutral' | 'negative'; leadPersona: string; } export interface ValidationStep { type: 'security' | 'quality' | 'performance'; personas: string[]; description: string; } export interface CollaborationPlan { strategy: CollaborationStrategy; leadPersona: string | null; consultingPersonas?: string[]; collaborationPatterns?: CollaborationPattern[]; validationChain?: ValidationStep[]; } export interface DetectionResults { recommendations: PersonaRecommendation[]; sessionContext: unknown; analysisDetails: unknown; } export interface PersonaRecommendation { persona: string; confidence: number; reasoning: string; breakdown: { keyword_matching: number; context_analysis: number; file_patterns: number; user_history: number; }; } export interface PersonaActivationResult { activePersonas: ActivePersona[]; reasoning: string; detectionResults?: DetectionResults | null; manualMode?: boolean; automaticMode?: boolean; fallbackMode?: boolean; collaboration?: CollaborationPlan; } export interface SessionMemory { interactions: PersonaInteraction[]; preferences: Record<string, unknown>; successfulPatterns: SuccessfulPattern[]; feedbackHistory: FeedbackRecord[]; activationHistory: ActivationHistory[]; lastAnalysis?: Date; } export interface PersonaInteraction { input: string; personas: string[]; activationType: ActivationReason; confidence: number[]; context: Record<string, unknown>; timestamp?: string; } export interface PersonaFeedback { personas: string[]; rating: number; comments?: string; effectiveness?: number; timestamp?: string; context?: Record<string, unknown>; } export interface SuccessfulPattern { personas: string[]; context: unknown; timestamp: number; } export interface FeedbackRecord { type: 'feedback'; personas: string[]; rating: number; comments?: string; context: unknown; timestamp: number; } export interface ActivationHistory { timestamp: number; personas: string[]; activationType: ActivationReason; confidence: number[]; input: string; } export interface SystemAnalytics { personaManager: PersonaManagerAnalytics; learning: LearningAnalytics; systemHealth: SystemHealth; } export interface PersonaManagerAnalytics { totalInteractions: number; personaUsage: Record<string, { count: number; totalConfidence: number; }>; collaborationPatterns: Record<string, number>; averageConfidence: number; successfulPatterns: number; } export interface LearningAnalytics { sessionStats: { interactions: number; feedback: number; patterns: number; sessionDuration: number; }; persistentStats: { successfulPatterns: number; failedPatterns: number; totalLearningEvents: number; }; learningEffectiveness: number; topPatterns: { pattern: string; usage: number; rating: number; personas: string[]; }[]; recommendations: { type: string; message: string; priority: string; }[]; } export interface SystemHealth { initialized: boolean; availablePersonas: number; activePersonas: number; lastUpdate?: string; } export interface GeneratedPrompt { systemPrompt: string; personaContext: PersonaContext | null; collaboration?: CollaborationPlan | null; learningIntegration?: unknown; flagIntegration?: unknown; userInput?: string; context?: unknown; } export interface PersonaContext { active: ActivePersonaInfo[]; collaboration: CollaborationPlan; } export interface ActivePersonaInfo { name: string; confidence: number; role: 'lead' | 'supporting'; } //# sourceMappingURL=personas.d.ts.map