pub struct RenderFormTool;Available on crate feature
ui only.Expand description
Tool for rendering forms to collect user input.
This tool generates form UI components that allow agents to collect
structured input from users. The form includes various field types
and returns submitted data via UiEvent::FormSubmit.
§Supported Field Types
text: Single-line text input (default)email: Email address input with validationpassword: Password input (masked)number: Numeric inputselect: Dropdown selection from optionstextarea: Multi-line text input
§Example JSON Parameters
{
"title": "Contact Form",
"description": "Please fill out your details",
"fields": [
{ "name": "email", "label": "Email", "type": "email", "required": true },
{ "name": "message", "label": "Message", "type": "textarea" }
],
"submit_label": "Send"
}Implementations§
Source§impl RenderFormTool
impl RenderFormTool
pub fn new() -> RenderFormTool
Trait Implementations§
Source§impl Default for RenderFormTool
impl Default for RenderFormTool
Source§fn default() -> RenderFormTool
fn default() -> RenderFormTool
Returns the “default value” for a type. Read more
Source§impl Tool for RenderFormTool
impl Tool for RenderFormTool
fn name(&self) -> &str
fn description(&self) -> &str
fn parameters_schema(&self) -> Option<Value>
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,
RenderFormTool: 'async_trait,
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.
fn response_schema(&self) -> Option<Value>
Auto Trait Implementations§
impl Freeze for RenderFormTool
impl RefUnwindSafe for RenderFormTool
impl Send for RenderFormTool
impl Sync for RenderFormTool
impl Unpin for RenderFormTool
impl UnwindSafe for RenderFormTool
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request