
    "hj                      d dl mZ d dlZd dlmZmZmZmZmZ d dl	m
Z
mZmZ d dl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mZmZmZmZmZmZ dd
lm Z m!Z!m"Z"m#Z# ddl$m%Z% ddl&m'Z'm(Z( ddl)m*Z*m+Z+ ddl,m-Z- ddl.m/Z/m0Z0m1Z1m2Z2 ddl3m4Z4m5Z5 ddlm6Z6m7Z7 ddl8m9Z9m:Z:m;Z; erddl<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQ ddlRmSZSmTZT ddlUmVZVmWZW ddlXmYZYmZZZ ddl[m\Z\m]Z] ddl^m_Z_m`Z` ddlambZbmcZc ddldmeZemfZf ddlgmhZhmiZi ddljmkZkmlZl ddlmmnZnmoZo ddlpmqZqmrZr ddlsmtZtmuZu dd lvmwZwmxZx dd!lymzZzm{Z{ dd"l|m}Z}m~Z~ dd#lmZmZ dd$lmZmZ dd%lmZmZ dd&lmZmZ dd'lmZmZ dd(lmZmZ dd)lmZmZ g d*Zd+Zd:d,Zd:d-Z G d. d/e:      Z G d0 d1e;      Z G d2 d3      Z G d4 d5      Z G d6 d7      Z G d8 d9      ZeZeZy);    )annotationsN)TYPE_CHECKINGAnyMappingCallable	Awaitable)SelfUnpackoverride   )_exceptionsQuerystring)WorkloadIdentityWorkloadIdentityAuth)	OmitHeadersTimeoutNotGiven	TransportProxiesTypesHttpxSendArgsRequestOptions	not_given)is_given
is_mappingis_mapping_tget_async_library)cached_property)is_httpx2_sync_clientis_httpx2_async_client)SecurityOptionsFinalRequestOptions)__version__)	_Provider_provider_name_ProviderRuntime_configure_provider)StreamAsyncStream)OpenAIErrorAPIStatusError)DEFAULT_MAX_RETRIESSyncAPIClientAsyncAPIClient)betachatadminaudioevalsfilesimagesmodelsskillsvideosbatchesuploadsrealtime	responses
containers
embeddingscompletionsfine_tuningmoderationsconversationsvector_stores)Files
AsyncFiles)ImagesAsyncImages)ModelsAsyncModels)VideosAsyncVideos)BatchesAsyncBatches)Beta	AsyncBeta)Chat	AsyncChat)
EmbeddingsAsyncEmbeddings)Admin
AsyncAdmin)Audio
AsyncAudio)CompletionsAsyncCompletions)Evals
AsyncEvals)ModerationsAsyncModerations)SkillsAsyncSkills)UploadsAsyncUploads)RealtimeAsyncRealtime)WebhooksAsyncWebhooks)	ResponsesAsyncResponses)
ContainersAsyncContainers)
FineTuningAsyncFineTuning)ConversationsAsyncConversations)VectorStoresAsyncVectorStores)r   r   r   r   OpenAIAsyncOpenAIClientAsyncClientzworkload-identity-authc                L    j                         t        fd| D              S )Nc              3  D   K   | ]  }|j                         k(    y wN)lower).0keyheaders     L/root/.hermes/SkillClaw/.venv/lib/python3.12/site-packages/openai/_client.py	<genexpr>z_has_header.<locals>.<genexpr>b   s     8syy{f$8s    )rx   anyheadersr{   s    `r|   _has_headerr   `   s    \\^F8888    c                h    j                         t        fd| j                         D              S )Nc              3  n   K   | ],  \  }}|j                         k(  xr t        |t               . y wrw   )rx   
isinstancer   )ry   rz   valuer{   s      r|   r}   z&_has_omitted_header.<locals>.<genexpr>g   s/     cZS%syy{f$@E4)@@cs   25)rx   r~   itemsr   s    `r|   _has_omitted_headerr   e   s)    \\^FcSZS`S`Sbcccr   c                  j    e Zd ZU ded<   ded<   ded<   ded<   ded<   ded	<   d
ed<   ded<   ded<   ded<   	 dddddddddeedddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d@ fdZedAd       ZedBd       Z	edCd       Z
edDd       ZedEd       ZedFd       ZedGd       ZedHd       ZedId       ZedJd        ZedKd!       ZedLd"       ZedMd#       ZedNd$       ZedOd%       ZedPd&       ZedQd'       ZedRd(       ZedSd)       ZedTd*       ZedUd+       ZedVd,       ZedWd-       ZedXd.       Ze e!dYd/              Z"dd0	 	 	 	 	 	 	 	 	 dZ fd1Z#e!	 	 	 	 	 	 	 	 d[d2       Z$e!d\d3       Z%e d]d4       Z&e e!d]d5              Z'e d]d6       Z(e e!d^ fd7              Z)e!d_d8       Z*e!d` fd9       Z+e!dad:       Z,e!db fd;       Z-dcd<Z.dddedddddededddddi d=	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddd>Z/e/Z0e!	 	 	 	 	 	 	 	 ded?       Z1 xZ2S )frq   strapi_key
str | Noneadmin_api_keyWorkloadIdentity | Noneworkload_identityorganizationprojectwebhook_secretWorkloadIdentityAuth | None_workload_identity_auth_Provider | None	_provider_ProviderRuntime | None_provider_runtimestr | httpx.URL | Nonewebsocket_base_urlNFTr   r   r   r   r   r   providerbase_urlr   timeoutmax_retriesdefault_headersdefault_queryhttp_client_strict_response_validation_enforce_credentialsc          
     D   d}|dt        |      }d|fd|fd|fd|ffD cg c]	  \  }}|| }}}|r*dj                  d |D              }t        d| d	| d
      t        |      }|| _        || _        ||t        k7  r|t        d      ||nd| _        |d| _        d| _	        d| _
        np|t        | _        d| _	        d| _
        nT|t        j                  j                  d      }t        |      rd| _        || _	        n|xs d| _        d| _	        d| _
        |!|t        j                  j                  d      }||nd| _        |3|r1| j                  s%| j                  || j                  t        d      |!|t        j                  j                  d      }|| _        |!|t        j                  j                  d      }|| _        |t        j                  j                  d      }|| _        |	| _        ||j(                  }n!|t        j                  j                  d      }|d}|t        j                  j                  d      nd}|li }|j+                  d      D ]C  }|j-                  d      }|dk\  s||dz   d j/                         ||d| j/                         <   E i |t1        |      r|ni }t2        | i  t6        |||
