use crate::agent::tools;
use crate::permission::ask::AskSender;
use crate::permission::checker::PermCheck;
mod agent_inner;
mod loop_tools;
mod preamble;
pub use agent_inner::*;
pub use loop_tools::*;
pub(crate) use preamble::*;
pub(crate) fn build_session_search_tool(
db_path: std::path::PathBuf,
session_id: Option<String>,
permission: Option<PermCheck>,
ask_tx: Option<AskSender>,
) -> tools::SessionSearchTool {
tools::SessionSearchTool::new(db_path, session_id, permission, ask_tx)
}
#[cfg(feature = "experimental-graph-search")]
pub(crate) fn build_graph_tool(
db_path: std::path::PathBuf,
session_id: Option<String>,
permission: Option<PermCheck>,
ask_tx: Option<AskSender>,
) -> tools::GraphTool {
tools::GraphTool::new(db_path, session_id, permission, ask_tx)
}
#[cfg(test)]
mod reminder_tests;