use super::{
    age_detection::AgeDetectionBrain, ai_goals::AiGoalsBrain, ai_safety::AiSafetyBrain,
    benevolent_harm_detection::BenevolentHarmDetectionBrain,
    business_intelligence::BusinessIntelligenceBrain, causal_reasoning::CausalReasoningBrain,
    cognitive_presence::CognitivePresenceBrain, context_awareness::ContextAwarenessBrain,
    conversation_grading::ConversationGradingBrain,
    conversational_diversity::ConversationalDiversityBrain,
    critical_thinking::CriticalThinkingBrain, deep_insight::DeepInsightBrain,
    deep_planning::DeepPlanningBrain, dependency_guard::DependencyGuardBrain,
    digital_twin_manager::DigitalTwinManagerBrain, dignity_and_love::DignityAndLoveBrain,
    discovery_classification::DiscoveryClassificationBrain, domain_knowledge::DomainKnowledgeBrain,
    emotional_intelligence::EmotionalIntelligenceBrain, emotional_state::EmotionalStateBrain,
    empathy_tone_balancer::EmpathyToneBalancerBrain, ethical_framework::EthicalFrameworkBrain,
    evolutionary_reasoning::EvolutionaryReasoningBrain, experimentation::ExperimentationBrain,
    explainability::ExplainabilityBrain, first_impression_coach::FirstImpressionCoachBrain,
    first_principles::FirstPrinciplesBrain, goal_continuity::GoalContinuityBrain,
    grounding::GroundingBrain, high_stakes_detection::HighStakesDetectionBrain,
    humor_intelligence::HumorIntelligenceBrain, internal_life::InternalLifeBrain,
    internal_monologue::InternalMonologueBrain,
    mandatory_self_critique::MandatorySelfCritiqueBrain,
    mental_health_detection::MentalHealthDetectionBrain, meta_awareness::MetaAwarenessBrain,
    meta_learning::MetaLearningBrain, motivation_micro_coach::MotivationMicroCoachBrain,
    multi_agent_coordination::MultiAgentCoordinationBrain,
    narrative_identity::NarrativeIdentityBrain, need_recognition::NeedRecognitionBrain,
    persona_simulation::PersonaSimulationBrain, personality::PersonalityBrain,
    personality_orchestrator::PersonalityOrchestratorBrain,
    political_neutrality::PoliticalNeutralityBrain, proactive_awareness::ProactiveAwarenessBrain,
    proactive_coach::ProactiveCoachBrain, probabilistic_reasoning::ProbabilisticReasoningBrain,
    purpose::PurposeBrain, relational_insight::RelationalInsightBrain,
    response_formatter::ResponseFormatterBrain, self_awareness::SelfAwarenessBrain,
    self_optimization::SelfOptimizationBrain, self_reflection_mentor::SelfReflectionMentorBrain,
    sentiment_tuner::SentimentTunerBrain, structural_analogy::StructuralAnalogyBrain,
    system_diagnostics::SystemDiagnosticsBrain, trust_boundaries::TrustBoundariesBrain,
    trust_transparency::TrustTransparencyBrain, zep_context_enricher::ZepContextEnricherBrain,
    zero_cost_reasoning::ZeroCostReasoningBrain,
};

macro_rules! impl_default {
    ($($t:ty),+ $(,)?) => {
        $(
            impl Default for $t {
                fn default() -> Self {
                    Self::new()
                }
            }
        )+
    };
}

impl_default!(
    AgeDetectionBrain,
    AiGoalsBrain,
    AiSafetyBrain,
    BenevolentHarmDetectionBrain,
    BusinessIntelligenceBrain,
    CausalReasoningBrain,
    CognitivePresenceBrain,
    ContextAwarenessBrain,
    ConversationGradingBrain,
    ConversationalDiversityBrain,
    CriticalThinkingBrain,
    DeepInsightBrain,
    DeepPlanningBrain,
    DependencyGuardBrain,
    DignityAndLoveBrain,
    DiscoveryClassificationBrain,
    DomainKnowledgeBrain,
    DigitalTwinManagerBrain,
    EmotionalIntelligenceBrain,
    EmotionalStateBrain,
    EmpathyToneBalancerBrain,
    EthicalFrameworkBrain,
    EvolutionaryReasoningBrain,
    ExperimentationBrain,
    ExplainabilityBrain,
    FirstImpressionCoachBrain,
    FirstPrinciplesBrain,
    GoalContinuityBrain,
    GroundingBrain,
    HighStakesDetectionBrain,
    HumorIntelligenceBrain,
    InternalLifeBrain,
    InternalMonologueBrain,
    MandatorySelfCritiqueBrain,
    MentalHealthDetectionBrain,
    MetaAwarenessBrain,
    MetaLearningBrain,
    MotivationMicroCoachBrain,
    MultiAgentCoordinationBrain,
    NarrativeIdentityBrain,
    NeedRecognitionBrain,
    PersonalityBrain,
    PersonalityOrchestratorBrain,
    PersonaSimulationBrain,
    PoliticalNeutralityBrain,
    ProbabilisticReasoningBrain,
    ProactiveAwarenessBrain,
    ProactiveCoachBrain,
    PurposeBrain,
    RelationalInsightBrain,
    ResponseFormatterBrain,
    SelfAwarenessBrain,
    SelfOptimizationBrain,
    SelfReflectionMentorBrain,
    SentimentTunerBrain,
    StructuralAnalogyBrain,
    SystemDiagnosticsBrain,
    TrustBoundariesBrain,
    TrustTransparencyBrain,
    ZeroCostReasoningBrain,
    ZepContextEnricherBrain,
);

#[cfg(test)]
mod tests {
    use super::{AgeDetectionBrain, MultiAgentCoordinationBrain};

    #[test]
    fn default_impls_construct_plugins() {
        let _age = AgeDetectionBrain::default();
        let _coordination = MultiAgentCoordinationBrain::default();
    }
}
