
    +h                       d dl mZ d dlZd dlZd dlZd dlZd dlZd dl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ZddlmZmZ ddlmZ e
rd d	lmZ dd
Z G d de      ZddZ G d de      ZddZdZddZddZddZddZ ddZ!y)    )annotationsN)TYPE_CHECKINGList)Path)ArgumentParser   )CLIErrorSilentCLIError)	BaseModel)_SubParsersActionc                    | j                  d      }|j                  t        t        d       | j                  d      }|j                  t        t
        d       y )NmigrateT)func
args_modelallow_unknown_argsgrit)
add_parserset_defaultsr   MigrateArgsr   GritArgs)	subparsersubs     L/var/www/html/venv/lib/python3.12/site-packages/openai/cli/_tools/migrate.pyregisterr      sL    


y
)C'kdS


v
&C$8M    c                      e Zd ZU g Zded<   y)r   	List[str]unknown_argsN__name__
__module____qualname__r   __annotations__ r   r   r   r           L) r   r   c                    t               }	 t        j                  |g| j                         y # t        j                  $ r t               w xY w)Ninstall
subprocess
check_callr   CalledProcessErrorr
   args	grit_paths     r   r   r   $   sJ    	Iy=4+<+<=>((  s	   "/ Ac                      e Zd ZU g Zded<   y)r   r   r   Nr   r$   r   r   r   r   /   r%   r   r   c                    t               }	 t        j                  |ddg| j                         y # t        j                  $ r t               w xY w)Napplyopenair'   r,   s     r   r   r   4   sN    	Iy'8Pd>O>OPQ((  s	   $1 Azcustodian-devc                     t         j                  j                  d      } | t        |       S t        j                         dz  S )NXDG_CACHE_HOMEz.cache)osenvirongetr   home)xdgs    r   
_cache_dirr:   D   s5    
**..)
*C
Cy99;!!r   c                    t         j                  j                  d      sy t        j                  j                  d|  d       y )NDEBUGz	[DEBUG]: 
)r5   r6   r7   sysstdoutwrite)messages    r   _debugrB   L   s0    ::>>'"JJy	,-r   c                 T   t         j                  dk(  rt        d      t         j                  dk(  rdnd} t               dz  }|dz  }|dz  }|d	z  }|d
z  }|j	                         r.t        | d       t         j                  j                          |S t        d|        |j                  dd       |j	                         r|j                          t               }t        d|        d|  d| }dt         d| }t         j                  j                  d| d       t        j                         5 }	|	j                  |      }
|
j!                         }|j                  d      }|r4|D ]$  }t         j                  j                  | d       & t        d      t#        ||d   d   d   d   d          |d   d   d   }t        d|        |	j                  |      }t%        |d      5 }|j'                         D ]  }|j                  |        	 d d d        d d d        |d!z  }|j                  dd       t)        j$                  |d"      5 }|j+                  |       d d d        |j-                         D ]   }|j/                  ||j0                  z         " t3        j4                  |       t7        j8                  |       t7        j:                  |d#       t         j                  j                          |S # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w)$z<Installs the Grit CLI and returns the location of the binarywin32z1Windows is not supported yet in the migration CLIdarwinmacoslinuxzopenai-pythonz.installbinmarzanozmarzano.tmpz already existszUsing Grit CLI path: T)parentsexist_okzUsing architecture zmarzano--z"https://api.keygen.sh/v1/accounts/z/artifacts/z"Retrieving Grit CLI metadata from r=   errorsz3Could not locate Grit CLI binary - see above errorsdatarelationshipsreleaseidlinksredirectzRedirect URL wbNzcli-binzr:gzi  )r>   platformr	   r:   existsrB   r?   flushmkdirunlink	_get_archKEYGEN_ACCOUNTr@   httpxClientr7   jsonwrite_manifestopen
iter_bytestarfile
extractalliterdirrenamenameshutilrmtreer5   removechmod)rU   dir_nameinstall_dir
target_dirtarget_path	temp_filearch	file_namemeta_urlclientresponserN   rM   errorlinkdownload_responsefilechunkunpacked_dirarchiveitems                        r   r(   r(   S   s   
||wJKK,,(2wH|o-HZ'Ku$Jy(K]*I+o./


";-01TD1;D
 '(8*AdV,I3N3C;ykZHJJ9(2FG	 "6::h'}}(# /

  E7"./ PQQ{DL$A)$LV$TUY$Z[F|G$Z0tf%&"JJt,)T" 	"d*557 "

5!"	"#"* 	)Ltd3	i	( )G<() $$& ,J*+, MM,IIiHH[% JJ'	" 	"#" "0) )s1   9B:L3'LLLL	LLL'c                 x    t        j                         j                         } ddddd}|j                  | |       S )Nx64armarm64)x86_64amd64armv7laarch64)rU   machinelowerr7   )architecturearch_maps     r   rZ   rZ      sA    ##%++-L 	H <<l33r   c                    t        |       dd|did}t        |       dz  }t        |d      5 }t        j                  ||d       d d d        y # 1 sw Y   y xY w)NrI   )rf   rP   )installPathbinarieszmanifests.jsonwr   )indent)strr   r`   r^   dump)install_pathrP   manifestmanifest_pathfs        r   r_   r_      sg    <(!"
H &)99M	mS	! )Q		(Aa() ) )s   AA)r   z!_SubParsersAction[ArgumentParser]returnNone)r-   r   r   r   )r-   r   r   r   )r   r   )rA   r   r   r   )r   r   )r   r   rP   r   r   r   )"
__future__r   r5   r>   r^   rg   rb   rU   r)   typingr   r   pathlibr   argparser   r\   _errorsr	   r
   _modelsr   r   r   r   r   r   r   r[   r:   rB   r(   rZ   r_   r$   r   r   <module>r      s    " 	 
      &  #  . *N!y !
!) !
 !".EP4)r   