From 68185e3e5e9782c01967b44d869b4f91db9c164d Mon Sep 17 00:00:00 2001 From: Jorge Villacorta Date: Mon, 21 Apr 2025 14:02:21 -0600 Subject: [PATCH 1/3] Avoid re-registering a message type already registered --- .../src/autogen_agentchat/teams/_group_chat/_base_group_chat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/packages/autogen-agentchat/src/autogen_agentchat/teams/_group_chat/_base_group_chat.py b/python/packages/autogen-agentchat/src/autogen_agentchat/teams/_group_chat/_base_group_chat.py index efc4dc3f00fd..74ac4d70f6e7 100644 --- a/python/packages/autogen-agentchat/src/autogen_agentchat/teams/_group_chat/_base_group_chat.py +++ b/python/packages/autogen-agentchat/src/autogen_agentchat/teams/_group_chat/_base_group_chat.py @@ -73,7 +73,7 @@ def __init__( for agent in participants: for message_type in agent.produced_message_types: try: - if issubclass(message_type, StructuredMessage): + if issubclass(message_type, StructuredMessage) and not self._message_factory.is_registered(message_type): self._message_factory.register(message_type) # type: ignore[reportUnknownArgumentType] except TypeError: # Not a class or not a valid subclassable type (skip) From 18c16b678364f5bdffbbb2f4e91e683ddc4f17a2 Mon Sep 17 00:00:00 2001 From: Jorge Villacorta Date: Mon, 21 Apr 2025 18:33:14 -0600 Subject: [PATCH 2/3] Formatting --- .../autogen_agentchat/teams/_group_chat/_base_group_chat.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/python/packages/autogen-agentchat/src/autogen_agentchat/teams/_group_chat/_base_group_chat.py b/python/packages/autogen-agentchat/src/autogen_agentchat/teams/_group_chat/_base_group_chat.py index 74ac4d70f6e7..b0d238dfcd42 100644 --- a/python/packages/autogen-agentchat/src/autogen_agentchat/teams/_group_chat/_base_group_chat.py +++ b/python/packages/autogen-agentchat/src/autogen_agentchat/teams/_group_chat/_base_group_chat.py @@ -73,7 +73,9 @@ def __init__( for agent in participants: for message_type in agent.produced_message_types: try: - if issubclass(message_type, StructuredMessage) and not self._message_factory.is_registered(message_type): + if issubclass(message_type, StructuredMessage) and not self._message_factory.is_registered( + message_type + ): self._message_factory.register(message_type) # type: ignore[reportUnknownArgumentType] except TypeError: # Not a class or not a valid subclassable type (skip) From 81f141b10438531a8ef8e983009a0f04ab7c841c Mon Sep 17 00:00:00 2001 From: Jorge Villacorta Date: Mon, 21 Apr 2025 20:15:24 -0600 Subject: [PATCH 3/3] Add exception for pyright --- .../autogen_agentchat/teams/_group_chat/_base_group_chat.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/python/packages/autogen-agentchat/src/autogen_agentchat/teams/_group_chat/_base_group_chat.py b/python/packages/autogen-agentchat/src/autogen_agentchat/teams/_group_chat/_base_group_chat.py index b0d238dfcd42..0d81c391389c 100644 --- a/python/packages/autogen-agentchat/src/autogen_agentchat/teams/_group_chat/_base_group_chat.py +++ b/python/packages/autogen-agentchat/src/autogen_agentchat/teams/_group_chat/_base_group_chat.py @@ -73,9 +73,8 @@ def __init__( for agent in participants: for message_type in agent.produced_message_types: try: - if issubclass(message_type, StructuredMessage) and not self._message_factory.is_registered( - message_type - ): + is_registered = self._message_factory.is_registered(message_type) # type: ignore[reportUnknownArgumentType] + if issubclass(message_type, StructuredMessage) and not is_registered: self._message_factory.register(message_type) # type: ignore[reportUnknownArgumentType] except TypeError: # Not a class or not a valid subclassable type (skip)