diagnostics library

Structured diagnostics: the sink port, its events, notices and failures, and the two sinks that need no platform (a bounded ring and a discard).

Imports nothing, so a package that must stay web-linkable or dependency-light can take this entry point without the rest of tom_basics. The rolling log file is package:tom_basics/diagnostics_io.dart; the bridge that sends TomLogger lines into a sink is in package:tom_basics/tom_basics.dart.

Classes

TomDiagnosticEvent
One structured entry.
TomDiagnosticNotice
A finding that has to be both shown and logged.
TomDiagnostics
Where structured events go.
TomInMemoryDiagnostics
A bounded in-memory sink.
TomNullDiagnostics
The sink a build that logs nowhere gets.
TomStructuredFailure
A failure that can say what it is without its text.

Enums

TomDiagnosticLevel
How much the reader is meant to care.

Functions

tomFailureFields(Object error) → Map<String, Object>
The field map a failure is logged under: its type, and whatever it says about itself structurally (TomStructuredFailure). Never its text.