Show human-readable descriptions in /resume session list

- Add description field to SessionContinuation struct
- Extract first user message (truncated to ~60 chars at word boundary)
- Display as quoted text instead of session ID hash
- Fall back to session ID if no description available

Example: [2 hours ago] 'when I call /resume it only shows me 2 sessions...'
This commit is contained in:
Dhanji R. Prasanna
2026-01-11 06:22:20 +08:00
parent 3fcef587e8
commit 33c1aba86e
3 changed files with 42 additions and 7 deletions

View File

@@ -32,6 +32,9 @@ pub struct SessionContinuation {
pub created_at: String,
/// Original session ID
pub session_id: String,
/// Human-readable description (first user message, truncated)
#[serde(default)]
pub description: Option<String>,
/// Session summary (last assistant response)
pub summary: Option<String>,
/// Path to the full session log (g3_session_*.json)
@@ -50,6 +53,7 @@ impl SessionContinuation {
is_agent_mode: bool,
agent_name: Option<String>,
session_id: String,
description: Option<String>,
summary: Option<String>,
session_log_path: String,
context_percentage: f32,
@@ -62,6 +66,7 @@ impl SessionContinuation {
agent_name,
created_at: chrono::Utc::now().to_rfc3339(),
session_id,
description,
summary,
session_log_path,
context_percentage,