Ë
    (täi®3  ã                   ó2	  — d Z ddlZddlZddlmZ ddlmZ ddlZddlm	Z	 ddl
mZmZmZmZmZmZmZmZmZmZ ddlmZmZ  G d	„ d
eej2                  «      Z G d„ deej2                  «      ZddhZee ej<                  dd¬«      f   Zdedz  dedz  dedz  fd„Z  ed¬«      Z!e!jE                  dg d¢¬«      ejF                  ejH                  ddejJ                  ejL                  dfdedee ejN                  ddd¬«      f   d ee ejN                  d!d"d#¬«      f   d$ed%ed&ed'ed(eddfd)„«       Z(e!jE                  d*d+d,g¬«      ejJ                  ejL                  dfded-ed&ed'ed(eddfd.„«       Z)e!jE                  d/g d0¢¬«      ddd1ejJ                  ejL                  dfded2ee ejN                  d3d4¬«      f   deedz   ejN                  d5d6¬«      f   deedz   ejN                  d7d8¬«      f   d9ee* ejN                  d:d;d<¬«      f   d&ed'ed(eddfd=„«       Z+e!jE                  d>d?d@g¬«      ddejJ                  ejL                  dfded-edeedz   ejN                  d5dA¬«      f   deedz   ejN                  d7dB¬«      f   d&ed'ed(eddfdC„«       Z,e!jE                  dDdEdFg¬«      dd1ejJ                  ejL                  dfded-ed>eedz   ejN                  dGdH¬«      f   dIee* ejN                  dJdKdL¬«      f   d&ed'ed(eddfdM„«       Z-e!jE                  dNdOdPg¬«      dd1ejJ                  ejL                  dfded-ed>eedz   ejN                  dGdQ¬«      f   dIee* ejN                  dJdKdL¬«      f   d&ed'ed(eddfdR„«       Z.e!jE                  dSdTg¬«      ejJ                  ejL                  dfded-edUee ej<                  dV¬«      f   d&ed'ed(eddfdW„«       Z/e!jE                  dXdYdZg¬«      dd1ejJ                  ejL                  dfded-ed>eedz   ejN                  dGd[¬«      f   dIee* ejN                  dJdKdL¬«      f   d&ed'ed(eddfd\„«       Z0e!jE                  d]d^g¬«      ejJ                  ejL                  dfded-ed&ed'ed(eddfd_„«       Z1y)`zYContains commands to interact with discussions and pull requests on the Hugging Face Hub.é    N)ÚPath)Ú	Annotated)Ú	constantsé   )
Ú	AuthorOptÚFormatWithAutoOptÚLimitOptÚ	RepoIdArgÚRepoTypeÚRepoTypeOptÚTokenOptÚapi_object_to_dictÚ
get_hf_apiÚtyper_factory)ÚOutputFormatWithAutoÚoutc                   ó    — e Zd ZdZdZdZdZdZy)ÚDiscussionStatusÚopenÚclosedÚmergedÚdraftÚallN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   © ó    ún/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/huggingface_hub/cli/discussions.pyr   r   (   s   „ Ø€DØ€FØ€FØ€EØ
�Cr   r   c                   ó   — e Zd ZdZdZdZy)ÚDiscussionKindr   Ú
discussionÚpull_requestN)r   r   r   r   r"   r#   r   r   r   r!   r!   0   s   „ Ø
€CØ€JØ!�Lr   r!   r   r   z&The discussion or pull request number.)ÚhelpÚminÚbodyÚ	body_fileÚreturnc                 ó¸   — | �|�t        j                  d«      ‚|�>t        |«      dk(  rt        j                  j                  «       S |j                  d¬«      S | S )zFResolve body text from --body or --body-file (supports '-' for stdin).z'Cannot use both --body and --body-file.Ú-zutf-8)Úencoding)ÚtyperÚBadParameterÚstrÚsysÚstdinÚreadÚ	read_text)r&   r'   s     r   Ú
_read_bodyr3   F   s[   € àÐ˜IÐ1Ü× Ñ Ð!JÓKÐKØÐÜˆy‹>˜SÒ Ü—9‘9—>‘>Ó#Ð#Ø×"Ñ"¨GÐ"Ó4Ð4Ø€Kr   z0Manage discussions and pull requests on the Hub.)r$   z	list | ls)z%hf discussions list username/my-modelzIhf discussions list username/my-model --kind pull_request --status mergedzFhf discussions list username/my-dataset --type dataset --status closedzBhf discussions list username/my-model --author alice --format json)Úexamplesé   Úrepo_idÚstatusz-sz--statusz4Filter by status (open, closed, merged, draft, all).Úkindz-kz--kindz/Filter by kind (discussion, pull_request, all).ÚauthorÚlimitÚ	repo_typeÚformatÚtokenc                 ó  — t        |¬«      }|t        j                  k(  rd}	n|t        j                  k(  rd}	nd}	|t        j
                  k(  rd}
n|j                  }
g }|j                  | ||
|	|j                  ¬«      D ]O  }|j                  t        v r|j                  |j                  k7  rŒ/|j                  |«       t        |«      |k\  sŒO n |D �cg c]  }t        |«      ‘Œ }}t        j                  |g d¢dddi¬	«       yc c}w )
z-List discussions and pull requests on a repo.©r=   r   r   N)r6   r9   Údiscussion_typeÚdiscussion_statusr;   )ÚnumÚtitleÚis_pull_requestr7   r9   Ú
created_atrB   Úright)ÚheadersÚid_keyÚ
alignments)r   r   r   r   r!   r   ÚvalueÚget_repo_discussionsÚ_CLIENT_SIDE_STATUSESr7   ÚappendÚlenr   r   Útable)r6   r7   r8   r9   r:   r;   r<   r=   ÚapiÚ
api_statusÚapi_discussion_typeÚdiscussionsÚdÚitemss                 r   Údiscussion_listrV   T   s  € ôD ˜5Ô
!€Cð Ô!×&Ñ&Ò&Ø‰
Ø	Ô#×*Ñ*Ò	*Ø‰
àˆ
ð Œ~×!Ñ!Ò!Ø"Ñà"Ÿj™jÐà€KØ×%Ñ%ØØØ+Ø$Ø—/‘/ð &ö ˆð �<‰<Ô0Ñ0°Q·X±XÀÇÁÒ5MØØ×Ñ˜1ÔÜˆ{Ó˜uÓ$Ùðñ -8Ó8©K qÔ Õ"¨K€EÐ8Ü‡I�IØÚUØØ˜7Ð#ö	ùò 9s   ÃDÚinfoz'hf discussions info username/my-model 5z5hf discussions info username/my-model 5 --format jsonrB   c                 ó‚   — t        |¬«      }|j                  | ||j                  ¬«      }t        j                  |«       y)z,Get info about a discussion or pull request.r?   ©r6   Údiscussion_numr;   N)r   Úget_discussion_detailsrJ   r   Údict©r6   rB   r;   r<   r=   rP   Údetailss          r   Údiscussion_infor_   �   s>   € ô ˜5Ô
!€CØ×(Ñ(ØØØ—/‘/ð )ó €Gô
 ‡H�HˆWÕr   Úcreate)z<hf discussions create username/my-model --title "Bug report"zWhf discussions create username/my-model --title "Feature request" --body "Please add X"zIhf discussions create username/my-model --title "Fix typo" --pull-requestzUhf discussions create username/my-dataset --type dataset --title "Data quality issue"FrC   z--titlez,The title of the discussion or pull request.z--bodyz$The description (supports Markdown).z--body-filez4Read the description from a file. Use '-' for stdin.r#   z--pull-requestz--prz.Create a pull request instead of a discussion.c                 ó&  — t        ||«      }t        |¬«      }	|	j                  | |||j                  |¬«      }
|rdnd}|rd|
j                  › �nd}t        j                  d|› d|
j                  › d	| › �|
j                  |
j                  |¬
«       y)z2Create a new discussion or pull request on a repo.r?   )r6   rC   Údescriptionr;   r#   zpull requestr"   zrefs/pr/NzCreated z #z on )rB   ÚurlÚref)r3   r   Úcreate_discussionrJ   rB   r   Úresultrc   )r6   rC   r&   r'   r#   r;   r<   r=   rb   rP   r"   r8   rd   s                r   Údiscussion_createrg   µ   s™   € ôZ ˜T 9Ó-€KÜ
˜5Ô
!€CØ×&Ñ&ØØØØ—/‘/Ø!ð 'ó €Jñ *‰>¨|€DÙ)5ˆH�Z—^‘^Ð$Ñ
%¸4€CÜ‡J�J�˜$˜˜r *§.¡.Ð!1°°g°YÐ?ÀZÇ^Á^ÐYc×YgÑYgÐmpÖqr   ÚcommentzIhf discussions comment username/my-model 5 --body "Thanks for reporting!"z9hf discussions comment username/my-model 5 --body "LGTM!"z%The comment text (supports Markdown).z0Read the comment from a file. Use '-' for stdin.c                 óÜ   — t        ||«      }|€t        j                  d«      ‚t        |¬«      }|j	                  | |||j
                  ¬«       t        j                  d|› d| › �|| ¬«       y)z(Comment on a discussion or pull request.Nz)Either --body or --body-file is required.r?   ©r6   rZ   rh   r;   zCommented on #ú in ©rB   Úrepo)r3   r,   r-   r   Úcomment_discussionrJ   r   rf   )	r6   rB   r&   r'   r;   r<   r=   rh   rP   s	            r   Údiscussion_commentro   ð   ss   € ô: ˜˜yÓ)€GØ€Ü× Ñ Ð!LÓMÐMÜ
