"""Steering analysis functions."""
import os as _os
_base = _os.path.dirname(__file__)
for _root, _dirs, _files in _os.walk(_base):
    _dirs[:] = sorted(d for d in _dirs if not d.startswith((".", "_")))
    if _root != _base:
        __path__.append(_root)

# Bridge signal_analysis modules (intrinsic_dim, signal_analysis, structure)
_geo = _os.path.dirname(_os.path.dirname(_os.path.dirname(_base)))
_sig = _os.path.join(_geo, "utilities", "signal_analysis")
if _os.path.isdir(_sig):
    __path__.append(_sig)

from .steerability import (
    compute_steerability_metrics,
    compute_linearity_score,
    compute_recommendation,
    compute_adaptive_recommendation,
    compute_robust_recommendation,
    compute_final_steering_prescription,
)
from .steering_recommendation import (
    SteeringThresholds,
    compute_steering_recommendation,
    compute_per_layer_recommendation,
    get_method_description,
    get_method_requirements,
)
from .steering_validation import (
    compute_steering_effect_size,
    validate_steering_effectiveness,
    run_full_validation,
)
from .steering_discovery import (
    DiscoveryResult,
    discover_behavioral_direction,
    search_directions,
    generate_candidate_directions,
    search_layers,
    extract_generation_activations,
    compute_generation_direction,
    compare_directions,
)

__all__ = [
    "compute_steerability_metrics",
    "compute_linearity_score",
    "compute_recommendation",
    "compute_adaptive_recommendation",
    "compute_robust_recommendation",
    "compute_final_steering_prescription",
    "SteeringThresholds",
    "compute_steering_recommendation",
    "compute_per_layer_recommendation",
    "get_method_description",
    "get_method_requirements",
    "compute_steering_effect_size",
    "validate_steering_effectiveness",
    "run_full_validation",
    "DiscoveryResult",
    "discover_behavioral_direction",
    "search_directions",
    "generate_candidate_directions",
    "search_layers",
    "extract_generation_activations",
    "compute_generation_direction",
    "compare_directions",
]
