
    pi;<                        d dl mZmZ d dlmZ d dlmZmZmZm	Z	m
Z
 d dlmZ d dlmZ d dlmZmZmZmZ d dlmZmZ d dlmZ 	 d d	lZesJ d d
lmZ  G d de      Z G d de      Z G d de      Z G d de      Z  G d de      Z! G d de      Z" G d de      Z# G d de      Z$ G d de      Z% G d d e      Z&ed!   Z' G d" d#e      Z(e
e(e)f   Z* G d$ d%ed&'      Z+ G d( d)e      Z, G d* d+e      Z- G d, d-e      Z. G d. d/e      Z/ G d0 d1e/      Z0 G d2 d3e/      Z1 G d4 d5e      Z2 G d6 d7e      Z3 G d8 d9e      Z4 G d: d;e      Z5 G d< d=e      Z6 G d> d?e      Z7 G d@ dAe      Z8 G dB dCe      Z9 G dD dEe8      Z: G dF dGe8      Z; G dH dIe;      Z< G dJ dKe      Z= G dL dMe=      Z> G dN dOe=      Z? G dP dQe=      Z@ G dR dSe=      ZA G dT dUe      ZB G dV dWe8      ZC G dX dYe8      ZDe
e:e;eCeDe<f   ZE G dZ d[e      ZF G d\ d]e      ZG G d^ d_e      ZHe(j                          e5j                          e-j                          y	# e$ r  G d de      ZY w xY w)`    )IterableMapping)Enum)	AnnotatedAnyCallableOptionalUnion)"with_info_plain_validator_function)logger)AnyUrl	BaseModelFieldGetJsonSchemaHandler)Literal	TypedDict)
deprecatedN)EmailStrc            	           e Zd Zedeedef      fd       Zededefd       Z	edededefd       Z
ed	eeef   d
edeeef   fd       Zedee   d
eegeeef   f   deeef   fd       Zy)r   return.c              #   (   K   | j                    y wN)validate)clss    X/opt/services/ai/voice_agent/venv/lib/python3.12/site-packages/fastapi/openapi/models.py__get_validators__zEmailStr.__get_validators__   s     ,,s   vc                 B    t        j                  d       t        |      S Nzpemail-validator not installed, email fields will be treated as str.
To install, run: pip install email-validatorr   warningstr)r   r   s     r   r   zEmailStr.validate   s    NN? q6M    _EmailStr__input_value_c                 B    t        j                  d       t        |      S r   r    )r   r$   r%   s      r   	_validatezEmailStr._validate$   s     NN? }%%r#   core_schemahandlerc                     dddS )Nstringemail)typeformat )r   r(   r)   s      r   __get_pydantic_json_schema__z%EmailStr.__get_pydantic_json_schema__,   s     %88r#   sourcec                 ,    t        | j                        S r   )r   r'   )r   r1   r)   s      r   __get_pydantic_core_schema__z%EmailStr.__get_pydantic_core_schema__2   s     6cmmDDr#   N)__name__
__module____qualname__classmethodr   r   r   r   r"   r   r'   r   r   dictr0   r-   r3   r/   r#   r   r   r      s   		xc0B'C 	 
	 
	S 	S 	 
	 
	&# 	&# 	&# 	& 
	& 
	9%c3h/	9:N	9#s(^	9 
	9
 
	Ec	E-5seWS#X=N6N-O	ES#X	E 
	Er#   r   c                       e Zd ZddiZy)BaseModelWithConfigextraallowN)r4   r5   r6   model_configr/   r#   r   r:   r:   9   s    W%Lr#   r:   c                   J    e Zd ZU dZee   ed<   dZee   ed<   dZ	ee
   ed<   y)ContactNnameurlr,   )r4   r5   r6   r@   r	   r"   __annotations__rA   r   r,   r   r/   r#   r   r?   r?   =   s.    D(3- C&	  $E8H$r#   r?   c                   @    e Zd ZU eed<   dZee   ed<   dZee   ed<   y)Licenser@   N
