feat: color requests by thread id
This commit is contained in:
@@ -263,6 +263,51 @@ class CodexRetryGatewayTUITests(unittest.TestCase):
|
||||
self.assertIn("current wave round 3 slot 1 first 1.2s", mod.render_request_detail(row))
|
||||
self.assertEqual(mod.request_row_cells(row)[20], "3(2)")
|
||||
|
||||
def test_request_visible_cells_colorize_thread_identity_columns(self) -> None:
|
||||
mod = load_module()
|
||||
try:
|
||||
from rich.text import Text
|
||||
except ImportError:
|
||||
self.skipTest("rich is not installed")
|
||||
row = {
|
||||
"seq": 1,
|
||||
"request_id": "req_1",
|
||||
"response_id": "resp_1",
|
||||
"thread_id": "thread_same",
|
||||
"started_at": "2026-06-30T12:00:00Z",
|
||||
"status_code": 200,
|
||||
"path": "/responses",
|
||||
"model": "gpt-5",
|
||||
"requested_model": "",
|
||||
"forwarded_model": "",
|
||||
"reasoning_tokens": 7,
|
||||
"reasoning_effort": "xhigh",
|
||||
"input_tokens": 20,
|
||||
"output_tokens": 10,
|
||||
"cached_tokens": 5,
|
||||
"request_body_bytes": 1536,
|
||||
"response_bytes_received": 4096,
|
||||
"response_stream": True,
|
||||
"stream_chunk_count": 4,
|
||||
"first_response_delay_ms": 1200,
|
||||
"duration_ms": 3400,
|
||||
"upstream_attempt_count": 1,
|
||||
"error": "",
|
||||
"finished_at": "2026-06-30T12:00:03Z",
|
||||
}
|
||||
cells = mod.request_row_cells(row)
|
||||
visible = mod.request_visible_cells(row, cells, ["seq", "req_id", "resp_id", "thread", "status"])
|
||||
self.assertEqual(visible[0], "1")
|
||||
self.assertIsInstance(visible[1], Text)
|
||||
self.assertIsInstance(visible[2], Text)
|
||||
self.assertIsInstance(visible[3], Text)
|
||||
self.assertEqual(visible[1].plain, "req_1")
|
||||
self.assertEqual(visible[2].plain, "resp_1")
|
||||
self.assertEqual(visible[3].plain, "thread_same")
|
||||
self.assertEqual(visible[4], "· 200")
|
||||
self.assertEqual(mod.request_thread_color("thread_same"), mod.request_thread_color("thread_same"))
|
||||
self.assertIsNone(mod.request_thread_color(""))
|
||||
|
||||
def test_request_table_preferences_round_trip(self) -> None:
|
||||
mod = load_module()
|
||||
with tempfile.TemporaryDirectory() as tmpdir:
|
||||
|
||||
Reference in New Issue
Block a user