fix(webui): hide subagent backfill payloads
This commit is contained in:
@@ -17,7 +17,8 @@ from urllib.parse import unquote, urlparse
|
||||
from loguru import logger
|
||||
|
||||
from nanobot.config.paths import get_webui_dir
|
||||
from nanobot.session.automation_turns import is_automation_history_message, is_automation_kind
|
||||
from nanobot.session.automation_turns import is_automation_kind
|
||||
from nanobot.session.history_visibility import is_hidden_history_message
|
||||
from nanobot.session.manager import SessionManager
|
||||
from nanobot.webui.metadata import WEBUI_MESSAGE_SOURCE_METADATA_KEY, WEBUI_TURN_METADATA_KEY
|
||||
|
||||
@@ -782,7 +783,7 @@ def write_session_messages_as_transcript(
|
||||
target_chat_id = _chat_id_from_session_key(target_key)
|
||||
rows: list[dict[str, Any]] = []
|
||||
for msg in messages:
|
||||
if is_automation_history_message(msg):
|
||||
if is_hidden_history_message(msg):
|
||||
continue
|
||||
role = msg.get("role")
|
||||
content = msg.get("content")
|
||||
@@ -854,13 +855,28 @@ def build_user_transcript_event(
|
||||
return event
|
||||
|
||||
|
||||
def _is_legacy_raw_subagent_result(message: dict[str, Any]) -> bool:
|
||||
content = message.get("content")
|
||||
if not isinstance(content, str):
|
||||
return False
|
||||
text = content.replace("\r\n", "\n").strip()
|
||||
return (
|
||||
text.startswith("[Subagent '")
|
||||
and "\n\nTask:" in text
|
||||
and "\n\nResult:" in text
|
||||
and "Summarize this naturally" in text
|
||||
)
|
||||
|
||||
|
||||
def _session_user_event(
|
||||
session_key: str,
|
||||
message: dict[str, Any],
|
||||
) -> dict[str, Any] | None:
|
||||
if message.get("role") != "user":
|
||||
return None
|
||||
if is_automation_history_message(message):
|
||||
if is_hidden_history_message(message):
|
||||
return None
|
||||
if _is_legacy_raw_subagent_result(message):
|
||||
return None
|
||||
content = message.get("content")
|
||||
text = content if isinstance(content, str) else ""
|
||||
|
||||
Reference in New Issue
Block a user