+
    QV-j4$  ã                   ó   € R t ^ RIt^ RIHtHtHt ^ RIt^ RIHt ^ RI	H
t
 ^RIHtHtHt ^RIHt ]! ]! ]
4      R,          4      t]P$                  ! R] U u/ uF  q V bK  	  up ]R	7      t]! ]4      t]P$                  ! R
] Uu/ uF  qVbK  	  up]R	7      tR R lt]! RR7      t]P3                  R. R*OR7      R+R R ll4       t]P3                  RR.R7      R+R R ll4       t]P3                  R. R,OR7      R-R R ll4       t]P3                  R. R.OR7      R-R R ll4       t]P3                  RR.R7      R+R R  ll4       t]P3                  R!R".R7      R+R# R$ ll4       t]P3                  R%R&R'.R7      R/R( R) ll4       t R# u up i u upi )0aÚ  Contains commands to manage webhooks on the Hugging Face Hub.

Usage:
    # list all webhooks
    hf webhooks ls

    # show details of a single webhook
    hf webhooks info <webhook_id>

    # create a new webhook
    hf webhooks create --url https://example.com/hook --watch model:bert-base-uncased

    # create a webhook watching multiple items and domains
    hf webhooks create --url https://example.com/hook --watch org:HuggingFace --watch model:gpt2 --domain repo

    # update a webhook
    hf webhooks update <webhook_id> --url https://new-url.com/hook

    # enable / disable a webhook
    hf webhooks enable <webhook_id>
    hf webhooks disable <webhook_id>

    # delete a webhook
    hf webhooks delete <webhook_id>
N)Ú	AnnotatedÚget_argsÚget_type_hints)ÚWEBHOOK_DOMAIN_T)ÚWebhookWatchedItem)ÚTokenOptÚ
get_hf_apiÚtyper_factory)ÚoutÚtypeÚWatchedItemType)r   ÚWebhookDomainc                ó\   € V ^8„  d   QhR\         \        ,          R\         \        ,          /# )é   ÚvaluesÚreturn)ÚlistÚstrr   )Úformats   "Úm/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/huggingface_hub/cli/webhooks.pyÚ__annotate__r   @   s$   € ÷ ñ œœc�ð ¤tÔ,>Õ'?ñ ó    c           	     ób  € . p\        \        4      pV  F—  pRV9  d-   \        P                  ! RV RRP	                  V4       R24      hVP                  R^4      w  rEWB9  d-   \        P                  ! RV RRP	                  V4       R24      hVP                  \        WER7      4       K™  	  V# )a9  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:
    typer.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, Ú.zInvalid type ')r   Úname)ÚtupleÚ_WATCHED_TYPESÚtyperÚBadParameterÚjoinÚsplitÚappendr   )r   ÚitemsÚvalid_typesÚvÚkindr   s   &     r   Ú_parse_watchr'   @   s»   € ð €EÜœÓ'€KÛˆØ�aŒ<Ü×$Ò$ØUÐVWÐUXð Y!Ø!%§¡¨;Ó!7Ð 8¸ð;óð ð —W‘W˜S !“_‰
ˆØÔ"Ü×$Ò$ ~°d°VÐ;KÈDÏIÉIÐVaÓLbÐKcÐcdÐ%eÓfÐfØ�‰Ô'¨TÔ=Ö>ñ ð €Lr   zManage webhooks on the Hub.©Úhelpz	list | ls)Úexamplesc                ó(   € V ^8„  d   QhR\         RR/# )r   Útokenr   N)r   )r   s   "r   r   r   g   s   € ÷ ñ Üðà	ñr   c                ó¦  € \        V R7      pVP                  4        UUu. uF‡  pRVP                  RVP                  ;'       g    RRVP                  RVP
                  ;'       g    . RVP                  ;'       g    .  Uu. uF  q3P                   RVP                   2NK  	  up/NK‰  	  ppp\        P                  ! V4       R	# u upi u uppi )
z'List all webhooks for the current user.©r,   ÚidÚurlz(job)ÚdisabledÚdomainsÚwatchedr   N)r   Úlist_webhooksr/   r0   r1   r2   r3   r   r   r
   Útable)r,   ÚapiÚwÚwiÚresultss   &    r   Úwebhooks_lsr:   _   s»   € ô ˜5Ô
