File size: 933 Bytes
67b6ab0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | from helpers.api import ApiHandler, Input, Output, Request, Response
from helpers import persist_chat
from helpers.task_scheduler import TaskScheduler
class Reset(ApiHandler):
async def process(self, input: Input, request: Request) -> Output:
ctxid = input.get("context", "")
# attempt to stop any scheduler tasks bound to this context
TaskScheduler.get().cancel_tasks_by_context(ctxid, terminate_thread=True)
# context instance - get or create
context = self.use_context(ctxid)
context.reset()
persist_chat.save_tmp_chat(context)
persist_chat.remove_msg_files(ctxid)
# Reset updates context metadata (log guid/version) and must refresh other tabs' lists.
from helpers.state_monitor_integration import mark_dirty_all
mark_dirty_all(reason="api.chat_reset.Reset")
return {
"message": "Agent restarted.",
}
|