Open source · Product & Operations

Notification Deduplicator

Collapse duplicate notifications while preserving the highest-value signal.

v1.0.0 · Node.js 22+ · MIT

Browse the public repository · View releases

Inspect an exported event list and report which entries a TTL policy would retain or collapse. This is a dry, offline analysis: it never sends, schedules, or deletes a notification.

This walkthrough uses the tool's public README and checked-in example files. Run the command from a repository checkout with Node.js 22+; inspect the source before using it on your own files.

Run the checked-in example

node bin/notification-deduplicator.mjs --events examples/pass.json --policy examples/policy.json --json
node bin/notification-deduplicator.mjs --events examples/duplicate.json --policy examples/policy.json --human
npm run check

Read the result

Stdout is one JSON report in both modes. --human adds a short summary to stderr. --help prints usage. Exit 0 means a complete export with no collapsible duplicates, 1 means at least one duplicate would collapse, and 2 means configuration invalid or event evidence incomplete. Invalid configuration leaves stdout empty; unreadable or malformed event input produces an incomplete report.

Where this check stops

Each JSON document is limited to 2 MiB, nested depth 32, and the event list to 10,000 records. Event evaluation has a five-second deadline. Exceeding an event-input limit is incomplete, never a truncated pass. Timestamps are not inferred from the host clock. The tool does not resolve identity aliases, rate limits, escalation destinations, or whether two events should semantically share a key. It does not contact a provider or perform notification actions.

Before adapting the command to your own workflow, review the accepted inputs, exit codes and safety boundaries in the README.

Compiled with AI assistance from checked-in public documentation and example scripts. Run the example and review the repository's current documentation before relying on its result.