fix(gateway): log failed transformed-final edits; make fail_result required

The transformed-branch caller passed fail_result=None, so a rejected edit was
silent. Give it a real log string, drop the None branch and fix the docstring.
This commit is contained in:
kshitijk4poor
2026-09-24 19:52:54 +05:30
committed by kshitij
parent 20fb755609
commit 4cc2b17e8e

View File

@@ -3975,11 +3975,12 @@ class GatewayTurnMixin:
logger.debug("background turn task failed during cleanup", exc_info=True)
async def _run_agent_edit_streamed_message(
self, _sc, source, response, content, *, _sk, ok, fail_result, fail_exc,
self, _sc, source, response, content, *, _sk, ok, fail_result: str, fail_exc: str,
) -> None:
"""Edit the stream consumer's message in place with ``content``; on success mark
``response["already_sent"]`` and log ``ok``. ``fail_result`` (None = trust the call) logs a
returned failure as ``(session, error)``; ``fail_exc`` logs an exception as ``(session, exc)``."""
``response["already_sent"]`` and log ``ok``. A returned failure logs ``fail_result`` as
``(session, error)`` and an exception logs ``fail_exc`` as ``(session, exc)``; either way
``already_sent`` stays unset so the normal final send delivers the content."""
try:
_res = await _sc.adapter.edit_message(
chat_id=source.chat_id, message_id=_sc.message_id, content=content, finalize=True,
@@ -3988,8 +3989,7 @@ class GatewayTurnMixin:
logger.warning(fail_exc, _sk, _edit_err)
return
if not getattr(_res, "success", True):
if fail_result is not None:
logger.warning(fail_result, _sk, getattr(_res, "error", None))
logger.warning(fail_result, _sk, getattr(_res, "error", None))
return
response["already_sent"] = True
logger.info(*ok)
@@ -4066,7 +4066,8 @@ class GatewayTurnMixin:
await self._run_agent_edit_streamed_message(
_sc, source, response, response["final_response"], _sk=_sk,
ok=("Edited streamed message %s for session %s to include plugin-transformed content.", _sc.message_id, _sk),
fail_result=None, fail_exc="Failed to edit streamed message for session %s: %s",
fail_result="Transformed-final edit failed for session %s (%s); sending transformed response via normal final send.",
fail_exc="Failed to edit streamed message for session %s: %s",
)
elif _sc is not None and getattr(_sc, "stream_deltas_enabled", True):
# DUPLICATE-RISK DIAGNOSTIC: a stream consumer existed but suppression did NOT fire; log