Ë
    Z²jI&  ã                   óv  — d dl Z d dlZd dlZd dlZd dlmZ d dlZddlmZ ddl	m
Z
mZ ddlmZ ddlmZ  ej                  d	d
¬«      Z ej                  ddd¬«      Zej%                  ed¬«       dee   ddfd„Zej+                  «        ej,                  ddd¬«      fdee   fd„«       Zedk(  r e«        yy)é    N)ÚOptionalé   )ÚANSIé   )Ú_async_promptÚ_patch_anyio_open_process)ÚAgent)Ú_load_agent_configÚrichziA squad of lightweight composable AI applications built on Hugging Face's Inference Client and MCP stack.)Úrich_markup_modeÚhelpÚrunzRun the Agent in the CLIT)Únamer   Úinvoke_without_command)r   Ú
agent_pathÚreturnc              ƒ   óú  ‡‡ ‡!‡"K  — t        «        t        | «      \  }}|j                  dg «      }|j                  dg «      }t        j                  «       Š t        j                  «       Š!dŠ"t        j
                  «       }t        j                  t        j                  «      }d5ˆ ˆ!ˆ"fd„Š	 d}	 |j                  t        j                  ‰«       d}i }t        |«      dkD  �r°t        t        j                  t        j                   d	«      «      «       |D �]o  }	|	d
   }
|	d   }d|
› d�}t#        «       }|D ]\  }|d   dk(  r|j                  di «      n|j                  di «      }|j%                  «       D ]  \  }}||v sŒ|j'                  |«       Œ Œ^ |j                  d«      }t)        |t*        «      r||v r|j'                  d«       |s#t        t        j,                  d|
› d�«      «       ŒÚ|
j/                  dd«      j1                  «       }t        t        j                   d|
› �«      d|› d|› d�z   d¬«       t3        ‰!¬«      ƒ d{  –—† j5                  «       }‰!j7                  «       rI |r!	 |j9                  t        j                  «       yt        j                  t        j                  |«       y|}|s]t;        j<                  |d«      }|r#t        t        j>                  d|› d �«      «       n"t        t        j,                  d!|› d"�«      «       |||
<   |D ]c  }|d   dk(  r|j                  di «      n|j                  di «      }|j%                  «       D ]"  \  }}||v sŒ||   j/                  ||«      ||<   Œ$ Œe �Œr t        «        |j                  d«      }t)        |t*        «      r5|}|j%                  «       D ]  \  }
}|j/                  d|
› d�|«      }Œ ||d<   tA        |j                  d#«      |j                  d$«      |j                  d%«      |j                  d«      ||¬&«      4 ƒd{  –—† }|jC                  «       ƒ d{  –—†  t        t        j                  t        j                   d'jE                  t        |jF                  «      «      «      «      «       |jF                  D ]7  }t        t        j                   d|jH                  jJ                  › �«      «       Œ9 	 ‰ jM                  «        ‰!j7                  «       rY	 ddd«      ƒd{  –—†  |r!	 |j9                  t        j                  «       yt        j                  t        j                  |«       y	 t3        ‰!¬«      ƒ d{  –—† }dŠ"	 |jU                  |‰ ¬+«      2 3 d{  –—† }‰ j7                  «       r‰"s �n´‰!j7                  «       rY ddd«      ƒd{  –—†  |r!	 |j9                  t        j                  «       yt        j                  t        j                  |«       ytW        |d,«      rõ|jX                  d   jZ                  }|j\                  rt        |j\                  dd¬-«       |j^                  sŒÝ|j^                  D ]š  }|j`                  rt        d.|j`                  › d/�d¬«       |jH                  jJ                  r"t        |jH                  jJ                  › d¬«       |jH                  jb                  sŒyt        |jH                  jb                  › d¬«       Œœ �Œˆt        t        j>                  d0|jJ                  › d1|jd                  › d2|j\                  › d2�«      d¬)«       �ŒÒt        «        �Œ‚# t        t        f$ r+ t        j                  t        j                  ˆfd„«       Y �ŒÚw xY w7 �Œd# t        t        f$ r Y yw xY w7 �ŒŽ7 �Œy7 �Œ±# t        t        f$ r Y yw xY w7 �Œl# tN        $ r# t        t        jP                  d(«      d¬)«       Y n´tR        $ r8 ‰"s‰ j7                  «       rY �ŒAt        t        jP                  d*«      d¬)«       Y nuw xY w7 �Œ¾7 �Œ‹# t        t        f$ r Y yw xY w6 �Œ# tf        $ rG}ti        jj                  «       }t        t        jP                  d3|› d2|› �«      d¬)«       dŠ"Y d}~�ŒOd}~ww xY wddd«      ƒd{  –—†7   n# 1 ƒd{  –—†7  sw Y   nxY wnM# tf        $ rA}ti        jj                  «       }t        t        jP                  d4|› d2|› �«      d¬)«       |‚d}~ww xY w|r6	 |j9                  t        j                  «       y# t        t        f$ r Y yw xY wt        j                  t        j                  |«       y# r6	 |j9                  t        j                  «       w # t        t        f$ r Y w w xY wt        j                  t        j                  |«       w xY w­w)6zú
    Tiny Agent loop.

    Args:
        agent_path (`str`, *optional*):
            Path to a local folder containing an `agent.json` and optionally a custom `PROMPT.md` or `AGENTS.md` file or a built-in agent stored in a Hugging Face dataset.

    ÚinputsÚserversTNc                  óÐ   •— ‰r3dŠ‰ j                  «        t        t        j                  d«      d¬«       y t        t        j                  d«      d¬«       ‰j                  «        y )NFz)
