Files
baibot-withmcp/src/controller/agent/mod.rs
Slavi Pantaleev 406141cd7d fmt
2025-02-27 07:46:16 +02:00

55 lines
1.6 KiB
Rust

use crate::{Bot, entity::MessageContext};
pub mod create;
pub mod delete;
pub mod details;
pub mod determination;
pub mod help;
pub mod list;
pub use determination::{AgentControllerType, determine_controller};
pub async fn dispatch_controller(
handler: &AgentControllerType,
message_context: &MessageContext,
bot: &Bot,
) -> anyhow::Result<()> {
match handler {
AgentControllerType::CreateRoomLocal { provider, agent_id } => {
create::handle_room_local(
bot,
bot.room_config_manager(),
message_context,
provider,
agent_id,
)
.await
}
AgentControllerType::CreateGlobal { provider, agent_id } => {
create::handle_global(
bot,
bot.global_config_manager(),
message_context,
provider,
agent_id,
)
.await
}
AgentControllerType::List => list::handle(bot, message_context).await,
AgentControllerType::Details(agent_identifier) => {
details::handle(bot, message_context, agent_identifier).await
}
AgentControllerType::Delete(agent_identifier) => {
delete::handle(
bot,
bot.room_config_manager(),
bot.global_config_manager(),
message_context,
agent_identifier,
)
.await
}
AgentControllerType::Help => help::handle(bot, message_context).await,
}
}