From de4bae39021c59982411fecca55e41213bf69e7d Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 1 Sep 2026 14:11:58 +0000 Subject: [PATCH] fix(cli): preserve empty failure diagnostics Co-authored-by: Blaine Kasten --- src/together/lib/cli/_track_cli.py | 7 +++++-- tests/unit/test_cli_telemetry.py | 11 +++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/together/lib/cli/_track_cli.py b/src/together/lib/cli/_track_cli.py index f64475ab7..4d3b15dd6 100644 --- a/src/together/lib/cli/_track_cli.py +++ b/src/together/lib/cli/_track_cli.py @@ -275,9 +275,12 @@ def format_cli_error_for_telemetry(exc: BaseException, *, command: str = "") -> return sanitize_cli_error_message(msg) if isinstance(exc, CycloptsError): - return sanitize_cli_error_message(_stringify_cyclopts_error(exc)) + message = _stringify_cyclopts_error(exc) + else: + message = str(exc) - return sanitize_cli_error_message(str(exc)) + sanitized = sanitize_cli_error_message(message) + return sanitized or type(exc).__name__ def _env_telemetry_disabled() -> bool: diff --git a/tests/unit/test_cli_telemetry.py b/tests/unit/test_cli_telemetry.py index bd7dab89e..737e21d66 100644 --- a/tests/unit/test_cli_telemetry.py +++ b/tests/unit/test_cli_telemetry.py @@ -196,6 +196,17 @@ def test_format_cyclopts_error_omits_install_path() -> None: assert err.verbose is True +def test_format_empty_cyclopts_error_uses_exception_type() -> None: + from cyclopts.exceptions import CycloptsError + + assert format_cli_error_for_telemetry(CycloptsError()) == "CycloptsError" + + +@pytest.mark.parametrize("error", [RuntimeError(), RuntimeError(" \n")]) +def test_format_empty_error_uses_exception_type(error: RuntimeError) -> None: + assert format_cli_error_for_telemetry(error) == "RuntimeError" + + def test_telemetry_env_opt_out_only_explicit_values(monkeypatch: pytest.MonkeyPatch) -> None: monkeypatch.delenv("TOGETHER_TELEMETRY_DISABLED", raising=False) assert is_tracking_enabled() is True