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+.
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.
Scope
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.