fix(tests): resolve remaining CI failures — commit_memory_session, already_sent, timezone leak, session env (#10785)
Fixes 12 CI test failures: 1. test_cli_new_session (4): _FakeAgent missing commit_memory_session attribute added in the memory provider refactoring. Added MagicMock. 2. test_run_progress_topics (1): already_sent detection only checked stream consumer flags, missing the response_previewed path from interim_assistant_callback. Restructured guard to check both paths. 3. test_timezone (1): HERMES_TIMEZONE leaked into child processes via _SAFE_ENV_PREFIXES matching HERMES_*. The code correctly converts it to TZ but didn't remove the original. Added child_env.pop(). 4. test_session_env (1): contextvars baseline captured from a different context couldn't be restored after clear. Changed assertion to verify the test's value was removed rather than comparing to a fragile baseline. 5. test_discord_slash_commands (5): already fixed on current main.
This commit is contained in:
@@ -9472,13 +9472,17 @@ class GatewayRunner:
|
||||
# final answer. Suppressing delivery here leaves the user staring
|
||||
# at silence. (#10xxx — "agent stops after web search")
|
||||
_sc = stream_consumer_holder[0]
|
||||
if _sc and isinstance(response, dict) and not response.get("failed"):
|
||||
if isinstance(response, dict) and not response.get("failed"):
|
||||
_final = response.get("final_response") or ""
|
||||
_is_empty_sentinel = not _final or _final == "(empty)"
|
||||
if not _is_empty_sentinel and (
|
||||
_streamed = _sc and (
|
||||
getattr(_sc, "final_response_sent", False)
|
||||
or getattr(_sc, "already_sent", False)
|
||||
):
|
||||
)
|
||||
# response_previewed means the interim_assistant_callback already
|
||||
# sent the final text via the adapter (non-streaming path).
|
||||
_previewed = bool(response.get("response_previewed"))
|
||||
if not _is_empty_sentinel and (_streamed or _previewed):
|
||||
response["already_sent"] = True
|
||||
|
||||
return response
|
||||
|
||||
Reference in New Issue
Block a user