
    [Th5                    4   d dl Z d dlZd dlmZmZmZ d dlmZ ddlm	Z	 ddlm
Z
 ddlmZ ddlmZ dd	lmZ dd
l
mZ ddl
mZ ddlmZmZ  ej.                  d      Z	 dVdeeeef   ef   deeeef      deeef   fdZ	 dVdeeeef   ef   deeeef      deeef   fdZ	 dVdeeeef   ef   deeeef      deeef   fdZ	 dVdeeeef   ef   deeeef      deeef   fdZ	 dVdeeeef   ef   deeeef      deeef   fdZ 	 dVdeeeef   ef   deeeef      deeef   fdZ!	 dVdeeeef   ef   deeeef      deeef   fdZ"	 dVdeeeef   ef   deeeef      deeef   fdZ#	 dVdeeeef   ef   deeeef      deeef   fdZ$	 dVdeeeef   ef   deeeef      deeef   fdZ%	 dVdeeeef   ef   deeeef      deeef   fdZ&	 dVdeeeef   ef   deeeef      deeef   fdZ'	 dVdeeeef   ef   deeeef      deeef   fdZ(	 dVdeeeef   ef   deeeef      deeef   fdZ)	 dVdeeeef   ef   deeeef      deeef   fdZ*	 dVdeeeef   ef   deeeef      deeef   fd Z+	 dVdeeeef   ef   deeeef      deeef   fd!Z,	 dVdeeeef   ef   deeeef      deeef   fd"Z-	 dVdeeeef   ef   deeeef      deeef   fd#Z.	 dVd$edeeeef   ef   deeeef      deeef   fd%Z/	 dVd$edeeeef   ef   deeeef      deeef   fd&Z0	 dVd$edeeeef   ef   deeeef      deeef   fd'Z1	 dVdeeeef   ef   deeeef      deeef   fd(Z2	 dVd$edeeeef   ef   deeeef      deeef   fd)Z3	 dVdeeeef   ef   deeeef      deeef   fd*Z4	 dVdeeeef   ef   deeeef      deeef   fd+Z5	 dVdeeeef   ef   deeeef      deeef   fd,Z6	 dVdeeeef   ef   deeeef      deeef   fd-Z7	 dVdeeeef   ef   deeeef      deeef   fd.Z8	 dVdeeeef   ef   deeeef      deeef   fd/Z9	 dVdeeeef   ef   deeeef      deeef   fd0Z:	 dVdeeeef   ef   deeeef      deeef   fd1Z;	 dVdeeeef   ef   deeeef      deeef   fd2Z<	 dVdeeeef   ef   deeeef      deeef   fd3Z=	 dVdeeeef   ef   deeeef      deeef   fd4Z>	 dVdeeeef   ef   deeeef      deeef   fd5Z?	 dVdeeeef   ef   deeeef      deeef   fd6Z@	 dVdeeeef   ef   deeeef      deeef   fd7ZA	 dVdeeeef   ef   deeeef      deeef   fd8ZB	 dVdeeeef   ef   deeeef      deeef   fd9ZC	 dVdeeeef   ef   deeeef      deeef   fd:ZD	 dVdeeeef   ef   deeeef      deeef   fd;ZE	 dVdeeeef   ef   deeeef      deeef   fd<ZF	 dVdeeeef   ef   deeeef      deeef   fd=ZG	 dVdeeeef   ef   deeeef      deeef   fd>ZH	 dVdeeeef   ef   deeeef      deeef   fd?ZI	 dVdeeeef   ef   deeeef      deeef   fd@ZJ	 dVdeeeef   ef   deeeef      deeef   fdAZK	 dVdeeeef   ef   deeeef      deeef   fdBZL	 dVd$edeeeef   ef   deeeef      deeef   fdCZM	 dVd$edeeeef   ef   deeeef      deeef   fdDZN	 dVd$edeeeef   ef   deeeef      deeef   fdEZO	 dVdeeeef   ef   deeeef      deeef   fdFZP	 dVd$edeeeef   ef   deeeef      deeef   fdGZQ	 dVdeeeef   ef   deeeef      deeef   fdHZR	 dVdeeeef   ef   deeeef      deeef   fdIZSdJeddfdKZT	 dVdeeeef   ef   deeeef      deeef   fdLZU	 dVdeeeef   ef   deeeef      deeef   fdMZV	 dVdeeeef   ef   deeeef      deeef   fdNZW	 dVdeeeef   ef   deeeef      deeef   fdOZX	 dVdeeeef   ef   deeeef      deeef   fdPZY	 dVdeeeef   ef   deeeef      deeef   fdQZZ G dR dSe	j                        Z\ G dT dUe	j                        Z]y)W    N)AnyOptionalUnion)	urlencode   )_api_module)_common)_transformers)types)BaseApiClient)get_value_by_path)set_value_by_path)
AsyncPagerPagerzgoogle_genai.cachesfrom_objectparent_objectreturnc                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S Nfps
end_offset	endOffsetstart_offsetstartOffsetgetvsetvr   r   	to_objects      X/home/www/backend.miabetepe.com/venv/lib/python3.12/site-packages/google/genai/caches.py_VideoMetadata_to_mldevr!   $        !)	+w+UGT+w78	+~&2[M4l^#DE	+'(4]OT+7G%HI	    c                     i }t        | dg      t        d      t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S )Ndisplay_name6display_name parameter is not supported in Gemini API.data	mime_typemimeTyper   
ValueErrorr   r   s      r    _Blob_to_mldevr,   5   sw     !)	+'(4
M
NN	+x ,VHd;9:	+}%1ZL${[M"BC	r#   c                     i }t        | dg      t        d      t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S )Nr%   r&   file_urifileUrir(   r)   r*   r   s      r    _FileData_to_mldevr0   F   sw     !)	+'(4
M
NN	+
|$0YKkJ<!@A	+}%1ZL${[M"BC	r#   c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S Nidargsnamer   r   s      r    _FunctionCall_to_mldevr6   W        !)	+v*TFDtf56	+x ,VHd;9:	+x ,VHd;9:	r#   c           
      R   i }t        | dg      #t        |dgt        t        | dg      |             t        | dg      t        |dgt        | dg             t        | dg      #t        |dgt        t        | dg      |             t        | dg      #t        |dgt	        t        | dg      |             t        | dg      t        |d	gt        | dg             t        | d
g      #t        |dgt        t        | d
g      |             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S Nvideo_metadatavideoMetadatathoughtinline_data
inlineData	file_datafileDatathought_signaturethoughtSignaturefunction_callfunctionCallcode_execution_resultcodeExecutionResultexecutable_codeexecutableCodefunction_responsefunctionResponsetext)r   r   r!   r,   r0   r6   r   s      r    _Part_to_mldevrL   h   s    !)	+()*6	/019	
 
