Replace per-block usage footer with persistent input status bar

Move token/cache/cost metrics from the expandable per-block usage button
into a persistent status bar rendered in the agent input area. This gives
always-visible feedback without requiring user interaction.

- Add render_session_status_bar to agent input showing context %, cache
  hit rate, and cost
- Persist cache/cost totals in ConversationUsageMetadata for session restore
- Remove render_usage_button, ToggleIsUsageFooterExpanded action, and
  UsageFooterToggled event
- Remove "Request tokens: --" debug block footer overlay
- Fix has_footer() to return false so blocks no longer reserve phantom
  footer space (root cause of padding/margin issue)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ryan Ward
2026-06-03 00:17:34 -05:00
co-authored by Claude Opus 4.6
parent 259244863b
commit 9e11c91a6e
11 changed files with 195 additions and 403 deletions
+8
View File
@@ -1304,6 +1304,14 @@ pub struct ConversationUsageMetadata {
pub token_usage: Vec<ModelTokenUsage>,
#[serde(default)]
pub tool_usage_metadata: ToolUsageMetadata,
#[serde(default)]
pub total_cache_read_tokens: u32,
#[serde(default)]
pub total_cache_write_tokens: u32,
#[serde(default)]
pub total_cache_miss_tokens: u32,
#[serde(default)]
pub total_cost_cents: f32,
}
impl ConversationUsageMetadata {