Merge branch 'feat/norms-and-goals-program' into docs/docs-cb
This commit is contained in:
@@ -60,7 +60,7 @@ class RobotSpeechAgent(BaseAgent):
|
||||
self.subsocket.connect(settings.zmq_settings.internal_sub_address)
|
||||
self.subsocket.setsockopt(zmq.SUBSCRIBE, b"command")
|
||||
|
||||
await self.add_behavior(self._zmq_command_loop())
|
||||
self.add_behavior(self._zmq_command_loop())
|
||||
|
||||
self.logger.info("Finished setting up %s", self.name)
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ class BDICoreAgent(BaseAgent):
|
||||
await self._load_asl()
|
||||
|
||||
# Start the BDI cycle loop
|
||||
await self.add_behavior(self._bdi_loop())
|
||||
self.add_behavior(self._bdi_loop())
|
||||
self._wake_bdi_loop.set()
|
||||
self.logger.debug("Setup complete.")
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ class BDIProgramManager(BaseAgent):
|
||||
try:
|
||||
program = Program.model_validate_json(body)
|
||||
except ValidationError as e:
|
||||
self.logger.error("Received an invalid program.", exc_info=e)
|
||||
self.logger.exception("Received an invalid program.")
|
||||
continue
|
||||
|
||||
await self._send_to_bdi(program)
|
||||
@@ -91,4 +91,4 @@ class BDIProgramManager(BaseAgent):
|
||||
self.sub_socket.connect(settings.zmq_settings.internal_sub_address)
|
||||
self.sub_socket.subscribe("program")
|
||||
|
||||
await self.add_behavior(self._receive_programs())
|
||||
self.add_behavior(self._receive_programs())
|
||||
|
||||
@@ -60,7 +60,7 @@ class RICommunicationAgent(BaseAgent):
|
||||
|
||||
if await self._negotiate_connection():
|
||||
self.connected = True
|
||||
await self.add_behavior(self._listen_loop())
|
||||
self.add_behavior(self._listen_loop())
|
||||
else:
|
||||
self.logger.warning("Failed to negotiate connection during setup.")
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ class TranscriptionAgent(BaseAgent):
|
||||
self.speech_recognizer.load_model() # Warmup
|
||||
|
||||
# Start background loop
|
||||
await self.add_behavior(self._transcribing_loop())
|
||||
self.add_behavior(self._transcribing_loop())
|
||||
|
||||
self.logger.info("Finished setting up %s", self.name)
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ class VADAgent(BaseAgent):
|
||||
# Warmup/reset
|
||||
await self.reset_stream()
|
||||
|
||||
await self.add_behavior(self._streaming_loop())
|
||||
self.add_behavior(self._streaming_loop())
|
||||
|
||||
# Start agents dependent on the output audio fragments here
|
||||
transcriber = TranscriptionAgent(audio_out_address)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import asyncio
|
||||
import logging
|
||||
from abc import ABC, abstractmethod
|
||||
from asyncio import Task
|
||||
from collections.abc import Coroutine
|
||||
|
||||
import zmq
|
||||
@@ -102,8 +103,8 @@ class BaseAgent(ABC):
|
||||
await self.setup()
|
||||
|
||||
# Start processing inbox and ZMQ messages
|
||||
await self.add_behavior(self._process_inbox())
|
||||
await self.add_behavior(self._receive_internal_zmq_loop())
|
||||
self.add_behavior(self._process_inbox())
|
||||
self.add_behavior(self._receive_internal_zmq_loop())
|
||||
|
||||
async def stop(self):
|
||||
"""
|
||||
@@ -182,7 +183,7 @@ class BaseAgent(ABC):
|
||||
"""
|
||||
raise NotImplementedError
|
||||
|
||||
async def add_behavior(self, coro: Coroutine):
|
||||
def add_behavior(self, coro: Coroutine) -> Task:
|
||||
"""
|
||||
Add a background behavior (task) to the agent.
|
||||
|
||||
@@ -194,3 +195,4 @@ class BaseAgent(ABC):
|
||||
task = asyncio.create_task(coro)
|
||||
self._tasks.add(task)
|
||||
task.add_done_callback(self._tasks.discard)
|
||||
return task
|
||||
|
||||
Reference in New Issue
Block a user