in packages/constructs/L3/ai/gaia-l3-construct/lib/shared/layers/python-sdk/python/genai_core/agents.py [0:0]
def list_agents():
client = get_bedrock_client('bedrock-agent')
list_of_agents: List[Agent] = []
next_token = None
while True:
if next_token is None:
agents = client.list_agents()
else:
agents = client.list_agents(nextToken=next_token)
for agent in agents['agentSummaries']:
if agent['agentStatus'] != 'PREPARED':
continue
agent_id = agent['agentId']
agent_name = agent['agentName']
aliases = client.list_agent_aliases(
agentId=agent_id
)
# select the alias which has agentAliasName matching the agent_name
alias = next((a for a in aliases['agentAliasSummaries'] if a['agentAliasName'] == agent_name), None)
if alias:
list_of_agents.append({
"name": agent_name,
"id": agent_id,
"alias_id": alias['agentAliasId']
})
if 'nextToken' in agents:
next_token = agents['nextToken']
else:
break
return list_of_agents