§
    }Štjf!  ã                   ó„  — d Z ddlZ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mZ ddlmZmZ dd	lmZ  e ee
¦  «        d
         ¦  «        Z ej        dd„ eD ¦   «         e¬¦  «        Z ee¦  «        Z ej        dd„ eD ¦   «         e¬¦  «        Zdee         dee
         fd„Z ed¬¦  «        Ze                     dg d¢¬¦  «        	 dIdeddfd„¦   «         Ze                     ddg¬¦  «        	 dIdee ed¬¦  «        f         deddfd„¦   «         Ze                     dg d ¢¬¦  «        	 	 	 	 	 dJd!eee          ed"d#¬¦  «        f         d$eedz   ed%¬¦  «        f         d&eedz   ed'd(¬¦  «        f         d)eee         dz   ed*d+¬¦  «        f         d,eedz   ed-¬¦  «        f         deddfd.„¦   «         Z e                     d/g d0¢¬¦  «        	 	 	 	 	 dJdee ed1¬¦  «        f         d$eedz   ed2¬¦  «        f         d!eee         dz   ed"d3¬¦  «        f         d)eee         dz   ed*d4¬¦  «        f         d,eedz   ed5¬¦  «        f         deddfd6„¦   «         Z!e                     d7d8g¬¦  «        	 dIdee ed9¬¦  «        f         deddfd:„¦   «         Z"e                     d;d<g¬¦  «        	 dIdee ed=¬¦  «        f         deddfd>„¦   «         Z#e                     d?d@dAg¬¦  «        	 	 dKdee edC¬¦  «        f         dDee$ edEdFdG¬¦  «        f         deddfdH„¦   «         Z%dS )Lz=Contains commands to manage webhooks on the Hugging Face Hub.é    N)Ú	AnnotatedÚget_argsÚget_type_hints)ÚWEBHOOK_DOMAIN_T)ÚWebhookWatchedItemé   )ÚTokenOptÚ
get_hf_apiÚtyper_factory)ÚArgumentÚOption)ÚoutÚtypeÚWatchedItemTypec                 ó   — i | ]}||“ŒS © r   )Ú.0Úts     úZ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/huggingface_hub/cli/webhooks.pyú
<dictcomp>r   #   s   € Ð/MÐ/MÐ/M¸°°1Ð/MÐ/MÐ/Mó    )r   ÚWebhookDomainc                 ó   — i | ]}||“ŒS r   r   ©r   Úds     r   r   r   &   s   € Ð+HÐ+HÐ+H°Q¨A¨qÐ+HÐ+HÐ+Hr   ÚvaluesÚreturnc           	      ó~  — g }t          t          ¦  «        }| D ]£}d|vr.t          j        d|› dd                     |¦  «        › d�¦  «        ‚|                     dd¦  «        \  }}||vr.t          j        d|› dd                     |¦  «        › d�¦  «        ‚|                     t          ||¬¦  «        ¦  «         Œ¤|S )	aY  Parse 'type:name' strings into WebhookWatchedItem objects.

    Args:
        values: List of strings in the format 'type:name'
            (e.g., 'model:bert-base-uncased', 'org:HuggingFace').

    Returns:
        List of WebhookWatchedItem objects.

    Raises:
        click.BadParameter: If any value doesn't match the expected format.
    ú:zCExpected format 'type:name' (e.g. 'model:bert-base-uncased'), got 'z'. Valid types: z, ú.r   zInvalid type '©r   Úname)ÚtupleÚ_WATCHED_TYPESÚclickÚBadParameterÚjoinÚsplitÚappendr   )r   ÚitemsÚvalid_typesÚvÚkindr"   s         r   Ú_parse_watchr.   )   sï   € ð €EÝ�Ñ'Ô'€KØð 	?ð 	?ˆØ�aˆ<ˆ<ÝÔ$ð;ÐVWð ;ð ;Ø!%§¢¨;Ñ!7Ô!7ð;ð ;ð ;ñô ð ð —W’W˜S !‘_”_‰
