mod advanced;
mod content;
pub mod extract;
mod file;
mod interaction;
mod navigation;
mod tabs;
pub use advanced::AdvancedHandler;
pub use content::ContentHandler;
pub use file::FileHandler;
pub use interaction::InteractionHandler;
pub use navigation::NavigationHandler;
pub use tabs::TabsHandler;
use crate::agent::views::ActionResult;
use crate::error::Result;
use crate::tools::views::{ActionContext, ActionParams};
use async_trait::async_trait;
#[async_trait]
pub trait Handler: Send + Sync {
async fn handle(
&self,
params: &ActionParams<'_>,
context: &mut ActionContext<'_>,
) -> Result<ActionResult>;
}