||||       |%t9        |t;        | j<                              | _
        t>        | _         yc c}}w )a  Construct a new synchronous OpenAI client instance.

        This automatically infers the following arguments from their corresponding environment variables if they are not provided:
        - `api_key` from `OPENAI_API_KEY`
        - `admin_api_key` from `OPENAI_ADMIN_KEY`
        - `organization` from `OPENAI_ORG_ID`
        - `project` from `OPENAI_PROJECT_ID`
        - `webhook_secret` from `OPENAI_WEBHOOK_SECRET`

        When `provider` is supplied, authentication and the base URL are configured by that provider instead.
        Nr   r   r   r   , c              3  (   K   | ]
  }d | d   yw`N ry   names     r|   r}   z"OpenAI.__init__.<locals>.<genexpr>        %Hd$qk%H   -`provider` cannot be combined with top-level 9. Move provider authentication and routing options into `(...)`.FThe `api_key` and `workload_identity` arguments are mutually exclusive OPENAI_API_KEYOPENAI_ADMIN_KEYMissing credentials. Please pass an `api_key`, `workload_identity`, `admin_api_key`, or set the `OPENAI_API_KEY` or `OPENAI_ADMIN_KEY` environment variable.OPENAI_ORG_IDOPENAI_PROJECT_IDOPENAI_WEBHOOK_SECRETOPENAI_BASE_URLhttps://api.openai.com/v1OPENAI_CUSTOM_HEADERS
:r   r   versionr   r   r   r   custom_headerscustom_queryr   r   _use_httpx2)!r&   joinr+   r(   r   r   %WORKLOAD_IDENTITY_API_KEY_PLACEHOLDERr   r   _api_key_providerr   osenvirongetcallabler   r   r   r   r   r   splitfindstripr   super__init__r$   r   r    _clientr)   _default_stream_clsselfr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   provider_runtimeprovider_namer   r   	conflicts	formattedcustom_headers_envparsedlinecolon	__class__s                              r|   r   zOpenAI.__init__~   s   T 59*84M ($m4(*;<*	$	D% $ 	I 	  II%Hi%HH	!CI; ONN[_\ce 
  38<!!17.S#SXiXufgg6F6N!2TX'DL%)D"+/D(*@DL%)D"+/D(**..)9: !CJ&&}")-&+/D( %5%=JJNN+=>M.>.F]D $$LL&&.!)""* o  $4$<::>>/:L(?/7jjnn%89G!ZZ^^,CDN,"4''00Hzz~~&78H2HHXH`RZZ^^,CDfj)%'F*006 M		#A:37	3D3J3J3LF4<--/0M gf|O?\ObdfO##*&(C 	 		
 (+?"31$,,?,D(
 $* [	   Lc                    ddl m}  ||       S )
        Given a prompt, the model will return one or more predicted completions, and can also return the probabilities of alternative tokens at each position.
        r   )rY   )resources.completionsrY   )r   rY   s     r|   r@   zOpenAI.completions      
 	74  r   c                    ddl m}  ||       S )Nr   )rQ   )resources.chatrQ   )r   rQ   s     r|   r1   zOpenAI.chat#      (Dzr   c                    ddl m}  ||       S )
        Get a vector representation of a given input that can be easily consumed by machine learning models and algorithms.
        r   )rS   )resources.embeddingsrS   )r   rS   s     r|   r?   zOpenAI.embeddings)  s    
 	5$r   c                    ddl m}  ||       S )t
        Files are used to upload documents that can be used with features like Assistants and Fine-tuning.
        r   )rE   )resources.filesrE   )r   rE   s     r|   r5   zOpenAI.files2  s    
 	+T{r   c                    ddl m}  ||       S )JGiven a prompt and/or an input image, the model will generate a new image.r   )rG   )resources.imagesrG   )r   rG   s     r|   r6   zOpenAI.images;       	-d|r   c                    ddl m}  ||       S )Nr   )rW   )resources.audiorW   )r   rW   s     r|   r3   zOpenAI.audioB      *T{r   c                    ddl m}  ||       S )e
        Given text and/or image inputs, classifies if those inputs are potentially harmful.
        r   )r]   )resources.moderationsr]   )r   r]   s     r|   rB   zOpenAI.moderationsH  r   r   c                    ddl m}  ||       S ):List and describe the various models available in the API.r   )rI   )resources.modelsrI   )r   rI   s     r|   r7   zOpenAI.modelsQ  r   r   c                    ddl m}  ||       S )Nr   )rk   )resources.fine_tuningrk   )r   rk   s     r|   rA   zOpenAI.fine_tuningX  s    5$r   c                    ddl m}  ||       S )Nr   )ro   )resources.vector_storesro   )r   ro   s     r|   rD   zOpenAI.vector_stores^  s    9D!!r   c                    ddl m}  ||       S )Nr   )re   )resources.webhooksre   )r   re   s     r|   webhookszOpenAI.webhooksd      0~r   c                    ddl m}  ||       S )Nr   )rO   )resources.betarO   )r   rO   s     r|   r0   zOpenAI.betaj  r   r   c                    ddl m}  ||       S );Create large batches of API requests to run asynchronously.r   )rM   )resources.batchesrM   )r   rM   s     r|   r:   zOpenAI.batchesp       	/t}r   c                    ddl m}  ||       S )4Use Uploads to upload large files in multiple parts.r   )ra   )resources.uploadsra   )r   ra   s     r|   r;   zOpenAI.uploadsw  r  r   c                    ddl m}  ||       S )Nr   )rU   )resources.adminrU   )r   rU   s     r|   r2   zOpenAI.admin~  r   r   c                    ddl m}  ||       S )Nr   )rg   )resources.responsesrg   )r   rg   s     r|   r=   zOpenAI.responses  s    2r   c                    ddl m}  ||       S )Nr   )rc   )resources.realtimerc   )r   rc   s     r|   r<   zOpenAI.realtime  r   r   c                    ddl m}  ||       S ),Manage conversations and conversation items.r   )rm   )resources.conversationsrm   )r   rm   s     r|   rC   zOpenAI.conversations  s     	;T""r   c                    ddl m}  ||       S ),Manage and run evals in the OpenAI platform.r   )r[   )resources.evalsr[   )r   r[   s     r|   r4   zOpenAI.evals  s     	+T{r   c                    ddl m}  ||       S )Nr   )ri   )resources.containersri   )r   ri   s     r|   r>   zOpenAI.containers  s    4$r   c                    ddl m}  ||       S )Nr   )r_   )resources.skillsr_   )r   r_   s     r|   r8   zOpenAI.skills      ,d|r   c                    ddl m}  ||       S )Nr   )rK   )resources.videosrK   )r   rK   s     r|   r9   zOpenAI.videos  r  r   c                    t        |       S rw   )OpenAIWithRawResponser   s    r|   with_raw_responsezOpenAI.with_raw_response  s    $T**r   c                    t        |       S rw   )OpenAIWithStreamedResponser  s    r|   with_streaming_responsezOpenAI.with_streaming_response      )$//r   c                    t        d      S Nbrackets)array_formatr   r  s    r|   qsz	OpenAI.qs       
33r   retriedc                   d}| j                   S|j                  j                  d      }|dt         k(  r,d| j                   j	                          |j                  d<   d}t        |   |fd|i|}|j                  dk(  rz| j                   n|rl|sj|j                          | j                   j                          d| j                   j	                          |j                  d<    | j                  |f|dd|S |S NFAuthorizationBearer Tstream  )r1  r,  )r   r   r   r   	get_tokenr   _send_requeststatus_codecloseinvalidate_token_send_with_auth_retry	r   requestr1  r,  kwargsused_workload_identity_authauthorizationresponser   s	           r|   r8  zOpenAI._send_with_auth_retry  s    ',#''3#OO//@M'*O)P QQ5<T=Y=Y=c=c=e<f3g0.2+7(JJ6J  C',,8+NN((99;189U9U9_9_9a8b/cGOOO,-4--g]fd]V\]]r   c                    | j                   |fd|i|}| j                  1| j                  j                  | j                  j                  |      }|S Nr1  )r8  r   normalize_responser   r:  r1  r;  r>  s        r|   r4  zOpenAI._send_request  sX     .4--gOfOO!!-$2H2H2[2[2g--@@JHr   c                >   | j                   i S i }|j                  dd      r4| j                  j                         D ]  \  }}|j	                  ||        |j                  dd      r4| j
                  j                         D ]  \  }}|j	                  ||        |S Nbearer_authFadmin_api_key_authr   r   _bearer_authr   
