
    ci7Z             	          d dl Z d dlZd dlZd dlZd dlZd dlmZmZ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mZ d	d
lmZ d	dlmZ ej4                  rd	dlmZ eZ ej<                  d      ZejA                  ejB                         	 d%de	e"e#ef   e$f   dee"e#ef      de"e#ef   fdZ%	 d%de	e"e#ef   e$f   dee"e#ef      de"e#ef   fdZ&	 d%de	e"e#ef   e$f   dee"e#ef      de"e#ef   fdZ'	 d%de	e"e#ef   e$f   dee"e#ef      de"e#ef   fdZ(	 d%de	e"e#ef   e$f   dee"e#ef      de"e#ef   fdZ)	 d%de	e"e#ef   e$f   dee"e#ef      de"e#ef   fdZ*	 d%de	e"e#ef   e$f   dee"e#ef      de"e#ef   fdZ+	 d%de	e"e#ef   e$f   dee"e#ef      de"e#ef   fdZ,	 d%de	e"e#ef   e$f   dee"e#ef      de"e#ef   fdZ-	 d%de	e"e#ef   e$f   dee"e#ef      de"e#ef   fdZ.	 d%de	e"e#ef   e$f   dee"e#ef      de"e#ef   fdZ/	 d%de	e"e#ef   e$f   dee"e#ef      de"e#ef   fdZ0	 d%de	e"e#ef   e$f   dee"e#ef      de"e#ef   fdZ1	 d%de	e"e#ef   e$f   dee"e#ef      de"e#ef   fdZ2	 d%de	e"e#ef   e$f   dee"e#ef      de"e#ef   fdZ3	 d%de	e"e#ef   e$f   dee"e#ef      de"e#ef   fd Z4 G d! d"ejj                        Z6 G d# d$ejj                        Z7y)&    N)AnyIteratorListOptionalUnion)	urlencode)_api_module)_common)get_value_by_path)set_value_by_path)
AsyncPagerPager   )_agent_engines_utils)types)memory_revisionszvertexai_genai.memories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             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      D cg c]  }| c}       t        | dg      t        |dgt        | dg             |S c c}w )Ndisplay_namedisplayNamedescriptionttlexpire_time
expireTimerevision_expire_timerevisionExpireTimerevision_ttlrevisionTtldisable_memory_revisionsdisableMemoryRevisionstopicsmetadatagetvsetvr   r   	to_objectitems       ?/tmp/pip-target-z3e9_cxr/lib/python/vertexai/_genai/memories.py"_AgentEngineMemoryConfig_to_vertexr,   .   s    !#IK.)*6]]OT+?O-PQK-)5]]OT+-OPK%!-]UGT+w%?@K-)5]\ND}o,NOK012>!"567	
 K.)*6]]OT+?O-PQK456B%&9:;	
 K($0H:kH:9V'W'W	
 K*&2]ZL${ZL*IJ (Xs   1	E)c           
      P   i }t        | dg      t        |d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        t        | dg      |             |S Nname_urlfactscopeconfig)r&   r'   r,   r   r   r)   s      r+   3_CreateAgentEngineMemoryRequestParameters_to_vertexr5   \   s     !#IK&".Y(${VH*EFK&".Y${VH"=>K'#/Y	4gY#?@K($0J.[8*-y	
     c                     i }t        | dg      t        |ddgt        | dg             t        | dg      t        |dgt        | dg             |S Nr/   r0   r3   r%   r4   s      r+   3_DeleteAgentEngineMemoryRequestParameters_to_vertexr9   v   ^     !#IK&".Y(${VH*EFK($0Y
Dxj$ABr6   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disable_consolidationdisableConsolidationrevision_labelsrevisionLabelsr   r   r   r    r!   r"   r$   metadata_merge_strategymetadataMergeStrategyr%   r4   s      r+   ,_GenerateAgentEngineMemoriesConfig_to_vertexrB      sQ    !#IK123?#$678	
 K+,-9]-.[CTBU0VWK012>!"567	
 K.)*6]]OT+?O-PQK456B%&9:;	
 K*&2]ZL${ZL*IJK345A$%89:	
 r6   c           
         i }t        | dg      t        |d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        t        | d
