1use crate::{
2 prompts::ASSISTANT_MESSAGE,
3 types::{Message, Role, TextMessage},
4};
5use colored::Colorize;
6use std::io;
7
8pub fn get_user_objective() -> Result<String, io::Error> {
9 println!("{}", ASSISTANT_MESSAGE.blue());
10 let mut objective = String::new();
11 io::stdin().read_line(&mut objective)?;
12 Ok(objective.trim().to_string())
13}
14
15pub fn initialize_messages(objective: &str) -> Vec<Message> {
16 vec![
17 Message::TextMessage(TextMessage {
18 role: Role::Assistant,
19 content: ASSISTANT_MESSAGE.to_string(),
20 }),
21 Message::TextMessage(TextMessage {
22 role: Role::User,
23 content: format!("Objective: {}", objective),
24 }),
25 ]
26}