diff --git a/src/cleveragents/cli/commands/session.py b/src/cleveragents/cli/commands/session.py index e8b32d9a8..d742c3823 100644 --- a/src/cleveragents/cli/commands/session.py +++ b/src/cleveragents/cli/commands/session.py @@ -123,20 +123,42 @@ def _session_summary_dict(session: Session) -> OrderedDict[str, Any]: def _session_list_dict(sessions: list[Session]) -> dict[str, Any]: - """Build the list output with summary stats.""" + """Build the list output with summary stats per spec.""" items = [] for s in sessions: items.append( { "id": s.session_id, + "name": s.name or None, "actor": s.actor_name or "(none)", "messages": s.message_count, "updated": s.updated_at.isoformat(), } ) + + # Build summary section per spec + total_messages = sum(s.message_count for s in sessions) + + # Find most recent and oldest sessions + if sessions: + sorted_sessions = sorted(sessions, key=lambda x: x.updated_at, reverse=True) + most_recent = sorted_sessions[0].name or sorted_sessions[0].session_id[:8] + oldest = sorted_sessions[-1].name or sorted_sessions[-1].session_id[:8] + else: + most_recent = None + oldest = None + + summary = { + "total": len(sessions), + "most_recent": most_recent, + "oldest": oldest, + "total_messages": total_messages, + "storage": "0 KB", # Placeholder - actual storage calculation not implemented + } + return { "sessions": items, - "total": len(sessions), + "summary": summary, }