"""
Core data models for Openfund Agent
"""

from .market_data import MarketData
from .trading import Trade, TradingSignal, Position, OrderAction, ExecutionResult
from .performance import TradeMetrics, PeriodMetrics, PerformanceReport
from .decision import (
    PerformanceAnalysis,
    Issue,
    ImprovementPlan,
    CodeModification,
    ReviewRequest,
)
from .evolution import (
    EvolutionConfig,
    OptimizationGoal,
    EvolutionState,
    IterationResult,
    EvolutionResult,
    FinalReport,
)

__all__ = [
    # Market Data
    "MarketData",
    # Trading
    "Trade",
    "TradingSignal",
    "Position",
    "OrderAction",
    "ExecutionResult",
    # Performance
    "TradeMetrics",
    "PeriodMetrics",
    "PerformanceReport",
    # Decision
    "PerformanceAnalysis",
    "Issue",
    "ImprovementPlan",
    "CodeModification",
    "ReviewRequest",
    # Evolution
    "EvolutionConfig",
    "OptimizationGoal",
    "EvolutionState",
    "IterationResult",
    "EvolutionResult",
    "FinalReport",
]
