// Package output formats ExploreDNS traversal results for human-readable text // and machine-readable JSON output. // // The Formatter interface is the single point of contact for the traversal // engine. Two implementations are provided: // // - text formatter (default) — coloured, human-readable output. // - JSON formatter (--json flag) — structured JSON suitable for piping. // // NewFormatter selects the right implementation based on Config.Format. // RunTraversal is the high-level entry point: it attaches event hooks, // executes the traversal, fingerprints encountered servers, and writes the // final summary and flush. package output