"""Shared evaluation utilities for Sibyl retrieval surfaces."""

from sibyl_core.evals.context import (
    FROZEN_CONTEXT_PACK_SUITE_NAMES,
    ContextPackCaseResult,
    ContextPackEvalCase,
    ContextPackEvalReport,
    ContextPackEvalResult,
    ContextPackFixture,
    context_pack_from_dict,
    evaluate_context_pack,
    get_sample_context_pack_cases,
    load_context_pack_cases,
)
from sibyl_core.evals.longmemeval import (
    CORPUS_TEXT_POLICIES,
    CORPUS_TEXT_POLICY,
    USER_AND_ASSISTANT_CORPUS_TEXT_POLICY,
    LongMemEvalCorpusDocument,
    average_metric,
    build_longmemeval_corpus,
    score_longmemeval_ranking,
)
from sibyl_core.evals.longmemeval_replay import (
    ReplaySummary,
    replay_longmemeval_report,
    replay_longmemeval_report_path,
    rerank_longmemeval_case,
    summary_to_dict,
)
from sibyl_core.evals.metrics import (
    EvalMetrics,
    EvalQuery,
    RetrievalResult,
    aggregate_metrics,
    compute_metrics,
    dcg_at_k,
    mean_reciprocal_rank,
    ndcg_at_k,
    precision_at_k,
    recall_at_k,
    success_at_k,
)
from sibyl_core.evals.runtime import (
    EvalConfig,
    EvalReport,
    EvalResult,
    EvalRunner,
    get_sample_queries,
    load_queries,
    run_context_pack_evaluation_cli,
    run_evaluation_cli,
)

__all__ = [
    "CORPUS_TEXT_POLICIES",
    "CORPUS_TEXT_POLICY",
    "FROZEN_CONTEXT_PACK_SUITE_NAMES",
    "USER_AND_ASSISTANT_CORPUS_TEXT_POLICY",
    "ContextPackCaseResult",
    "ContextPackEvalCase",
    "ContextPackEvalReport",
    "ContextPackEvalResult",
    "ContextPackFixture",
    "EvalConfig",
    "EvalMetrics",
    "EvalQuery",
    "EvalReport",
    "EvalResult",
    "EvalRunner",
    "LongMemEvalCorpusDocument",
    "ReplaySummary",
    "RetrievalResult",
    "aggregate_metrics",
    "average_metric",
    "build_longmemeval_corpus",
    "compute_metrics",
    "context_pack_from_dict",
    "dcg_at_k",
    "evaluate_context_pack",
    "get_sample_context_pack_cases",
    "get_sample_queries",
    "load_context_pack_cases",
    "load_queries",
    "mean_reciprocal_rank",
    "ndcg_at_k",
    "precision_at_k",
    "recall_at_k",
    "replay_longmemeval_report",
    "replay_longmemeval_report_path",
    "rerank_longmemeval_case",
    "run_context_pack_evaluation_cli",
    "run_evaluation_cli",
    "score_longmemeval_ranking",
    "success_at_k",
    "summary_to_dict",
]
