
    in                         d Z ddlmZ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  e	d	      Z ed
       G d d             Z G d dee   e      Zy)z5Base classes for payload processors applied on edges.    )ABCabstractmethod)	dataclass)AnyGenericTypeVar)Message)ExecutionContext)
LogManager)FunctionManagerTConfigT)slotsc                   .    e Zd ZU dZdZded<   dZded<   y)ProcessorFactoryContextz,Context passed to processor implementations.NzFunctionManager | Nonefunction_managerzLogManager | Nonelog_manager)__name__
__module____qualname____doc__r   __annotations__r        I/Users/bowang/.openclaw/workspace/ChatDev/runtime/edge/processors/base.pyr   r      s    615.5'+K$+r   r   c                       e Zd ZU dZdZedz  ed<   dZeee	f   dz  ed<   de
deddfdZed	ed
ede	de	dedededz  fd       Zd	edefdZd	edefdZy)EdgePayloadProcessorzBase payload processor API.Nlabelmetadataconfigctxreturnc                      || _         || _        y N)r   r    )selfr   r    s      r   __init__zEdgePayloadProcessor.__init__   s    r   payloadsource_result	from_node	edge_linkr   contextc                     y)z7Return transformed payload or None to drop the message.Nr   )r$   r&   r'   r(   r)   r   r*   s          r   	transformzEdgePayloadProcessor.transform!   s    r   c                 "    |j                         S r#   )cloner$   r&   s     r   _clonezEdgePayloadProcessor._clone.   s    }}r   c                 "    |j                         S r#   )text_contentr/   s     r   _textzEdgePayloadProcessor._text1   s    ##%%r   )r   r   r   r   r   strr   r   dictr   r   r   r%   r   r	   r   r
   r,   r0   r3   r   r   r   r   r      s    %E3:&*Hd38nt#*w -D   
F
F 	
F
 
F 
F  
F "
F 
4
F 
Fg ' &W & &r   r   N)r   abcr   r   dataclassesr   typingr   r   r   entity.messagesr	   runtime.node.executorr
   utils.log_managerr   utils.function_managerr   r   r   r   r   r   r   <module>r=      s[    ; # ! ( ( # 2 ( 2
)
 , , ,&77+S &r   