+
    UV-joQ  ã                   ó   a € R2 t00 t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHtHtHtHtHt ^ RIHt ]! ]P(                  P+                  RR4      4      tR3tR	 R
 lt] ! R R4      4       t] ! R R4      4       t ! R R4      t/ t] ^ k ]! 4       t] ^k ]
! 4       tR R ltR R lt R t!R R lt"R R lt#R R lt$R4R R llt%R4R R llt&R  R! lt'R" R# lt(R$ R% lt)R& R' lt*R( R) lt+R* R+ lt,R, R- lt-R. R/ lt.R0 R1 lt/R# )5é    N)Údeque)Ú	dataclass)ÚLock)ÚAnyÚDictÚListÚOptionalÚTuple)ÚHTTPExceptionÚMLX_VLM_RESPONSE_STORE_LIMITÚ1024c                ó0   € V ^8„  d   QhR\         R\         /# ©é   ÚtextÚreturn©Ústr)Úformats   "Úo/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/server/responses_state.pyÚ__annotate__r      s   € ÷ ñ ¤ð ¬ñ ó    c                 óD   € \          F  pV P                  VR 4      p K  	  V # )Ú )Ú_CONTENT_MARKERSÚreplace)r   Úmarkers   & r   Ú_strip_content_markersr      s!   € ß"ˆØ�|‰|˜F BÓ'Šñ #à€Kr   c                   ó0   a € ] tR t^t o RtV 3R ltRtV tR# )ÚStoredResponseNc                ó¼   <€ V ^8„  d   Qh/ S[ S[S[3,          ;R&   S[S[ S[S[3,          ,          ;R&   S[S[ S[S[3,          ,          ;R&   S[S[,          ;R&   # ©r   ÚresponseÚinput_itemsÚoutput_itemsÚprevious_response_id)r   r   r   r   r	   )r   Ú__classdict__s   "€r   r   ÚStoredResponse.__annotate__   s]   ø‡ ‚ á‘3™�8�nÑñ ñ ‘d™3¡˜8•nÕ%Ñ%ñ ñ ‘t™C¡˜H•~Õ&Ñ&ñ	 ñ
 #¡3�-Ñ.ò r   © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r&   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r'   s   @r   r    r       s   ø‡ € ð
 +/Ð÷ ƒ r   r    c                   ó8   a € ] tR t^t o RtRtRtV 3R ltRtV t	R# )ÚThinkingStreamDeltaNFc                ó^   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   S[;R&   # )r   Ú	reasoningÚcontentÚthinking_closed)r	   r   Úbool)r   r'   s   "€r   r   Ú ThinkingStreamDelta.__annotate__   s2   ø‡ ‚ á™�}Ñ#ñ ñ ‘c�]Ñ!ñ ñ Ñ!ò	 r   r)   )
r*   r+   r,   r-   r5   r6   r7   r.   r/   r0   r1   s   @r   r3   r3      s   ø‡ € à#€IØ!€GØ!€O÷	 ƒ r   r3   c                   ó¶   a € ] tR t^%t o RtRtRV 3R lR lltV 3R lR lt]V 3R lR l4       t	]
V 3R	 lR
 l4       t]
