From ae8c8aebe85179590a2af5ce4622de6b9067f9d1 Mon Sep 17 00:00:00 2001 From: Yijia-Xiao Date: Sun, 29 Mar 2026 17:50:30 +0000 Subject: [PATCH] fix: gracefully handle invalid indicator names in tool calls (#429) --- .../agents/utils/technical_indicators_tools.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tradingagents/agents/utils/technical_indicators_tools.py b/tradingagents/agents/utils/technical_indicators_tools.py index 77acf09c..dc982580 100644 --- a/tradingagents/agents/utils/technical_indicators_tools.py +++ b/tradingagents/agents/utils/technical_indicators_tools.py @@ -23,9 +23,10 @@ def get_indicators( # LLMs sometimes pass multiple indicators as a comma-separated string; # split and process each individually. indicators = [i.strip() for i in indicator.split(",") if i.strip()] - if len(indicators) > 1: - results = [] - for ind in indicators: + results = [] + for ind in indicators: + try: results.append(route_to_vendor("get_indicators", symbol, ind, curr_date, look_back_days)) - return "\n\n".join(results) - return route_to_vendor("get_indicators", symbol, indicator.strip(), curr_date, look_back_days) \ No newline at end of file + except ValueError as e: + results.append(str(e)) + return "\n\n".join(results) \ No newline at end of file