˜5Ô
!€CØ×ÑØØØØ—/‘/ð	 ô ô ‡J�J� ˜u D¨¨	Ð2¸À'ÖJr   Úclosez(hf discussions close username/my-model 5zIhf discussions close username/my-model 5 --comment "Closing as resolved."z	--commentz)An optional comment to post when closing.Úyesz--yesz-yzSkip confirmation prompt.c                 óÔ   — t        j                  d|› d| › d�|¬«       t        |¬«      }|j                  | |d||j                  ¬«       t        j
                  d|› d	| › �|| ¬
«       y)z#Close a discussion or pull request.zClose #ú on 'ú'?©rq   r?   r   ©r6   rZ   Ú
new_statusrh   r;   zClosed #rk   rl   N©r   Úconfirmr   Úchange_discussion_statusrJ   rf   ©r6   rB   rh   rq   r;   r<   r=   rP   s           r   Údiscussion_closer|     sp   € ô< ‡K�K�'˜#˜˜e G 9¨BÐ/°SÕ9Ü
˜5Ô
!€CØ× Ñ ØØØØØ—/‘/ð !ô ô ‡J�J�˜#˜˜d 7 )Ð,°#¸GÖDr   Úreopenz)hf discussions reopen username/my-model 5zZhf discussions reopen username/my-model 5 --comment "Reopening for further investigation."z+An optional comment to post when reopening.c                 óÔ   — t        j                  d|› d| › d�|¬«       t        |¬«      }|j                  | |d||j                  ¬«       t        j
                  d|› d	| › �|| ¬
