Tool Type
A tool that an agent can invoke to perform actions or retrieve information. Supports optional capabilities: content-type declaration, verify, and revert.
Record fields
| Record Field |
Description
|
Full Usage:
Description
Field type: string
|
Human-readable description shown to the LLM so it knows when to use the tool
|
|
Execute the tool with its context (for dynamic permission requests) and a string input, returning the result.
|
Full Usage:
Name
Field type: string
|
Unique name used by the agent to reference this tool
|
|
Declared content type of the tool's output (framework carries, does not interpret)
|
|
Static resource permissions this tool declares it needs. The runtime requests these through the context before each execution; a denied one short-circuits the call.
|
|
Where this tool came from (used by the feedback/adjust system to target patches).
|
|
Revert/undo changes the tool has made to external resources.
|
|
Schema describing the named parameters this tool accepts in its JSON input object. Empty means the tool takes no parameters (or a single free-form string input).
|
Full Usage:
Version
Field type: string option
|
Optional version identifier (e.g. "1.0"). None = unversioned; matches any requested version.
|
Instance members
| Instance member |
Description
|
Full Usage:
this.CanRevert
Returns: bool
|
Whether this tool declares revert capability
|
Full Usage:
this.CanVerify
Returns: bool
|
Whether this tool declares verify capability
|
|
Run the tool: request each declared static permission through the context first, then execute. A denied declared permission short-circuits with a refusal message instead of running the tool.
|
Static members
| Static member |
Description
|
Full Usage:
Tool.Create(name, description, permissions, execute)
Parameters:
string
description : string
permissions : ResourceAccess list
execute : ToolContext -> string -> Task<string>
Returns: Tool
|
Create a tool that receives its execution context (to request permission dynamically) and declares the static permissions it needs (auto-requested before each run).
|
|
Create a simple tool with just name, description, and execute (text/plain, no revert). The execute function ignores the context; use the 4-argument overload for tools that request permission dynamically or declare static permissions.
|
Nao