yera.ui.rendering.forms
Render and parse reusable forms backed by Pydantic models.
Symbols
inference_form_policy
inference_form_policy(
capabilities: LLMCapabilities | None,
) → InferenceFormPolicyDerive inference-field behaviour from model capabilities.
Parameters
Capabilities advertised by the selected model.
Returns
Disabled fields and runtime-restricted choices for its inference form.
InferenceFormPolicy
Runtime form policy derived from model capabilities.
parse_model_form
parse_model_form(
model_type: type[ModelT],
form: Mapping[str, object],
exclude: frozenset[str] = frozenset(),
disabled: frozenset[str] = frozenset(),
existing: ModelT | None = None,
) → ModelTParse submitted form values into a validated Pydantic model.
Parameters
Pydantic model class defining the expected fields.
Submitted form values keyed by schema field name.
Field names that must not be read from the form.
Field names that must ignore submitted values.
Existing model whose disabled values must be preserved.
Returns
A validated instance of model_type.
Raises
If a submitted value or schema annotation is unsupported.
If the parsed values fail model validation.
render_model_fields
render_model_fields(
model: BaseModel,
id_prefix: str,
exclude: frozenset[str] = frozenset(),
disabled: frozenset[str] = frozenset(),
choices: Mapping[str, tuple[object, ...]] | None = None,
) → TrustedHTMLRender editable fields declared by a Pydantic model.
Parameters
Model instance containing the current field values.
Prefix used to create unique HTML control identifiers.
Field names that must not be rendered.
Field names that remain visible but cannot be edited or submitted.
Optional per-field choice subsets supplied by runtime capabilities.
Returns
Trusted HTML containing the generated form fields.
Raises
If an included field lacks a title or description.
If an included field uses an unsupported annotation.
render_schema_fields
render_schema_fields(
schema: Mapping[str, JsonValue],
values: Mapping[str, JsonValue],
id_prefix: str,
exclude: frozenset[str] = frozenset(),
disabled: frozenset[str] = frozenset(),
choices: Mapping[str, tuple[object, ...]] | None = None,
errors: Mapping[str, list[str]] | None = None,
readonly: bool = False,
) → TrustedHTMLRender editable fields described by a form schema.
Parameters
Inlined form schema, as produced by form_schema.
Current JSON-compatible values keyed by field name. Fields without a value use their schema default.
Prefix used to create unique HTML control identifiers.
Field names that must not be rendered.
Field names that remain visible but cannot be edited or submitted.
Optional per-field choice subsets supplied by runtime capabilities.
Validation messages keyed by dotted field path.
Show the values as a record, with no row controls, and secrets shown only as set or not set.
Returns
Trusted HTML containing the generated form fields.
Raises
If a field's widget has no reusable control yet.