ˆˆdØ�{Ð"Ð"ÝÔ$Ð%e°dÐ%eÐ%eÈDÏIÊIÐVaÑLbÔLbÐ%eÐ%eÐ%eÑfÔfÐfØ�ŠÕ'¨T¸Ð=Ñ=Ô=Ñ>Ô>Ð>Ð>Ø€Lr   zManage webhooks on the Hub.)Úhelpz	list | ls)zhf webhooks lszhf webhooks ls --format jsonzhf webhooks ls --format quiet)ÚexamplesÚtokenc                 óŠ   — t          | ¬¦  «        }d„ |                     ¦   «         D ¦   «         }t          j        |¦  «         dS )z'List all webhooks for the current user.©r1   c                 óp   — g | ]3}|j         |j        pd |j        |j        pg d„ |j        pg D ¦   «         dœ‘Œ4S )z(job)c                 ó0   — g | ]}|j         › d |j        › �‘ŒS )r   r!   )r   Úwis     r   ú
<listcomp>z*webhooks_ls.<locals>.<listcomp>.<listcomp>[   s*   € ÐKÐKÐK°2˜2œ7Ð.Ð. R¤WÐ.Ð.ÐKÐKÐKr   ©ÚidÚurlÚdisabledÚdomainsÚwatchedr8   )r   Úws     r   r7   zwebhooks_ls.<locals>.<listcomp>U   se   € ð 	ð 	ð 	ð ð ”$Ø”5Ð#˜GØœ
Ø”y� BØKÐK¸!¼)¸/ÀrÐKÑKÔKð	
ð 	
ð	ð 	ð 	r   N)r
   Úlist_webhooksr   Útable)r1   ÚapiÚresultss      r   Úwebhooks_lsrC   H   sX   € õ ˜5Ð
!Ñ
!Ô
!€Cð	ð 	ð ×"Ò"Ñ$Ô$ð	ñ 	ô 	€Gõ „IˆgÑÔÐÐÐr   Úinfozhf webhooks info abc123Ú
webhook_idzThe ID of the webhook.c                 óx   — t          |¬¦  «        }|                     | ¦  «        }t          j        |¦  «         dS )z'Show full details for a single webhook.r3   N)r
   Úget_webhookr   Údict©rE   r1   rA   Úwebhooks       r   Úwebhooks_inforK   b   s;   € õ ˜5Ð
!Ñ
!Ô
!€CØ�oŠo˜jÑ)Ô)€GÝ„HˆWÑÔÐÐÐr   Úcreate)zQhf webhooks create --url https://example.com/hook --watch model:bert-base-uncasedzjhf webhooks create --url https://example.com/hook --watch org:HuggingFace --watch model:gpt2 --domain repozJhf webhooks create --job-id 687f911eaea852de79c4a50a --watch user:julien-cÚwatchz--watchzRItem to watch, in 'type:name' format (e.g. 'model:bert-base-uncased'). Repeatable.r:   zBURL to send webhook payloads to. Mutually exclusive with --job-id.Újob_idz--job-idz]ID of a Job to trigger (from job.id) instead of pinging a URL. Mutually exclusive with --url.Údomainz--domainzNDomain to watch: 'repo' or 'discussions'. Repeatable. Defaults to all domains.Úsecretz.Optional secret used to sign webhook payloads.c                 ó.  — |�|�t          j        d¦  «        ‚|€|€t          j        d¦  «        ‚t          |¬¦  «        }t          | ¦  «        }|rd„ |D ¦   «         nd}|                     |||||¬¦  «        }	t          j        d|	j        ¬¦  «         dS )	z|Create a new webhook.

    Provide either --url (to ping a remote server) or --job-id (to trigger a Job), but not both.
    Nz+Provide either --url or --job-id, not both.z!Provide either --url or --job-id.r3   c                 ó   — g | ]	}|j         ‘Œ
S r   ©Úvaluer   s     r   r7   z#webhooks_create.<locals>.<listcomp>¤   ó   € Ð'Ð'Ð'˜1ˆqŒwÐ'Ð'Ð'r   )r:   rN   r=   r<   rP   zWebhook created©r9   )r%   r&   r
   r.   Úcreate_webhookr   Úresultr9   )
