Normalize session CLI counters (#1578)

* Normalize session CLI counters

* Keep sessions CLI test imports isolated
This commit is contained in:
red person
2026-06-03 02:57:41 +03:00
committed by GitHub
parent ffeb7d8c97
commit df3864bd15
2 changed files with 57 additions and 3 deletions

View File

@@ -27,6 +27,12 @@ except ModuleNotFoundError as e:
def _serialize(s: "DbSession") -> dict:
def _int_or_zero(value) -> int:
try:
return int(value or 0)
except (TypeError, ValueError):
return 0
return {
"id": s.id,
"name": s.name,
@@ -37,9 +43,9 @@ def _serialize(s: "DbSession") -> dict:
"archived": bool(s.archived),
"rag": bool(s.rag),
"is_important": bool(s.is_important),
"message_count": s.message_count or 0,
"total_input_tokens": s.total_input_tokens or 0,
"total_output_tokens": s.total_output_tokens or 0,
"message_count": _int_or_zero(s.message_count),
"total_input_tokens": _int_or_zero(s.total_input_tokens),
"total_output_tokens": _int_or_zero(s.total_output_tokens),
"last_accessed": s.last_accessed.isoformat() if s.last_accessed else "",
"created_at": s.created_at.isoformat() if s.created_at else "",
}