feat: chat sidebar and inbox, feat: saved chats, fix: wake jobs, fix: sandbox sends, ux: negotiation replies and draft box
This commit is contained in:
+17
-3
@@ -83,11 +83,20 @@ class WakeScheduler:
|
||||
)
|
||||
if self.agent is None:
|
||||
self.memory.add_outbox(wake_message)
|
||||
self._mark_job_finished(job_id)
|
||||
return
|
||||
|
||||
text = await self.agent.generate_wake_response(wake_message)
|
||||
try:
|
||||
text = await self.agent.generate_wake_response(wake_message)
|
||||
except Exception as exc:
|
||||
text = f"Wake job failed: {exc}. Job instruction: {prompt}"
|
||||
self.memory.add_outbox(text)
|
||||
self.memory.mark_job_run(job_id)
|
||||
self._mark_job_finished(job_id)
|
||||
|
||||
def _mark_job_finished(self, job_id: str) -> None:
|
||||
job = self.scheduler.get_job(job_id)
|
||||
next_run = job.next_run_time if job else None
|
||||
self.memory.mark_job_run(job_id, next_run.isoformat() if next_run else None, enabled=bool(next_run))
|
||||
|
||||
def _schedule_notification_poll(self) -> None:
|
||||
if self.uex is None:
|
||||
@@ -104,7 +113,12 @@ class WakeScheduler:
|
||||
if self.uex is None:
|
||||
return []
|
||||
|
||||
response = await self.uex.get_user_notifications()
|
||||
try:
|
||||
response = await self.uex.get_user_notifications()
|
||||
except Exception as exc:
|
||||
self.memory.add_outbox(f"UEX notification poll failed: {exc}")
|
||||
self.memory.set_profile("uex_last_notification_error", str(exc))
|
||||
return []
|
||||
notifications = response.get("notifications") or []
|
||||
pending = [item for item in notifications if not item.get("date_read")]
|
||||
profile = self.memory.get_profile()
|
||||
|
||||
Reference in New Issue
Block a user