Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion agent/title_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
def generate_title(
user_message: str,
assistant_response: str,
timeout: float = 30.0,
timeout: Optional[float] = None,
failure_callback: Optional[FailureCallback] = None,
main_runtime: dict = None,
) -> Optional[str]:
Expand Down
31 changes: 31 additions & 0 deletions tests/agent/test_title_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,37 @@ def test_returns_title_on_success(self):
title = generate_title("help me fix this import", "Sure, let me check...")
assert title == "Debugging Python Import Errors"

def test_default_timeout_delegates_to_auxiliary_config(self):
captured_kwargs = {}

def mock_call_llm(**kwargs):
captured_kwargs.update(kwargs)
resp = MagicMock()
resp.choices = [MagicMock()]
resp.choices[0].message.content = "Configured Timeout"
return resp

with patch("agent.title_generator.call_llm", side_effect=mock_call_llm):
assert generate_title("question", "answer") == "Configured Timeout"

assert captured_kwargs["task"] == "title_generation"
assert captured_kwargs["timeout"] is None

def test_explicit_timeout_still_overrides_config(self):
captured_kwargs = {}

def mock_call_llm(**kwargs):
captured_kwargs.update(kwargs)
resp = MagicMock()
resp.choices = [MagicMock()]
resp.choices[0].message.content = "Explicit Timeout"
return resp

with patch("agent.title_generator.call_llm", side_effect=mock_call_llm):
assert generate_title("question", "answer", timeout=123.0) == "Explicit Timeout"

assert captured_kwargs["timeout"] == 123.0

def test_strips_quotes(self):
mock_response = MagicMock()
mock_response.choices = [MagicMock()]
Expand Down