mirror of
https://github.com/katanemo/plano.git
synced 2026-05-21 13:55:15 +02:00
Validate model listener filter references before serving traffic (#947)
* Validate output filter references * ci: trigger workflows for org member
This commit is contained in:
parent
5a4487fc6e
commit
241a181d3a
3 changed files with 160 additions and 26 deletions
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue