- Remove unused `from langchain_openai import ChatOpenAI` imports from
graph/setup.py, graph/reflection.py, graph/signal_processing.py, and
agents/utils/agent_states.py. The framework supports multiple LLM
providers so these type hints were incorrect and misleading.
- Clean up agents/utils/agent_states.py: remove unused imports of
Sequence, date, timedelta, datetime, ChatOpenAI, agents star-import,
ToolNode, END, StateGraph, START (only Annotated, TypedDict, and
MessagesState are actually used).
- Fix graph/trading_graph.py _log_state(): replace hardcoded
"eval_results/" relative path with config["results_dir"] so logs land
in the same configured directory as other run outputs, regardless of
the working directory the user runs from.
- Fix dataflows/y_finance.py _get_stock_stats_bulk(): add missing
`import pandas as pd` which caused a NameError on pd.isna() during
bulk indicator calculation, silently falling back to the slower
per-day loop.
Made-with: Cursor
LLMs (especially smaller models) sometimes pass multiple indicator
names as a single comma-separated string instead of making separate
tool calls. Split and process each individually at the tool boundary.
- Replace FinnHub with Alpha Vantage API in README documentation
- Implement comprehensive Alpha Vantage modules:
- Stock data (daily OHLCV with date filtering)
- Technical indicators (SMA, EMA, MACD, RSI, Bollinger Bands, ATR)
- Fundamental data (overview, balance sheet, cashflow, income statement)
- News and sentiment data with insider transactions
- Update news analyst tools to use ticker-based news search
- Integrate Alpha Vantage vendor methods into interface routing
- Maintain backward compatibility with existing vendor system
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added support for running CLI and Ollama server via Docker
- Introduced tests for local embeddings model and standalone Docker setup
- Enabled conditional Ollama server launch via LLM_PROVIDER