UNPKG

claude-buddy

Version:

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

683 lines (352 loc) 16.7 kB
[**claude-buddy v1.0.0**](../../README.md) *** [claude-buddy](../../modules.md) / [PersonaSystem](../README.md) / PersonaLearningEngine # Class: PersonaLearningEngine Defined in: [personas/learning-engine.ts:149](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L149) ## Constructors ### Constructor > **new PersonaLearningEngine**(`dataDir?`): `PersonaLearningEngine` Defined in: [personas/learning-engine.ts:161](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L161) #### Parameters ##### dataDir? `string` #### Returns `PersonaLearningEngine` ## Properties ### dataDir > `private` **dataDir**: `string` Defined in: [personas/learning-engine.ts:150](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L150) *** ### memoryFile > `private` **memoryFile**: `string` Defined in: [personas/learning-engine.ts:151](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L151) *** ### analyticsFile > `private` **analyticsFile**: `string` Defined in: [personas/learning-engine.ts:152](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L152) *** ### sessionMemory > `private` **sessionMemory**: `SessionMemory` Defined in: [personas/learning-engine.ts:154](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L154) *** ### persistentMemory > `private` **persistentMemory**: `PersistentMemory` Defined in: [personas/learning-engine.ts:155](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L155) *** ### config > `private` **config**: `LearningConfig` Defined in: [personas/learning-engine.ts:156](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L156) *** ### sessionId > `private` **sessionId**: `string` Defined in: [personas/learning-engine.ts:158](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L158) *** ### sessionStartTime > `private` **sessionStartTime**: `number` Defined in: [personas/learning-engine.ts:159](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L159) ## Methods ### Learning Engine #### recordActivation() > **recordActivation**(`activationData`): `void` Defined in: [personas/learning-engine.ts:275](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L275) Record persona activation and context for learning improvement. This method captures activation patterns, user context, and persona selections to improve future recommendations through machine learning. ##### Parameters ###### activationData [`ActivationData`](../interfaces/ActivationData.md) Complete activation context and results ##### Returns `void` ##### Example ```typescript learningEngine.recordActivation({ userInput: "Review security vulnerabilities", personas: ["security", "backend"], activationType: "automatic", confidence: [0.85, 0.72], projectType: "web-app", filePatterns: ["*.ts", "*.js"] }); ``` *** #### getAnalytics() > **getAnalytics**(): [`LearningAnalytics`](../../types/interfaces/LearningAnalytics.md) Defined in: [personas/learning-engine.ts:717](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L717) Get comprehensive learning analytics and performance insights. Provides detailed metrics about learning system performance, including session statistics, persistent learning data, effectiveness scores, top performing patterns, and system optimization recommendations. ##### Returns [`LearningAnalytics`](../../types/interfaces/LearningAnalytics.md) Complete learning analytics with performance metrics ##### Example ```typescript const analytics = learningEngine.getAnalytics(); console.log('Session interactions:', analytics.sessionStats.interactions); console.log('Learning effectiveness:', analytics.learningEffectiveness); console.log('Top patterns:', analytics.topPatterns.slice(0, 3)); // Act on recommendations analytics.recommendations.forEach(rec => { if (rec.priority === 'high') { console.log('Priority recommendation:', rec.message); } }); ``` ### Other #### initialize() > **initialize**(): `Promise`\<`boolean`\> Defined in: [personas/learning-engine.ts:199](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L199) Initialize learning engine and load persistent data ##### Returns `Promise`\<`boolean`\> *** #### loadPersistentMemory() > `private` **loadPersistentMemory**(): `Promise`\<`void`\> Defined in: [personas/learning-engine.ts:222](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L222) Load persistent memory from storage ##### Returns `Promise`\<`void`\> *** #### savePersistentMemory() > `private` **savePersistentMemory**(): `Promise`\<`void`\> Defined in: [personas/learning-engine.ts:238](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L238) Save persistent memory to storage ##### Returns `Promise`\<`void`\> *** #### recordFeedback() > **recordFeedback**(`feedbackData`): `void` Defined in: [personas/learning-engine.ts:298](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L298) Record user feedback for learning improvement ##### Parameters ###### feedbackData [`PersonaFeedback`](../../types/interfaces/PersonaFeedback.md) ##### Returns `void` *** #### captureContext() > `private` **captureContext**(`activationData`): `CapturedContext` Defined in: [personas/learning-engine.ts:322](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L322) Capture relevant context for learning ##### Parameters ###### activationData [`ActivationData`](../interfaces/ActivationData.md) ##### Returns `CapturedContext` *** #### normalizeFilePatterns() > `private` **normalizeFilePatterns**(`filePatterns?`): `Record`\<`string`, `number`\> Defined in: [personas/learning-engine.ts:337](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L337) Normalize file patterns for consistent processing ##### Parameters ###### filePatterns? `string`[] ##### Returns `Record`\<`string`, `number`\> *** #### updateActivationPatterns() > `private` **updateActivationPatterns**(`interaction`): `void` Defined in: [personas/learning-engine.ts:362](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L362) Update activation patterns based on successful interactions ##### Parameters ###### interaction `InteractionRecord` ##### Returns `void` *** #### learnFromFeedback() > `private` **learnFromFeedback**(`feedback`): `void` Defined in: [personas/learning-engine.ts:389](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L389) Learn from user feedback to improve future activations ##### Parameters ###### feedback `FeedbackRecord` ##### Returns `void` *** #### findRelatedInteractions() > `private` **findRelatedInteractions**(`feedback`): `InteractionRecord`[] Defined in: [personas/learning-engine.ts:416](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L416) Find interactions related to feedback ##### Parameters ###### feedback `FeedbackRecord` ##### Returns `InteractionRecord`[] *** #### reinforceSuccessfulPattern() > `private` **reinforceSuccessfulPattern**(`patternKey`, `interaction`, `feedback`): `void` Defined in: [personas/learning-engine.ts:429](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L429) Reinforce successful activation patterns ##### Parameters ###### patternKey `string` ###### interaction `InteractionRecord` ###### feedback `FeedbackRecord` ##### Returns `void` *** #### recordFailedPattern() > `private` **recordFailedPattern**(`patternKey`, `interaction`, `feedback`): `void` Defined in: [personas/learning-engine.ts:464](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L464) Record failed activation patterns to avoid in future ##### Parameters ###### patternKey `string` ###### interaction `InteractionRecord` ###### feedback `FeedbackRecord` ##### Returns `void` *** #### generatePatternKey() > `private` **generatePatternKey**(`interaction`): `string` Defined in: [personas/learning-engine.ts:485](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L485) Generate pattern key for learning ##### Parameters ###### interaction `InteractionRecord` ##### Returns `string` *** #### categorizeFilePatterns() > `private` **categorizeFilePatterns**(`filePatterns?`): `string` Defined in: [personas/learning-engine.ts:500](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L500) Categorize file patterns for pattern matching ##### Parameters ###### filePatterns? `Record`\<`string`, `number`\> ##### Returns `string` *** #### getActivationRecommendations() > **getActivationRecommendations**(`context`): [`LearningRecommendations`](../../types/interfaces/LearningRecommendations.md) Defined in: [personas/learning-engine.ts:516](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L516) Get activation recommendations based on learned patterns ##### Parameters ###### context `Partial`\<[`InputContext`](../../types/interfaces/InputContext.md)\> ##### Returns [`LearningRecommendations`](../../types/interfaces/LearningRecommendations.md) *** #### findMatchingPatterns() > `private` **findMatchingPatterns**(`context`): `SuccessfulPattern`[] Defined in: [personas/learning-engine.ts:557](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L557) Find successful patterns matching current context ##### Parameters ###### context `Partial`\<[`InputContext`](../../types/interfaces/InputContext.md)\> ##### Returns `SuccessfulPattern`[] *** #### findAntiPatterns() > `private` **findAntiPatterns**(`context`): `FailedPattern`[] Defined in: [personas/learning-engine.ts:566](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L566) Find anti-patterns (failed patterns) to avoid ##### Parameters ###### context `Partial`\<[`InputContext`](../../types/interfaces/InputContext.md)\> ##### Returns `FailedPattern`[] *** #### contextMatches() > `private` **contextMatches**(`patternContext`, `currentContext`): `boolean` Defined in: [personas/learning-engine.ts:575](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L575) Check if contexts match for pattern recognition ##### Parameters ###### patternContext `CapturedContext` ###### currentContext `Partial`\<[`InputContext`](../../types/interfaces/InputContext.md)\> ##### Returns `boolean` *** #### calculateFilePatternSimilarity() > `private` **calculateFilePatternSimilarity**(`pattern1?`, `pattern2?`): `number` Defined in: [personas/learning-engine.ts:593](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L593) Calculate similarity between file patterns ##### Parameters ###### pattern1? `Record`\<`string`, `number`\> ###### pattern2? `Record`\<`string`, `number`\> ##### Returns `number` *** #### suggestAdaptations() > `private` **suggestAdaptations**(`context`, `bestPattern`): [`LearningAdaptation`](../../types/interfaces/LearningAdaptation.md)[] Defined in: [personas/learning-engine.ts:612](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L612) Suggest adaptations based on learned patterns and current context ##### Parameters ###### context `Partial`\<[`InputContext`](../../types/interfaces/InputContext.md)\> ###### bestPattern `SuccessfulPattern` ##### Returns [`LearningAdaptation`](../../types/interfaces/LearningAdaptation.md)[] *** #### cleanExpiredPatterns() > `private` **cleanExpiredPatterns**(): `void` Defined in: [personas/learning-engine.ts:648](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L648) Clean expired patterns from memory ##### Returns `void` *** #### updatePatternSuccessRates() > `private` **updatePatternSuccessRates**(`feedback`): `void` Defined in: [personas/learning-engine.ts:663](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L663) Update pattern success rates based on feedback ##### Parameters ###### feedback `FeedbackRecord` ##### Returns `void` *** #### sanitizeUserInput() > `private` **sanitizeUserInput**(`userInput`): `string` Defined in: [personas/learning-engine.ts:671](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L671) Sanitize user input for safe storage ##### Parameters ###### userInput `string` ##### Returns `string` *** #### generateSessionId() > `private` **generateSessionId**(): `string` Defined in: [personas/learning-engine.ts:685](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L685) Generate unique session ID ##### Returns `string` *** #### calculateLearningEffectiveness() > `private` **calculateLearningEffectiveness**(): `number` Defined in: [personas/learning-engine.ts:739](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L739) Calculate learning effectiveness metrics ##### Returns `number` *** #### getTopPatterns() > `private` **getTopPatterns**(): `TopPattern`[] Defined in: [personas/learning-engine.ts:753](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L753) Get top performing patterns ##### Returns `TopPattern`[] *** #### getSystemRecommendations() > `private` **getSystemRecommendations**(): `SystemRecommendation`[] Defined in: [personas/learning-engine.ts:768](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L768) Get system recommendations for improvement ##### Returns `SystemRecommendation`[] *** #### endSession() > **endSession**(): `Promise`\<`void`\> Defined in: [personas/learning-engine.ts:797](https://github.com/gsetsero/assistant-integration/blob/911ddf7680199ad668404c191ed66335473fdc65/claude-buddy/src/personas/learning-engine.ts#L797) End session and save learning data ##### Returns `Promise`\<`void`\>