diff --git a/llama_stack/providers/inline/agents/meta_reference/responses/streaming.py b/llama_stack/providers/inline/agents/meta_reference/responses/streaming.py index efe06cecf..0a7ef6065 100644 --- a/llama_stack/providers/inline/agents/meta_reference/responses/streaming.py +++ b/llama_stack/providers/inline/agents/meta_reference/responses/streaming.py @@ -264,6 +264,7 @@ class StreamingResponseOrchestrator: completion_result_data = stream_event_or_result else: yield stream_event_or_result + # If violation detected, skip the rest of processing since we already sent refusal if self.violation_detected: return diff --git a/llama_stack/providers/inline/agents/meta_reference/responses/utils.py b/llama_stack/providers/inline/agents/meta_reference/responses/utils.py index e55e7b1fb..7d6ac1faa 100644 --- a/llama_stack/providers/inline/agents/meta_reference/responses/utils.py +++ b/llama_stack/providers/inline/agents/meta_reference/responses/utils.py @@ -174,7 +174,7 @@ async def convert_response_input_to_chat_messages( pass else: content = await convert_response_content_to_chat_content(input_item.content) - message_type = get_message_type_by_role(input_item.role) + message_type = await get_message_type_by_role(input_item.role) if message_type is None: raise ValueError( f"Llama Stack OpenAI Responses does not yet support message role '{input_item.role}' in this context" diff --git a/tests/unit/providers/agents/meta_reference/test_responses_safety_utils.py b/tests/unit/providers/agents/meta_reference/test_responses_safety_utils.py index 1df1d0d82..b5abf67d0 100644 --- a/tests/unit/providers/agents/meta_reference/test_responses_safety_utils.py +++ b/tests/unit/providers/agents/meta_reference/test_responses_safety_utils.py @@ -83,7 +83,7 @@ def test_extract_shield_ids_unknown_format(responses_impl): # Create an object that's neither string nor ResponseShieldSpec unknown_object = {"invalid": "format"} # Plain dict, not ResponseShieldSpec shields = ["valid-shield", unknown_object, "another-shield"] - with pytest.raises(ValueError, match="Unsupported shield type"): + with pytest.raises(ValueError, match="Unknown shield format.*expected str or ResponseShieldSpec"): extract_shield_ids(shields)