pub mod adapters;
pub mod analyzer;
pub mod artifact_graph;
mod artifact_taint;
pub mod benchmark;
mod deceptive_docs;
mod detectors;
pub mod findings;
mod inline_suppressions;
pub mod ioc_extraction;
pub mod nova;
pub(crate) mod path_safety;
pub(crate) mod patterns;
pub mod policy;
pub mod ports;
pub mod rules;
pub mod scanner;
mod scanner_execution;
mod scanner_graph;
mod scanner_support;
pub(crate) mod scanner_types;
pub mod services;
mod verdict;
mod verdict_calibration;
#[cfg(feature = "yara")]
pub mod yara_engine;
pub use analyzer::{
AgentExtensionKind, ArtifactAssessment, ArtifactClassification, ArtifactIdentitySource,
CodeBlock, Section, SkillDocument, StructuralSignals, StructuralValidity,
};
pub use benchmark::{
evaluate_gold_corpus, AttackFamilyMetrics, BenchmarkError, BenchmarkHistory,
BenchmarkHistoryEntry, CalibrationBucket, CalibrationSummary, CorpusCoverage, CorpusEvaluation,
CorpusManifest, CoverageBucket, DeduplicationMetrics, GoldCorpusManifest, GoldSample,
LabeledSample, RegressionMetrics, SampleEvaluation, SampleLabel, ThresholdRecommendation,
};
pub use findings::{
artifact_scope_for_kind, signal_class_for, ActionTrigger, ArtifactKind, ArtifactScope,
BlastRadiusLevel, BlastRadiusSummary, ConsensusClass, ConsensusDiscrepancy, DeclaredPermission,
DeduplicationSummary, EvidenceKind, Finding, FindingSummary, HygieneSummary, MatchTarget,
OperationalContext, PackageHealth, PackageVerdictReport, ProviderVote, RecommendedAction,
RiskFactor, RootCauseGroup, Severity, SeverityCounts, SignalClass, ThreatCategory, Verdict,
VerdictReason, RISK_THRESHOLD_BLOCK,
};
pub use ioc_extraction::{ExtractedIocs, FileHash};
pub use path_safety::path_stays_within_base;
pub use policy::{
adjust_confidence, apply_baseline, apply_policy_overrides, apply_policy_overrides_with_audit,
apply_waivers, baseline_from_reports, count_baseline_matches, diff_reports,
diff_reports_with_policy_state, empty_sarif_report, finding_fingerprint, learned_allowlist,
learned_confidence_adjustments, load_baseline, load_disposition_overlay, load_policy,
load_waivers, validate_policy, validate_waivers, AppliedPolicyOverride, BaselineEntry,
BaselineFile, ConfiguredProfile, ContextActionOverride, ContextPolicy, DiffEntry, DiffReport,
Disposition, DispositionOverlay, DispositionRecord, JsonReport, PolicyAudit, PolicyFile,
PolicyGenerator, PolicyOverride, PolicyProfile, PolicyProfiles, ShieldPolicy,
SuppressionSummary, WaiverEntry, WaiverFile, POLICY_AUDIT_PRECEDENCE, POLICY_SCHEMA_VERSION,
};
pub use rules::{
default_external_rule_dirs, is_supported_rule_pack_schema, parse_rules_file, IocFeedFile, Rule,
RuleCondition, RuleEngine, RulePackFile, RulePackKind, RulePackMetadata,
RULE_PACK_SCHEMA_VERSION,
};
pub use scanner::{
ArtifactMetadata, DefaultScanner, PackageScanResult, ScanError, ScanErrorEntry, ScanOptions,
ScanResult, ScanTargetMode, Scanner,
};
pub use scanner_graph::{artifact_kind_for_path, derive_package_id};
pub use verdict::is_conclusive_single_rule_id;
pub use ports::{
DecodedText, FileContent, FileMeta, FileSystemProvider, MarkdownParser, PatternMatcher,
};
pub use adapters::{PulldownMarkdownParser, RegexPatternMatcher, StdFileSystemProvider};
pub use artifact_graph::{
ArtifactCapability, ArtifactCapabilityFact, ArtifactCapabilitySource, ArtifactEdge,
ArtifactGraph, ArtifactNode, ArtifactRelation, EndpointKind,
};