From 6ea9e9a1611470a29317c64c788f5e6f1efa7fb9 Mon Sep 17 00:00:00 2001 From: Artur Pragacz <49985303+arturpragacz@users.noreply.github.com> Date: Wed, 18 Mar 2026 19:35:30 +0100 Subject: [PATCH] Remove targets from intent response (#165434) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: AbĂ­lio Costa --- homeassistant/helpers/intent.py | 14 ---------- .../snapshots/test_conversation.ambr | 2 -- .../snapshots/test_pipeline.ambr | 12 --------- .../snapshots/test_websocket.ambr | 2 -- .../assist_satellite/test_intent.py | 3 --- tests/components/cloud/test_entity.py | 2 +- .../snapshots/test_default_agent.ambr | 26 ------------------- .../conversation/snapshots/test_http.ambr | 4 --- .../conversation/snapshots/test_init.ambr | 18 ------------- .../snapshots/test_conversation.ambr | 3 +-- .../test_conversation.py | 2 +- tests/components/intent/test_init.py | 4 +-- tests/components/mobile_app/test_webhook.py | 1 - .../ollama/snapshots/test_conversation.ambr | 2 -- tests/components/ollama/test_conversation.py | 4 +-- .../snapshots/test_conversation.ambr | 4 +-- .../open_router/test_conversation.py | 2 +- .../snapshots/test_conversation.ambr | 4 +-- .../openai_conversation/test_conversation.py | 2 +- tests/helpers/test_llm.py | 2 -- 20 files changed, 11 insertions(+), 102 deletions(-) diff --git a/homeassistant/helpers/intent.py b/homeassistant/helpers/intent.py index a8a46b49f1e..62d83643fb2 100644 --- a/homeassistant/helpers/intent.py +++ b/homeassistant/helpers/intent.py @@ -1371,7 +1371,6 @@ class IntentResponse: self.reprompt: dict[str, dict[str, Any]] = {} self.card: dict[str, dict[str, str]] = {} self.error_code: IntentResponseErrorCode | None = None - self.intent_targets: list[IntentResponseTarget] = [] self.success_results: list[IntentResponseTarget] = [] self.failed_results: list[IntentResponseTarget] = [] self.matched_states: list[State] = [] @@ -1421,14 +1420,6 @@ class IntentResponse: # Speak error message self.async_set_speech(message) - @callback - def async_set_targets( - self, - intent_targets: list[IntentResponseTarget], - ) -> None: - """Set response targets.""" - self.intent_targets = intent_targets - @callback def async_set_results( self, @@ -1474,11 +1465,6 @@ class IntentResponse: response_data["code"] = self.error_code.value else: # action done or query answer - response_data["targets"] = [ - dataclasses.asdict(target) for target in self.intent_targets - ] - - # Add success/failed targets response_data["success"] = [ dataclasses.asdict(target) for target in self.success_results ] diff --git a/tests/components/anthropic/snapshots/test_conversation.ambr b/tests/components/anthropic/snapshots/test_conversation.ambr index 8dd779ca9c7..705225cbec2 100644 --- a/tests/components/anthropic/snapshots/test_conversation.ambr +++ b/tests/components/anthropic/snapshots/test_conversation.ambr @@ -1245,8 +1245,6 @@ failed_results=list([ ]), intent=None, - intent_targets=list([ - ]), language='en', matched_states=list([ ]), diff --git a/tests/components/assist_pipeline/snapshots/test_pipeline.ambr b/tests/components/assist_pipeline/snapshots/test_pipeline.ambr index 7c39da213da..1a9e37a62d1 100644 --- a/tests/components/assist_pipeline/snapshots/test_pipeline.ambr +++ b/tests/components/assist_pipeline/snapshots/test_pipeline.ambr @@ -112,8 +112,6 @@ ]), 'success': list([ ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -347,8 +345,6 @@ ]), 'success': list([ ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -579,8 +575,6 @@ ]), 'success': list([ ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -658,8 +652,6 @@ ]), 'success': list([ ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -712,8 +704,6 @@ ]), 'success': list([ ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -766,8 +756,6 @@ ]), 'success': list([ ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', diff --git a/tests/components/assist_pipeline/snapshots/test_websocket.ambr b/tests/components/assist_pipeline/snapshots/test_websocket.ambr index 5b5ed44e24d..4d5ae8e28e7 100644 --- a/tests/components/assist_pipeline/snapshots/test_websocket.ambr +++ b/tests/components/assist_pipeline/snapshots/test_websocket.ambr @@ -661,8 +661,6 @@ ]), 'success': list([ ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', diff --git a/tests/components/assist_satellite/test_intent.py b/tests/components/assist_satellite/test_intent.py index 0e531811adc..0a00dab7bbb 100644 --- a/tests/components/assist_satellite/test_intent.py +++ b/tests/components/assist_satellite/test_intent.py @@ -65,7 +65,6 @@ async def test_broadcast_intent( "type": intent.IntentResponseTargetType.ENTITY, }, ], - "targets": [], }, "language": "en", "response_type": "action_done", @@ -98,7 +97,6 @@ async def test_broadcast_intent( "type": intent.IntentResponseTargetType.ENTITY, }, ], - "targets": [], }, "language": "en", "response_type": "action_done", @@ -130,7 +128,6 @@ async def test_broadcast_intent_excluded_domains( "data": { "failed": [], "success": [], # no satellites - "targets": [], }, "language": "en", "response_type": "action_done", diff --git a/tests/components/cloud/test_entity.py b/tests/components/cloud/test_entity.py index 42ca6bdbba1..d2fd9cc644c 100644 --- a/tests/components/cloud/test_entity.py +++ b/tests/components/cloud/test_entity.py @@ -250,7 +250,7 @@ async def test_prepare_chat_for_generation_passes_messages_through( "speech": {"plain": {"speech": "12:00 PM", "extra_data": None}}, "response_type": "action_done", "speech_slots": {"time": datetime.time(12, 0)}, - "data": {"targets": [], "success": [], "failed": []}, + "data": {"success": [], "failed": []}, }, ) ) diff --git a/tests/components/conversation/snapshots/test_default_agent.ambr b/tests/components/conversation/snapshots/test_default_agent.ambr index 02e4ef1befe..931e5a96c0b 100644 --- a/tests/components/conversation/snapshots/test_default_agent.ambr +++ b/tests/components/conversation/snapshots/test_default_agent.ambr @@ -11,8 +11,6 @@ ]), 'success': list([ ]), - 'targets': list([ - ]), }), 'language': 'en-us', 'response_type': 'action_done', @@ -37,8 +35,6 @@ ]), 'success': list([ ]), - 'targets': list([ - ]), }), 'language': 'en-us', 'response_type': 'action_done', @@ -63,8 +59,6 @@ ]), 'success': list([ ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -94,8 +88,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -125,8 +117,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -198,8 +188,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -229,8 +217,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -260,8 +246,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -291,8 +275,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -343,8 +325,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -416,8 +396,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -468,8 +446,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -499,8 +475,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', diff --git a/tests/components/conversation/snapshots/test_http.ambr b/tests/components/conversation/snapshots/test_http.ambr index 29d583caed7..c6a6ba3a226 100644 --- a/tests/components/conversation/snapshots/test_http.ambr +++ b/tests/components/conversation/snapshots/test_http.ambr @@ -283,8 +283,6 @@ 'type': 'entity', }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -314,8 +312,6 @@ 'type': 'entity', }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', diff --git a/tests/components/conversation/snapshots/test_init.ambr b/tests/components/conversation/snapshots/test_init.ambr index 779bb256180..04234b4d8ac 100644 --- a/tests/components/conversation/snapshots/test_init.ambr +++ b/tests/components/conversation/snapshots/test_init.ambr @@ -11,8 +11,6 @@ ]), 'success': list([ ]), - 'targets': list([ - ]), }), 'language': 'test-language', 'response_type': 'action_done', @@ -63,8 +61,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -94,8 +90,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -125,8 +119,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -156,8 +148,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -187,8 +177,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -218,8 +206,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -249,8 +235,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', @@ -280,8 +264,6 @@ 'type': , }), ]), - 'targets': list([ - ]), }), 'language': 'en', 'response_type': 'action_done', diff --git a/tests/components/google_generative_ai_conversation/snapshots/test_conversation.ambr b/tests/components/google_generative_ai_conversation/snapshots/test_conversation.ambr index 0e619fff902..9996cbab1d2 100644 --- a/tests/components/google_generative_ai_conversation/snapshots/test_conversation.ambr +++ b/tests/components/google_generative_ai_conversation/snapshots/test_conversation.ambr @@ -28,8 +28,7 @@ response={ 'data': { 'failed': [], - 'success': [], - 'targets': [] + 'success': [] }, 'response_type': 'action_done', 'speech': { diff --git a/tests/components/google_generative_ai_conversation/test_conversation.py b/tests/components/google_generative_ai_conversation/test_conversation.py index 5d0cd708d46..08e4be8005a 100644 --- a/tests/components/google_generative_ai_conversation/test_conversation.py +++ b/tests/components/google_generative_ai_conversation/test_conversation.py @@ -117,7 +117,7 @@ async def test_function_call( "speech": {"plain": {"speech": "4:24 PM", "extra_data": None}}, "response_type": "action_done", "speech_slots": {"time": datetime.time(16, 24, 17, 813343)}, - "data": {"targets": [], "success": [], "failed": []}, + "data": {"success": [], "failed": []}, }, ) ) diff --git a/tests/components/intent/test_init.py b/tests/components/intent/test_init.py index 614ec780edd..9b701f8f18f 100644 --- a/tests/components/intent/test_init.py +++ b/tests/components/intent/test_init.py @@ -85,7 +85,7 @@ async def test_http_handle_intent( }, "language": hass.config.language, "response_type": intent.IntentResponseType.ACTION_DONE.value, - "data": {"targets": [], "success": [], "failed": []}, + "data": {"success": [], "failed": []}, } @@ -149,7 +149,7 @@ async def test_http_language_device_satellite_id( }, "language": language, "response_type": "action_done", - "data": {"targets": [], "success": [], "failed": []}, + "data": {"success": [], "failed": []}, } diff --git a/tests/components/mobile_app/test_webhook.py b/tests/components/mobile_app/test_webhook.py index e0c5a1cf77c..2c96bc5421e 100644 --- a/tests/components/mobile_app/test_webhook.py +++ b/tests/components/mobile_app/test_webhook.py @@ -1142,7 +1142,6 @@ async def test_webhook_handle_conversation_process( }, "language": hass.config.language, "data": { - "targets": [], "success": [], "failed": [], }, diff --git a/tests/components/ollama/snapshots/test_conversation.ambr b/tests/components/ollama/snapshots/test_conversation.ambr index de414019317..157ec350405 100644 --- a/tests/components/ollama/snapshots/test_conversation.ambr +++ b/tests/components/ollama/snapshots/test_conversation.ambr @@ -10,8 +10,6 @@ failed_results=list([ ]), intent=None, - intent_targets=list([ - ]), language='en', matched_states=list([ ]), diff --git a/tests/components/ollama/test_conversation.py b/tests/components/ollama/test_conversation.py index 9e91da87fda..83e692e2410 100644 --- a/tests/components/ollama/test_conversation.py +++ b/tests/components/ollama/test_conversation.py @@ -499,7 +499,7 @@ async def test_history_conversion( "speech": {"plain": {"speech": "4:24 PM", "extra_data": None}}, "response_type": "action_done", "speech_slots": {"time": datetime.time(16, 24, 17, 813343)}, - "data": {"targets": [], "success": [], "failed": []}, + "data": {"success": [], "failed": []}, }, ) ) @@ -547,7 +547,7 @@ async def test_history_conversion( ), Message( role="tool", - content='{"speech":{"plain":{"speech":"4:24 PM","extra_data":null}},"response_type":"action_done","speech_slots":{"time":"16:24:17.813343"},"data":{"targets":[],"success":[],"failed":[]}}', + content='{"speech":{"plain":{"speech":"4:24 PM","extra_data":null}},"response_type":"action_done","speech_slots":{"time":"16:24:17.813343"},"data":{"success":[],"failed":[]}}', ), Message(role="assistant", content="4:24 PM"), Message(role="user", content="test message"), diff --git a/tests/components/open_router/snapshots/test_conversation.ambr b/tests/components/open_router/snapshots/test_conversation.ambr index fb9c7d7ba40..3f8ac1ccc09 100644 --- a/tests/components/open_router/snapshots/test_conversation.ambr +++ b/tests/components/open_router/snapshots/test_conversation.ambr @@ -163,8 +163,6 @@ ]), 'success': list([ ]), - 'targets': list([ - ]), }), 'response_type': 'action_done', 'speech': dict({ @@ -258,7 +256,7 @@ ]), }), dict({ - 'content': '{"speech":{"plain":{"speech":"12:00 PM","extra_data":null}},"response_type":"action_done","speech_slots":{"time":"12:00:00"},"data":{"targets":[],"success":[],"failed":[]}}', + 'content': '{"speech":{"plain":{"speech":"12:00 PM","extra_data":null}},"response_type":"action_done","speech_slots":{"time":"12:00:00"},"data":{"success":[],"failed":[]}}', 'role': 'tool', 'tool_call_id': 'mock_tool_call_id', }), diff --git a/tests/components/open_router/test_conversation.py b/tests/components/open_router/test_conversation.py index 80e2785c2bf..6bd4a513171 100644 --- a/tests/components/open_router/test_conversation.py +++ b/tests/components/open_router/test_conversation.py @@ -116,7 +116,7 @@ async def test_function_call( "speech": {"plain": {"speech": "12:00 PM", "extra_data": None}}, "response_type": "action_done", "speech_slots": {"time": datetime.time(12, 0)}, - "data": {"targets": [], "success": [], "failed": []}, + "data": {"success": [], "failed": []}, }, ) ) diff --git a/tests/components/openai_conversation/snapshots/test_conversation.ambr b/tests/components/openai_conversation/snapshots/test_conversation.ambr index 087d2c469b3..caf16e6990d 100644 --- a/tests/components/openai_conversation/snapshots/test_conversation.ambr +++ b/tests/components/openai_conversation/snapshots/test_conversation.ambr @@ -71,8 +71,6 @@ ]), 'success': list([ ]), - 'targets': list([ - ]), }), 'response_type': 'action_done', 'speech': dict({ @@ -197,7 +195,7 @@ }), dict({ 'call_id': 'mock-tool-call-id', - 'output': '{"speech":{"plain":{"speech":"12:00 PM","extra_data":null}},"response_type":"action_done","speech_slots":{"time":"12:00:00"},"data":{"targets":[],"success":[],"failed":[]}}', + 'output': '{"speech":{"plain":{"speech":"12:00 PM","extra_data":null}},"response_type":"action_done","speech_slots":{"time":"12:00:00"},"data":{"success":[],"failed":[]}}', 'type': 'function_call_output', }), dict({ diff --git a/tests/components/openai_conversation/test_conversation.py b/tests/components/openai_conversation/test_conversation.py index c21bbfca544..a6abb29a3fb 100644 --- a/tests/components/openai_conversation/test_conversation.py +++ b/tests/components/openai_conversation/test_conversation.py @@ -279,7 +279,7 @@ async def test_function_call( "speech": {"plain": {"speech": "12:00 PM", "extra_data": None}}, "response_type": "action_done", "speech_slots": {"time": datetime.time(12, 0, 0, 0)}, - "data": {"targets": [], "success": [], "failed": []}, + "data": {"success": [], "failed": []}, }, ) ) diff --git a/tests/helpers/test_llm.py b/tests/helpers/test_llm.py index 08604d111f2..dfe623bb1f1 100644 --- a/tests/helpers/test_llm.py +++ b/tests/helpers/test_llm.py @@ -249,7 +249,6 @@ async def test_assist_api( "data": { "failed": [], "success": [], - "targets": [], }, "reprompt": { "plain": { @@ -308,7 +307,6 @@ async def test_assist_api( "data": { "failed": [], "success": [], - "targets": [], }, "response_type": "action_done", "reprompt": {