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.",
        }