
    iK                     @    d Z ddlmZ ddlmZ ddlmZ  G d d      Zy)z-Utilities for persisting execution artifacts.    )
LogManager)TokenTracker)GraphContextc                   8    e Zd ZdZdedededdfdZdeddfd	Z	y)
ResultArchiverz<Handles post-execution persistence (tokens, logs, metadata).graphlog_managertoken_trackerreturnNc                 .    || _         || _        || _        y )N)r   r	   r
   )selfr   r	   r
   s       M/Users/bowang/.openclaw/workspace/ChatDev/workflow/runtime/result_archiver.py__init__zResultArchiver.__init__   s     
&*    final_resultc                    | j                   j                  d| j                   j                   dz  }| j                  j	                  t        |             | j                  j                  d| j                  j                         |d       | j                   j                  dz  }| j                  j                  t        |             y )Ntoken_usage_z.jsonT)token_usager   )successdetailszexecution_logs.json)
r   	directorynamer
   export_to_filestrr	   record_workflow_endget_token_usage	save_logs)r   r   token_usage_pathlog_file_paths       r   exportzResultArchiver.export   s    :://L@QQV2WW))#.>*?@,,#11AAC , 	- 	
 

,,/DD""3}#56r   )
__name__
__module____qualname____doc__r   r   r   r   r   r     r   r   r   r      sC    F++  + $	+
 
+73 74 7r   r   N)r$   utils.log_managerr   utils.token_trackerr   workflow.graph_contextr   r   r%   r   r   <module>r)      s    3 ( , /7 7r   