+	{#/YKkI;!?@	+'3	tK-99E 
+}%1	4k];YG 
++,-9	[./0 
+()5	tK/1BCYO 
+/01=	[234 
+)*+7%&[;L:M(NO	++,-9	[./0 
+x ,VHd;9:	r#   c                     i }t        | dg      1t        |dgt        | dg      D cg c]  }t        ||       c}       t        | dg      t        |dgt        | dg             |S c c}w Npartsrole)r   r   rL   r   r   r   items       r    _Content_to_mldevrS      s     !)	+y!-		 [7)4	
 4+	
 
+x ,VHd;9:		
   A)c                    i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |d	gt        | dg             |S )
Nbehaviordescriptionr5   
parametersparameters_json_schemaparametersJsonSchemaresponseresponse_json_schemaresponseJsonSchemar   r   s      r    _FunctionDeclaration_to_mldevr^      s1    !)	+
|$0ZL${ZL"AB	+'3]OT+%GH	+x ,VHd;9:	+~&2\ND|n$EF	+012>	 [345 
+
|$0ZL${ZL"AB	+./0<	[123 
r#   c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S N
start_time	startTimeend_timeendTimer   r   s      r    _Interval_to_mldevre      [     !)	+~&2[M4l^#DE	+
|$0YKkJ<!@A	r#   c           
          i }t        | dg      #t        |dgt        t        | dg      |             t        | dg      t        d      |S )Ntime_range_filtertimeRangeFilterexclude_domainsz9exclude_domains parameter is not supported in Gemini API.)r   r   re   r+   r   s      r    _GoogleSearch_to_mldevrk      sk     !)	++,-9	4.A-BCYO 
+)*+7
C  
r#   c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S Nmodedynamic_thresholddynamicThresholdr   r   s      r     _DynamicRetrievalConfig_to_mldevrq     g     !)	+x ,VHd;9:	++,-9	[./0 
r#   c           
      j    i }t        | dg      #t        |dgt        t        | dg      |             |S Ndynamic_retrieval_configdynamicRetrievalConfig)r   r   rq   r   s      r    _GoogleSearchRetrieval_to_mldevrw     sK     !)	+234@	!"(9:;Y	
 
r#   c                 
    i }|S N r   s      r    _UrlContext_to_mldevr{   +       !)	r#   c                 V    i }t        | dg      t        |dgt        | dg             |S Nenvironmentr   r   s      r    _ToolComputerUse_to_mldevr   4  5     !)	+'3]OT+%GH	r#   c                    i }t        | dg      1t        |dgt        | dg      D cg c]  }t        ||       c}       t        | dg      t        d      t        | dg      #t        |dgt	        t        | dg      |             t        | dg      #t        |dgt        t        | dg      |             t        | d	g      t        d
      t        | dg      t        d      t        | dg      #t        |dgt        t        | dg      |             t        | dg      #t        |dgt        t        | dg      |             t        | dg      t        |dgt        | dg             |S c c}w )Nfunction_declarationsfunctionDeclarations	retrievalz3retrieval parameter is not supported in Gemini API.google_searchgoogleSearchgoogle_search_retrievalgoogleSearchRetrievalenterprise_web_searchz?enterprise_web_search parameter is not supported in Gemini API.google_mapsz5google_maps parameter is not supported in Gemini API.url_context
urlContextcomputer_usecomputerUsecode_executioncodeExecution)r   r   r^   r+   rk   rw   r{   r   rQ   s       r    _Tool_to_mldevr   ?  s    !)	+/01=	  [+B*CD	
 *$	:	
 
+}%1
J
KK	+()5	tK/1BCYO 
+123?	 !'89:I	
 
+/01=
I  
+'3
L
MM	+'3	T+?K 
+'(4	!~./	
 
