Skip to main content
Glama

ClickUp Operator

by noah-vh
testclient.cpython-312.pyc36.7 kB
� �MMg u���ddlmZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl m Z ddl mZddlmZddlmZmZddlZddlZddlZddlmZmZddlmZdd lmZdd lmZmZm Z m!Z!m"Z"dd l#m$Z$ejJd k\rdd l m&Z&ndd l'm&Z& ddl(Z(e jVge jXejZj\fZ/e jVe e"ge j`dfZ1e jVe!ge1fZ2e jVe!e e"ge j`dfZ3e jhe5e jle5e jne5e8ffZ9dd�Z:Gd�d�Z;Gd�de jx�Z=Gd�de>�Z?Gd�de(j�e$�ZAGd�d�ZBGd�de(j��ZDGd�de(j��ZFy#e)$r e*d��wxYw)�)� annotationsN)�Future)�cached_property)� GeneratorType)�unquote�urljoin)�ObjectReceiveStream�ObjectSendStream)�StapledObjectStream)�is_async_callable)�ASGIApp�Message�Receive�Scope�Send)�WebSocketDisconnect)�� )� TypeGuardzThe starlette.testclient module requires the httpx package to be installed. You can install this with: $ pip install httpx c�Z�tj|�r t|d�St|�S)N� __await__)�inspect�isclass�hasattrr ��apps �`C:\Users\noahv\Documents\GitHub\clickup-operator\.venv\Lib\site-packages\starlette/testclient.py� _is_asgi3r2s&�����s���s�K�(�(� �S� !�!�c� �eZdZdZdd�Zdd�Zy)� _WrapASGI2z7 Provide an ASGI3 interface onto an ASGI2 app. c��||_y�Nr)�selfrs r�__init__z_WrapASGI2.__init__=s ����rc��TK�|j|�}|||��d{���y7��wr#r)r$�scope�receive�send�instances r�__call__z_WrapASGI2.__call__@s#�����8�8�E�?���w��%�%�%�s �(�&�(N)r�ASGI2App�return�None)r'rr(rr)rr-r.)�__name__� __module__� __qualname__�__doc__r%r+�rrr!r!8s����&rr!c�"�eZdZUded<ded<y)� _AsyncBackend�str�backend�dict[str, typing.Any]�backend_optionsN)r/r0r1�__annotations__r3rrr5r5Es �� �L�*�*rr5c��eZdZdd�Zy)�_Upgradec��||_yr#)�session)r$r>s rr%z_Upgrade.__init__Ks ���� rN)r>�WebSocketTestSessionr-r.)r/r0r1r%r3rrr<r<Js��rr<c��eZdZdZy)�WebSocketDenialResponsez� A special case of `WebSocketDisconnect`, raised in the `TestClient` if the `WebSocket` is closed before being accepted with a `send_denial_response()`. N)r/r0r1r2r3rrrArAOs��rrAc��eZdZ dd�Zdd�Zedd��Zdd�Zdd�Zdd�Z dd�Z dd�Z dd �Z dd �Z dd �Zdd �Zddd �Zdd d�Zdd�Zd!d�Zd"d�Zdd#d�Zy)$r?c��||_||_d|_||_t j �|_t j �|_d|_yr#) rr'�accepted_subprotocol�portal_factory�queue�Queue�_receive_queue� _send_queue� extra_headers)r$rr'rEs rr%zWebSocketTestSession.__init__ZsF�� ����� �$(��!�,���49�K�K�M���AF������!��rc���tj�|_|jj|j ��|_ |j j |j�}|jddi�|j�}|j|�|jdd�|_|jdd�|_|S#t$r|jj��wxYw)N�typezwebsocket.connect� subprotocol�headers)� contextlib� ExitStack� exit_stack� enter_contextrE�portal�start_task_soon�_runr)r(�_raise_on_close� Exception�close�getrDrJ)r$�_�messages r� __enter__zWebSocketTestSession.__enter__hs���$�.�.�0����o�o�3�3�D�4G�4G�4I�J�� � �"�k�k�9�9�$�)�)�D�A� �I�I�v�2�3� 4��l�l�n�G� � � �� )�%,�K�K� �t�$D��!�$�[�[��D�9���� �� � � �O�O� !� !� #� � �s � AC�%C7c�*�tj�Sr#)�anyio�Event�r$s r� should_closez!WebSocketTestSession.should_closexs���{�{�}�rc��@K�|jj�y�wr#)ra�setr`s r� _notify_closez"WebSocketTestSession._notify_close|s���� ������s�c��� |jd�|jj|j�|jj�|j j �sH|j j�}t|t�r|�|j j �s�Gyy#|jj|j�|jj�wxYw)N��) rXrSrTrdrQrI�emptyrY� isinstance� BaseException)r$�argsr[s r�__exit__zWebSocketTestSession.__exit__s��� $� �J�J�t� � �K�K� '� '��(:�(:� ;� �O�O� !� !� #��"�"�(�(�*��&�&�*�*�,�G��'�=�1�� ��"�"�(�(�*�� �K�K� '� '��(:�(:� ;� �O�O� !� !� #�s �B5�5AC6c��F�K�d�fd� }tj�4�d{���}|j||��jj ��d{���|j j �ddd��d{���y7�c7�17� #1�d{���7swYyxYw�w)zE The sub-thread in which the websocket session runs. c���K� �j�j�j�j��d{���|jj�y7�#t j �$rY�6t $r!}�jj|��d}~wwxYw#|jj�wxYw�wr#) rr'� _asgi_receive� _asgi_sendr^�get_cancelled_exc_classrirI�put� cancel_scope�cancel)�tg�excr$s �r�run_appz*WebSocketTestSession._run.<locals>.run_app�s������ )��h�h�t�z�z�4�+=�+=�t���O�O�O����&�&�(�P���0�0�2� �� � �� � �$�$�S�)��� �����&�&�(�sO�B?�4A�A�A�B?�A�B�2B �4B�<B�B�B � B<�<B?N)rtzanyio.abc.TaskGroupr-r.)r^�create_task_group� start_soonra�waitrrrs)r$rvrts` rrUzWebSocketTestSession._run�st����� )��*�*�,�,�� �M�M�'�2� &��#�#�(�(�*� *� *� �O�O� "� "� $�-�,�,�� *��-��,�,�,�sV�B!�B�B!�0B �B�B �5 B!�B �B!�B � B!� B�B �B�B!c��"K�|jj�rVtj�|_|jj ��d{���|jj�r�V|jj �S7�9�wr#)rHrgr^r_� _queue_eventryrYr`s rrnz"WebSocketTestSession._asgi_receive�sn�����!�!�'�'�)� %� � � �D� ��#�#�(�(�*� *� *��!�!�'�'�)��"�"�&�&�(�(� +�s�AB�B �B�3Bc��BK�|jj|�y�wr#)rIrq�r$r[s rrozWebSocketTestSession._asgi_send�s���� �����W�%�s�c�V�|ddk(r-t|jdd�|jdd����|ddk(rl|d }|d }g} |j�}|dd k(sJ�|j|d �|jd d�sn�Bt ||dj |����y)NrLzwebsocket.close�coderf�reason�)rr�zwebsocket.http.response.start�statusrNzwebsocket.http.response.body�body� more_bodyFr)� status_coderN�content)rrYr(�appendrA�join)r$r[r�rNr�s rrVz$WebSocketTestSession._raise_on_close�s��� �6�?�/� /�%�7�;�;�v�t�+D�W�[�[�Ya�ce�Mf�g� g� �V�_� ?� ?�&�x�0�K�18��1C�G� "�D���,�,�.���v��*H�H�H�H�� � �G�F�O�,��{�{�;��6�� � *�k�7�\_�\d�\d�ei�\j�k� k�@rc��|jj|�t|d�r0|jj |j j �yy)Nr{)rHrqrrSrTr{rcr}s rr)zWebSocketTestSession.send�sC�� ������(� �4�� (� �K�K� '� '��(9�(9�(=�(=� >� )rc�,�|jd|d��y)N�websocket.receive�rL�text�r)�r$�datas r� send_textzWebSocketTestSession.send_text�s�� � � �.��=�>rc�,�|jd|d��y)Nr��rL�bytesr�r�s r� send_byteszWebSocketTestSession.send_bytes�s�� � � �.��>�?rc��tj|dd��}|dk(r|jd|d��y|jd|jd�d��y) N)�,�:F)� separators� ensure_asciir�r�r��utf-8r�)�json�dumpsr)�encode)r$r��moder�s r� send_jsonzWebSocketTestSession.send_json�sH���z�z�$�:�E�J�� �6�>� �I�I�2�D�A� B� �I�I�2�T�[�[��=Q�R� SrNc�.�|jd||d��y)Nzwebsocket.disconnect)rLrr�r�)r$rr�s rrXzWebSocketTestSession.close�s�� � � �1�4�6�R�Src�^�|jj�}t|t�r|�|Sr#)rIrYrhrir}s rr(zWebSocketTestSession.receive�s*���"�"�&�&�(�� �g�}� -��M��rc�~�|j�}|j|�tjt|d�S)Nr�)r(rV�typing�castr6r}s r� receive_textz!WebSocketTestSession.receive_text�s0���,�,�.�� ���W�%��{�{�3����0�0rc�~�|j�}|j|�tjt|d�S)Nr�)r(rVr�r�r�r}s r� receive_bytesz"WebSocketTestSession.receive_bytes�s1���,�,�.�� ���W�%��{�{�5�'�'�"2�3�3rc��|j�}|j|�|dk(r|d}n|djd�}tj|�S)Nr�r�r�)r(rV�decoder��loads)r$r�r[r�s r� receive_jsonz!WebSocketTestSession.receive_json�sO���,�,�.�� ���W�%� �6�>��6�?�D��7�#�*�*�7�3�D��z�z�$��r)r�ASGI3Appr'rrE�_PortalFactoryTyper-r.)r-r?)r-z anyio.Event�r-r.�rj� typing.Anyr-r.�r-r�r[rr-r.)r�r6r-r.)r�r�r-r.)r�)r�r�r�� typing.Literal['text', 'binary']r-r.)rfN)r�intr�z str | Noner-r.)r-r6)r-r�)r�r�r-r�)r/r0r1r%r\rrardrkrUrnrorVr)r�r�r�rXr(r�r�r�r3rrr?r?Ys��� "� � "�� "�+� "� � "�� ���� � �%�*)� &� l�?� ?�@�T�T�� 1� 4�  rr?c�8�eZdZ d dd�Zdd�Zy)�_TestClientTransportc�J�||_||_||_||_||_yr#)r�raise_server_exceptions� root_pathrE� app_state)r$rrEr�r�r�s rr%z_TestClientTransport.__init__�s)�����'>��$�"���,���"��rc�����������jj}�jjjd��}�jj}�jj }�jj jd��}ddddd�|}d|vr!|jdd�\}} t| �} n|}|} d�jvrg} n1| |k(rd |j�fg} nd |�d| ��j�fg} | �jj�D� � cgc]3\} } | j�j�| j�f��5c} } z } |d vrډjjd d�}|�g}n,|jd �D� cgc]} | j���}} d t|�|jdd�d|j ||j�| ddg|| g||j"j%�diid� }t'|j(||j*�}t-|��dd�j.t|�|jdd�d|j ||j�| ddg|| gdii|j"j%�d� }d�d�dt1j2�i�d�d�d ���fd� }d!������fd� } |j+�5}|j5t6j8��|j5|j(|||�ddd�|j<r �s!Jd���sdgt1j2�d��t?j@�djC���d<t?jDd"i��d�i��}���|_#�|_$|Scc} } wcc} w#1swY��xYw#t:$r}|j<r|�Yd}~��d}~wwxYw)#N�ascii)�encoding�Pi�)�http�ws�https�wssr���hostshost>r�r��sec-websocket-protocolr�� websocket�?r� testclientiP�zwebsocket.http.response) rL�path�raw_pathr��scheme� query_stringrN�client�server� subprotocols�state� extensionsr�z1.1�http.response.debug) rL� http_version�methodr�r�r�r�r�rNr�r�r�r�F�streamc���K��r,�j�s�j��d{���ddiS�j�}t|t�r|j d�}nP|�d}nKt|t �r9 |jd�}t|t�r|j d�}d|dd�S|}d�d|d�S7��#t$r d�ddd�cYSwxYw�w) NrLzhttp.disconnectr�rz http.requestT)rLr�r�)rLr�) �is_setry�readrhr6r�rr)� StopIteration)r�� body_bytes�chunk�request�request_complete�response_completes ���rr(z4_TestClientTransport.handle_request.<locals>.receiveAs������ �(�/�/�1�+�0�0�2�2�2�� 1�2�2��<�<�>�D��$��$�$(�K�K��$8� ��� � ��D�-�0�A� �I�I�d�O�E�!�%��-� %� � �W� 5��$2�E�PT�U�U� "� �#� �*�J�?� ?�+3��%�A�'+�$�$2�C�@�@�A�s4�&C�B;�AC�:7B=�1 C�=C� C�C�Cc��>�K�|ddk(rZ� rJd��|d�d<|jdg�D��cgc]%\}}|j�|j�f��'c}}�d<d� y|ddk(r�� sJd ���j�rJd ��|jd d �}|jd d�}�jdk7r�dj |�|s%�dj d��j �yy|ddk(r|dd� |dd�yycc}}w�w)NrLzhttp.response.startz1Received multiple "http.response.start" messages.r�r�rNTzhttp.response.bodyz<Received "http.response.body" without "http.response.start".z7Received "http.response.body" after response completed.r�rr�F�HEADr�rr��info�template�context)rYr�r�r��write�seekrc) r[�key�valuer�r�r�� raw_kwargsr�r��response_startedr�s ������rr)z1_TestClientTransport.handle_request.<locals>.send]sJ������v��"7�7�+�`�-`�`�+�,3�H�,=� �=�)�Za�Ze�Ze�fo�qs�Zt�(u�Zt�J�C�QV�#�*�*�,�� � ��)G�Zt�(u� �9�%�#'� ����$8�8�'�g�)g�g�'�,�3�3�5�p�7p�p�5��{�{�6�3�/��#�K�K� �U�;� ��>�>�V�+��x�(�.�.�t�4� ��x�(�-�-�a�0�%�)�)�+�!����$9�9�"�6�?�:�6��!�&�/�)�4��:��)v�s�/D�*D�CDz(TestClient did not receive any response.i�)r�rNr�r�r�r�r3)%�urlr��netlocr�r�r��query�splitr�rNr�� multi_items�lowerrY�striprr�r��copyr?rrEr<r��io�BytesIO�callr^r_rir��httpx� ByteStreamr��Responser�r�)r$r�r�r�r�r�r�� default_portr�� port_string�portrNr�r�rMr�r'r>r(r)rSru�responser�r�r�r�r�r�s ` @@@@@@r�handle_requestz#_TestClientTransport.handle_request�s�������#�#�����#�#�*�*�G�*�<���{�{�����;�;�'�'��� � �!�!�(�(�'�(�:�� "�"�s�3�G��O� � �&�=� &� � �S�!� 4� �D�+��{�#�D��D��D� �W�_�_� $�13�G� �\� !������/�0�G��T�F�!�D�6�"2�!:�!:�!<�=�>�G� �W�_�_�Mh�Mh�Mj�k�Mj�z�s�E�S�Y�Y�[�'�'�)�5�<�<�>�:�Mj�k�k�� �]� "�!�/�/�-�-�.F��M�K��"�57� �;F�;L�;L�S�;Q�R�;Q�%�� � � �;Q� �R�#��� �$�N�N�4��3�A�6�!�^�^� � %� � ��"�'��/���,� ,����,�,�.�8�"�=� �E�+�4�8�8�U�D�<O�<O�P�G��7�#� #��!��n�n��D�M� ���t�Q�/��2�����!�L�L�N��#�U�+��T�l�0�"�5��^�^�(�(�*� �� !�� ��-5�r�z�z�|�,D� ����� @�8 5� 5�, ��$�$�&�&�$*�K�K�� � �$<�!�� � �D�H�H�e�W�d�;�'� � '� '�#� O�%O� O�#�!�"���*�*�,��J� %�/�/� �8�0D�0I�0I�0K�L� �8���>�>�@�J�@��@�� � � (�H� �&�H� ����wl�� S�x'�&��� ��+�+�� �,�� �s<�)8N<�O�#O�3>O�1O�O� O� O4�O/�/O4N)Tr�) rr�rEr�r��boolr�r6r�r8r-r.)r�z httpx.Requestr-�httpx.Response)r/r0r1r%r�r3rrr�r��sO�� )-�� #� � #�+� #�"&� #� � #�)� #� � #�Trr�c � ��eZdZUdZded<dZded< d d�fd� Zejdd��Z dd �Z ddddddde jjdde jjdd � d�fd �Zddde jjdde jjdd � d�fd �Zddde jjdde jjdd � d�fd�Zddde jjdde jjdd � d�fd�Zddddddde jjdde jjdd � d �fd�Zddddddde jjdde jjdd � d �fd�Zddddddde jjdde jjdd � d �fd�Zddde jjdde jjdd � d�fd�Z d! d"�fd� Zd#d�Zd$d�Zd%d�Zd%d�Zd%d�Z�xZS)&� TestClientFz Future[None]�taskNzanyio.abc.BlockingPortal | NonerSc �d��t||xsi��|_t|�r|} n%tjt |�}t |�} | |_i|_t|j|j|||j��} |�i}|jdd�t� |�5||| | |��y)N)r7r9)rEr�r�r�z user-agentr�)�base_urlrN� transport�follow_redirects�cookies)r5� async_backendrr�r�r,r!rr�r��_portal_factory� setdefault�superr%) r$rrr�r�r7r9rrNr�asgi_appr� __class__s �rr%zTestClient.__init__�s����+�7�O�La�_a�b��� �S�>��H��+�+�h��,�C�!�#��H����02���(� �H�H��/�/�$;���n�n�  � � �?��G����<��6� ������-�� � rc#��K�|j�|j��ytjjdi|j��5}|��ddd�y#1swYyxYw�w)Nr3)rSr^� from_thread�start_blocking_portalr)r$rSs rr zTestClient._portal_factory�sK���� �;�;� "��+�+� ��"�"�8�8�N�4�;M�;M�N�RX�� �O�N�N�s�AA!�A� A!�A�A!c��tjj}|�d}tj|t �|}|�|}|S|� |� t d��|S)NzMThe `allow_redirects` argument is deprecated. Use `follow_redirects` instead.z9Cannot use both `allow_redirects` and `follow_redirects`.)r��_client�USE_CLIENT_DEFAULT�warnings�warn�DeprecationWarning� RuntimeError)r$r�allow_redirects�redirectr[s r�_choose_redirect_argzTestClient._choose_redirect_arg�sj��;@�-�-�:Z�:Z�� � &�e�G� �M�M�'�#5� 6�&�H� � '�'�H� �� � (�-=�-I��K�� ��r) r�r��filesr��paramsrNr�authrr�timeoutr�c ���|j|�}|j| | �}t�|� ||||||||| | || |�� S�N) r�r�rr�rrNrrrrr�)� _merge_urlrr r�)r$r�r�r�r�rr�rrNrrrrrr�rr s �rr�zTestClient.request�sc���$�o�o�c�"���,�,�-=��O���w�� � ���������%��!�� � r)rrNrrrrrr�c �V��|j||�} t� |� |||||| || ��S�N)rrNrrrrr�)rr rY� r$r�rrNrrrrrr�rr s �rrYzTestClient.get�sF����,�,�-=��O���w�{� �����%��!��  � rc �V��|j||�} t� |� |||||| || ��Sr#)rr �optionsr$s �rr&zTestClient.options sF����,�,�-=��O���w�� �����%��!��  � rc �V��|j||�} t� |� |||||| || ��Sr#)rr �headr$s �rr(zTestClient.head&sF����,�,�-=��O���w�|� �����%��!��  � rc �^��|j| | �}t�|� ||||||||| || | �� Sr )rr �post�r$r�r�r�rr�rrNrrrrrr�rr s �rr*zTestClient.post?sR���"�,�,�-=��O���w�|� ���������%��!��  � rc �^��|j| | �}t�|� ||||||||| || | �� Sr )rr rqr+s �rrqzTestClient.put`sR���"�,�,�-=��O���w�{� ���������%��!��  � rc �^��|j| | �}t�|� ||||||||| || | �� Sr )rr �patchr+s �rr.zTestClient.patch�sR���"�,�,�-=��O���w�}� ���������%��!��  � rc �V��|j||�} t� |� |||||| || ��Sr#)rr �deleter$s �rr0zTestClient.delete�sF����,�,�-=��O���w�~� �����%��!��  � rc �|��td|�}|jdi�}|jdd�|jdd�|jdd�|�!|jd d j|��||d< t �|�d |fi|��t d ��#t$r}|j}Yd}~|Sd}~wwxYw) Nzws://testserverrN� connection�upgradezsec-websocket-keyz testserver==zsec-websocket-version�13r�z, �GETzExpected WebSocket upgrade) rrYr r�r r�rr<r>)r$r�r��kwargsrNrur>r s �r�websocket_connectzTestClient.websocket_connect�s���� �'��-���*�*�Y��+�����<��3����.��?����2�D�9� � #� � � �7����<�9P� Q�#��y�� =� �G�O�E�3� 1�&� 1��;�<� <��� "��k�k�G����  "�s�?B� B;�$ B6�6B;c����tj�5}|jtjj di�j ���x�_�|jd�fd� �}tjtj�\}}tjtj�\}}t||��_ t||��_�j�j ��_�j%�j&�|jd��fd� �}|j)��_ddd��S#1swY�SxYw)Nc���d�_yr#)rSr`s�r� reset_portalz*TestClient.__enter__.<locals>.reset_portal�s ���"�� rc�<���j�j�yr#)r�� wait_shutdown)rSr$s��rr<z+TestClient.__enter__.<locals>.wait_shutdown�s���� � �D�.�.�/rr3r�)rOrPrRr^rrrrS�callback�create_memory_object_stream�math�infr � stream_send�stream_receiverT�lifespanrr�� wait_startup�pop_allrQ) r$�stackr:�send1�receive1�send2�receive2r<rSs ` @rr\zTestClient.__enter__�s��� � !� !� #�u�#(�#6�#6�u�7H�7H�7^�7^�7t�ae�as�as�7t�#u� u�D�K�&� �^�^� #�� #�$�?�?����I�O�E�8�#�?�?����I�O�E�8�2�5�(�C�D� �"5�e�X�"F�D� ��.�.�t�}�}�=�D�I� �K�K��)�)� *� �^�^� 0�� 0�$�m�m�o�D�O�-$�0� �1$�0� �s �D)E � Ec�8�|jj�yr#)rQrX)r$rjs rrkzTestClient.__exit__�s�� �����rc��RK�d|jd�} |j||jj|jj ��d{���|jj d��d{���y7�(7�#|jj d��d{���7wxYw�w)NrC)rLr�)r�rrBr(rAr))r$r's rrCzTestClient.lifespan�s�����#�d�n�n�=�� .��(�(�5�$�"5�"5�"=�"=�t�?O�?O�?T�?T�U� U� U��"�"�'�'��-� -� -� V�� -��$�"�"�'�'��-� -� -�sL�B'�>A>�A:�A>�B'�4A<�5B'�:A>�<B'�>B$�B �B$�$B'c����K��jjddi��d{���d�fd� }|��d{���}|ddvsJ�|ddk(r|��d{���yy7�;7�(7� �w)NrLzlifespan.startupc���K��jj��d{���}|��jj�|S7�"�wr#�rAr(r�result�r[r$s �rr(z(TestClient.wait_startup.<locals>.receive��=����� �,�,�4�4�6�6�G���� � � � �"��N�7���A�A�#A)zlifespan.startup.complete�lifespan.startup.failedrT�r-r�)rBr)�r$r(r[s` rrDzTestClient.wait_startup�s�������!�!�&�&��0B�'C�D�D�D� �  � �/���v��# � � � � �6�?�7� 7��)�O�O� 8� E��"�� �s1�!A&�A �A&�A"�A&�A$�A&�"A&�$A&c����K�d�fd� }�j4�d{����j4�d{����jjddi��d{���|��d{���}|ddvsJ�|ddk(r|��d{���ddd��d{���ddd��d{���y7��7�{7�X7�K7�-7�#1�d{���7swY�/xYw7�&#1�d{���7swYyxYw�w)Nc���K��jj��d{���}|��jj�|S7�"�wr#rOrQs �rr(z)TestClient.wait_shutdown.<locals>.receive rRrSrLzlifespan.shutdown)zlifespan.shutdown.complete�lifespan.shutdown.failedrYrU)rArBr)rVs` rr<zTestClient.wait_shutdowns������ � �#�#�#�T�%8�%8�%8��%�%�*�*�F�4G�+H�I� I� I�#�I�o�G��6�?�'�� ���v��"<�<��i���&9�%8�#�#�#��%8�� I��%��  ��&9��%8�%8�%8��#��#�#�#�s��C!�B)�C!�C �B+�C �!B5�B-�B5�#B/�$B5�B1�B5� C �B3�C � C!�#C �$C!�+C �-B5�/B5�1B5�3C �5C �;B>�<C �C � C!� C�C �C�C!)zhttp://testserverTr��asyncioNNNT)rr rr6r�r�r�r6r7z!typing.Literal['asyncio', 'trio']r9�dict[str, typing.Any] | Noner�httpx._types.CookieTypes | NonerNzdict[str, str] | Nonerr�r-r.)r-z6typing.Generator[anyio.abc.BlockingPortal, None, None])r� bool | Nonerr]r-z%bool | httpx._client.UseClientDefault)r�r6r��httpx._types.URLTypesr��"httpx._types.RequestContent | Noner��_RequestData | Noner� httpx._types.RequestFiles | Noner�r�r�#httpx._types.QueryParamTypes | NonerN�httpx._types.HeaderTypes | Nonerr\r�7httpx._types.AuthTypes | httpx._client.UseClientDefaultrr]rr]r�:httpx._types.TimeoutTypes | httpx._client.UseClientDefaultr�r[r-r�)r�r^rrbrNrcrr\rrdrr]rr]rrer�r[r-r�)r�r^r�r_r�r`rrar�r�rrbrNrcrr\rrdrr]rr]rrer�r[r-r�r#)r�r6r�ztyping.Sequence[str] | Noner6r�r-r?)r-rr�r�)r/r0r1�__test__r:rSr%rO�contextmanagerr rr�rrr�rYr&r(r*rqr.r0r7r\rkrCrDr<� __classcell__)r s@rrr�s�����H� ��.2�F� +�2� ,�(,��5>�8<�37�)-�!%�$ � �$ ��$ �"&� $ � � $ � 3� $ �6�$ �1�$ �'�$ ��$ � �$ �L������� +��>I�� .��*7;�$(�26��6:�37�37�HM� � �Hh�Hh�(,�'+�NS�m�m�Nn�Nn�37�!" ��" �#�" � 4� " � "� " �0�" ��" �4�" �1�" �1�" �F�" �&�" �%�" �L�" � 1�!" �" �#" �P7;�37�37�HM� � �Hh�Hh�(,�'+�NS�m�m�Nn�Nn�37� � "� �4�  � 1�  � 1�  �F� �&� �%� �L� �1� � � �:7;�37�37�HM� � �Hh�Hh�(,�'+�NS�m�m�Nn�Nn�37� � "� �4�  � 1�  � 1�  �F� �&� �%� �L� �1� � � �:7;�37�37�HM� � �Hh�Hh�(,�'+�NS�m�m�Nn�Nn�37� � "� �4�  � 1�  � 1�  �F� �&� �%� �L� �1� � � �:7;�$(�26��6:�37�37�HM� � �Hh�Hh�(,�'+�NS�m�m�Nn�Nn�37� � "� �4�  � "�  � 0�  �� �4� �1� �1� �F� �&� �%� �L� �1� � �! �J7;�$(�26��6:�37�37�HM� � �Hh�Hh�(,�'+�NS�m�m�Nn�Nn�37� � "� �4�  � "�  � 0�  �� �4� �1� �1� �F� �&� �%� �L� �1� � �! �J7;�$(�26��6:�37�37�HM� � �Hh�Hh�(,�'+�NS�m�m�Nn�Nn�37� � "� �4�  � "�  � 0�  �� �4� �1� �1� �F� �&� �%� �L� �1� � �! �J7;�37�37�HM� � �Hh�Hh�(,�'+�NS�m�m�Nn�Nn�37� � "� �4�  � 1�  � 1�  �F� �&� �%� �L� �1� � � �859�� ��2��� � � �.�6 �.��" rr)rzASGI2App | ASGI3Appr-zTypeGuard[ASGI3App])G� __future__rrOrr�r�r?rF�sysr�r�concurrent.futuresr� functoolsr�typesr� urllib.parserrr^� anyio.abc�anyio.from_threadr r �anyio.streams.stapledr �starlette._utilsr �starlette.typesr rrrr�starlette.websocketsr� version_infor�typing_extensionsr��ModuleNotFoundErrorr�Callable�ContextManager�abc�BlockingPortalr�� Awaitable� ASGIInstancer,r��Mappingr6�Union�Iterabler�� _RequestDatarr!� TypedDictr5rWr<r�rAr?� BaseTransportr��Clientrr3rr�<module>r�s���"��� � � � � � ��%�%��)� ���;�5�.�B�B�4����w�� �+����_�_�R��)>�)>�u�y�y�?W�?W�)X�%X�Y���������0@�0@��0F�F�G� � �?�?�E�7�L�0� 1�� �?�?�E�7�D�1�6�3C�3C�D�3I�I� J���~�~�c�6�<�<��V�_�_�S�5I�5�0P�#Q�Q�R� �"� &� &�+�F�$�$�+� �y�� � �N�N���J �J �Zd�5�.�.�d�NJ ����J ��W �� � $� ���s �G�G

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/noah-vh/mcp-server-clickup'

If you have feedback or need assistance with the MCP directory API, please join our Discord server