diff --git a/salesflow-saas/backend/app/services/knowledge_brain.py b/salesflow-saas/backend/app/services/knowledge_brain.py index d4765f16..9ea4fd5d 100644 --- a/salesflow-saas/backend/app/services/knowledge_brain.py +++ b/salesflow-saas/backend/app/services/knowledge_brain.py @@ -10,9 +10,17 @@ from typing import Any, Optional from pydantic import BaseModel, Field logger = logging.getLogger(__name__) -WIKI_DIR = Path(__file__).resolve().parents[4] / "memory" / "wiki" -INDEX_DIR = Path(__file__).resolve().parents[4] / "memory" / "indexes" -MEMORY_DIR = Path(__file__).resolve().parents[4] / "memory" +def _find_memory_dir() -> Path: + p = Path(__file__).resolve() + for parent in p.parents: + candidate = parent / "memory" + if candidate.is_dir(): + return candidate + return p.parents[min(2, len(p.parents) - 1)] / "memory" + +MEMORY_DIR = _find_memory_dir() +WIKI_DIR = MEMORY_DIR / "wiki" +INDEX_DIR = MEMORY_DIR / "indexes" STALE_DAYS = 30 diff --git a/salesflow-saas/backend/app/services/memory_engine.py b/salesflow-saas/backend/app/services/memory_engine.py index d64defcc..67eba935 100644 --- a/salesflow-saas/backend/app/services/memory_engine.py +++ b/salesflow-saas/backend/app/services/memory_engine.py @@ -9,7 +9,12 @@ from typing import Any, Optional from pydantic import BaseModel, Field logger = logging.getLogger(__name__) -MEMORY_BASE = Path(__file__).resolve().parents[4] / "memory" +def _find_memory(): + for p in Path(__file__).resolve().parents: + if (p / "memory").is_dir(): + return p / "memory" + return Path(__file__).resolve().parent.parent / "memory" +MEMORY_BASE = _find_memory() STALE_DAYS = 30 diff --git a/salesflow-saas/backend/app/services/session_continuity.py b/salesflow-saas/backend/app/services/session_continuity.py index 1e905643..ab5c4575 100644 --- a/salesflow-saas/backend/app/services/session_continuity.py +++ b/salesflow-saas/backend/app/services/session_continuity.py @@ -9,7 +9,12 @@ from typing import Any, Optional from pydantic import BaseModel, Field logger = logging.getLogger(__name__) -SESSIONS_DIR = Path(__file__).resolve().parents[4] / "memory" / "_sessions" +def _find_sessions(): + for p in Path(__file__).resolve().parents: + if (p / "memory").is_dir(): + return p / "memory" / "_sessions" + return Path(__file__).resolve().parent.parent / "memory" / "_sessions" +SESSIONS_DIR = _find_sessions() SESSIONS_DIR.mkdir(parents=True, exist_ok=True)