def __init__(self, **kwargs) -> None: """ Initialize dialogues. :return: None """ Model.__init__(self, **kwargs) BaseTacDialogues.__init__(self, self.context.agent_address)
def __init__(self, **kwargs) -> None: """ Initialize dialogues. :return: None """ Model.__init__(self, **kwargs) BaseTacDialogues.__init__(self, self.context.agent_address) self._dialogue_by_address = {} # type: Dict[str, Dialogue]
def __init__(self, self_address: Address) -> None: """ Initialize dialogues. :return: None """ def role_from_first_message( # pylint: disable=unused-argument message: Message, receiver_address: Address) -> BaseDialogue.Role: """Infer the role of the agent from an incoming/outgoing first message :param message: an incoming/outgoing first message :param receiver_address: the address of the receiving agent :return: The role of the agent """ return TacDialogue.Role.CONTROLLER TacDialogues.__init__( self, self_address=self_address, role_from_first_message=role_from_first_message, dialogue_class=ControllerDialogue, )
def __init__(self, **kwargs: Any) -> None: """ Initialize dialogues. :return: None """ Model.__init__(self, **kwargs) def role_from_first_message( # pylint: disable=unused-argument message: Message, receiver_address: Address ) -> Dialogue.Role: """Infer the role of the agent from an incoming/outgoing first message :param message: an incoming/outgoing first message :param receiver_address: the address of the receiving agent :return: The role of the agent """ return TacDialogue.Role.CONTROLLER BaseTacDialogues.__init__( self, self_address=self.context.agent_address, role_from_first_message=role_from_first_message, )
def test_dialogues_message_resolved_properly(): """ Test for the issue in parallel messages sends in the dialogues system. issue: https://github.com/fetchai/agents-aea/issues/2128 """ addr1 = "addr1" addr2 = "addr2" part1 = TacDialogues(addr1, role_from_first_message=role_participant) part2 = TacDialogues(addr2, role_from_first_message=role_participant) msg, _ = part1.create(addr2, performative=TacMessage.Performative.REGISTER, agent_name=addr1) dialogue = part2.update(msg) assert dialogue game_data_msg = dialogue.reply( performative=TacMessage.Performative.GAME_DATA) dialogue = part1.update(game_data_msg) assert dialogue transaction1_msg = dialogue.reply( performative=TacMessage.Performative.TRANSACTION) transaction2_msg = dialogue.reply( performative=TacMessage.Performative.TRANSACTION) dialogue = part2.update(transaction1_msg) assert dialogue comfirmation1_msg = dialogue.reply( performative=TacMessage.Performative.TRANSACTION_CONFIRMATION) dialogue = part1.update(comfirmation1_msg) assert dialogue transaction3_msg = dialogue.reply( performative=TacMessage.Performative.TRANSACTION) dialogue = part2.update(transaction2_msg) assert dialogue comfirmation2_msg = dialogue.reply( performative=TacMessage.Performative.TRANSACTION_CONFIRMATION) assert comfirmation2_msg.target == transaction2_msg.message_id dialogue = part1.update(comfirmation2_msg) assert dialogue dialogue = part2.update(transaction3_msg) assert dialogue msg1 = dialogue.reply( performative=TacMessage.Performative.TRANSACTION_CONFIRMATION) # self reply msg2 = dialogue.reply( performative=TacMessage.Performative.TRANSACTION_CONFIRMATION) assert abs(msg2.message_id) - abs(msg1.message_id) == 1 assert msg2.target == msg1.message_id