thoughtmcp
Version:
AI that thinks more like humans do - MCP server with human-like cognitive architecture for enhanced reasoning, memory, and self-monitoring
128 lines • 4.18 kB
TypeScript
/**
* Emotional Processing System Implementation
*
* Implements emotional processing capabilities including:
* - Emotional content assessment
* - Emotional state tracking and management
* - Somatic marker system for decision biasing
* - Emotional modulation of reasoning processes
* - Affective influence on cognitive processing
*/
import { ComponentStatus, IEmotionalProcessor, SomaticMarker } from "../interfaces/cognitive.js";
import { EmotionalState, ReasoningStep } from "../types/core.js";
export interface EmotionalAssessment {
valence: number;
arousal: number;
dominance: number;
specific_emotions: Map<string, number>;
confidence: number;
emotional_keywords: string[];
}
export interface EmotionalContext {
current_state: EmotionalState;
previous_states: EmotionalState[];
emotional_trajectory: EmotionalTrajectory;
contextual_factors: Map<string, number>;
}
export interface EmotionalTrajectory {
valence_trend: number;
arousal_trend: number;
stability: number;
duration_ms: number;
}
export interface DecisionOption {
id: string;
content: unknown;
logical_score: number;
context: Record<string, unknown>;
}
export interface EmotionalMemory {
pattern: string;
emotional_outcome: EmotionalState;
decision_quality: number;
frequency: number;
last_accessed: number;
confidence: number;
}
/**
* EmotionalProcessor implements emotional processing and somatic marker systems
* Provides emotional assessment, state tracking, and decision modulation
*/
export declare class EmotionalProcessor implements IEmotionalProcessor {
private current_emotional_state;
private emotional_history;
private somatic_memory;
private emotional_lexicon;
private decay_rate;
private history_size;
private modulation_strength;
private first_state_timestamp;
private status;
constructor();
/**
* Initialize the emotional processor with configuration
*/
initialize(config: Record<string, unknown>): Promise<void>;
/**
* Main processing method - assess emotional content and update state
*/
process(input: string): Promise<EmotionalState>;
/**
* Assess emotional content of input text
* Analyzes text for emotional indicators and computes emotional dimensions
*/
assessEmotion(input: string): EmotionalState;
/**
* Apply somatic markers to decision options
* Provides "gut feeling" biases based on past emotional experiences
*/
applySomaticMarkers(options: unknown[]): SomaticMarker[];
/**
* Modulate reasoning processes based on emotional context
* Applies emotional biases to reasoning steps
*/
modulateReasoning(reasoning: ReasoningStep[], emotion: EmotionalState): ReasoningStep[];
/**
* Update current emotional state
* Integrates new emotional information with current state
*/
updateEmotionalState(newState: Partial<EmotionalState>): void;
/**
* Reset processor state
*/
reset(): void;
/**
* Get current component status
*/
getStatus(): ComponentStatus;
/**
* Get current emotional state
*/
getCurrentEmotionalState(): EmotionalState;
/**
* Get emotional trajectory over time
*/
getEmotionalTrajectory(): EmotionalTrajectory;
private initializeEmotionalLexicon;
private initializeSomaticSystem;
private tokenizeForEmotion;
private getEmotionalInfo;
private computeContextualModifiers;
private clampEmotion;
private extractDecisionPattern;
private retrieveEmotionalMemory;
private computeEmotionalValue;
private computeStateModulation;
private computeEmotionalBias;
private integrateEmotionalDimension;
private integrateSpecificEmotions;
private applyEmotionalDecay;
private computeTrend;
private computeStability;
/**
* Store emotional outcome for future somatic marker use
*/
storeEmotionalOutcome(decision_pattern: string, outcome: EmotionalState, quality: number): void;
private integrateEmotionalOutcome;
}
//# sourceMappingURL=EmotionalProcessor.d.ts.map