!€Cð ×"Ñ"Ô$ô	ñ %ˆAð �!—$‘$Ø�1—5‘5×#Ð#˜GØ˜Ÿ
™
Ø�q—y‘y—� BØ¸!¿)¹)¿/¸/Àr¸/ÓK¹/°2Ÿ7™7˜) 1 R§W¡W IÓ.¹/ÑKó	
ñ %ð ñ 	ô ‡I‚IˆgÖùò	 Lùó	s)    $CÁ!CÁ'CÁ=CÂ#CÂ%CÃCÚinfozhf webhooks info abc123c                óx   € V ^8„  d   QhR\         \        \        P                  ! RR7      3,          R\        RR/# )r   Ú
webhook_idzThe ID of the webhook.r(   r,   r   N©r   r   r   ÚArgumentr   )r   s   "r   r   r      s:   € ÷ ñ Üœ#œuŸ~š~Ð3KÔLÐLÕMðäðð 
ñr   c                ól   € \        VR7      pVP                  V 4      p\        P                  ! V4       R# )z'Show full details for a single webhook.r.   N)r   Úget_webhookr
   Údict©r=   r,   r6   Úwebhooks   &&  r   Úwebhooks_inforE   y   s(   € ô ˜5Ô
!€CØ�o‰o˜jÓ)€GÜ‡H‚HˆWÖr   Úcreatec                ó"  € V ^8„  d   QhR\         \        \        ,          \        P                  ! RRR7      3,          R\         \        R,          \        P                  ! RR7      3,          R\         \        R,          \        P                  ! R	R
R7      3,          R\         \        \
        ,          R,          \        P                  ! RRR7      3,          R\         \        R,          \        P                  ! RR7      3,          R\        RR/# )r   Úwatchú--watchzRItem to watch, in 'type:name' format (e.g. 'model:bert-base-uncased'). Repeatable.r(   r0   NzBURL 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.Údomainú--domainzNDomain to watch: 'repo' or 'discussions'. Repeatable. Defaults to all domains.Úsecretz.Optional secret used to sign webhook payloads.r,   r   )r   r   r   r   ÚOptionr   r   )r   s   "r   r   r   ‘   sý   € ÷ ,1ñ ,1ÜÜŒS�	Ü�ŠØØeô	
ð	õð,1ô 
Üˆd�
Ü�ŠÐ^Ô_ð	aõ
ð,1ô Üˆd�
Ü�ŠØØpô	
ð	õð,1ô& ÜŒ]Õ˜dÕ"Ü�ŠØØaô	
ð	õð',1ô4 Üˆd�
Ü�ŠÐJÔKð	Mõð5,1ô< ð=,1ð> 
ñ?,1r   c                ól  € Ve   Ve   \         P                  ! R4      hVf   Vf   \         P                  ! R4      h\        VR7      p\        V 4      pV'       d   V Uu. uF  qˆP                  NK  	  upMRp	VP                  WWyVR7      p
\        P                  ! RV
P                  R7       R# u upi )ztCreate 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.   )r0   rJ   r3   r2   rM   zWebhook created©r/   )	r   r   r   r'   ÚvalueÚcreate_webhookr
   Úresultr/   )rH   r0   rJ   rK   rM   r,   r6   Úwatched_itemsÚdr2   rD   s   &&&&&&     r   Úwebhooks_createrV   ‰   sš   € ðX ‚˜6Ò-Ü× Ò Ð!NÓOÐOØ
