vibe.runtime_models.definitions¶
Handler definition validation models.
Provides Pydantic models for validating: - Question definitions from config.yml - Field type metadata (enum options, structured field schemas, etc.) - Handler-specific parameters and constraints - Definition inheritance and references
These models are used when loading template configurations and instantiating DataTypeHandlers to ensure handler definitions are well-formed.
BaseDefinitionModel ¶
Base validation model for question definitions.
Uses FlexibleModel to allow handler-specific extensions while validating common fields present in all question definitions.
EnumDefinitionModel ¶
Validation model for enum/choice question definitions.
Validates that enum questions have well-formed options.
validate_options_structure ¶
validate_options_structure() -> EnumDefinitionModel
Ensure each option has required 'value' and 'label' keys.
MultichoiceDefinitionModel ¶
Validation model for multichoice question definitions.
Similar to enum but allows multiple selections.
validate_options_structure ¶
validate_options_structure() -> MultichoiceDefinitionModel
Ensure each option has required keys.
StructuredDefinitionModel ¶
Validation model for structured question definitions.
Structured questions reference a definition that specifies nested fields.
validate_definition_ref ¶
validate_definition_ref(v: str) -> str
Ensure definition reference is non-empty.
ListDefinitionModel ¶
Validation model for list question definitions.
List questions allow repeating instances of a structured type.
validate_uses_ref ¶
validate_uses_ref(v: str | None) -> str | None
Ensure uses reference is non-empty if provided.
NumberDefinitionModel ¶
Validation model for number question definitions.
Validates numeric constraints like min/max values.
validate_min_max ¶
validate_min_max() -> NumberDefinitionModel
Ensure min <= max if both are specified.
AmountDefinitionModel ¶
Validation model for amount/currency question definitions.
DateDefinitionModel ¶
Validation model for date question definitions.
ComputableDefinitionModel ¶
Validation model for computable question definitions.
Computable questions compute their values from formulas.
AssistedDefinitionModel ¶
Validation model for AI-assisted question definitions.
Assisted questions use LLM to help generate field values.