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 checkRead 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.