use autoagents_llm::chat::ChatMessage;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum AgentProtocol {
ToolCallRequested {
id: String,
tool_name: String,
arguments: String,
},
ToolCallCompleted {
id: String,
tool_name: String,
result: serde_json::Value,
},
ToolCallFailed {
id: String,
tool_name: String,
error: String,
},
TurnStarted {
turn_number: usize,
max_turns: usize,
},
TurnCompleted {
turn_number: usize,
final_turn: bool,
},
}
#[allow(dead_code)]
#[derive(Debug, Clone, Serialize, Deserialize)]
struct AgentMessage {
pub content: String,
pub chat_messages: Option<Vec<ChatMessage>>,
}