
    {h
              	       *   d dl Z d dlZd dlZd dlmZ d dlmZ d dlZd dlm	Z	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZmZ d dlmZ d d	lmZ ej0                  sd dlZ ej4                  d
        ej6                  ej8                          ej:                  d      Zdeej>                  ej@                  f   ejB                  z  e"z  ddfdZ#	 dde	ee"z     de
e   dejH                  dz  fdZ%de&de'e&   de'e(e&e&f      fdZ)d Z*e+dk(  r e*        yy)    N)partial)urlparse)MemoryObjectReceiveStreamMemoryObjectSendStream)ClientSession)
sse_client)StdioServerParametersstdio_client)SessionMessage)RequestResponderignore)levelclientmessagereturnc                    K   t        | t              rt        j                  d|        y t        j	                  d|        y w)Nz	Error: %sz Received message from server: %s)
isinstance	Exceptionloggererrorinfo)r   s    T/var/www/html/hubwallet-dev/venv/lib/python3.12/site-packages/mcp/client/__main__.pymessage_handlerr      s2      '9%['*
KK2G<s   ?Aread_streamwrite_streamclient_infoc                   K   t        | |t        |      4 d {   }t        j                  d       |j	                          d {    t        j                  d       d d d       d {    y 7 W7 ,7 	# 1 d {  7  sw Y   y xY ww)N)r   r   zInitializing sessionInitialized)r   r   r   r   
initialize)r   r   r   sessions       r   run_sessionr!   $   s     
 '	 # #
 
*+  """M"# # # 	## # # #sV   BA2B)A8A4A8!B,A6-B4A86B8B
>B?B
Bcommand_or_urlargsenvc                   K   t        |      }t        |       j                  dv r5t        |       4 d {   }t	        |  d {    d d d       d {    y t        | ||      }t        |      4 d {   }t	        |  d {    d d d       d {    y 7 h7 Z7 L# 1 d {  7  sw Y   y xY w7 @7 27 $# 1 d {  7  sw Y   y xY ww)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.tYab 12 	( 	(gw'''	( 	( 	(	('	( 	( 	( 	(
	('	( 	( 	( 	(s   2CBCB#BB#	CB!"C7B88C;B>B:B>CB<CB#!C#B5)B,*B51C:B><C>CCCCc            	      T   t        j                         } | j                  dd       | j                  ddd       | j                  dd	d
dddg        | j                         }t	        j
                  t        t        |j                  |j                  |j                        d       y )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  , % @ - /
H(#   ',, '			8	$=e1153E3EEFIaIaadmm=	= 04#*>I+EF#(8# %%,# (s ($s) ($uS#X:O (W$ zE rD   