Merge remote-tracking branch 'upstream/main' into crypto-analysis-mvp

# Conflicts:
#	cli/utils.py
#	tradingagents/agents/analysts/social_media_analyst.py
#	tradingagents/agents/researchers/bear_researcher.py
This commit is contained in:
CadeYu committed 2026-05-11 16:41:09 +08:00
commit a2f343bb54
40 files changed
+1731 -254

No files matched your search

+5 -1
View File
@@ -54,7 +54,11 @@ class GraphSetup:
tool_nodes["market"] = self.tool_nodes["market"]
if "social" in selected_analysts:
analyst_nodes["social"] = create_social_media_analyst(
# "social" selector key preserved for back-compat with existing
# user configs; the underlying agent has been renamed to
# sentiment_analyst (the old name advertised social-media data
# the agent never had access to — see issue #557).
analyst_nodes["social"] = create_sentiment_analyst(
self.quick_thinking_llm
)
delete_nodes["social"] = create_msg_delete()
+8 -2
View File
@@ -116,7 +116,9 @@ class TradingAgentsGraph:
self.conditional_logic,
)
self.propagator = Propagator()
self.propagator = Propagator(
max_recur_limit=self.config.get("max_recur_limit", 100),
)
self.reflector = Reflector(self.quick_thinking_llm)
self.signal_processor = SignalProcessor(self.quick_thinking_llm)
@@ -322,7 +324,11 @@ class TradingAgentsGraph:
else:
chunk["messages"][-1].pretty_print()
trace.append(chunk)
final_state = trace[-1]
# Streamed chunks are per-node deltas. Merge them so the returned
# state matches what graph.invoke() yields in the non-debug path.
final_state = {}
for chunk in trace:
final_state.update(chunk)
else:
final_state = self.graph.invoke(init_agent_state, **args)