V 3R lR l4       tV 3R lR ltRtV tR# )ÚThinkingStreamStatez=Split streamed thinking delimiters from user-visible content.Nc                óL   <€ V ^8„  d   QhRS[ RS[S[,          RS[S[,          /# )r   Úenable_thinkingÚthinking_start_tokenÚthinking_end_token)r8   r	   r   )r   r'   s   "€r   r   Ú ThinkingStreamState.__annotate__.   s1   ø€ ÷ ñ áðñ '¡s�mðñ %¡S�Mñ	r   c                ó‚  € V P                  W#4      V n        \        ;QJ d    . R  V P                   4       F  NK  	  5M! R  V P                   4       4      V n        \        ;QJ d    . R V P                   4       F  NK  	  5M! R V P                   4       4      V n        \        V4      V n        RV n        RV n        R# )c              3   ó*   "  € T F	  w  rVx € K  	  R # 5i©Nr)   )Ú.0r   Ú_s   &  r   Ú	<genexpr>Ú/ThinkingStreamState.__init__.<locals>.<genexpr>7   s   é € Ð!RÑ:Q©Y¨V¥&Ó:Qùó   ‚c              3   ó*   "  € T F	  w  rVx € K  	  R # 5irC   r)   )rD   rE   r   s   &  r   rF   rG   8   s   é € Ð"SÑ;R©i¨a¥6Ó;RùrH   Fr   N)	Ú_build_open_close_markersÚopen_close_markersÚtupleÚopen_markersÚclose_markersr8   Úin_thinkingÚthinking_doneÚbuffer)Úselfr=   r>   r?   s   &&&&r   Ú__init__ÚThinkingStreamState.__init__.   s’   € ð #'×"@Ñ"@Ø ó#
ˆÔ÷ "œEÑ!R¸$×:QÒ:QÓ!RŸE™EÑ!R¸$×:QÒ:QÓ!RÓRˆÔß"œUÑ"S¸4×;RÒ;RÓ"SŸU™UÑ"S¸4×;RÒ;RÓ"SÓSˆÔÜ Ó0ˆÔØ"ˆÔØˆŽr   c                ó&   <€ V ^8„  d   QhRS[ RS[/# r   )r   r3   )r   r'   s   "€r   r   r@   =   s   ø€ ÷ 7
ñ 7
™ð 7
Ñ!4ñ 7
r   c                óÔ  € T ;P                   T;'       g    R ,          un         . p. pRpV P                   '       Edn   V P                  '       Ed   V P                  V P                   V P                  4      w  rVV^ 8  dZ   V P	                  V P                   V P                  4      w  qpn         V P                  V4      pV'       d   VP                  V4       EMÒV P                  V P                   RV 4      pV'       d   VP                  V4       V P                   V\        V4      ,           R P                  R4      V n         RV n        RV n	        RpEK+  V P                  '       dM   V P	                  V P                   \        4      w  qpn         \        V4      pV'       d   VP                  V4       M÷V P                  V P                   V P                  4      w  rVV^ 8  dS   V P	                  V P                   V P                  4      w  qpn         \        V4      pV'       d   VP                  V4       MvV'       d2   \        V P                   RV 4      pV'       d   VP                  V4       V P                   V\        V4      ,           R P                  R4      V n         RV n        EK€  \        R P                  V4      ;'       g    RR P                  V4      ;'       g    RVR7      # )r   FNÚ
T)r5   r6   r7   )rQ   rO   Ú_find_firstrN   Ú_split_partialÚ_strip_open_markerÚappendÚlenÚlstriprP   r   r   rM   r3   Újoin)	rR   r   r5   r6   r7   Úidxr   ÚemitÚbefores	   &&       r   ÚfeedÚThinkingStreamState.feed=   sH  € Ø�Š�t—z�z˜rÕ!�Øˆ	ØˆØˆà�k�k‰kØ××ÑØ"×.Ñ.¨t¯{©{¸D×<NÑ<NÓO‘�Ø˜”7Ø(,×(;Ñ(;ØŸ™ T×%7Ñ%7ó)Ñ%�Dœ+ð  ×2Ñ2°4Ó8�DßØ!×(Ñ(¨Ô.Ùà×0Ñ0°·±¸T¸cÐ1BÓC�ßØ×$Ñ$ VÔ,à"Ÿk™k¨#´°F³Õ*;Ð*=Ð>×EÑEÀdÓK�”Ø#(�Ô Ø%)�Ô"Ø"&�Úà×!×!Ð!Ø$(×$7Ñ$7¸¿¹ÔEUÓ$VÑ!�”kÜ-¨dÓ3�ßØ—N‘N 4Ô(Øà×*Ñ*¨4¯;©;¸×8IÑ8IÓJ‰KˆCØ�QŒwØ$(×$7Ñ$7¸¿¹ÀT×EVÑEVÓ$WÑ!�”kÜ-¨dÓ3�ßØ—N‘N 4Ô(ØçÜ-¨d¯k©k¸$¸3Ð.?Ó@�ßØ—N‘N 4Ô(àŸ+™+ c¬C°«KÕ&7Ð&9Ð:×AÑAÀ$ÓGˆDŒKØ#ˆD×ä"Ø—g‘g˜iÓ(×0Ð0¨DØ—G‘G˜GÓ$×,Ð,¨Ø+ô
ð 	
r   c          	      óv   <€ V ^8„  d   QhRS[ S[,          RS[ S[,          RS[S[S[S[3,          R3,          /# )r   r>   r?   r   .)r	   r   r
   )r   r'   s   "€r   r   r@   w   sC   ø€ ÷ ñ á&¡s�mðñ %¡S�Mðñ 
‰u‘S™#�X� Ð#Õ	$ñ	r   c                ó¸   € . pV'       d   V'       d   VP                  W34       V P                   F  pWC9  g   K  VP                  V4       K  	  \        V4      # rC   )r[   Ú_DEFAULT_OPEN_CLOSE_MARKERSrL   )Úclsr>   r?   ÚmarkersÚmarker_pairs   &&&  r   rJ   Ú-ThinkingStreamState._build_open_close_markersv   sM   € ð ˆß×$6Ø�N‰NÐ0ÐEÔFØ×:Ô:ˆKØÖ)Ø—‘˜{Ö+ñ ;ô �W‹~Ðr   c                óV   <€ V ^8„  d   QhRS[ RS[S[ R3,          RS[S[S[ 3,          /# ©r   r   rh   .r   )r   r
   Úint)r   r'   s   "€r   r   r@   …   s2   ø€ ÷ 'ñ '™#ð '©©c°3¨h­ð '¹EÁ#ÁsÀ(½Oñ 'r   c                ó|   € RpRpV F0  pV P                  V4      pV^ 8¼  g   K  V^ 8  g	   WR8  g   K,  TpTpK2  	  W#3# )é   r   éÿÿÿÿ)Úfind)r   rh   Ú	found_idxÚfound_markerr   r_   s   &&    r   rX   ÚThinkingStreamState._find_first„   sJ   € àˆ	ØˆÛˆFØ—)‘)˜FÓ#ˆCØ�aŽx˜Y¨œ]¨c®oØ�	Ø%’ñ	 ð
 Ð&Ð&r   c                óV   <€ V ^8„  d   QhRS[ RS[S[ R3,          RS[S[ S[ 3,          /# rl   )r   r
   )r   r'   s   "€r   r   r@   �   s2   ø€ ÷ 
ñ 
™Sð 
©5±°c°­?ð 
¹uÁSÉ#ÀX½ñ 
r   c                ó  € ^ pV Fd  p\        \        V4      ^,
          \        V 4      4      p\        V^ R4       F+  pV P                  VRV 4      '       g   K  \	        W%4      p Kb  	  Kf  	  V'       d   V RV)  W) R 3# V R3# )r   Nr   rp   )Úminr\   ÚrangeÚendswithÚmax)r   rh   Úholdr   Úmax_lenÚlengths   &&    r   rY   Ú"ThinkingStreamState._split_partial�   s…   € àˆÛˆFÜœ#˜f›+¨�/¬3¨t«9Ó5ˆGÜ ¨¨BÖ/�Ø—=‘= ¨¨ ×1Ô1Ü˜tÓ,�DÚó 0ñ ÷ Ø˜˜$˜�<  e f Ð-Ð-Ø�Rˆxˆr   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# r   r   )r   r'   s   "€r   r   r@   œ   s   ø€ ÷ ñ ¡sð ©sñ r   c                ó’   € V P                    F6  pW!9   g   K  VP                  V^4      w  r4W4P                  R4      ,           u # 	  V# )ro   rW   )rM   Úsplitr]   )rR   r   r   ra   Úafters   &&   r   rZ   Ú&ThinkingStreamState._strip_open_markerœ   sB   € Ø×'Ô'ˆFØŽ~Ø $§
¡
¨6°1Ó 5‘�Ø§¡¨TÓ 2Õ2Ò2ñ (ð ˆr   )rQ   rN   rO   rK   rM   rP   ))ú<|channel>thoughtz
<channel|>)z<think>z</think>)z<|START_THINKING|>z<|END_THINKING|>)FNN)r*   r+   r,   r-   Ú__doc__rf   rS   rb   ÚclassmethodrJ   ÚstaticmethodrX   rY   rZ   r/   r0   r1   s   @r   r;   r;   %   sk   ø‡ € ÙGð#Ð÷ò ÷7
ð 7
ðr ÷ó ðð ÷'ó ð'ð ÷
ó ð
÷ö r   r;   c                ó¸   € V ^8„  d   QhR\         R\        R\        \         ,          R\        \         ,          R\        \        \        \         ,          3,          /# )r   Úfull_outputÚin_tool_callÚtc_startÚdelta_contentr   )r   r8   r	   r
   )r   s   "r   r   r   ©   sP   € ÷ 'ñ 'Üð'äð'ô ”s�mð'ô œC•=ð	'ô
 Œ4”œ#•ÐÕñ'r   c           	     ó  a a€ S'       g   W3# V'       gx   SS 9   d   R# \         ;QJ d3    V V3R l\        ^\        S4      4       4       F  '       g   K   RM(	  RM$! V V3R l\        ^\        S4      4       4       4      '       d   R#  W3# R# )z6Suppress tool-call markup from streamed delta.content.Tc              3   óL   <"  € T F  pSP                  SR V 4      x € K  	  R # 5irC   )ry   )rD   Újr‰   r‹   s   & €€r   rF   Ú-suppress_tool_call_content.<locals>.<genexpr>¶   s'   øé € ÐSÑ;R°aˆ{×#Ñ# H¨R¨a L×1Ð1Ó;Rùs   ƒ!$F)TN)FN)Úanyrx   r\   )r‰   rŠ   r‹   rŒ   s   f&f&r   Úsuppress_tool_call_contentr’   ©   sx   ù€ ÷ ØÐ*Ð*ßØ�{Ô"ØÐç‹3ÕS¼5ÀÄCÈÃMÔ;RÓS�3�3Š3ÕS¼5ÀÄCÈÃMÔ;RÓS×SÒSØÐð Tð Ð&Ð&ð Ðr   c                ó$   € V ^8„  d   QhR\         /# )r   Úmodel_outputr   )r   s   "r   r   r   ½   s   € ÷ />ñ />¤Sñ />r   c                ó°  € . pT pVP                   V 9   Ed   VP                  R8X  dH   \        P                  ! \        P                  ! VP                   4       R2\        P
                  4      pMf\        P                  ! \        P                  ! VP                   4       R\        P                  ! VP                  4       2\        P
                  4      p\        P                  ! WP4      pV'       Ed8   \        P                  ! VRV 4      P                  4       pV EF
  pVP                  4       P                  VP                   4      P                  VP                  4      p VP                  W‚4      p	\        V	\        4      '       d   T	MV	.p
V
 F‘  pVR,          pTP                  RRR\        V4      R	\!        \"        P$                  ! 4       4      RR
VR
,          P                  4       R\        V\         4      '       d   TM\&        P(                  ! VRR7      //4       K“  	  EK  	  \/        W4R7      #   \*         d    \-        RT 24        EK8  i ; i)zEParse tool calls from model output using the appropriate tool parser.r   z
.*?(?:
|$)z.*?Ú Ú	argumentsÚtypeÚfunctionÚindexÚidÚnameF©Úensure_asciizInvalid tool call: )ÚcallsÚremaining_text)Útool_call_startÚtool_call_endÚreÚcompileÚescapeÚDOTALLÚfindallÚsubÚstripÚremoveprefixÚremovesuffixÚparse_tool_callÚ
isinstanceÚlistr[   r\   r   ÚuuidÚuuid4ÚjsonÚdumpsÚ	ExceptionÚprintÚdict)r”   Útool_moduleÚtoolsÚcalled_toolsÚ	remainingÚpatternÚmatchesÚmatchÚcallÚparsedÚparsed_callsÚ	tool_callÚargss   &&&          r   Úprocess_tool_callsrÂ   ½   sâ  € à€LØ€Ià×"Ñ" lÕ2Ø×$Ñ$¨Ô*Ü—j’jÜ—9’9˜[×8Ñ8Ó9Ð:¸+ÐFÌÏ	É	ó‰Gô —j’jÜ—9’9˜[×8Ñ8Ó9Ð:¸#¼b¿iºiÈ×HaÑHaÓ>bÐ=cÐdÜ—	‘	óˆGô
 —*’*˜WÓ3ˆßˆ7ÜŸš˜w¨¨\Ó:×@Ñ@ÓBˆIÜ �à—K‘K“Mß!‘\ +×"=Ñ"=Ó>ß!‘\ +×";Ñ";Ó<ð ð
8Ø(×8Ñ8¸ÓE�FÜ-7¸Ä×-EÒ-E¡6ÈFÈ8�LÛ%1˜	Ø(¨Õ5˜Ø$×+Ñ+à &¨
Ø '¬¨\Ó):Ø $¤c¬$¯*ª*«,Ó&7Ø *Ø$*¨I°fÕ,=×,CÑ,CÓ,EØ$/ä+5°d¼C×+@Ò+@ñ )-ä-1¯ZªZ¸È5Ô-Qð-"ð	öô &2ñ !ô8 �lÔ=Ð=øô !ô 8ÜÐ/°¨vÐ6×7Ð7ð8ús   Å#CH7È7IÉIc                 óŠ   € V f   R # \        V \        4      '       d   V # \        V R4      '       d   V P                  RR7      # V # )NÚ
model_dumpT©Úexclude_none)r­   rµ   ÚhasattrrÄ   ©Úvalues   &r   Ú_as_plain_dictrÊ   ï   sB   € Ø‚}ÙÜ�%œ×ÒØˆÜˆu�l×#Ò#Ø×Ñ¨TÐÓ2Ð2Ø€Lr   c                ó0   € V ^8„  d   QhR\         R\         /# )r   rÉ   r   )r   )r   s   "r   r   r   ù   s   € ÷ ñ ”Sð œSñ r   c                 óN   € \        V R 4      '       d   V P                  RR7      # V # )rÄ   TrÅ   )rÇ   rÄ   rÈ   s   &r   Ú	_jsonablerÍ   ù   s(   € Üˆu�l×#Ò#Ø×Ñ¨TÐÓ2Ð2Ø€Lr   c                ó^   € V ^8„  d   QhR\         R\        \         \        3,          R\         /# )r   Ú
event_typeÚpayloadr   )r   r   r   )r   s   "r   r   r   ÿ   s.   € ÷ Vñ Vœ3ð V¬¬c´3¨h­ð V¼Cñ Vr   c                 óH   € R V  R\         P                  ! V\        R7       R2# )zevent: z
data: )Údefaultz

)r±   r²   rÍ   )rÏ   rÐ   s   &&r   Ú
_sse_eventrÓ   ÿ   s$   € Ø�Z�L ¬¯ª°GÄYÔ)OÐ(PÐPTÐUÐUr   c                ó<   € V ^8„  d   QhR\         R\         R\         /# )r   r5   Ústart_markerr   r   )r   s   "r   r   r     s!   € ÷ ñ ¤ð ´3ð ¼3ñ r   c                 óv   € V P                  VR 4      p VR8X  d   V P                  R4      p V P                  4       # )r   r„   Úthought)r   r]   r©   )r5   rÕ   s   &&r   Ú_clean_reasoningrØ     s:   € Ø×!Ñ! ,°Ó3€IØÐ*Ô*Ø×$Ñ$ YÓ/ˆ	Ø�?‰?ÓÐr   c          
      ó¬   € V ^8„  d   QhR\         R\        \         ,          R\        \         ,          R\        \        \         ,          \         3,          /# )r   r   r>   r?   r   )r   r	   r
   )r   s   "r   r   r   
  sF   € ÷ 6ñ 6Ü
