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(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::{
AttackFamilyMetrics, BenchmarkError, BenchmarkHistory, BenchmarkHistoryEntry,
CalibrationBucket, CalibrationSummary, CorpusCoverage, CorpusEvaluation, CorpusManifest,
CoverageBucket, DeduplicationMetrics, LabeledSample, RegressionMetrics, SampleEvaluation,
SampleLabel, ThresholdRecommendation,
};
pub use findings::{
artifact_scope_for_kind, signal_class_for, ActionTrigger, ArtifactKind, ArtifactScope,
BlastRadiusLevel, BlastRadiusSummary, DeclaredPermission, DeduplicationSummary, EvidenceKind,
Finding, FindingSummary, HygieneSummary, MatchTarget, OperationalContext, PackageHealth,
PackageVerdictReport, 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::{
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, load_baseline, load_policy, load_waivers,
validate_policy, validate_waivers, AppliedPolicyOverride, BaselineEntry, BaselineFile,
ConfiguredProfile, ContextActionOverride, ContextPolicy, DiffEntry, DiffReport, 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 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,
};