@@ -271,7 +271,7 @@ def test_llm_forwards_extra_headers_to_litellm(mock_completion):
271271
272272 headers = {"anthropic-beta" : "context-1m-2025-08-07" } # Enable 1M context
273273 llm = LLM (
274- service_id = "test-llm" ,
274+ usage_id = "test-llm" ,
275275 model = "gpt-4o" ,
276276 api_key = SecretStr ("test_key" ),
277277 extra_headers = headers ,
@@ -316,7 +316,7 @@ def test_llm_responses_forwards_extra_headers_to_litellm(mock_responses):
316316
317317 headers = {"anthropic-beta" : "context-1m-2025-08-07" }
318318 llm = LLM (
319- service_id = "test-llm" ,
319+ usage_id = "test-llm" ,
320320 model = "gpt-4o" ,
321321 api_key = SecretStr ("test_key" ),
322322 extra_headers = headers ,
@@ -334,16 +334,16 @@ def test_llm_responses_forwards_extra_headers_to_litellm(mock_responses):
334334 assert kwargs .get ("extra_headers" ) == headers
335335
336336
337-
338-
339337@patch ("openhands.sdk.llm.llm.litellm_completion" )
340- def test_completion_merges_llm_extra_headers_with_extended_thinking_default (mock_completion ):
338+ def test_completion_merges_llm_extra_headers_with_extended_thinking_default (
339+ mock_completion ,
340+ ):
341341 mock_response = create_mock_litellm_response ("ok" )
342342 mock_completion .return_value = mock_response
343343
344344 llm = LLM (
345- service_id = "test-llm" ,
346- model = "claude-sonnet-4-20250514" ,
345+ usage_id = "test-llm" ,
346+ model = "claude-sonnet-4-5- 20250514" ,
347347 api_key = SecretStr ("test_key" ),
348348 extra_headers = {"X-Trace" : "1" },
349349 extended_thinking_budget = 1000 ,
@@ -363,13 +363,15 @@ def test_completion_merges_llm_extra_headers_with_extended_thinking_default(mock
363363
364364
365365@patch ("openhands.sdk.llm.llm.litellm_completion" )
366- def test_completion_call_time_extra_headers_override_config_and_defaults (mock_completion ):
366+ def test_completion_call_time_extra_headers_override_config_and_defaults (
367+ mock_completion ,
368+ ):
367369 mock_response = create_mock_litellm_response ("ok" )
368370 mock_completion .return_value = mock_response
369371
370372 llm = LLM (
371- service_id = "test-llm" ,
372- model = "claude-sonnet-4-20250514" ,
373+ usage_id = "test-llm" ,
374+ model = "claude-sonnet-4-5- 20250514" ,
373375 api_key = SecretStr ("test_key" ),
374376 # Config sets a conflicting header
375377 extra_headers = {"anthropic-beta" : "context-1m-2025-08-07" , "X-Trace" : "1" },
@@ -417,7 +419,7 @@ def test_responses_call_time_extra_headers_override_config(mock_responses):
417419 mock_responses .return_value = resp
418420
419421 llm = LLM (
420- service_id = "test-llm" ,
422+ usage_id = "test-llm" ,
421423 model = "gpt-4o" ,
422424 api_key = SecretStr ("test_key" ),
423425 extra_headers = {"X-Trace" : "1" },
@@ -434,6 +436,7 @@ def test_responses_call_time_extra_headers_override_config(mock_responses):
434436 assert headers .get ("Header-Only" ) == "H"
435437 assert "X-Trace" not in headers
436438
439+
437440def test_llm_vision_support (default_llm ):
438441 """Test LLM vision support detection."""
439442 llm = default_llm
0 commit comments