ToolApprovalSupport class abstract interface

An LlmProvider that can surface user-in-the-loop tool approvals.

When a run stops because the agent needs permission to execute a tool, pendingToolApproval becomes non-null. The chat UI presents the request and resumes the run by streaming sendToolApprovalStream with the user's decision.

Implemented types
Implementers

Properties

hashCode int
The hash code for this object.
no setterinherited
history Iterable<ChatMessage>
Returns an iterable of ChatMessage objects representing the chat history.
getter/setter pairinherited
pendingToolApproval ToolApprovalRequest?
The unresolved approval request, if the last run stopped on one.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

addListener(VoidCallback listener) → void
Register a closure to be called when the object notifies its listeners.
inherited
generateStream(String prompt, {Iterable<Attachment> attachments}) Stream<String>
Generates a stream of text based on the given prompt and attachments. This method does not interact with a chat or build on any chat history.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that the object notifies.
inherited
sendMessageStream(String prompt, {Iterable<Attachment> attachments}) Stream<String>
Generates a stream of text based on the given prompt and attachments. Interacts with a chat and builds on the history of the chat associated with the provider.
inherited
sendToolApprovalStream(ToolApprovalDecision decision) Stream<String>
Answers pendingToolApproval with decision and resumes the run, streaming the continuation of the response text.
toString() String
A string representation of this object.
inherited

Operators

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