Ë
    uPêjÇ  ã                   óä   — U d dl mZmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ dZeed<   dZeed<    edd¬«       G d„ d«      «       Z G d„ dee
«      Zy)é    )ÚCallableÚMapping)Ú	dataclass)ÚFinal)Úencode_url_path_segment)Ú GoogleAIStudioInteractionsConfig)Úvalidate_vertex_location)Ú
VertexBase)ÚVERTEX_CREDENTIALS_TYPES)ÚGenericLiteLLMParams)ÚLlmProvidersÚv1beta1ÚVERTEX_INTERACTIONS_API_VERSIONÚglobalÚ$VERTEX_INTERACTIONS_DEFAULT_LOCATIONT)ÚfrozenÚslotsc                   óR   — e Zd ZU eed<   eed<   eed<   edefd„«       Zdedefd„Zy)	ÚVertexInteractionsTargetÚbase_urlÚ
project_idÚlocationÚreturnc                 ób   — | j                   › dt        › d| j                  › d| j                  › d�S )Nú/z
/projects/z/locations/z/interactions)r   r   r   r   ©Úselfs    úw/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/vertex_ai/interactions/transformation.pyÚcollection_urlz'VertexInteractionsTarget.collection_url   s8   € ð �}‰}ˆo˜QÔ>Ð?Ø˜Ÿ™Ð)¨°T·]±]°OÀ=ðRð	
ó    Úinteraction_idc                 ó>   — t        |d¬«      }| j                  › d|› �S )Nr!   )Ú
field_namer   )r   r   )r   r!   Úencoded_interaction_ids      r   Úinteraction_urlz(VertexInteractionsTarget.interaction_url   s*   € Ü(?ÀÐ[kÔ(lÐØ×%Ñ%Ð& aÐ(>Ð'?Ð@Ð@r    N)Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__Úpropertyr   r%   © r    r   r   r      s@   … àƒMØƒOØƒMàð
 ò 
ó ð
ðA¨cð A°cô Ar    r   c                   ó  ‡ — e Zd Z	 ddeedz  edz  geeef   f   dz  ddfˆ fd„Zdedz  dedz  deeef   fd„Ze	de
fd„«       Ze	defd	„«       Zdefd
„Zdedeeef   fd„Zdedz  dedefd„Zdeeef   dededz  defd„Z	 	 	 ddedz  dedz  dedz  deeef   dz  dedz  defd„Z	 ddededededeeef   f
d„Zdedededeeef   deeef   f
d„Zdedededeeef   deeef   f
d„Zdedededeeef   deeef   f
d„Zˆ xZS )ÚVertexAIInteractionsConfigNÚmint_access_tokenr   c                 óL   •— t         ‰| �  «        |xs | j                  | _        y ©N)ÚsuperÚ__init__Ú#_mint_access_token_with_vertex_baseÚ_mint_access_token)r   r/   Ú	__class__s     €r   r3   z#VertexAIInteractionsConfig.__init__$   s&   ø€ ô 	‰ÑÔàÒI ×!IÑ!Ið 	Õr    Úcredentialsr   c                 ó*   — | j                  ||d¬«      S )NÚ	vertex_ai)r7   r   Úcustom_llm_provider)Ú_ensure_access_token)r   r7   r   s      r   r4   z>VertexAIInteractionsConfig._mint_access_token_with_vertex_base-   s$   € ð
 ×(Ñ(Ø#°
ÐP[ð )ó 
ð 	
r    c                 ó"   — t         j                  S r1   )r   Ú	VERTEX_AIr   s    r   r:   z.VertexAIInteractionsConfig.custom_llm_provider6   s   € ä×%Ñ%Ð%r    c                 ó   — t         S r1   )r   r   s    r   Úapi_versionz&VertexAIInteractionsConfig.api_version:   s   € ä.Ð.r    c                 ó   — t         S r1   )r   r   s    r   Úget_default_vertex_locationz6VertexAIInteractionsConfig.get_default_vertex_location>   s   € Ü3Ð3r    Úlitellm_paramsc                 ó‚   — |j                  «       }| j                  | j                  |«      | j                  |«      «      S r1   )Ú
model_dumpr5   Úsafe_get_vertex_ai_credentialsÚsafe_get_vertex_ai_project)r   rB   Ú
raw_paramss      r   Ú_mintz VertexAIInteractionsConfig._mintA   s?   € Ø*×5Ñ5Ó7ˆ
Ø×&Ñ&Ø×/Ñ/°
Ó;Ø×+Ñ+¨JÓ7ó
ð 	
r    Úapi_basec                 óè   — | j                  |«      \  }}|st        d«      ‚t        | j                  |j	                  «       «      xs t
        «      }t        | j                  |xs d |«      ||¬«      S )Nz^Vertex AI project is required. Set vertex_project, litellm.vertex_project, or VERTEXAI_PROJECT)r   r   r   )rH   Ú
ValueErrorr	   Úexplicit_vertex_ai_locationrD   r   r   Úget_api_base)r   rI   rB   Ú_r   r   s         r   Ú_targetz"VertexAIInteractionsConfig._targetH   sz   € ØŸ
™
 >Ó2‰ˆˆ:ÙÜØpóð ô 3Ø×,Ñ,¨^×-FÑ-FÓ-HÓIÒqÔMqó
