2020import json
2121import logging
2222import typing
23- from typing import Any , Iterator , Optional , Union
23+ from typing import Any , Iterator , List , Optional , Union
2424from urllib .parse import urlencode
2525
2626from google .genai import _api_module
@@ -317,6 +317,13 @@ def _PurgeAgentEngineMemoriesRequestParameters_to_vertex(
317317 if getv (from_object , ["filter" ]) is not None :
318318 setv (to_object , ["filter" ], getv (from_object , ["filter" ]))
319319
320+ if getv (from_object , ["filter_groups" ]) is not None :
321+ setv (
322+ to_object ,
323+ ["filterGroups" ],
324+ [item for item in getv (from_object , ["filter_groups" ])],
325+ )
326+
320327 if getv (from_object , ["force" ]) is not None :
321328 setv (to_object , ["force" ], getv (from_object , ["force" ]))
322329
@@ -1072,7 +1079,8 @@ def _purge(
10721079 self ,
10731080 * ,
10741081 name : str ,
1075- filter : str ,
1082+ filter : Optional [str ] = None ,
1083+ filter_groups : Optional [list [types .MemoryConjunctionFilterOrDict ]] = None ,
10761084 force : Optional [bool ] = None ,
10771085 config : Optional [types .PurgeAgentEngineMemoriesConfigOrDict ] = None ,
10781086 ) -> types .AgentEnginePurgeMemoriesOperation :
@@ -1083,6 +1091,7 @@ def _purge(
10831091 parameter_model = types ._PurgeAgentEngineMemoriesRequestParameters (
10841092 name = name ,
10851093 filter = filter ,
1094+ filter_groups = filter_groups ,
10861095 force = force ,
10871096 config = config ,
10881097 )
@@ -1384,7 +1393,8 @@ def purge(
13841393 self ,
13851394 * ,
13861395 name : str ,
1387- filter : str ,
1396+ filter : Optional [str ] = None ,
1397+ filter_groups : Optional [List [types .MemoryConjunctionFilter ]] = None ,
13881398 force : bool = False ,
13891399 config : Optional [types .PurgeAgentEngineMemoriesConfigOrDict ] = None ,
13901400 ) -> types .AgentEnginePurgeMemoriesOperation :
@@ -1394,7 +1404,11 @@ def purge(
13941404 name (str):
13951405 Required. The name of the Agent Engine to purge memories from.
13961406 filter (str):
1397- Required. The standard list filter to determine which memories to purge.
1407+ Optional. The standard list filter to determine which memories to purge.
1408+ filter_groups (list[MemoryConjunctionFilter]):
1409+ Optional. Metadata filters that will be applied to the memories'
1410+ `metadata` using OR logic. Filters are defined using disjunctive
1411+ normal form (OR of ANDs).
13981412 force (bool):
13991413 Optional. Whether to force the purge operation. If false, the
14001414 operation will be staged but not executed.
@@ -1412,6 +1426,7 @@ def purge(
14121426 operation = self ._purge (
14131427 name = name ,
14141428 filter = filter ,
1429+ filter_groups = filter_groups ,
14151430 force = force ,
14161431 config = config ,
14171432 )
@@ -2042,7 +2057,8 @@ async def _purge(
20422057 self ,
20432058 * ,
20442059 name : str ,
2045- filter : str ,
2060+ filter : Optional [str ] = None ,
2061+ filter_groups : Optional [list [types .MemoryConjunctionFilterOrDict ]] = None ,
20462062 force : Optional [bool ] = None ,
20472063 config : Optional [types .PurgeAgentEngineMemoriesConfigOrDict ] = None ,
20482064 ) -> types .AgentEnginePurgeMemoriesOperation :
@@ -2053,6 +2069,7 @@ async def _purge(
20532069 parameter_model = types ._PurgeAgentEngineMemoriesRequestParameters (
20542070 name = name ,
20552071 filter = filter ,
2072+ filter_groups = filter_groups ,
20562073 force = force ,
20572074 config = config ,
20582075 )
@@ -2356,7 +2373,8 @@ async def purge(
23562373 self ,
23572374 * ,
23582375 name : str ,
2359- filter : str ,
2376+ filter : Optional [str ] = None ,
2377+ filter_groups : Optional [List [types .MemoryConjunctionFilter ]] = None ,
23602378 force : bool = False ,
23612379 config : Optional [types .PurgeAgentEngineMemoriesConfigOrDict ] = None ,
23622380 ) -> types .AgentEnginePurgeMemoriesOperation :
@@ -2366,7 +2384,11 @@ async def purge(
23662384 name (str):
23672385 Required. The name of the Agent Engine to purge memories from.
23682386 filter (str):
2369- Required. The standard list filter to determine which memories to purge.
2387+ Optional. The standard list filter to determine which memories to purge.
2388+ filter_groups (list[MemoryConjunctionFilter]):
2389+ Optional. Metadata filters that will be applied to the memories'
2390+ `metadata` using OR logic. Filters are defined using disjunctive
2391+ normal form (OR of ANDs).
23702392 force (bool):
23712393 Optional. Whether to force the purge operation. If false, the
23722394 operation will be staged but not executed.
@@ -2384,6 +2406,7 @@ async def purge(
23842406 operation = await self ._purge (
23852407 name = name ,
23862408 filter = filter ,
2409+ filter_groups = filter_groups ,
23872410 force = force ,
23882411 config = config ,
23892412 )
0 commit comments