Skip to content

feat(alerts): add alerts daemon for real-time WS streaming (ECINT-6417)#354

Draft
gulshngill wants to merge 1 commit intomainfrom
feat/ecint-6417-alerts-daemon-v2
Draft

feat(alerts): add alerts daemon for real-time WS streaming (ECINT-6417)#354
gulshngill wants to merge 1 commit intomainfrom
feat/ecint-6417-alerts-daemon-v2

Conversation

@gulshngill
Copy link
Copy Markdown
Contributor

Summary

Adds nansen alerts daemon — a persistent WebSocket client that connects outbound to Nansen's alert stream. No public URL or inbound ports required; works behind any firewall/NAT.

Builds on top of #341 (webhook channel support).

Changes

  • src/daemon/alerts-daemon.jsAlertsDaemon class: WS connect/reconnect, backfill, action hooks, keepalive, state persistence
  • src/commands/daemon.js — CLI subcommand: run, start, stop, status, logs
  • src/daemon/mock-server.js — local dev mock server
  • skills/nansen-alerts-daemon/SKILL.md — agent skill
  • 318 unit tests

Usage

nansen alerts daemon run                                         # foreground NDJSON
nansen alerts daemon start --action 'openclaw inject ...'       # background + hook
nansen alerts daemon status
nansen alerts daemon stop

Linear

Closes ECINT-6417

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@gulshngill gulshngill marked this pull request as draft March 26, 2026 14:33
Base automatically changed from feat/ecint-6515-webhook-channel to main March 26, 2026 17:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant