
    i#	                         d Z ddlmZ ddlmZmZmZ ddlmZ ddl	m
Z
 ddlmZmZmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ e G d d             Zy)zBBuilder that assembles the runtime context for workflow execution.    )	dataclass)AnyDictOptional)ToolManager)AttachmentStore)EDGE_FUNCTION_DIREDGE_PROCESSOR_FUNCTION_DIRget_function_manager)
LogManager)WorkflowLogger)TokenTracker)GraphContext   )RuntimeContextc                   D    e Zd ZU dZeed<   d	dddee   dee   de	fdZ
y)
RuntimeBuilderz6Constructs RuntimeContext instances for GraphExecutor.graphN)
session_idloggerr   returnc                   t               }t        t              }t        t              }|xs4 t	        | j
                  j                  | j
                  j                        }t        |      }t        | j
                  j                        }| j
                  j                  dz  j                         }|j                  dd       |dz  }	|	j                  dd       t        |	      }
| j
                  j                  | j
                  j                  j                  ||
d}t!        |||||||
||	      }||_        |r|j$                  j'                  d|       |S )	N)workflow_idcode_workspaceT)parentsexist_okattachments)graph_directoryvarspython_workspace_rootattachment_store)	tool_managerfunction_manageredge_processor_function_managerr   log_managertoken_trackerr!   r   global_stater   )r   r   r	   r
   r   r   name	log_levelr   r   	directoryresolvemkdirr   configr   r   r   r'   
setdefault)selfr   r   r"   r#   processor_function_managerr%   r&   r   attachments_dirr!   r'   contexts                M/Users/bowang/.openclaw/workspace/ChatDev/workflow/runtime/runtime_builder.pybuildzRuntimeBuilder.build   s7   "}/0AB%9:U%V"P>$**//4::;O;OP ($A**..1AAJJLTD9(=8dT:*?;  $zz33JJ%%**%3 0	(
 !%-,F#'-)%

 (  ++L*E    )N)__name__
__module____qualname____doc__r   __annotations__r   r   strr   r4    r5   r3   r   r      s8    @#\` #H^4 #HUXM #es #r5   r   N)r9   dataclassesr   typingr   r   r   runtime.node.agentr   utils.attachmentsr   utils.function_managerr	   r
   r   utils.log_managerr   utils.loggerr   utils.token_trackerr   workflow.graph_contextr   runtime_contextr   r   r<   r5   r3   <module>rG      sE    H ! & & * - g g ( ' , / + ( ( (r5   