aymnsk commited on
Commit
c4d164c
·
verified ·
1 Parent(s): 096889e

Update agents/base_agent.py

Browse files
Files changed (1) hide show
  1. agents/base_agent.py +9 -18
agents/base_agent.py CHANGED
@@ -1,15 +1,16 @@
1
  # agents/base_agent.py
2
 
3
- from typing import Dict
 
4
 
 
5
  class ACPMessage:
6
- def __init__(self, sender: str, receiver: str, performative: str, content: str):
7
- self.sender = sender
8
- self.receiver = receiver
9
- self.performative = performative # "inform", "request", etc.
10
- self.content = content
11
 
12
- def to_dict(self) -> Dict:
13
  return {
14
  "sender": self.sender,
15
  "receiver": self.receiver,
@@ -17,22 +18,12 @@ class ACPMessage:
17
  "content": self.content
18
  }
19
 
20
- def __str__(self):
21
- return f"[{self.performative.upper()}] {self.sender} → {self.receiver}: {self.content}"
22
-
23
-
24
  class BaseAgent:
25
  def __init__(self, name: str, role: str):
26
  self.name = name
27
  self.role = role
28
 
29
- def receive_message(self, message: ACPMessage) -> ACPMessage:
30
- """
31
- Override this method to define agent-specific reply logic.
32
- """
33
- raise NotImplementedError("You must override receive_message() in your agent.")
34
-
35
- def create_message(self, receiver: str, performative: str, content: str) -> ACPMessage:
36
  return ACPMessage(
37
  sender=self.name,
38
  receiver=receiver,
 
1
  # agents/base_agent.py
2
 
3
+ from typing import Literal
4
+ from dataclasses import dataclass
5
 
6
+ @dataclass
7
  class ACPMessage:
8
+ sender: str
9
+ receiver: str
10
+ performative: Literal["request", "inform"]
11
+ content: str
 
12
 
13
+ def to_dict(self):
14
  return {
15
  "sender": self.sender,
16
  "receiver": self.receiver,
 
18
  "content": self.content
19
  }
20
 
 
 
 
 
21
  class BaseAgent:
22
  def __init__(self, name: str, role: str):
23
  self.name = name
24
  self.role = role
25
 
26
+ def create_message(self, receiver, performative, content):
 
 
 
 
 
 
27
  return ACPMessage(
28
  sender=self.name,
29
  receiver=receiver,