ð6ä"¤3�-ð6ô !¤�ð6ô Œ8”C�=œ#ÐÕñ	6r   c           	      ó¦  € V '       g   R V 3# \         P                  W4       EF  w  r4V P                  V4      pT P                  YE^ 8¼  d   TM^ 4      pV^ 8¼  dn   WV8  dh   W\        V4      ,           V P	                  4       p\        V R V W\        V4      ,           R  ,           4      P	                  4       pT;'       g    R V3u # W@9   dG   V P                  V^4      w  rx\        Ws4      pT;'       g    R \        V4      P	                  4       3u # W09   g   Kù  \        W4      pT;'       g    R R3u # 	  R \        V 4      P	                  4       3# )Nr   )r;   rJ   rq   r\   r©   r   r�   rØ   )	r   r>   r?   rÕ   Ú
end_markerÚstartÚendr5   r6   s	   &&&      r   Ú_split_thinkingrÞ   
  sD  € ÷
 Ø�TˆzÐä$7×$QÑ$QØ÷%Ñ ˆð —	‘	˜,Ó'ˆØ�i‰i˜
°a¬Z¡E¸QÓ?ˆØ�AŒ:˜%œ+Ø¤S¨Ó%6Õ6¸Ð=×CÑCÓEˆIÜ,Ø�V�e�˜t¬#¨j«/Õ$9Ð$;Ð<Õ<óç‰e‹gð ð ×$Ð$  gÐ-Ò-àÔØ!%§¡¨J¸Ó!:ÑˆIÜ(¨ÓAˆIØ×$Ð$ Ô&<¸WÓ&E×&KÑ&KÓ&MÐMÒMàÖÜ(¨Ó<ˆIØ×$Ð$  bÐ(Ò(ñ'%ð* Ô'¨Ó-×3Ñ3Ó5Ð5Ð5r   c                ó`  € V ^8„  d   QhR\         R\         R\        R\        \        ,          R\        \         \         3,          R\        \         ,          R\        \         ,          R\
        \        \        \         \        3,          ,          \         \        \         ,          \         3,          /# )	r   Ú	full_textÚ
