Skip to main content

limit_cli/tools/browser/
mod.rs

1//! Browser automation tools
2//!
3//! This module provides browser automation capabilities through the agent-browser CLI.
4//!
5//! # Architecture
6//!
7//! - [`config`] - Configuration types for browser settings
8//! - [`executor`] - Abstraction layer for executing browser commands
9//! - [`types`] - Data types for browser operations
10//! - [`client`] - High-level API for browser operations
11//! - [`tool`] - LLM agent tool implementation
12//!
13//! # Usage
14//!
15//! ## As an LLM Tool
16//!
17//! ```ignore
18//! use limit_cli::tools::browser::BrowserTool;
19//! use limit_agent::Tool;
20//!
21//! let tool = BrowserTool::new();
22//! let result = tool.execute(serde_json::json!({
23//!     "action": "open",
24//!     "url": "https://example.com"
25//! })).await;
26//! ```
27//!
28//! ## As a TUI Command
29//!
30//! ```ignore
31//! /browser open https://example.com
32//! /browser snapshot
33//! /browser click "button.submit"
34//! /browser close
35//! ```
36
37pub mod action;
38pub mod args;
39pub mod client;
40pub mod client_ext;
41pub mod config;
42pub mod executor;
43pub mod handlers;
44pub mod response;
45pub mod tool;
46pub mod types;
47
48pub use action::BrowserAction;
49pub use args::ArgsExt;
50pub use client::BrowserClient;
51pub use config::{BrowserConfig, BrowserEngine};
52pub use executor::{BrowserError, BrowserExecutor, BrowserOutput, CliExecutor};
53pub use response::{ok, ok_msg, Response};
54pub use tool::BrowserTool;
55pub use types::{BoundingBox, Cookie, Request, SnapshotResult, TabInfo};