mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-10 00:16:59 +00:00
Two new nak-parity commands: - `amy admin RELAY METHOD [args]` — NIP-86 Relay Management API over NIP-98 HTTP auth. Full method set: ban/unban + allow/unallow pubkey, ban/allow event, allow/disallow kind, block/unblock IP, change name/description/icon, and all list-* queries. Reuses quartz's Nip86Client (request build + NIP-98 auth + parse) and the Nip86Retriever HTTP path — extracted from amethyst to commons/jvmAndroid so amy and the Android relay-management screen share it. - `amy serve [--host --port --path --db --admin]` — runs a Nostr relay by embedding geode (the standalone Ktor relay on quartz's relay-server code). In-memory by default (ephemeral, like nak serve); --db FILE for SQLite. The account's own pubkey is always an admin, so `amy admin` works against it out of the box. cli gains a :geode dependency (geode depends only on :quartz) and kotlinx-serialization-json (to render NIP-86 JSON results). Verified end-to-end: `amy serve` + `amy admin ws://127.0.0.1:PORT supported-methods|change-name|ban-pubkey|list-banned-pubkeys` round-trip cleanly over real HTTP + NIP-98 against the live geode relay. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011SapGdtAc1j7woifoCZ9fY