rM   r:   rN   rO   rP   r1   rA   Úwatched_itemsr<   rJ   s
             r   Úwebhooks_createrZ   r   sµ   € ðX €˜6Ð-ÝÔ Ð!NÑOÔOÐOØ
€{�v�~ÝÔ Ð!DÑEÔEÐEÝ
˜5Ð
!Ñ
!Ô
!€CÝ  Ñ'Ô'€MØ+1Ð;Ð'Ð' Ð'Ñ'Ô'Ð'°t€GØ× Ò  S°ÀÐX_ÐhnÐ ÑoÔo€GÝ„JÐ  W¤ZÐ0Ñ0Ô0Ð0Ð0Ð0r   Úupdate)z8hf webhooks update abc123 --url https://new-url.com/hookz:hf webhooks update abc123 --watch model:gpt2 --domain repoz,hf webhooks update abc123 --secret newsecretz The ID of the webhook to update.z$New URL to send webhook payloads to.ziNew list of items to watch, in 'type:name' format. Repeatable. Replaces the entire existing watched list.zBNew list of domains to watch: 'repo' or 'discussions'. Repeatable.z)New secret used to sign webhook payloads.c                 óÖ   — t          |¬¦  «        }|rt          |¦  «        nd}|rd„ |D ¦   «         nd}|                     | ||||¬¦  «        }	t          j        d|	j        ¬¦  «         dS )z>Update an existing webhook. Only provided options are changed.r3   Nc                 ó   — g | ]	}|j         ‘Œ
S r   rS   r   s     r   r7   z#webhooks_update.<locals>.<listcomp>Ñ   rU   r   )r:   r=   r<   rP   zWebhook updatedrV   )r
   r.   Úupdate_webhookr   rX   r9   )
rE   r:   rM   rO   rP   r1   rA   rY   r<   rJ   s
             r   Úwebhooks_updater_   ©   sˆ   € õL ˜5Ð
!Ñ
!Ô
!€CØ+0Ð:•L Ñ'Ô'Ð'°d€MØ+1Ð;Ð'Ð' Ð'Ñ'Ô'Ð'°t€GØ× Ò  °¸mÐU\ÐekÐ ÑlÔl€GÝ„JÐ  W¤ZÐ0Ñ0Ô0Ð0Ð0Ð0r   Úenablezhf webhooks enable abc123z The ID of the webhook to enable.c                 ó†   — t          |¬¦  «        }|                     | ¦  «        }t          j        d|j        ¬¦  «         dS )zEnable a disabled webhook.r3   zWebhook enabledrV   N)r
   Úenable_webhookr   rX   r9   rI   s       r   Úwebhooks_enablerc   Ö   sE   € õ ˜5Ð
!Ñ
!Ô
!€CØ× Ò  Ñ,Ô,€GÝ„JÐ  W¤ZÐ0Ñ0Ô0Ð0Ð0Ð0r   Údisablezhf webhooks disable abc123z!The ID of the webhook to disable.c                 ó†   — t          |¬¦  «        }|                     | ¦  «        }t          j        d|j        ¬¦  «         dS )zDisable an active webhook.r3   zWebhook disabledrV   N)r
   Údisable_webhookr   rX   r9   rI   s       r   Úwebhooks_disablerg   æ   sE   € õ ˜5Ð
