tech-envision commited on
Commit
5d35005
·
unverified ·
2 Parent(s): 6f99b67 8a3f6bd

Merge pull request #62 from EnvisionMindCa/codex/fix-message-not-activating-junior-agent

Browse files
Files changed (1) hide show
  1. 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
- while not self._to_junior.empty():
90
- msg = await self._to_junior.get()
91
- self.junior._messages.append({"role": "tool", "name": "senior", "content": msg})
92
- DBMessage.create(conversation=self.junior._conversation, role="tool", content=msg)
93
- parts = []
94
- async for part in self.junior.continue_stream():
95
- if part:
96
- parts.append(part)
97
- result = "\n".join(parts)
98
- if result.strip():
99
- await self._to_senior.put(result)
 
 
 
 
 
 
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():