/** * [WHO]: SoulManager * [FROM]: Depends on ./config.js, ./store.js, ./evolution.js, ./injection.js * [TO]: Consumed by packages/soul-core/src/index.ts * [HERE]: packages/soul-core/src/manager.ts - */ import type { SoulProfile, SoulMemory, SoulEvolution, InteractionContext, SoulOptions } from "./types.js"; /** * Soul Manager - Main API for Soul engine */ export declare class SoulManager { private store; private evolution; private config; private profile; private memory; constructor(options?: SoulOptions); /** * Initialize Soul - load or create profile */ initialize(): Promise; /** * Get current profile */ getProfile(): SoulProfile; /** * Get current memory */ getMemory(): SoulMemory; /** * Generate Soul injection for system prompt */ generateInjection(context: InteractionContext): Promise; /** * Record interaction and trigger evolution if needed */ recordInteraction(context: InteractionContext, outcome: "success" | "failure", approach: string): Promise; /** * Update expertise areas */ updateExpertise(domain: string, tags: string[], success: boolean): Promise; /** * Get relevant experiences for context */ getRelevantExperiences(context: InteractionContext): { successes: number; failures: number; patterns: string[]; }; /** * Manually trigger evolution (for testing or manual intervention) */ forceEvolution(reasoning: string): Promise; /** * Get Soul stats for display */ getStats(): { personality: import("./types.js").PersonalityVector; stats: { totalInteractions: number; successRate: number; avgQuality: number; lastUpdate: Date; }; expertise: import("./types.js").ExpertiseArea[]; memoryCounts: { successes: number; failures: number; patterns: number; decisions: number; }; }; /** * Create default profile */ private createDefaultProfile; /** * Update emotional state based on outcome */ private updateEmotionalState; /** * Update user relationship */ private updateUserRelationship; /** * Categorize context for memory */ private categorizeContext; /** * Check and trigger evolution */ private checkEvolutionTriggers; /** * Trigger evolution */ private triggerEvolution; /** * Generate evolution reasoning */ private generateEvolutionReasoning; }