Skip to content

Commit a5339b1

Browse files
committed
Format fix
1 parent d575b0d commit a5339b1

File tree

5 files changed

+267
-103
lines changed

5 files changed

+267
-103
lines changed

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

Lines changed: 136 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -19,60 +19,147 @@ pub mod tool_manager;
1919
pub mod tools;
2020
pub mod util;
2121
use std::borrow::Cow;
22-
use std::collections::{HashMap, VecDeque};
23-
use std::io::{IsTerminal, Read, Write};
22+
use std::collections::{
23+
HashMap,
24+
VecDeque,
25+
};
26+
use std::io::{
27+
IsTerminal,
28+
Read,
29+
Write,
30+
};
2431
use std::process::ExitCode;
2532
use std::sync::Arc;
26-
use std::time::{Duration, Instant};
33+
use std::time::{
34+
Duration,
35+
Instant,
36+
};
2737

2838
use amzn_codewhisperer_client::types::SubscriptionStatus;
29-
use clap::{Args, CommandFactory, Parser};
39+
use clap::{
40+
Args,
41+
CommandFactory,
42+
Parser,
43+
};
3044
use cli::compact::CompactStrategy;
31-
use cli::model::{get_available_models, select_model};
45+
use cli::model::{
46+
get_available_models,
47+
select_model,
48+
};
3249
pub use conversation::ConversationState;
3350
use conversation::TokenWarningLevel;
34-
use crossterm::style::{Attribute, Color, Stylize};
35-
use crossterm::{cursor, execute, queue, style, terminal};
36-
use eyre::{Report, Result, bail, eyre};
51+
use crossterm::style::{
52+
Attribute,
53+
Color,
54+
Stylize,
55+
};
56+
use crossterm::{
57+
cursor,
58+
execute,
59+
queue,
60+
style,
61+
terminal,
62+
};
63+
use eyre::{
64+
Report,
65+
Result,
66+
bail,
67+
eyre,
68+
};
3769
use input_source::InputSource;
38-
use message::{AssistantMessage, AssistantToolUse, ToolUseResult, ToolUseResultBlock};
39-
use parse::{ParseState, interpret_markdown};
40-
use parser::{RecvErrorKind, RequestMetadata, SendMessageStream};
70+
use message::{
71+
AssistantMessage,
72+
AssistantToolUse,
73+
ToolUseResult,
74+
ToolUseResultBlock,
75+
};
76+
use parse::{
77+
ParseState,
78+
interpret_markdown,
79+
};
80+
use parser::{
81+
RecvErrorKind,
82+
RequestMetadata,
83+
SendMessageStream,
84+
};
4185
use regex::Regex;
42-
use spinners::{Spinner, Spinners};
86+
use spinners::{
87+
Spinner,
88+
Spinners,
89+
};
4390
use thiserror::Error;
4491
use time::OffsetDateTime;
4592
use token_counter::TokenCounter;
4693
use tokio::signal::ctrl_c;
47-
use tokio::sync::{Mutex, broadcast};
48-
use tool_manager::{PromptQuery, PromptQueryResult, ToolManager, ToolManagerBuilder};
94+
use tokio::sync::{
95+
Mutex,
96+
broadcast,
97+
};
98+
use tool_manager::{
99+
PromptQuery,
100+
PromptQueryResult,
101+
ToolManager,
102+
ToolManagerBuilder,
103+
};
49104
use tools::gh_issue::GhIssueContext;
50-
use tools::{NATIVE_TOOLS, OutputKind, QueuedTool, Tool, ToolSpec};
51-
use tracing::{debug, error, info, trace, warn};
105+
use tools::{
106+
NATIVE_TOOLS,
107+
OutputKind,
108+
QueuedTool,
109+
Tool,
110+
ToolSpec,
111+
};
112+
use tracing::{
113+
debug,
114+
error,
115+
info,
116+
trace,
117+
warn,
118+
};
52119
use util::images::RichImageBlock;
53120
use util::ui::draw_box;
54-
use util::{animate_output, play_notification_bell};
121+
use util::{
122+
animate_output,
123+
play_notification_bell,
124+
};
55125
use winnow::Partial;
56126
use winnow::stream::Offset;
57127

