From dcdf8f776b1d75703b04b0f0878f6004aa1b499c Mon Sep 17 00:00:00 2001 From: CREDO23 Date: Thu, 4 Jun 2026 12:50:38 +0200 Subject: [PATCH] refactor(agents): move utils + document_xml to app/agents/shared (slice 5a) Two pure leaf modules with no intra-new_chat deps and no frozen importer. Moving them now (before the middleware package) pre-empts two shared->new_chat back-edges that the middleware move would otherwise create (knowledge_search->utils, kb_postgres_backend->document_xml). --- .../app/agents/new_chat/middleware/kb_postgres_backend.py | 2 +- .../app/agents/new_chat/middleware/knowledge_search.py | 2 +- surfsense_backend/app/agents/new_chat/tools/knowledge_base.py | 2 +- .../app/agents/{new_chat => shared}/document_xml.py | 0 surfsense_backend/app/agents/{new_chat => shared}/utils.py | 0 .../tests/unit/middleware/test_knowledge_search.py | 2 +- 6 files changed, 4 insertions(+), 4 deletions(-) rename surfsense_backend/app/agents/{new_chat => shared}/document_xml.py (100%) rename surfsense_backend/app/agents/{new_chat => shared}/utils.py (100%) diff --git a/surfsense_backend/app/agents/new_chat/middleware/kb_postgres_backend.py b/surfsense_backend/app/agents/new_chat/middleware/kb_postgres_backend.py index b63f5f2e7..9e29ecab4 100644 --- a/surfsense_backend/app/agents/new_chat/middleware/kb_postgres_backend.py +++ b/surfsense_backend/app/agents/new_chat/middleware/kb_postgres_backend.py @@ -42,7 +42,7 @@ from langchain.tools import ToolRuntime from sqlalchemy import select from sqlalchemy.ext.asyncio import AsyncSession -from app.agents.new_chat.document_xml import build_document_xml +from app.agents.shared.document_xml import build_document_xml from app.agents.shared.path_resolver import ( DOCUMENTS_ROOT, build_path_index, diff --git a/surfsense_backend/app/agents/new_chat/middleware/knowledge_search.py b/surfsense_backend/app/agents/new_chat/middleware/knowledge_search.py index 376581ec5..9d5aebc60 100644 --- a/surfsense_backend/app/agents/new_chat/middleware/knowledge_search.py +++ b/surfsense_backend/app/agents/new_chat/middleware/knowledge_search.py @@ -49,7 +49,7 @@ from app.agents.shared.path_resolver import ( build_path_index, doc_to_virtual_path, ) -from app.agents.new_chat.utils import parse_date_or_datetime, resolve_date_range +from app.agents.shared.utils import parse_date_or_datetime, resolve_date_range from app.db import ( NATIVE_TO_LEGACY_DOCTYPE, Chunk, diff --git a/surfsense_backend/app/agents/new_chat/tools/knowledge_base.py b/surfsense_backend/app/agents/new_chat/tools/knowledge_base.py index c24497bfd..702b6086e 100644 --- a/surfsense_backend/app/agents/new_chat/tools/knowledge_base.py +++ b/surfsense_backend/app/agents/new_chat/tools/knowledge_base.py @@ -692,7 +692,7 @@ async def search_knowledge_base_raw_async( # Preserve the public signature for compatibility even if values are unused. _ = (db_session, connector_service) - from app.agents.new_chat.utils import resolve_date_range + from app.agents.shared.utils import resolve_date_range resolved_start_date, resolved_end_date = resolve_date_range( start_date=start_date, diff --git a/surfsense_backend/app/agents/new_chat/document_xml.py b/surfsense_backend/app/agents/shared/document_xml.py similarity index 100% rename from surfsense_backend/app/agents/new_chat/document_xml.py rename to surfsense_backend/app/agents/shared/document_xml.py diff --git a/surfsense_backend/app/agents/new_chat/utils.py b/surfsense_backend/app/agents/shared/utils.py similarity index 100% rename from surfsense_backend/app/agents/new_chat/utils.py rename to surfsense_backend/app/agents/shared/utils.py diff --git a/surfsense_backend/tests/unit/middleware/test_knowledge_search.py b/surfsense_backend/tests/unit/middleware/test_knowledge_search.py index 3529a946b..39ae70bad 100644 --- a/surfsense_backend/tests/unit/middleware/test_knowledge_search.py +++ b/surfsense_backend/tests/unit/middleware/test_knowledge_search.py @@ -5,7 +5,7 @@ import json import pytest from langchain_core.messages import AIMessage, HumanMessage -from app.agents.new_chat.document_xml import build_document_xml as _build_document_xml +from app.agents.shared.document_xml import build_document_xml as _build_document_xml from app.agents.new_chat.middleware.knowledge_search import ( KBSearchPlan, KnowledgeBaseSearchMiddleware,