identifierrA   )	r4   r5   r6   r"   rB   rE   r	   rA   r   r/   r#   r   rD   rD   C   s$    
I $J$ C&	 r#   rD   c                       e Zd ZU eed<   dZee   ed<   dZee   ed<   dZee   ed<   dZ	ee
   ed<   dZee   ed<   eed<   y)	InfotitleNsummarydescriptiontermsOfServicecontactlicenseversion)r4   r5   r6   r"   rB   rI   r	   rJ   rK   rL   r?   rM   rD   r/   r#   r   rG   rG   I   sT    J!GXc]!!%K#%$(NHSM(!%GXg%!%GXg%Lr#   rG   c                   ^    e Zd ZU dZeeee       ed      f   e	d<   ee	d<   dZ
ee   e	d<   y)ServerVariableN   )
min_lengthenumdefaultrJ   )r4   r5   r6   rS   r   r	   listr"   r   rB   rJ   r/   r#   r   rP   rP   S   s7    @DD)HT#Y'!)<<
=DL!%K#%r#   rP   c                   T    e Zd ZU eeef   ed<   dZee   ed<   dZ	ee
eef      ed<   y)ServerrA   NrJ   	variables)r4   r5   r6   r
   r   r"   rB   rJ   r	   rX   r8   rP   r/   r#   r   rW   rW   Y   s8    	vs{	!%K#%59IxS.0129r#   rW   c                   *    e Zd ZU  ed      Zeed<   y)	Reference$refaliasrefN)r4   r5   r6   r   r^   r"   rB   r/   r#   r   rZ   rZ   _   s    6"C"r#   rZ   c                   6    e Zd ZU eed<   dZeeeef      ed<   y)DiscriminatorpropertyNameNmapping)r4   r5   r6   r"   rB   rb   r	   r8   r/   r#   r   r`   r`   c   s    (,GXd38n%,r#   r`   c                   r    e Zd ZU dZee   ed<   dZee   ed<   dZee   ed<   dZ	ee
   ed<   dZee
   ed<   y)XMLNr@   	namespaceprefix	attributewrapped)r4   r5   r6   r@   r	   r"   rB   re   rf   rg   boolrh   r/   r#   r   rd   rd   h   sH    D(3-#Ix}# FHSM  $Ix~$"GXd^"r#   rd   c                   ,    e Zd ZU dZee   ed<   eed<   y)ExternalDocumentationNrJ   rA   )r4   r5   r6   rJ   r	   r"   rB   r   r/   r#   r   rk   rk   p   s    !%K#%	Kr#   rk   )arraybooleanintegernullnumberobjectr+   c                      e Zd ZU  edd      Zee   ed<    edd      Zee   ed<    edd      Z	ee   ed<    edd	      Z
