Ë
    uPêjŽ  ã                   óZ   — d Z ddlmZ ddlmZ 	 	 	 ddededz  dededz  d	ee	e	f   f
d
„Z
y)z(
Cost calculation for search providers.
é    )ÚFinal)Úget_model_infoNÚmodelÚcustom_llm_providerÚnumber_of_queriesÚoptional_paramsÚreturnc                 ó:  — t        | |¬«      }|j                  d«      }|rUt        |t        «      rE|xs i j                  dd«      }d}|D ]  }|d   \  }	}
|	|cxk  r|
k  sŒn Œ|d   } n( |d   d   }nt	        |j                  d«      xs d«      }||z  }|dfS )	aP  
    Calculate cost for search-only providers.

    Returns (input_cost, output_cost) where input_cost = queries * cost_per_query
    Supports tiered pricing based on max_results parameter.

    Args:
        model: Model name (e.g., "exa_ai/search", "tavily/search")
        custom_llm_provider: Provider name (e.g., "exa_ai", "tavily")
        number_of_queries: Number of search queries performed (default: 1)
        optional_params: Optional parameters including max_results for tiered pricing

    Returns:
        Tuple of (input_cost, output_cost) where output_cost is always 0.0
    )r   r   Útiered_pricingÚmax_resultsé
   g        Úmax_results_rangeÚinput_cost_per_queryéÿÿÿÿ)r   ÚgetÚ
isinstanceÚlistÚfloat)r   r   r   r   Ú
model_infor   r   Úcost_per_queryÚtierÚ	range_minÚ	range_maxÚ
total_costs               úc/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/search/cost_calculator.pyÚsearch_provider_cost_per_queryr   
   sÈ   € ô* '¨UÐH[Ô\€Jð 'ŸN™NÐ+;Ó<€NÙœ* ^´TÔ:Ø-Ò3°×8Ñ8¸ÈÓKˆØˆà"ò 	HˆDØ#'Ð(;Ñ#<Ñ ˆI�yØ˜KÔ4¨9Ö4Ø!%Ð&<Ñ!=�Ùð		Hð ,¨BÑ/Ð0FÑG‰Nô ˜zŸ~™~Ð.DÓEÒLÈÓMˆà)¨NÑ:€JØ˜ÐÐó    )Né   N)Ú__doc__Útypingr   Úlitellm.utilsr   ÚstrÚintÚdictÚtupler   r   © r   r   ú<module>r'      sa   ðñõ å (ð
 '+ØØ#'ñ	*Øð*à˜t™ð*ð ð*ð ˜D‘[ð	*ð
 ˆ5�%ˆ<Ñô*r   