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.