Skip to main content

Module tool_annotations

Module tool_annotations 

Source
Expand description

Tool annotations — the single source of truth for tool semantics.

These types describe what a tool does at a semantic level. The VM consumes them to make policy decisions (read-only vs mutating, which argument holds the workspace path, which aliases to normalize, etc.) without hardcoding tool names or file-extension lists. Pipeline authors declare a ToolAnnotations value per tool in their CapabilityPolicy.tool_annotations registry; everything downstream is driven by that declaration.

This alignment is ACP-compliant: ToolKind matches the canonical tool-kind vocabulary from the [Agent Client Protocol schema] (https://agentclientprotocol.com/protocol/schema) one-for-one.

Structs§

ToolAnnotations
Full annotations for one tool. Pipelines populate one of these per tool in the capability-policy registry; the VM consults the registry on every tool call.
ToolArgSchema
Declarative description of a tool’s argument shape. The VM uses this to:

Enums§

SideEffectLevel
Rough side-effect taxonomy for the capability-ceiling check.
ToolKind
Canonical tool-kind vocabulary. Matches the ACP ToolKind enum so harn-cli’s ACP server can forward the value unchanged in sessionUpdate variants.