All checks were successful
check / check (push) Successful in 4s
- Rename Go module path: git.eeqj.de/sneak/chat -> git.eeqj.de/sneak/neoirc - Rename binary: chatd -> neoircd, chat-cli -> neoirc-cli - Rename cmd directories: cmd/chatd -> cmd/neoircd, cmd/chat-cli -> cmd/neoirc-cli - Rename Go package: chatapi -> neoircapi - Update Makefile: binary name, build targets, docker image tag, clean target - Update Dockerfile: binary paths, user/group names, ENTRYPOINT - Update .gitignore and .dockerignore - Update all Go imports and doc comments - Update default server name fallback: chat -> neoirc - Update web client: localStorage keys, page title, default server name - Update all schema $id URLs and example hostnames - Update README.md: project name, binary references, examples, directory tree - Update AGENTS.md: build command reference - Update test fixtures: app name and channel names
38 lines
1.4 KiB
JSON
38 lines
1.4 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://git.eeqj.de/sneak/neoirc/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" } }
|
|
]
|
|
}
|