ndr manages its own identity in its config.json - no need for
clawdbot to know or store the private key.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
When sending messages to an npub, the plugin now:
- Converts npub bech32 to hex pubkey
- Looks up the chat list to find matching their_pubkey
- Returns the chat_id for the actual send
Includes helpful error message listing available chats if
the pubkey isn't found.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add media.ts helper module to detect and download nhash URLs
- Auto-download nhash1.../filename.ext URLs in incoming messages
- Pass MediaPath/MediaType/MediaUrl to inbound context
- Enable media capability flag
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Adds NDR (Nostr Double Ratchet) as a channel extension providing
forward-secure E2E encrypted messaging over Nostr relays.
Features:
- Full channel implementation with send/receive/react
- Onboarding flow with invite URL acceptance and hello message
- Auto-generated identity if not configured
- Configurable relays (defaults to popular Nostr relays)
- Owner pubkey authentication for message filtering
Requires external `ndr` CLI (cargo install ndr).
Control surface: chat.iris.to
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>