Ë
    uPêjÂ  ã                   ó�   — d dl mZmZmZ d dlZd dlmZ d dlmZ d dl	m
Z
mZ d dlmZmZ erd dlZd dlmZ eZneZ G d„ d	e«      Zy)
é    )ÚTYPE_CHECKINGÚAnyÚFinalN)ÚBaseImageGenerationConfig)Úget_secret_str)ÚAllMessageValuesÚ#OpenAIImageGenerationOptionalParams)ÚImageObjectÚImageResponse)ÚLoggingc                   óP  — e Zd ZU dZeed<   dZeed<   dedee   fd„Z	de
d	e
ded
ede
f
d„Z	 ddedz  dedz  ded	e
de
dedz  defd„Z	 	 d de
dedee   d	e
de
dedz  dedz  de
fd„Zdeded	e
de
de
de
fd„Z	 	 d dedej$                  dedede
d	e
de
dddedz  dedz  defd„Zy)!ÚCometAPIImageGenerationConfigzhttps://api.cometapi.comÚDEFAULT_BASE_URLzv1/images/generationsÚIMAGE_GENERATION_ENDPOINTÚmodelÚreturnc                 ó
   — g d¢S )z@
        https://api.cometapi.com/v1/images/generations
        )ÚnÚqualityÚresponse_formatÚsizeÚstyle© )Úselfr   s     úz/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/cometapi/image_generation/transformation.pyÚget_supported_openai_paramsz9CometAPIImageGenerationConfig.get_supported_openai_params   s   € ò
ð 	
ó    Únon_default_paramsÚoptional_paramsÚdrop_paramsc           
      óˆ   — | j                  |«      }|D ]+  }||vsŒ||v r	||   ||<   Œ|rŒt        d|› d|› d|› d�«      ‚ |S )Nz
Parameter z is not supported for model z. Supported parameters are z6. Set drop_params=True to drop unsupported parameters.)r   Ú
ValueError)r   r   r   r   r    Úsupported_paramsÚks          r   Úmap_openai_paramsz/CometAPIImageGenerationConfig.map_openai_params)   sƒ   € ð #'×"BÑ"BÀ5Ó"IÐà#ò 
	ˆAØ˜Ò'ØÐ(Ñ(à);¸AÑ)>�O AÒ&Ù Øä$Ø$ Q CÐ'CÀEÀ7ÐJeÐfvÐewð  xnð  oóð ð
	ð Ðr   NÚapi_baseÚapi_keyÚlitellm_paramsÚstreamc                 óž   — |xs& t        d«      xs t        d«      xs | j                  }|j                  d«      }|› d| j                  › �}|S )z6
        Get the complete url for the request
        ÚCOMETAPI_BASE_URLÚCOMETAPI_API_BASEú/)r   r   Úrstripr   )r   r&   r'   r   r   r(   r)   Úcomplete_urls           r   Úget_complete_urlz.CometAPIImageGenerationConfig.get_complete_url@   sg   € ð ò %ÜÐ1Ó2ò%äÐ1Ó2ò%ð ×$Ñ$ð	 	ð $×*Ñ*¨3Ó/ˆØ&˜ q¨×)GÑ)GÐ(HÐIˆØÐr   ÚheadersÚmessagesc                 ór   — |xs t        d«      xs t        d«      }|st        d«      ‚d|› �|d<   d|d<   |S )NÚCOMETAPI_KEYÚCOMETAPI_API_KEYz+COMETAPI_KEY or COMETAPI_API_KEY is not setzBearer ÚAuthorizationzapplication/jsonzContent-Type)r   r"   )	r   r1   r   r2   r   r(   r'   r&   Úfinal_api_keys	            r   Úvalidate_environmentz2CometAPIImageGenerationConfig.validate_environmentW   sN   € ð %,Ò$s¬~¸nÓ/MÒ$sÔQ_Ð`rÓQsˆÙÜÐJÓKÐKà%,¨]¨OÐ#<ˆ�Ñ Ø"4ˆ�ÑØˆr   Úpromptc                 ó   — ||dœ|¥}|S )zž
        Transform the image generation request to the CometAPI image generation request body

        https://api.cometapi.com/v1/images/generations
        )r9   r   r   )r   r   r9   r   r(   r1   Úrequest_bodys          r   Ú"transform_image_generation_requestz@CometAPIImageGenerationConfig.transform_image_generation_requesti   s#   € ð Øñ
ð ð
ˆð
 Ðr   Úraw_responseÚmodel_responseÚlogging_objÚrequest_dataÚencodingztiktoken.Encoding | NoneÚ	json_modec                 ón  — 	 |j                  «       }|j
                  sg |_        d|v rP|d   D ]H  }t        |j                  d«      |j                  d«      ¬«      }|j
                  j                  |«       ŒJ |S # t        $ r0}| j                  d|› �|j                  |j                  ¬«      ‚d}~ww xY w)z�
        Transform the image generation response to the litellm image response

        https://api.cometapi.com/v1/images/generations
        z.Error transforming image generation response: )Úerror_messageÚstatus_coder1   NÚdataÚb64_jsonÚurl)rG   rH   )	ÚjsonÚ	ExceptionÚget_error_classrE   r1   rF   r
   ÚgetÚappend)r   r   r=   r>   r?   r@   r   r(   rA   r'   rB   Úresponse_dataÚeÚ
image_dataÚ	image_objs                  r   Ú#transform_image_generation_responsezACometAPIImageGenerationConfig.transform_image_generation_response~   sÌ   € ð$	Ø#/×#4Ñ#4Ó#6ˆMð ×"Ò"Ø"$ˆNÔð �]Ñ"Ø+¨FÑ3ò 6�
Ü'Ø'Ÿ^™^¨JÓ7Ø"Ÿ™ uÓ-ô�	ð ×#Ñ#×*Ñ*¨9Õ5ð6ð Ðøô) ò 	Ø×&Ñ&Ø NÈqÈcÐRØ(×4Ñ4Ø$×,Ñ,ð 'ó ð ûð	ús   ‚A; Á;	B4Â+B/Â/B4)N)NN)Ú__name__Ú
__module__Ú__qualname__r   ÚstrÚ__annotations__r   Úlistr	   r   ÚdictÚboolr%   r0   r   r8   r<   ÚhttpxÚResponser   ÚLiteLLMLoggingObjrR   r   r   r   r   r      sí  … Ø6Ð�cÓ6Ø%<Ð˜sÓ<ð

°ð 

¸Ð>aÑ9bó 

ðà ðð ðð ð	ð
 ðð 
óð< #ñà˜‘*ðð �t‘ðð ð	ð
 ðð ðð �t‘ðð 
óð< #Ø#ñàðð ðð Ð'Ñ(ð	ð
 ðð ðð �t‘ðð ˜‘*ðð 
óð$àðð ðð ð	ð
 ðð ðð 
óð> #Ø!%ñ(àð(ð —n‘nð(ð &ð	(ð
 'ð(ð ð(ð ð(ð ð(ð -ð(ð �t‘ð(ð ˜$‘;ð(ð 
ô(r   r   )Útypingr   r   r   r[   Ú5litellm.llms.base_llm.image_generation.transformationr   Úlitellm.secret_managers.mainr   Úlitellm.types.llms.openair   r	   Úlitellm.types.utilsr
   r   ÚtiktokenÚ*litellm.litellm_core_utils.litellm_loggingr   Ú_LiteLLMLoggingObjr]   r   r   r   r   ú<module>rf      sF   ðß ,Ñ ,ã õõ 8÷÷ ;áÛåXà*ÑàÐôMÐ$=õ Mr   