58-
use super::agent::{DEFAULT_AGENT_NAME, PermissionEvalResult};
128+
use super::agent::{
129+
DEFAULT_AGENT_NAME,
130+
PermissionEvalResult,
131+
};
59132
use crate::api_client::model::ToolResultStatus;
60-
use crate::api_client::{self, ApiClientError};
133+
use crate::api_client::{
134+
self,
135+
ApiClientError,
136+
};
61137
use crate::auth::AuthError;
62138
use crate::auth::builder_id::is_idc_user;
63139
use crate::cli::agent::Agents;
64140
use crate::cli::chat::cli::SlashCommand;
65141
use crate::cli::chat::cli::model::find_model;
66-
use crate::cli::chat::cli::prompts::{GetPromptError, PromptsSubcommand};
142+
use crate::cli::chat::cli::prompts::{
143+
GetPromptError,
144+
PromptsSubcommand,
145+
};
67146
use crate::cli::chat::util::sanitize_unicode_tags;
68147
use crate::database::settings::Setting;
69148
use crate::mcp_client::Prompt;
70149
use crate::os::Os;
71150
use crate::telemetry::core::{
72-
AgentConfigInitArgs, ChatAddedMessageParams, ChatConversationType, MessageMetaTag, RecordUserTurnCompletionArgs,
151+
AgentConfigInitArgs,
152+
ChatAddedMessageParams,
153+
ChatConversationType,
154+
MessageMetaTag,
155+
RecordUserTurnCompletionArgs,
73156
ToolUseEventBuilder,
74157
};
75-
use crate::telemetry::{ReasonCode, TelemetryResult, get_error_reason};
158+
use crate::telemetry::{
159+
ReasonCode,
160+
TelemetryResult,
161+
get_error_reason,
162+
};
76163
use crate::util::MCP_SERVER_TOOL_DELIMITER;
77164

78165
const LIMIT_REACHED_TEXT: &str = color_print::cstr! { "You've used all your free requests for this month. You have two options:
@@ -185,17 +272,13 @@ impl ChatArgs {
185272
agents.trust_all_tools = self.trust_all_tools;
186273

187274
os.telemetry
188-
.send_agent_config_init(
189-
&os.database,
190-
conversation_id.clone(),
191-
AgentConfigInitArgs {
192-
agents_loaded_count: md.load_count as i64,
193-
agents_loaded_failed_count: md.load_failed_count as i64,
194-
legacy_profile_migration_executed: md.migration_performed,
195-
legacy_profile_migrated_count: md.migrated_count as i64,
196-
launched_agent: md.launched_agent,
197-
},
198-
)
275+
.send_agent_config_init(&os.database, conversation_id.clone(), AgentConfigInitArgs {
276+
agents_loaded_count: md.load_count as i64,
277+
agents_loaded_failed_count: md.load_failed_count as i64,
278+
legacy_profile_migration_executed: md.migration_performed,
279+
legacy_profile_migrated_count: md.migrated_count as i64,
280+
launched_agent: md.launched_agent,
281+
})
199282
.await
200283
.map_err(|err| error!(?err, "failed to send agent config init telemetry"))
201284
.ok();
@@ -2710,31 +2793,26 @@ impl ChatSession {
27102793
};
27112794

27122795
os.telemetry
2713-
.send_record_user_turn_completion(
2714-
&os.database,
2715-
conversation_id,
2716-
result,
2717-
RecordUserTurnCompletionArgs {
2718-
message_ids: mds.iter().map(|md| md.message_id.clone()).collect::<_>(),
2719-
request_ids: mds.iter().map(|md| md.request_id.clone()).collect::<_>(),
2720-
reason,
2721-
reason_desc,
2722-
status_code,
2723-
time_to_first_chunks_ms: mds
2724-
.iter()
2725-
.map(|md| md.time_to_first_chunk.map(|d| d.as_secs_f64() * 1000.0))
2726-
.collect::<_>(),
2727-
chat_conversation_type: md.and_then(|md| md.chat_conversation_type),
2728-
assistant_response_length: mds.iter().map(|md| md.response_size as i64).sum(),
2729-
message_meta_tags: mds.last().map(|md| md.message_meta_tags.clone()).unwrap_or_default(),
2730-
user_prompt_length: mds.first().map(|md| md.user_prompt_length).unwrap_or_default() as i64,
2731-
user_turn_duration_seconds,
2732-
follow_up_count: mds
2733-
.iter()
2734-
.filter(|md| matches!(md.chat_conversation_type, Some(ChatConversationType::ToolUse)))
2735-
.count() as i64,
2736-
},
2737-
)
2796+
.send_record_user_turn_completion(&os.database, conversation_id, result, RecordUserTurnCompletionArgs {
2797+
message_ids: mds.iter().map(|md| md.message_id.clone()).collect::<_>(),
2798+
request_ids: mds.iter().map(|md| md.request_id.clone()).collect::<_>(),
2799+
reason,
2800+
reason_desc,
2801+
status_code,
2802+
time_to_first_chunks_ms: mds
2803+
.iter()
2804+
.map(|md| md.time_to_first_chunk.map(|d| d.as_secs_f64() * 1000.0))
2805+
.collect::<_>(),
2806+
chat_conversation_type: md.and_then(|md| md.chat_conversation_type),
2807+
assistant_response_length: mds.iter().map(|md| md.response_size as i64).sum(),
2808+
message_meta_tags: mds.last().map(|md| md.message_meta_tags.clone()).unwrap_or_default(),
2809+
user_prompt_length: mds.first().map(|md| md.user_prompt_length).unwrap_or_default() as i64,
2810+
user_turn_duration_seconds,
2811+
follow_up_count: mds
2812+
.iter()
2813+
.filter(|md| matches!(md.chat_conversation_type, Some(ChatConversationType::ToolUse)))
2814+
.count() as i64,
2815+
})
27382816
.await
27392817
.ok();
27402818
}

0 commit comments

Comments
 (0)