diff --git a/agents/s09_agent_teams.py b/agents/s09_agent_teams.py
index 90f6760df..eee7ef763 100644
--- a/agents/s09_agent_teams.py
+++ b/agents/s09_agent_teams.py
@@ -97,7 +97,7 @@ def send(self, sender: str, to: str, content: str,
f.write(json.dumps(msg) + "\n")
return f"Sent {msg_type} to {to}"
- def read_inbox(self, name: str) -> list:
+ def read_inbox(self, name: str, clear: bool = True) -> list:
inbox_path = self.dir / f"{name}.jsonl"
if not inbox_path.exists():
return []
@@ -105,7 +105,8 @@ def read_inbox(self, name: str) -> list:
for line in inbox_path.read_text().strip().splitlines():
if line:
messages.append(json.loads(line))
- inbox_path.write_text("")
+ if clear:
+ inbox_path.write_text("")
return messages
def broadcast(self, sender: str, content: str, teammates: list) -> str:
@@ -348,7 +349,7 @@ def agent_loop(messages: list):
if inbox:
messages.append({
"role": "user",
- "content": f"{json.dumps(inbox, indent=2)}",
+ "content": f"{json.dumps(inbox)}",
})
response = client.messages.create(
model=MODEL,
@@ -391,7 +392,7 @@ def agent_loop(messages: list):
print(TEAM.list_all())
continue
if query.strip() == "/inbox":
- print(json.dumps(BUS.read_inbox("lead"), indent=2))
+ print(json.dumps(BUS.read_inbox("lead", False), indent=2))
continue
history.append({"role": "user", "content": query})
agent_loop(history)
diff --git a/agents/s10_team_protocols.py b/agents/s10_team_protocols.py
index d5475359c..d5dbb2eda 100644
--- a/agents/s10_team_protocols.py
+++ b/agents/s10_team_protocols.py
@@ -107,7 +107,7 @@ def send(self, sender: str, to: str, content: str,
f.write(json.dumps(msg) + "\n")
return f"Sent {msg_type} to {to}"
- def read_inbox(self, name: str) -> list:
+ def read_inbox(self, name: str, clear: bool = True) -> list:
inbox_path = self.dir / f"{name}.jsonl"
if not inbox_path.exists():
return []
@@ -115,7 +115,8 @@ def read_inbox(self, name: str) -> list:
for line in inbox_path.read_text().strip().splitlines():
if line:
messages.append(json.loads(line))
- inbox_path.write_text("")
+ if clear:
+ inbox_path.write_text("")
return messages
def broadcast(self, sender: str, content: str, teammates: list) -> str:
@@ -429,7 +430,7 @@ def agent_loop(messages: list):
if inbox:
messages.append({
"role": "user",
- "content": f"{json.dumps(inbox, indent=2)}",
+ "content": f"{json.dumps(inbox)}",
})
response = client.messages.create(
model=MODEL,
@@ -472,7 +473,7 @@ def agent_loop(messages: list):
print(TEAM.list_all())
continue
if query.strip() == "/inbox":
- print(json.dumps(BUS.read_inbox("lead"), indent=2))
+ print(json.dumps(BUS.read_inbox("lead", False), indent=2))
continue
history.append({"role": "user", "content": query})
agent_loop(history)
diff --git a/agents/s11_autonomous_agents.py b/agents/s11_autonomous_agents.py
index 3aec416b8..a754affe7 100644
--- a/agents/s11_autonomous_agents.py
+++ b/agents/s11_autonomous_agents.py
@@ -100,7 +100,7 @@ def send(self, sender: str, to: str, content: str,
f.write(json.dumps(msg) + "\n")
return f"Sent {msg_type} to {to}"
- def read_inbox(self, name: str) -> list:
+ def read_inbox(self, name: str, clear: bool = True) -> list:
inbox_path = self.dir / f"{name}.jsonl"
if not inbox_path.exists():
return []
@@ -108,7 +108,8 @@ def read_inbox(self, name: str) -> list:
for line in inbox_path.read_text().strip().splitlines():
if line:
messages.append(json.loads(line))
- inbox_path.write_text("")
+ if clear:
+ inbox_path.write_text("")
return messages
def broadcast(self, sender: str, content: str, teammates: list) -> str:
@@ -142,11 +143,9 @@ def claim_task(task_id: int, owner: str) -> str:
if not path.exists():
return f"Error: Task {task_id} not found"
task = json.loads(path.read_text())
- if task.get("owner"):
- existing_owner = task.get("owner") or "someone else"
+ if existing_owner := task.get("owner"):
return f"Error: Task {task_id} has already been claimed by {existing_owner}"
- if task.get("status") != "pending":
- status = task.get("status")
+ if (status := task.get("status")) != "pending":
return f"Error: Task {task_id} cannot be claimed because its status is '{status}'"
if task.get("blockedBy"):
return f"Error: Task {task_id} is blocked by other task(s) and cannot be claimed yet"
@@ -523,7 +522,7 @@ def agent_loop(messages: list):
if inbox:
messages.append({
"role": "user",
- "content": f"{json.dumps(inbox, indent=2)}",
+ "content": f"{json.dumps(inbox)}",
})
response = client.messages.create(
model=MODEL,
@@ -566,7 +565,7 @@ def agent_loop(messages: list):
print(TEAM.list_all())
continue
if query.strip() == "/inbox":
- print(json.dumps(BUS.read_inbox("lead"), indent=2))
+ print(json.dumps(BUS.read_inbox("lead", False), indent=2))
continue
if query.strip() == "/tasks":
TASKS_DIR.mkdir(exist_ok=True)