This commit is contained in:
Ahmed Ibrahim
2025-11-06 10:27:24 -08:00
parent ca9f9c6f5d
commit 0b26c76047
2 changed files with 24 additions and 2 deletions

View File

@@ -864,7 +864,27 @@ async fn process_sse<S>(
if let Some(resp_val) = event.response {
match serde_json::from_value::<ResponseCompleted>(resp_val) {
Ok(r) => {
response_completed = Some(r);
if let Some(token_usage) = &r.usage {
otel_event_manager.sse_event_completed(
token_usage.input_tokens,
token_usage.output_tokens,
token_usage
.input_tokens_details
.as_ref()
.map(|d| d.cached_tokens),
token_usage
.output_tokens_details
.as_ref()
.map(|d| d.reasoning_tokens),
token_usage.total_tokens,
);
}
let event = ResponseEvent::Completed {
response_id: r.id.clone(),
token_usage: r.usage.map(Into::into),
};
let _ = tx_event.send(Ok(event)).await;
return;
}
Err(e) => {
let error = format!("failed to parse ResponseCompleted: {e}");

View File

@@ -1773,7 +1773,9 @@ impl ChatWidget {
self.bottom_pane.show_selection_view(SelectionViewParams {
title: Some("Approaching rate limits".to_string()),
subtitle: Some(format!("Switch to {display_name} for lower credit usage?")),
subtitle: Some(format!(
"You've used over 90% of your limit. Switch to {display_name} for lower credit usage?"
)),
footer_hint: Some(standard_popup_hint_line()),
items,
..Default::default()