setdefault_admin_api_key_authr   securityr   rz   r   s        r|   _auth_headerszOpenAI._auth_headers      !!-I"$<<u-"//557 /
U""3./<<,e4"66<<> /
U""3./r   c                0    | j                   }|si S dd| iS Nr/  r0  r   r   r   s     r|   rH  zOpenAI._bearer_auth  %    ,,I77)!455r   c                ^    | j                   i S | j                  }|r	|t        k(  ri S dd| iS rP  r   r   r   rR  s     r|   auth_headerszOpenAI.auth_headers  @     !!-I,,'%JJI77)!455r   c                0    | j                   }|i S dd| iS rP  r   r   r   s     r|   rJ  zOpenAI._admin_api_key_auth  *    ** I7=/!:;;r   c                    i t         |   d| j                  | j                  n	t               | j                  | j                  n	t               d| j
                  S )NfalsezX-Stainless-AsynczOpenAI-OrganizationzOpenAI-Project)r   r   r   r   r   _custom_headersr   r   s    r|   r   zOpenAI.default_headers  s`    
g%
!(8<8I8I8U4#4#4[_[a.2ll.FdllDF	

 ""
 	
r   c                d    | j                   y t        |d      st        |d      ry t        d      Nr/  z"Could not resolve authentication method. Expected either api_key or admin_api_key to be set. Or for one of the `Authorization` or `Authorization` headers to be explicitly omitted"r   r   r   	TypeErrorr   r   r   s      r|   _validate_headerszOpenAI._validate_headers  <    !!-w04GXg4h C
 	
r   c                   | j                   2| j                   j                  T| j                   j                  |      }n8| j                  ,|j                  j	                  dd      r| j                          t        |   |      S NrE  F)r   transform_requestr   rL  r   _refresh_api_keyr   _prepare_optionsr   optionsr   s     r|   rl  zOpenAI._prepare_options&  su    !!-%%77C00BB7K##/G4D4D4H4HX]4^!!#w'00r   c                    | j                   3| j                   j                  | j                   j                  |       y y y rw   )r   prepare_requestr   r:  s     r|   _prepare_requestzOpenAI._prepare_request0  s<    !!-$2H2H2X2X2d""227; 3e-r   c                b    | j                   t        j                         S t        |   |      S rw   )r   httpxAuthr   _custom_auth)r   rL  r   s     r|   rv  zOpenAI._custom_auth5  s+    !!-::<w#H--r   c                \    | j                   | j                         | _        | j                  S rw   r   r   r  s    r|   rk  zOpenAI._refresh_api_key<  s(    !!-113DL||r   r   r   r   r   r   r   r   r   r   r   r   r   r   set_default_headersr   set_default_queryr   _extra_kwargsc               T   ||t        d      ||t        d      t        |t               xr || j                  u}|rdn| j                  }|rdn| j
                  }|ri n| j                  }|i ||}n||}| j                  }|i ||}n||}|xs | j                  }t        |t              r| j                  n|}|	|||||	d}na| j                  ||||	d}nM|xs | j                  xs | j                  |xs | j                  |xs | j                  |	xs | j                  d} | j                  d|xs ||xs ||xs | j                  |xs | j                   t        |
t              r| j"                  n|
|t%        |      r|n| j&                  |||dn|d
||S 	z~
        Create a new client instance re-using the same options given to the current client with optional overriding.
        NzPThe `default_headers` and `set_default_headers` arguments are mutually exclusivezLThe `default_query` and `set_default_query` arguments are mutually exclusive)r   r   r   r   r   )r   r   r   r   T)
r   r   r   r   r   r   r   r   r   r   r   
ValueErrorr   r   r   r   r   r_  _custom_queryr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rz  r   r{  r   r|  provider_changedinherited_organizationinherited_projectr   paramsnext_providerauth_optionss                             r|   copyzOpenAI.copyB  s   2 &+>+Jopp$):)Fkll)(H==`(RVR`R`B`)9t?P?P$4D$,,+;RAUAU&44O4G ,)G##$00-0F*&F!1T\\*4Xx*Hh$)"!.%6$L ^^'"!.%6$	L #Ld&<&<L!.!D$2D2D%6%P$:P:P$5	L t~~ 
%?)?00)@T-@-@1LT5L5L$.w$ADLLw#'/'<$BRBR# )=)EK_
 
 
 	
r   c                  t        |      r|j                  d|      n|}|j                  dk(  rt        j                  |||      S |j                  dk(  rt        j
                  |||      S |j                  dk(  rt        j                  |||      S |j                  dk(  rt        j                  |||      S |j                  dk(  rt        j                  |||      S |j                  dk(  rt        j                  |||      S |j                  d	k(  rt        j                  |||      S |j                  d
k\  rt        j                  |||      S t        |||      S Nerrori  )r>  bodyr2  i  i  i  i  i  i  r   r   r5  r   BadRequestErrorAuthenticationErrorPermissionDeniedErrorNotFoundErrorConflictErrorUnprocessableEntityErrorRateLimitErrorInternalServerErrorr,   r   err_msgr  r>  datas        r|   _make_status_errorzOpenAI._make_status_error  I    +5T*:txx&3&..wPTUU3&227XTXYY3&44WxVZ[[3&,,WxdSS3&,,WxdSS3&77(Y]^^3&--gtTT3&227XTXYYgtDDr   )"r   str | Callable[[], str] | Noner   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   !float | Timeout | None | NotGivenr   intr   Mapping[str, str] | Noner   Mapping[str, object] | Noner   httpx.Client | Noner   boolr   r  returnNone)r  rY   )r  rQ   )r  rS   )r  rE   )r  rG   )r  rW   )r  r]   )r  rI   )r  rk   )r  ro   )r  re   )r  rO   )r  rM   )r  ra   )r  rU   )r  rg   )r  rc   )r  rm   )r  r[   )r  ri   )r  r_   )r  rK   )r  r  )r  r"  r  r   
r:  httpx.Requestr1  r  r,  r  r;  Unpack[HttpxSendArgs]r  httpx.Responser:  r  r1  r  r;  r  r  r  rL  r"   r  dict[str, str]r  r  r  zdict[str, str | Omit]r   r   r   r   r  r  rn  r#   r  r#   r:  r  r  r  )rL  r"   r  httpx.Auth | Noner  r   )&r   r  r   r   r   r   r   _Provider | None | NotGivenr   r   r   r   r   r   r   r   r   r   r   r  r   r  r   int | NotGivenr   r  rz  r  r   r  r{  r  r   bool | Noner|  Mapping[str, Any]r  r	   r  r   r  objectr>  r  r  r,   )3__name__
__module____qualname____annotations__r   r-   r   r   r@   r1   r?   r5   r6   r3   rB   r7   rA   rD   r   r0   r:   r;   r2   r=   r<   rC   r4   r>   r8   r9   r   r#  propertyr   r)  r8  r4  rM  rH  rV  rJ  r   rf  rl  rr  rv  rk  r  with_optionsr  __classcell__r   s   @r|   rq   rq   j   s   L..88.... 37$(59#'"%)%)+/595>.4859 ,0 -2%);Z* 0Z* "	Z*
 3Z* !Z* Z* #Z* #Z* )Z* 3Z* 3Z* Z* 2Z* 3Z*& )'Z*8 &*9Z*: #;Z*< 
=Z*x ! !  
          
 ! !      
 " "
  
  
      
  
  
 # #      
  
  
 + + 0 0 4  4  	
  ( 
< 

 	

 (
 

 
   6 6 6  6 < < 
  
 	
 	
 1 1 < < . . 37$(5909#'"%)59+/5>+/&/488<599=,0+-)W
 0W
 "	W

 3W
 .W
 !W
 W
 #W
 3W
 )W
 3W
 )W
 $W
 2W
  6!W
" 3#W
$ 7%W
& *'W
( ))W
* 
+W
v LEE 	E
 !E 
E Er   rq   c                  t    e Zd ZU ded<   ded<   ded<   ded<   ded<   ded	<   d
ed<   ded<   ded<   ded<   	 dddddddddeedddddd	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d@ fdZedAd       ZedBd       Z	edCd       Z
edDd       ZedEd       ZedFd       ZedGd       ZedHd       ZedId       ZedJd        ZedKd!       ZedLd"       ZedMd#       ZedNd$       ZedOd%       ZedPd&       ZedQd'       ZedRd(       ZedSd)       ZedTd*       ZedUd+       ZedVd,       ZedWd-       ZedXd.       Ze e!dYd/              Z"dd0	 	 	 	 	 	 	 	 	 dZ fd1Z#e!	 	 	 	 	 	 	 	 d[d2       Z$e!d\d3       Z%e d]d4       Z&e e!d]d5              Z'e d]d6       Z(e e!d^ fd7              Z)e!d_d8       Z*e!d` fd9       Z+e!dad:       Z,e e!db fd;              Z-dcd<Z.dddedddddededddddi d=	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddd>Z/e/Z0e!	 	 	 	 	 	 	 	 ded?       Z1 xZ2S )frr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   NFTr   c          
     D   d}|dt        |      }d|fd|fd|fd|ffD cg c]	  \  }}|| }}}|r*dj                  d |D              }t        d| d	| d
      t        |      }|| _        || _        ||t        k7  r|t        d      ||nd| _        |d| _        d| _	        d| _
        np|t        | _        d| _	        d| _
        nT|t        j                  j                  d      }t        |      rd| _        || _	        n|xs d| _        d| _	        d| _
        |!|t        j                  j                  d      }||nd| _        |3|r1| j                  s%| j                  || j                  t        d      |!|t        j                  j                  d      }|| _        |!|t        j                  j                  d      }|| _        |t        j                  j                  d      }|| _        |	| _        ||j(                  }n!|t        j                  j                  d      }|d}|t        j                  j                  d      nd}|li }|j+                  d      D ]C  }|j-                  d      }|dk\  s||dz   d j/                         ||d| j/                         <   E i |t1        |      r|ni }t2        | i  t6        |||
