
    KKi                         S r SSKrSSKrSSKJrJr  SSKJr  SSKJ	r	J
r
  SSKJr  SSKJr  SSKJr  \R"                  " \5      r " S	 S
\5      rg)z-Chain that runs an arbitrary python function.    N)	AwaitableCallable)Any)AsyncCallbackManagerForChainRunCallbackManagerForChainRun)Field)override)Chainc            
          \ rS rSr% Sr\\   \S'    \\   \S'    \" SS9r	\
\\\4   /\\\4   4   \S'    \" SS	S9r\
\\\4   /\\\\4      4   S-  \S
'    \\R"                  S\SS4S j5       5       r\S\\   4S j5       r\S\\   4S j5       r\ SS\\\4   S\S-  S\\\4   4S jj5       r\ SS\\\4   S\S-  S\\\4   4S jj5       rSrg)TransformChain   zChain that transforms the chain output.

Example:
    ```python
    from langchain_classic.chains import TransformChain
    transform_chain = TransformChain(input_variables=["text"],
     output_variables["entities"], transform=func())

    ```
input_variablesoutput_variables	transform)aliastransform_cbN
atransformatransform_cbmsgreturnc                 .    [         R                  U 5        g)zLog a message once.N)loggerwarning)r   s    d/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/langchain_classic/chains/transform.py	_log_onceTransformChain._log_once+   s     	s    c                     U R                   $ )zExpect input keys.)r   selfs    r   
input_keysTransformChain.input_keys1   s     ###r   c                     U R                   $ )zReturn output keys.)r   r   s    r   output_keysTransformChain.output_keys6   s     $$$r   inputsrun_managerc                 $    U R                  U5      $ N)r   r    r&   r'   s      r   _callTransformChain._call;   s       ((r   c                    #    U R                   b  U R                  U5      I S h  vN $ U R                  S5        U R                  U5      $  N&7f)NzRTransformChain's atransform is not provided, falling back to synchronous transform)r   r   r   r*   s      r   _acallTransformChain._acallC   sP      )++F333-	
   (( 4s   "AA'A r)   )__name__
__module____qualname____firstlineno____doc__liststr__annotations__r   r   r   dictr   r   r   staticmethod	functools	lru_cacher   propertyr!   r$   r	   r   r+   r   r.   __static_attributes__r0   r   r   r   r      s   	 #Y@3iA?D;?WL(DcN+T#s(^;<W!RWLSM8T#s(^,iS#X.GGH4O  2s t    $DI $ $ %T#Y % %  :>)S#X) 0$6) 
c3h	) )  ?C)S#X) 5t;) 
c3h	) )r   r   )r5   r;   loggingcollections.abcr   r   typingr   langchain_core.callbacksr   r   pydanticr   typing_extensionsr	   langchain_classic.chains.baser
   	getLoggerr1   r   r   r0   r   r   <module>rG      s@    3   /   & /			8	$;)U ;)r   