
    dh6              	          S r  " S S5      r\S:X  a  \" S5        \" S5        \" S5        \" 5       rSr\R                  \5      r\" S\S    35        \" S	\" \S
   5       S35        \S
    H/  r	\	S   (       a	  S\	S    S3OSr
\" S\	S    S\	S    S\
 35        M1     \" S\S    S35        \R                  \5      r\" S\S    35        \" S5        gg)z;
Task Planner - Generate multi-step plans to achieve goals
c                   0    \ rS rSrS rS rSS jrS rSrg)	TaskPlanner   c                     / SQU l         g )N)bashfile_create	file_readgitavailable_tools)selfs    A/home/james-whalen/eden-agi-project/core/autonomy/task_planner.py__init__TaskPlanner.__init__   s
    J    c                    U/ SS.nSUR                  5       ;   a/  SUR                  5       ;   a  SSSS.S	S
SS.SSSS./US'   SUS'   U$ SUR                  5       ;   a  SSSS.S	SSS.SSSS./US'   SUS'   U$ SUR                  5       ;   d  SUR                  5       ;   a  SSSS.S	SSS.SSSS./US'   S	US'   U$ SSSS.S	SSS.SSSS./US'   SUS'   U$ ) z%Generate a multi-step plan for a goal    )goalstepsestimated_timecreatefile   design_structureN)stepactiontool   create_filer      verify_creationr   r   r   analyze
read_filesr   extract_patternsgenerate_reportr   r	   commitcheck_status	add_filescommit_changesanalyze_goalexecute_main_taskverify_completion   )lower)r   goal_descriptionplans      r   create_planTaskPlanner.create_plan	   sm    %
 '--//F>N>T>T>V4V&8$Gm]K&7HDM
 &'D!"4 1 *0022lKH&8$G&7ODM
 &'D!"$ ! &,,..(>N>T>T>V2VneDk5A&6FDM
 &'D!"  ndC&96J&96JDM
 &'D!"r   Nc                 ^    U(       a%  SU;   a  US    H  nUS   US   ;   d  M  SUS'   M     U$ )z(Optimize plan based on learned knowledgebest_approachr   r   T	optimized )r   r/   learned_knowledger   s       r   optimize_planTaskPlanner.optimize_plan4   s>    4E!EW>%6%GG(,D% & r   c                     / nUS    HB  nUS   (       d  M  US   U R                   ;  d  M$  UR                  SUS    SUS    S35        MD     [        U5      S:H  US.$ )	zCheck if plan is executabler   r   zStep r   z: Tool 'z' not availabler   )validissues)r   appendlen)r   r/   r;   r   s       r   validate_planTaskPlanner.validate_plan<   sh    MDF||VD4H4H Hd6l^8DL>YZ " V)V<<r   r
   )N)	__name__
__module____qualname____firstlineno__r   r0   r7   r>   __static_attributes__r5   r   r   r   r      s    K)V=r   r   __main__zF======================================================================zTASK PLANNER TESTz*Create a configuration file for the systemu   
🎯 Goal: r   u   📋 Plan (r   z steps):r   [] z   r   z. r    u   ⏱️  Estimated time: r   z minutesu   
✅ Plan valid: r:   u   
✅ TASK PLANNER OPERATIONALN)__doc__r   r@   printplannerr   r0   r/   r=   r   tool_strr>   
validationr5   r   r   <module>rO      s  == ==~ z	(O	
	(OmG7Dt$D	M$v,
()	KDM*+8
45W*.v,QtF|nA&BDL>DN#31XJ?@  
$T*:%;$<H
EF&&t,J	z'23
45	
*+ r   