fix(server): strip visual-grounding markup in the tool-suppression branch too
The two streaming call sites read
if _suppress_markup_display and emit_content:
... _suppressed_tool_display_delta(...)
elif emit_content:
... _visual_grounding_display_delta(...)
so a family that suppresses native tool markup took the first branch and
never reached the grounding stripper. zaya_xml is exactly such a family, and
ZAYA-VL emits <|point_start|>tool<|point_end|> as control markup -- which
went out as visible assistant text in both the chat and Responses streams.
The strip now happens inside _suppressed_tool_display_delta as well, applied
before the tool-marker scan so that scan never sees grounding spans it has no
business interpreting. Coordinate-bearing spans keep their inner text as
before; pure control spans are dropped.
tests/test_server.py: 137 -> 139 passing. J
Jinho Jang committed
a94a6f4c45acaf7f36c14f6dc23a9386b85b6d83
Parent: 841925d