VanturaTool<T> class abstract

Abstract base class for Vantura tools that can be used by the agent.

Tools provide functionality for the agent to perform specific tasks, such as calculations, network checks, or API testing.

T represents the type of arguments this tool accepts.

Implementers

Constructors

VanturaTool()

Properties

description String
A description of what the tool does, for the agent's understanding.
no setter
hashCode int
The hash code for this object.
no setterinherited
isUIBound bool
Whether this tool MUST be executed on the UI/Main thread. Set this to true for tools that interact with Flutter UI, plugins, or databases that are not thread-safe or isolate-compatible.
no setter
name String
The name of the tool, used for identification in tool calls.
no setter
parameters Map<String, dynamic>
JSON Schema describing the parameters this tool accepts.
no setter
requiresConfirmation bool
Whether this tool normally requires human confirmation before execution. If you need dynamic confirmation logic based on the arguments, override requiresConfirmationFor instead.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
timeout Duration
Maximum time this tool is allowed to run before being cancelled. Defaults to 30 seconds.
no setter

Methods

execute(T args) Future<String>
Executes the tool with the given arguments.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
parseArgs(Map<String, dynamic> json) → T
Parses the JSON arguments into the typed arguments object.
requiresConfirmationFor(T args) bool
Dynamic evaluation of whether this specific execution requires confirmation. By default, this simply returns requiresConfirmation. Override this to skip confirmation for low-risk operations (e.g., deleting a trivial resource).
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited