|
| 1 | +# Tencent is pleased to support the open source community by making tRPC-Agent-Python available. |
| 2 | +# |
| 3 | +# Copyright (C) 2026 Tencent. All rights reserved. |
| 4 | +# |
| 5 | +# tRPC-Agent-Python is licensed under Apache-2.0. |
| 6 | +"""Replay consistency test framework for session and memory backends.""" |
| 7 | + |
| 8 | +from .constants import ALLOWED_DIFFS |
| 9 | +from .constants import EXPECTED_REPLAY_CASE_FILES |
| 10 | +from .constants import EXPECTED_REPLAY_CASE_NAMES |
| 11 | +from .constants import REPLAY_CASES_DIR |
| 12 | +from .constants import SUMMARY_TRUNCATION_ALLOWED_DIFF_PATHS |
| 13 | +from .constants import SUMMARY_TRUNCATION_ALLOWED_DIFF_REASON |
| 14 | +from .models import ReplayCase |
| 15 | +from .loaders import MEMORY_REPLAY_CASES |
| 16 | +from .loaders import REPLAY_CASES |
| 17 | +from .loaders import load_jsonl_records |
| 18 | +from .loaders import load_replay_cases |
| 19 | +from .backends import BASELINE_BACKEND_NAME |
| 20 | +from .backends import DEFAULT_BACKEND_CONFIG |
| 21 | +from .backends import ENV_REDIS_BACKEND_NAME |
| 22 | +from .backends import ENV_SQL_BACKEND_NAME |
| 23 | +from .backends import MOCK_REDIS_BACKEND_NAME |
| 24 | +from .backends import REDIS_URL_ENV |
| 25 | +from .backends import SQLITE_BACKEND_NAME |
| 26 | +from .backends import SQL_URL_ENV |
| 27 | +from .backends import ReplayBackendConfig |
| 28 | +from .backends import ReplayBackendUnavailable |
| 29 | +from .backends import comparison_backend_names |
| 30 | +from .backends import configured_memory_backend_names |
| 31 | +from .backends import configured_session_backend_names |
| 32 | +from .backends import create_sql_memory_service |
| 33 | +from .backends import create_sql_session_service |
| 34 | +from .backends import default_backend_matrix_enabled |
| 35 | +from .backends import get_required_session |
| 36 | +from .backends import make_memory_session |
| 37 | +from .backends import resolve_backend_config |
| 38 | +from .backends import run_memory_replay_case |
| 39 | +from .backends import run_session_replay_case |
| 40 | +from .fixtures import make_memory_config |
| 41 | +from .fixtures import make_session_config |
| 42 | +from .normalizers import all_normalized_events |
| 43 | +from .normalizers import canonicalize |
| 44 | +from .normalizers import compact_text |
| 45 | +from .normalizers import event_texts |
| 46 | +from .normalizers import make_event |
| 47 | +from .normalizers import make_part |
| 48 | +from .normalizers import normalize_content_parts |
| 49 | +from .normalizers import normalize_event |
| 50 | +from .normalizers import normalize_memory_entry |
| 51 | +from .normalizers import normalize_memory_response |
| 52 | +from .normalizers import normalize_part |
| 53 | +from .normalizers import normalize_session |
| 54 | +from .normalizers import normalize_summary_text |
| 55 | +from .normalizers import summary_events |
| 56 | +from .normalizers import summary_metadata |
| 57 | +from .normalizers import summary_records_by_id |
| 58 | +from .normalizers import summary_text |
| 59 | +from .comparators import allowed_diff_reason |
| 60 | +from .comparators import diff_dicts |
| 61 | +from .comparators import diff_lists |
| 62 | +from .comparators import diff_snapshots |
| 63 | +from .comparators import event_at |
| 64 | +from .comparators import extract_event_location |
| 65 | +from .comparators import extract_summary_id |
| 66 | +from .comparators import find_summary_id |
| 67 | +from .comparators import is_event_diff |
| 68 | +from .comparators import is_session_metadata_diff |
| 69 | +from .comparators import is_state_diff |
| 70 | +from .comparators import is_summary_diff |
| 71 | +from .comparators import join_path |
| 72 | +from .comparators import make_diff |
| 73 | +from .reporters import build_case_diff_report |
| 74 | +from .reporters import build_case_memory_report |
| 75 | +from .reporters import build_case_session_report |
| 76 | +from .reporters import build_diff_report |
| 77 | +from .reporters import build_replay_diff_report |
| 78 | +from .reporters import build_report_totals |
| 79 | +from .reporters import build_summary_content_checks |
| 80 | +from .reporters import build_summary_metadata_checks |
| 81 | +from .reporters import combined_status |
| 82 | +from .reporters import count_case_diffs |
| 83 | +from .reporters import count_summary_check_mismatches |
| 84 | +from .reporters import diff_status |
| 85 | +from .reporters import iter_case_diffs |
| 86 | +from .reporters import serialize_allowed_diffs |
| 87 | +from .reporters import session_report_status |
| 88 | +from .reporters import summary_comparison_records |
| 89 | +from .reporters import summary_cache_records_by_id |
| 90 | +from .reporters import summary_metadata_field_check |
| 91 | +from .assertions import assert_all_diffs_allowed |
| 92 | +from .assertions import assert_allowed_session_snapshot_variant |
| 93 | +from .assertions import assert_memory_replay_case_snapshot |
| 94 | +from .assertions import assert_replay_case_fixtures_load |
| 95 | +from .assertions import assert_session_replay_case_snapshot |
| 96 | +from .assertions import assert_summary_truncation_in_memory_snapshot |
| 97 | +from .assertions import uses_allowed_snapshot_variant |
| 98 | + |
| 99 | +__all__ = [ |
| 100 | + # Constants |
| 101 | + "REPLAY_CASES_DIR", |
| 102 | + "EXPECTED_REPLAY_CASE_NAMES", |
| 103 | + "EXPECTED_REPLAY_CASE_FILES", |
| 104 | + "SUMMARY_TRUNCATION_ALLOWED_DIFF_REASON", |
| 105 | + "SUMMARY_TRUNCATION_ALLOWED_DIFF_PATHS", |
| 106 | + "ALLOWED_DIFFS", |
| 107 | + # Models |
| 108 | + "ReplayCase", |
| 109 | + # Loaders |
| 110 | + "load_jsonl_records", |
| 111 | + "load_replay_cases", |
| 112 | + "REPLAY_CASES", |
| 113 | + "MEMORY_REPLAY_CASES", |
| 114 | + # Fixtures |
| 115 | + "make_session_config", |
| 116 | + "make_memory_config", |
| 117 | + # Backends |
| 118 | + "BASELINE_BACKEND_NAME", |
| 119 | + "SQLITE_BACKEND_NAME", |
| 120 | + "ENV_SQL_BACKEND_NAME", |
| 121 | + "ENV_REDIS_BACKEND_NAME", |
| 122 | + "MOCK_REDIS_BACKEND_NAME", |
| 123 | + "DEFAULT_BACKEND_CONFIG", |
| 124 | + "SQL_URL_ENV", |
| 125 | + "REDIS_URL_ENV", |
| 126 | + "ReplayBackendConfig", |
| 127 | + "ReplayBackendUnavailable", |
| 128 | + "comparison_backend_names", |
| 129 | + "configured_session_backend_names", |
| 130 | + "configured_memory_backend_names", |
| 131 | + "default_backend_matrix_enabled", |
| 132 | + "resolve_backend_config", |
| 133 | + "create_sql_session_service", |
| 134 | + "create_sql_memory_service", |
| 135 | + "get_required_session", |
| 136 | + "make_memory_session", |
| 137 | + "run_session_replay_case", |
| 138 | + "run_memory_replay_case", |
| 139 | + # Normalizers |
| 140 | + "make_event", |
| 141 | + "make_part", |
| 142 | + "normalize_session", |
| 143 | + "normalize_event", |
| 144 | + "normalize_content_parts", |
| 145 | + "normalize_part", |
| 146 | + "normalize_memory_response", |
| 147 | + "normalize_memory_entry", |
| 148 | + "summary_events", |
| 149 | + "event_texts", |
| 150 | + "all_normalized_events", |
| 151 | + "compact_text", |
| 152 | + "normalize_summary_text", |
| 153 | + "canonicalize", |
| 154 | + "summary_metadata", |
| 155 | + "summary_records_by_id", |
| 156 | + "summary_text", |
| 157 | + # Comparators |
| 158 | + "diff_snapshots", |
| 159 | + "diff_dicts", |
| 160 | + "diff_lists", |
| 161 | + "join_path", |
| 162 | + "make_diff", |
| 163 | + "allowed_diff_reason", |
| 164 | + "extract_event_location", |
| 165 | + "extract_summary_id", |
| 166 | + "event_at", |
| 167 | + "find_summary_id", |
| 168 | + "is_event_diff", |
| 169 | + "is_state_diff", |
| 170 | + "is_summary_diff", |
| 171 | + "is_session_metadata_diff", |
| 172 | + # Reporters |
| 173 | + "build_replay_diff_report", |
| 174 | + "build_case_diff_report", |
| 175 | + "build_case_session_report", |
| 176 | + "build_case_memory_report", |
| 177 | + "build_report_totals", |
| 178 | + "build_diff_report", |
| 179 | + "build_summary_content_checks", |
| 180 | + "build_summary_metadata_checks", |
| 181 | + "summary_metadata_field_check", |
| 182 | + "summary_comparison_records", |
| 183 | + "summary_cache_records_by_id", |
| 184 | + "session_report_status", |
| 185 | + "combined_status", |
| 186 | + "diff_status", |
| 187 | + "count_summary_check_mismatches", |
| 188 | + "count_case_diffs", |
| 189 | + "iter_case_diffs", |
| 190 | + "serialize_allowed_diffs", |
| 191 | + # Assertions |
| 192 | + "assert_all_diffs_allowed", |
| 193 | + "assert_replay_case_fixtures_load", |
| 194 | + "assert_session_replay_case_snapshot", |
| 195 | + "assert_allowed_session_snapshot_variant", |
| 196 | + "assert_summary_truncation_in_memory_snapshot", |
| 197 | + "assert_memory_replay_case_snapshot", |
| 198 | + "uses_allowed_snapshot_variant", |
| 199 | +] |
0 commit comments