+()*6_%tK:J9K'LM	i	
s   E1c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S Nrn   allowed_function_namesallowedFunctionNamesr   r   s      r    _FunctionCallingConfig_to_mldevr     g     !)	+x ,VHd;9:	+012>	 [345 
r#   c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S Nlatitude	longituder   r   s      r    _LatLng_to_mldevr     [     !)	+
|$0ZL${ZL"AB	+}%1[M4k]#CD	r#   c           
          i }t        | dg      #t        |dgt        t        | dg      |             t        | dg      t        |dgt        | dg             |S Nlat_lnglatLnglanguage_codelanguageCode)r   r   r   r   s      r    _RetrievalConfig_to_mldevr     sl     !)	+	{#/	
kI;7C 
+()5^$d;8I&JK	r#   c           
          i }t        | dg      #t        |dgt        t        | dg      |             t        | dg      #t        |dgt        t        | dg      |             |S Nfunction_calling_configfunctionCallingConfigretrieval_configretrievalConfig)r   r   r   r   r   s      r    _ToolConfig_to_mldevr     s     !)	+123?	 !'89:I	
 
+*+,8	!123Y	
 
r#   c                 6   i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      Dt        |dgt        j                  t        | dg            D cg c]  }t	        ||       c}       t        | dg      6t        |dgt	        t        j
                  t        | dg            |             t        | d	g      1t        |d	gt        | d	g      D cg c]  }t        ||       c}       t        | d
g      #t        |dgt        t        | d
g      |             t        | dg      t        d      |S c c}w c c}w )Nttlexpire_time
expireTimer%   displayNamecontentssystem_instructionsystemInstructiontoolstool_config
toolConfigkms_key_namez6kms_key_name parameter is not supported in Gemini API.)	r   r   t
t_contentsrS   	t_contentr   r   r+   rQ   s       r    #_CreateCachedContentConfig_to_mldevr     s    !)	+w+kE7!;<	+'3[=/(JK	+'(4kN;K)LM	+
|$0	 T+
|%DE	
 dI.	
 
+,-.:	KK[+?*@ABI	
 
+y!-		 [7)4	
 4+	
 
+'3	T+?K 
+'(4
M
NN	G	
&	
s   ,F-F
api_clientc                     i }t        |dg      -t        |dgt        j                  | t        |dg                   t        |dg      #t        |dgt	        t        |dg      |             |S Nmodelconfig)r   r   r   t_caches_modelr   r   r   r   r   s       r    '_CreateCachedContentParameters_to_mldevr     s    
 !)	+y!-			T+y%AB 
+z".	
+xj)9	
 
r#   c                     i }t        |dg      .t        |ddgt        j                  | t        |dg                   t        |dg      t        |dgt        |dg             |S Nr5   _urlr   r   r   r   t_cached_content_namer   s       r    $_GetCachedContentParameters_to_mldevr     r    
 !)	+x ,		
Dvh,GH 
+z".XJ[8* =>	r#   c                     i }t        |dg      .t        |ddgt        j                  | t        |dg                   t        |dg      t        |dgt        |dg             |S r   r   r   s       r    '_DeleteCachedContentParameters_to_mldevr   0  r   r#   c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S Nr   r   r   r   r   s      r    #_UpdateCachedContentConfig_to_mldevr   C  [     !)	+w+kE7!;<	+'3[=/(JK	r#   c                     i }t        |dg      .t        |ddgt        j                  | t        |dg                   t        |dg      #t        |dgt	        t        |dg      |             |S r   )r   r   r   r   r   r   s       r    '_UpdateCachedContentParameters_to_mldevr   R  s    
 !)	+x ,		
Dvh,GH 
+z".	
+xj)9	
 
r#   c                     i }t        | dg      t        |ddgt        | dg             t        | dg      t        |ddgt        | dg             |S N	page_size_querypageSize
page_token	pageTokenr   r   s      r    "_ListCachedContentsConfig_to_mldevr   k  m     !)	+}%1*-tK+/O 
+~&2	;[<.) 
r#   c           
      j    i }t        | dg      #t        |dgt        t        | dg      |             |S Nr   )r   r   r   r   s      r    &_ListCachedContentsParameters_to_mldevr     sF     !)	+z".	
*xj)9	
 
r#   c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S r   r   r   s      r    _VideoMetadata_to_vertexr     r"   r#   c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S )Nr%   r   r'   r(   r)   r   r   s      r    _Blob_to_vertexr     s     !)	+'(4]OT+7G%HI	+x ,VHd;9:	+}%1ZL${[M"BC	r#   c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S )Nr%   r   r.   r/   r(   r)   r   r   s      r    _FileData_to_vertexr     s     !)	+'(4]OT+7G%HI	+
|$0YKkJ<!@A	+}%1ZL${[M"BC	r#   c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S r2   r   r   s      r    _FunctionCall_to_vertexr     r7   r#   c           
      R   i }t        | dg      #t        |dgt        t        | dg      |             t        | dg      t        |dgt        | dg             t        | dg      #t        |dgt        t        | dg      |             t        | dg      #t        |dgt	        t        | dg      |             t        | dg      t        |d	gt        | dg             t        | d
g      #t        |dgt        t        | d
g      |             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S r9   )r   r   r   r   r   r   r   s      r    _Part_to_vertexr     s    !)	+()*6	 /019	
 
