
    
@gW                       d dl mZ d dlZd dlZd dlZd dlmZmZmZm	Z	 d dl
mZ d dlZd dlZd dlZddlm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mZmZ ddl m!Z! ddl"m#Z#  ej$                    Z% ej&        d          Z' ej(        ej)                  Z*e*+                    e'           e%,                    e*            G d de!          Z-ddZ.ddZ/d dZ0d!dZ1e2dk    r ej3         e/                       dS dS )"    )annotationsN)AnyListTypeOptional)ClassVar   )_tools   )_ApiType__version__)register_commands)can_use_http2)ProxiesDict)CLIErrordisplay_error)PYDANTIC_V2
ConfigDictmodel_parse)	BaseModel)APIErrorz[%(asctime)s] %(message)sc                      e Zd ZU er ed          Zded<   n G d dej                  Z	ded<   d	Z
d
ed<   d
ed<   d
ed<   d
ed<   ded<   d	Zded<   d	Zd
ed<   d	Zd
ed<   d	Zd
ed<   d	Zded<   g Zded<   dZded<   d	S )	Argumentsignore)extrazClassVar[ConfigDict]model_configc                  2    e Zd ZU ej        j        Zded<   dS )Arguments.Configr   r   N)__name__
__module____qualname__pydanticExtrar   r   __annotations__     C/var/www/piapp/venv/lib/python3.11/site-packages/openai/cli/_cli.pyConfigr   &   s(         !.E......r&   r(   int	verbosityNzOptional[str]versionapi_keyapi_baseorganizationzOptional[List[str]]proxyzOptional[_ApiType]api_typeapi_versionazure_endpointazure_ad_tokenzOptional[Type[BaseModel]]
args_modelz	List[str]unknown_argsFboolallow_unknown_args)r   r    r!   r   r   r   r$   r"   
BaseConfigr(   r+   r0   r1   r2   r3   r4   r5   r7   r%   r&   r'   r   r      sC         /-7Z.
 .
 .
 	
 	
 	
 	
 	

	/ 	/ 	/ 	/ 	/X( 	/ 	/ 	/ NNN!G!!!!#'H''''!%K%%%% %)N(((($(N(((( -1J0000 !L    $$$$$$$r&   r   returnargparse.ArgumentParserc                 :   t          j        d d                              dddddd	                               d
dd                               ddd                               dddd                               ddd                               ddt          dd                               dd                               d d!                               d"d#                               d$d%d&d't          z   (           d1fd+}                     | ,                                           }|                    d-d.          }t          |           |                    d/d0          }t          j        ||           S )2Nopenai)descriptionprogz-vz	--verbosecountr*   r   zSet verbosity.)actiondestdefaulthelpz-bz
--api-basezWhat API base url to use.)rC   z-kz	--api-keyzWhat API key to use.z-pz--proxy+zWhat proxy to use.)nargsrC   z-oz--organizationzRWhich organization to run as (will use your default organization if not specified)z-tz
--api-type)r<   azurez4The backend API to call, must be `openai` or `azure`)typechoicesrC   z--api-versionzvThe Azure API version, e.g. 'https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#rest-api-versioning'z--azure-endpointz<The Azure endpoint, e.g. 'https://endpoint.openai.azure.com'z--azure-ad-tokenzyA token from Azure Active Directory, https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-idz-Vz	--versionr+   z	%(prog)s )r@   r+   r9   Nonec                 0                                       d S N)
print_help)parsers   r'   rC   z_build_parser.<locals>.helpo   s    r&   )funcapizDirect API callstoolsz!Client side tools for conveniencer9   rI   )
argparseArgumentParseradd_argumentstrr   set_defaultsadd_subparsers
add_parserr   r
   )rC   
subparserssub_api	sub_toolsrM   s       @r'   _build_parserr\   ?   s8   $HEEEF
     l1LMMM
k0FGGG
is9MNNN
a    
 #C      F     K      I     k)	          T"""&&((J##E0B#CCGg%%g4W%XXI
Y
333Mr&   r)   c                     	 t                       nd# t          t          t          j        f$ r} t          |            Y d } ~ dS d } ~ wt          $ r# t          j        	                    d           Y dS w xY wdS )Nr	   
r   )
_mainr   r   r"   ValidationErrorr   KeyboardInterruptsysstderrwrite)errs    r'   mainrf      s    h 89   cqqqqq   
qq 1s    A2A,A21A2rM   /tuple[argparse.Namespace, Arguments, list[str]]c                   dt           j        v rHt           j                            d          }t           j        d|         }t           j        |d          }nt           j        dd          }g }|                     |          \  }}|                    |           t          t          t          |                    }|j        s| 	                                 |||fS )Nz--r	   )
rb   argvindexparse_known_argsextendr   r   varsr7   
parse_args)rM   idx
known_argsr5   parsedremaining_unknownargss          r'   _parse_argsrt      s    sxhnnT""Xae_
x~Xabb\
 & 7 7
 C CF \***y$v,,//D"  	4***r&   rI   c            
     d   t                      } t          |           \  }}}|j        dk    rt          j                            d           i }|j        ?|j        D ]7}|                    d          rdnd}||v rt          d| d          |||<   8t          j
        |pd t                                }|t          _        |j        r|j        t          _        |j        r|j        t          _        |j        r|j        t          _        |j        |j        t          _        |j        |j        t          _        |j        |j        t          _        |j        |j        t          _        	 |j        rX|                    t1          |j        i d	 t3          |                                          D             d
|i                     n|                                 	 |                                 d S # t8          $ r Y d S w xY w# 	 |                                 w # t8          $ r Y w w xY wxY w)Nr   z)Warning: --verbosity isn't supported yet
httpszhttps://zhttp://z	Multiple z0 proxies given - only the last one would be used)proxieshttp2c                    i | ]
\  }}|||S rK   r%   ).0keyvalues      r'   
<dictcomp>z_main.<locals>.<dictcomp>   s0        !+U$0  000r&   r5   )r\   rt   r*   rb   rc   rd   r/   
startswithr   httpxClientr   r<   http_clientr.   r,   r-   base_urlr0   r2   r1   r3   r4   rN   r   rm   itemsclose	Exception)rM   rq   rs   unknownrw   r/   r{   r   s           r'   r_   r_      sw   __F'//FD'~
EFFFGzZ 	! 	!E % 0 0 9 9H**yCg~~`3```aaa GCLL,4oo  K %F 0"/| &} (- } -& $ 3#!-& $ 3? 	KKO	  /36ll.@.@.B.B	  	 '	 	      KKMMM	 	 	 	DD		 	 	 	D	sC   -A3H !G7 7
HHH/
HH/
H,)H/+H,,H/__main__)r9   r:   )r9   r)   )rM   r:   r9   rg   rQ   )4
__future__r   rb   loggingrR   typingr   r   r   r   typing_extensionsr   r   r"   r<    r
   r   r   _apir   _utilsr   _typesr   _errorsr   r   _compatr   r   r   _modelsr   _exceptionsr   	getLoggerlogger	Formatter	formatterStreamHandlerrc   handlersetFormatter
addHandlerr   r\   rf   rt   r_   r   exitr%   r&   r'   <module>r      sP   " " " " " " 



   , , , , , , , , , , , , & & & & & &          $ $ $ $ $ $ $ $ # # # # # # ! ! ! ! ! !             , , , , , , , , : : : : : : : : : :       " " " " " "				G9::	
'


+
+   Y      '   % % % % %	 % % %@= = = =@	 	 	 	+ + + +0C C C CL zCHTTVV r&   