pub mod cohesion;
pub mod coupling;
pub mod error;
pub mod interface;
pub mod resources;
pub mod temporal;
pub mod types;
pub mod validation;
pub use error::{PatternsError, PatternsResult};
pub use types::{
BehavioralReport,
ClassBehavior,
ClassCohesion,
ClassInfo,
ClassInvariant,
CohesionReport,
CohesionSummary,
CohesionVerdict,
ComponentInfo,
ConditionSource,
Confidence,
ContextSuggestion,
CouplingReport,
CouplingVerdict,
CrossCall,
CrossCalls,
DocstringStyle,
DoubleCloseInfo,
EffectType,
ExceptionInfo,
FunctionBehavior,
FunctionInfo,
InterfaceInfo,
LeakInfo,
MethodInfo,
OutputFormat,
Postcondition,
Precondition,
ResourceConstraint,
ResourceInfo,
ResourceReport,
ResourceSummary,
SideEffect,
TemporalConstraint,
TemporalExample,
TemporalMetadata,
TemporalReport,
Trigram,
UseAfterCloseInfo,
YieldInfo,
};
pub use cohesion::CohesionArgs;
pub use coupling::CouplingArgs;
pub use interface::InterfaceArgs;
pub use resources::ResourcesArgs;
pub use temporal::TemporalArgs;
pub const SCHEMA_VERSION: &str = "1.0";
pub use validation::{
check_analysis_depth,
check_ast_depth,
check_directory_file_count,
is_path_traversal_attempt,
read_file_safe,
saturating_count_add,
saturating_depth_increment,
validate_directory_path,
validate_file_path,
validate_file_path_in_project,
validate_file_size,
validate_function_name,
within_limit,
MAX_ANALYSIS_DEPTH,
MAX_AST_DEPTH,
MAX_CLASSES_PER_FILE,
MAX_CLASS_COMPLEXITY,
MAX_CONSTRAINTS_PER_FILE,
MAX_DIRECTORY_FILES,
MAX_FIELDS_PER_CLASS,
MAX_FILE_SIZE,
MAX_FUNCTION_NAME_LEN,
MAX_METHODS_PER_CLASS,
MAX_PATHS,
MAX_TRIGRAMS,
WARN_FILE_SIZE,
};