From d499111ea45ee6590149eebf8293379569409945 Mon Sep 17 00:00:00 2001
From: Pim Hutting
Date: Tue, 13 Jan 2026 00:52:04 +0100
Subject: [PATCH] feat: added pause functionality
Storms code wasnt fully included in Bjorns branch
ref: N25B-400
---
.../communication/ri_communication_agent.py | 17 ++++++++---------
.../user_interrupt/user_interrupt_agent.py | 1 -
2 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/src/control_backend/agents/communication/ri_communication_agent.py b/src/control_backend/agents/communication/ri_communication_agent.py
index 2377421..719053c 100644
--- a/src/control_backend/agents/communication/ri_communication_agent.py
+++ b/src/control_backend/agents/communication/ri_communication_agent.py
@@ -3,12 +3,14 @@ import json
import zmq
import zmq.asyncio as azmq
+from pydantic import ValidationError
from zmq.asyncio import Context
from control_backend.agents import BaseAgent
from control_backend.agents.actuation.robot_gesture_agent import RobotGestureAgent
from control_backend.core.config import settings
from control_backend.schemas.internal_message import InternalMessage
+from control_backend.schemas.ri_message import PauseCommand
from ..actuation.robot_speech_agent import RobotSpeechAgent
from ..perception import VADAgent
@@ -320,12 +322,9 @@ class RICommunicationAgent(BaseAgent):
self.connected = True
async def handle_message(self, msg: InternalMessage):
- """
- Handle an incoming message.
-
- Currently not implemented for this agent.
-
- :param msg: The received message.
- :raises NotImplementedError: Always, since this method is not implemented.
- """
- self.logger.warning("custom warning for handle msg in ri coms %s", self.name)
+ try:
+ pause_command = PauseCommand.model_validate_json(msg.body)
+ self._req_socket.send_json(pause_command.model_dump())
+ self.logger.debug(self._req_socket.recv_json())
+ except ValidationError:
+ self.logger.warning("Incorrect message format for PauseCommand.")
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 4dee823..05af28a 100644
--- a/src/control_backend/agents/user_interrupt/user_interrupt_agent.py
+++ b/src/control_backend/agents/user_interrupt/user_interrupt_agent.py
@@ -179,7 +179,6 @@ class UserInterruptAgent(BaseAgent):
await self._send_experiment_update(payload)
self.logger.info(f"UI Update: Goal {goal_name} started (ID: {ui_id})")
case "active_norms_update":
- self.logger.info(f"msg.bodyy{msg.body}")
norm_list = [s.strip("() '\",") for s in msg.body.split(",") if s.strip("() '\",")]
await self._broadcast_cond_norms(norm_list)