Ë
    ÂÓ^jf!  ã                   óZ  — 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eD � ci c]  } | | “Œ c} e¬«      Z ee«      Z ej*                  deD �ci c]  }||“Œ c}e¬«      Zdee   dee
   fd„Z ed¬«      Zej;                  dg d¢¬«      	 dFdeddfd„«       Zej;                  ddg¬«      	 dFdee ed¬«      f   deddfd„«       Zej;                  dg d¢¬«      	 	 	 	 	 dGd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j;                  d-g d.¢¬«      	 	 	 	 	 dGdee ed/¬«      f   d"eedz   ed0¬«      f   deee   dz   ed d1¬«      f   d'eee   dz   ed(d2¬«      f   d*eedz   ed3¬«      f   deddfd4„«       Z!ej;                  d5d6g¬«      	 dFdee ed7¬«      f   deddfd8„«       Z"ej;                  d9d:g¬«      	 dFdee ed;¬«      f   deddfd<„«       Z#ej;                  d=d>d?g¬«      	 	 dHdee ed@¬«      f   dAee$ edBdCdD¬«      f   deddfdE„«       Z%yc c} w c c}w )Iz=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ÚWatchedItemType)r   ÚWebhookDomainÚvaluesÚreturnc           	      óT  — g }t        t        «      }| D ]‘  }d|vr+t        j                  d|› ddj	                  |«      › d�«      ‚|j                  dd«      \  }}||vr+t        j                  d|› ddj	                  |«      › d�«      ‚|j                  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         úg/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/huggingface_hub/cli/webhooks.pyÚ_parse_watchr$   )   sÆ   € ð €EÜœÓ'€KØò 	?ˆØ�a‰<Ü×$Ñ$ØUÐVWÐUXð Y!Ø!%§¡¨;Ó!7Ð 8¸ð;óð ð —W‘W˜S !“_‰
ˆˆdØ�{Ñ"Ü×$Ñ$ ~°d°VÐ;KÈDÏIÉIÐVaÓLbÐKcÐcdÐ%eÓfÐfØ�‰Ô'¨T¸Ô=Õ>ð	?ð €Ló    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                 óp  — t        | ¬«      }|j                  «       D ��cg c]o  }|j                  |j                  xs d|j                  |j
                  xs g |j                  xs g D �cg c]  }|j                  › d|j                  › �‘Œ c}dœ‘Œq }}}t        j                  |«       yc c}w c c}}w )z'List all webhooks for the current user.©r(   z(job)r   )ÚidÚurlÚdisabledÚdomainsÚwatchedN)r
   Úlist_webhooksr+   r,   r-   r.   r/   r   r   r   Útable)r(   ÚapiÚwÚwiÚresultss        r#   Úwebhooks_lsr6   H   s¡   € ô ˜5Ô
!€Cð ×"Ñ"Ó$÷	ð ð —$‘$Ø—5‘5Ò#˜GØŸ
™
Ø—y‘y’ BØ:;¿)¹)º/ÀrÖK°2˜2Ÿ7™7˜) 1 R§W¡W IÒ.ÒKó	
ð	€Gñ 	ô ‡I�IˆgÕùò	 Lùó	s    AB2Á+"B-ÂB2Â-B2Úinfozhf webhooks info abc123Ú
webhook_idzThe ID of the webhook.c                 óh   — t        |¬«      }|j                  | «      }t        j                  |«       y)z'Show full details for a single webhook.r*   N)r
   Úget_webhookr   Údict©r8   r(   r2   Úwebhooks       r#   Úwebhooks_infor>   b   s(   € ô ˜5Ô
!€CØ�o‰o˜jÓ)€GÜ‡H�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                 óJ  — |�|�t        j                  d«      ‚|€|€t        j                  d«      ‚t        |¬«      }t        | «      }|r|D �cg c]  }|j                  ‘Œ c}nd}	|j                  ||||	|¬«      }
t        j                  d|
j                  ¬«       yc c}w )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.r*   )r,   rA   r/   r.   rC   zWebhook created©r+   )	r   r   r
   r$   ÚvalueÚcreate_webhookr   Úresultr+   )r@   r,   rA   rB   rC   r(   r2   Úwatched_itemsÚdr.   r=   s              r#   Úwebhooks_createrK   r   s�   € ðX €˜6Ð-Ü× Ñ Ð!NÓOÐOØ
€{�v�~Ü× Ñ Ð!DÓEÐEÜ
˜5Ô
!€CÜ  Ó'€MÙ+1 Ö'˜1ˆq�w‹wÓ'°t€GØ× Ñ  S°ÀÐX_ÐhnÐ Óo€GÜ‡J�JÐ  W§Z¡ZÖ0ùò (s   ÁB Ú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 �cg c]  }|j                  ‘Œ c}nd}	|j                  | |||	|¬«      }
t	        j
                  d|
j                  ¬«       yc c}w )z>Update an existing webhook. Only provided options are changed.r*   N)r,   r/   r.   rC   zWebhook updatedrE   )r
   r$   rF   Úupdate_webhookr   rH   r+   )r8   r,   r@   rB   rC   r(   r2   rI   rJ   r.   r=   s              r#   Úwebhooks_updaterO   ©   sj   € ôL ˜5Ô
!€CÙ+0”L Ô'°d€MÙ+1 Ö'˜1ˆq�w‹wÓ'°t€GØ× Ñ  °¸mÐU\ÐekÐ Ól€GÜ‡J�JÐ  W§Z¡ZÖ0ùò (s   ¢A2Úenablezhf webhooks enable abc123z The ID of the webhook to enable.c                 ó€   — t        |¬«      }|j                  | «      }t        j                  d|j                  ¬«       y)zEnable a disabled webhook.r*   zWebhook enabledrE   N)r
   Úenable_webhookr   rH   r+   r<   s       r#   Úwebhooks_enablerS   Ö   s1   € ô ˜5Ô
!€CØ× Ñ  Ó,€GÜ‡J�JÐ  W§Z¡ZÖ0r%   Údisablezhf webhooks disable abc123z!The ID of the webhook to disable.c                 ó€   — t        |¬«      }|j                  | «      }t        j                  d|j                  ¬«       y)zDisable an active webhook.r*   zWebhook disabledrE   N)r
   Údisable_webhookr   rH   r+   r<   s       r#   Úwebhooks_disablerW   æ   s1   € ô ˜5Ô
