@@ -63,7 +63,9 @@ def _create_mock_trace(
6363 trace_id : str , input_data : Any = None , output_data : Any = None , observations : Optional [List ] = None
6464):
6565 """Helper to create mock trace objects"""
66- return SimpleNamespace (id = trace_id , input = input_data , output = output_data , observations = observations or [])
66+ return SimpleNamespace (
67+ id = trace_id , input = input_data , output = output_data , observations = observations or [], tags = [], metadata = {}
68+ )
6769
6870
6971def _create_mock_traces_response (traces : List [Dict [str , Any ]]):
@@ -72,7 +74,15 @@ def _create_mock_traces_response(traces: List[Dict[str, Any]]):
7274 for trace_data in traces :
7375 trace_objects .append (SimpleNamespace (** trace_data ))
7476
75- return SimpleNamespace (data = trace_objects , meta = SimpleNamespace (page = 1 , total_pages = 1 ))
77+ return SimpleNamespace (
78+ data = trace_objects ,
79+ meta = SimpleNamespace (
80+ page = 1 ,
81+ total_pages = 1 ,
82+ total_items = len (trace_objects ), # Add total_items to match real API
83+ limit = 100 ,
84+ ),
85+ )
7686
7787
7888@pytest .fixture
@@ -161,7 +171,7 @@ def test_trace_conversion_with_span_name():
161171 """Test trace conversion with specific span name"""
162172 # Mock observations with spans and generations
163173 observations = [
164- SimpleNamespace (id = "span1" , name = "judge" , type = "SPAN" ),
174+ SimpleNamespace (id = "span1" , name = "judge" , type = "SPAN" , metadata = {} ),
165175 SimpleNamespace (
166176 id = "gen1" ,
167177 name = "generation" ,
@@ -170,6 +180,7 @@ def test_trace_conversion_with_span_name():
170180 input = {"messages" : [{"role" : "user" , "content" : "Judge this" }]},
171181 output = {"messages" : [{"role" : "assistant" , "content" : "Good response" }]},
172182 start_time = datetime .now (),
183+ metadata = {},
173184 ),
174185 ]
175186
@@ -304,7 +315,7 @@ def test_extract_messages_from_various_formats():
304315 input_data = {"messages" : [{"role" : "user" , "content" : "Hello" }]},
305316 output_data = {"messages" : [{"role" : "assistant" , "content" : "Hi" }]},
306317 )
307- messages1 = extract_messages_from_trace (trace1 )
318+ messages1 = extract_messages_from_trace (trace1 ) # pyright: ignore[reportArgumentType]
308319 assert len (messages1 ) == 2
309320 assert messages1 [0 ].role == "user"
310321 assert messages1 [1 ].role == "assistant"
@@ -313,7 +324,7 @@ def test_extract_messages_from_various_formats():
313324 trace2 = _create_mock_trace (
314325 "trace2" , input_data = {"prompt" : "What is AI?" }, output_data = {"content" : "AI is artificial intelligence" }
315326 )
316- messages2 = extract_messages_from_trace (trace2 )
327+ messages2 = extract_messages_from_trace (trace2 ) # pyright: ignore[reportArgumentType]
317328 assert len (messages2 ) == 2
318329 assert messages2 [0 ].role == "user"
319330 assert messages2 [0 ].content == "What is AI?"
@@ -326,7 +337,7 @@ def test_extract_messages_from_various_formats():
326337 input_data = [{"role" : "user" , "content" : "List format" }],
327338 output_data = [{"role" : "assistant" , "content" : "Response" }],
328339 )
329- messages3 = extract_messages_from_trace (trace3 )
340+ messages3 = extract_messages_from_trace (trace3 ) # pyright: ignore[reportArgumentType]
330341 assert len (messages3 ) == 2
331342 assert messages3 [0 ].content == "List format"
332343 assert messages3 [1 ].content == "Response"
0 commit comments