Interrupted. Press Ctrl+C again to quit.T©Úflushz
Exiting...)ÚsetÚprintr   Úred)Úabort_eventÚ
exit_eventÚfirst_sigints   €€€úa/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/huggingface_hub/inference/_mcp/cli.pyÚ_sigint_handlerz"run_agent.<locals>._sigint_handler5   sJ   ø€ áØ ˆLØ�O‰OÔÜ”$—(‘(ÐGÓHÐPTÕUØäŒd�h‰h�~Ó&¨dÕ3Ø�‰Õó    Fc                  ó   •—  ‰«       S )N© )Ú_r    s    €r   ú<lambda>zrun_agent.<locals>.<lambda>G   s
   ø€ ±OÓ4E€ r!   r   zfSome initial inputs are required by the agent. Please provide a value or leave empty to load from env.ÚidÚdescriptionz${input:ú}ÚtypeÚstdioÚenvÚheadersÚapiKeyzInput 'zJ' defined in config but not used by any server or as an API key. Skipping.ú-r$   u    â€¢ z: z. (default: load from z).ú )Úend)r   Ú z Value successfully loaded from 'ú'zNo value found for 'z'' in environment variables. Continuing.ÚproviderÚmodelÚendpointUrl)r3   r4   Úbase_urlÚapi_keyr   ÚpromptzAgent loaded with {} tools:z
EOF received, exiting.r   z,
Keyboard interrupt during input processing.)r   Úchoices)r0   r   z<Tool ú>z

Tool[z] ú
z
Error during agent run: ú
An unexpected error occurred: )r   N)6r   r
   ÚgetÚasyncioÚEventÚget_running_loopÚsignalÚ	getsignalÚSIGINTÚadd_signal_handlerÚAttributeErrorÚNotImplementedErrorÚlenr   r   ÚboldÚbluer   ÚitemsÚaddÚ