||||       |%t9        |t;        | j<                              | _
        t>        | _         yc c}}w )a  Construct a new async AsyncOpenAI client instance.

        This automatically infers the following arguments from their corresponding environment variables if they are not provided:
        - `api_key` from `OPENAI_API_KEY`
        - `admin_api_key` from `OPENAI_ADMIN_KEY`
        - `organization` from `OPENAI_ORG_ID`
        - `project` from `OPENAI_PROJECT_ID`
        - `webhook_secret` from `OPENAI_WEBHOOK_SECRET`

        When `provider` is supplied, authentication and the base URL are configured by that provider instead.
        Nr   r   r   r   r   c              3  (   K   | ]
  }d | d   ywr   r   r   s     r|   r}   z'AsyncOpenAI.__init__.<locals>.<genexpr>  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )!r&   r   r+   r(   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r$   r   r!   r   r*   r   r   s                              r|   r   zAsyncOpenAI.__init__  s   T 59*84M ($m4(*;<*	$	D% $ 	I 	  II%Hi%HH	!CI; ONN[_\ce 
  38<!!17.S#SXiXufgg6F6N!2TX'DL%)D"+/D(*@DL%)D"+/D(**..)9: !NU&&}")-&+/D( %5%=JJNN+=>M.>.F]D $$LL&&.!)""* o  $4$<::>>/:L(?/7jjnn%89G!ZZ^^,CDN,"4''00Hzz~~&78H2HHXH`RZZ^^,CDfj)%'F*006 M		#A:37	3D3J3J3LF4<--/0M gf|O?\ObdfO##*&(C 	 		
 (+?"324<<@,D(
 $/ [	r   c                    ddl m}  ||       S )r   r   )rZ   )r   rZ   )r   rZ   s     r|   r@   zAsyncOpenAI.completionsr      
 	<%%r   c                    ddl m}  ||       S )Nr   )rR   )r   rR   )r   rR   s     r|   r1   zAsyncOpenAI.chat{      -r   c                    ddl m}  ||       S )r   r   )rT   )r   rT   )r   rT   s     r|   r?   zAsyncOpenAI.embeddings  s    
 	:t$$r   c                    ddl m}  ||       S )r   r   )rF   )r   rF   )r   rF   s     r|   r5   zAsyncOpenAI.files  s    
 	0$r   c                    ddl m}  ||       S )r   r   )rH   )r   rH   )r   rH   s     r|   r6   zAsyncOpenAI.images       	24  r   c                    ddl m}  ||       S )Nr   )rX   )r   rX   )r   rX   s     r|   r3   zAsyncOpenAI.audio      /$r   c                    ddl m}  ||       S )r   r   )r^   )r   r^   )r   r^   s     r|   rB   zAsyncOpenAI.moderations  r  r   c                    ddl m}  ||       S )r   r   )rJ   )r   rJ   )r   rJ   s     r|   r7   zAsyncOpenAI.models  r  r   c                    ddl m}  ||       S )Nr   )rl   )r   rl   )r   rl   s     r|   rA   zAsyncOpenAI.fine_tuning  s    :t$$r   c                    ddl m}  ||       S )Nr   )rp   )r   rp   )r   rp   s     r|   rD   zAsyncOpenAI.vector_stores  s    > &&r   c                    ddl m}  ||       S )Nr   )rf   )r   rf   )r   rf   s     r|   r   zAsyncOpenAI.webhooks      5T""r   c                    ddl m}  ||       S )Nr   )rP   )r  rP   )r   rP   s     r|   r0   zAsyncOpenAI.beta  r  r   c                    ddl m}  ||       S )r  r   )rN   )r  rN   )r   rN   s     r|   r:   zAsyncOpenAI.batches       	4D!!r   c                    ddl m}  ||       S )r  r   )rb   )r	  rb   )r   rb   s     r|   r;   zAsyncOpenAI.uploads  r  r   c                    ddl m}  ||       S )Nr   )rV   )r  rV   )r   rV   s     r|   r2   zAsyncOpenAI.admin  r  r   c                    ddl m}  ||       S )Nr   )rh   )r  rh   )r   rh   s     r|   r=   zAsyncOpenAI.responses  s    7d##r   c                    ddl m}  ||       S )Nr   )rd   )r  rd   )r   rd   s     r|   r<   zAsyncOpenAI.realtime  r  r   c                    ddl m}  ||       S )r  r   )rn   )r  rn   )r   rn   s     r|   rC   zAsyncOpenAI.conversations  s     	@!$''r   c                    ddl m}  ||       S )r  r   )r\   )r  r\   )r   r\   s     r|   r4   zAsyncOpenAI.evals  s     	0$r   c                    ddl m}  ||       S )Nr   )rj   )r  rj   )r   rj   s     r|   r>   zAsyncOpenAI.containers  s    9t$$r   c                    ddl m}  ||       S )Nr   )r`   )r  r`   )r   r`   s     r|   r8   zAsyncOpenAI.skills      14  r   c                    ddl m}  ||       S )Nr   )rL   )r  rL   )r   rL   s     r|   r9   zAsyncOpenAI.videos  r  r   c                    t        |       S rw   )AsyncOpenAIWithRawResponser  s    r|   r   zAsyncOpenAI.with_raw_response  r$  r   c                    t        |       S rw   )AsyncOpenAIWithStreamedResponser  s    r|   r#  z#AsyncOpenAI.with_streaming_response  s    .t44r   c                    t        d      S r&  r   r  s    r|   r)  zAsyncOpenAI.qs  r*  r   r+  c               l  K   d}| j                   [|j                  j                  d      }|dt         k(  r4d| j                   j	                          d {    |j                  d<   d}t        |   |fd|i| d {   }|j                  dk(  r| j                   |r|s|j                          d {    | j                   j                          d| j                   j	                          d {    |j                  d<    | j                  |f|dd| d {   S |S 7 7 7 t7 97 wr.  )r   r   r   r   get_token_asyncr   r4  r5  acloser7  r8  r9  s	           r|   r8  z!AsyncOpenAI._send_with_auth_retry  s8     ',#''3#OO//@M'*O)P QQ5<4C_C_CoCoCq=q<r3s0.2+.wPvPPP  C',,8+//###((99;18t?[?[?k?k?m9m8n/oGOOO,333GcFTXc\bccc >r Q $9mcsZ   AD4D**D4D,6D49D.:<D46D07,D4#D2$D4,D4.D40D42D4c               @  K    | j                   |fd|i| d {   }| j                  l| j                  j                  %| j                  j                  |       d {   }|S | j                  j                  | j                  j                  |      }|S 7 ~7 ;wr@  )r8  r   normalize_async_responserA  rB  s        r|   r4  zAsyncOpenAI._send_request3  s      433GUFUfUU!!-%%>>J!%!7!7!P!PQY!ZZ  ''::F11DDXN V [s"   BBAB B!:BBc                >   | j                   i S i }|j                  dd      r4| j                  j                         D ]  \  }}|j	                  ||        |j                  dd      r4| j
                  j                         D ]  \  }}|j	                  ||        |S rD  rG  rK  s        r|   rM  zAsyncOpenAI._auth_headersC  rN  r   c                0    | j                   }|si S dd| iS rP  rQ  rR  s     r|   rH  zAsyncOpenAI._bearer_authQ  rS  r   c                ^    | j                   i S | j                  }|r	|t        k(  ri S dd| iS rP  rU  rR  s     r|   rV  zAsyncOpenAI.auth_headersX  rW  r   c                0    | j                   }|i S dd| iS rP  rY  rZ  s     r|   rJ  zAsyncOpenAI._admin_api_key_authc  r[  r   c                    i t         |   dt                | j                  | j                  n	t	               | j
                  | j
                  n	t	               d| j                  S )Nzasync:r^  )r   r   r   r   r   r   r_  r`  s    r|   r   zAsyncOpenAI.default_headersj  sl    
g%
#)*;*=)>!?8<8I8I8U4#4#4[_[a.2ll.FdllDF	

 ""
 	
r   c                d    | j                   y t        |d      st        |d      ry t        d      rb  rc  re  s      r|   rf  zAsyncOpenAI._validate_headersu  rg  r   c                  K   | j                   l| j                   j                  $| j                   j                  |       d {   }nr| j                   j                  \| j                   j                  |      }n@| j                  4|j                  j                  dd      r| j                          d {    t        | !  |       d {   S 7 7 7 wri  )	r   transform_async_requestrj  r   rL  r   rk  r   rl  rm  s     r|   rl  zAsyncOpenAI._prepare_options  s     !!-%%==I $ 6 6 N Nw WW''99E00BB7K##/G4D4D4H4HX]4^'')))W-g666 X *6s7   ACCA2C7C8CCCCCc                  K   | j                   y | j                   j                  $| j                   j                  |       d {    y | j                   j                  | j                   j                  |       y y 7 8wrw   )r   prepare_async_requestrp  rq  s     r|   rr  zAsyncOpenAI._prepare_request  ss     !!)!!77C((>>wGGG##33?""227; @ Hs   AA?A=9A?c                X    | j                   t        j                         S t        |   S rw   )r   rt  ru  r   custom_authr`  s    r|   r  zAsyncOpenAI.custom_auth  s(     !!-::<w""r   c                x   K   | j                   | j                          d {   | _        | j                  S 7 wrw   rx  r  s    r|   rk  zAsyncOpenAI._refresh_api_key  s4     !!-!%!7!7!99DL|| :s    :8:ry  c               T   ||t        d      ||t        d      t        |t               xr || j                  u}|rdn| j                  }|rdn| j
                  }|ri n| j                  }|i ||}n||}| j                  }|i ||}n||}|xs | j                  }t        |t              r| j                  n|}|	|||||	d}na| j                  ||||	d}nM|xs | j                  xs | j                  |xs | j                  |xs | j                  |	xs | j                  d} | j                  d|xs ||xs ||xs | j                  |xs | j                   t        |
