
    &`id                         d dl mZmZmZ d dlmZ d dlmZ 	 d dlZd dl	Z	n# e
$ r dZdZ	Y nw xY wdZdZdZ G d de          ZdS )    )AnyDictOptional)split_address)SubmissionClientNz/api/serve/applications/c                        e Zd Z	 	 	 	 ddedeeeef                  deeeef                  deeeef                  f fdZdefd	Zd
efdZ	d Z
 xZS )ServeSubmissionClientFNdashboard_head_addresscookiesmetadataheadersc                 ,   t           t          d          d| d}d|vrt          |          t          |          \  }}|dvrt          |          t	                                          |||||           |                     ddd	
           d S )NzRThe Serve CLI requires the ray[default] installation: `pip install "ray[default]"`zGot an unexpected address"a  " while trying to connect to the Ray dashboard. The Serve SDK/CLI requires the Ray dashboard's HTTP(S) address (which should start with "http://" or "https://". If this address wasn't passed explicitly, it may be set in the RAY_DASHBOARD_ADDRESS environment variable.z://)httphttps)addresscreate_cluster_if_neededr   r   r   z1.12zgServe CLI is not supported on the Ray cluster. Please ensure the cluster is running Ray 1.12 or higher.z/api/ray/version)min_versionversion_error_messageurl)requestsRuntimeError
ValueErrorr   super__init__&_check_connection_and_version_with_url)
selfr
   r   r   r   r   invalid_address_messagemodule_string_	__class__s
            s/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/ray/dashboard/modules/serve/sdk.pyr   zServeSubmissionClient.__init__   s     =  :&: : : 	  ...4555()?@@q  1114555*%= 	 	
 	
 	
 	33#* # 	4 	
 	
 	
 	
 	
    returnc                     |                      dt                    }|j        dk    r|                     |           |                                S )NGET   )_do_requestSTATUS_PATHstatus_code_raise_errorjsonr   responses     r!   get_serve_detailsz'ServeSubmissionClient.get_serve_detailsE   sG    ##E;773&&h'''}}r"   configc                     |                      dt          |          }|j        dk    r|                     |           dS dS )zDeploy multiple applications.PUT)	json_datar&   N)r'   DEPLOY_PATHr)   r*   )r   r/   r-   s      r!   deploy_applicationsz)ServeSubmissionClient.deploy_applicationsL   sL    ##E;&#II3&&h''''' '&r"   c                     |                      dt                    }|j        dk    r|                     |           d S d S )NDELETEr&   )r'   DELETE_PATHr)   r*   r,   s     r!   delete_applicationsz)ServeSubmissionClient.delete_applicationsR   sG    ##Hk::3&&h''''' '&r"   )FNNN)__name__
__module____qualname__strr   r   r   r   r.   r4   r8   __classcell__)r    s   @r!   r	   r	      s         "',0-1,0/
 /
 #/
 $sCx.)	/

 4S>*/
 $sCx.)/
 /
 /
 /
 /
 /
b4    ($ ( ( ( (( ( ( ( ( ( (r"   r	   )typingr   r   r   ray._private.utilsr   #ray.dashboard.modules.dashboard_sdkr   aiohttpr   ImportErrorr3   r7   r(   r	    r"   r!   <module>rD      s    & & & & & & & & & & , , , , , , @ @ @ @ @ @NNNOOOO   GHHH
 )((B( B( B( B( B(, B( B( B( B( B(s   ! 	--