plexus.cli.procedure.lua_dsl.output_validator module
Output Schema Validator for Lua DSL Procedures
Validates that Lua workflow return values match the declared output schema. Enables type safety and composability for sub-agent workflows.
- exception plexus.cli.procedure.lua_dsl.output_validator.OutputValidationError
Bases:
ExceptionRaised when workflow output doesn’t match schema.
- class plexus.cli.procedure.lua_dsl.output_validator.OutputValidator(output_schema: Dict[str, Any] | None = None)
Bases:
objectValidates procedure output against declared schema.
Supports: - Type checking (string, number, boolean, object, array) - Required field validation - Nested object validation - Clear error messages
Initialize validator with output schema.
- Args:
- output_schema: Dict of output field definitions
Example: {
- ‘limerick’: {
‘type’: ‘string’, ‘required’: True, ‘description’: ‘The generated limerick’
}, ‘node_id’: {
‘type’: ‘string’, ‘required’: False
}
}
- TYPE_MAP = {'array': <class 'list'>, 'boolean': <class 'bool'>, 'number': (<class 'int'>, <class 'float'>), 'object': <class 'dict'>, 'string': <class 'str'>}
- __init__(output_schema: Dict[str, Any] | None = None)
Initialize validator with output schema.
- Args:
- output_schema: Dict of output field definitions
Example: {
- ‘limerick’: {
‘type’: ‘string’, ‘required’: True, ‘description’: ‘The generated limerick’
}, ‘node_id’: {
‘type’: ‘string’, ‘required’: False
}
}
- get_field_description(field_name: str) str | None
Get description for an output field.
- get_optional_fields() List[str]
Get list of optional output fields.
- get_required_fields() List[str]
Get list of required output fields.
- validate(output: Any) Dict[str, Any]
Validate workflow output against schema.
- Args:
output: The return value from Lua workflow
- Returns:
Validated output dict
- Raises:
OutputValidationError: If validation fails