t              r| j"                  n|
|t%        |      r|n| j&                  |||dn|d
||S r~  r  r  s                             r|   r  zAsyncOpenAI.copy  s   2 &+>+Jopp$):)Fkll)(H==`(RVR`R`B`)9t?P?P$4D$,,+;RAUAU&44O4G ,)G##$00-0F*&F!1T\\*4Xx*Hh$)"!.%6$L ^^'"!.%6$	L #Ld&<&<L!.!D$2D2D%6%P$:P:P$5	L t~~ 
%?)?00)@T-@-@1LT5L5L$.w$ADLLw#'/'<$BRBR# )=)EK_
 
 
 	
r   c                  t        |      r|j                  d|      n|}|j                  dk(  rt        j                  |||      S |j                  dk(  rt        j
                  |||      S |j                  dk(  rt        j                  |||      S |j                  dk(  rt        j                  |||      S |j                  dk(  rt        j                  |||      S |j                  dk(  rt        j                  |||      S |j                  d	k(  rt        j                  |||      S |j                  d
k\  rt        j                  |||      S t        |||      S r  r  r  s        r|   r  zAsyncOpenAI._make_status_error  r  r   )"r   )str | Callable[[], Awaitable[str]] | Noner   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r  r   r  r   httpx.AsyncClient | Noner   r  r   r  r  r  )r  rZ   )r  rR   )r  rT   )r  rF   )r  rH   )r  rX   )r  r^   )r  rJ   )r  rl   )r  rp   )r  rf   )r  rP   )r  rN   )r  rb   )r  rV   )r  rh   )r  rd   )r  rn   )r  r\   )r  rj   )r  r`   )r  rL   )r  r  )r  r  r  r  r  r  r  r  r  r  r  )r  r  r  )&r   r  r   r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r  r   r  rz  r  r   r  r{  r  r   r  r|  r  r  r	   r  )3r  r  r  r  r   r-   r   r   r@   r1   r?   r5   r6   r3   rB   r7   rA   rD   r   r0   r:   r;   r2   r=   r<   rC   r4   r>   r8   r9   r   r#  r  r   r)  r8  r4  rM  rH  rV  rJ  r   rf  rl  rr  r  rk  r  r  r  r  r  s   @r|   rr   rr     s   L..88.... >B$(59#'"%)%)+/595>.4859 15 -2%);Z/ ;Z/ "	Z/
 3Z/ !Z/ Z/ #Z/ #Z/ )Z/ 3Z/ 3Z/ Z/ 2Z/ 3Z/& .'Z/8 &*9Z/: #;Z/< 
=Z/x & &  
 % %     ! !    
 & & ! ! % %
 ' '
 # #
  
 " " " "    
 $ $
 # #
 ( (     % %
 ! !
 ! !
 0 0 5 5 4  4  	
  ( 
<  	
 ( 
    6 6 6  6 < < 
  
 	
 	
 	7 	7 < < #  # >B$(5909#'"%)59+/5>04&/488<599=,0+-)V
 ;V
 "	V

 3V
 .V
 !V
 V
 #V
 3V
 )V
 3V
 .V
 $V
 2V
  6!V
" 3#V
$ 7%V
& *'V
( ))V
* 
+V
t LEE 	E
 !E 
E Er   rr   c                     e Zd ZU ded<   ddZedd       Zedd       Zedd       Zedd       Z	edd       Z
ed d	       Zed!d
       Zed"d       Zed#d       Zed$d       Zed%d       Zed&d       Zed'd       Zed(d       Zed)d       Zed*d       Zed+d       Zed,d       Zed-d       Zed.d       Zed/d       Zy)0r  rq   r   c                    || _         y rw   r   r   clients     r|   r   zOpenAIWithRawResponse.__init__'  	    r   c                F    ddl m}  || j                  j                        S )r   r   )CompletionsWithRawResponse)r   r  r   r@   )r   r  s     r|   r@   z!OpenAIWithRawResponse.completions*      
 	F)$,,*B*BCCr   c                F    ddl m}  || j                  j                        S )Nr   )ChatWithRawResponse)r   r  r   r1   )r   r  s     r|   r1   zOpenAIWithRawResponse.chat3      7"4<<#4#455r   c                F    ddl m}  || j                  j                        S )r   r   )EmbeddingsWithRawResponse)r   r
  r   r?   )r   r
  s     r|   r?   z OpenAIWithRawResponse.embeddings9  s    
 	D()@)@AAr   c                F    ddl m}  || j                  j                        S )r   r   )FilesWithRawResponse)r   r  r   r5   )r   r  s     r|   r5   zOpenAIWithRawResponse.filesB  s    
 	:#DLL$6$677r   c                F    ddl m}  || j                  j                        S )r   r   )ImagesWithRawResponse)r   r  r   r6   )r   r  s     r|   r6   zOpenAIWithRawResponse.imagesK       	<$T\\%8%899r   c                F    ddl m}  || j                  j                        S )Nr   )AudioWithRawResponse)r   r  r   r3   )r   r  s     r|   r3   zOpenAIWithRawResponse.audioR      9#DLL$6$677r   c                F    ddl m}  || j                  j                        S )r   r   )ModerationsWithRawResponse)r   r  r   rB   )r   r  s     r|   rB   z!OpenAIWithRawResponse.moderationsX  r  r   c                F    ddl m}  || j                  j                        S )r   r   )ModelsWithRawResponse)r   r  r   r7   )r   r  s     r|   r7   zOpenAIWithRawResponse.modelsa  r  r   c                F    ddl m}  || j                  j                        S )Nr   )FineTuningWithRawResponse)r   r  r   rA   )r   r  s     r|   rA   z!OpenAIWithRawResponse.fine_tuningh  s    D()A)ABBr   c                F    ddl m}  || j                  j                        S )Nr   )VectorStoresWithRawResponse)r   r  r   rD   )r   r  s     r|   rD   z#OpenAIWithRawResponse.vector_storesn  s    H*4<<+E+EFFr   c                F    ddl m}  || j                  j                        S )Nr   )BetaWithRawResponse)r  r  r   r0   )r   r  s     r|   r0   zOpenAIWithRawResponse.betat  r  r   c                F    ddl m}  || j                  j                        S )r  r   )BatchesWithRawResponse)r  r  r   r:   )r   r  s     r|   r:   zOpenAIWithRawResponse.batchesz       	>%dll&:&:;;r   c                F    ddl m}  || j                  j                        S )r  r   )UploadsWithRawResponse)r	  r!  r   r;   )r   r!  s     r|   r;   zOpenAIWithRawResponse.uploads  r  r   c                F    ddl m}  || j                  j                        S )Nr   )AdminWithRawResponse)r  r#  r   r2   )r   r#  s     r|   r2   zOpenAIWithRawResponse.admin  r  r   c                F    ddl m}  || j                  j                        S )Nr   )ResponsesWithRawResponse)r  r%  r   r=   )r   r%  s     r|   r=   zOpenAIWithRawResponse.responses  s    A'(>(>??r   c                F    ddl m}  || j                  j                        S )Nr   )RealtimeWithRawResponse)r  r'  r   r<   )r   r'  s     r|   r<   zOpenAIWithRawResponse.realtime  s    ?&t||'<'<==r   c                F    ddl m}  || j                  j                        S )r  r   )ConversationsWithRawResponse)r  r)  r   rC   )r   r)  s     r|   rC   z#OpenAIWithRawResponse.conversations  s     	J+DLL,F,FGGr   c                F    ddl m}  || j                  j                        S )r  r   )EvalsWithRawResponse)r  r+  r   r4   )r   r+  s     r|   r4   zOpenAIWithRawResponse.evals  s     	:#DLL$6$677r   c                F    ddl m}  || j                  j                        S )Nr   )ContainersWithRawResponse)r  r-  r   r>   )r   r-  s     r|   r>   z OpenAIWithRawResponse.containers  s    C()@)@AAr   c                F    ddl m}  || j                  j                        S )Nr   )SkillsWithRawResponse)r  r/  r   r8   )r   r/  s     r|   r8   zOpenAIWithRawResponse.skills      ;$T\\%8%899r   c                F    ddl m}  || j                  j                        S )Nr   )VideosWithRawResponse)r  r2  r   r9   )r   r2  s     r|   r9   zOpenAIWithRawResponse.videos  r0  r   Nr  rq   r  r  )r  z&completions.CompletionsWithRawResponse)r  zchat.ChatWithRawResponse)r  z$embeddings.EmbeddingsWithRawResponse)r  zfiles.FilesWithRawResponse)r  zimages.ImagesWithRawResponse)r  zaudio.AudioWithRawResponse)r  z&moderations.ModerationsWithRawResponse)r  zmodels.ModelsWithRawResponse)r  z%fine_tuning.FineTuningWithRawResponse)r  z)vector_stores.VectorStoresWithRawResponse)r  zbeta.BetaWithRawResponse)r  zbatches.BatchesWithRawResponse)r  zuploads.UploadsWithRawResponse)r  zadmin.AdminWithRawResponse)r  z"responses.ResponsesWithRawResponse)r  z realtime.RealtimeWithRawResponse)r  z*conversations.ConversationsWithRawResponse)r  zevals.EvalsWithRawResponse)r  z$containers.ContainersWithRawResponse)r  zskills.SkillsWithRawResponse)r  zvideos.VideosWithRawResponser  r  r  r  r   r   r@   r1   r?   r5   r6   r3   rB   r7   rA   rD   r0   r:   r;   r2   r=   r<   rC   r4   r>   r8   r9   r   r   r|   r  r  $  s   O D D 6 6
 B B 8 8 : : 8 8
 D D : : C C
 G G
 6 6
 < < < < 8 8
 @ @
 > >
 H H 8 8 B B
 : :
 : :r   r  c                     e Zd ZU ded<   ddZedd       Zedd       Zedd       Zedd       Z	edd       Z
