Format range attributes in the console exporter

Merged
FH
14d ago
+68-1

Logging a range with console attributes enabled currently raises AssertionError: Unknown data type range inside the exporter, so the argument details are missing. The schema generator emits the range datatype, but the formatter only recognizes the older Sequence schema with title="range".

Register the emitted datatype and format it through the same range handler as the legacy schema. Reconstruct an equivalent range from the encoded values, handling empty and singleton ranges and retaining positive or negative steps.

Validation:

  • The new public console and formatter regressions produce 26 failures on the unchanged base and 30 passes with the fix.
  • Relevant console/schema/JSON modules: 270 passed on the latest main branch after excluding four Windows-only path/traceback snapshot failures, reproduced on the unchanged base.
  • Ruff check, format check, strict type checking of changed files, and Python compilation pass.
  • SDK wheel build passes.
  • Full frozen dependency installation is blocked locally by the Monty client's Rust requirement (1.96; local toolchain is 1.85).