+	{#/YKkI;!?@	+'3	[=/:IF 
+}%1	D{m<iH 
++,-9	[./0 
+()5	/0)	
 
+/01=	[234 
+)*+7%&[;L:M(NO	++,-9	[./0 
+x ,VHd;9:	r#   c                     i }t        | dg      1t        |dgt        | dg      D cg c]  }t        ||       c}       t        | dg      t        |dgt        | dg             |S c c}w rN   )r   r   r   rQ   s       r    _Content_to_vertexr     s     !)	+y!-		 [7)4	
 D),	
 
+x ,VHd;9:		
rT   c                    i }t        | dg      t        d      t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | d	g      t        |d
gt        | d	g             |S )NrV   z1behavior parameter is not supported in Vertex AI.rW   r5   rX   rY   rZ   r[   r\   r]   r*   r   s      r    _FunctionDeclaration_to_vertexr   0  s&    !)	+
|$0
H
II	+'3]OT+%GH	+x ,VHd;9:	+~&2\ND|n$EF	+012>	 [345 
+
|$0ZL${ZL"AB	+./0<	[123 
r#   c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S r`   r   r   s      r    _Interval_to_vertexr   U  rf   r#   c           
          i }t        | dg      #t        |dgt        t        | dg      |             t        | dg      t        |dgt        | dg             |S )Nrh   ri   rj   excludeDomains)r   r   r   r   s      r    _GoogleSearch_to_vertexr   c  sw     !)	++,-9	234i	
 
+)*+7%&[;L:M(NO	r#   c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S rm   r   r   s      r    !_DynamicRetrievalConfig_to_vertexr   w  rr   r#   c           
      j    i }t        | dg      #t        |dgt        t        | dg      |             |S rt   )r   r   r   r   s      r     _GoogleSearchRetrieval_to_vertexr     sK     !)	+234@	!")9:;Y	
 
r#   c                 V    i }t        | dg      t        |dgt        | dg             |S )Nrj   r   r   r   s      r    _EnterpriseWebSearch_to_vertexr     s;     !)	+)*+7%&[;L:M(NO	r#   c                 V    i }t        | dg      t        |dgt        | dg             |S )Napi_key_stringapiKeyStringr   r   s      r    _ApiKeyConfig_to_vertexr     s:     !)	+()*6^$d;9I8J&KL	r#   c           
         i }t        | dg      #t        |dgt        t        | dg      |             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | d	g      t        |d
gt        | d	g             t        | dg      t        |dgt        | dg             |S )Napi_key_configapiKeyConfig	auth_typeauthTypegoogle_service_account_configgoogleServiceAccountConfighttp_basic_auth_confighttpBasicAuthConfigoauth_configoauthConfigoidc_config
oidcConfig)r   r   r   r   s      r    _AuthConfig_to_vertexr
    s#    !)	+()*6	/019	
 
+}%1ZL${[M"BC	+789E	%&[:;< 
+012>	[345 
+'(4]OT+7G%HI	+'3\ND}o$FG	r#   c           
      j    i }t        | dg      #t        |dgt        t        | dg      |             |S )Nauth_config
authConfig)r   r   r
  r   s      r    _GoogleMaps_to_vertexr    sC     !)	+'3	d;@)L 
r#   c                 
    i }|S ry   rz   r   s      r    _UrlContext_to_vertexr    r|   r#   c                 V    i }t        | dg      t        |dgt        | dg             |S r~   r   r   s      r    _ToolComputerUse_to_vertexr    r   r#   c                 h   i }t        | dg      1t        |dgt        | dg      D cg c]  }t        ||       c}       t        | dg      t        |dgt        | dg             t        | dg      #t        |dgt        t        | dg      |             t        | dg      #t        |dgt	        t        | dg      |             t        | dg      #t        |d	gt        t        | dg      |             t        | d
g      #t        |dgt        t        | d
g      |             t        | dg      #t        |dgt        t        | dg      |             t        | dg      #t        |dgt        t        | dg      |             t        | dg      t        |dgt        | dg             |S c c}w )Nr   r   r   r   r   r   r   r   enterpriseWebSearchr   
googleMapsr   r   r   r   r   r   )	r   r   r   r   r   r   r  r  r  rQ   s       r    _Tool_to_vertexr    s    !)	+/01=	  [+B*CD	
 +4;	
 
+}%1[M4k]#CD	+()5	/0)	
 
+123?	 !(89:I	
 
+/01=	&678)	
 
+'3	d;@)L 
+'3	d;@)L 
+'(4	"~./	
 
+()*6_%tK:J9K'LM	}	
s   F/c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S r   r   r   s      r     _FunctionCallingConfig_to_vertexr  E  r   r#   c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S r   r   r   s      r    _LatLng_to_vertexr  W  r   r#   c           
          i }t        | dg      #t        |dgt        t        | dg      |             t        | dg      t        |dgt        | dg             |S r   )r   r   r  r   s      r    _RetrievalConfig_to_vertexr  e  sl     !)	+	{#/	
${YK8)D 
+()5^$d;8I&JK	r#   c           
          i }t        | dg      #t        |dgt        t        | dg      |             t        | dg      #t        |dgt        t        | dg      |             |S r   )r   r   r  r  r   s      r    _ToolConfig_to_vertexr  w  s     !)	+123?	 !(89:I	
 