«       y)z+Reopen a closed discussion or pull request.zReopen #rs   rt   ru   r?   r   rv   z
Reopened #rk   rl   Nrx   r{   s           r   Údiscussion_reopenr   D  sp   € ô< ‡K�K�(˜3˜%˜u W I¨RÐ0°cÕ:Ü
˜5Ô
!€CØ× Ñ ØØØØØ—/‘/ð !ô ô ‡J�J�˜C˜5  W IÐ.°C¸gÖFr   Úrenamez9hf discussions rename username/my-model 5 "Updated title"Ú	new_titlezThe new title.c                 ó˜   — t        |¬«      }|j                  | |||j                  ¬«       t        j                  d|› d| › �|| |¬«       y)z$Rename a discussion or pull request.r?   )r6   rZ   r�   r;   z	Renamed #rk   )rB   rm   rC   N)r   Úrename_discussionrJ   r   rf   )r6   rB   r�   r;   r<   r=   rP   s          r   Údiscussion_renamer„   n  sR   € ô( ˜5Ô
!€CØ×ÑØØØØ—/‘/ð	 ô ô ‡J�J�˜3˜%˜t G 9Ð-°3¸WÈIÖVr   Úmergez(hf discussions merge username/my-model 5zEhf discussions merge username/my-model 5 --comment "Merging, thanks!"z)An optional comment to post when merging.c                 óÒ   — t        j                  d|› d| › d�|¬«       t        |¬«      }|j                  | |||j                  ¬«       t        j
                  d|› d| › �|| ¬	«       y
)zMerge a pull request.zMerge #rs   rt   ru   r?   rj   zMerged #rk   rl   N)r   ry   r   Úmerge_pull_requestrJ   rf   r{   s           r   Údiscussion_mergerˆ   Œ  sm   € ô< ‡K�K�'˜#˜˜e G 9¨BÐ/°SÕ9Ü
˜5Ô
!€CØ×ÑØØØØ—/‘/ð	 ô ô ‡J�J�˜#˜˜d 7 )Ð,°#¸GÖDr   Údiffz'hf discussions diff username/my-model 5c                 óÚ   — t        |¬«      }|j                  | ||j                  ¬«      }|j                  r t	        j
                  |j                  «       yt	        j
                  d«       y)z Show the diff of a pull request.r?   rY   zNo diff available.N)r   r[   rJ   r‰   r   Útextr]   s          r   Údiscussion_diffrŒ   µ  sV   € ô ˜5Ô
