"""Kredo Drift — Continuous identity drift detection for AI agents."""

__version__ = "0.2.0"

from kredo_drift.models import (
    Dimension,
    DriftAttestation,
    DriftBaseline,
    DriftTest,
    DriftResult,
    DimensionScore,
)
from kredo_drift.scoring import compute_drift_score
from kredo_drift.vectorize import Vectorizer
from kredo_drift.assessment import AssessmentProtocol
from kredo_drift.baseline import BaselineManager
from kredo_drift.client import DriftClient, make_response
from kredo_drift.signing import generate_keypair, sign_attestation, verify_attestation
from kredo_drift.store import DriftStore
from kredo_drift.chain import ChainEntryModel, append_to_chain, verify_chain
from kredo_drift.merkle import build_merkle_tree, verify_inclusion
from kredo_drift.recovery import RecoveredIdentity, RecoveryResult
from kredo_drift.fidelity import FidelityScore, FidelityTier, compute_fidelity_score
from kredo_drift.dimension_tiers import (
    IDENTITY_CORE_DIMENSIONS as _IC,
    COGNITIVE_PROFILE_DIMENSIONS as _CP,
    MIXED_DIMENSIONS as _MX,
    DIMENSION_TIER,
    DIMENSION_WEIGHTS as TIER_WEIGHTS,
    weighted_drift_score,
    classify_drift,
)
from kredo_drift.metametric import compute_metametric, compare_metametrics
from kredo_drift.trust_score import (
    TrustProfile,
    RiskFlag,
    compute_absolute_score,
    compute_trust_profile,
    get_gold_vectors,
    TRUST_DIMENSION_WEIGHTS,
    RISK_THRESHOLDS,
    TRUST_CLASSIFICATIONS,
)
from kredo_drift.prompts_cross_dimensional import (
    CROSS_DIMENSIONAL_PROMPTS,
    CROSS_DIMENSIONAL_PAIRS,
    PAIR_TIERS as CROSS_DIMENSIONAL_PAIR_TIERS,
)

__all__ = [
    # Models
    "Dimension",
    "DriftAttestation",
    "DriftBaseline",
    "DriftTest",
    "DriftResult",
    "DimensionScore",
    # Client
    "DriftClient",
    "make_response",
    # Signing
    "generate_keypair",
    "sign_attestation",
    "verify_attestation",
    # Scoring
    "compute_drift_score",
    # Infrastructure
    "Vectorizer",
    "AssessmentProtocol",
    "BaselineManager",
    "DriftStore",
    # Hash chain
    "ChainEntryModel",
    "append_to_chain",
    "verify_chain",
    # Merkle tree
    "build_merkle_tree",
    "verify_inclusion",
    # Recovery
    "RecoveredIdentity",
    "RecoveryResult",
    # Fidelity
    "FidelityScore",
    "FidelityTier",
    "compute_fidelity_score",
    # Dimension tiers (14-dimension model-aware scoring)
    "DIMENSION_TIER",
    "TIER_WEIGHTS",
    "weighted_drift_score",
    "classify_drift",
    # Metametric (91-pair behavioral correlation fingerprint)
    "compute_metametric",
    "compare_metametrics",
    # Trust scoring (absolute behavioral quality assessment)
    "TrustProfile",
    "RiskFlag",
    "compute_absolute_score",
    "compute_trust_profile",
    "get_gold_vectors",
    "TRUST_DIMENSION_WEIGHTS",
    "RISK_THRESHOLDS",
    "TRUST_CLASSIFICATIONS",
    # Cross-dimensional prompts
    "CROSS_DIMENSIONAL_PROMPTS",
    "CROSS_DIMENSIONAL_PAIRS",
    "CROSS_DIMENSIONAL_PAIR_TIERS",
]
