ó
    ýÞ j
  ã                  ó  • 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         Nµf = 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          ÚU/var/www/html/gaurav/venv/lib/python3.13/site-packages/langgraph_sdk/_async/client.pyÚ
get_clientr2      s  € ð` 26€IØ
�{ØˆÜ�:‰:�>‰>Ð@ÓAÀVÓKÜ*Ô,°ÀÑKˆIÜ"×)Ò)¨)Õ4ð
9Ý4ä.Ô0°À	ÑJ�	ð ÑÜ×,Ò,°QÑ7ˆ	Ü×ÒØØð Ñ"ô �MŠM˜'Ô"ä—’ q¨s¸#ÀAÑFä˜WÓ.ñ	€Fô ˜6Ó"Ð"øô) ó 9Ü—‘Ø`Ø!ð ñ ô /Ô0°TÀYÑO�	Ü&×-Ò-¨iÖ8ð9ús   Á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Ó&ˆŒ	Ü*¨4¯9©9Ó5ˆŒÜ$ T§Y¡YÓ/ˆŒÜ˜tŸy™yÓ)ˆŒ	Ü §	¡	Ó*ˆŒ
Ü  §¡Ó+ˆ�
ó    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   é € ð �k‰k‹m×Óù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?   