Skip to main content

BrowserToolset

Struct BrowserToolset 

Source
pub struct BrowserToolset { /* private fields */ }
Available on crate feature browser only.
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>) -> BrowserToolset

Create a new toolset with all tools enabled.

Source

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

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, ) -> BrowserToolset

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, ) -> BrowserToolset

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) -> BrowserToolset

Enable or disable navigation tools.

Source

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

Enable or disable interaction tools.

Source

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

Enable or disable extraction tools.

Source

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

Enable or disable wait tools.

Source

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

Enable or disable screenshot tool.

Source

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

Enable or disable JavaScript tools.

Source

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

Enable or disable cookie management tools.

Source

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

Enable or disable window/tab management tools.

Source

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

Enable or disable frame/iframe management tools.

Source

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

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>>, AdkError>

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>>, AdkError>> + Send + 'async_trait>>
where 'life0: 'async_trait, BrowserToolset: '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> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

Source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
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> Same for T

Source§

type Output = T

Should always be Self
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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