ˆô (Ø×&Ñ& xÒ'7°4¸ÓBØ!Øô
ð 	
r    ÚheadersÚmodelc                 óV   — | j                  |xs
 t        «       «      \  }}dd|› �dœ|¥S )Nzapplication/jsonzBearer )zContent-TypeÚAuthorization)rH   r   )r   rP   rQ   rB   Úaccess_tokenrN   s         r   Úvalidate_environmentz/VertexAIInteractionsConfig.validate_environmentW   s@   € ð Ÿ*™* ^Ò%MÔ7KÓ7MÓN‰ˆ�aà.Ø& | nÐ5ñ
ð ð
ð 	
r    ÚagentÚstreamc                 óŽ   — |rt        j                  |«      n	t        «       }| j                  ||«      j                  }|r|› d�S |S )Nz?alt=sse)r   Úmodel_validaterO   r   )r   rI   rQ   rV   rB   rW   Úparamsr   s           r   Úget_complete_urlz+VertexAIInteractionsConfig.get_complete_urld   sO   € ñ DRÔ ×/Ñ/°Ô?ÔWkÓWmð 	ð !%§¡¨X°vÓ >× MÑ MˆÙ.4�.Ð! Ð*ÐH¸.ÐHr    r!   Ú
url_suffixc                 ó\   — | j                  |xs d |«      }|j                  |«      › |› �i fS r1   )rO   r%   )r   r!   rI   rB   r\   Útargets         r   Ú_interaction_by_id_requestz5VertexAIInteractionsConfig._interaction_by_id_requestr   s9   € ð Ÿ™ XÒ%5°°~ÓFˆØ×(Ñ(¨Ó8Ð9¸*¸ÐFÈÐJÐJr    c                 ó(   — | j                  |||«      S r1   ©r_   ©r   r!   rI   rB   rP   s        r   Ú!transform_get_interaction_requestz<VertexAIInteractionsConfig.transform_get_interaction_request|   ó   € ð ×.Ñ.¨~¸xÈÓXÐXr    c                 ó(   — | j                  |||«      S r1   ra   rb   s        r   Ú$transform_delete_interaction_requestz?VertexAIInteractionsConfig.transform_delete_interaction_request…   rd   r    c                 ó,   — | j                  |||d¬«      S )Nz:cancel)r\   ra   rb   s        r   Ú$transform_cancel_interaction_requestz?VertexAIInteractionsConfig.transform_cancel_interaction_requestŽ   s   € ð ×.Ñ.¨~¸xÈÐdmÐ.ÓnÐnr    r1   )NNN)Ú )r&   r'   r(   r   r   r)   Útupler3   r4   r+   r   r:   r?   rA   r   rH   r   rO   r   ÚdictrU   ÚobjectÚboolr[   r_   rc   rf   rh   Ú__classcell__)r6   s   @r   r.   r.   #   sÕ  ø„ ð nrñ
à#Ð%=ÀÑ%DÀcÈDÁjÐ$QÐSXÐY\Ð^aÐYaÑSbÐ$bÑcÐfjÑjð
ð 
õ
ð
à-°Ñ4ð
ð ˜$‘Jð
ð 
ˆs�Cˆx‰ó	
ð ð& \ò &ó ð&ð ð/˜Sò /ó ð/ð4¨Só 4ð
Ð$8ð 
¸UÀ3ÈÀ8¹_ó 
ð
  d¡
ð 
Ð<Pð 
ÐUmó 
ð
à˜˜c˜Ñ"ð
ð ð
ð -¨tÑ3ð	
ð
 
ó
ð" !Ø6:Ø"ñIà˜‘*ðIð �T‰zðIð �T‰zð	Ið
    V Ñ,¨tÑ3ðIð �t‘ðIð 
óIð& ñKàðKð ðKð -ð	Kð
 ðKð 
ˆs�DˆyÑ	óKðYàðYð ðYð -ð	Yð
 ˜˜c˜Ñ"ðYð 
ˆs�DˆyÑ	óYðYàðYð ðYð -ð	Yð
 ˜˜c˜Ñ"ðYð 
ˆs�DˆyÑ	óYðoàðoð ðoð -ð	oð
 ˜˜c˜Ñ"ðoð 
ˆs�DˆyÑ	÷or    r.   N)Úcollections.abcr   r   Údataclassesr   Útypingr   Ú$litellm.litellm_core_utils.url_utilsr   Ú/litellm.llms.gemini.interactions.transformationr   Ú#litellm.llms.vertex_ai.common_utilsr	   Ú&litellm.llms.vertex_ai.vertex_llm_baser
   Úlitellm.types.llms.vertex_air   Úlitellm.types.routerr   Úlitellm.types.utilsr   r   r*   r   r   r.   r,   r    r   ú<module>ry      sr   ðß -Ð -Ý !Ý å HÝ \Ý HÝ =Ý AÝ 5Ý ,à)2Ð  Ó 2Ø.6Ð $ eÓ 6ñ �$˜dÔ#÷Að Aó $ðAô"ro Ð-Mõ ror    