ee   ed
<    edd      Zee   ed<    edd      Zee   ed<    edd      Zee   ed<    edd      Zeeedf      ed<    edd      Zee   ed<   dZeed      ed<   dZeed      ed<   dZeed      ed<    edd      Zed   ed<    edd      Zed   ed<   dZed   ed<    edd      Zed   ed<   dZeeedf      ed <   dZeed      ed!<   dZeeded   f      ed"<   dZed   ed#<   dZeeedf      ed$<   dZeeedf      ed%<   dZ ed   ed&<   dZ!ed   ed'<   dZ"ed   ed(<   dZ#ed   ed)<   dZ$eee%ee%   f      ed*<   dZ&eee'      ed+<   dZ(ee'   ed,<    edd-.      Z)ee*   ed/<   dZ+ee*   ed0<   dZ,ee*   ed1<   dZ-ee*   ed2<   dZ.ee*   ed3<    edd-4      Z/ee0   ed5<    edd-4      Z1ee0   ed6<   dZ2ee   ed7<    edd-4      Z3ee0   ed8<    edd-4      Z4ee0   ed9<   dZ5ee6   ed:<    edd-4      Z7ee0   ed;<    edd-4      Z8ee0   ed<<    edd-4      Z9ee0   ed=<    edd-4      Z:ee0   ed><   dZ;eee      ed?<   dZ<eeee=e   f      ed@<   dZ>ee   edA<   dZ?ee   edB<   dZ@ee   edC<   dZAed   edD<   dZBee   edE<   dZCee   edF<   dZDee'   edG<   dZEee6   edH<   dZFee6   edI<   dZGee6   edJ<   dZHeee'      edK<   dZIeeJ   edL<   dZKeeL   edM<   dZMeeN   edN<   dZOePee'    eQdO      f   edP<   y)QSchemaNz$schemarT   r]   schema_z$vocabulary
vocabularyz$ididz$anchoranchorz$dynamicAnchordynamicAnchorr[   r^   z$dynamicRef
dynamicRefz$defsSchemaOrBooldefsz$commentcommentallOfanyOfoneOfnotnot_ifif_thenelseelse_dependentSchemasprefixItemsitemscontains
propertiespatternPropertiesadditionalPropertiespropertyNamesunevaluatedItemsunevaluatedPropertiesr-   rS   constr   )rT   gt
multipleOfmaximumexclusiveMaximumminimumexclusiveMinimum)rT   ge	maxLength	minLengthpatternmaxItemsminItemsuniqueItemsmaxContainsminContainsmaxPropertiesminPropertiesrequireddependentRequiredr.   contentEncodingcontentMediaTypecontentSchemarH   rJ   rT   r   readOnly	writeOnlyexamplesdiscriminatorxmlexternalDocsznDeprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, although still supported. Use examples instead.example)Rr4   r5   r6   r   ru   r	   r"   rB   rv   rw   rx   ry   r^   rz   r|   r8   r}   r~   rU   r   r   r   r   r   r   r   r   r   r
   r   r   r   r   r   r   r   r-   
