§
    }Štj¤  ã                   ó*  — 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mZ d dlmZmZ d dlmZmZ d d	lmZ  ee¦  «        Zd
Z G d„ dee¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )é    N)ÚABC)ÚAny)Úurlparse)ÚInferenceProviderMapping)ÚRequestParametersÚ_as_dict)ÚTaskProviderHelperÚfilter_none)Úget_sessionÚhf_raise_for_status)Ú
get_loggerg      à?c                   ó\   ‡ — e Zd Zdefˆ fd„Zdededefd„Z	 ddeez  d	edz  de	fd
„Z
ˆ xZS )ÚWavespeedAITaskÚtaskc                 óP   •— t          ¦   «                              dd|¬¦  «         d S )NÚ	wavespeedzhttps://api.wavespeed.ai)ÚproviderÚbase_urlr   ©ÚsuperÚ__init__)Úselfr   Ú	__class__s     €úl/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/huggingface_hub/inference/_providers/wavespeed.pyr   zWavespeedAITask.__init__   s*   ø€ Ý‰Œ×Ò +Ð8RÐY]ÐÑ^Ô^Ð^Ð^Ð^ó    Úmapped_modelÚapi_keyÚreturnc                 ó   — d|› �S )Nz/api/v3/© )r   r   r   s      r   Ú_prepare_routezWavespeedAITask._prepare_route   s   € Ø(˜,Ð(Ð(Ð(r   NÚresponseÚrequest_paramsc                 óš  — t          |¦  «        }|                     di ¦  «        }|                     di ¦  «                             d¦  «        }|st          d¦  «        ‚|€t          d¦  «        ‚t          |j        ¦  «        }|j        dk    r|j        › d|j        › d�}n|j        › d|j        › �}t          |t          ¦  «        rt          |¦  «        j	        }n|}|› |› �}	t                               d	¦  «         	 t          j        t          ¦  «         t          ¦   «                              |	|j        ¬¦  «        }
t#          |
¦  «         |
                     ¦   «         }|                     di ¦  «        }|                     d¦  «        }|dk    rq|                     d¦  «        rt'          |d         ¦  «        dk    rt          d¦  «        ‚|d         d         }t          ¦   «                              |¦  «        j        S |dk    r(|                     dd¦  «        }t          d|› �¦  «        ‚|dv r�Œ;t          d|› �¦  «        ‚)NÚdataÚurlsÚgetz#No result URL found in the responsezSA `RequestParameters` object should be provided to get responses with WaveSpeed AI.zrouter.huggingface.coz://z
/wavespeedz*Processing request, polling for results...T)ÚheadersÚstatusÚ	completedÚoutputsr   z#No output URL in completed responseÚfailedÚerrorz*Task failed with no specific error messagezWaveSpeed AI task failed: )Ú
processingÚcreatedzUnknown status: )r   r'   Ú
ValueErrorr   ÚurlÚnetlocÚschemeÚ
isinstanceÚstrÚpathÚloggerÚinfoÚtimeÚsleepÚ_POLLING_INTERVALr   r(   r   ÚjsonÚlenÚcontent)r   r"   r#   Úresponse_dictr%   Úresult_pathÚ
parsed_urlr   Úresult_url_pathÚ
result_urlÚresult_responseÚresultÚtask_resultr)   Ú
output_urlÚ	error_msgs                   r   Úget_responsezWavespeedAITask.get_response   s_  € õ
 ! Ñ*Ô*ˆØ× Ò  ¨Ñ,Ô,ˆØ—h’h˜v rÑ*Ô*×.Ò.¨uÑ5Ô5ˆàð 	DÝÐBÑCÔCÐCØÐ!ÝÐrÑsÔsÐsõ ˜nÔ0Ñ1Ô1ˆ
àÔÐ 7Ò7Ð7Ø$Ô+ÐMÐM°
Ô0AÐMÐMÐMˆHˆHà$Ô+ÐCÐC°
Ô0AÐCÐCˆHõ �k¥3Ñ'Ô'ð 	*Ý& {Ñ3Ô3Ô8ˆOˆOà)ˆOà Ð3 /Ð3Ð3ˆ
å�ŠÐ@ÑAÔAÐAð	>ÝŒJÕ(Ñ)Ô)Ð)Ý)™mœm×/Ò/°
ÀNÔDZÐ/Ñ[Ô[ˆOÝ Ñ0Ô0Ð0à$×)Ò)Ñ+Ô+ˆFØ Ÿ*š* V¨RÑ0Ô0ˆKØ —_’_ XÑ.Ô.ˆFà˜Ò$Ð$à"—’ yÑ1Ô1ð LµS¸ÀYÔ9OÑ5PÔ5PÐTUÒ5UÐ5UÝ$Ð%JÑKÔKÐKà(¨Ô3°AÔ6�
Ý"‘}”}×(Ò(¨Ñ4Ô4Ô<Ð<Ø˜8Ò#Ð#Ø'ŸOšO¨GÐ5aÑbÔb�	Ý Ð!I¸iÐ!IÐ!IÑJÔJÐJØÐ4Ð4Ð4Ùå Ð!<°FÐ!<Ð!<Ñ=Ô=Ð=r   )N)Ú__name__Ú
__module__Ú__qualname__r5   r   r!   ÚbytesÚdictr   r   rI   Ú__classcell__©r   s   @r   r   r      s·   ø€ € € € € ð_˜Sð _ð _ð _ð _ð _ð _ð)¨3ð )¸ð )Àð )ð )ð )ð )ð 48ð7>ð 7>à˜$‘,ð7>ð *¨DÑ0ð7>ð 
ð	7>ð 7>ð 7>ð 7>ð 7>ð 7>ð 7>ð 7>r   r   c            	       ó<   ‡ — e Zd Zˆ fd„Zdededededz  fd„Zˆ xZS )ÚWavespeedAITextToImageTaskc                 óJ   •— t          ¦   «                              d¦  «         d S )Nztext-to-imager   ©r   r   s    €r   r   z#WavespeedAITextToImageTask.__init__V   s!   ø€ Ý‰Œ×Ò˜Ñ)Ô)Ð)Ð)Ð)r   ÚinputsÚ
parametersÚprovider_mapping_infor   Nc                 ó(   — d|it          |¦  «        ¥S )NÚprompt)r
   )r   rU   rV   rW   s       r   Ú_prepare_payload_as_dictz3WavespeedAITextToImageTask._prepare_payload_as_dictY   s   € ð ˜&Ð<¥K°
