use std::io::Write;
#[derive(serde::Deserialize)]
struct Message {
role: String,
message: String,
}
fn main() {
let mut input_string = String::new();
std::io::stdin().read_line(&mut input_string).unwrap();
let message: Message = serde_json::from_str(&input_string).unwrap();
let output = format_message(message);
std::io::stdout().write_all(output.as_bytes()).unwrap();
}
fn format_message(message: Message) -> String {
match message.role.as_str() {
"system" => {
format!("System message: {}", message.message)
}
"user" => {
format!("User query: {}", message.message)
}
"assistant" => {
format!("Assistant reply: {}", message.message)
}
_ => panic!("Unexpected unknown role. Must be one of: system, user, assistant"),
}
}