from oss.src.core.services.v0 import (
    auto_exact_match_v0,
    auto_regex_test_v0,
    field_match_test_v0,
    auto_webhook_test_v0,
    auto_custom_code_run_v0,
    auto_ai_critique_v0,
    auto_starts_with_v0,
    auto_ends_with_v0,
    auto_contains_v0,
    auto_contains_any_v0,
    auto_contains_all_v0,
    auto_contains_json_v0,
    auto_json_diff_v0,
    rag_faithfulness_v0,
    rag_context_relevancy_v0,
    auto_levenshtein_distance_v0,
    auto_similarity_match_v0,
    auto_semantic_similarity_v0,
)

REGISTRY = {
    "agenta": {
        "built-in": {
            "auto_exact_match": {"v0": auto_exact_match_v0},
            "auto_regex_test": {"v0": auto_regex_test_v0},
            "field_match_test": {"v0": field_match_test_v0},
            "auto_webhook_test": {"v0": auto_webhook_test_v0},
            "auto_custom_code_run": {"v0": auto_custom_code_run_v0},
            "auto_ai_critique": {"v0": auto_ai_critique_v0},
            "auto_starts_with": {"v0": auto_starts_with_v0},
            "auto_ends_with": {"v0": auto_ends_with_v0},
            "auto_contains": {"v0": auto_contains_v0},
            "auto_contains_any": {"v0": auto_contains_any_v0},
            "auto_contains_all": {"v0": auto_contains_all_v0},
            "auto_contains_json": {"v0": auto_contains_json_v0},
            "auto_json_diff": {"v0": auto_json_diff_v0},
            "rag_faithfulness": {"v0": rag_faithfulness_v0},
            "rag_context_relevancy": {"v0": rag_context_relevancy_v0},
            "auto_levenshtein_distance": {"v0": auto_levenshtein_distance_v0},
            "auto_similarity_match": {"v0": auto_similarity_match_v0},
            "auto_semantic_similarity": {"v0": auto_semantic_similarity_v0},
        },
    },
}
