
    g                       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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     N/var/www/openai/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               d w xY wNinstall
subprocess
check_callr   CalledProcessErrorr
   args	grit_paths     r   r   r   #   sL    	I)y=4+<+<=>(( ) D()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               d w xY w)Napplyopenair(   r-   s     r   r   r   3   sP    	I)y'8Pd>O>OPQ(( ) D()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;   C   s5    
**..)
*C
Cy99;!!r   c                    t         j                  j                  d      sy t        j                  j                  d|  d       y )NDEBUGz	[DEBUG]: 
)r6   r7   r8   sysstdoutwrite)messages    r   _debugrC   K   s0    ::>>'"JJy	,-r   c                 d   t         j                  dk(  rt        d      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| d}t         j                  j                  d| d       t        j                         5 }	|	j                  |d      }
|
j                  dk7  rt        d|       t!        |d      5 }|
j#                         D ]  }|j                  |        	 ddd       ddd       |dz  }|j                  dd       t%        j                   |d      5 }t         j&                  dk\  r|j)                  |d        n|j)                  |       ddd       t+        ||       t-        j.                  |       t1        j2                  |       t1        j4                  |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 CLIz Using Grit installer from GitHubdarwinzapple-darwinzunknown-linux-gnuzopenai-pythonz.installbinr   zgrit.tmpz already existszUsing Grit CLI path: T)parentsexist_okzUsing architecture zgrit--z;https://github.com/getgrit/gritql/releases/latest/download/z.tar.gzzDownloading Grit CLI from r>   )follow_redirects   z!Failed to download Grit CLI from wbNzcli-binzr:gz)      data)filteri  )r?   platformr	   rC   r;   existsr@   flushmkdirunlink	_get_archrA   httpxClientr8   status_codeopen
iter_bytestarfileversion_info
extractall_move_files_recursivelyshutilrmtreer6   removechmod)rR   dir_nameinstall_dir
target_dirtarget_path	temp_filearch	file_namedownload_urlclientdownload_responsefilechunkunpacked_dirarchives                  r   r)   r)   R   se   
||wJKK
-.!$!9~?RH|o-HZ'Ku$Jv%KZ'I+o./


";-01TD1;D
 '(vQxj)IPQZP[[bcLJJ1,rBC	6"JJ|dJK((C/>|nMNN)T"d*557

5! 8 #	 
 	)Ltd3	i	(Gw&|F;|,	 
) L*5
MM,IIiHH[% JJ+ #"	 
 
)	(s0   >=J;'J#J!9J&J	JJ#&J/c                    | j                         D ]N  }|j                         r|j                  ||j                  z         2|j	                         sCt        ||       P y r'   )iterdiris_filerenamenameis_dirr`   )
source_dirrg   items      r   r`   r`      sF    ""$<<>KK
TYY./[[]#D*5	 %r   c                 x    t        j                         j                         } ddddd}|j                  | |       S )Nx86_64aarch64)r|   amd64armv7larm64)rR   machinelowerr8   )architecturearch_maps     r   rW   rW      sA    ##%++-L 	H <<l33r   )r   z!_SubParsersAction[ArgumentParser]returnNone)r.   r   r   r   )r.   r   r   r   )r   r   )rB   strr   r   )ry   r   rg   r   r   r   )r   r   )!
__future__r   r6   r?   ra   r]   rR   r*   typingr   r   pathlibr   argparser   rX   _errorsr	   r
   _modelsr   r   r   r   r   r   r   KEYGEN_ACCOUNTr;   rC   r)   r`   rW   r$   r   r   <module>r      s{    " 	 
     &  #  . *N!y !
)!) !
) !".<~64r   