Ë
    uPêjó  ã                   óN   — d dl Z d dlmZ d dlZd dlmZ d dlmZ  G d„ de«      Zy)é    N)ÚFinal)ÚOpenAITextCompletionConfig)ÚGenericStreamingChunkc                   óL  ‡ — e Zd ZU dZ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edz  d
edz  ddfd„Zeˆ fd„«       Zdefd„Zdededededef
d„Zdedefd„Zˆ xZS )ÚCodestralTextCompletionConfigzO
    Reference: https://docs.mistral.ai/api/#operation/createFIMCompletion
    NÚsuffixÚtemperatureÚ
max_tokensÚ
min_tokensÚstreamÚrandom_seedÚtop_pÚstopÚ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   r   r   Úlocals_ÚkeyÚvalues               úu/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/codestral/completion/transformation.pyÚ__init__z&CodestralTextCompletionConfig.__init__   sF   € ô  ›Ÿ™›ˆØ!Ÿ-™-›/ò 	4‰JˆC�Ø�f‹} Ñ!2Ü˜Ÿ™¨¨UÕ3ñ	4ó    c                 ó    •— t         ‰| �  «       S )N)ÚsuperÚ
get_config)Úclsr   s    €r   r    z(CodestralTextCompletionConfig.get_config%   s   ø€ ä‰wÑ!Ó#Ð#r   Úmodelc                 ó
   — g d¢S )N)r   r	   r   r
   Úmax_completion_tokensr   Úseedr   © )r   r"   s     r   Úget_supported_openai_paramsz9CodestralTextCompletionConfig.get_supported_openai_params)   s   € ò	
ð 		
r   Únon_default_paramsÚoptional_paramsÚdrop_paramsc                 óê   — |j                  «       D ]_  \  }}|dk(  r||d<   |dk(  r||d<   |dk(  r||d<   |dk(  s|dk(  r||d<   |dk(  r	|du r||d<   |dk(  r||d<   |d	k(  r||d
<   |dk(  sŒ[||d<   Œa |S )Nr   r	   r   r
   r$   r   Tr   r%   r   r   )r   )r   r(   r)   r"   r*   Úparamr   s          r   Úmap_openai_paramsz/CodestralTextCompletionConfig.map_openai_params5   sÄ   € ð /×4Ñ4Ó6ò 	6‰LˆE�5Ø˜Ò Ø,1� Ñ)Ø˜Ò%Ø16� Ñ.Ø˜ÒØ+0� Ñ(Ø˜Ò$¨Ð1HÒ(HØ05� Ñ-Ø˜Ò  U¨d¡]Ø,1� Ñ)Ø˜ŠØ*/� Ñ'Ø˜ŠØ16� Ñ.Ø˜Ó$Ø05� Ò-ð!	6ð$ Ðr   Ú
chunk_datac                 ój  — d}d}d }d }t         j                  j                  |«      xs d}|j                  «       }t	        |«      dk(  s|dk(  rd||dœS 	 t        j                  |«      }t        j                  di |¤Ž}|j                  dg «      xs g }t	        |«      dk(  rd||dœS |d   }	|	j                  di «      j                  dd«      }|	j                  d	«      �$d
}|	j                  d	«      }|	j                  d«      }t        |||||¬«      S # t
        j                  $ r	 d||dœcY S w xY w)NÚ Fr   z[DONE])ÚtextÚis_finishedÚfinish_reasonÚchoicesÚdeltaÚcontentr3   TÚlogprobs)r1   Úoriginal_chunkr2   r3   r7   r&   )ÚlitellmÚCustomStreamWrapperÚ_strip_sse_data_from_chunkÚstripÚlenÚjsonÚloadsÚJSONDecodeErrorÚModelResponseStreamÚgetr   )
r   r.   r1   r2   r3   r7   Úchunk_data_dictr8   Ú_choicesÚ_choices
             r   Ú_chunk_parserz+CodestralTextCompletionConfig._chunk_parserP   sb  € ØˆØˆØˆØˆä×0Ñ0×KÑKÈJÓWÒ]Ð[]ˆ
Ø×%Ñ%Ó'ˆ
Üˆz‹?˜aÒ :°Ò#9àØ*Ø!.ñð ð
	Ü%)§Z¡Z°
Ó%;ˆOô !(× ;Ñ ;Ñ N¸oÑ NˆØ)×-Ñ-¨i¸Ó<ÒBÀˆÜˆx‹=˜AÒàØ*Ø!.ñð ð
 " !™ˆØ�{‰{˜7 BÓ'×+Ñ+¨I°rÓ:ˆà�;‰;�Ó'Ð3ØˆKØ#ŸK™K¨Ó8ˆMØ—{‘{ :Ó.ˆHä$ØØ)Ø#Ø'Øô
ð 	
øô/ ×#Ñ#ò 	àØ*Ø!.ñò ð	ús   ÁD ÄD2Ä1D2)NNNNNNNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚstrÚ__annotations__r	   Úintr
   r   r   Úboolr   Úfloatr   Úclassmethodr    r'   Údictr-   r   rF   Ú__classcell__)r   s   @r   r   r   	   s^  ø… ñð €FˆC�$‰JÓØ"€K��t‘Ó"Ø!€J��d‘
Ó!Ø!€J��d‘
Ó!Ø€FˆD�4‰KÓØ"€K��t‘Ó"ð "Ø"&Ø"Ø!%Ø!%Ø"Ø"&Øñ4à�d‘
ð4ð ˜4‘Zð4ð �t‰|ð	4ð
 ˜$‘Jð4ð ˜$‘Jð4ð �t‘ð4ð ˜4‘Zð4ð �D‰jð4ð 
ó4ð  ó$ó ð$ð

°ó 

ðà ðð ðð ð	ð
 ðð 
óð6-
¨ð -
Ð0E÷ -
r   r   )	r>   Útypingr   r9   Ú-litellm.llms.openai.completion.transformationr   Úlitellm.types.llms.databricksr   r   r&   r   r   ú<module>rV      s#   ðÛ Ý ã Ý TÝ ?ôt
Ð$>õ t
r   