main
py 24 lines 868 Bytes
Raw
1 from helpers.api import ApiHandler, Request, Response
2 from helpers import files, projects
3 from plugins._memory.helpers.memory import get_custom_knowledge_subdir_abs
4
5
6 class GetKnowledgePath(ApiHandler):
7 async def process(self, input: dict, request: Request) -> dict | Response:
8 ctxid = input.get("ctxid", "")
9 if not ctxid:
10 raise Exception("No context id provided")
11 context = self.use_context(ctxid)
12
13 project_name = projects.get_context_project_name(context)
14 if project_name:
15 knowledge_folder = projects.get_project_meta(project_name, "knowledge")
16 else:
17 knowledge_folder = get_custom_knowledge_subdir_abs(context.agent0)
18
19 knowledge_folder = files.normalize_a0_path(knowledge_folder)
20
21 return {
22 "ok": True,
23 "path": knowledge_folder,
24 }