feat(chat): panel Echo + gx-cli MCP server con tools tipadas
Anade panel "Echo" — copiloto OSINT que invoca claude -p con un MCP server propio (gx-cli) exponiendo el grafo como tools tipadas: info, node_*, rel_*, table_*, enricher_*, query. Cambios: - chat.cpp/h: panel UI dockeable con history, raw stream-json toggle, spawn de claude -p con system prompt OSINT, ChatMessage con USER/ ASSISTANT/TOOL_USE/TOOL_RESULT/SYSTEM/ERROR_MSG, escritura de mcp.json con paths Linux para WSL en Windows. - gx-cli: binario MCP standalone que valida cada tool, abre operations.db en RW, escribe agent_mutations counter para que el viewport detecte cambios en vivo. - CMakeLists.txt: anade chat.cpp al target. - views.h: panel_chat boolean en AppState. - main.cpp: integracion del panel Chat (rename a Echo en menubar + init), refresh de contexto al cambiar operations.db, drain de cola agent_jobs tras enricher_run. Mensajes del panel renderizan con fn_ui::selectable_text_wrapped_force (wrap forzado + seleccion) para que URLs/JSON largos no se clippeen y permitan copy/paste. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in: