From 65e0b2d250cd4a68fe0b5e2b8e7a9fadf3f150c4 Mon Sep 17 00:00:00 2001 From: Pim Hutting Date: Tue, 13 Jan 2026 12:05:20 +0100 Subject: [PATCH] feat: added correct message ref: N25B-400 --- .../user_interrupt/user_interrupt_agent.py | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/control_backend/agents/user_interrupt/user_interrupt_agent.py b/src/control_backend/agents/user_interrupt/user_interrupt_agent.py index d92a071..58d2024 100644 --- a/src/control_backend/agents/user_interrupt/user_interrupt_agent.py +++ b/src/control_backend/agents/user_interrupt/user_interrupt_agent.py @@ -7,6 +7,7 @@ from control_backend.agents import BaseAgent from control_backend.agents.bdi.agentspeak_generator import AgentSpeakGenerator from control_backend.core.agent_system import InternalMessage from control_backend.core.config import settings +from control_backend.schemas.belief_message import Belief, BeliefMessage from control_backend.schemas.program import ConditionalNorm, Program from control_backend.schemas.ri_message import ( GestureCommand, @@ -119,7 +120,7 @@ class UserInterruptAgent(BaseAgent): event_context, ) elif asl_goal := self._goal_map.get(ui_id): - await self._send_to_bdi("complete_goal", asl_goal) + await self._send_to_bdi_belief(asl_goal) self.logger.info( "Forwarded button press (override) with context '%s' to BDI Core.", event_context, @@ -134,6 +135,9 @@ class UserInterruptAgent(BaseAgent): await self.send(goal_achieve_msg) else: self.logger.warning("Could not determine which element to override.") + self.logger.warning(self._goal_map) + self.loger.warning(ui_id) + elif event_type == "pause": self.logger.debug( "Received pause/resume button press with context '%s'.", event_context @@ -305,6 +309,20 @@ class UserInterruptAgent(BaseAgent): await self.send(msg) self.logger.info(f"Directly forced {thread} in BDI: {body}") + async def _send_to_bdi_belief(self, asl_goal: str): + """Send belief to BDI Core""" + belief_name = f"achieved_{asl_goal}" + belief = Belief(name=belief_name) + self.logger.debug(f"Sending belief to BDI Core: {belief_name}") + belief_message = BeliefMessage(create=[belief]) + msg = InternalMessage( + to=settings.agent_settings.bdi_core_name, + thread="belief_update", + body=belief_message.model_dump_json(), + ) + await self.send(msg) + self.logger.info(f"Sent belief to BDI Core: {msg}") + async def _send_experiment_control_to_bdi_core(self, type): """ method to send experiment control buttons to bdi core.