+*+,8	"123Y	
 
r#   c                 T   i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      Dt        |dgt        j                  t        | dg            D cg c]  }t	        ||       c}       t        | dg      6t        |dgt	        t        j
                  t        | dg            |             t        | d	g      1t        |d	gt        | d	g      D cg c]  }t        ||       c}       t        | d
g      #t        |dgt        t        | d
g      |             t        | dg      t        |ddgt        | dg             |S c c}w c c}w )Nr   r   r   r%   r   r   r   r   r   r   r   r   encryption_spec
kmsKeyName)r   r   r   r   r   r   r  r  rQ   s       r    $_CreateCachedContentConfig_to_vertexr"    s    !)	+w+kE7!;<	+'3[=/(JK	+'(4kN;K)LM	+
|$0	 T+
|%DE	
 tY/	
 
+,-.:	KK[+?*@ABI	
 
+y!-		 [7)4	
 D),	
 
+'3	d;@)L 
+'(4	L)[>*+ 
O	
&	
s   ,F -F%c                     i }t        |dg      -t        |dgt        j                  | t        |dg                   t        |dg      #t        |dgt	        t        |dg      |             |S r   )r   r   r   r   r"  r   s       r    (_CreateCachedContentParameters_to_vertexr$    s    
 !)	+y!-			T+y%AB 
+z".	
,xj)9	
 
r#   c                     i }t        |dg      .t        |ddgt        j                  | t        |dg                   t        |dg      t        |dgt        |dg             |S r   r   r   s       r    %_GetCachedContentParameters_to_vertexr&    r   r#   c                     i }t        |dg      .t        |ddgt        j                  | t        |dg                   t        |dg      t        |dgt        |dg             |S r   r   r   s       r    (_DeleteCachedContentParameters_to_vertexr(    r   r#   c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S r   r   r   s      r    $_UpdateCachedContentConfig_to_vertexr*    r   r#   c                     i }t        |dg      .t        |ddgt        j                  | t        |dg                   t        |dg      #t        |dgt	        t        |dg      |             |S r   )r   r   r   r   r*  r   s       r    (_UpdateCachedContentParameters_to_vertexr,    s    
 !)	+x ,		
Dvh,GH 
+z".	
,xj)9	
 
r#   c                     i }t        | dg      t        |ddgt        | dg             t        | dg      t        |ddgt        | dg             |S r   r   r   s      r    #_ListCachedContentsConfig_to_vertexr.  5  r   r#   c           
      j    i }t        | dg      #t        |dgt        t        | dg      |             |S r   )r   r   r.  r   s      r    '_ListCachedContentsParameters_to_vertexr0  J  sF     !)	+z".	
+xj)9	
 
r#   
enum_valuec                 >    | t        g d      v rt        |  d      y )N)UNSPECIFIEDBLOCKINGNON_BLOCKINGz* enum value is not supported in Vertex AI.)setr+   )r1  s    r    !_Behavior_to_vertex_enum_validater7  [  s)    3BCC

