ToolHints class final

What a tool does to the world it is called on, as the protocol's annotations say it to a host — which may ask a person before a destructive call, and may call a read-only one without asking.

Hints, not guarantees, in the protocol's own words: a host decides what to do with them. Ours are kept honest by the snapshot, which prints them, so a tool that starts deleting things shows up in review.

Constructors

ToolHints({bool readOnly = false, bool destructive = false, bool idempotent = false, bool openWorld = false, String? title})
const
ToolHints.fromJson(Map<String, Object?> json)
Reads the protocol's annotations object; absent hints are false.
factory

Properties

destructive → bool
final
hashCode → int
The hash code for this object.
no setteroverride
idempotent → bool
Calling it twice with the same arguments does what calling it once did.
final
openWorld → bool
Reaches outside the project: the network, another process.
final
readOnly → bool
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
title → String?
A name for a person to read, when the tool's own is a code word.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → Map<String, Object?>
The protocol's annotations object.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
override

Constants

destroys → const ToolHints
Removes or overwrites something that may not come back: a file written over, a document replaced, a process stopped.
reads → const ToolHints
Reads and changes nothing: a listing, a picture, a check.
writes → const ToolHints
Changes something, and a change can be taken back (an undo step) or only adds.