use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use tokio::sync::mpsc;
pub enum ToolInput {
StrInput(String),
DictInput(HashMap<String, String>),
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct AgentAction {
pub tool: String,
pub tool_input: String, pub log: String,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct LogTools {
pub tool_id: String,
pub tools: String,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct AgentFinish {
pub output: String,
}
pub enum AgentEvent {
Action(Vec<AgentAction>),
Finish(AgentFinish),
}
pub enum AgentPlan {
Text(AgentEvent),
Stream(mpsc::Receiver<Result<String, reqwest_eventsource::Error>>),
}