g      |             |S )Nr/   r0   vertex_session_sourcevertexSessionSourcedirect_contents_sourcedirectContentsSourcedirect_memories_sourcedirectMemoriesSourcer2   r3   )r&   r'   rB   r4   s      r+   7_GenerateAgentEngineMemoriesRequestParameters_to_vertexrJ      s+    !#IK&".Y(${VH*EFK123?"#678	
 K234@#$789	
 K234@#$789	
 K'#/Y	4gY#?@K($0J8[8*-y	
 r6   c                     i }t        | dg      t        |ddgt        | dg             t        | dg      t        |dgt        | dg             |S Noperation_namer0   operationNamer3   r%   r4   s      r+   <_GetAgentEngineGenerateMemoriesOperationParameters_to_vertexrO      g     !#IK*+,80${EUDV2W	
 K($0Y
Dxj$ABr6   c                     i }t        | dg      t        |ddgt        | dg             t        | dg      t        |dgt        | dg             |S rL   r%   r4   s      r+   2_GetAgentEngineMemoryOperationParameters_to_vertexrR      rP   r6   c                     i }t        | dg      t        |ddgt        | dg             t        | dg      t        |dgt        | dg             |S r8   r%   r4   s      r+   0_GetAgentEngineMemoryRequestParameters_to_vertexrT      r:   r6   c                 B   i }t        | dg      t        |ddgt        | dg             t        | dg      t        |ddgt        | dg             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	pageTokenfilterorder_byorderByr%   r4   s      r+   &_ListAgentEngineMemoryConfig_to_vertexr^     s     !#IK+'3]Xz2D{m4TUK,(4]X{3T+~5VWK($0]Xx0${XJ2OPK*&2]Xy14j\3RSr6   c           
          i }t        | dg      t        |ddgt        | dg             t        | dg      #t        |dgt        t        | dg      |             |S r8   )r&   r'   r^   r4   s      r+   1_ListAgentEngineMemoryRequestParameters_to_vertexr`   !  so     !#IK&".Y(${VH*EFK($0J2[8*-y	
 r6   c                    i }t        | dg      t        |ddgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      't        |dgt        | dg      D cg c]  }| c}       t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S c c}w )Nr/   r0   r[   filter_groupsfilterGroupsforcer3   r%   r(   s       r+   4_PurgeAgentEngineMemoriesRequestParameters_to_vertexre   5  s     !#IK&".Y(${VH*EFK($0Y