|#MN
OO Dr#   c                    i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | d	g      t        |d
gt        | d	g             t        | dg      t        |dgt        | dg             |S Nr5   r   r%   r   
createTimecreate_time
updateTimeupdate_timer   r   usageMetadatausage_metadatar   r   s      r    _CachedContent_from_mldevr@  `      !)	+x ,VHd;9:	+'3^$d;&HI	+y!-WItK';<	+~&2]OT+~%FG	+~&2]OT+~%FG	+~&2]OT+~%FG	+()5%&[?:K(LM	r#   c                 V    i }t        | dg      t        |dgt        | dg             |S NsdkHttpResponsesdk_http_responser   r   s      r    '_DeleteCachedContentResponse_from_mldevrF  }  @     !)	+)*+7'(${=N<O*P 
r#   c                 (   i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      1t        |dgt        | dg      D cg c]  }t        ||       c}       |S c c}w NrD  rE  nextPageTokennext_page_tokencachedContentscached_contents)r   r   r@  rQ   s       r    &_ListCachedContentsResponse_from_mldevrN    s     !)	+)*+7'(${=N<O*P 
+()5&'kO;L)MN	+()*6	 [+;*<=	
 &dI6	
 
	
   3Bc                    i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | d	g      t        |d
gt        | d	g             t        | dg      t        |dgt        | dg             |S r9  r   r   s      r    _CachedContent_from_vertexrQ    rA  r#   c                 V    i }t        | dg      t        |dgt        | dg             |S rC  r   r   s      r    (_DeleteCachedContentResponse_from_vertexrS    rG  r#   c                 (   i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      1t        |dgt        | dg      D cg c]  }t        ||       c}       |S c c}w rI  )r   r   rQ  rQ   s       r    '_ListCachedContentsResponse_from_vertexrU    s     !)	+)*+7'(${=N<O*P 
+()5&'kO;L)MN	+()*6	 [+;*<=	
 'tY7	
 
	
rO  c                      e Zd Zdddedeej                     dej                  fdZdddedeej                     dej                  fdZ
dddedeej                     dej                  fd	Zdddedeej                     dej                  fd
Zdddeej                      dej"                  fdZdddeej                      deej                     fdZy)CachesNr   r   r   r   c                   t        j                  ||      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||      }	|	j                   sd	nt#        j$                  |	j                         }
| j                  j                  rt'        |
      }
nt)        |
      }
t         j*                  j-                  |
|j/                         
      }| j                  j1                  |       |S )a  Creates a cached contents resource.

    Usage:

    .. code-block:: python

      contents = ... // Initialize the content to cache.
      response = client.caches.create(
          model= ... // The publisher model id
          contents=contents,
          config={
              'display_name': 'test cache',
              'system_instruction': 'What is the sum of the two pdfs?',
              'ttl': '86400s',
          },
      )
    r   r   r   rL  r   ?r   Npost r[   kwargs)r   _CreateCachedContentParameters_api_clientvertexair$  get
format_mapr   r   popr   http_optionsr	   convert_to_dictencode_unserializable_typesrequestbodyjsonloadsrQ  r@  CachedContent_from_response
model_dump_verify_responseselfr   r   parameter_modelrequest_dictrequest_url_dictpathquery_paramsrf  r[   response_dictreturn_values               r    createzCaches.create  s   0 ::O   =


Ol &))&1	**+;<<


Ol &))&1	**+;<##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''lLH 'mmBHMM1JM  0?m 0>m&&55'A'A'C 6 L 	%%l3r#   r5   c                   t        j                  ||      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||      }	|	j                   sd	nt#        j$                  |	j                         }
| j                  j                  rt'        |
      }
nt)        |
      }
t         j*                  j-                  |
|j/                         
      }| j                  j1                  |       |S )zGets cached content configurations.

    .. code-block:: python

      client.caches.get(name= ... ) // The server-generated resource name.
    r5   r   r   {name}r   r[  r   Nrc  r]  r^  )r   _GetCachedContentParametersra  rb  r&  rc  rd  r   r   re  r   rf  r	   rg  rh  ri  rj  rk  rl  rQ  r@  rm  rn  ro  rp  rr  r5   r   rs  rt  ru  rv  rw  rf  r[   rx  ry  s               r    rc  z
Caches.get>  s    77O   :


Ol &))&1	""#349


Ol &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''t\<PH&mmBHMM1JM  0?m 0>m&&55'A'A'C 6 L 	%%l3r#   c                V   t        j                  ||      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||      }	|	j                   sd	nt#        j$                  |	j                         }
| j                  j                  rt'        |
      }
nt)        |
      }
t         j*                  j-                  |
|j/                         
      }t        j0                  |	j2                        |_        | j                  j7                  |       |S )zDeletes cached content.

    Usage:

    .. code-block:: python

      client.caches.delete(name= ... ) // The server-generated resource name.
    r|  r   r}  r   r[  r   Ndeleter]  r^  headers)r   _DeleteCachedContentParametersra  rb  r(  rc  rd  r   r   re  r   rf  r	   rg  rh  ri  rj  rk  rl  rS  rF  DeleteCachedContentResponsern  ro  HttpResponser  rE  rp  r  s               r    r  zCaches.delete  s    ::O   =


Ol &))&1	""#34<


Ol &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''$lH 'mmBHMM1JM  >}Mm >mLm44CC'A'A'C D L &+%7%7  &L" 	%%l3r#   c                   t        j                  ||      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||      }	|	j                   sd	nt#        j$                  |	j                         }
| j                  j                  rt'        |
      }
nt)        |
      }
t         j*                  j-                  |
|j/                         
      }| j                  j1                  |       |S )zUpdates cached content configurations.

    .. code-block:: python

      response = client.caches.update(
          name= ... // The server-generated resource name.
          config={
              'ttl': '7600s',
          },
      )
    r|  r   r}  r   r[  r   Npatchr]  r^  )r   _UpdateCachedContentParametersra  rb  r,  rc  rd  r   r   re  r   rf  r	   rg  rh  ri  rj  rk  rl  rQ  r@  rm  rn  ro  rp  r  s               r    updatezCaches.update  s   $ ::O   =


Ol &))&1	""#34<


Ol &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''|\H 'mmBHMM1JM  0?m 0>m&&55'A'A'C 6 L 	%%l3r#   c                (   t        j                  |      }| j                  j                  r3t	        |      }|j                  d      }|rdj                  |      }n5d}n2t        |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||      }|j                   sd	nt#        j$                  |j                         }	| j                  j                  rt'        |	      }	nt)        |	      }	t         j*                  j-                  |	|j/                         
      }
t        j0                  |j2                        |
_        | j                  j7                  |
       |
S )zLists cached content configurations.

    .. code-block:: python

      cached_contents = client.caches.list(config={'page_size': 2})
      for cached_content in cached_contents:
        print(cached_content)
    rX  r   rL  r   r[  r   Nrc  r]  r^  r  )r   _ListCachedContentsParametersra  rb  r0  rc  rd  r   r   re  r   rf  r	   rg  rh  ri  rj  rk  rl  rU  rN  ListCachedContentsResponsern  ro  r  r  rE  rp  rr  r   rs  rt  ru  rv  rw  rf  r[   rx  ry  s              r    _listzCaches._list   s    99O   <_Ml%))&1	**+;<;OLl%))&1	**+;<##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''t\<PH&mmBHMM1JM  =mLm =]Km33BB'A'A'C C L &+%7%7  &L" 	%%l3r#   c                R    t        d| j                  | j                  |      |      S NrM  rX  )r   r  rr  r   s     r    listzCaches.listc  s,     



&
!	 r#   )__name__
__module____qualname__strr   r   CreateCachedContentConfigOrDictrm  rz  GetCachedContentConfigOrDictrc  DeleteCachedContentConfigOrDictr  r  UpdateCachedContentConfigOrDictr  ListCachedContentsConfigOrDictr  r  r   r  rz   r#   r    rW  rW    sd    AE	R R u<<=	R
 Rp >B	E E u99:	E
 EV AE	K K u<<=	K
 ((Kb AE	L L u<<=	L
 L^ IMA D DEA''AH IM D DEU  !r#   rW  c                      e Zd Zdddedeej                     dej                  fdZdddedeej                     dej                  fdZ
dddedeej                     dej                  fd	Zdddedeej                     dej                  fd
Zdddeej                      dej"                  fdZdddeej                      deej                     fdZy)AsyncCachesNrX  r   r   r   c                (  K   t        j                  ||      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||       d{   }	|	j                   sd	nt#        j$                  |	j                         }
| j                  j                  rt'        |
      }
nt)        |
      }
t         j*                  j-                  |
|j/                         
      }| j                  j1                  |       |S 7 w)a  Creates a cached contents resource.

    Usage:

    .. code-block:: python

      contents = ... // Initialize the content to cache.
      response = await client.aio.caches.create(
          model= ... // The publisher model id
          contents=contents,
          config={
              'display_name': 'test cache',
              'system_instruction': 'What is the sum of the two pdfs?',
              'ttl': '86400s',
          },
      )
    rZ  r   rL  r   r[  r   Nr\  r]  r^  )r   r`  ra  rb  r$  rc  rd  r   r   re  r   rf  r	   rg  rh  async_requestrj  rk  rl  rQ  r@  rm  rn  ro  rp  rq  s               r    rz  zAsyncCaches.createp  s    0 ::O   =