message_idr¶   Ú
chat_toolsÚtool_registryr>   r?   r   )r   r   r   r   r	   r
   )r   s   "r   r   r   *  s‹   € ÷ ".ñ ".Üð".äð".ô ð".ô ”S•	ð	".ô
 œœS˜•>ð".ô #¤3�-ð".ô !¤�ð".ô Œ4””Sœ#�X•Õ¤¤h¬s¥m´SÐ8Õ9ñ".r   c                 ó¨  € \        WV4      w  rxVe˜   V'       d�   \        WV4      p	V	R,          '       du   V	R,           U
u. uF  p
\        W¤4      NK  	  pp
\        V	P                  R4      ;'       g    RVV4      w  rÍ\        P
                  ! RRV4      P                  4       pW½VR3# RVRRR	R
RRRRRRVR. /./pV'       d   W~R&   V.W‡R3# u up
i )NrŸ   r    r   z<\|[^>]+\|>|<[^>]+>Ú
tool_callsr›   r˜   ÚmessageÚstatusÚ	completedÚroleÚ	assistantr6   Úoutput_textr   Úannotationsr5   Ústop)rÞ   rÂ   Ú_tool_call_to_response_itemÚgetr£   r¨   r©   )rà   rá   r¶   râ   rã   r>   r?   r5   r6   Útcr½   ÚitemsrE   r¹   Úitems   &&&&&&&        r   Ú _response_output_items_from_textró   *  s  € ô )ØÐ);óÑ€Ið Ò§:Ü 	¸
ÓCˆØˆg�;Œ;àMOÐPWÎ[óÙMXÀTÔ+¨DÖ@É[ð ð ô +Ø—‘Ð'Ó(×.Ð.¨BØ$Ø"ó‰LˆAô
 ŸšÐ5°r¸9ÓE×KÑKÓMˆIØ Y°Ð<Ð<àˆjØ�	Ø�+Ø�Ø�V˜]¨F°G¸]ÈBÐOÐPð€D÷ Ø%ˆ[ÑØˆ6�7 vÐ-Ð-ùò's   ÁCc                óh   € V ^8„  d   QhR\         R\        \        \        \         3,          ,          /# )r   Úinput_valuer   )r   r   r   r   )r   s   "r   r   r   O  s'   € ÷ ñ ¬3ð ´4¼¼SÄ#¸X½Õ3Gñ r   c           	      óˆ  € \        V \        4      '       d   R RRRRR RRV /./.# \        V \        4      '       g   \        RRR	7      h. pV  Fr  p\	        V4      p\        V\
        4      '       g   \        RRR	7      hVP                  R 4      pVf   VP                  R4      e	   / VCR R/CpVP                  V4       Kt  	  V# )
r˜   ræ   ré   Úuserr6   Ú
input_textr   i�  zInvalid input format.©Ústatus_codeÚdetail)r­   r   r®   r   rÊ   rµ   rï   r[   )rõ   rñ   rò   Ú	item_types   &   r   Ú_normalize_response_inputrý   O  sÒ   € Ü�+œs×#Ò#ð ˜	Ø˜Ø˜V \°6¸;ÐGÐHðð
ð 	
ô �k¤4×(Ò(Ü¨Ð4KÔLÐLà€EÛˆÜ˜dÓ#ˆÜ˜$¤×%Ò%Ü¨CÐ8OÔPÐPØ—H‘H˜VÓ$ˆ	ØÒ §¡¨&Ó!1Ò!=Ø.�dÐ.˜F IÑ.ˆDØ�‰�TÖñ ð €Lr   c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# )r   rò   r   ©r   r   r   )r   s   "r   r   r   g  s*   € ÷ ñ ¬4´´S°­>ð ¼dÄ3ÌÀ8½nñ r   c           	      ó
  € V P                  R 4      ;'       g<    V P                  R4      ;'       g#    R\        P                  ! 4       P                   2pV P                  R4      pV P                  R4      pV P                  R4      R8X  dK   T;'       g    RpV P                  R4      ;'       g    / pT;'       g    \        P
                  ! VR	R
7      pM`V P                  R4      R8X  dK   T;'       g    RpT;'       g5    V P                  R4      ;'       g    V P                  R4      ;'       g    Rp\        V\        4      '       g#   \        P
                  ! T;'       g    / R	R
7      pRRRTRRT;'       g    RRV//# )Úcall_idr›   Úcall_rœ   r—   r˜   Ú
shell_callÚshellÚactionFr�   Úapply_patch_callÚapply_patchÚpatchÚinputú{}r™   Útool)rï   r¯   r°   Úhexr±   r²   r­   r   )rò   r  rœ   r—   r  s   &    r   Ú _response_call_to_chat_tool_callr  g  s;  € Ø�h‰h�yÓ!×QÐQ T§X¡X¨d£^×QÐQ¸¼t¿zºz»|×?OÑ?OÐ>PÐ7Q€GØ�8‰8�FÓ€DØ—‘˜Ó%€IØ‡x�x�Ó˜<Ô'Ø�ˆ�wˆØ—‘˜(Ó#×)Ð) rˆØ×GÐG¤§¢¨FÀÔ!G‰	Ø	�‰�&Ó	Ð/Ô	/Ø×$Ð$�}ˆØ×OÐO §¡¨'Ó!2×OÐO°d·h±h¸wÓ6G×OÐOÈ4ˆ	Ü�i¤×%Ò%Ü—J’J˜yŸ˜¨B¸UÔCˆ	à�
ØˆgØ�V˜TŸ^˜^ V¨[¸)ÐDðð r   c                ó¬   € V ^8„  d   QhR\         \        \        3,          R\        \         \        \        3,          ,          R\        \        ,          /# )r   rò   Úchat_messagesÚimages)r   r   r   r   )r   s   "r   r   r   {  s?   € ÷ :
ñ :
Ü
Œs”Cˆx�.ð:
äœœS¤#˜X�Õ'ð:
ô ”�Iñ:
r   c           
      óÜ  € V P                  R 4      pVR8X  Ed‘   V P                  R4      ;'       g    RpV P                  R4      p\        V\        4      '       Ed-   . pV EF  p\        V4      p\        V\        4      '       g   K'  VP                  R 4      pVR9   d-   VP                  \        VP                  RR4      4      4       Kk  VR8X  dH   VP                  R4      ;'       g    VP                  R	4      p	V	'       d   VP                  V	4       K·  K¹  VR8X  g   KÂ  VP                  R4      p
TP                  \        V
\        4      '       d   V
P                  R
4      MT
4       EK  	  RP                  R V 4       4      pTP                  RTRT;'       g    R/4       R# VR9   d$   VP                  RRRRR\        V 4      ./4       R# VR9   d’   V P                  RV P                  RR4      4      p\        V\        4      '       g   \        P                  ! VRR7      pTP                  RRRV P                  R4      ;'       g    V P                  R4      RV/4       R# R# )r˜   ræ   ré   r÷   r6   r   r   Úinput_imageÚ	image_urlÚfile_idÚurlrW   c              3   ó8   "  € T F  q'       g   K  Vx € K  	  R # 5irC   r)   )rD   Úps   & r   rF   Ú2_append_response_item_to_prompt.<locals>.<genexpr>˜  s   é € Ð;©: a»§¢«:ùs   ‚	�
Nrê   rå   ÚoutputFr�   r  Útool_call_idr  )rø   rë   r   )Úfunction_callr  r  )Úfunction_call_outputÚshell_call_outputÚapply_patch_call_outputÚtool_result)rï   r­   r®   rÊ   rµ   r[   r   r^   r  r±   r²   )rò   r  r  rü   ré   r6   Ú
text_partsÚpartÚ	part_typeÚimager  r  s   &&&         r   Ú_append_response_item_to_promptr$  {  s  € ð
 —‘˜Ó €IØ�IÕØ�x‰x˜Ó×)Ð) 6ˆØ—(‘(˜9Ó%ˆÜ�gœt×$Ó$ØˆJÜ�Ü% dÓ+�Ü! $¬×-Ò-ÙØ ŸH™H VÓ,�	ØÐ EÔEØ×%Ñ%¤c¨$¯(©(°6¸2Ó*>Ó&?Ö@Ø -Ô/Ø ŸH™H [Ó1×HÐH°T·X±X¸iÓ5H�EßØŸ™ eÖ,ñ à +Ö-Ø $§¡¨Ó 5�IØ—M‘Mä% i´×6Ò6ð "Ÿ™ eÔ,à&÷ñ  ð$ —i‘iÑ;©:Ó;Ó;ˆGØ×Ñ˜f d¨I°w·}°}À"ÐEÔFÙàÐGÔGØ×Ñà˜Ø˜4ØÔ?ÀÓEÐFðô	
ñ 	àð ô ð —‘˜( D§H¡H¨Y¸Ó$;Ó<ˆÜ˜&¤#×&Ò&Ü—Z’Z °UÔ;ˆFØ×Ñà˜Ø §¡¨Ó 3× OÐ O°t·x±xÀÓ7OØ˜6ðö	
ñr   c                ó~   € V ^8„  d   QhR\         \        ,          R\        \        \        \        3,          ,          /# )r   r&   r   )r	   r   r   r   r   )r   s   "r   r   r   ¸  s,   € ÷ ñ ´¼µð Ä$ÄtÌCÔQTÈHÅ~ÕBVñ r   c                 óî  € V '       g   . # . p\        4       pT p\        ;_uu_ 4        V'       da   W29   d   MYVP                  V4       \        P	                  V4      pVf   \        RRV 2R7      hVP                  V4       VP                  pKh  R R R 4       . p\        V4       F9  pVP                  VP                  4       VP                  VP                  4       K;  	  V#   + '       g   i     L\; i)Ni”  zPrevious response not found: rù   )ÚsetÚresponse_store_lockÚaddÚresponse_storerï   r   r[   r&   ÚreversedÚextendr$   r%   )r&   ÚchainÚseenÚ
current_idÚstoredrñ   s   &     r   Ú_response_chain_itemsr1  ¸  sÏ   € ßØˆ	Ø"$€EÜ‹5€DØ%€Jß	Ö	ßØÔ!ØØ�H‰H�ZÔ Ü#×'Ñ'¨
Ó3ˆFØŠ~Ü#Ø #Ø:¸:¸,ÐGôð ð �L‰L˜Ô Ø×4Ñ4ŠJ÷ 
ð #%€EÜ˜5–/ˆØ�‰�V×'Ñ'Ô(Ø�‰�V×(Ñ(Ö)ñ "ð €L÷% 
×	ús   §C$°A C$Ã$C4	c                óØ   € V ^8„  d   QhR\         \        \        \        3,          ,          R\        \         \        \        \        3,          ,          \         \        ,          3,          /# )r   rñ   r   )r   r   r   r   r
   )r   s   "r   r   r   Ó  sD   € ÷ !ñ !Ü””Sœ#�X•Õð!ä
Œ4””Sœ#�X•Õ¤¤c¥Ð*Õ+ñ!r   c                 ó:   € . p. pV  F  p\        W1V4       K  	  W3# rC   )r$  )rñ   r  r  rò   s   &   r   Ú_response_items_to_chatr4  Ó  s+   € ð +-€MØ€FÛˆÜ'¨¸VÖDñ àÐ Ð r   c          	      óÎ   € V ^8„  d   QhR\         R\        \        \        \         3,          ,          R\        \        \        \         3,          ,          R\        \        ,          /# r"   )r   r   r   r   r	   )r   s   "r   r   r   Ý  sN   € ÷ -ñ -Üð-ä”dœ3¤˜8•nÕ%ð-ô ”tœC¤˜H•~Õ&ð-ô #¤3�-ñ	-r   c           	      ó®  € \        V R R4      RJ d   R# V P                  RR7      p\        ;_uu_ 4        \        VVVVR7      \        V P
                  &   \        P                  V P
                  4       \        \        4      \        8”  d-   \        P                  4       p\        P                  VR4       KD   RRR4       R#   + '       g   i     R# ; i)ÚstoreTFNrÅ   )r#   r$   r%   r&   )ÚgetattrrÄ   r(  r    r*  r›   Úresponse_store_orderr[   r\   ÚRESPONSE_STORE_LIMITÚpopleftÚpop)r#   r$   r%   r&   rÐ   Úold_ids   &&&&  r   Ú_store_responser>  Ý  s¥   € ô ˆx˜ $Ó'¨5Ó0ÙØ×!Ñ!¨tÐ!Ó4€Gß	Ö	Ü&4ØØ#Ø%Ø!5ô	'
Œ�x—{‘{Ñ#ô 	×#Ñ# H§K¡KÔ0ÜÔ&Ó'Ô*>Ô>Ü)×1Ñ1Ó3ˆFÜ×Ñ˜v tÖ,ð ?÷ 
×	×	Ò	ús   ´BCÃC	c                óh   € V ^8„  d   QhR\         R\        \        \        \         3,          ,          /# )r   r  r   )r   r	   r   r   )r   s   "r   r   r   ó  s'   € ÷ *ñ *¤cð *¬h´t¼CÄ¸Hµ~Õ.Fñ *r   c                 óž  € \        V 4      p \        V \        4      '       g   R # V P                  R4      pVR8X  d(   \        V P                  R4      \        4      '       d   V # VR8X  dD   RRRRV P                  R4      RV P                  R4      RV P                  R4      ;'       g    / //# VR8X  dJ   RRRRV P                  R4      ;'       g    RRV P                  R4      ;'       g    RRRRR	R
RR//RR
.///# VR8X  dJ   RRRRV P                  R4      ;'       g    RRV P                  R4      ;'       g    RRRRR	RRR//RR.///# R # )Nr˜   r™   rœ   ÚdescriptionÚ
parametersr  zRun a shell command.ÚobjectÚ
propertiesÚcommandÚstringÚrequiredr  zApply a patch to files.r  )rÊ   r­   rµ   rï   )r  Ú	tool_types   & r   Ú_response_tool_to_chat_toolrI  ó  s„  € Ü˜$Ó€DÜ�dœD×!Ò!ÙØ—‘˜Ó €IØ�JÔ¤:¨d¯h©h°zÓ.BÄD×#IÒ#IØˆØ�JÔà�JØØ˜Ÿ™ Ó(Ø˜tŸx™x¨Ó6Ø˜dŸh™h |Ó4×:Ð:¸ðð
ð 	
ð �GÔà�JØØ˜Ÿ™ Ó(×3Ð3¨GØ˜tŸx™x¨Ó6×PÐPÐ:PØØ˜HØ  9¨v°xÐ.@Ð"AØ  ððð
ð 	
ð �MÔ!à�JØØ˜Ÿ™ Ó(×9Ð9¨MØ˜tŸx™x¨Ó6×SÐSÐ:SØØ˜HØ  7¨V°XÐ,>Ð"?Ø  	ððð
ð 	
ñ r   c                ó¶   € V ^8„  d   QhR\         \        \        ,          ,          R\        \        \        ,          \        \
        \
        3,          3,          /# )r   r·   r   )r	   r   r   r
   r   r   )r   s   "r   r   r      s;   € ÷  ñ  Ü”Dœ•IÕð ä
Œ4”�9”dœ3¤˜8•nÐ$Õ%ñ r   c                 ó&  € . p/ pT ;'       g    .  F{  p\        V4      p\        V4      pVf   K  VP                  V4       VP                  R/ 4      pVP                  R4      pV'       g   K]  T;'       g    / P                  RR4      W'&   K}  	  W3# )Nr™   rœ   r˜   )rÊ   rI  r[   rï   )r·   râ   Úregistryr  ÚplainÚ	chat_toolr™   rœ   s   &       r   Ú_response_tool_registryrO     s“   € ð €JØ!€HØ—�˜’ˆÜ˜tÓ$ˆÜ/°Ó6ˆ	ØÒÙØ×Ñ˜)Ô$Ø—=‘= ¨RÓ0ˆØ�|‰|˜FÓ#ˆß‰4Ø#Ÿk˜k r×.Ñ.¨v°zÓBˆH‹Nñ ð ÐÐr   c                ó¢   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          R\         \        \        3,          /# )r   r½   rL  r   rÿ   )r   s   "r   r   r   2  s>   € ÷ *ñ *Ü
Œs”Cˆx�.ð*ä”3œ�8�nð*ô 
Œ#Œsˆ(…^ñ*r   c                 ó  € V P                  R / 4      pVP                  R4      ;'       g    RpVP                  R4      ;'       g    RpV P                  R4      ;'       g#    R\        P                  ! 4       P                   2pVP                  VR 4      pVR8X  dŠ    \	        V\
        4      '       d   \        P                  ! V4      MTp\	        V\        4      '       d   VP                  RV4      MTpRR	\        P                  ! 4       P                   2R
RRVRRRR
RRV//# VR8X  d†    \	        V\
        4      '       d   \        P                  ! V4      MTp\	        V\        4      '       d   VP                  RV4      MTp	RR\        P                  ! 4       P                   2R
RRVRRRV	/# RR\        P                  ! 4       P                   2R
RRVRVRVRR/#   \         d	    RT/p EL&i ; i  \         d    RT/p L«i ; i)r™   rœ   r  r—   r
  r›   r  r  rE  Úsh_r˜   r  r  rç   rè   r  Úexecr  r  Úapc_r  Úfc_r  )
rï   r¯   r°   r  r­   r   r±   Úloadsr³   rµ   )
r½   rL  r™   rœ   r—   r  rH  r¾   rE  r  s
   &&        r   rî   rî   2  sù  € ð �x‰x˜
 BÓ'€HØ�<‰<˜Ó×)Ð) 6€DØ—‘˜[Ó)×1Ð1¨T€IØ�h‰h�t‹n×:Ð: %¬¯
ª
«×(8Ñ(8Ð'9Ð :€GØ—‘˜T :Ó.€IØ�GÔð	,Ü.8¸ÄC×.HÒ.H”T—Z’Z 	Ô*ÈiˆFô 4>¸fÄd×3KÒ3K�&—*‘*˜Y¨Ô/ÐQWˆà�CœŸ
š
›×(Ñ(Ð)Ð*Ø�LØ�wØ�kØ�v˜v y°'Ð:ð
ð 	
ð �MÔ!ð	*Ü.8¸ÄC×.HÒ.H”T—Z’Z 	Ô*ÈiˆFô 0:¸&Ä$×/GÒ/G�—
‘
˜7 FÔ+ÈVˆà�DœŸš›×)Ñ)Ð*Ð+ØÐ&Ø�wØ�kØ�Uð
ð 	
ð 	�”D—J’J“L×$Ñ$Ð%Ð&Ø�Ø�7Ø�Ø�YØ�+ðð øô/ ô 	,Ø Ð+‹Fð	,ûô ô 	*Ø˜yÐ)ŠFð	*ús$   Â.G  Ä..G6 Ç G3Ç2G3Ç6HÈHc                óŠ   € V ^8„  d   Qh/ ^ \         9   d   \        \        \        3,          ;R&   ^\         9   d
   \        ;R&   # )r   r*  r9  )Ú__conditional_annotations__r   r   r    r   )r   s   "r   r   r      s8   € ‡�÷F /Ò .””Sœ.Ð(Õ)Ñ .ñG ÷H &Ò %”eÑ %òI r   )z<|START_TEXT|>z<|END_TEXT|>)NN)1rX  r±   Úosr£   r¯   Úcollectionsr   Údataclassesr   Ú	threadingr   Útypingr   r   r   r	   r
   Úfastapir   rm   Úenvironrï   r:  r   r   r    r3   r;   r*  r9  r(  r’   rÂ   rÊ   rÍ   rÓ   rØ   rÞ   ró   rý   r  r$  r1  r4  r>  rI  rO  rî   r   )rX  s   @r   Ú<module>r`     s  øðß €Û 	Û 	Û Ý Ý !Ý ß 3Õ 3å !á˜2Ÿ:™:Ÿ>™>Ð*HÈ&ÓQÓRÐ Ø5Ð õð ÷/ð /ó ð/ð ÷"ð "ó ð"÷|ñ |ð~ -/€Ó .Ù#›gÐ Ó %Ù“fÐ õ'õ(/>òdõõVõ÷6÷@".õJõ0õ(:
õzõ6!õ-õ,*õZ ÷$*r   