
    i                     D    d Z ddlmZmZ e G d d             Z e       Zy)zU
Genesis V2 Cost Tracker
=======================
Tracks API usage costs per session.
    )	dataclassfieldc                       e Zd ZU dZdZeed<   dZeed<   dZe	ed<   dZ
e	ed<   d	Ze	ed
<   ddedefdZede	fd       Zede	fd       Zy)CostTrackerz!Track API costs across a session.r   total_input_tokenstotal_output_tokensg        
total_costgv!t>INPUT_PRICEgv!>OUTPUT_PRICEinput_tokensoutput_tokensc                     | xj                   |z  c_         | xj                  |z  c_        | xj                  || j                  z  || j                  z  z   z  c_        y N)r   r   r	   r
   r   )selfr   r   s      -/mnt/e/genesis-system/genesis_v2/core/cost.pyaddzCostTracker.add   sN    </  M1 L4+;+;;PTPaPa@abb    returnc                     | j                   S r   r	   r   s    r   session_costzCostTracker.session_cost       r   c                     | j                   S r   r   r   s    r   lifetime_costzCostTracker.lifetime_cost   r   r   N)r   r   )__name__
__module____qualname____doc__r   int__annotations__r   r	   floatr
   r   r   propertyr   r    r   r   r   r   
   s    +  J +K**L%*c c c
 e   u  r   r   N)r   dataclassesr   r   r   trackerr$   r   r   <module>r'      s1    )   4 -r   