
    =Ki                       S r SSKJr  SSKrSSKrSSKJr  SSKJr  SSK	r	SSK
Jr  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJrJrJrJr  \R:                  " \5      rS\SSS.         SS jjr  " S S5      r!g)zAsync LangGraph client.    )annotationsN)Mapping)TracebackType)AssistantsClient)
CronClient)
HttpClient)
RunsClient)StoreClient)ThreadsClient)TimeoutTypes)NOT_PROVIDED_get_headers_registered_transportsget_asgi_transport)urlapi_keyheaderstimeoutLangGraphClientc                @   SnU ca  Sn [         R                  R                  S5      S:X  a&  [        5       " SSS9n[        R
                  " U5        O SSKJn  [        5       " USS	9nUc  [        R                  " SS9n[        R                  " U UUb  [        R                  " U5      O[        R                  " SSSSS9[        X5      S9n[!        U5      $ ! [         a<    [        R                  S
SS9  [        5       " SSS9n[        R
                  " U5         Nf = f)a"	  Create and configure a LangGraphClient.

The client provides programmatic access to LangSmith Deployment. It supports
both remote servers and local in-process connections (when running inside a LangGraph server).

Args:
    url:
        Base URL of the LangGraph API.
        - If `None`, the client first attempts an in-process connection via ASGI transport.
          If that fails, it defers registration until after app initialization. This
          only works if the client is used from within the Agent server.
    api_key:
        API key for authentication. Can be:
          - A string: use this exact API key
          - `None`: explicitly skip loading from environment variables
          - Not provided (default): auto-load from environment in this order:
            1. `LANGGRAPH_API_KEY`
            2. `LANGSMITH_API_KEY`
            3. `LANGCHAIN_API_KEY`
    headers:
        Additional HTTP headers to include in requests. Merged with authentication headers.
    timeout:
        HTTP timeout configuration. May be:
          - `httpx.Timeout` instance
          - float (total seconds)
          - tuple `(connect, read, write, pool)` in seconds
        Defaults: connect=5, read=300, write=300, pool=5.

Returns:
    LangGraphClient:
        A top-level client exposing sub-clients for assistants, threads,
        runs, and cron operations.

???+ example "Connect to a remote server:"

    ```python
    from langgraph_sdk import get_client

    # get top-level LangGraphClient
    client = get_client(url="http://localhost:8123")

    # example usage: client.<model>.<method_name>()
    assistants = await client.assistants.get(assistant_id="some_uuid")
    ```

???+ example "Connect in-process to a running LangGraph server:"

    ```python
    from langgraph_sdk import get_client

    client = get_client(url=None)

    async def my_node(...):
        subagent_result = await client.runs.wait(
            thread_id=None,
            assistant_id="agent",
            input={"messages": [{"role": "user", "content": "Foo"}]},
        )
    ```

???+ example "Skip auto-loading API key from environment:"

    ```python
    from langgraph_sdk import get_client

    # Don't load API key from environment variables
    client = get_client(
        url="http://localhost:8123",
        api_key=None
    )
    ```
Nz
http://api$__LANGGRAPH_DEFER_LOOPBACK_TRANSPORTtruez/noauth)app	root_pathr   )r   )r   zJFailed to connect to in-process LangGraph server. Deferring configuration.T)exc_info   )retriesi,  )connectreadwritepool)base_url	transportr   r   )osenvirongetr   r   appendlanggraph_api.serverr   	ExceptionloggerdebughttpxAsyncHTTPTransportAsyncClientTimeoutr   r   )r   r   r   r   r#   r   clients          ]/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/langgraph_sdk/_async/client.py
get_clientr2      s   ` 26I
{::>>@AVK*,KI")))4
94.0	J	 ,,Q7	 " MM'"qs#AFW.	F 6"")  9`!   /0TYO	&--i89s   C ADDc                  P    \ rS rSrSrS	S jrS
S jr        SS jrSS jrSr	g)r      ak  Top-level client for LangGraph API.

Attributes:
    assistants: Manages versioned configuration for your graphs.
    threads: Handles (potentially) multi-turn interactions, such as conversational threads.
    runs: Controls individual invocations of the graph.
    crons: Manages scheduled operations.
    store: Interfaces with persistent, shared data storage.
c                (   [        U5      U l        [        U R                  5      U l        [	        U R                  5      U l        [        U R                  5      U l        [        U R                  5      U l	        [        U R                  5      U l        g )N)r   httpr   
assistantsr   threadsr	   runsr   cronsr
   store)selfr0   s     r1   __init__LangGraphClient.__init__   s^    v&	*4995$TYY/tyy)			*
 +
    c                   #    U $ 7f)z Enter the async context manager. r<   s    r1   
__aenter__LangGraphClient.__aenter__   s
     s   c                @   #    U R                  5       I Sh  vN   g N7f)zExit the async context manager.N)aclose)r<   exc_typeexc_valexc_tbs       r1   	__aexit__LangGraphClient.__aexit__   s      kkms   c                   #    [        U S5      (       a-  U R                  R                  R                  5       I Sh  vN   gg N7f)z!Close the underlying HTTP client.r6   N)hasattrr6   r0   rF   rB   s    r1   rF   LangGraphClient.aclose   s6     4  ))""))+++ !+s   9AAA)r7   r:   r6   r9   r;   r8   N)r0   zhttpx.AsyncClientreturnNone)rO   r   )rG   ztype[BaseException] | NonerH   zBaseException | NonerI   zTracebackType | NonerO   rP   )rO   rP   )
__name__
__module____qualname____firstlineno____doc__r=   rC   rJ   rF   __static_attributes__rA   r?   r1   r   r      sA    ,, & %	
 
,r?   )
r   
str | Noner   rW   r   zMapping[str, str] | Noner   zTimeoutTypes | NonerO   r   )"rU   
__future__r   loggingr$   collections.abcr   typesr   r,   langgraph_sdk._async.assistantsr   langgraph_sdk._async.cronr   langgraph_sdk._async.httpr   langgraph_sdk._async.runsr	   langgraph_sdk._async.storer
   langgraph_sdk._async.threadsr   langgraph_sdk._shared.typesr   langgraph_sdk._shared.utilitiesr   r   r   r   	getLoggerrQ   r*   r2   r   rA   r?   r1   <module>re      s     "  	 #   < 0 0 0 2 6 4  
		8	$
 &(,#'o#	o# o# &	o#
 !o# o#d#, #,r?   