{ "name": "session.hello \u2014 a GUI client connects over the Unix socket", "description": "The handshake every client makes first. Matching majors, so the daemon answers with its capability list.", "request": { "jsonrpc": "2.0", "id": 1, "method": "session.hello", "params": { "clientType": "gui", "clientName": "velox-gui 0.1.0", "protocolVersion": "1.0.0" } }, "response": { "jsonrpc": "2.0", "id": 1, "result": { "daemonVersion": "0.1.0", "protocolVersion": "1.0.0", "capabilities": [ "media", "grabber", "secretservice" ], "sessionId": "$uuid", "transport": "uds" } }, "assertions": [ "the reply names a protocolVersion whose major matches the request's", "sessionId is a fresh uuid per connection, not per client", "no token is required on the Unix socket: SO_PEERCRED already proved same-UID", "replayed on the Unix socket only: the same call without a token is -32002 over the WebSocket" ], "transport": "uds" }