ed d	       Zed!d
       Zed"d       Zed#d       Zed$d       Zed%d       Zed&d       Zed'd       Zed(d       Zed)d       Zed*d       Zed+d       Zed,d       Zed-d       Zed.d       Zed/d       Zy)0r  rr   r   c                    || _         y rw   r  r   s     r|   r   z#AsyncOpenAIWithRawResponse.__init__  r  r   c                F    ddl m}  || j                  j                        S )r   r   )AsyncCompletionsWithRawResponse)r   r8  r   r@   )r   r8  s     r|   r@   z&AsyncOpenAIWithRawResponse.completions      
 	K.t||/G/GHHr   c                F    ddl m}  || j                  j                        S )Nr   )AsyncChatWithRawResponse)r   r;  r   r1   )r   r;  s     r|   r1   zAsyncOpenAIWithRawResponse.chat      <'(9(9::r   c                F    ddl m}  || j                  j                        S )r   r   )AsyncEmbeddingsWithRawResponse)r   r>  r   r?   )r   r>  s     r|   r?   z%AsyncOpenAIWithRawResponse.embeddings  s    
 	I-dll.E.EFFr   c                F    ddl m}  || j                  j                        S )r   r   )AsyncFilesWithRawResponse)r   r@  r   r5   )r   r@  s     r|   r5   z AsyncOpenAIWithRawResponse.files  s    
 	?(););<<r   c                F    ddl m}  || j                  j                        S )r   r   )AsyncImagesWithRawResponse)r   rB  r   r6   )r   rB  s     r|   r6   z!AsyncOpenAIWithRawResponse.images       	A)$,,*=*=>>r   c                F    ddl m}  || j                  j                        S )Nr   )AsyncAudioWithRawResponse)r   rE  r   r3   )r   rE  s     r|   r3   z AsyncOpenAIWithRawResponse.audio      >(););<<r   c                F    ddl m}  || j                  j                        S )r   r   )AsyncModerationsWithRawResponse)r   rH  r   rB   )r   rH  s     r|   rB   z&AsyncOpenAIWithRawResponse.moderations  r9  r   c                F    ddl m}  || j                  j                        S )r   r   )AsyncModelsWithRawResponse)r   rJ  r   r7   )r   rJ  s     r|   r7   z!AsyncOpenAIWithRawResponse.models  rC  r   c                F    ddl m}  || j                  j                        S )Nr   )AsyncFineTuningWithRawResponse)r   rL  r   rA   )r   rL  s     r|   rA   z&AsyncOpenAIWithRawResponse.fine_tuning  s    I-dll.F.FGGr   c                F    ddl m}  || j                  j                        S )Nr   ) AsyncVectorStoresWithRawResponse)r   rN  r   rD   )r   rN  s     r|   rD   z(AsyncOpenAIWithRawResponse.vector_stores  s    M/0J0JKKr   c                F    ddl m}  || j                  j                        S )Nr   )AsyncBetaWithRawResponse)r  rP  r   r0   )r   rP  s     r|   r0   zAsyncOpenAIWithRawResponse.beta  r<  r   c                F    ddl m}  || j                  j                        S )r  r   )AsyncBatchesWithRawResponse)r  rR  r   r:   )r   rR  s     r|   r:   z"AsyncOpenAIWithRawResponse.batches       	C*4<<+?+?@@r   c                F    ddl m}  || j                  j                        S )r  r   )AsyncUploadsWithRawResponse)r	  rU  r   r;   )r   rU  s     r|   r;   z"AsyncOpenAIWithRawResponse.uploads  rS  r   c                F    ddl m}  || j                  j                        S )Nr   )AsyncAdminWithRawResponse)r  rW  r   r2   )r   rW  s     r|   r2   z AsyncOpenAIWithRawResponse.admin  rF  r   c                F    ddl m}  || j                  j                        S )Nr   )AsyncResponsesWithRawResponse)r  rY  r   r=   )r   rY  s     r|   r=   z$AsyncOpenAIWithRawResponse.responses%  s    F,T\\-C-CDDr   c                F    ddl m}  || j                  j                        S )Nr   )AsyncRealtimeWithRawResponse)r  r[  r   r<   )r   r[  s     r|   r<   z#AsyncOpenAIWithRawResponse.realtime+  s    D+DLL,A,ABBr   c                F    ddl m}  || j                  j                        S )r  r   )!AsyncConversationsWithRawResponse)r  r]  r   rC   )r   r]  s     r|   rC   z(AsyncOpenAIWithRawResponse.conversations1  s     	O01K1KLLr   c                F    ddl m}  || j                  j                        S )r  r   )AsyncEvalsWithRawResponse)r  r_  r   r4   )r   r_  s     r|   r4   z AsyncOpenAIWithRawResponse.evals8  s     	?(););<<r   c                F    ddl m}  || j                  j                        S )Nr   )AsyncContainersWithRawResponse)r  ra  r   r>   )r   ra  s     r|   r>   z%AsyncOpenAIWithRawResponse.containers?  s    H-dll.E.EFFr   c                F    ddl m}  || j                  j                        S )Nr   )AsyncSkillsWithRawResponse)r  rc  r   r8   )r   rc  s     r|   r8   z!AsyncOpenAIWithRawResponse.skillsE      @)$,,*=*=>>r   c                F    ddl m}  || j                  j                        S )Nr   )AsyncVideosWithRawResponse)r  rf  r   r9   )r   rf  s     r|   r9   z!AsyncOpenAIWithRawResponse.videosK  rd  r   Nr  rr   r  r  )r  z+completions.AsyncCompletionsWithRawResponse)r  zchat.AsyncChatWithRawResponse)r  z)embeddings.AsyncEmbeddingsWithRawResponse)r  zfiles.AsyncFilesWithRawResponse)r  z!images.AsyncImagesWithRawResponse)r  zaudio.AsyncAudioWithRawResponse)r  z+moderations.AsyncModerationsWithRawResponse)r  z!models.AsyncModelsWithRawResponse)r  z*fine_tuning.AsyncFineTuningWithRawResponse)r  z.vector_stores.AsyncVectorStoresWithRawResponse)r  zbeta.AsyncBetaWithRawResponse)r  z#batches.AsyncBatchesWithRawResponse)r  z#uploads.AsyncUploadsWithRawResponse)r  zadmin.AsyncAdminWithRawResponse)r  z'responses.AsyncResponsesWithRawResponse)r  z%realtime.AsyncRealtimeWithRawResponse)r  z/conversations.AsyncConversationsWithRawResponse)r  zevals.AsyncEvalsWithRawResponse)r  z)containers.AsyncContainersWithRawResponse)r  z!skills.AsyncSkillsWithRawResponse)r  z!videos.AsyncVideosWithRawResponser4  r   r   r|   r  r    s    I I ; ;
 G G = = ? ? = =
 I I ? ? H H
 L L
 ; ;
 A A A A = =
 E E
 C C
 M M = = G G
 ? ?
 ? ?r   r  c                     e Zd ZU ded<   ddZedd       Zedd       Zedd       Zedd       Z	edd       Z
ed d	       Zed!d
       Zed"d       Zed#d       Zed$d       Zed%d       Zed&d       Zed'd       Zed(d       Zed)d       Zed*d       Zed+d       Zed,d       Zed-d       Zed.d       Zed/d       Zy)0r"  rq   r   c                    || _         y rw   r  r   s     r|   r   z#OpenAIWithStreamedResponse.__init__U  r  r   c                F    ddl m}  || j                  j                        S )r   r   ) CompletionsWithStreamingResponse)r   rk  r   r@   )r   rk  s     r|   r@   z&OpenAIWithStreamedResponse.completionsX      
 	L/0H0HIIr   c                F    ddl m}  || j                  j                        S )Nr   )ChatWithStreamingResponse)r   rn  r   r1   )r   rn  s     r|   r1   zOpenAIWithStreamedResponse.chata      =():):;;r   c                F    ddl m}  || j                  j                        S )r   r   )EmbeddingsWithStreamingResponse)r   rq  r   r?   )r   rq  s     r|   r?   z%OpenAIWithStreamedResponse.embeddingsg  s    
 	J.t||/F/FGGr   c                F    ddl m}  || j                  j                        S )r   r   )FilesWithStreamingResponse)r   rs  r   r5   )r   rs  s     r|   r5   z OpenAIWithStreamedResponse.filesp  s    
 	@)$,,*<*<==r   c                F    ddl m}  || j                  j                        S )r   r   )ImagesWithStreamingResponse)r   ru  r   r6   )r   ru  s     r|   r6   z!OpenAIWithStreamedResponse.imagesy       	B*4<<+>+>??r   c                F    ddl m}  || j                  j                        S )Nr   )AudioWithStreamingResponse)r   rx  r   r3   )r   rx  s     r|   r3   z OpenAIWithStreamedResponse.audio      ?)$,,*<*<==r   c                F    ddl m}  || j                  j                        S )r   r   ) ModerationsWithStreamingResponse)r   r{  r   rB   )r   r{  s     r|   rB   z&OpenAIWithStreamedResponse.moderations  rl  r   c                F    ddl m}  || j                  j                        S )r   r   )ModelsWithStreamingResponse)r   r}  r   r7   )r   r}  s     r|   r7   z!OpenAIWithStreamedResponse.models  rv  r   c                F    ddl m}  || j                  j                        S )Nr   )FineTuningWithStreamingResponse)r   r  r   rA   )r   r  s     r|   rA   z&OpenAIWithStreamedResponse.fine_tuning  s    J.t||/G/GHHr   c                F    ddl m}  || j                  j                        S )Nr   )!VectorStoresWithStreamingResponse)r   r  r   rD   )r   r  s     r|   rD   z(OpenAIWithStreamedResponse.vector_stores  s    N01K1KLLr   c                F    ddl m}  || j                  j                        S )Nr   )BetaWithStreamingResponse)r  r  r   r0   )r   r  s     r|   r0   zOpenAIWithStreamedResponse.beta  ro  r   c                F    ddl m}  || j                  j                        S )r  r   )BatchesWithStreamingResponse)r  r  r   r:   )r   r  s     r|   r:   z"OpenAIWithStreamedResponse.batches       	D+DLL,@,@AAr   c                F    ddl m}  || j                  j                        S )r  r   )UploadsWithStreamingResponse)r	  r  r   r;   )r   r  s     r|   r;   z"OpenAIWithStreamedResponse.uploads  r  r   c                F    ddl m}  || j                  j                        S )Nr   )AdminWithStreamingResponse)r  r  r   r2   )r   r  s     r|   r2   z OpenAIWithStreamedResponse.admin  ry  r   c                F    ddl m}  || j                  j                        S )Nr   )ResponsesWithStreamingResponse)r  r  r   r=   )r   r  s     r|   r=   z$OpenAIWithStreamedResponse.responses  s    G-dll.D.DEEr   c                F    ddl m}  || j                  j                        S )Nr   )RealtimeWithStreamingResponse)r  r  r   r<   )r   r  s     r|   r<   z#OpenAIWithStreamedResponse.realtime  s    E,T\\-B-BCCr   c                F    ddl m}  || j                  j                        S )r  r   )"ConversationsWithStreamingResponse)r  r  r   rC   )r   r  s     r|   rC   z(OpenAIWithStreamedResponse.conversations  s     	P1$,,2L2LMMr   c                F    ddl m}  || j                  j                        S )r  r   )EvalsWithStreamingResponse)r  r  r   r4   )r   r  s     r|   r4   z OpenAIWithStreamedResponse.evals  s     	@)$,,*<*<==r   c                F    ddl m}  || j                  j                        S )Nr   )ContainersWithStreamingResponse)r  r  r   r>   )r   r  s     r|   r>   z%OpenAIWithStreamedResponse.containers  s    I.t||/F/FGGr   c                F    ddl m}  || j                  j                        S )Nr   )SkillsWithStreamingResponse)r  r  r   r8   )r   r  s     r|   r8   z!OpenAIWithStreamedResponse.skills      A*4<<+>+>??r   c                F    ddl m}  || j                  j                        S )Nr   )VideosWithStreamingResponse)r  r  r   r9   )r   r  s     r|   r9   z!OpenAIWithStreamedResponse.videos  r  r   Nr3  )r  z,completions.CompletionsWithStreamingResponse)r  zchat.ChatWithStreamingResponse)r  z*embeddings.EmbeddingsWithStreamingResponse)r  z files.FilesWithStreamingResponse)r  z"images.ImagesWithStreamingResponse)r  z audio.AudioWithStreamingResponse)r  z,moderations.ModerationsWithStreamingResponse)r  z"models.ModelsWithStreamingResponse)r  z+fine_tuning.FineTuningWithStreamingResponse)r  z/vector_stores.VectorStoresWithStreamingResponse)r  zbeta.BetaWithStreamingResponse)r  z$batches.BatchesWithStreamingResponse)r  z$uploads.UploadsWithStreamingResponse)r  z admin.AdminWithStreamingResponse)r  z(responses.ResponsesWithStreamingResponse)r  z&realtime.RealtimeWithStreamingResponse)r  z0conversations.ConversationsWithStreamingResponse)r  z evals.EvalsWithStreamingResponse)r  z*containers.ContainersWithStreamingResponse)r  z"skills.SkillsWithStreamingResponse)r  z"videos.VideosWithStreamingResponser4  r   r   r|   r"  r"  R  s   O J J < <
 H H > > @ @ > >
 J J @ @ I I
 M M
 < <
 B B B B > >
 F F
 D D
 N N > > H H
 @ @
 @ @r   r"  c                     e Zd ZU ded<   ddZedd       Zedd       Zedd       Zedd       Z	edd       Z