!€CØ×!Ñ! *Ó-€GÜ‡J�JÐ! g§j¡jÖ1r%   Údeletezhf webhooks delete abc123zhf webhooks delete abc123 --yesz The ID of the webhook to delete.Úyesz--yesz-yzSkip confirmation prompt.c                 ó¢   — t        j                  d| › d�|¬«       t        |¬«      }|j                  | «       t        j                  d| ¬«       y)zDelete a webhook permanently.z)Are you sure you want to delete webhook 'z'?)rY   r*   zWebhook deletedrE   N)r   Úconfirmr
   Údelete_webhookrH   )r8   rY   r(   r2   s       r#   Úwebhooks_deleter]   ö   sD   € ô( ‡K�KÐ;¸J¸<ÀrÐJÐPSÕTÜ
˜5Ô
!€CØ×Ñ�zÔ"Ü‡J�JÐ  ZÖ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Úcommandr6   r>   rK   rO   rS   rW   Úboolr]   )ÚtrJ   s   00r#   ú<module>rn      sï  ðñ Dã ß 6Ñ 6ã å 6Ý 5÷ñ ÷
 )Ý ñ ™.Ð);Ó<¸VÑDÓE€Ø�$—)‘)Ð-¸nÖ/M¸°°1±Ò/MÐTWÔX€áÐ)Ó*€Ø�—	‘	˜/¸-Ö+H°Q¨A¨q©DÒ+HÈsÔS€ð˜˜c™ð  tÐ,>Ñ'?ó ñ8 Ð"?Ô@€ð ×ÑØòð ó ð ñØðà	òóðð$ ×ÑØ
à!ðð ó ð ñØ˜#™xÐ-EÔFÐFÑGðàðð 
òóðð ×ÑØòð ó ð& 	ð 	ð 	ð 	Øñ=,1ØØˆS‰	ÙØØeô	
ð	ñð,1ð 
Øˆd‰
ÙÐXÔYð	[ñ
ð,1ð Øˆd‰
ÙØØpô	
ð	ñð,1ð& Øˆ]Ñ˜dÑ"ÙØØaô	
ð	ñð',1ð4 Øˆd‰
ÙÐDÔEð	Gñð5,1ð< ð=,1ð> 
ò?,1óð,1ð^ ×ÑØòð ó ð 	ð 	ð 	ð 	Øñ7"1Ø˜#™xÐ-OÔPÐPÑQð"1à	Øˆd‰
ÙÐ:Ô;ð	=ñ
ð"1ð ØˆS‰	�DÑÙØðIô	
ð	ñ	ð"1ð  Øˆ]Ñ˜dÑ"ÙØØUô	
ð	ñð!"1ð. Øˆd‰
ÙÐ?Ô@ð	Bñð/"1ð6 ð7"1ð8 
ò9"1óð"1ðJ ×ÑØà#ðð ó ð ñ1Ø˜#™xÐ-OÔPÐPÑQð1àð1ð 
ò1óð1ð ×ÑØà$ðð ó ð ñ2Ø˜#™xÐ-PÔQÐQÑRð2àð2ð 
ò2óð2ð ×ÑØà#Ø)ðð ó ð  	Øñ1Ø˜#™xÐ-OÔPÐPÑQð1à	ØÙØØØ,ô	
ð	ñ
ð1ð ð1ð 
ò1óñ1ùòu 0Nùò ,Is   Á
J#
Â
J(
