
    j              	       V   U d dl Z d dlZd dlZd dlmZ ddlmZ dZ eej	        
                    ej	        
                    ej	        
                    e                                        dz  Zdaedz  ed<   defd	Zd
edefdZdedededz  fdZdefdZdefdZdefdZdS )    N)Path   )
UsageEntryz[https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.jsonzpricing_cache.json_pricingreturnc                  H    t           t           S t                      a t           S N)r   _load_pricing     eC:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\src/analyzer/cost.pyget_pricingr      s     HOr   entryc                    | j         | j         S t                      }t          | j        |          }|dS ||         }|                    dd          }|                    dd          }|                    d|dz            }|                    d|dz            }| j        |z  | j        |z  z   | j        |z  z   | j        |z  z   S )	Ng        input_cost_per_tokenr   output_cost_per_tokencache_creation_input_token_costg      ?cache_read_input_token_costg?)	cost_usdr   _resolve_model_keymodelgetinput_tokensoutput_tokenscache_creation_tokenscache_read_tokens)r   pricing	model_keyinfo
input_costoutput_costcache_creation_costcache_read_costs           r   calculate_costr$      s    ~ ~mmG"5;88I s9D0!44J((2A66K((#DjSWFWXXhh<j3>NOOO 	Z'


+	,

%(;
;	< 
!O
3	4r   r   r   c                     | |v r| S |D ]}| |v s|| v r|c S |                                  }|D ]2}||                                 v s|                                 |v r|c S 3d S r	   )lower)r   r   keymodel_lowers       r   r   r   -   s       C< 	3%< 	JJJ	 ++--K  #))++% 	)C 	JJJ	 4r   c                  J   t                                           r^	 t          t                     5 } t          j        |           cd d d            S # 1 swxY w Y   n# t          j        t          f$ r Y nw xY w	 t                      S # t          $ r t                      cY S w xY wr	   )

CACHE_PATHexistsopenjsonloadJSONDecodeErrorOSError_fetch_and_cache	Exception_fallback_pricing)fs    r   r
   r
   =   s     	j!! $Qy||$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $$g. 	 	 	D	#!!! # # # """""#sF   A AA AA AA A54A59B B"!B"c                     t           j                            t          ddi          } t           j                            | d          5 }t          j        |                                                                          }d d d            n# 1 swxY w Y   	 t          t          d          5 }t          j        ||           d d d            n# 1 swxY w Y   n# t          $ r Y nw xY w|S )Nz
User-Agentztoken-tracker/0.1)headers
   )timeoutw)urllibrequestRequestLITELLM_URLurlopenr-   loadsreaddecoder,   r*   dumpr0   )reqrespdatar4   s       r   r1   r1   K   sS   
.
 
 |EX6Y
 
Z
ZC			R		0	0 0Dz$))++,,..//0 0 0 0 0 0 0 0 0 0 0 0 0 0 0*c"" 	aIdA	 	 	 	 	 	 	 	 	 	 	 	 	 	 	    KsH   
9BBBC 0CC CC CC 
C+*C+c                  8    dddddddddddddddd	d
ddddS )NgiUMu>ga2U0*?ga2U0*>gTqs*>)r   r   r   r   gTqs*>giUMu>gv!>gHת>g>gư>g:0yu>)zclaude-opus-4-6zclaude-opus-4-7zclaude-sonnet-4-6zclaude-haiku-4-5-20251001r   r   r   r   r3   r3   Y   sq     %*%*/7+1	
 
 %*%*/7+1	
 
 %)%*/6+1	
 
 %+%)/3+2	&
 &
'  r   )r-   osurllib.requestr:   pathlibr   adapters.typesr   r=   pathdirname__file__r*   r   dict__annotations__r   floatr$   strr   r
   r1   r3   r   r   r   <module>rR      sf    				           ' ' ' ' ' 'kT"'//"'//"'//(2K2K"L"LMMNNQee
$+   T    *     .c D S4Z     #t # # # #$    4      r   