Dxj$ABK/*+7";0ABCdTC	
 K'#/Y	4gY#?@K($0Y
Dxj$AB Ds   4	Cc                     i }t        | dg      t        |dgt        | dg             t        | dg      't        |dgt        | dg      D cg c]  }| c}       |S c c}w )Nr[   rb   rc   r%   r(   s       r+   ,_RetrieveAgentEngineMemoriesConfig_to_vertexrg   P  sv     !#IK($0]XJ[8*(EFK/*+7";0ABCdTC	
  Ds   	Ac           
         i }t        | dg      t        |d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        t        | dg      |             |S )	Nr/   r0   r2   similarity_search_paramssimilaritySearchParamssimple_retrieval_paramssimpleRetrievalParamsr3   )r&   r'   rg   r4   s      r+   7_RetrieveAgentEngineMemoriesRequestParameters_to_vertexrm   c  s     !#IK&".Y(${VH*EFK'#/Y	4gY#?@K456B%&9:;	
 K345A$%89:	
 K($0J8[8*-y	
 r6   c                     i }t        | dg      t        |d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/   r0   target_revision_idtargetRevisionIdr3   r%   r4   s      r+   5_RollbackAgentEngineMemoryRequestParameters_to_vertexrq     s     !#IK&".Y(${VH*EFK./0<Y+,d;AU@V.WXK($0Y
Dxj$ABr6   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             t        | dg      't        |dgt        | dg      D cg c]  }| c}       t        | dg      t        |dgt        | dg             t        | dg      t        |ddgt        | dg             |S c c}w )Nr   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   update_maskrW   
updateMaskr%   r(   s       r+   (_UpdateAgentEngineMemoryConfig_to_vertexru     s    !#IK.)*6]]OT+?O-PQK-)5]]OT+-OPK%!-]UGT+w%?@K-)5]\ND}o,NOK012>!"567	
 K.)*6]]OT+?O-PQK456B%&9:;	
 K($0H:kH:9V'W'W	
 K*&2]ZL${ZL*IJK-)5Hl3T+5W	
  (Xs   1	Fc           
      P   i }t        | dg      t        |d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        t        | dg      |             |S r.   )r&   r'   ru   r4   s      r+   3_UpdateAgentEngineMemoryRequestParameters_to_vertexrw     s     !#IK&".Y(${VH*EFK&".Y${VH"=>K'#/Y	4gY#?@K($0J4[8*-y	
 r6   c                   B   e Zd Zdddededeeef   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ddd
dedeej                     deej                     deej                     deeeef      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j2                     dej                  fdZdddedeej2                     dej"                  fdZdddddedeeef   deej8                     deej:                     deej<                     dej>                  fdZ dddededeejB                     dejD                  fdZ#dddddedee   deeeef      deejH                     dej                  f
dZ%ddddddedee   dee&ejN                        dee(   deejR                     dejT                  fd Z+dZ,e-d)d!       Z.dddededeeef   deej                     dej                  f
d"Z/dddddd
dedeej                     deej                     deej                     deeeef      deej                      dej"                  fd#Z0dddedeej,                     de1ej(                     fd$Z&dddddedeeef   deej8                     deej:                     deej<                     de1ejd                     fd%Z3dddededeejB                     dejD                  fd&Z4ddd'dddedee   dee5ejl                        de(deejR                     dejT                  fd(Z7y)*MemoriesNr3   r/   r1   r2   r3   r   c                :   t        j                  ||||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |j                         }t         j&                  j)                  ||j+                         
      }| j                  j-                  |       |S z;
        Creates a new memory in the Agent Engine.
        r/   r1   r2   r3   6This method is only supported in the Vertex AI client.r0   {name}/memoriesrW   ?r3   Npostresponsekwargs)r   )_CreateAgentEngineMemoryRequestParameters_api_clientvertexai
ValueErrorr5   get
format_mapr   popr3   http_optionsr
   convert_to_dictencode_unserializable_typesrequestbodyjsonloadsAgentEngineMemoryOperation_from_response
model_dump_verify_responseselfr/   r1   r2   r3   parameter_modelrequest_dictrequest_url_dictpathquery_paramsr   r   response_dictreturn_values                 r+   _createzMemories._create  s     II	
 ((UVVNL  ,//7(334DE(#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H##++FD,U"*--TZZ5N77FF"?+E+E+G G 
 	)),7r6   c                6   t        j                  ||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |	j                         }
t         j&                  j)                  |
|j+                         
      }| j                  j-                  |       |S a  
        Delete an Agent Engine memory.

        Args:
            name (str):
                Required. The name of the Agent Engine memory to be deleted. Format:
                `projects/{project}/locations/{location}/reasoningEngines/{resource_id}/memories/{memory}`.
            config (DeleteAgentEngineMemoryConfig):
                Optional. Additional configurations for deleting the Agent Engine.

        r/   r3   r~   r0   {name}rW   r   r3   Ndeleter   )r   )_DeleteAgentEngineMemoryRequestParametersr   r   r   r9   r   r   r   r   r3   r   r
   r   r   r   r   r   r    DeleteAgentEngineMemoryOperationr   r   r   r   r/   r3   r   r   r   r   r   r   r   r   r   s               r+   r   zMemories.delete#  sy   $  II
 ((UVVNL  ,//7**+;<#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H##++HdL,W"*--TZZ5N==LL"?+E+E+G M 
 	)),7r6   rD   rF   rH   r2   r3   rD   rF   rH   c                >   t        j                  ||||||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |j                         }t         j&                  j)                  ||j+                         
      }| j                  j-                  |       |S z9
        Generates memories for an Agent Engine.
        r/   rD   rF   rH   r2   r3   r~   r0   z{name}/memories:generaterW   r   r3   Nr   r   )r   -_GenerateAgentEngineMemoriesRequestParametersr   r   r   rJ   r   r   r   r   r3   r   r
   r   r   r   r   r   r   $AgentEngineGenerateMemoriesOperationr   r   r   r   r/   rD   rF   rH   r2   r3   r   r   r   r   r   r   r   r   r   s                   r+   	_generatezMemories._generateb  s   (  MM"7#9#9
 ((UVVRL  ,//71<<=MN1#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H##++FD,U"*--TZZ5NAAPP"?+E+E+G Q 
 	)),7r6   c                6   t        j                  ||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |	j                         }
t         j&                  j)                  |
|j+                         
      }| j                  j-                  |       |S a2  
        Gets an agent engine memory.

        Args:
            name (str): Required. A fully-qualified resource name or ID such as
              "projects/123/locations/us-central1/reasoningEngines/456/memories/789"
              or a shortened name such as "reasoningEngines/456/memories/789".

        r   r~   r0   r   rW   r   r3   Nr   r   )r   &_GetAgentEngineMemoryRequestParametersr   r   r   rT   r   r   r   r   r3   r   r
   r   r   r   r   r   r   Memoryr   r   r   r   s               r+   r   zMemories.get  sv      FF
 ((UVVKL  ,//7**+;<#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H##++E4|T"*--TZZ5N||22"?+E+E+G 3 
 	)),7r6   c                6   t        j                  ||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |	j                         }
t         j&                  j)                  |
|j+                         
      }| j                  j-                  |       |S z.
        Lists Agent Engine memories.
        r   r~   r0   r   rW   r   r3   Nr   r   )r   '_ListAgentEngineMemoryRequestParametersr   r   r   r`   r   r   r   r   r3   r   r
   r   r   r   r   r   r   $ListReasoningEnginesMemoriesResponser   r   r   r   s               r+   _listzMemories._list  sy     GG
 ((UVVLL  ,//7(334DE(#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H##++E4|T"*--TZZ5NAAPP"?+E+E+G Q 
 	)),7r6   rM   c                6   t        j                  ||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |	j                         }
t         j&                  j)                  |
|j+                         	      }| j                  j-                  |       |S 
N)rM   r3   r~   r0   z{operationName}rW   r   r3   r   r   )r   (_GetAgentEngineMemoryOperationParametersr   r   r   rR   r   r   r   r   r3   r   r
   r   r   r   r   r   r   r   r   r   r   r   rM   r3   r   r   r   r   r   r   r   r   r   s               r+   _get_memory_operationzMemories._get_memory_operation  sy     HH)
 ((UVVML  ,//7(334DE(#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H##++E4|T"*--TZZ5N77FF"?+E+E+G G 
 	)),7r6   c                6   t        j                  ||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |	j                         }
t         j&                  j)                  |
|j+                         	      }| j                  j-                  |       |S r   )r   2_GetAgentEngineGenerateMemoriesOperationParametersr   r   r   rO   r   r   r   r   r3   r   r
   r   r   r   r   r   r   r   r   r   r   r   s               r+    _get_generate_memories_operationz)Memories._get_generate_memories_operationN  sy     RR)
 ((UVVWL  ,//7(334DE(#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H##++E4|T"*--TZZ5NAAPP"?+E+E+G Q 
 	)),7r6   ri   rk   r3   ri   rk   c                <   t        j                  |||||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |j                         }t         j&                  j)                  ||j+                         
      }| j                  j-                  |       |S z9
        Retrieves memories for an Agent Engine.
        )r/   r2   ri   rk   r3   r~   r0   z{name}/memories:retrieverW   r   r3   Nr   r   )r   -_RetrieveAgentEngineMemoriesRequestParametersr   r   r   rm   r   r   r   r   r3   r   r
   r   r   r   r   r   r   RetrieveMemoriesResponser   r   r   r   r/   r2   ri   rk   r3   r   r   r   r   r   r   r   r   r   s                  r+   	_retrievezMemories._retrieve  s   "  MM%=$;
 ((UVVRL  ,//71<<=MN1#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H##++FD,U"*--TZZ5N55DD"?+E+E+G E 
 	)),7r6   ro   c                8   t        j                  |||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |
j                         }t         j&                  j)                  ||j+                         
      }| j                  j-                  |       |S z;
        Rollback a memory to a previous revision.
        r/   ro   r3   r~   r0   z{name}:rollbackrW   r   r3   Nr   r   )r   +_RollbackAgentEngineMemoryRequestParametersr   r   r   rq   r   r   r   r   r3   r   r
   r   r   r   r   r   r   "AgentEngineRollbackMemoryOperationr   r   r   r   r/   ro   r3   r   r   r   r   r   r   r   r   r   s                r+   	_rollbackzMemories._rollback  s|     KK1
 ((UVVPL  ,//7(334DE(#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H##++FD,U"*--TZZ5N??NN"?+E+E+G O 
 	)),7r6   r1   r2   r3   c                :   t        j                  ||||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |j                         }t         j&                  j)                  ||j+                         
      }| j                  j-                  |       |S z1
        Updates an Agent Engine memory.
        r}   r~   r0   r   rW   r   r3   Npatchr   )r   )_UpdateAgentEngineMemoryRequestParametersr   r   r   rw   r   r   r   r   r3   r   r
   r   r   r   r   r   r   r   r   r   r   r   s                 r+   _updatezMemories._update  s     II	
 ((UVVNL  ,//7**+;<#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H##++GT<V"*--TZZ5N77FF"?+E+E+G G 
 	)),7r6   r[   rb   rd   r3   r[   rb   rd   c                <   t        j                  |||||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |j                         }t         j&                  j)                  ||j+                         
      }| j                  j-                  |       |S z7
        Purges memories from an Agent Engine.
        r/   r[   rb   rd   r3   r~   r0   z{name}/memories:purgerW   r   r3   Nr   r   )r   *_PurgeAgentEngineMemoriesRequestParametersr   r   r   re   r   r   r   r   r3   r   r
   r   r   r   r   r   r   !AgentEnginePurgeMemoriesOperationr   r   r   r   r/   r[   rb   rd   r3   r   r   r   r   r   r   r   r   r   s                  r+   _purgezMemories._purge6  s     JJ'
 ((UVVOL  ,//7.99:JK.#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H##++FD,U"*--TZZ5N>>MM"?+E+E+G N 
 	)),7r6   c                     | j                    	 t        j                  dt              | _         | j                   j                  | j                        S # t        $ r}t	        d      |d }~ww xY wNz.memory_revisionszThe 'agent_engines.memories.revisions' module requires additional packages. Please install them using pip install google-cloud-aiplatform[agent_engines])
_revisions	importlibimport_module__package__ImportErrorMemoryRevisionsr   r   es     r+   	revisionszMemories.revisionsu  sp    ??" #,"9"9'# ..t/?/?@@  != 	   A 	A,A''A,c                   |t        j                         }n/t        |t              rt         j                  j	                  |      }| j                  ||||      }|j                  r|j                  s,t        j                  |j                  | j                  d      }|j                  r-| j                  |j                  j                        |_        |S |j                  rt        d|j                         t        d      |S )5  Creates a new memory in the Agent Engine.

        Args:
            name (str):
                Required. The name of the memory to create.
            fact (str):
                Required. The fact to be stored in the memory.
            scope (dict[str, str]):
                Required. The scope of the memory. For example, {"user_id": "123"}.
            config (AgentEngineMemoryConfigOrDict):
                Optional. The configuration for the memory.

        Returns:
            AgentEngineMemoryOperation: The operation for creating the memory.
        r}         ?rM   get_operation_fnpoll_interval_secondsr/   Failed to create memory: Error creating memory.)r   AgentEngineMemoryConfig
isinstancedictmodel_validater   wait_for_completiondoner   _await_operationr/   r   r   r   errorRuntimeErrorr   r/   r1   r2   r3   	operations         r+   createzMemories.create  s    . >224F%22AA&IFLL	 ! 
	 %%>>0AA#,>>%)%?%?*-	 !!%)XX93E3E3J3JX%K	"
 	 "%>y>O#PQQ"#;<<r6   c                   |t        j                         }n/t        |t              rt         j                  j	                  |      }| j                  ||||||      }|j                  r\|j                  sPt        j                  |j                  | j                  d      }|j                  rt        d|j                         |S )  Generates memories for the agent engine.

        Args:
            name (str):
                Required. The name of the agent engine to generate memories for.
            vertex_session_source (GenerateMemoriesRequestVertexSessionSource):
                Optional. The vertex session source to use for generating
                memories. Only one of vertex_session_source,
                direct_contents_source, or direct_memories_source can be
                specified.
            direct_contents_source(GenerateMemoriesRequestDirectContentsSource):
                Optional. The direct contents source to use for generating
                memories. Only one of vertex_session_source, direct_contents_source,
                or direct_memories_source can be specified.
            direct_memories_source (GenerateMemoriesRequestDirectMemoriesSource):
                Optional. The direct memories source to use for generating
                memories. Only one of vertex_session_source, direct_contents_source,
                or direct_memories_source can be specified.
            scope (dict[str, str]):
                Optional. The scope of the memories to generate. This is optional
                if vertex_session_source is used, otherwise it must be specified.
            config (GenerateMemoriesConfig):
                Optional. The configuration for the memories to generate.

        Returns:
            AgentEngineGenerateMemoriesOperation:
                The operation for generating the memories.
        r   r   r   Failed to generate memory: )r   !GenerateAgentEngineMemoriesConfigr   r   r   r   r   r   r   r   r/   r   r   r   r   r/   rD   rF   rH   r2   r3   r   s           r+   generatezMemories.generate  s    X ><<>F%<<KKFSFNN"7#9#9 # 
	 %%inn,==(~~!%!F!F&)I
 "%@@Q#RSSr6   c                ~    t        dt        j                  | j                  |      | j                  ||      |      S )aZ  Lists Agent Engine memories.

        Args:
            name (str):
                Required. The name of the agent engine to list memories for.
            config (ListAgentEngineMemoryConfig):
                Optional. The configuration for the memories to list.

        Returns:
            Iterable[Memory]: An iterable of memories.
        memoriesr   r   )r   	functoolspartialr   r   r/   r3   s      r+   listzMemories.list  s;    $ djjt4JJDJ0	
 	
r6   c                ^     t        d fd j                  |      |      S )a  Retrieves memories for the agent.

        Args:
            name (str):
                Required. The name of the agent engine to retrieve memories for.
            scope (dict[str, str]):
                Required. The scope of the memories to retrieve. For example,
                {"user_id": "123"}.
            similarity_search_params (RetrieveMemoriesRequestSimilaritySearchParams):
                Optional. The similarity search parameters to use for retrieving
                memories.
            simple_retrieval_params (RetrieveMemoriesRequestSimpleRetrievalParams):
                Optional. The simple retrieval parameters to use for retrieving
                memories.
            config (RetrieveAgentEngineMemoriesConfig):
                Optional. The configuration for the memories to retrieve.

        Returns:
            Iterator[RetrieveMemoriesResponseRetrievedMemory]: An iterable of
                retrieved memories.
        retrieved_memoriesc                 0    j                  |       S Nr/   ri   rk   r2   r3   r   r3   r/   r2   r   ri   rk   s    r+   <lambda>z#Memories.retrieve.<locals>.<lambda>7  $    4>>)A(? *  r6   r  )r   r   r   r/   r2   ri   rk   r3   s   ````` r+   retrievezMemories.retrieve  sB    D   NN)A(?   !
 	
r6   c                   |t        j                         }n/t        |t              rt         j                  j	                  |      }| j                  |||      }|j                  r\|j                  sPt        j                  |j                  | j                  d      }|j                  rt        d|j                         |S )  Rolls back a memory to a previous revision.

        Args:
            name (str):
                Required. The name of the memory to rollback.
            target_revision_id (str):
                Required. The revision ID to roll back to
            config (RollbackAgentEngineMemoryConfig):
                Optional. The configuration for the rollback.

        Returns:
            AgentEngineRollbackMemoryOperation:
                The operation for rolling back the memory.
        r   r   r   Failed to rollback memory: )r   RollbackAgentEngineMemoryConfigr   r   r   r   r   r   r   r   r/   r   r   r   r   r/   ro   r3   r   s        r+   rollbackzMemories.rollbackH  s    * >::<F%::II&QFNN1 # 
	
 %%inn,==(~~!%!;!;&)I
 "%@@Q#RSSr6   Fc                   |t        j                         }n/t        |t              rt         j                  j	                  |      }| j                  |||||      }|j                  r\|j                  sPt        j                  |j                  | j                  d      }|j                  rt        d|j                         |S )  Purges memories from an Agent Engine.

        Args:
            name (str):
                Required. The name of the Agent Engine to purge memories from.
            filter (str):
                Optional. The standard list filter to determine which memories to purge.
            filter_groups (list[MemoryConjunctionFilter]):
                Optional. Metadata filters that will be applied to the memories'
                `metadata` using OR logic. Filters are defined using disjunctive
                normal form (OR of ANDs).
            force (bool):
                Optional. Whether to force the purge operation. If false, the
                operation will be staged but not executed.
            config (PurgeAgentEngineMemoriesConfig):
                Optional. The configuration for the purge operation.

        Returns:
            AgentEnginePurgeMemoriesOperation:
                The operation for purging the memories.
        r   r   r   Failed to purge memories: )r   PurgeAgentEngineMemoriesConfigr   r   r   r   r   r   r   r   r/   r   r   r   r   r/   r[   rb   rd   r3   r   s          r+   purgezMemories.purgep  s    < >99;F%99HHPFKK'   
	 %%inn,==(~~!%!;!;&)I
 "%?	?P#QRRr6   )r   z'memory_revisions_module.MemoryRevisions)8__name__
__module____qualname__strr   r   r   AgentEngineMemoryConfigOrDictr   r   #DeleteAgentEngineMemoryConfigOrDictr   r   0GenerateMemoriesRequestVertexSessionSourceOrDict1GenerateMemoriesRequestDirectContentsSourceOrDict1GenerateMemoriesRequestDirectMemoriesSourceOrDict'GenerateAgentEngineMemoriesConfigOrDictr   r    GetAgentEngineMemoryConfigOrDictr   r   !ListAgentEngineMemoryConfigOrDictr   r   #GetAgentEngineOperationConfigOrDictr   r   3RetrieveMemoriesRequestSimilaritySearchParamsOrDict2RetrieveMemoriesRequestSimpleRetrievalParamsOrDict'RetrieveAgentEngineMemoriesConfigOrDictr   r   %RollbackAgentEngineMemoryConfigOrDictr   r   #UpdateAgentEngineMemoryConfigOrDictr   r
  MemoryConjunctionFilterOrDictbool$PurgeAgentEngineMemoriesConfigOrDictr   r   r   propertyr   r   r  r   'RetrieveMemoriesResponseRetrievedMemoryr  r  r   MemoryConjunctionFilterr!   r6   r+   ry   ry     s    AE9 9 	9
 CH~9 <<=9 
	)	)9~ GK	= = BBC	=
 
	/	/=J   *.JNC C  (BB 
	C !)CC!
C !)CC!
C S#X'C FFGC 
	3	3CR DH	; ; ??@	;
 
;B EI	5 5 @@A	5
 
	3	35v GK	1 1 BBC	1
 
	)	)1n GK	1 1 BBC	1
 
	3	31t  JN? ? CH~	?
 #+EE#
? "*DD"
? FFG? 
	'	'?L IM7 7  	7
 DDE7 
	1	17z #*.FJ9 9 sm	9
 S#X'9 BBC9 
	)	)9~ !%MQ $GK; ; 	;
  U%H%H IJ; ~; CCD; 
	0	0;z JA A, AE0 0 	0
 CH~0 <<=0 
	)	)0p   *.JN@ @  (BB 
	@ !)CC!
@ !)CC!
@ S#X'@ FFG@ 
	3	3@L EI	
 
 @@A	

 
%,,	
@  JN3
 3
 CH~	3

 #+EE#
3
 "*DD"
3
 FFG3
 
%??	@3
t IM& &  	&
 DDE& 
	1	1&X !%GKGK1 1 	1
  U%B%B CD1 1 CCD1 
	0	01r6   ry   c                   B   e Zd Zdddededeeef   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ddd
dedeej                     deej                     deej                     deeeef      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j2                     dej                  fdZdddedeej2                     dej"                  fdZdddddedeeef   deej8                     deej:                     deej<                     dej>                  fdZ dddededeejB                     dejD                  fdZ#dddddedee   deeeef      deejH                     dej                  f
dZ%ddddddedee   dee&ejN                        dee(   deejR                     dejT                  fd Z+dZ,e-d)d!       Z.dddededeeef   deej                     dej                  f
d"Z/dddddd
dedeej                     deej                     deej                     deeeef      deej                      dej"                  fd#Z0dddedeej,                     de1ej(                     fd$Z&dddddedeeef   deej8                     deej:                     deej<                     de1ejd                     fd%Z3dddededeejB                     dejD                  fd&Z4ddd'dddedee   dee5ejl                        de(deejR                     dejT                  fd(Z7y)*AsyncMemoriesNrz   r/   r1   r2   r3   r   c                V  K   t        j                  ||||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |j                         }t         j&                  j)                  ||j+                         
      }| j                  j-                  |       |S 7 }wr|   )r   r   r   r   r   r5   r   r   r   r   r3   r   r
   r   r   async_requestr   r   r   r   r   r   r   r   s                 r+   r   zAsyncMemories._create  s      II	
 ((UVVNL  ,//7(334DE(#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H))77D,
 
 #+--TZZ5N77FF"?+E+E+G G 
 	)),7
   D'F))F'*A>F)c                R  K   t        j                  ||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |	j                         }
t         j&                  j)                  |
|j+                         
      }| j                  j-                  |       |S 7 }wr   )r   r   r   r   r   r9   r   r   r   r   r3   r   r
   r   r   r>  r   r   r   r   r   r   r   r   s               r+   r   zAsyncMemories.delete  s    $  II
 ((UVVNL  ,//7**+;<#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H))77dL,
 
 #+--TZZ5N==LL"?+E+E+G M 
 	)),7
   D%F''F%(A>F'r   rD   rF   rH   c                Z  K   t        j                  ||||||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |j                         }t         j&                  j)                  ||j+                         
      }| j                  j-                  |       |S 7 }wr   )r   r   r   r   r   rJ   r   r   r   r   r3   r   r
   r   r   r>  r   r   r   r   r   r   r   r   s                   r+   r   zAsyncMemories._generate$  s    (  MM"7#9#9
 ((UVVRL  ,//71<<=MN1#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H))77D,
 
 #+--TZZ5NAAPP"?+E+E+G Q 
 	)),7
s   D)F++F),A>F+c                R  K   t        j                  ||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |	j                         }
t         j&                  j)                  |
|j+                         
      }| j                  j-                  |       |S 7 }wr   )r   r   r   r   r   rT   r   r   r   r   r3   r   r
   r   r   r>  r   r   r   r   r   r   r   r   s               r+   r   zAsyncMemories.getk  s       FF
 ((UVVKL  ,//7**+;<#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H))774|
 
 #+--TZZ5N||22"?+E+E+G 3 
 	)),7
rA  c                R  K   t        j                  ||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |	j                         }
t         j&                  j)                  |
|j+                         
      }| j                  j-                  |       |S 7 }wr   )r   r   r   r   r   r`   r   r   r   r   r3   r   r
   r   r   r>  r   r   r   r   r   r   r   r   s               r+   r   zAsyncMemories._list  s      GG
 ((UVVLL  ,//7(334DE(#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H))774|
 
 #+--TZZ5NAAPP"?+E+E+G Q 
 	)),7
rA  rM   c                R  K   t        j                  ||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |	j                         }
t         j&                  j)                  |
|j+                         	      }| j                  j-                  |       |S 7 }wr   )r   r   r   r   r   rR   r   r   r   r   r3   r   r
   r   r   r>  r   r   r   r   r   r   r   r   s               r+   r   z#AsyncMemories._get_memory_operation  s      HH)
 ((UVVML  ,//7(334DE(#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H))774|
 
 #+--TZZ5N77FF"?+E+E+G G 
 	)),7
rA  c                R  K   t        j                  ||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |	j                         }
t         j&                  j)                  |
|j+                         	      }| j                  j-                  |       |S 7 }wr   )r   r   r   r   r   rO   r   r   r   r   r3   r   r
   r   r   r>  r   r   r   r   r   r   r   r   s               r+   r   z.AsyncMemories._get_generate_memories_operation  s      RR)
 ((UVVWL  ,//7(334DE(#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H))774|
 
 #+--TZZ5NAAPP"?+E+E+G Q 
 	)),7
rA  r   ri   rk   c                X  K   t        j                  |||||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |j                         }t         j&                  j)                  ||j+                         
      }| j                  j-                  |       |S 7 }wr   )r   r   r   r   r   rm   r   r   r   r   r3   r   r
   r   r   r>  r   r   r   r   r   r   r   r   s                  r+   r   zAsyncMemories._retrieveM  s    "  MM%=$;
 ((UVVRL  ,//71<<=MN1#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H))77D,
 
 #+--TZZ5N55DD"?+E+E+G E 
 	)),7
   D(F**F(+A>F*ro   c                T  K   t        j                  |||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |
j                         }t         j&                  j)                  ||j+                         
      }| j                  j-                  |       |S 7 }wr   )r   r   r   r   r   rq   r   r   r   r   r3   r   r
   r   r   r>  r   r   r   r   r   r   r   r   s                r+   r   zAsyncMemories._rollback  s      KK1
 ((UVVPL  ,//7(334DE(#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H))77D,
 
 #+--TZZ5N??NN"?+E+E+G O 
 	)),7
s   D&F((F&)A>F(r   c                V  K   t        j                  ||||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |j                         }t         j&                  j)                  ||j+                         
      }| j                  j-                  |       |S 7 }wr   )r   r   r   r   r   rw   r   r   r   r   r3   r   r
   r   r   r>  r   r   r   r   r   r   r   r   s                 r+   r   zAsyncMemories._update  s      II	
 ((UVVNL  ,//7**+;<#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H))77T<
 
 #+--TZZ5N77FF"?+E+E+G G 
 	)),7
r?  r   r[   rb   rd   c                X  K   t        j                  |||||      }| j                  j                  st	        d      t        |      }|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i nt#        j$                  |j                         }t         j&                  j)                  ||j+                         
      }| j                  j-                  |       |S 7 }wr   )r   r   r   r   r   re   r   r   r   r   r3   r   r
   r   r   r>  r   r   r   r   r   r   r   r   s                  r+   r   zAsyncMemories._purge  s      JJ'
 ((UVVOL  ,//7.99:JK.#''1V1Y|456D4(48"".&&33?*11>>L..|<::<H))77D,
 
 #+--TZZ5N>>MM"?+E+E+G N 
 	)),7
rH  c                     | j                    	 t        j                  dt              | _         | j                   j                  | j                        S # t        $ r}t	        d      |d }~ww xY wr   )r   r   r   r   r   AsyncMemoryRevisionsr   r   s     r+   r   zAsyncMemories.revisionsI  sp    ??" #,"9"9'# 33D4D4DEE  != 	r   c                X  K   |t        j                         }n/t        |t              rt         j                  j	                  |      }| j                  ||||       d{   }|j                  r|j                  s4t        j                  |j                  | j                  d       d{   }|j                  r5| j                  |j                  j                         d{   |_        |S |j                  rt        d|j                         t        d      |S 7 7 x7 @w)r   Nr}   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   _await_async_operationr/   r   r   r   r   r   r   s         r+   r   zAsyncMemories.createZ  s    . >224F%22AA&IF,,	 ' 
 
	 %%>>"6"M"M#,>>%)%?%?*-# 	 !!+/889K9K9P9P8+Q%Q	"
 	 "%>y>O#PQQ"#;<<+
 &Rs7   AD*!D$"AD*-D&.9D*'D((=D*&D*(D*c                  K   |t        j                         }n/t        |t              rt         j                  j	                  |      }| j                  ||||||       d{   }|j                  rd|j                  sXt        j                  |j                  | j                  d       d{   }|j                  rt        d|j                         |S 7 v7 ,w)r   Nr   r   r   r  )r   r  r   r   r   r   r   r   r   rO  r/   r   r   r   r  s           r+   r  zAsyncMemories.generate  s     X ><<>F%<<KKFSF.."7#9#9 ) 
 
	 %%inn2II(~~!%!F!F&) I
 "%@@Q#RSS!
s%   A!C#C$AC/C0+CCc                   K   t        dt        j                  | j                  |      | j                  ||       d{   |      S 7 	w)a_  Lists Agent Engine memories.

        Args:
            name (str):
                Required. The name of the agent engine to list memories for.
            config (ListAgentEngineMemoryConfig):
                Optional. The configuration for the memories to list.

        Returns:
            AsyncPager[Memory]: An async pager of memories.
        r  r   r   N)r   r  r  r   r	  s      r+   r
  zAsyncMemories.list  sG     $ djjt4**$v*66	
 	
 7s   =AA	 
Ac                z    K   t        d fd j                  |       d{   |      S 7 	w)a  Retrieves memories for the agent.

        Args:
            name (str):
                Required. The name of the agent engine to retrieve memories for.
            scope (dict[str, str]):
                Required. The scope of the memories to retrieve. For example,
                {"user_id": "123"}.
            similarity_search_params (RetrieveMemoriesRequestSimilaritySearchParams):
                Optional. The similarity search parameters to use for retrieving
                memories.
            simple_retrieval_params (RetrieveMemoriesRequestSimpleRetrievalParams):
                Optional. The simple retrieval parameters to use for retrieving
                memories.
            config (RetrieveAgentEngineMemoriesConfig):
                Optional. The configuration for the memories to retrieve.

        Returns:
            AsyncPager[RetrieveMemoriesResponseRetrievedMemory]: An async pager of
                retrieved memories.
        r  c                 0    j                  |       S r  r  r  s    r+   r  z(AsyncMemories.retrieve.<locals>.<lambda>	  r  r6   r  N)r   r   r  s   ````` r+   r  zAsyncMemories.retrieve  sP     D   ..)A(? !   !
 	
s   (;9
;c                  K   |t        j                         }n/t        |t              rt         j                  j	                  |      }| j                  |||       d{   }|j                  rd|j                  sXt        j                  |j                  | j                  d       d{   }|j                  rt        d|j                         |S 7 v7 ,w)r  Nr   r   r   r  )r   r  r   r   r   r   r   r   r   rO  r/   r   r   r   r  s        r+   r  zAsyncMemories.rollback	  s     * >::<F%::II&QF..1 ) 
 
	
 %%inn2II(~~!%!;!;&) I
 "%@@Q#RSS
s%   AC C!AC,C-+CCFc                  K   |t        j                         }n/t        |t              rt         j                  j	                  |      }| j                  |||||       d{   }|j                  rd|j                  sXt        j                  |j                  | j                  d       d{   }|j                  rt        d|j                         |S 7 v7 ,w)r  Nr   r   r   r  )r   r  r   r   r   r   r   r   r   rO  r/   r   r   r   r   s          r+   r!  zAsyncMemories.purgeD	  s     < >99;F%99HHPF++' & 
 
	 %%inn2II(~~!%!;!;&) I
 "%?	?P#QRR
s%   A C"C#AC.C/+CC)r   z,memory_revisions_module.AsyncMemoryRevisions)8r"  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  r1  r   r   r2  r   r   r3  r   r
  r4  r5  r6  r   r   r   r7  r   r   r  r   r8  r  r  r   r9  r!  r:  r6   r+   r<  r<    s    AE; ; 	;
 CH~; <<=; 
	)	);B GK	? ? BBC	?
 
	/	/?N   *.JNE E  (BB 
	E !)CC!
E !)CC!
E S#X'E FFGE 
	3	3EV DH	= = ??@	=
 
=F EI	7 7 @@A	7
 
	3	37z GK	3 3 BBC	3
 
	)	)3r GK	3 3 BBC	3
 
	3	33x  JNA A CH~	A
 #+EE#
A "*DD"
A FFGA 
	'	'AP IM9 9  	9
 DDE9 
	1	19~ #*.FJ; ; sm	;
 S#X'; BBC; 
	)	);B !%MQ $GK= = 	=
  U%H%H IJ= ~= CCD= 
	0	0=~ JF F, AE0 0 	0
 CH~0 <<=0 
	)	)0p   *.JN@ @  (BB 
	@ !)CC!
@ !)CC!
@ S#X'@ FFG@ 
	3	3@L EI	
 
 @@A	

 
ELL	!
@  JN3
 3
 CH~	3

 #+EE#
3
 "*DD"
3
 FFG3
 
EAA	B3
t IM& &  	&
 DDE& 
	1	1&X !%GKGK1 1 	1
  U%B%B CD1 1 CCD1 
	0	01r6   r<  )N)8r  r   r   loggingtypingr   r   r   r   r   urllib.parser   google.genair	   r
   google.genai._commonr   r&   r   r'   google.genai.pagersr   r    r   r   TYPE_CHECKINGr   memory_revisions_module_	getLoggerloggersetLevelINFOr   r%  objectr,   r5   r9   rB   rJ   rO   rR   rT   r^   r`   re   rg   rm   rq   ru   rw   
BaseModulery   r<  r:  r6   r+   <module>rf     sH  $      7 7 " $   : : 1 " 	=A 
		4	5  
 /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(^$ /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(^"N /3tCH~v-.DcN+ 
#s(^& /30tCH~v-.0DcN+0 
#s(^0j /3tCH~v-.DcN+ 
#s(^4{{%% {|QK** Qr6   