adk_browser/tools/mod.rs
1//! Browser automation tools for ADK agents.
2//!
3//! This module provides a collection of tools for browser automation:
4//!
5//! - Navigation: `NavigateTool`, `BackTool`, `ForwardTool`, `RefreshTool`
6//! - Interaction: `ClickTool`, `DoubleClickTool`, `TypeTool`, `ClearTool`, `SelectTool`
7//! - Extraction: `ExtractTextTool`, `ExtractAttributeTool`, `ExtractLinksTool`, `PageInfoTool`, `PageSourceTool`
8//! - Screenshots: `ScreenshotTool`
9//! - Waiting: `WaitForElementTool`, `WaitTool`, `WaitForPageLoadTool`, `WaitForTextTool`
10//! - JavaScript: `EvaluateJsTool`, `ScrollTool`, `HoverTool`, `AlertTool`
11//! - Cookies: `GetCookiesTool`, `GetCookieTool`, `AddCookieTool`, `DeleteCookieTool`, `DeleteAllCookiesTool`
12//! - Windows/Tabs: `ListWindowsTool`, `NewTabTool`, `NewWindowTool`, `SwitchWindowTool`, `CloseWindowTool`, etc.
13//! - Frames: `SwitchToFrameTool`, `SwitchToParentFrameTool`, `SwitchToDefaultContentTool`
14//! - Advanced: `DragAndDropTool`, `RightClickTool`, `FocusTool`, `ElementStateTool`, `PressKeyTool`, etc.
15
16mod actions;
17mod click;
18mod cookies;
19mod evaluate;
20mod extract;
21mod frames;
22mod navigate;
23mod screenshot;
24mod type_text;
25mod wait;
26mod windows;
27
28// Navigation tools
29pub use navigate::{BackTool, ForwardTool, NavigateTool, RefreshTool};
30
31// Click/interaction tools
32pub use click::{ClickTool, DoubleClickTool};
33
34// Type/form tools
35pub use type_text::{ClearTool, SelectTool, TypeTool};
36
37// Screenshot tools
38pub use screenshot::ScreenshotTool;
39
40// Extraction tools
41pub use extract::{
42 ExtractAttributeTool, ExtractLinksTool, ExtractTextTool, PageInfoTool, PageSourceTool,
43};
44
45// Wait tools
46pub use wait::{WaitForElementTool, WaitForPageLoadTool, WaitForTextTool, WaitTool};
47
48// JavaScript/advanced tools
49pub use evaluate::{AlertTool, EvaluateJsTool, HoverTool, ScrollTool};
50
51// Cookie management tools
52pub use cookies::{
53 AddCookieTool, DeleteAllCookiesTool, DeleteCookieTool, GetCookieTool, GetCookiesTool,
54};
55
56// Window/tab management tools
57pub use windows::{
58 CloseWindowTool, ListWindowsTool, MaximizeWindowTool, MinimizeWindowTool, NewTabTool,
59 NewWindowTool, SetWindowSizeTool, SwitchWindowTool,
60};
61
62// Frame/iframe management tools
63pub use frames::{SwitchToDefaultContentTool, SwitchToFrameTool, SwitchToParentFrameTool};
64
65// Advanced action tools
66pub use actions::{
67 DragAndDropTool, ElementStateTool, FileUploadTool, FocusTool, PressKeyTool, PrintToPdfTool,
68 RightClickTool,
69};