pub struct GoogleSearchTool;Available on crate feature
tools only.Expand description
GoogleSearch is a built-in tool that is automatically invoked by Gemini models to retrieve search results from Google Search. The tool operates internally within the model and does not require or perform local code execution.
Implementations§
Source§impl GoogleSearchTool
impl GoogleSearchTool
Sourcepub fn new() -> GoogleSearchTool
pub fn new() -> GoogleSearchTool
Create a new GoogleSearchTool.
Trait Implementations§
Source§impl Default for GoogleSearchTool
impl Default for GoogleSearchTool
Source§fn default() -> GoogleSearchTool
fn default() -> GoogleSearchTool
Returns the “default value” for a type. Read more
Source§impl Tool for GoogleSearchTool
impl Tool for GoogleSearchTool
Source§fn description(&self) -> &str
fn description(&self) -> &str
Returns a human-readable description of what this tool does.
Source§fn is_builtin(&self) -> bool
fn is_builtin(&self) -> bool
Indicates whether this tool is a built-in server-side tool (e.g.,
google_search, url_context). Read moreSource§fn declaration(&self) -> Value
fn declaration(&self) -> Value
Returns the tool declaration that should be exposed to model providers. Read more
Source§fn execute<'life0, 'async_trait>(
&'life0 self,
_ctx: Arc<dyn ToolContext>,
_args: Value,
) -> Pin<Box<dyn Future<Output = Result<Value, AdkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
GoogleSearchTool: 'async_trait,
fn execute<'life0, 'async_trait>(
&'life0 self,
_ctx: Arc<dyn ToolContext>,
_args: Value,
) -> Pin<Box<dyn Future<Output = Result<Value, AdkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
GoogleSearchTool: 'async_trait,
Executes the tool with the given context and arguments.
Source§fn enhanced_description(&self) -> String
fn enhanced_description(&self) -> String
Returns an enhanced description that may include additional notes.
For long-running tools, this includes a warning not to call the tool
again if it has already returned a pending status.
Default implementation returns the base description.
Source§fn is_long_running(&self) -> bool
fn is_long_running(&self) -> bool
Indicates whether the tool is a long-running operation.
Long-running tools typically return a task ID immediately and
complete the operation asynchronously.
Source§fn parameters_schema(&self) -> Option<Value>
fn parameters_schema(&self) -> Option<Value>
Returns the JSON Schema for this tool’s parameters, if any.
Source§fn response_schema(&self) -> Option<Value>
fn response_schema(&self) -> Option<Value>
Returns the JSON Schema for this tool’s response, if any.
Source§fn required_scopes(&self) -> &[&str]
fn required_scopes(&self) -> &[&str]
Returns the scopes required to execute this tool. Read more
Source§fn is_read_only(&self) -> bool
fn is_read_only(&self) -> bool
Indicates whether this tool performs no side effects.
Read-only tools may be executed concurrently in Auto mode.
Source§fn is_concurrency_safe(&self) -> bool
fn is_concurrency_safe(&self) -> bool
Indicates whether this tool is safe for concurrent execution.
Used by the Parallel strategy to validate dispatch safety.
Auto Trait Implementations§
impl Freeze for GoogleSearchTool
impl RefUnwindSafe for GoogleSearchTool
impl Send for GoogleSearchTool
impl Sync for GoogleSearchTool
impl Unpin for GoogleSearchTool
impl UnsafeUnpin for GoogleSearchTool
impl UnwindSafe for GoogleSearchTool
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ScopeToolExt for Twhere
T: Tool,
impl<T> ScopeToolExt for Twhere
T: Tool,
Source§fn with_scope_guard(
self,
resolver: impl ScopeResolver + 'static,
) -> ScopedTool<Self>
fn with_scope_guard( self, resolver: impl ScopeResolver + 'static, ) -> ScopedTool<Self>
Wrap this tool with scope enforcement using the given resolver.
Source§impl<T> ToolExt for Twhere
T: Tool,
impl<T> ToolExt for Twhere
T: Tool,
Source§fn with_access_control(self, ac: Arc<AccessControl>) -> ProtectedTool<Self>
fn with_access_control(self, ac: Arc<AccessControl>) -> ProtectedTool<Self>
Wrap this tool with access control.
Source§fn with_access_control_and_audit(
self,
ac: Arc<AccessControl>,
audit: Arc<dyn AuditSink>,
) -> ProtectedTool<Self>
fn with_access_control_and_audit( self, ac: Arc<AccessControl>, audit: Arc<dyn AuditSink>, ) -> ProtectedTool<Self>
Wrap this tool with access control and audit logging.