Ol &))&1	**+;<<


Ol &))&1	**+;<##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33lL H 'mmBHMM1JM  0?m 0>m&&55'A'A'C 6 L 	%%l3#   E#H%H&B+Hr5   c                (  K   t        j                  ||      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||       d{   }	|	j                   sd	nt#        j$                  |	j                         }
| j                  j                  rt'        |
      }
nt)        |
      }
t         j*                  j-                  |
|j/                         
      }| j                  j1                  |       |S 7 w)zGets cached content configurations.

    .. code-block:: python

      await client.aio.caches.get(name= ... ) // The server-generated resource
      name.
    r|  r   r}  r   r[  r   Nrc  r]  r^  )r   r~  ra  rb  r&  rc  rd  r   r   re  r   rf  r	   rg  rh  r  rj  rk  rl  rQ  r@  rm  rn  ro  rp  r  s               r    rc  zAsyncCaches.get  s     77O   :


Ol &))&1	""#349


Ol &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33t\< H 'mmBHMM1JM  0?m 0>m&&55'A'A'C 6 L 	%%l3#r  c                r  K   t        j                  ||      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||       d{   }	|	j                   sd	nt#        j$                  |	j                         }
| j                  j                  rt'        |
      }
nt)        |
      }
t         j*                  j-                  |
|j/                         
      }t        j0                  |	j2                        |_        | j                  j7                  |       |S 7 ϭw)zDeletes cached content.

    Usage:

    .. code-block:: python

      await client.aio.caches.delete(name= ... ) // The server-generated
      resource name.
    r|  r   r}  r   r[  r   Nr  r]  r^  r  )r   r  ra  rb  r(  rc  rd  r   r   re  r   rf  r	   rg  rh  r  rj  rk  rl  rS  rF  r  rn  ro  r  r  rE  rp  r  s               r    r  zAsyncCaches.delete  s      ::O   =


Ol &))&1	""#34<


Ol &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33$l H 'mmBHMM1JM  >}Mm >mLm44CC'A'A'C D L &+%7%7  &L" 	%%l3's   E#H7%H5&CH7c                (  K   t        j                  ||      }| j                  j                  r>t	        | j                  |      }|j                  d      }|rdj                  |      }n@d}n=t        | j                  |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||       d{   }	|	j                   sd	nt#        j$                  |	j                         }
| j                  j                  rt'        |
      }
nt)        |
      }
t         j*                  j-                  |
|j/                         
      }| j                  j1                  |       |S 7 w)zUpdates cached content configurations.

    .. code-block:: python

      response = await client.aio.caches.update(
          name= ... // The server-generated resource name.
          config={
              'ttl': '7600s',
          },
      )
    r|  r   r}  r   r[  r   Nr  r]  r^  )r   r  ra  rb  r,  rc  rd  r   r   re  r   rf  r	   rg  rh  r  rj  rk  rl  rQ  r@  rm  rn  ro  rp  r  s               r    r  zAsyncCaches.update\  s    $ ::O   =


Ol &))&1	""#34<


Ol &))&1	""#34##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33|\ H 'mmBHMM1JM  0?m 0>m&&55'A'A'C 6 L 	%%l3#r  c                D  K   t        j                  |      }| j                  j                  r3t	        |      }|j                  d      }|rdj                  |      }n5d}n2t        |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd       d}|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||       d{   }|j                   sd	nt#        j$                  |j                         }	| j                  j                  rt'        |	      }	nt)        |	      }	t         j*                  j-                  |	|j/                         
      }
