Ë
    uPêj¿  ã                   ó†   — d Z ddlmZmZ ddlZddl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 erddlZ G d
„ de«      Zy)zX
Translate from OpenAI's `/v1/chat/completions` to Amazon Nova's `/v1/chat/completions`
é    )ÚTYPE_CHECKINGÚFinalN)ÚLogging)Úget_secret_str)ÚAllMessageValues)ÚModelResponseé   )ÚOpenAILikeChatConfigc                   óÖ  ‡ — e Zd ZU dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZ	edz  ed<   dZ
edz  ed<   dZedz  ed<   	 	 	 	 	 	 ddedz  dedz  dedz  dedz  dedz  dedz  d	dfd
„Zed	edz  fd„«       Zeˆ fd„«       Zdedz  dedz  d	eedz  edz  f   fd„Zded	efd„Z	 	 ddedej.                  dedededee   dededddedz  dedz  d	efˆ fd„Zˆ xZS )ÚAmazonNovaChatConfigNÚmax_completion_tokensÚ
max_tokensÚmetadataÚtemperatureÚtop_pÚtoolsÚreasoning_effortÚreturnc                 ó¤   — t        «       j                  «       }|j                  «       D ]%  \  }}	|dk7  sŒ|	€Œt        | j                  ||	«       Œ' y )NÚself)ÚlocalsÚcopyÚitemsÚsetattrÚ	__class__)
r   r   r   r   r   r   r   Úlocals_ÚkeyÚvalues
             úq/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/amazon_nova/chat/transformation.pyÚ__init__zAmazonNovaChatConfig.__init__    sF   € ô  ›Ÿ™›ˆØ!Ÿ-™-›/ò 	4‰JˆC�Ø�f‹} Ñ!2Ü˜Ÿ™¨¨UÕ3ñ	4ó    c                  ó   — y)NÚamazon_nova© )r   s    r   Úcustom_llm_providerz(AmazonNovaChatConfig.custom_llm_provider.   s   € àr!   c                 ó    •— t         ‰| �  «       S )N)ÚsuperÚ
get_config)Úclsr   s    €r   r(   zAmazonNovaChatConfig.get_config2   s   ø€ ä‰wÑ!Ó#Ð#r!   Úapi_baseÚapi_keyc                 ó–   — |xs t        d«      xs d}|xs/ t        j                  xs t        d«      xs t        j                  }||fS )NÚAMAZON_NOVA_API_BASEzhttps://api.nova.amazon.com/v1ÚAMAZON_NOVA_API_KEY)r   ÚlitellmÚamazon_nova_api_keyr+   )r   r*   r+   r   s       r   Ú$_get_openai_compatible_provider_infoz9AmazonNovaChatConfig._get_openai_compatible_provider_info6   sM   € ð Òiœ~Ð.DÓEÒiÐIiˆð Òw¤× ;Ñ ;Òw¼~ÐNcÓ?dÒwÔho×hwÑhwˆØ˜ˆ}Ðr!   Úmodelc                 ó
   — g d¢S )N)r   r   r   r   r   ÚstopÚstreamÚstream_optionsr   Útool_choicer   r$   )r   r2   s     r   Úget_supported_openai_paramsz0AmazonNovaChatConfig.get_supported_openai_params@   s   € ò
ð 	
r!   Úraw_responseÚmodel_responseÚlogging_objÚrequest_dataÚmessagesÚoptional_paramsÚlitellm_paramsÚencodingztiktoken.Encoding | NoneÚ	json_modec                 ó\   •— t         ‰| �  |||||||	||||
¬«      }t        |dd|z   «       |S )N)r2   r:   r9   r=   r;   r<   r@   r>   rA   r?   r+   r2   zamazon-nova/)r'   Útransform_responser   )r   r2   r9   r:   r;   r<   r=   r>   r?   r@   r+   rA   r   s               €r   rC   z'AmazonNovaChatConfig.transform_responseO   sS   ø€ ô ™Ñ3ØØ)Ø%ØØ#Ø%ØØ+ØØ)Øð 4ó 
ˆô 	� ¨¸%Ñ)?Ô@àÐr!   )NNNNNN)NN)Ú__name__Ú
__module__Ú__qualname__r   ÚintÚ__annotations__r   r   r   r   r   Úlistr   r    ÚpropertyÚstrr%   Úclassmethodr(   Útupler1   r8   ÚhttpxÚResponser   ÚLiteLLMLoggingObjÚdictr   ÚboolrC   Ú__classcell__)r   s   @r   r   r      só  ø… Ø(,Ð˜3 ™:Ó,Ø!€J��d‘
Ó!Ø€Hˆc�D‰jÓØ"€K��t‘Ó"Ø€Eˆ3�‰:ÓØ€Eˆ4�$‰;ÓØ$(Ð�d˜T‘kÓ(ð -1Ø!%Ø"&Ø Ø!Ø(,ñ4à" T™zð4ð ˜$‘Jð4ð ˜4‘Zð	4ð
 �T‰zð4ð �d‰{ð4ð  ™+ð4ð 
ó4ð ð S¨4¡Zò ó ðð ó$ó ð$ðØ˜d™
ðØ-0°4©Zðà	ˆs�T‰z˜3 ™:Ð%Ñ	&óð
°ð 
¸ó 
ð4 #Ø!%ñàðð —n‘nðð &ð	ð
 'ðð ðð Ð'Ñ(ðð ðð ðð -ðð �t‘ðð ˜$‘;ðð 
÷ñ r!   r   )Ú__doc__Útypingr   r   rN   r/   Ú*litellm.litellm_core_utils.litellm_loggingr   rP   Úlitellm.secret_managers.mainr   Úlitellm.types.llms.openair   Úlitellm.types.utilsr   Úopenai_like.chat.transformationr
   Útiktokenr   r$   r!   r   ú<module>r\      s=   ðñ÷ (ã ã Ý SÝ 7õõ .å CáÛôWÐ/õ Wr!   