mod artifact;
mod artifact_writer;
mod attribute;
mod canonical;
mod capsule;
mod captured;
mod cargo;
mod compiler;
mod delta;
mod delta_artifact;
mod delta_policy;
mod diagnostic;
mod documentation;
mod export;
mod fingerprint;
mod fixer;
mod fixplan;
mod forensics;
mod git_provenance;
mod intelligence;
pub mod interop;
mod redaction;
mod relationship;
mod remediation;
mod remediation_evidence;
mod remediation_receipt;
mod remediation_replay;
mod report;
mod reporter;
mod result_ext;
mod rotation;
mod severity;
mod sink;
mod source;
mod suggestion;
mod typed;
#[cfg(any(
feature = "anyhow",
feature = "ariadne",
feature = "annotate-snippets",
feature = "codespan-reporting",
feature = "miette",
feature = "tracing"
))]
pub mod integrations;
#[cfg(feature = "terminal-docs")]
pub mod docs;
pub mod project_scan;
pub mod render;
pub use artifact::{
ArtifactDigest, ArtifactEncoding, ArtifactVerificationError, DELTA_V1_MEDIA_TYPE,
ExportPolicyDescriptor, ExportReceipt, ExportedArtifact, RECEIPT_V1_SCHEMA, ReceiptEvaluation,
};
pub use artifact_writer::{ArtifactWriteError, ArtifactWriter, PersistedArtifact};
pub use attribute::{DiagnosticAttribute, DiagnosticValue};
pub use canonical::{CANONICAL_V1_NAMESPACE, CanonicalizationError, CanonicalizationVersion};
pub use capsule::{
CAPSULE_PROVENANCE_V1_SCHEMA, CAPSULE_SOURCE_INDEX_V1_SCHEMA, CapsuleEntryKind,
CapsuleManifestEntry, CapsulePolicyDescriptor, CapsuleProvenance, CapsuleSourceEntry,
CapsuleSourceIndex, DIAGNOSTIC_CAPSULE_V1_SCHEMA, DiagnosticCapsule, DiagnosticCapsuleError,
DiagnosticCapsuleManifest, DiagnosticCapsulePolicy, DiagnosticCapsuleVerification,
PersistedDiagnosticCapsule,
};
pub use captured::CapturedDiagnostic;
#[cfg(feature = "derive")]
pub use diagprint_derive::Diagnostic;
pub use cargo::{
CargoArtifact, CargoBuildFinished, CargoBuildScript, CargoBuildSummary,
CargoCompilerDiagnostic, CargoDependency, CargoDependencyKind, CargoImportError, CargoMessage,
CargoPackage, CargoPackageIdentity, CargoProfile, CargoStreamImporter, CargoTarget,
CargoUnknownMessage, CargoWorkspace,
};
pub use compiler::{CompilerImportError, CompilerImporter};
pub use diagnostic::{Cause, Diagnostic, Label, LabelKind, SourceLocation};
pub use delta::{DeltaCounts, DeltaKind, DiagnosticChange, DiagnosticDelta};
pub use delta_artifact::{
DELTA_V1_SCHEMA, DeltaArtifact, DeltaArtifactCounts, DeltaArtifactEntry,
DeltaArtifactEvaluation, DeltaArtifactFingerprintPolicy, DeltaArtifactPolicy,
DeltaArtifactViolation,
};
pub use delta_policy::{DeltaEvaluation, DeltaPolicy, DeltaRule, DeltaViolation};
pub use documentation::{DocumentationError, DocumentationResolver};
pub use fingerprint::{
DiagnosticDigest, DiagnosticFingerprint, DigestAlgorithm, FingerprintPolicy, FingerprintSource,
IDENTITY_ATTRIBUTE, ReportDigest,
};
pub use forensics::{
DIAGNOSTIC_CASE_FILE_V1_SCHEMA, DIAGNOSTIC_TIMELINE_V1_SCHEMA, DiagnosticCaseFile,
DiagnosticCaseRun, DiagnosticCaseStatus, DiagnosticCleanWindow, DiagnosticCleanWindowKind,
DiagnosticEpisode, DiagnosticTimeline, DiagnosticTimelineEvent, DiagnosticTimelinePhase,
DiagnosticTimelineRun,
};
pub use git_provenance::{
GIT_PROVENANCE_V1_SCHEMA, GitProvenanceBinding, GitProvenanceError, GitProvenanceRecord,
};
pub use fixer::{FixCheck, FixError, FixPreview, FixReport, Fixer, RollbackFailure};
pub use fixplan::{
FIX_PLAN_DESCRIPTOR_V1_SCHEMA, FileCheck, FileCheckFailure, FixPlan, FixPlanCheck,
FixPlanDescriptor, FixPlanError, FixPlanPreview, FixPlanReport,
};
pub use interop::{
DiagnosticTree, InteropDiagnostic, InteropDiagnosticSource, InteropDiagnosticSourceExt,
InteropLabel,
};
pub use render::{GithubActionsDeltaRenderer, ReportRenderer, SeverityTheme, Style, Theme};
pub use redaction::{
REDACTED, RedactionPolicy, Sensitive, is_sensitive_key, sanitize_path, sanitize_url,
};
pub use relationship::{
DIAGNOSTIC_RELATIONSHIP_GRAPH_V1_SCHEMA, DIAGNOSTIC_RELATIONSHIP_SNAPSHOT_V1_SCHEMA,
DiagnosticRelationship, DiagnosticRelationshipDirection, DiagnosticRelationshipError,
DiagnosticRelationshipEvidence, DiagnosticRelationshipEvidenceFilter,
DiagnosticRelationshipGraph, DiagnosticRelationshipGraphBuilder, DiagnosticRelationshipKind,
DiagnosticRelationshipNode, DiagnosticRelationshipSnapshot,
};
pub use export::{
ExportAttributes, ExportDiagnostic, ExportDocumentationLink, ExportLabel, ExportPath,
ExportPolicy, ExportRemediation, ExportSourceLocation, ExportSuggestion, ExportText, ExportUrl,
};
pub use remediation_evidence::{
REMEDIATION_EVIDENCE_V1_SCHEMA, RemediationEvidenceEffect, RemediationEvidenceError,
RemediationEvidenceRecord,
};
pub use remediation_receipt::{
REMEDIATION_RECEIPT_V1_SCHEMA, RemediationEffect, RemediationOutcome, RemediationPlanReceipt,
RemediationReceipt, RemediationReceiptError, RemediationStatus,
};
pub use remediation_replay::{
DIAGNOSTIC_REMEDIATION_REPLAY_V1_SCHEMA, DiagnosticRemediationAssessment,
DiagnosticRemediationReplay, DiagnosticRemediationReplayStep, DiagnosticRemediationState,
RemediationReplayError,
};
pub use report::{DiagnosticReport, ReportStatus, SeverityCounts};
pub use result_ext::{CapturedDiagnosticResult, DiagnosticResult, ResultDiagnosticExt};
pub use reporter::{Compression, Reporter, ReporterBuilder};
pub use rotation::{RotationCadence, RotationPolicy, RotationState};
pub use severity::Severity;
pub use sink::{DiagnosticSink, JsonLinesSink, SinkError, SinkErrorKind, SinkResult, WriterSink};
pub use source::{SourceCache, SourceEntry, SourceProvider, SourceRevision, SourceSnapshot};
pub use suggestion::{
Applicability, DocumentationLink, Edit, SuggestedCommand, Suggestion, TextRange,
};
pub use typed::{DiagnosticErrorExt, DiagnosticMetadata};
#[cfg(feature = "ariadne")]
pub use integrations::{
AriadneBridge, AriadneBridgeError, AriadneBridgeLabel, AriadneOwnedSpan, AriadneSpan,
};
#[cfg(feature = "annotate-snippets")]
pub use integrations::{
AnnotateSnippetsBridge, AnnotateSnippetsBridgeError, AnnotateSnippetsLabel,
};
#[cfg(feature = "anyhow")]
pub use integrations::AnyhowDiagnosticExt;
#[cfg(feature = "codespan-reporting")]
pub use integrations::CodespanDiagnosticExt;
#[cfg(feature = "miette")]
pub use integrations::{MietteDiagnosticExt, MietteDiagnosticTree, MietteReportExt};
#[cfg(feature = "tracing")]
pub use integrations::TracingLayer;
#[cfg(feature = "terminal-docs")]
pub use docs::{TerminalDocError, TerminalDocViewer};
pub type Result<T> = std::io::Result<T>;
mod history;
pub use history::{
DIAGNOSTIC_HISTORY_RUN_V1_SCHEMA, DIAGNOSTIC_LINEAGE_V1_SCHEMA, DiagnosticHistory,
DiagnosticHistoryError, DiagnosticHistoryRun, DiagnosticHistoryTransition, DiagnosticLineage,
DiagnosticLineageStep, HistoryDeltaCounts, HistoryObservation, HistorySeverityCounts,
};
pub use history::{DIAGNOSTIC_HISTORY_HEAD_V1_SCHEMA, DIAGNOSTIC_HISTORY_RUN_V2_SCHEMA};