
    Cj
                     |    S r SSKJrJrJrJr  SSKJr  SSKJ	r	  1 Skr
 SS\S\\   S	\\   4S
 jjr " S S5      rg)z)
Utility functions for Interactions API.
    )AnyDictOptionalcast)BaseInteractionsAPIConfig)$InteractionsAPIOptionalRequestParams>   storetoolsstream
backgroundenvironmentagent_configresponse_formatgeneration_configresponse_mime_typesystem_instructionresponse_modalitiesprevious_interaction_idNprovidermodelreturnc                 h    SSK Jn  XR                  R                  :X  d  U S:X  a  SSKJn  U" 5       $ g)z
Get the interactions API config for the given provider.

Args:
    provider: The LLM provider name
    model: Optional model name

Returns:
    The provider-specific interactions API config, or None if not supported
r   )LlmProvidersgemini) GoogleAIStudioInteractionsConfigN)litellm.types.utilsr   GEMINIvalue/litellm.llms.gemini.interactions.transformationr   )r   r   r   r   s       l/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/litellm/interactions/utils.py$get_provider_interactions_api_configr!      s3     1&&,,,H0D	
 011    c                   >    \ rS rSrSr\S\\\4   S\	4S j5       r
Srg)InteractionsAPIRequestUtils5   z8Helper utils for constructing Interactions API requests.paramsr   c                     SSK Jn  U R                  SS5      nU R                  S0 5      nU R                  SS5      nUR                  U UUU[         Vs0 s H  oUS_M     sn/ SQS9n[        [        U5      $ s  snf )	z
Filter parameters to only include valid optional params per OpenAPI spec.

Args:
    params: Dictionary of parameters to filter (typically from locals())

Returns:
    Dict with only the valid optional parameters
r   )PreProcessNonDefaultParamscustom_llm_providerNkwargsadditional_drop_params)inputr   agent)passed_paramsspecial_paramsr)   r+   default_param_values#additional_endpoint_specific_params)litellm.utilsr(   pop#base_pre_process_non_default_params INTERACTIONS_API_OPTIONAL_PARAMSr   r   )r&   r(   r)   r/   r+   knon_default_paramss          r    .get_requested_interactions_api_optional_paramsJInteractionsAPIRequestUtils.get_requested_interactions_api_optional_params8   s     	=$jj)>EHb1!',Dd!K 'JJ$-$7'=%E&%EtG%E& 5P K 	 	 8:LMM&s   A8 N)__name__
__module____qualname____firstlineno____doc__staticmethodr   strr   r   r8   __static_attributes__r:   r"   r    r$   r$   5   s3    BNS#XN	-N Nr"   r$   )N)r?   typingr   r   r   r   1litellm.llms.base_llm.interactions.transformationr   litellm.types.interactionsr   r5   rA   r!   r$   r:   r"   r    <module>rF      sZ    - , W K$  $  C= '(4#N #Nr"   