Patrick Ulrich
b46d0395a6
feat(nostr): NIP-17 private DMs and NIP-46 bunker authentication
...
Two major enhancements to the Nostr extension:
## NIP-17 Private Direct Messages
Adds NIP-17 with NIP-59 gift wrapping for privacy-preserving DMs.
Protocol comparison:
- NIP-04 (legacy): Kind 4, sender/timing visible, AES-CBC
- NIP-17 (new): Kind 1059→13→14, sender hidden, timestamps randomized ±48h, XChaCha20-Poly1305
New dmProtocol config option:
- "dual" (default): Accept both, send NIP-17
- "nip17": NIP-17 only (max privacy)
- "nip04": Legacy only
Changes:
- Subscribe to kind:4 (NIP-04) and kind:1059 (GiftWrap) events
- 48-hour lookback for NIP-17 randomized timestamps
- Unwrap gift wraps via nostr-tools/nip59
## NIP-46 Bunker Authentication
Users can connect their Nostr identity via remote signers (Amber, nsec.app).
Agent tools:
- nostr_connect: Link via bunker URL
- nostr_post: Kind 1 notes with NIP-10 threading
- nostr_react: Reactions (+/-/emoji) per NIP-25
- nostr_repost: Kind 6/16 reposts per NIP-18
- nostr_fetch: Query by author/hashtag/mentions/NIP-50 search
- nostr_article: Kind 30023 long-form content per NIP-23
- nostr_disconnect/nostr_status: Session management
Bunker features:
- Session persistence (client key saved to disk)
- NIP-65 relay discovery
- Auth URL flow for browser approval
- Multi-account via bunkerIndex
HTTP endpoints for web UI:
- GET/POST/DELETE /api/channels/nostr/:id/bunker/:idx
## Safety
- NIP-09 deletion excluded (no agent deletion capability)
- Private keys remain in signer app
- Explicit user connection required
NIPs: 01, 10, 17, 18, 23, 25, 44, 46, 50, 59, 65
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 12:27:15 -05:00
Patrick Ulrich
3130c65e74
feat(nostr): add NIP-17 private direct messages support
...
- Add NIP-17 (Private Direct Messages) with NIP-59 (Gift Wrap) support
- Subscribe to both kind:4 (NIP-04) and kind:1059 (GiftWrap) events
- Use 48-hour lookback for NIP-17 due to randomized timestamps
- Add dmProtocol config option: "dual" (default), "nip17", or "nip04"
- Send replies using NIP-17 when dmProtocol is "dual" or "nip17"
- Pass raw message text without envelope formatting
- Fix pool.publish() calls (returns array of promises)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 11:50:13 -05:00
Peter Steinberger
7eb57b691c
chore: prep 2026.1.27-beta.1 release
2026-01-28 01:35:58 +01:00
Peter Steinberger
6d16a658e5
refactor: rename clawdbot to moltbot with legacy compat
2026-01-27 12:21:02 +00:00
Peter Steinberger
72fea5e305
chore: bump version to 2026.1.26
2026-01-27 09:10:47 +00:00
Peter Steinberger
8f6542409a
chore: bump versions for 2026.1.25
2026-01-25 22:13:04 +00:00
Peter Steinberger
a22ac64c47
chore: release 2026.1.24-1
2026-01-25 14:08:20 +00:00
Peter Steinberger
3dcaa70531
chore: update deps and test timeout
2026-01-24 10:30:30 +00:00
Peter Steinberger
4ee70be690
chore: bump version to 2026.1.23
2026-01-23 22:14:56 +00:00
Peter Steinberger
b77e730657
fix: add per-channel markdown table conversion ( #1495 ) (thanks @odysseus0)
2026-01-23 18:39:25 +00:00
Peter Steinberger
3993c9a3b4
fix: stop BlueBubbles typing on idle/no-reply ( #1439 ) (thanks @Nicell)
2026-01-22 21:33:19 +00:00
Peter Steinberger
3ad0d2fe23
chore: bump version to 2026.1.21
2026-01-22 01:59:16 +00:00
Peter Steinberger
1b947dcdf9
chore: update dependencies
2026-01-22 01:47:43 +00:00
Peter Steinberger
cb7791c8a4
chore: release 2026.1.20-2
2026-01-21 08:30:33 +00:00
Peter Steinberger
bc8a59faa4
chore: release 2026.1.20-1
2026-01-21 07:37:22 +00:00
Peter Steinberger
2dfd3b9a81
chore: drop nostr node_modules links
2026-01-20 20:15:56 +00:00
Peter Steinberger
7b6cbf5869
feat: add Nostr channel plugin and onboarding install defaults
...
Co-authored-by: joelklabo <joelklabo@users.noreply.github.com>
2026-01-20 20:15:56 +00:00