Skip to content

Commit 8649192

Browse files
committed
includes time taken in warning and error
1 parent f59d032 commit 8649192

File tree

1 file changed

+26
-16
lines changed

1 file changed

+26
-16
lines changed

crates/chat-cli/src/cli/chat/tool_manager.rs

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -316,18 +316,18 @@ impl ToolManagerBuilder {
316316
queue_success_message(&name, &time, &mut output)?;
317317
queue_init_message(spinner_logo_idx, complete, failed, total, &mut output)?;
318318
},
319-
LoadingMsg::Error { name, msg, time: _ } => {
319+
LoadingMsg::Error { name, msg, time } => {
320320
failed += 1;
321321
execute!(
322322
output,
323323
cursor::MoveToColumn(0),
324324
cursor::MoveUp(1),
325325
terminal::Clear(terminal::ClearType::CurrentLine),
326326
)?;
327-
queue_failure_message(&name, &msg, &mut output)?;
327+
queue_failure_message(&name, &msg, time.as_str(), &mut output)?;
328328
queue_init_message(spinner_logo_idx, complete, failed, total, &mut output)?;
329329
},
330-
LoadingMsg::Warn { name, msg, time: _ } => {
330+
LoadingMsg::Warn { name, msg, time } => {
331331
complete += 1;
332332
execute!(
333333
output,
@@ -336,7 +336,7 @@ impl ToolManagerBuilder {
336336
terminal::Clear(terminal::ClearType::CurrentLine),
337337
)?;
338338
let msg = eyre::eyre!(msg.to_string());
339-
queue_warn_message(&name, &msg, &mut output)?;
339+
queue_warn_message(&name, &msg, time.as_str(), &mut output)?;
340340
queue_init_message(spinner_logo_idx, complete, failed, total, &mut output)?;
341341
},
342342
LoadingMsg::Terminate { still_loading } => {
@@ -403,13 +403,10 @@ impl ToolManagerBuilder {
403403
// list calls.
404404
match msg {
405405
UpdateEventMessage::ToolsListResult { server_name, result } => {
406-
let time_taken = loading_servers
407-
.get(&server_name)
408-
.map(|init_time| {
409-
let time_taken = (std::time::Instant::now() - *init_time).as_secs_f64().abs();
410-
format!("{:.2}", time_taken)
411-
})
412-
.unwrap_or_default();
406+
let time_taken = loading_servers.get(&server_name).map_or("0.0".to_owned(), |init_time| {
407+
let time_taken = (std::time::Instant::now() - *init_time).as_secs_f64().abs();
408+
format!("{:.2}", time_taken)
409+
});
413410
pending_clone.write().await.remove(&server_name);
414411
match result {
415412
Ok(result) => {
@@ -522,7 +519,7 @@ impl ToolManagerBuilder {
522519
.send(LoadingMsg::Error {
523520
name: name.clone(),
524521
msg: e,
525-
time: String::new(),
522+
time: "0.0".to_owned(),
526523
})
527524
.await;
528525
}
@@ -1306,7 +1303,12 @@ fn queue_init_message(
13061303
Ok(queue!(output, style::Print("\n"))?)
13071304
}
13081305

1309-
fn queue_failure_message(name: &str, fail_load_msg: &eyre::Report, output: &mut impl Write) -> eyre::Result<()> {
1306+
fn queue_failure_message(
1307+
name: &str,
1308+
fail_load_msg: &eyre::Report,
1309+
time: &str,
1310+
output: &mut impl Write,
1311+
) -> eyre::Result<()> {
13101312
use crate::util::CHAT_BINARY_NAME;
13111313
Ok(queue!(
13121314
output,
@@ -1315,7 +1317,11 @@ fn queue_failure_message(name: &str, fail_load_msg: &eyre::Report, output: &mut
13151317
style::SetForegroundColor(style::Color::Blue),
13161318
style::Print(name),
13171319
style::ResetColor,
1318-
style::Print(" has failed to load:\n - "),
1320+
style::Print(" has failed to load after"),
1321+
style::SetForegroundColor(style::Color::Yellow),
1322+
style::Print(format!(" {time} s")),
1323+
style::ResetColor,
1324+
style::Print("\n - "),
13191325
style::Print(fail_load_msg),
13201326
style::Print("\n"),
13211327
style::Print(format!(
@@ -1325,15 +1331,19 @@ fn queue_failure_message(name: &str, fail_load_msg: &eyre::Report, output: &mut
13251331
)?)
13261332
}
13271333

1328-
fn queue_warn_message(name: &str, msg: &eyre::Report, output: &mut impl Write) -> eyre::Result<()> {
1334+
fn queue_warn_message(name: &str, msg: &eyre::Report, time: &str, output: &mut impl Write) -> eyre::Result<()> {
13291335
Ok(queue!(
13301336
output,
13311337
style::SetForegroundColor(style::Color::Yellow),
13321338
style::Print("⚠ "),
13331339
style::SetForegroundColor(style::Color::Blue),
13341340
style::Print(name),
13351341
style::ResetColor,
1336-
style::Print(" has the following warning:\n"),
1342+
style::Print(" has loaded in"),
1343+
style::SetForegroundColor(style::Color::Yellow),
1344+
style::Print(format!(" {time} s")),
1345+
style::ResetColor,
1346+
style::Print(" with the following warning:\n"),
13371347
style::Print(msg),
13381348
style::ResetColor,
13391349
)?)

0 commit comments

Comments
 (0)