Ñ$;Ô$;Ð<Ð<r   ©	rJ   rK   rL   r   r   rN   r   rZ   rO   rP   s   @r   rR   rR   U   sv   ø€ € € € € ð*ð *ð *ð *ð *ð=àð=ð ð=ð  8ð	=ð
 
�‰ð=ð =ð =ð =ð =ð =ð =ð =r   rR   c                   ó   — e Zd Zd„ ZdS )ÚWavespeedAITextToVideoTaskc                 ó<   — t                                | d¦  «         d S )Nztext-to-video©r   r   ©r   s    r   r   z#WavespeedAITextToVideoTask.__init__c   s   € Ý× Ò   Ñ7Ô7Ð7Ð7Ð7r   N©rJ   rK   rL   r   r    r   r   r]   r]   b   s#   € € € € € ð8ð 8ð 8ð 8ð 8r   r]   c            	       ó<   ‡ — e Zd Zˆ fd„Zdededededz  fd„Zˆ xZS )ÚWavespeedAIImageToImageTaskc                 óJ   •— t          ¦   «                              d¦  «         d S )Nzimage-to-imager   rT   s    €r   r   z$WavespeedAIImageToImageTask.__init__h   s"   ø€ Ý‰Œ×ÒÐ)Ñ*Ô*Ð*Ð*Ð*r   rU   rV   rW   r   Nc                 ó  — t          |t          ¦  «        r|                     d¦  «        r|}nªt          |t          ¦  «        rit          |d¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          j        |¦  «                             d¦  «        }d|› �}n,t          j        |¦  «                             d¦  «        }d|› �}|                     dd ¦  «        }d|it          |¦  «        ¥}	|�||	d<   |	S )N)zhttp://zhttps://Úrbzutf-8zdata:image/jpeg;base64,rY   Úimage)
r4   r5   Ú
startswithÚopenÚreadÚbase64Ú	b64encodeÚdecodeÚpopr
   )
r   rU   rV   rW   rg   ÚfÚfile_contentÚ	image_b64rY   Úpayloads
             r   rZ   z4WavespeedAIImageToImageTask._prepare_payload_as_dictk   sO  € õ �f�cÑ"Ô"ð 	: v×'8Ò'8Ð9PÑ'QÔ'Qð 	:ØˆEˆEÝ˜¥Ñ$Ô$ð 		:å�f˜dÑ#Ô#ð ( qØ Ÿvšv™xœx�ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (åÔ(¨Ñ6Ô6×=Ò=¸gÑFÔFˆIØ9¨iÐ9Ð9ˆEˆEõ Ô(¨Ñ0Ô0×7Ò7¸Ñ@Ô@ˆIØ9¨iÐ9Ð9ˆEð —’ ¨$Ñ/Ô/ˆØ˜EÐ=¥[°Ñ%<Ô%<Ð=ˆØÐØ &ˆG�HÑàˆs   ÁA4Á4A8Á;A8r[   rP   s   @r   rc   rc   g   sv   ø€ € € € € ð+ð +ð +ð +ð +ðàðð ðð  8ð	ð
 
�‰ðð ð ð ð ð ð ð r   rc   c                   ó   — e Zd Zd„ ZdS )ÚWavespeedAIImageToVideoTaskc                 ó<   — t                                | d¦  «         d S )Nzimage-to-videor_   r`   s    r   r   z$WavespeedAIImageToVideoTask.__init__‰   s   € Ý× Ò  Ð'7Ñ8Ô8Ð8Ð8Ð8r   Nra   r    r   r   rt   rt   ˆ   s#   € € € € € ð9ð 9ð 9ð 9ð 9r   rt   )rk   r9   Úabcr   Útypingr   Úurllib.parser   Úhuggingface_hub.hf_apir   Ú!huggingface_hub.inference._commonr   r   Ú,huggingface_hub.inference._providers._commonr	   r
   Úhuggingface_hub.utilsr   r   Úhuggingface_hub.utils.loggingr   rJ   r7   r;   r   rR   r]   rc   rt   r    r   r   ú<module>r~      sµ  ðØ €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !à ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XØ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ 4Ð 4Ð 4Ð 4Ð 4Ð 4ð 
ˆ�HÑ	Ô	€ð Ð ð>>ð >>ð >>ð >>ð >>Ð(¨#ñ >>ô >>ð >>ðB
=ð 
=ð 
=ð 
=ð 
= ñ 
=ô 
=ð 
=ð8ð 8ð 8ð 8ð 8Ð!;ñ 8ô 8ð 8ð
ð ð ð ð  /ñ ô ð ðB9ð 9ð 9ð 9ð 9Ð"=ñ 9ô 9ð 9ð 9ð 9r   