1e6ed77453
- findInteractiveByText now also accepts elements carrying business attributes [dt-button-id]/[data-button-id]. The new yuanbao toolbar renders the deep-think toggle as <div dt-button-id="deep_think"> rather than a <button>, so the previous text-only locator missed it and probes silently ran in the fast model — without inline citations. - Lower <div data-idx-list="1,2,10"> placeholders to bare "[1][2][10]" (previously "[citation:1] [citation:2] [citation:10]") and accept both forms in YUANBAO_CITATION_MARKER_PATTERN. Final answer text runs through normalizeCitationMarkers so any residual SSE [citation:N] is rewritten to [N], matching DeepSeek's chip rendering on the SaaS side. - searchGuid frames in the new protocol carry every reference inside docs[] (each with a 1-based index that mirrors the answer markers) and citations is now always null. Promote docs into the citations bucket so citations[index-1] aligns with the inline marker, eliminating the spurious yuanbao_incomplete_citations failures. - Update the SaaS detail view: createYuanbaoCitationPattern accepts both "[N]" and "[citation:N]" so yuanbao answers render the same clickable superscript chips as DeepSeek. Tests cover the new searchGuid.docs alignment, fast-cache answers (no markers, no sources -> still succeed), legacy [citation:N] -> [N] rewriting, and mixed-format marker extraction. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>