Capacidades nuevas y cambios (40 -> 42 tools):
- page_perceive ahora se genera de forma NATIVA en Go sobre la conexion CDP
viva del pool (cdp_get_ax_outline_go_browser). Elimina el subprocess
`fn run cdp_perceive_outline` (Python), el venv y la dependencia del binario
`fn` en runtime (se borra resolveRoot/exec.Command). Respeta tab_select.
- page_perceive acepta frame_id para percibir DENTRO de un iframe. El campo
tab_id queda obsoleto (se ignora; usar tab_select) pero se conserva por
compatibilidad.
- frame_get_text (nueva, lectura): innerText de un iframe via
cdp_get_text_in_frame_go_browser. Activa tambien bajo --read-only.
- dom_click_xy (nueva, MUTA): click humanizado por coordenadas absolutas via
cdp_click_xy_human_go_browser, con mode human/fast/instant y auto-observe.
Fallback para actuar sobre lo que el LLM ve en page_screenshot.
- page_screenshot devuelve la imagen como image content
(cdp_screenshot_bytes_go_browser + mcp.NewToolResultImage) para que el LLM
vea los pixeles; path pasa a ser opcional (si se da, ademas guarda a disco).
- Auto-observe de las tools *_ref sube su truncado de 4000 a 8000 chars.
- Fix de seguridad documental: todas las descripciones del parametro port que
decian "Default 9222" (navegador diario del usuario) corregidas a
"Default 9333" (Chrome aislado del MCP). El codigo ya usaba 9333; la doc era
falsa y podia inducir al modelo a tocar pestanas de banca/correo.
uses_functions del app.md: +cdp_get_ax_outline, +cdp_get_text_in_frame,
+cdp_screenshot_bytes; -cdp_perceive_outline_py_pipelines.
Verificacion: go build OK, go test OK (4 unit pass, 3 e2e skip gated BMCP_E2E=1),
go vet OK, gofmt limpio, sin "Default 9222" en el codigo.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
dom_find_ref_by_text usa la nueva CdpFindRefByText del registry: encuentra por
texto y devuelve el #ref (backendDOMNodeId) listo para dom_click_ref, sin
selector CSS frágil; reporta count para ambigüedad.
Incluye WIP pre-existente ya estable: dom_click_ref/dom_hover_ref exponen
'mode' (human/fast/instant) vía MouseProfileForMode. Compila + 9 e2e verdes.