
    Ch
              	       8   S SK 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	J
r
  S SKJr  S SKJr  S SKJr  S SKJrJr  S SKJr  S S	KJr  \R0                  (       d  S SKr\R4                  " S
5        \R6                  " \R8                  S9  \R:                  " S5      rS\\R>                  \R@                  4   \RB                  -  \"-  SS4S jr# SS\	\\"-     S\
\   S\RH                  S-  4S jjr%S\&S\'\&   S\'\(\&\&4      4S jr)S r*\+S:X  a  \*" 5         gg)    N)partial)urlparse)MemoryObjectReceiveStreamMemoryObjectSendStream)ClientSession)
sse_client)StdioServerParametersstdio_client)SessionMessage)RequestResponderignore)levelclientmessagereturnc                    #    [        U [        5      (       a  [        R                  SU 5        g [        R	                  SU 5        g 7f)Nz	Error: %sz Received message from server: %s)
isinstance	Exceptionloggererrorinfo)r   s    M/home/james-whalen/.local/lib/python3.13/site-packages/mcp/client/__main__.pymessage_handlerr      s4      '9%%['*
KK2G<s   AAread_streamwrite_streamclient_infoc                 "  #    [        U U[        US9 IS h  vN n[        R                  S5        UR	                  5       I S h  vN   [        R                  S5        S S S 5      IS h  vN   g  NW N, N	! , IS h  vN  (       d  f       g = f7f)N)r   r   zInitializing sessionInitialized)r   r   r   r   
initialize)r   r   r   sessions       r   run_sessionr!   $   sx     
 '	 
 
*+  """M"   	#   sV   BA/B)A5A1A5B)A3*B1A53B5B;A><BBcommand_or_urlargsenvc                   #    [        U5      n[        U 5      R                  S;   a5  [        U 5       IS h  vN n[	        U6 I S h  vN   S S S 5      IS h  vN   g [        XUS9n[        U5       IS h  vN n[	        U6 I S h  vN   S S S 5      IS h  vN   g  Nd NV NH! , IS h  vN  (       d  f       g = f NE N7 N)! , IS h  vN  (       d  f       g = f7f)N)httphttps)commandr#   r$   )dictr   schemer   r!   r	   r
   )r"   r#   r$   env_dictstreamsserver_parameterss         r   mainr.   4   s     CyH&&*;;n--w''' .-- 2.Yab 122gw''' 322 .' .---
 3' 3222s   4CBCB!BB!CBC5B;6C9CB=C
CB?CB!C!B8'B*(B84C=C?CCC
CCc            
      @   [         R                  " 5       n U R                  SSS9  U R                  SSSS9  U R                  SS	S
SSS/ S9  U R                  5       n[        R
                  " [        [        UR                  UR                  UR                  5      SS9  g )Nr"   zCommand or URL to connect to)helpr#   *zAdditional arguments)nargsr0   z-ez--env   append)KEYVALUEz9Environment variables to set. Can be used multiple times.)r2   actionmetavarr0   defaulttrio)backend)argparseArgumentParseradd_argument
parse_argsanyiorunr   r.   r"   r#   r$   )parserr#   s     r   clirC   B   s    $$&F
(/MN
c0FG
 H   D	IIgdD//DHHEvV    __main__)N),r<   loggingsys	functoolsr   urllib.parser   r@   anyio.streams.memoryr   r   	mcp.typestypesmcp.client.sessionr   mcp.client.sser   mcp.client.stdior	   r
   mcp.shared.messager   mcp.shared.sessionr   warnoptionswarningssimplefilterbasicConfigINFO	getLoggerr   ServerRequestClientResultServerNotificationr   r   Implementationr!   strlisttupler.   rC   __name__ rD   r   <module>ra      s%     
  !  R  , % @ - /
(#   ',, '			8	$=e1153E3EEFIaIaadmm=	= 04#*>I+EF#(8# %%,# (s ($s) ($uS#X:O (W$ zE rD   