MCPcopy Create free account
hub / github.com/aws/amazon-q-developer-cli / into_user_input_message

Method into_user_input_message

crates/chat-cli/src/cli/chat/message.rs:200–228  ·  view source on GitHub ↗

Converts this message into a [UserInputMessage] to be sent as [FigConversationState::user_input_message].

(
        self,
        model_id: Option<String>,
        tools: &HashMap<ToolOrigin, Vec<Tool>>,
    )

Source from the content-addressed store, hash-verified

198 /// Converts this message into a [UserInputMessage] to be sent as
199 /// [FigConversationState::user_input_message].
200 pub fn into_user_input_message(
201 self,
202 model_id: Option<String>,
203 tools: &HashMap<ToolOrigin, Vec<Tool>>,
204 ) -> UserInputMessage {
205 let content = self.content_with_context();
206 UserInputMessage {
207 images: self.images,
208 content,
209 user_input_message_context: Some(UserInputMessageContext {
210 env_state: self.env_context.env_state,
211 tool_results: match self.content {
212 UserMessageContent::CancelledToolUses { tool_use_results, .. }
213 | UserMessageContent::ToolUseResults { tool_use_results } => {
214 Some(tool_use_results.into_iter().map(Into::into).collect())
215 },
216 UserMessageContent::Prompt { .. } => None,
217 },
218 tools: if tools.is_empty() {
219 None
220 } else {
221 Some(tools.values().flatten().cloned().collect::<Vec<_>>())
222 },
223 ..Default::default()
224 }),
225 user_intent: None,
226 model_id,
227 }
228 }
229
230 pub fn has_tool_use_results(&self) -> bool {
231 match self.content() {

Calls 4

content_with_contextMethod · 0.80
mapMethod · 0.80
is_emptyMethod · 0.45
valuesMethod · 0.45