fix: fixed a bug where norms where not updated
Now in UserInterruptAgent we store the norm.norm and not the slugified norm ref: N25B-400
This commit is contained in:
@@ -342,7 +342,7 @@ class BDICoreAgent(BaseAgent):
|
||||
norm_update_message = InternalMessage(
|
||||
to=settings.agent_settings.user_interrupt_name,
|
||||
thread="active_norms_update",
|
||||
body=str(norms),
|
||||
body=norms,
|
||||
)
|
||||
|
||||
self.add_behavior(self.send(norm_update_message))
|
||||
@@ -362,7 +362,6 @@ class BDICoreAgent(BaseAgent):
|
||||
message_text = agentspeak.grounded(term.args[0], intention.scope)
|
||||
norms = agentspeak.grounded(term.args[1], intention.scope)
|
||||
goal = agentspeak.grounded(term.args[2], intention.scope)
|
||||
|
||||
norm_update_message = InternalMessage(
|
||||
to=settings.agent_settings.user_interrupt_name,
|
||||
thread="active_norms_update",
|
||||
|
||||
@@ -159,9 +159,10 @@ 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":
|
||||
asl_slugs = [s.strip() for s in msg.body.split(";")]
|
||||
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(asl_slugs)
|
||||
await self._broadcast_cond_norms(norm_list)
|
||||
case _:
|
||||
self.logger.debug(f"Received internal message on unhandled thread: {msg.thread}")
|
||||
|
||||
@@ -213,8 +214,7 @@ class UserInterruptAgent(BaseAgent):
|
||||
norm_id = str(norm.id)
|
||||
|
||||
self._cond_norm_map[norm_id] = asl_slug
|
||||
self._cond_norm_reverse_map[asl_slug] = norm_id
|
||||
self._cond_norm_reverse_map[asl_slug] = norm_id
|
||||
self._cond_norm_reverse_map[norm.norm] = norm_id
|
||||
self.logger.debug("Added conditional norm %s", asl_slug)
|
||||
|
||||
self.logger.info(
|
||||
|
||||
Reference in New Issue
Block a user