* fix(web): the browser client advertises the desktop's chat capabilities, so its host opens chats
The browser client's handshake never named agent-session.structured.v1, so a paired
host refused every agentSession call with structured_agent_session_unsupported and
withheld chat tabs. The desktop window, the Electron remote handshake and the browser
client now build their lists from one shared array of what the renderer's chat implements.
Fixes#32145
* refactor(web): keep the browser client's capability list beside the desktop's in shared
The host-side test parses both handshakes with the host's own parser, which the node
typecheck project can only import from src/shared.
* test(web): assert close-intent support in the auth frame, not the whole capability list