
    {h                         S r SSKJr   " S S5      r\S:X  a`  \" 5       r\" S\R                  5       5        \R                  SS5        \" S	\R                  5       5        \" S
\R                  S5      5        gg)z4
World Model - Track state and predict consequences
    )datetimec                   ,    \ rS rSrS rS rS rS rSrg)
WorldModel   c                 n    S/ SQ[         R                  " 5       R                  5       S.U l        / U l        g )NzPhase 1)toolsmemoryautonomy)project_phasecapabilitieslast_updated)r   now	isoformatstatehistoryselfs    A/home/james-whalen/eden-agi-project/core/reasoning/world_model.py__init__WorldModel.__init__   s,    &;$LLN446


     c                    U R                   R                  U5      nX R                   U'   [        R                  " 5       R	                  5       U R                   S'   U R
                  R                  UUUU R                   S   S.5        g)zUpdate world stater   )keyoldnew	timestampT)r   getr   r   r   r   append)r   r   value	old_values       r   update_stateWorldModel.update_state   sm    JJNN3'	

3%-\\^%=%=%?

>"N3	
 	 r   c                 2    SSSS.nUR                  US5      $ )zPredict what will happenz(Increase autonomy, require safety reviewz(Move to next phase, unlock new abilitieszAdd to project, logged in git)add_capabilitycomplete_phasecreate_filezUnknown consequence)r   )r   actionpredictionss      r   predict_consequenceWorldModel.predict_consequence   s)     IH:

 v'<==r   c                     U R                   $ )N)r   r   s    r   	get_stateWorldModel.get_state(   s    zzr   )r   r   N)	__name__
__module____qualname____firstlineno__r   r!   r)   r,   __static_attributes__ r   r   r   r      s    >r   r   __main__zCurrent state:r   zPhase 2zUpdated state:zPrediction:r%   N)	__doc__r   r   r.   wmprintr,   r!   r)   r3   r   r   <module>r8      sv    " "H z	B	
BLLN+OOOY/	
BLLN+	-//0@AB r   