
    dh              	          S r SSKrSSKJr   " S S5      r\S:X  an  \" S5        SSKJr  \" 5       r\" 5       r	\R                  S	5      r\	R                  \S
S9r\" S\S    S\" \S   5       35        \" S\S    35        \" S5        gg)z*
Task Executor - Execute multi-step plans
    N)datetimec                   4    \ rS rSrSS jrS	S jrS rS rSrg)
TaskExecutor   Nc                     Xl         / U l        g N)learning_loopexecution_log)selfr	   s     B/home/james-whalen/eden-agi-project/core/autonomy/task_executor.py__init__TaskExecutor.__init__   s    *    c           
         US   [         R                  " 5       R                  5       SS/ S.n[        SUS    35        US    H  n[        SUS    SUS	    S
3SS9  U(       a  SSS.n[        S5        O(U R	                  U5      n[        US   (       a  SOS5        US   R                  US   US	   US   UR                  SS5      S.5        US   (       a  US==   S-  ss'   O&US==   S-  ss'   UR                  SS5      (       d    O[        R                  " S5        M     [         R                  " 5       R                  5       US'   US   S:H  US'   U R                  R                  U5        U$ )zExecute a plan step by stepgoalr   )plan
start_timesteps_completedsteps_failedresultsu   
🚀 Executing plan: stepsz   Step stepz: actionz... )endTz	[DRY RUN]successoutputu   ✅ (dry run)r   u   ✅u   ❌r   r    )r   r   r   r   r      r   continue_on_errorFg?end_time)
r   now	isoformatprint_execute_stepappendgettimesleepr
   )r   r   dry_run	executionr   results         r   execute_planTaskExecutor.execute_plan   sy    L",,.224 
	 	'V~67MDHT&\N"T(^,<C@cJ%)[Ao&++D1vi0ee<i ''Vx.!), **Xr2	)  i +,1,.)Q.)xx 3U;;JJsO) "* !) 8 8 :	*(8A=	)!!),r   c                      US   S:X  a  SSS.$ US   S:X  a  SSS.$ US   S:X  a  SS	S.$ SS
S.$ ! [          a  nS[        U5      S.s SnA$ SnAff = f)zExecute a single steptoolbashTzCommand executedr   file_createzFile createdgitzGit command executedzStep completedF)r   errorN)	Exceptionstr)r   r   es      r   r&   TaskExecutor._execute_step0   sy    
	7F|v%#'3EFFf.#'>BBf&#'3IJJ#'3CDD 	7$s1v66	7s&   1 1 1 1 
AAAAc                     U R                   (       d  g[        S U R                    5       5      nU[        U R                   5      -  $ )zCalculate overall success rateg        c              3   <   #    U  H  oS    (       d  M  Sv   M     g7f)r   r    N ).0r8   s     r   	<genexpr>0TaskExecutor.get_success_rate.<locals>.<genexpr>B   s     G$6qI,$6s   	)r
   sumlen)r   
successfuls     r   get_success_rateTaskExecutor.get_success_rate>   s:    !!GD$6$6GG
C 2 2333r   )r
   r	   r   )F)	__name__
__module____qualname____firstlineno__r   r.   r&   rC   __static_attributes__r<   r   r   r   r      s     "H74r   r   __main__zTASK EXECUTOR TEST)TaskPlannerzCreate a configuration fileT)r+   z
Completed: r   /r   z	Success: r   u   ✅ TASK EXECUTOR OPERATIONAL)__doc__r)   r   r   rE   r%   task_plannerrK   plannerexecutorcreate_planr   r.   r-   rA   r<   r   r   <module>rR      s     <4 <4| z	
(mG~H<=D""4"6F	M&!234Ac$w-6H5I
JK	IfY'(
)*	
)* r   