!€CØ×(Ñ(ØØØ—/‘/ð )ó €Gð
 ‡|‚|Ü�‰�—‘Õä�‰Ð%Õ&r   )2Ú__doc__Úenumr/   Úpathlibr   Útypingr   r,   Úhuggingface_hubr   Ú
_cli_utilsr   r   r	   r
   r   r   r   r   r   r   Ú_outputr   r   r.   ÚEnumr   r!   rL   ÚintÚArgumentÚDiscussionNumArgr3   Údiscussions_cliÚcommandr   r   ÚmodelÚautoÚOptionrV   r_   Úboolrg   ro   r|   r   r„   rˆ   rŒ   r   r   r   Ú<module>rž      sc  ðñ `ã Û 
Ý Ý ã å %÷÷ ÷ ÷ /ô�s˜DŸI™Iô ô"�S˜$Ÿ)™)ô "ð " 7Ð+Ð ð ØØ€E‡N�NØ5ØôðñÐ ð�S˜4‘Zð ¨D°4©Kð ¸CÀ$¹Jó ñ  Ð%WÔX€ð ×ÑØòð ó ð$ 	×Ñð 	×ÑØØØ%Ÿ^™^Ø 4× 9Ñ 9Øñ-=Øð=àØØˆ�‰ØØØGô	
ð	ñð=ð ØØˆ�‰ØØØBô	
ð	ñð=ð$ ð%=ð& ð'=ð( ð)=ð* ð+=ð, ð-=ð. 
ò/=óð=ð@ ×ÑØ
à1Ø?ðð ó ð &Ÿ^™^Ø 4× 9Ñ 9ØñØðà	ðð ðð ð	ð
 ðð 
òóðð" ×ÑØòð ó ð0 	ð 	ð 	Ø%Ÿ^™^Ø 4× 9Ñ 9ØñC/rØð/ràØØˆ�‰ØØ?ô	
ð	ñð/rð Øˆd‰
Øˆ�‰ØØ7ô	
ð	ñð/rð  Øˆt‰Øˆ�‰ØØGô	
ð	ñð!/rð. ØØˆ�‰ØØØAô	
ð	ñð//rð> ð?/rð@ ðA/rðB ðC/rðD 
òE/róð/rðd ×ÑØàSØCðð ó ð  	ð 	Ø%Ÿ^™^Ø 4× 9Ñ 9Øñ' KØð Kà	ð Kð Øˆd‰
Øˆ�‰ØØ8ô	
ð	ñð Kð Øˆt‰Øˆ�‰ØØCô	
ð	ñð Kð" ð# Kð$ ð% Kð& ð' Kð( 
ò) Kóð KðF ×ÑØà2ØSðð ó ð  	ð 	Ø%Ÿ^™^Ø 4× 9Ñ 9Øñ) EØð Eà	ð Eð Øˆd‰
Øˆ�‰ØØ<ô	
ð	ñð Eð 
ØØˆ�‰ØØØ,ô	
ð	ñ
ð Eð$ ð% Eð& ð' Eð( ð) Eð* 
ò+ Eóð EðF ×ÑØà3Ødðð ó ð  	ð 	Ø%Ÿ^™^Ø 4× 9Ñ 9Øñ) GØð Gà	ð Gð Øˆd‰
Øˆ�‰ØØ>ô	
ð	ñð Gð 
ØØˆ�‰ØØØ,ô	
ð	ñ
ð Gð$ ð% Gð& ð' Gð( ð) Gð* 
ò+ Góð GðF ×ÑØàCðð ó ð &Ÿ^™^Ø 4× 9Ñ 9ØñWØðWà	ðWð ØØˆ�‰Ø!ô	
ð	ñðWð ðWð ðWð ðWð 
òWóðWð0 ×ÑØà2ØOðð ó ð  	ð 	Ø%Ÿ^™^Ø 4× 9Ñ 9Øñ)EØðEà	ðEð Øˆd‰
Øˆ�‰ØØ<ô	
ð	ñðEð 
ØØˆ�‰ØØØ,ô	
ð	ñ
ðEð$ ð%Eð& ð'Eð( ð)Eð* 
ò+EóðEðD ×ÑØ
à1ðð ó ð &Ÿ^™^Ø 4× 9Ñ 9Øñ'Øð'à	ð'ð ð'ð ð	'ð
 ð'ð 
ò'óñ'r   