
    m
ik
                    z    d dl mZ d dl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  G d d	e
          ZdS )
    )annotationsN)AsyncIterator)AnyLiteralcast)AsyncCallbackHandler)	LLMResult)overridec                      e Zd ZU dZded<   ded<   edd            Zdd
Zed d            Z	ed!d            Z
ed"d            Zed#d            Zd$dZdS )%AsyncIteratorCallbackHandlerz0Callback handler that returns an async iterator.zasyncio.Queue[str]queuezasyncio.Eventdonereturnboolc                    dS )zAlways verbose.T selfs    C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\langchain_classic/callbacks/streaming_aiter.pyalways_verbosez+AsyncIteratorCallbackHandler.always_verbose   s	     t    Nonec                f    t          j                    | _        t          j                    | _        dS )z)Instantiate AsyncIteratorCallbackHandler.N)asyncioQueuer   Eventr   r   s    r   __init__z%AsyncIteratorCallbackHandler.__init__   s     ]__
MOO			r   
serializeddict[str, Any]prompts	list[str]kwargsr   c                <   K   | j                                          d S N)r   clear)r   r   r    r"   s       r   on_llm_startz)AsyncIteratorCallbackHandler.on_llm_start   s        		r   tokenstrc                V   K   |"|dk    r| j                             |           d S d S d S )N )r   
put_nowait)r   r'   r"   s      r   on_llm_new_tokenz-AsyncIteratorCallbackHandler.on_llm_new_token)   s<      "J!!%((((( r   responser	   c                <   K   | j                                          d S r$   r   set)r   r-   r"   s      r   
on_llm_endz'AsyncIteratorCallbackHandler.on_llm_end.         	r   errorBaseExceptionc                <   K   | j                                          d S r$   r/   )r   r3   r"   s      r   on_llm_errorz)AsyncIteratorCallbackHandler.on_llm_error2   r2   r   AsyncIterator[str]c                 K   | j                                         r| j                                        st	          j        t	          j        | j                                                   t	          j        | j                                                  gt          j                   d{V \  }}|r&|	                                
                                 t          d|	                                                                          }|du rdS |W V  | j                                         | j                                        dS dS )z)Asynchronous iterator that yields tokens.)return_whenNzstr | Literal[True]T)r   emptyr   is_setr   waitensure_futuregetFIRST_COMPLETEDpopcancelr   result)r   r   othertoken_or_dones       r   aiterz"AsyncIteratorCallbackHandler.aiter8   s\     *""$$ 	 DI,<,<,>,> 	  !( )$*..*:*:;;)$)..*:*:;;	 $3! ! !      KD%  %		""$$$ !!6

8I8I8K8KLLM $$  3 *""$$ 	 DI,<,<,>,> 	  	  	  	  	 r   N)r   r   )r   r   )r   r   r    r!   r"   r   r   r   )r'   r(   r"   r   r   r   )r-   r	   r"   r   r   r   )r3   r4   r"   r   r   r   )r   r7   )__name__
__module____qualname____doc____annotations__propertyr   r   r
   r&   r,   r1   r6   rE   r   r   r   r   r      s         ::   X$ $ $ $
    X ) ) ) X)    X    X
           r   r   )
__future__r   r   collections.abcr   typingr   r   r   langchain_core.callbacksr   langchain_core.outputsr	   typing_extensionsr
   r   r   r   r   <module>rR      s    " " " " " "  ) ) ) ) ) ) % % % % % % % % % % 9 9 9 9 9 9 , , , , , , & & & & & &
E  E  E  E  E #7 E  E  E  E  E r   