"""
Genesis V2 Cost Tracker
=======================
Tracks API usage costs per session.
"""

from dataclasses import dataclass, field


@dataclass
class CostTracker:
    """Track API costs across a session."""
    
    total_input_tokens: int = 0
    total_output_tokens: int = 0
    total_cost: float = 0.0
    
    # Pricing (Gemini Flash per MTok)
    INPUT_PRICE: float = 0.075 / 1_000_000
    OUTPUT_PRICE: float = 0.30 / 1_000_000
    
    def add(self, input_tokens: int = 0, output_tokens: int = 0):
        self.total_input_tokens += input_tokens
        self.total_output_tokens += output_tokens
        self.total_cost += (input_tokens * self.INPUT_PRICE) + (output_tokens * self.OUTPUT_PRICE)
    
    @property
    def session_cost(self) -> float:
        return self.total_cost
    
    @property
    def lifetime_cost(self) -> float:
        return self.total_cost


# Global tracker
tracker = CostTracker()
