mirror of
https://github.com/shareAI-lab/learn-claude-code.git
synced 2026-08-10 17:03:50 +00:00
Merge 7c7ddd262c into ab2cf01b2b
This commit is contained in:
commit
f9d7e0ba2f
3 changed files with 17 additions and 16 deletions
|
|
@ -97,7 +97,7 @@ class MessageBus:
|
|||
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 @@ class MessageBus:
|
|||
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"<inbox>{json.dumps(inbox, indent=2)}</inbox>",
|
||||
"content": f"<inbox>{json.dumps(inbox)}</inbox>",
|
||||
})
|
||||
response = client.messages.create(
|
||||
model=MODEL,
|
||||
|
|
@ -391,7 +392,7 @@ if __name__ == "__main__":
|
|||
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)
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ class MessageBus:
|
|||
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 @@ class MessageBus:
|
|||
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"<inbox>{json.dumps(inbox, indent=2)}</inbox>",
|
||||
"content": f"<inbox>{json.dumps(inbox)}</inbox>",
|
||||
})
|
||||
response = client.messages.create(
|
||||
model=MODEL,
|
||||
|
|
@ -472,7 +473,7 @@ if __name__ == "__main__":
|
|||
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)
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ class MessageBus:
|
|||
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 @@ class MessageBus:
|
|||
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"<inbox>{json.dumps(inbox, indent=2)}</inbox>",
|
||||
"content": f"<inbox>{json.dumps(inbox)}</inbox>",
|
||||
})
|
||||
response = client.messages.create(
|
||||
model=MODEL,
|
||||
|
|
@ -566,7 +565,7 @@ if __name__ == "__main__":
|
|||
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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue