- Removed dependency on client-side `marked.js` and CDNs.
- Reports are now fully offline-capable.
- Cleaned up JSON keys to remove `.md` extensions for cleaner data structure.
- **Google News Adapter**: Implemented `get_google_global_news` adapter in `google.py` to match the standard `(curr_date, look_back_days)` interface, adhering to the Adapter Pattern and fixing signature mismatches.
- **Robust Demo Script**: Created `run_agent.py` (replacing demo scripts) with:
- Automatic `.env` loading.
- `backend_url` handling (clearing OpenAI defaults when using Anthropic).
- Hardened configuration for "Deep Analysis" (Debate Rounds=2).
- Pre-configured Google News vendor to bypass AlphaVantage rate limits.
### Fixed
- **Rate Limit Crash**: Fixed `AlphaVantageRateLimitError` by switching default news vendor to Google in `run_agent.py`.
route_to_vendor
to treat empty/whitespace-only results as failures, ensuring the fallback chain continues to the next vendor.
Analyst Nodes: Removed destructive logic that was overwriting real company names with ticker symbols in the anonymizer state.
Fixed
News Vendors: Resolved a TypeError in Google news results and removed the non-functional OpenAI news implementations.
Report Generator: Fixed a NameError related to sys and restored path-parsing logic in
- **Configurable Embeddings Truncation**: Added `EMBEDDING_TRUNCATION_LIMIT` env var (default 1000) to prevent `413 Payload Too Large` errors with local models.