t        j0                  |j2                        |
_        | j                  j7                  |
       |
S 7 ϭw)zLists cached content configurations.

    .. code-block:: python

      cached_contents = await client.aio.caches.list(config={'page_size': 2})
      async for cached_content in cached_contents:
        print(cached_content)
    rX  r   rL  r   r[  r   Nrc  r]  r^  r  )r   r  ra  rb  r0  rc  rd  r   r   re  r   rf  r	   rg  rh  r  rj  rk  rl  rU  rN  r  rn  ro  r  r  rE  rp  r  s              r    r  zAsyncCaches._list  s     99O   <_Ml%))&1	**+;<;OLl%))&1	**+;<##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33t\< H 'mmBHMM1JM  =mLm =]Km33BB'A'A'C C L &+%7%7  &L" 	%%l3's   EH HCH c                n   K   t        d| j                  | j                  |       d {   |      S 7 	wr  )r   r  r  s     r    r  zAsyncCaches.list  s8      

jjj''	  	(s   '53
5)r  r  r  r  r   r   r  rm  rz  r  rc  r  r  r  r  r  r  r  r  r   r  rz   r#   r    r  r  n  sd    AE	R R u<<=	R
 Rp >B	H H u99:	H
 H\ AE	L L u<<=	L
 ((Ld AE	L L u<<=	L
 L^ IMC D DEC''CL IM D DE%%%&r#   r  ry   )^rk  loggingtypingr   r   r   urllib.parser   r]  r   r	   r
   r   r   ra  r   r   r   r   r   pagersr   r   	getLoggerloggerdictr  objectr!   r,   r0   r6   rL   rS   r^   re   rk   rq   rw   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.  r0  r7  r@  rF  rN  rQ  rS  rU  
BaseModulerW  r  rz   r#   r    <module>r     s  $   ' ' "      & . . % 
		0	1
 /3tCH~v-.DcN+ 
#s(^& /3tCH~v-.DcN+ 
#s(^& /3tCH~v-.DcN+ 
#s(^& /3tCH~v-.DcN+ 
#s(^& /3AtCH~v-.ADcN+A 
#s(^AL /3tCH~v-.DcN+ 
#s(^. /3"tCH~v-."DcN+" 
#s(^"N /3tCH~v-.DcN+ 
#s(^  /3tCH~v-.DcN+ 
#s(^, /3tCH~v-.DcN+ 
#s(^( /3tCH~v-.DcN+ 
#s(^& /3tCH~v-.DcN+ 
#s(^ /3tCH~v-.DcN+ 
#s(^ /3=tCH~v-.=DcN+= 
#s(^=D /3tCH~v-.DcN+ 
#s(^( /3tCH~v-.DcN+ 
#s(^  /3tCH~v-.DcN+ 
#s(^( /3tCH~v-.DcN+ 
#s(^8 /36tCH~v-.6DcN+6 
#s(^6x /3tCH~v-. DcN+ 
#s(^	8 /3tCH~v-. DcN+ 
#s(^	, /3tCH~v-. DcN+ 
#s(^	* /3tCH~v-.DcN+ 
#s(^$ /3tCH~v-. DcN+ 
#s(^	6 /3tCH~v-.DcN+ 
#s(^. /3tCH~v-.DcN+ 
#s(^& /3tCH~v-.DcN+ 
#s(^& /3tCH~v-.DcN+ 
#s(^& /3tCH~v-.DcN+ 
#s(^& /3tCH~v-.DcN+ 
#s(^& /3CtCH~v-.CDcN+C 
#s(^CP /3tCH~v-.DcN+ 
#s(^. /3"tCH~v-."DcN+" 
#s(^"N /3tCH~v-.DcN+ 
#s(^  /3tCH~v-.DcN+ 
#s(^, /3tCH~v-.DcN+ 
#s(^( /3tCH~v-.DcN+ 
#s(^& /3tCH~v-.DcN+ 
#s(^ /3tCH~v-.DcN+ 
#s(^ /3%tCH~v-.%DcN+% 
#s(^%T /3tCH~v-.DcN+ 
#s(^" /3tCH~v-.DcN+ 
#s(^ /3tCH~v-.DcN+ 
#s(^ /3GtCH~v-.GDcN+G 
#s(^GX /3tCH~v-.DcN+ 
#s(^( /3tCH~v-.DcN+ 
#s(^  /3tCH~v-.DcN+ 
#s(^( /3tCH~v-.DcN+ 
#s(^8 /3:tCH~v-.:DcN+: 
#s(^:@ /3tCH~v-. DcN+ 
#s(^	8 /3tCH~v-. DcN+ 
#s(^	, /3tCH~v-. DcN+ 
#s(^	* /3tCH~v-.DcN+ 
#s(^$ /3tCH~v-. DcN+ 
#s(^	6 /3tCH~v-.DcN+ 
#s(^. /3tCH~v-.DcN+ 
#s(^"P# P$ P /3tCH~v-.DcN+ 
#s(^> /3
tCH~v-.
DcN+
 
#s(^
 /3tCH~v-.DcN+ 
#s(^8 /3tCH~v-.DcN+ 
#s(^> /3
tCH~v-.
DcN+
 
#s(^
 /3tCH~v-.DcN+ 
#s(^4C[## CLI+(( Ir#   