The reference
Patches are namedkey@version:
patch_ref on every tool call, and in pending_confirmation and pending_action.
The version is part of the identity. A wired patch names one exact version, so changing a patch does not alter agents that pinned an earlier one.
Declaration
What an agent carries about a patch, visible inagent_snapshot:
string
required
Unique within the workspace. Seven keys are reserved by built-in primitives.
string
required
Shown to you, and to the model as the tool name.
string
How the model decides whether to use it. The single highest-leverage field.
object
required
customer_endpoint, api_product, or native_utility. A customer endpoint carries method, route, egress auth, and optionally a pinned connection.enum
required
silent, interactive, handoff, or proposed_action.object
required
JSON schema for the arguments. Enforced before any call is made.
object
JSON schema for the result.
object
Optional.
{ "kind": "..." }. When set, the patch’s result is emitted as a rich-message data block of this kind for you to render, instead of only reaching the model. Set it in the patch builder’s Render as field.object
required
base is low, medium, high, or critical. An agent can raise it, never lower it.object
idempotent, and a retry mode.array
Fields stripped from results before storage and before the model sees them.
object
Per-call price, for priced products.