{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://git.eeqj.de/sneak/chat/schema/commands/PUBKEY.json", "title": "PUBKEY", "description": "Announce or relay a user's public signing key. C2S: client announces key to channel or server. S2C: server relays to channel members. Protocol extension (not in RFC 1459). Body is a structured object (not an array) containing the key material.", "$ref": "../message.json", "properties": { "command": { "const": "PUBKEY" }, "from": { "type": "string", "description": "Nick announcing the key (set by server on relay)." }, "to": { "type": "string", "description": "Target: #channel to announce to channel members, or omit for server-wide announcement." }, "body": { "type": "object", "description": "Key material.", "properties": { "alg": { "type": "string", "description": "Key algorithm.", "enum": ["ed25519"] }, "key": { "type": "string", "description": "Base64-encoded public key." } }, "required": ["alg", "key"], "additionalProperties": false } }, "required": ["command", "body"], "examples": [ { "command": "PUBKEY", "from": "alice", "body": { "alg": "ed25519", "key": "base64-encoded-pubkey" } }, { "command": "PUBKEY", "from": "alice", "to": "#general", "body": { "alg": "ed25519", "key": "base64-encoded-pubkey" } } ] }