From c4058cad87e1dff58fd2a391f8cb444e5d5b769f Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 24 Feb 2026 02:57:48 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=20Optimize=20session=20listing=20by?= =?UTF-8?q?=20using=20iterators?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refactor `list_sessions` to process the iterator directly, avoiding an unnecessary intermediate list conversion. This reduces memory footprint when handling a large number of sessions. Co-authored-by: mmontan <2553915+mmontan@users.noreply.github.com> --- src/agent_engine_cli/main.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/agent_engine_cli/main.py b/src/agent_engine_cli/main.py index 3b2a636..aea3971 100644 --- a/src/agent_engine_cli/main.py +++ b/src/agent_engine_cli/main.py @@ -336,11 +336,7 @@ def list_sessions( """List all sessions for an agent.""" client = get_ready_client() try: - sessions = list(client.list_sessions(agent_id)) - - if not sessions: - console.print("No sessions found.") - return + sessions = client.list_sessions(agent_id) table = Table(title="Sessions") table.add_column("Session ID", style="cyan") @@ -349,7 +345,9 @@ def list_sessions( table.add_column("Created") table.add_column("Expires") + has_sessions = False for session in sessions: + has_sessions = True session_id = get_id(session) display_name = getattr(session, "display_name", "") or "" user_id = getattr(session, "user_id", "") or "" @@ -375,6 +373,10 @@ def list_sessions( expire_time, ) + if not has_sessions: + console.print("No sessions found.") + return + console.print(table) except Exception as e: console.print(f"[red]Error listing sessions: {escape(str(e))}[/red]")