isinstanceÚstrÚyellowÚreplaceÚupperr   ÚstripÚis_setÚremove_signal_handlerÚosÚgetenvÚgreenr	   Ú
load_toolsÚformatÚavailable_toolsÚfunctionr   ÚclearÚEOFErrorr   ÚKeyboardInterruptr   Úhasattrr9   ÚdeltaÚcontentÚ
tool_callsr&   Ú	argumentsÚtool_call_idÚ	ExceptionÚ	tracebackÚ
format_exc)#r   Úconfigr8   r   r   ÚloopÚoriginal_sigint_handlerÚsigint_registered_in_loopÚresolved_inputsÚ
input_itemÚinput_idr'   Úenv_special_valueÚinput_usagesÚserverÚenv_or_headersÚkeyÚvalueÚraw_api_keyÚenv_variable_keyÚ
user_inputÚfinal_valueÚsubstituted_api_keyÚvalÚagentÚtÚchunkr_   ÚcallÚeÚtb_strr    r   r   r   s#                                  @@@@r   Ú	run_agentr€      s	  ûè ø€ ô Ôä'¨
Ó3�N€FˆFà�Z‰Z˜ "Ó%€FØ�j‰j˜ BÓ'€Gä—-‘-“/€KÜ—‘“€JØ€Lä×#Ñ#Ó%€DÜ$×.Ñ.¬v¯}©}Ó=Ð÷	ðeBØ$)Ð!ð	GØ×#Ñ#¤F§M¡M°?ÔCØ(,Ð%ð +-ˆäˆv‹;˜‹?ÜÜ—	‘	Ü—I‘IðRóóôð %ó 8n�
Ø% dÑ+�Ø(¨Ñ7�Ø&/°¨z¸Ð$<Ð!ô  #›u�Ø%ò 2�Fà>DÀV¹nÐPWÒ>W V§Z¡Z°°rÔ%:Ð]c×]gÑ]gÐhqÐsuÓ]v�NØ&4×&:Ñ&:Ó&<ò 2™
˜˜UØ,°Ò5Ø(×,Ñ,¨SÕ1ñ2ð2ð %Ÿj™j¨Ó2�Ü˜k¬3Ô/Ð4EÈÑ4TØ ×$Ñ$ XÔ.á#ÜÜŸ™Ø% h Zð 0)ð )óôð ð $,×#3Ñ#3°C¸Ó#=×#CÑ#CÓ#EÐ ÜÜ—I‘I  h ZÐ0Ó1°b¸¸ÐE[Ð\lÐ[mÐmoÐ4pÑpØõô %2¸ZÔ$H×H×OÑOÓQ�
Ø×$Ñ$Ô&ØñN %ðØ×*Ñ*¬6¯=©=Õ9ô �M‰Mœ&Ÿ-™-Ð)@ÕAðU )�Ù"Ü"$§)¡)Ð,<¸bÓ"A�KÙ"ÜœdŸj™jÐ+KÐL\ÐK]Ð]^Ð)_Ó`ÕaäÜ ŸK™KØ"6Ð7GÐ6HÐHoÐ póôð
 -8� Ñ)ð &ò n�FØ>DÀV¹nÐPWÒ>W V§Z¡Z°°rÔ%:Ð]c×]gÑ]gÐhqÐsuÓ]v�NØ&4×&:Ñ&:Ó&<ò n™
˜˜UØ,°Ò5Ø2@ÀÑ2E×2MÑ2MÐN_ÐalÓ2m˜N¨3Ò/ñnònði8nôt ŒGà—j‘j Ó*ˆÜ�k¤3Ô'Ø"-ÐØ!0×!6Ñ!6Ó!8ò a‘�˜#Ø&9×&AÑ&AÀIÈhÈZÐWYÐBZÐ\_Ó&`Ñ#ðaà2ˆF�8ÑäØ—Z‘Z 
Ó+Ø—*‘*˜WÓ%Ø—Z‘Z Ó.Ø—J‘J˜xÓ(ØØô
÷ ?	(ð ?	(ð Ø×"Ñ"Ó$×$Ð$Ü”$—)‘)œDŸI™IÐ&C×&JÑ&JÌ3Èu×OdÑOdÓKeÓ&fÓgÓhÔiØ×*Ñ*ò <�Ü”d—i‘i %¨¯
©
¯©Ð'8Ð 9Ó:Õ;ð<ð Ø×!Ñ!Ô#ð ×$Ñ$Ô&Ø÷%?	(÷ ?	(ñN %ðØ×*Ñ*¬6¯=©=Õ9ô �M‰Mœ&Ÿ-™-Ð)@ÕAðsÜ'4À
Ô'K×!K�JØ#'�Lð(Ø',§y¡y°È yÓ'U÷ ð ˜eØ&×-Ñ-Ô/¹Ú!Ø%×,Ñ,Ô.Ø"÷M?	(÷ ?	(ñN %ðØ×*Ñ*¬6¯=©=Õ9ô �M‰Mœ&Ÿ-™-Ð)@ÕAôK # 5¨)Ô4Ø$)§M¡M°!Ñ$4×$:Ñ$:˜EØ$Ÿ}š}Ü % e§m¡m¸À4Õ HØ$×/Ó/Ø,1×,<Ñ,<ò !T DØ'+§w¢wÜ(-°°t·w±w°i¸qÐ.AÀrÕ(JØ'+§}¡}×'9Ò'9Ü(-°·±×1CÑ1CÐ0DÈ3Õ(OØ'+§}¡}×'>Ó'>Ü(-°·±×1HÑ1HÐ0IÐPRÖ(Sò!Tô "Ü $§
¡
¨Y°u·z±z°lÀ"ÀU×EWÑEWÐDXÐXZÐ[`×[hÑ[hÐZiÐikÐ+lÓ mØ&*÷ô
 ”Gñ[ øôA Ô 3Ð4ò 	Gä�M‰Mœ&Ÿ-™-Ó)E×Fð	Gúðb IúôX #Ô$7Ð8ò ÙðúðU?	(ùð %ùð?	(úôT #Ô$7Ð8ò Ùðúðk "Lúäò Üœ$Ÿ(™(Ð#=Ó>ÀdÕKÙÜ(ò Ù'¨K×,>Ñ,>Ô,@Ú äœdŸh™hÐ'VÓWÐ_cÕdÙðúðùðE?	(úôT #Ô$7Ð8ò ÙðúðQ (Vúô4 !ò (Ü&×1Ñ1Ó3�FÜœ$Ÿ(™(Ð%?À¸sÀ"ÀVÀHÐ#MÓNÐVZÕ[Ø#'–Lûð(ú÷y?	(÷ ?	(÷ ?	(÷ ?	(ó ?	(üôB ò Ü×%Ñ%Ó'ˆÜŒd�h‰hÐ9¸!¸¸B¸v¸hÐGÓHÐPTÕUØˆûðúñ %ðØ×*Ñ*¬6¯=©=Õ9øÜ"Ô$7Ð8ò Ùðúô �M‰Mœ&Ÿ-™-Ð)@ÕAøñ %ðØ×*Ñ*¬6¯=©=Õ9øÜ"Ô$7Ð8ò Ùðúô �M‰Mœ&Ÿ-™-Ð)@ÕAüsx  †B&g;Â-c0 Â0"]3 ÃB-c0 Æ Cc0 É^0É#c0 É0g;É3^3 Ê&g;Ê8B1c0 Í*Cc0 Ð:_Ð;c0 Ð>cÑ_ÑB?cÔc0 Ô_Ôc0 Ô"g;Ô%_ Õ&g;Õ+_)Õ:_&Õ;_)Öa5Öa2ÖaÖa2Ö'a5×c0 ×a×c0 ×g;×a ×6&g;ØAa5Ù2Ba5Û7A:a5Ý1cÝ36^-Þ)c0 Þ,^-Þ-c0 Þ3_ßg;ß_ßg;ßc0 ßcßc0 ß_#ß g;ß"_#ß#g;ß&_)ß))aàcàaà.cà1 aácáaácáa2ác0 áa/á,g;á.a/á/g;á2a5á5	cá><c â:cã cãcãc0 ãcãc0 ãc,ã c#ã!c,ã(c0 ã/f ã0	d:ã9<d5ä5d:ä:f ä=g;å e  åg;å e2å/g;å1e2å2(g;æg8æf>æ=g8æ>gçg8çgç(g8ç8g;z¿Path to a local folder containing an agent.json file or a built-in agent stored in the 'tiny-agents/tiny-agents' Hugging Face dataset (https://huggingface.co/datasets/tiny-agents/tiny-agents)F)r   Úshow_defaultÚpathc                 ó*  — 	 t        j                  t        | «      «       y # t        $ r7 t	        t        j                  d«      d¬«       t        j                  d¬«      ‚t        $ r*}t	        t        j                  d|› �«      d¬«       |‚d }~ww xY w)Nz-
Application terminated by KeyboardInterrupt.Tr   é‚   )Úcoder<   )
r>   r   r€   r]   r   r   r   ÚtyperÚExitrd   )r‚   r~   s     r   r   r   è   ss   € ðÜ�‰”I˜d“OÕ$øÜò #ÜŒd�h‰hÐGÓHÐPTÕUÜ�j‰j˜cÔ"Ð"Üò ÜŒd�h‰hÐ9¸!¸Ð=Ó>ÀdÕKØˆûðús   ‚! ¡ABÁ(%BÂBÚ__main__)r>   rT   rA   re   Útypingr   r†   Úutilsr   Ú
_cli_hacksr   r   rz   r	   r
   ÚTyperÚappÚrun_cliÚ	add_typerrM   r€   ÚcallbackÚArgumentr   Ú__name__r#   r!   r   ú<module>r“      sá   ðÛ Û 	Û Û Ý ã å ß @Ý Ý %ð €e‡k�kØØ	tô€ð
 ˆ%�+‰+Ø	Ø	#Øô€ð
 ‡�ˆg˜E€Ô "ðIBØ˜‘ðIBà	óIBðX 	×ÑÓà(˜%Ÿ.™.ØðHð ôñØ
�3‰-òó ðð* ˆzÒÙ…Eð r!   