feat(protocol): advertise VNC and MCP capability bits #153
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/VA-141-vnc-mcp-capability-bits"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The agent serves three tunnels nobody can discover: the x11vnc/wayvnc bridge (USAGE_VNC 6), the in-process RFB server (USAGE_VNC_NATIVE 9), and the MCP JSON-RPC tunnel (USAGE_MCP 8). The capability bitfield had no bit covering any of them, so
detect_capabilities()advertised TERMINAL | FILES | CONSOLE | AGENT_UPDATE_ZSTD (plus DESKTOP on Linux) and the frontend, which gates its per-device tunnel buttons on that bitmap, hid the buttons for tunnels that work today.Add
Capabilities::VNC(0x400) andCapabilities::MCP(0x800) and set both unconditionally. One VNC bit covers both usage 6 and usage 9: the native RFB server is compiled with no cfg gate and needs no host binary, so some VNC path always answers and the choice is made at tunnel-open. MCP is likewise unconditional;mutating-toolschanges the tool surface, not whether the tunnel answers.The bit-by-bit audit comment above
detect_capabilities()gains entries for both bits naming their implementing modules, and the pinneddetect_capabilities_matches_wired_subsystemstest carries them in both its symbolic and numeric expected values plus explicit contains-assertions.Capabilitiesis a hand-synced duplicate ofvervain-agent-protoin vervain-server; the mirroring change there is tracked in VS-96 and is required before this is observable, and the frontend gating is tracked in VAPP-90.#VA-141