mirror of
https://github.com/TauricResearch/TradingAgents.git
synced 2026-09-26 22:42:40 +03:00
- tools.py: the analysts' data tools, previously seven modules under utils - context.py (was agent_utils, without its tool re-exports), state.py, rating.py and structured.py sit beside schemas.py - every role package has an __init__
26 lines
735 B
Python
26 lines
735 B
Python
"""Guard the news analyst prompt against tool-signature drift (#1116).
|
|
|
|
The prompt used to advertise ``get_news(query, ...)`` while the tool takes a
|
|
``ticker``, tricking the LLM into hallucinating free-text query calls.
|
|
"""
|
|
import inspect
|
|
|
|
import pytest
|
|
|
|
import tradingagents.agents.analysts.news_analyst as na
|
|
from tradingagents.agents.tools import get_news
|
|
|
|
|
|
@pytest.mark.unit
|
|
def test_get_news_takes_ticker_not_query():
|
|
arg_names = set(get_news.args.keys())
|
|
assert "ticker" in arg_names
|
|
assert "query" not in arg_names
|
|
|
|
|
|
@pytest.mark.unit
|
|
def test_news_prompt_matches_get_news_signature():
|
|
src = inspect.getsource(na)
|
|
assert "get_news(ticker, start_date, end_date)" in src
|
|
assert "get_news(query" not in src
|