mod discover;
mod run;
mod r#match;
mod content;
pub use discover::WorkflowDiscoverTool;
pub use run::WorkflowRunTool;
pub use r#match::WorkflowMatchTool;
pub use content::ContentGenerationTool;
use crate::tools::BoxedTool;
use std::sync::Arc;
use crate::providers::Provider;
pub fn workflow_tools() -> Vec<BoxedTool> {
vec![
Box::new(WorkflowDiscoverTool),
Box::new(WorkflowRunTool::new()),
Box::new(WorkflowMatchTool),
]
}
pub fn workflow_tools_with_provider(provider: Arc<dyn Provider>) -> Vec<BoxedTool> {
vec![
Box::new(WorkflowRunTool::with_provider(provider.clone())),
Box::new(ContentGenerationTool::new(provider)),
]
}