Header menu logo Nao

ToolDef Type

Parsed tool definition loaded from JSON configuration. A tool is either prompt-defined (LLM-backed, sync) or executable (process/HTTP/custom, sync or async) — see `ToolKind`.

Record fields

Record Field Description

Description

Full Usage: Description

Field type: string

Human-readable description shown to agents

Field type: string

Kind

Full Usage: Kind

Field type: ToolKind

Whether this tool is prompt-defined or executable, and how it executes.

Field type: ToolKind

Name

Full Usage: Name

Field type: string

Unique name identifying this tool

Field type: string

OutputContentType

Full Usage: OutputContentType

Field type: string

Content type of the tool's output (e.g. "text/plain", "application/json")

Field type: string

Provenance

Full Usage: Provenance

Field type: ToolProvenance option

Where this tool definition came from (populated by the loading source).

Field type: ToolProvenance option

RevertExecution

Full Usage: RevertExecution

Field type: ToolExecutionDef option

Optional execution definition for reverting changes (executable tools only)

Field type: ToolExecutionDef option

VerifyExecution

Full Usage: VerifyExecution

Field type: ToolExecutionDef option

Optional execution definition for verifying output (executable tools only)

Field type: ToolExecutionDef option

Version

Full Usage: Version

Field type: string option

Optional version identifier (e.g. "1.0"). None = unversioned; matches any requested version.

Field type: string option

Type something to start searching.