forked from cleveragents/cleveragents-core
2.3 KiB
2.3 KiB
Validation Domain Model
A Validation extends Tool with pass/fail semantics. Validations are
always read-only (writes=False, checkpointable=False, read_only=True).
Validation-Specific Fields
| Field | Type | Default | Description |
|---|---|---|---|
mode |
ValidationMode |
required |
Whether failure blocks execution |
wraps |
str | None |
None |
Name of existing tool to wrap |
transform |
str | None |
None |
Python code to transform wrapped output |
argument_mapping |
dict | None |
None |
Args for wrapped tool (only with wraps) |
All fields from Tool are also available.
Forced Constraints
When constructing a Validation, the following are always enforced:
tool_typeis forced toToolType.VALIDATIONcapability.read_onlyis forced toTruecapability.writesis forced toFalsecapability.checkpointableis forced toFalse
Wraps Semantics
A Validation may wrap an existing Tool to reuse its implementation:
- When
wrapsis set,sourcemust bewrapped - When
wrapsis set,codemust not be set (mutually exclusive) - When
wrapsis set,transformis required argument_mappingis only valid whenwrapsis set
Modes
| Mode | Behavior |
|---|---|
required |
Failure blocks the operation |
informational |
Failure is reported but does not block |
Class Methods
Validation.from_config(config: dict)-- Create from a YAML config dict (auto-detectssource=wrappedwhenwrapsis present)validation.as_cli_dict()-- Stable ordered dict with validation fields
CLI Management
agents validation add --config <file> [--update]
agents validation attach [--project <project>|--plan <plan_id>] <resource> <validation>
agents validation detach [--yes] <attachment_id>
Validations are listed and inspected via standard agents tool commands
with --type validation filter.