TradingAgents/tradingagents/llm_clients
Ahmet Guzererler 61668fed6b feat: Complete 3-phase LLM scanner pipeline with inline tool execution
The scanner pipeline now runs end-to-end: Phase 1 (geopolitical, market
movers, sector scanners in parallel via Ollama), Phase 2 (industry deep
dive), Phase 3 (macro synthesis via OpenRouter/DeepSeek R1).

Key changes:
- Add tool_runner.py with run_tool_loop() for inline tool execution in
  scanner agents (scanner graph has no ToolNode, unlike trading graph)
- Fix vendor fallback: catch AlphaVantageError base class, raise on
  total failure instead of embedding errors in return values
- Rewrite yfinance sector perf to use SPDR ETF proxies (Sector.overview
  has no performance data)
- Fix Ollama remote host support in openai_client.py
- Add LangGraph state reducers for parallel fan-out writes
- Add --date CLI flag for non-interactive scanner invocation
- Fix .env loading to find keys from both CWD and project root
- Add hybrid LLM config (per-tier provider/backend_url)
- Add project tracking: DECISIONS.md, PROGRESS.md, MISTAKES.md
- Add 9 new test files covering exceptions, fallback, and routing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 08:41:40 +01:00
..
TODO.md feat: add multi-provider LLM support with factory pattern 2026-02-03 22:27:20 +00:00
__init__.py feat: add multi-provider LLM support with factory pattern 2026-02-03 22:27:20 +00:00
anthropic_client.py feat: add footer statistics tracking with LangChain callbacks 2026-02-03 22:27:20 +00:00
base_client.py feat: add multi-provider LLM support with factory pattern 2026-02-03 22:27:20 +00:00
factory.py feat: add footer statistics tracking with LangChain callbacks 2026-02-03 22:27:20 +00:00
google_client.py feat: add footer statistics tracking with LangChain callbacks 2026-02-03 22:27:20 +00:00
openai_client.py feat: Complete 3-phase LLM scanner pipeline with inline tool execution 2026-03-17 08:41:40 +01:00
validators.py feat: add footer statistics tracking with LangChain callbacks 2026-02-03 22:27:20 +00:00