Spaces:
Runtime error
Runtime error
Merge pull request #62 from EnvisionMindCa/codex/fix-message-not-activating-junior-agent
Browse files- src/team.py +17 -11
src/team.py
CHANGED
@@ -86,17 +86,23 @@ class TeamChatSession:
|
|
86 |
self._junior_task = asyncio.create_task(self._process_junior())
|
87 |
|
88 |
async def _process_junior(self) -> None:
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
|
101 |
async def _deliver_junior_messages(self) -> None:
|
102 |
while not self._to_senior.empty():
|
|
|
86 |
self._junior_task = asyncio.create_task(self._process_junior())
|
87 |
|
88 |
async def _process_junior(self) -> None:
|
89 |
+
try:
|
90 |
+
while not self._to_junior.empty():
|
91 |
+
msg = await self._to_junior.get()
|
92 |
+
self.junior._messages.append({"role": "tool", "name": "senior", "content": msg})
|
93 |
+
DBMessage.create(conversation=self.junior._conversation, role="tool", content=msg)
|
94 |
+
parts: list[str] = []
|
95 |
+
async for part in self.junior.continue_stream():
|
96 |
+
if part:
|
97 |
+
parts.append(part)
|
98 |
+
result = "\n".join(parts)
|
99 |
+
if result.strip():
|
100 |
+
await self._to_senior.put(result)
|
101 |
+
|
102 |
+
if self.senior._state == "idle":
|
103 |
+
await self._deliver_junior_messages()
|
104 |
+
finally:
|
105 |
+
self._junior_task = None
|
106 |
|
107 |
async def _deliver_junior_messages(self) -> None:
|
108 |
while not self._to_senior.empty():
|