!Ñ
!Ô
!€CØ×!Ò! *Ñ-Ô-€GÝ„JÐ! g¤jÐ1Ñ1Ô1Ð1Ð1Ð1r   Údeletezhf webhooks delete abc123zhf webhooks delete abc123 --yesFz The ID of the webhook to delete.Úyesz--yesz-yzSkip confirmation prompt.c                 ó°   — t          j        d| › d�|¬¦  «         t          |¬¦  «        }|                     | ¦  «         t          j        d| ¬¦  «         dS )zDelete a webhook permanently.z)Are you sure you want to delete webhook 'z'?)ri   r3   zWebhook deletedrV   N)r   Úconfirmr
   Údelete_webhookrX   )rE   ri   r1   rA   s       r   Úwebhooks_deleterm   ö   sf   € õ( „KÐJ¸JÐJÐJÐJÐPSÐTÑTÔTÐTÝ
˜5Ð
!Ñ
!Ô
!€CØ×Ò�zÑ"Ô"Ð"Ý„JÐ  ZÐ0Ñ0Ô0Ð0Ð0Ð0r   )N)NNNNN)FN)&Ú__doc__ÚenumÚtypingr   r   r   r%   Úhuggingface_hub.constantsr   Úhuggingface_hub.hf_apir   Ú
_cli_utilsr	   r
   r   Ú
_frameworkr   r   Ú_outputr   r$   ÚEnumÚstrr   Ú_DOMAIN_TYPESr   Úlistr.   Úwebhooks_cliÚcommandrC   rK   rZ   r_   rc   rg   Úboolrm   r   r   r   ú<module>r}      s  ðð DÐ Cà €€€Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6à €€€à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5ðð ð ð ð ð ð ð ð ð ð
 )Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð ð �˜.˜.Ð);Ñ<Ô<¸VÔDÑEÔE€Ø�$”)Ð-Ð/MÐ/M¸nÐ/MÑ/MÔ/MÐTWÐXÑXÔX€à�Ð)Ñ*Ô*€Ø�”	˜/Ð+HÐ+H¸-Ð+HÑ+HÔ+HÈsÐSÑSÔS€ð˜˜cœð  tÐ,>Ô'?ð ð ð ð ð8 ˆ}Ð"?Ð@Ñ@Ô@€ð ×ÒØðð ð ð ñ ô ð ðð Øðà	ðð ð ñô ðð$ ×ÒØ
à!ðð ñ ô ð ðð Ø˜#˜x˜xÐ-EÐFÑFÔFÐFÔGðàðð 
ðð ð ñô ðð ×ÒØðð ð ð ñ ô ð& 	ð 	ð 	ð 	Øð=,1ð ,1ØØˆSŒ	ØˆØØeð	
ñ 	
ô 	
ð	ôð,1ð 
Øˆd‰
ØˆÐXÐYÑYÔYð	[ô
ð,1ð Øˆd‰
ØˆØØpð	
ñ 	
ô 	
ð	ôð,1ð& Øˆ]Ô˜dÑ"ØˆØØað	
ñ 	
ô 	
ð	ôð',1ð4 Øˆd‰
ØˆÐDÐEÑEÔEð	Gôð5,1ð< ð=,1ð> 
ð?,1ð ,1ð ,1ñô ð,1ð^ ×ÒØðð ð ð ñ ô ð 	ð 	ð 	ð 	Øð7"1ð "1Ø˜#˜x˜xÐ-OÐPÑPÔPÐPÔQð"1à	Øˆd‰
ØˆÐ:Ð;Ñ;Ô;ð	=ô
ð"1ð ØˆSŒ	�DÑØˆØðIð	
ñ 	
ô 	
ð	ô	ð"1ð  Øˆ]Ô˜dÑ"ØˆØØUð	
ñ 	
ô 	
ð	ôð!"1ð. Øˆd‰
ØˆÐ?Ð@Ñ@Ô@ð	Bôð/"1ð6 ð7"1ð8 
ð9"1ð "1ð "1ñô ð"1ðJ ×ÒØà#ðð ñ ô ð ð1ð 1Ø˜#˜x˜xÐ-OÐPÑPÔPÐPÔQð1àð1ð 
ð1ð 1ð 1ñô ð1ð ×ÒØà$ðð ñ ô ð ð2ð 2Ø˜#˜x˜xÐ-PÐQÑQÔQÐQÔRð2àð2ð 
ð2ð 2ð 2ñô ð2ð ×ÒØà#Ø)ðð ñ ô ð  	Øð1ð 1Ø˜#˜x˜xÐ-OÐPÑPÔPÐPÔQð1à	ØØˆØØØ,ð	
ñ 	
ô 	
ð	ô
ð1ð ð1ð 
ð1ð 1ð 1ñô ð1ð 1ð 1r   