
    gh                        d Z ddlmZ ddlmZmZmZmZ ddlm	Z	m
Z
 erddlmZ  G d de
d	          Z G d
 de
          Z G d de          Z G d de          Zeeef         ZdS )z6Module contains typedefs that are used with Runnables.    )annotations)TYPE_CHECKINGAnyLiteralUnion)NotRequired	TypedDict)Sequencec                  6    e Zd ZU dZded<   	 ded<   	 ded<   dS )	EventDataz'Data associated with a streaming event.r   inputoutputchunkN__name__
__module____qualname____doc____annotations__     \/var/www/FlaskApp/flask-venv/lib/python3.11/site-packages/langchain_core/runnables/schema.pyr   r      sE         11JJJ KKK JJJ r   r   F)totalc                  N    e Zd ZU dZded<   	 ded<   	 ded<   	 ded<   	 d	ed
<   dS )BaseStreamEventa  Streaming event.

    Schema of a streaming event which is produced from the astream_events method.

    Example:

        .. code-block:: python

            from langchain_core.runnables import RunnableLambda

            async def reverse(s: str) -> str:
                return s[::-1]

            chain = RunnableLambda(func=reverse)

            events = [event async for event in chain.astream_events("hello")]

            # will produce the following events
            # (where some fields have been omitted for brevity):
            [
                {
                    "data": {"input": "hello"},
                    "event": "on_chain_start",
                    "metadata": {},
                    "name": "reverse",
                    "tags": [],
                },
                {
                    "data": {"chunk": "olleh"},
                    "event": "on_chain_stream",
                    "metadata": {},
                    "name": "reverse",
                    "tags": [],
                },
                {
                    "data": {"output": "olleh"},
                    "event": "on_chain_end",
                    "metadata": {},
                    "name": "reverse",
                    "tags": [],
                },
            ]
    streventrun_idzNotRequired[list[str]]tagszNotRequired[dict[str, Any]]metadatazSequence[str]
parent_idsNr   r   r   r   r   r   +   su         * *X JJJ* KKK
 !    *)))	 
 
r   r   c                  *    e Zd ZU dZded<   	 ded<   dS )StandardStreamEventzIA standard stream event that follows LangChain convention for event data.r   datar   nameNr   r   r   r   r#   r#      s1         SSOOO III<<r   r#   c                  6    e Zd ZU dZded<   	 ded<   	 ded<   dS )	CustomStreamEventzKCustom stream event created by the user.

    .. versionadded:: 0.2.15
    zLiteral['on_custom_event']r   r   r%   r   r$   Nr   r   r   r   r'   r'      sB           &%%%III*IIILLr   r'   N)r   
__future__r   typingr   r   r   r   typing_extensionsr   r	   collections.abcr
   r   r   r#   r'   StreamEventr   r   r   <module>r-      sJ   < < " " " " " " 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 )((((((    	    <h h h h hi h h hV	= 	= 	= 	= 	=/ 	= 	= 	=M M M M M M M M ')::;r   