Skip to main content

BrowserToolset

Struct BrowserToolset 

Source
pub struct BrowserToolset { /* private fields */ }
Expand description

A toolset that provides all browser automation tools.

Use this to add all browser tools to an agent at once, or use individual tools for more control.

Implementations§

Source§

impl BrowserToolset

Source

pub fn new(browser: Arc<BrowserSession>) -> Self

Create a new toolset with all tools enabled.

Source

pub fn with_pool(pool: Arc<BrowserSessionPool>) -> Self

Create a pool-backed toolset with all tools enabled.

Sessions are resolved per-user at runtime via Toolset::tools(ctx). The pool calls get_or_create(ctx.user_id()) to obtain an isolated browser session for each user.

§Example
use adk_browser::{BrowserToolset, BrowserSessionPool, BrowserConfig};
use std::sync::Arc;

let pool = Arc::new(BrowserSessionPool::new(BrowserConfig::default()));
let toolset = BrowserToolset::with_pool(pool);
Source

pub fn with_pool_and_profile( pool: Arc<BrowserSessionPool>, profile: BrowserProfile, ) -> Self

Create a pool-backed toolset with a pre-configured profile.

Combines pool-backed session resolution with profile-based tool category selection.

§Example
use adk_browser::{BrowserToolset, BrowserProfile, BrowserSessionPool, BrowserConfig};
use std::sync::Arc;

let pool = Arc::new(BrowserSessionPool::new(BrowserConfig::default()));
let toolset = BrowserToolset::with_pool_and_profile(pool, BrowserProfile::Minimal);
Source

pub fn with_profile( browser: Arc<BrowserSession>, profile: BrowserProfile, ) -> Self

Create a toolset with a pre-configured profile.

This is the recommended way to create a toolset for most agents. Using BrowserProfile::Full is equivalent to BrowserToolset::new().

Source

pub fn with_navigation(self, enabled: bool) -> Self

Enable or disable navigation tools.

Source

pub fn with_interaction(self, enabled: bool) -> Self

Enable or disable interaction tools.

Source

pub fn with_extraction(self, enabled: bool) -> Self

Enable or disable extraction tools.

Source

pub fn with_wait(self, enabled: bool) -> Self

Enable or disable wait tools.

Source

pub fn with_screenshot(self, enabled: bool) -> Self

Enable or disable screenshot tool.

Source

pub fn with_js(self, enabled: bool) -> Self

Enable or disable JavaScript tools.

Source

pub fn with_cookies(self, enabled: bool) -> Self

Enable or disable cookie management tools.

Source

pub fn with_windows(self, enabled: bool) -> Self

Enable or disable window/tab management tools.

Source

pub fn with_frames(self, enabled: bool) -> Self

Enable or disable frame/iframe management tools.

Source

pub fn with_actions(self, enabled: bool) -> Self

Enable or disable advanced action tools.

Source

pub fn all_tools(&self) -> Vec<Arc<dyn Tool>>

Get all tools as a vector (synchronous version).

Works for fixed-session toolsets. For pool-backed toolsets, returns an empty vec with a warning — use Toolset::tools(ctx) or try_all_tools() instead.

Source

pub fn try_all_tools(&self) -> Result<Vec<Arc<dyn Tool>>>

Try to get all tools synchronously. Returns an error for pool-backed toolsets.

Prefer Toolset::tools(ctx) for pool-backed toolsets.

Trait Implementations§

Source§

impl Toolset for BrowserToolset

Source§

fn name(&self) -> &str

Source§

fn tools<'life0, 'async_trait>( &'life0 self, ctx: Arc<dyn ReadonlyContext>, ) -> Pin<Box<dyn Future<Output = Result<Vec<Arc<dyn Tool>>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more