‚{�v’~Ü× Ò Ð!DÓEÐEÜ
˜5Ô
!€CÜ  Ó'€Mß+1¡Ó'¡˜1�wŒw¡Ò'°t€GØ× Ñ  SÀÐhnÐ Óo€GÜ‡J‚JÐ  W§Z¡Z×0ùò (s   Á B1Úupdatec                ó   € V ^8„  d   QhR\         \        \        P                  ! RR7      3,          R\         \        R,          \        P                  ! RR7      3,          R\         \
        \        ,          R,          \        P                  ! RR	R7      3,          R
\         \
        \        ,          R,          \        P                  ! RRR7      3,          R\         \        R,          \        P                  ! RR7      3,          R\        RR/# )r   r=   z The ID of the webhook to update.r(   r0   Nz$New URL to send webhook payloads to.rH   rI   ziNew list of items to watch, in 'type:name' format. Repeatable. Replaces the entire existing watched list.rK   rL   zBNew list of domains to watch: 'repo' or 'discussions'. Repeatable.rM   z)New secret used to sign webhook payloads.r,   r   )r   r   r   r?   rN   r   r   r   )r   s   "r   r   r   È   sô   € ÷ "1ñ "1Üœ#œuŸ~š~Ð3UÔVÐVÕWð"1ä	Üˆd�
Ü�ŠÐ@ÔAð	Cõ
ð"1ô ÜŒS�	�DÕÜ�ŠØðIô	
ð	õ	ð"1ô  ÜŒ]Õ˜dÕ"Ü�ŠØØUô	
ð	õð!"1ô. Üˆd�
Ü�ŠÐEÔFð	Hõð/"1ô6 ð7"1ð8 
ñ9"1r   c                ó  € \        VR7      pV'       d   \        V4      MRpV'       d   V Uu. uF  qˆP                  NK  	  upMRp	VP                  WWyVR7      p
\        P
                  ! RV
P                  R7       R# u upi )z>Update an existing webhook. Only provided options are changed.r.   N)r0   r3   r2   rM   zWebhook updatedrP   )r   r'   rQ   Úupdate_webhookr
   rS   r/   )r=   r0   rH   rK   rM   r,   r6   rT   rU   r2   rD   s   &&&&&&     r   Úwebhooks_updater[   À   sg   € ôL ˜5Ô
!€Cß+0”L Ô'°d€Mß+1¡Ó'¡˜1�wŒw¡Ò'°t€GØ× Ñ  ¸mÐekÐ Ól€GÜ‡J‚JÐ  W§Z¡Z×0ùò (s   ®A?Úenablezhf webhooks enable abc123c                óx   € V ^8„  d   QhR\         \        \        P                  ! RR7      3,          R\        RR/# )r   r=   z The ID of the webhook to enable.r(   r,   r   Nr>   )r   s   "r   r   r   ó   s:   € ÷ 1ñ 1Üœ#œuŸ~š~Ð3UÔVÐVÕWð1äð1ð 
ñ1r   c                ó„   € \        VR7      pVP                  V 4      p\        P                  ! RVP                  R7       R# )zEnable a disabled webhook.r.   zWebhook enabledrP   N)r   Úenable_webhookr
   rS   r/   rC   s   &&  r   Úwebhooks_enabler`   í   s1   € ô ˜5Ô
!€CØ× Ñ  Ó,€GÜ‡J‚JÐ  W§Z¡Z×0r   Údisablezhf webhooks disable abc123c                óx   € V ^8„  d   QhR\         \        \        P                  ! RR7      3,          R\        RR/# )r   r=   z!The ID of the webhook to disable.r(   r,   r   Nr>   )r   s   "r   r   r     s:   € ÷ 2ñ 2Üœ#œuŸ~š~Ð3VÔWÐWÕXð2äð2ð 
ñ2r   c                ó„   € \        VR7      pVP                  V 4      p\        P                  ! RVP                  R7       R# )zDisable an active webhook.r.   zWebhook disabledrP   N)r   Údisable_webhookr
   rS   r/   rC   s   &&  r   Úwebhooks_disablere   ý   s1   € ô ˜5Ô
!€CØ×!Ñ! *Ó-€GÜ‡J‚JÐ! g§j¡j×1r   Údeletezhf webhooks delete abc123zhf webhooks delete abc123 --yesc                óÌ   € V ^8„  d   QhR\         \        \        P                  ! RR7      3,          R\         \        \        P
                  ! RRRR7      3,          R\        R	R
/# )r   r=   z The ID of the webhook to delete.r(   Úyesz--yesz-yzSkip confirmation prompt.r,   r   N)r   r   r   r?   ÚboolrN   r   )r   s   "r   r   r     sf   € ÷ 1ñ 1Üœ#œuŸ~š~Ð3UÔVÐVÕWð1ä	ÜÜ�ŠØØØ,ô	
ð	õ
ð1ô ð1ð 
ñ1r   c                ó¨   € \         P                  ! RV  R2VR7       \        VR7      pVP                  V 4       \         P                  ! RV R7       R# )zDelete a webhook permanently.z)Are you sure you want to delete webhook 'z'?)rh   r.   zWebhook deletedrP   N)r
   Úconfirmr   Údelete_webhookrS   )r=   rh   r,   r6   s   &&& r   Úwebhooks_deleterm     sD   € ô( ‡K‚KÐ;¸J¸<ÀrÐJÐPSÕTÜ
˜5Ô
!€CØ×Ñ�zÔ"Ü‡J‚JÐ  Z×0r   )zhf webhooks lszhf webhooks ls --format jsonzhf webhooks ls --format quiet)N)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)NNNNN)z8hf webhooks update abc123 --url https://new-url.com/hookz:hf webhooks update abc123 --watch model:gpt2 --domain repoz,hf webhooks update abc123 --secret newsecret)FN)!Ú__doc__ÚenumÚtypingr   r   r   r   Úhuggingface_hub.constantsr   Úhuggingface_hub.hf_apir   Ú
_cli_utilsr   r   r	   Ú_outputr
   r   ÚEnumr   r   Ú_DOMAIN_TYPESr   r'   Úwebhooks_cliÚcommandr:   rE   rV   r[   r`   re   rm   )ÚtrU   s   00r   Ú<module>rz      sû  ðñó4 ß 6Ñ 6ã å 6Ý 5÷ñ õ
 ñ ™.Ð);Ó<¸VÕDÓE€Ø—)’)Ð-¹nÓ/M¹n¸°1²¹nÑ/MÐTWÔX€áÐ)Ó*€Ø—	’	˜/¹-Ó+H¹-°Q¨qªD¹-Ñ+HÈsÔS€õñ8 Ð"?Ô@€ð ×ÑØòð ó öóðð$ ×ÑØ
à!ðð ó öóðð ×ÑØòð ó ö,1óð,1ð^ ×ÑØòð ó ö"1óð"1ðJ ×ÑØà#ðð ó ö1óð1ð ×ÑØà$ðð ó ö2óð2ð ×ÑØà#Ø)ðð ó ö1óò1ùòu 0Nùò ,Is   ÁF
ÂF