SchemaTyperS   r   r   r   floatr   r   r   r   r   intr   r   r   r   r   ri   r   r   r   r   r   r   setr.   r   r   r   rH   rJ   rT   r   r   r   r   r   r`   r   rd   r   rk   r   r   typing_deprecatedr/   r#   r   rs   rs   {   s    #4yAGXc]A %d- HJHd%8B8!$i@FHSM@#(=M#NM8C=Nt6:C#: %d- HJH05d'0RD(4^+,
-R"4zBGXc]B -1E8D()0,0E8D()0,0E8D()0%*4u%ED(>
"E$)$d$CC.	!C%)D(>
")&+D&GE8N#G<@htC$789@26K$~./6 DHE8E.$~*>>?@G)-Hh~&-6:Jc>123:=AxS.%8 9:A59(>29.2M8N+215h~.56:8N3: ;?D(5T*%556
7> $D(49
$E8C="'";J;#GXe_#(,huo,#GXe_#(,huo,$Ta8Ix}8$Ta8Ix}8!GXc]!#DQ7Hhsm7#DQ7Hhsm7"&K$&!&t!:K#:!&t!:K#:#(!#<M8C=<#(!#<M8C=<$(HhtCy!(7;xS#c(] 34; !FHSM  &*OXc])&*hsm*.2M8N+2  E8C=!%K#%!GXc]!!%J%#Hhtn# $Ix~$$(HhtCy!( .2M8M*1C#48L(018 	 Y>	
	 r#   rs   c                   V    e Zd ZU ee   ed<   ee   ed<   ee   ed<   ee   ed<   ddiZy)ExamplerI   rJ   valueexternalValuer;   r<   N)	r4   r5   r6   r	   r"   rB   r   r   __pydantic_config__r/   r#   r   r   r      s6    c]#C=F##"G,r#   r   F)totalc                       e Zd ZdZdZdZdZy)ParameterInTypequeryheaderpathcookieN)r4   r5   r6   r   r   r   r   r/   r#   r   r   r      s    EFDFr#   r   c                       e Zd ZU dZee   ed<   dZeeee	de
f   f      ed<   dZee   ed<   dZee   ed<   dZee   ed<   y)EncodingNcontentTypeHeaderheadersstyleexplodeallowReserved)r4   r5   r6   r   r	   r"   rB   r   r8   r
   rZ   r   r   ri   r   r/   r#   r   r   r      s]    !%K#%?CGXd3h	&9 ::;<CE8C="GXd^"$(M8D>(r#   r   c                       e Zd ZU  edd      Zeeeef      e	d<   dZ
ee   e	d<   dZeeeeeef   f      e	d<   dZeeeef      e	d<   y)	MediaTypeNschemart   ru   r   r   encoding)r4   r5   r6   r   ru   r	   r
   rs   rZ   rB   r   r   r   r8   r"   r   r   r   r/   r#   r   r   r      sk    27H2UGXeFI-./U!GXc]!?CHhtCw	'9!::;<C.2HhtCM*+2r#   r   c                      e Zd ZU dZee   ed<   dZee   ed<   dZ	ee   ed<   dZ
ee   ed<   dZee   ed<   dZee   ed<    edd	      Zeeeef      ed
<   dZee   ed<   dZeeeeeef   f      ed<   dZeeeef      ed<   y)ParameterBaseNrJ   r   r   r   r   r   r   rt   ru   r   r   content)r4   r5   r6   rJ   r	   r"   rB   r   ri   r   r   r   r   r   ru   r
   rs   rZ   r   r   r   r8   r   r   r   r/   r#   r   r   r      s    !%K#%#Hhtn#!%J%E8C="GXd^"$(M8D>(27H2UGXeFI-./U!GXc]!?CHhtCw	'9!::;<C.2GXd3	>*+2r#   r   c                   4    e Zd ZU eed<    ed      Zeed<   y)	Parameterr@   inr\   in_N)r4   r5   r6   r"   rB   r   r   r   r/   r#   r   r   r     s    
I t,C,r#   r   c                       e Zd Zy)r   N)r4   r5   r6   r/   r#   r   r   r   
  s    r#   r   c                   J    e Zd ZU dZee   ed<   eeef   ed<   dZ	ee
   ed<   y)RequestBodyNrJ   r   r   )r4   r5   r6   rJ   r	   r"   rB   r8   r   r   ri   r/   r#   r   r   r     s-    !%K#%#y.!!#Hhtn#r#   r   c                       e Zd ZU dZee   ed<   dZee   ed<   dZee	ee
eef   f      ed<   dZee
eef      ed<   dZee   ed<   dZee   ed<   y)LinkNoperationRefoperationId
parametersrequestBodyrJ   server)r4   r5   r6   r   r	   r"   rB   r   r   r8   r
   r   r   rJ   r   rW   r/   r#   r   r   r     ss    "&L(3-&!%K#%7;Jc5c?234;-1K%S/*1!%K#%#FHV#r#   r   c                       e Zd ZU eed<   dZeeeee	e
f   f      ed<   dZeeeef      ed<   dZeeeeee
f   f      ed<   y)ResponserJ   Nr   r   links)r4   r5   r6   r"   rB   r   r	   r8   r
   r   rZ   r   r   r   r   r/   r#   r   r   r     se    =AGXd3fi&7 889:A.2GXd3	>*+29=E8DeD)O4456=r#   r   c                   l   e Zd ZU dZeee      ed<   dZee   ed<   dZ	ee   ed<   dZ
ee   ed<   dZee   ed<   dZeeeeef         ed<   dZeeeef      ed<   dZeeeeeef   f      ed	<   dZeeeeeed
f   ef   f      ed<   dZee   ed<   dZeeeeee   f         ed<   dZeee      ed<   y)	OperationNtagsrI   rJ   r   r   r   r   	responsesPathItem	callbacksr   securityservers)r4   r5   r6   r   r	   rU   r"   rB   rI   rJ   r   rk   r   r   r
   r   rZ   r   r   r   r8   r   r   r   r   ri   r   r   rW   r/   r#   r   r   r   $  s    $D(49
$!GXc]!!%K#%48L(018!%K#%>BJeIy$89:;B;?K%Y 678?;?IxS%#"6678?NRIxS%S*_(=y(H"IIJKR!%J%59HhtDd3i0129&*GXd6l#*r#   r   c                   8   e Zd ZU  edd      Zee   ed<   dZee   ed<   dZ	ee   ed<   dZ
ee   ed<   dZee   ed<   dZee   ed	<   dZee   ed
<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZeee      ed<   dZeeeeef         ed<   y)r   Nr[   rt   r^   rI   rJ   getputpostdeleteoptionsheadpatchtracer   r   )r4   r5   r6   r   r^   r	   r"   rB   rI   rJ   r   r   r   r   r   r   r   r   r   r   rU   rW   r   r
   r   rZ   r/   r#   r   r   r   4  s    t6:C#:!GXc]!!%K#%#C)	##C)	# $D(9
$"&FHY&#'GXi ' $D(9
$!%E8I%!%E8I%&*GXd6l#*>BJeIy$89:;Br#   r   c                       e Zd ZdZdZdZdZy)SecuritySchemeTypeapiKeyhttpoauth2openIdConnectN)r4   r5   r6   r   r   r   r   r/   r#   r   r   r   D  s    FDF#Mr#   r   c                   >    e Zd ZU  ed      Zeed<   dZee	   ed<   y)SecurityBaser-   r\   type_NrJ   )
r4   r5   r6   r   r   r   rB   rJ   r	   r"   r/   r#   r   r   r   K  s      %F 3E3!%K#%r#   r   c                       e Zd ZdZdZdZy)APIKeyInr   r   r   N)r4   r5   r6   r   r   r   r/   r#   r   r   r   P  s    EFFr#   r   c                   f    e Zd ZU  eej
                  d      Zeed<    ed      Ze	ed<   e
ed<   y)	APIKeyr-   rt   r   r   r\   r   r@   N)r4   r5   r6   r   r   r   r   rB   r   r   r"   r/   r#   r   r   r   V  s/     %.@.G.Gv VEV%C%
Ir#   r   c                   J    e Zd ZU  eej
                  d      Zeed<   eed<   y)HTTPBaser-   rt   r   schemeN)	r4   r5   r6   r   r   r   r   rB   r"   r/   r#   r   r   r   \  s      %.@.E.EV TETKr#   r   c                   6    e Zd ZU dZed   ed<   dZee   ed<   y)
HTTPBearerbearerr  NbearerFormat)	r4   r5   r6   r  r   rB   r  r	   r"   r/   r#   r   r  r  a  s     (FGH("&L(3-&r#   r  c                   :    e Zd ZU dZee   ed<   i Zeeef   ed<   y)	OAuthFlowN
refreshUrlscopes)	r4   r5   r6   r  r	   r"   rB   r	  r8   r/   r#   r   r  r  f  s"     $J$FDcNr#   r  c                       e Zd ZU eed<   y)OAuthFlowImplicitauthorizationUrlNr4   r5   r6   r"   rB   r/   r#   r   r  r  k  s    r#   r  c                       e Zd ZU eed<   y)OAuthFlowPasswordtokenUrlNr  r/   r#   r   r  r  o      Mr#   r  c                       e Zd ZU eed<   y)OAuthFlowClientCredentialsr  Nr  r/   r#   r   r  r  s  r  r#   r  c                   "    e Zd ZU eed<   eed<   y)OAuthFlowAuthorizationCoder  r  Nr  r/   r#   r   r  r  w  s    Mr#   r  c                   ^    e Zd ZU dZee   ed<   dZee   ed<   dZ	ee
   ed<   dZee   ed<   y)
OAuthFlowsNimplicitpasswordclientCredentialsauthorizationCode)r4   r5   r6   r  r	   r  rB   r  r  r  r  r  r  r/   r#   r   r  r  |  sD    ,0Hh()0,0Hh()0>Bx :;B>Bx :;Br#   r  c                   J    e Zd ZU  eej
                  d      Zeed<   eed<   y)OAuth2r-   rt   r   flowsN)	r4   r5   r6   r   r   r   r   rB   r  r/   r#   r   r  r    s!     %.@.G.Gv VEVr#   r  c                   J    e Zd ZU  eej
                  d      Zeed<   eed<   y)OpenIdConnectr-   rt   r   openIdConnectUrlN)	r4   r5   r6   r   r   r   r   rB   r"   r/   r#   r   r   r     s'     %"00!E  r#   r   c                      e Zd ZU dZeeeeee	f   f      e
d<   dZeeeeee	f   f      e
d<   dZeeeeee	f   f      e
d<   dZeeeeee	f   f      e
d<   dZeeeeee	f   f      e
d<   dZeeeeee	f   f      e
d<   dZeeeeee	f   f      e
d<   dZeeeeee	f   f      e
d	<   dZeeeeeeef   e	ef   f      e
d
<   dZeeeeee	f   f      e
d<   y)
ComponentsNschemasr   r   r   requestBodiesr   securitySchemesr   r   	pathItems)r4   r5   r6   r$  r	   r8   r"   r
   rs   rZ   rB   r   r   r   r   r   r   r%  r   r   r   r&  SecuritySchemer   r   r   r   r   r'  r/   r#   r   r#  r#    sj   =AGXd3fi&7 889:AAEIxS%)(;"<<=>ECGJc5I)=#>>?@G?CHhtCw	'9!::;<CHLM8DeK,B&C!CDEL=AGXd3fi&7 889:AMQOXd3ni.G(H#HIJQ9=E8DeD)O4456=QUIxS%S(](;Y(K"LLMNUAEIxS%)(;"<<=>Er#   r#  c                   @    e Zd ZU eed<   dZee   ed<   dZee   ed<   y)Tagr@   NrJ   r   )	r4   r5   r6   r"   rB   rJ   r	   r   rk   r/   r#   r   r*  r*    s%    
I!%K#%48L(018r#   r*  c                      e Zd ZU eed<   eed<   dZee   ed<   dZee	e
      ed<   dZeeeeeef   f      ed<   dZeeeeeef   f      ed<   dZee   ed<   dZee	eee	e   f         ed	<   dZee	e      ed
<   dZee   ed<   y)OpenAPIopenapiinfoNjsonSchemaDialectr   pathswebhooks
componentsr   r   r   )r4   r5   r6   r"   rB   rG   r/  r	   r   rU   rW   r0  r8   r
   r   r   r1  rZ   r2  r#  r   r   r*  r   rk   r/   r#   r   r,  r,    s    L
J'+x}+&*GXd6l#*7;E8DeHcM2234;@DHhtCx':!;;<=D'+J$+59HhtDd3i0129 $D(49
$48L(018r#   r,  )Jcollections.abcr   r   rS   r   typingr   r   r   r	   r
   fastapi._compatr   fastapi.loggerr   pydanticr   r   r   r   typing_extensionsr   r   r   r   email_validatorr   ImportErrorr"   r:   r?   rD   rG   rP   rW   rZ   r`   rd   rk   r   rs   ri   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,  model_rebuildr/   r#   r   <module>r<     s   -  < < > !  1 =&E?!J&) &%! %!! ! &( &:  :#	 #-I -
#
 #/  G

T  Tr VT\"-iu -d )" )3# 33' 3- -
	] 	$% $$ $>" >+# + C" C $ $&& &
t \ | 
' '
 #  
	 	   
C$ C\ 
L  vx
JKF$ F9
 99! 9     	       C  !EE3 E!Es   I I'&I'