
    {hE                        S r  " S S5      r\S:X  am  \" 5       r\R	                  SS5      r\R                  S/ SQ5        \" S\R                  5       5        \R                  S5        \" S	\R                  5       5        g
g
)z)
Goal Manager - Generate and track goals
c                   <    \ rS rSrS rS
S jrS rS rS rS r	Sr
g	)GoalManager   c                      / U l         / U l        g )N)goals	completedselfs    ;/home/james-whalen/eden-agi-project/core/reasoning/goals.py__init__GoalManager.__init__   s    
    c                 x    [        U R                  5      S-   UUS/ S.nU R                  R                  U5        U$ )zCreate a new goal   active)iddescriptionprioritystatus	sub_goals)lenr   append)r	   r   r   goals       r
   create_goalGoalManager.create_goal
   s@     djj/A%& 
 	

$r   c                 H    U R                    H  nUS   U:X  d  M  X#S'     g   g)zBreak goal into sub-goalsr   r   TFr   )r	   goal_idr   r   s       r
   break_down_goalGoalManager.break_down_goal   s,    JJDDzW$$-[!  r   c                     [        U R                  5       HI  u  p#US   U:X  d  M  SUS'   U R                  R                  U R                  R	                  U5      5          g   g)zMark goal as completer   completer   TF)	enumerater   r   r   pop)r	   r   ir   s       r
   complete_goalGoalManager.complete_goal   sS     ,GADzW$!+X%%djjnnQ&78	 -
 r   c                 Z    U R                    Vs/ s H  oS   S:X  d  M  UPM     sn$ s  snf )zGet all active goalsr   r   r   )r	   gs     r
   get_active_goalsGoalManager.get_active_goals'   s'    ::A:a8)@:AAAs   ((c                 X    [        U R                  5      [        U R                  5      S.$ )N)r   r   )r   r   r   r   s    r
   	get_statsGoalManager.get_stats+   s    djj/DNN8KLLr   )r   r   N)medium)__name__
__module____qualname____firstlineno__r   r   r   r%   r)   r,   __static_attributes__ r   r
   r   r      s"    
BMr   r   __main__zComplete Phase 1highr   )zBuild toolszCreate memoryzEnable autonomyzActive goals:zStats:N)__doc__r   r/   gmr   r   r   printr)   r%   r,   r4   r   r
   <module>r:      s   'M 'MR z	B>>,f5DqMN	/2..01Q	(BLLN# r   