ed d	       Zed!d
       Zed"d       Zed#d       Zed$d       Zed%d       Zed&d       Zed'd       Zed(d       Zed)d       Zed*d       Zed+d       Zed,d       Zed-d       Zed.d       Zed/d       Zy)0r  rr   r   c                    || _         y rw   r  r   s     r|   r   z(AsyncOpenAIWithStreamedResponse.__init__  r  r   c                F    ddl m}  || j                  j                        S )r   r   )%AsyncCompletionsWithStreamingResponse)r   r  r   r@   )r   r  s     r|   r@   z+AsyncOpenAIWithStreamedResponse.completions      
 	Q4T\\5M5MNNr   c                F    ddl m}  || j                  j                        S )Nr   )AsyncChatWithStreamingResponse)r   r  r   r1   )r   r  s     r|   r1   z$AsyncOpenAIWithStreamedResponse.chat      B-dll.?.?@@r   c                F    ddl m}  || j                  j                        S )r   r   )$AsyncEmbeddingsWithStreamingResponse)r   r  r   r?   )r   r  s     r|   r?   z*AsyncOpenAIWithStreamedResponse.embeddings  s    
 	O3DLL4K4KLLr   c                F    ddl m}  || j                  j                        S )r   r   )AsyncFilesWithStreamingResponse)r   r  r   r5   )r   r  s     r|   r5   z%AsyncOpenAIWithStreamedResponse.files  s    
 	E.t||/A/ABBr   c                F    ddl m}  || j                  j                        S )r   r   ) AsyncImagesWithStreamingResponse)r   r  r   r6   )r   r  s     r|   r6   z&AsyncOpenAIWithStreamedResponse.images       	G/0C0CDDr   c                F    ddl m}  || j                  j                        S )Nr   )AsyncAudioWithStreamingResponse)r   r  r   r3   )r   r  s     r|   r3   z%AsyncOpenAIWithStreamedResponse.audio      D.t||/A/ABBr   c                F    ddl m}  || j                  j                        S )r   r   )%AsyncModerationsWithStreamingResponse)r   r  r   rB   )r   r  s     r|   rB   z+AsyncOpenAIWithStreamedResponse.moderations  r  r   c                F    ddl m}  || j                  j                        S )r   r   ) AsyncModelsWithStreamingResponse)r   r  r   r7   )r   r  s     r|   r7   z&AsyncOpenAIWithStreamedResponse.models&  r  r   c                F    ddl m}  || j                  j                        S )Nr   )$AsyncFineTuningWithStreamingResponse)r   r  r   rA   )r   r  s     r|   rA   z+AsyncOpenAIWithStreamedResponse.fine_tuning-  s    O3DLL4L4LMMr   c                F    ddl m}  || j                  j                        S )Nr   )&AsyncVectorStoresWithStreamingResponse)r   r  r   rD   )r   r  s     r|   rD   z-AsyncOpenAIWithStreamedResponse.vector_stores3  s    S5dll6P6PQQr   c                F    ddl m}  || j                  j                        S )Nr   )AsyncBetaWithStreamingResponse)r  r  r   r0   )r   r  s     r|   r0   z$AsyncOpenAIWithStreamedResponse.beta9  r  r   c                F    ddl m}  || j                  j                        S )r  r   )!AsyncBatchesWithStreamingResponse)r  r  r   r:   )r   r  s     r|   r:   z'AsyncOpenAIWithStreamedResponse.batches?       	I01E1EFFr   c                F    ddl m}  || j                  j                        S )r  r   )!AsyncUploadsWithStreamingResponse)r	  r  r   r;   )r   r  s     r|   r;   z'AsyncOpenAIWithStreamedResponse.uploadsF  r  r   c                F    ddl m}  || j                  j                        S )Nr   )AsyncAdminWithStreamingResponse)r  r  r   r2   )r   r  s     r|   r2   z%AsyncOpenAIWithStreamedResponse.adminM  r  r   c                F    ddl m}  || j                  j                        S )Nr   )#AsyncResponsesWithStreamingResponse)r  r  r   r=   )r   r  s     r|   r=   z)AsyncOpenAIWithStreamedResponse.responsesS  s    L24<<3I3IJJr   c                F    ddl m}  || j                  j                        S )Nr   )"AsyncRealtimeWithStreamingResponse)r  r  r   r<   )r   r  s     r|   r<   z(AsyncOpenAIWithStreamedResponse.realtimeY  s    J1$,,2G2GHHr   c                F    ddl m}  || j                  j                        S )r  r   )'AsyncConversationsWithStreamingResponse)r  r  r   rC   )r   r  s     r|   rC   z-AsyncOpenAIWithStreamedResponse.conversations_  s     	U6t||7Q7QRRr   c                F    ddl m}  || j                  j                        S )r  r   )AsyncEvalsWithStreamingResponse)r  r  r   r4   )r   r  s     r|   r4   z%AsyncOpenAIWithStreamedResponse.evalsf  s     	E.t||/A/ABBr   c                F    ddl m}  || j                  j                        S )Nr   )$AsyncContainersWithStreamingResponse)r  r  r   r>   )r   r  s     r|   r>   z*AsyncOpenAIWithStreamedResponse.containersm  s    N3DLL4K4KLLr   c                F    ddl m}  || j                  j                        S )Nr   ) AsyncSkillsWithStreamingResponse)r  r  r   r8   )r   r  s     r|   r8   z&AsyncOpenAIWithStreamedResponse.skillss      F/0C0CDDr   c                F    ddl m}  || j                  j                        S )Nr   ) AsyncVideosWithStreamingResponse)r  r  r   r9   )r   r  s     r|   r9   z&AsyncOpenAIWithStreamedResponse.videosy  r  r   Nrg  )r  z1completions.AsyncCompletionsWithStreamingResponse)r  z#chat.AsyncChatWithStreamingResponse)r  z/embeddings.AsyncEmbeddingsWithStreamingResponse)r  z%files.AsyncFilesWithStreamingResponse)r  z'images.AsyncImagesWithStreamingResponse)r  z%audio.AsyncAudioWithStreamingResponse)r  z1moderations.AsyncModerationsWithStreamingResponse)r  z'models.AsyncModelsWithStreamingResponse)r  z0fine_tuning.AsyncFineTuningWithStreamingResponse)r  z4vector_stores.AsyncVectorStoresWithStreamingResponse)r  z#beta.AsyncBetaWithStreamingResponse)r  z)batches.AsyncBatchesWithStreamingResponse)r  z)uploads.AsyncUploadsWithStreamingResponse)r  z%admin.AsyncAdminWithStreamingResponse)r  z-responses.AsyncResponsesWithStreamingResponse)r  z+realtime.AsyncRealtimeWithStreamingResponse)r  z5conversations.AsyncConversationsWithStreamingResponse)r  z%evals.AsyncEvalsWithStreamingResponse)r  z/containers.AsyncContainersWithStreamingResponse)r  z'skills.AsyncSkillsWithStreamingResponse)r  z'videos.AsyncVideosWithStreamingResponser4  r   r   r|   r  r    s    O O A A
 M M C C E E C C
 O O E E N N
 R R
 A A
 G G G G C C
 K K
 I I
 S S C C M M
 E E
 E Er   r  )r   r   r{   r   r  r  )
