{#- chirp-ui: Parameter override controls Tri-state per-parameter override for AI chat/agent params. Each param either inherits a model/agent default (value = null/absent) or carries a custom override. Pairs with config_schema.project_fields for the inner control. Usage: {% from "chirpui/param_override.html" import param_field, advanced_params, scope_indicator %} {% call advanced_params() %} {{ param_field("temperature", value=0.9, default=0.7, widget="range", min=0, max=2, step=0.1, label="Temperature") }} {{ param_field("model", value=none, default="gpt-4o", widget="select", choices=models, label="Model", locked=true, locked_reason="Set by your workspace admin") }} {% end %} -#} {# One overridable parameter. value=none -> inherit default; any value -> custom. locked=true renders the control disabled with a lock badge + reason tooltip. #} {% def param_field(name, value=none, default=none, widget="text", label=none, choices=none, min=0, max=100, step=1, errors=none, hint=none, locked=false, locked_reason="") %} {% set _label = label if label is not none else name %} {% set _overridden = value is not none %}