INNER CODE UNIT · Python
_ui_guardrails_config
Fincept-Corporation/FinceptTerminal · fincept-qt/scripts/agents/finagent_core/main.py:138
def _ui_guardrails_config(ui_cfg: Any):
"""Translate the CREATE tab's guardrail checkboxes into GuardrailsModule.from_config keys.
The editor saves `guardrails: true` plus `guardrails_config` =
{pii_detection, injection_check, financial_compliance}. Nothing read that block,
so ticking a single protection still enabled the full default set. Returns None
(-> default_financial, the previous behaviour) unless at least one box is ticked.
"""
if not isinstance(ui_cfg, dict):
return None
pii = bool(ui_cfg.get("pii_detection"))
injection = bool(ui_cfg.get("injection_check"))
compliance = bool(ui_cfg.get("financial_compliance"))
if not (pii or injection or compliance):
return None
cfg: Dict[str, Any] = {"pii_protection": pii, "injection_protection": injection}
if compliance:
cfg["trading_compliance"] = {"max_position_pct": 0.10}