__future__r   r   typingr   r   r   r   r   typing_extensionsr	   r
   r   rt  r   r   _qsr   authr   r   _typesr   r   r   r   r   r   r   r   r   _utilsr   r   r   r   _compatr   _httpx2r    r!   _modelsr"   r#   _versionr$   r   r%   r&   r'   r(   
_streamingr)   r*   r+   r,   _base_clientr-   r.   r/   	resourcesr0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   r   rE   rF   r   rG   rH   r   rI   rJ   r  rK   rL   r  rM   rN   resources.beta.betarO   rP   resources.chat.chatrQ   rR   r   rS   rT   resources.admin.adminrU   rV   resources.audio.audiorW   rX   r   rY   rZ   resources.evals.evalsr[   r\   r   r]   r^   resources.skills.skillsr_   r`   resources.uploads.uploadsra   rb   resources.realtime.realtimerc   rd   resources.webhooks.webhooksre   rf   resources.responses.responsesrg   rh   resources.containers.containersri   rj   !resources.fine_tuning.fine_tuningrk   rl   %resources.conversations.conversationsrm   rn   %resources.vector_stores.vector_storesro   rp   __all__r   r   r   rq   rr   r  r  r"  r  rs   rt   r   r   r|   <module>r     sE   # 	 C C 4 4    8
 
 
  % B 9 ! W W D 4       . 3555844A88D8D<@DDHLNXV
v(@ %9
d
U	E] U	Ep_	E. _	EDT: T:nT? T?nT@ T@nTE TEn 
r   