{ "name": "session.pair \u2014 the extension pairs over the WebSocket transport", "description": "First run only. The daemon prompts the user and returns a 256-bit token once they approve.", "request": { "jsonrpc": "2.0", "id": 2, "method": "session.pair", "params": { "clientName": "Velox for Firefox", "extensionId": "11111111-2222-3333-4444-555555555555" } }, "response": { "jsonrpc": "2.0", "id": 2, "result": { "token": "$opaque", "expiresAt": null } }, "assertions": [ "a user prompt is shown before any token is issued \u2014 never auto-approve", "the token is at least 256 bits of entropy, base64url encoded", "the daemon stores a hash of the token, never the token itself", "this method is refused with -32003 on the Unix socket" ] }