Ë
    tPêjD	  ã                   óÄ  — U d dl m Z mZ d dlmZmZ d dlZd dlmZmZmZm	Z	 d dl
­ d dlmZmZ d dlmZ  e«       Zeed<   d	ed
ede fd„Zej)                  ddg ee«      ged¬«      	 	 ddee ej*                  d¬«      f   dee ej*                  d¬«      f   deee   dz   ej*                  d¬«      f   deee   dz   ej*                  d¬«      f   def
d„«       Zy)é    )ÚdatetimeÚtimezone)Ú	AnnotatedÚFinalN)Ú	APIRouterÚDependsÚHTTPExceptionÚstatus)Ú*)ÚCacheActivityResponseÚget_cache_activity)Úuser_api_key_authÚrouterÚvalueÚ
param_nameÚreturnc                 óÊ   — 	 t        j                  | d«      j                  t        j                  ¬«      S # t
        $ r# t        t        j                  d|› d| ›�i¬«      ‚w xY w)Nz%Y-%m-%d)ÚtzinfoÚerrorz  must be a YYYY-MM-DD date, got ©Ústatus_codeÚdetail)	r   ÚstrptimeÚreplacer   ÚutcÚ
ValueErrorr	   r
   ÚHTTP_400_BAD_REQUEST)r   r   s     úz/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/proxy/analytics_endpoints/analytics_endpoints.pyÚ_parse_dater      se   € ð
Ü× Ñ  ¨
Ó3×;Ñ;Ä8Ç<Á<Ð;ÓPÐPøÜò 
ÜÜ×3Ñ3Ø 
˜|Ð+KÈEÈ9ÐUÐVô
ð 	
ð
ús	   ‚36 ¶,A"z/global/activity/cache_hitszBudget & Spend TrackingF)ÚtagsÚdependenciesÚresponse_modelÚinclude_in_schemaÚ
start_datez&Time from which to start viewing spend)ÚdescriptionÚend_datezTime till which to view spendÚkey_aliasesz)Only include spend from these key aliasesÚmodelsz#Only include spend for these modelsc              ƒ   óÀ   K  — ddl m} |€t        t        j                  ddi¬«      ‚t        |t        | d«      t        |d«      |xs g |xs g ¬	«      ƒ d{  –—† S 7 Œ­w)
zë
    Cache activity for the Admin UI cache dashboard, aggregated per call_type:
    cache hits vs successful LLM API requests vs failed requests, plus totals
    for the stat cards and the available key-alias/model filter options.
    r   )Úprisma_clientNr   z�Database not connected. Connect a database to your proxy - https://docs.litellm.ai/docs/simple_proxy#managing-auth---virtual-keysr   r$   r&   )r*   r$   r&   r'   r(   )Úlitellm.proxy.proxy_serverr*   r	   r
   ÚHTTP_500_INTERNAL_SERVER_ERRORr   r   )r$   r&   r'   r(   r*   s        r   Úget_global_activityr-      st   è ø€ õ( 9àÐÜÜ×=Ñ=àð  ]ðô
ð 	
ô $Ø#Ü˜z¨<Ó8Ü˜X zÓ2ØÒ% 2ØŠ|˜ô÷ ð ð ús   ‚AAÁAÁA)NN)r   r   Útypingr   r   Úfastapir   r   r	   r
   Úlitellm.proxy._typesÚ0litellm.proxy.analytics_endpoints.cache_activityr   r   Ú$litellm.proxy.auth.user_api_key_authr   r   Ú__annotations__Ústrr   ÚgetÚQueryÚlistr-   © ó    r   ú<module>r:      s&  ðç 'Ð 'ß #ã ß =Ó =ä "ß fÝ Bá“€ˆÓ ð
�sð 
¨ð 
°ó 
ð ‡�Ø!Ø
#Ð	$ÙÐ+Ó,Ð-Ø(Øð ó ð 	ØlpñØ˜#˜}˜wŸ}™}Ð9aÔbÐbÑcðà˜˜]˜WŸ]™]Ð7VÔWÐWÑXðð ØˆS‰	�DÑ˜-˜'Ÿ-™-Ð4_Ô`Ð`ñðð �d˜3‘i $Ñ&¨¨¯©ÐBgÔ(hÐhÑiðð òóñr9   