- Added top-ranked models from OpenRouter.ai rankings:
- Kimi K2.5 0127 (#1 ranked)
- Claude Opus 4.5 / Sonnet 4.5
- Gemini 3 Flash Preview / 2.5 Flash / 2.5 Flash Lite
- Deepseek V3.2
- Grok 4.1 Fast / Grok Code Fast 1
- Minimax M2.1
- Refactored SHALLOW_AGENT_OPTIONS and DEEP_AGENT_OPTIONS to module-level constants
- Added comprehensive tests for OpenRouter model configuration in tests/test_cli_utils.py
- Preserved existing free models (Nemotron, GLM)
The model options dictionaries were moved from function scope to module level
to enable better testing and reusability.
- Add save prompt after analysis with organized subfolder structure
- Fix report truncation by using sequential panels instead of Columns
- Add optional full report display prompt
- Add update_analyst_statuses() for unified status logic (pending/in_progress/completed)
- Normalize analyst selection to predefined ANALYST_ORDER for consistent execution
- Add message deduplication to prevent duplicates from stream_mode=values
- Restructure streaming loop so state handlers run on every chunk
- Add StatsCallbackHandler for tracking LLM calls, tool calls, and tokens
- Integrate callbacks into TradingAgentsGraph and all LLM clients
- Dynamic agent/report counts based on selected analysts
- Fix report completion counting (tied to agent completion)
- 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