Validate model listener filter references before serving traffic (#947)

* Validate output filter references

* ci: trigger workflows for org member
This commit is contained in:
mukeshbaphna 2026-05-19 13:53:41 -07:00 committed by GitHub
parent 5a4487fc6e
commit 241a181d3a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 160 additions and 26 deletions

View file

@ -562,15 +562,15 @@ def validate_and_render_schema():
"Please provide model_providers either under listeners or at root level, not both. Currently we don't support multiple listeners with model_providers"
)
# Validate input_filters IDs on listeners reference valid agent/filter IDs
# Validate listener-level filter IDs reference valid agent/filter IDs.
for listener in listeners:
listener_input_filters = listener.get("input_filters", [])
for fc_id in listener_input_filters:
if fc_id not in agent_id_keys:
raise Exception(
f"Listener '{listener.get('name', 'unknown')}' references input_filters id '{fc_id}' "
f"which is not defined in agents or filters. Available ids: {', '.join(sorted(agent_id_keys))}"
)
for filter_field in ("input_filters", "output_filters"):
for fc_id in listener.get(filter_field, []):
if fc_id not in agent_id_keys:
raise Exception(
f"Listener '{listener.get('name', 'unknown')}' references {filter_field} id '{fc_id}' "
f"which is not defined in agents or filters. Available ids: {', '.join(sorted(agent_id_keys))}"
)
# Validate model aliases if present
if "model_aliases" in config_yaml: