diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/middleware/middleware.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/middleware/middleware.py index 07e02ecc9..79fb82947 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/middleware/middleware.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/middleware/middleware.py @@ -7,8 +7,10 @@ from typing import Any from deepagents import FilesystemMiddleware from langchain_core.tools import BaseTool +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from app.agents.shared.filesystem_selection import FilesystemMode -from app.agents.shared.filesystem_state import SurfSenseFilesystemState from app.agents.shared.sandbox import is_sandbox_enabled from ..system_prompt import build_system_prompt diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/middleware/namespace_policy.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/middleware/namespace_policy.py index f3d1e5fc3..01404a8ba 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/middleware/namespace_policy.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/middleware/namespace_policy.py @@ -11,7 +11,9 @@ from typing import TYPE_CHECKING from langchain.tools import ToolRuntime -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from app.agents.shared.path_resolver import DOCUMENTS_ROOT from ..shared.paths import TEMP_PREFIX, basename diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/middleware/path_resolution.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/middleware/path_resolution.py index 1eb062a11..a3bd62e72 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/middleware/path_resolution.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/middleware/path_resolution.py @@ -7,8 +7,10 @@ from typing import TYPE_CHECKING from langchain.tools import ToolRuntime +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from app.agents.shared.filesystem_selection import FilesystemMode -from app.agents.shared.filesystem_state import SurfSenseFilesystemState from app.agents.shared.middleware.multi_root_local_folder_backend import ( MultiRootLocalFolderBackend, ) diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/cd/index.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/cd/index.py index 3fb0f380b..bf868f6e8 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/cd/index.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/cd/index.py @@ -10,7 +10,9 @@ from langchain_core.messages import ToolMessage from langchain_core.tools import BaseTool, StructuredTool from langgraph.types import Command -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from app.agents.shared.path_resolver import DOCUMENTS_ROOT from ...middleware.async_dispatch import run_async_blocking diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/edit_file/index.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/edit_file/index.py index 0a3009db3..a13a11f2b 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/edit_file/index.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/edit_file/index.py @@ -11,7 +11,9 @@ from langchain_core.messages import ToolMessage from langchain_core.tools import BaseTool, StructuredTool from langgraph.types import Command -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from app.agents.shared.middleware.kb_postgres_backend import KBPostgresBackend from ...middleware.async_dispatch import run_async_blocking diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/execute_code/helpers.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/execute_code/helpers.py index b3cf3f999..700662175 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/execute_code/helpers.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/execute_code/helpers.py @@ -14,7 +14,9 @@ from typing import TYPE_CHECKING from daytona.common.errors import DaytonaError from langchain.tools import ToolRuntime -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from app.agents.shared.sandbox import ( _evict_sandbox_cache, delete_sandbox, diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/execute_code/index.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/execute_code/index.py index ea981ba31..db5e6edfa 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/execute_code/index.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/execute_code/index.py @@ -7,7 +7,9 @@ from typing import TYPE_CHECKING, Annotated from langchain.tools import ToolRuntime from langchain_core.tools import BaseTool, StructuredTool -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from ...middleware.async_dispatch import run_async_blocking from .description import select_description diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/list_tree/index.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/list_tree/index.py index c629175a5..97579351f 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/list_tree/index.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/list_tree/index.py @@ -9,7 +9,9 @@ from deepagents.backends.utils import validate_path from langchain.tools import ToolRuntime from langchain_core.tools import BaseTool, StructuredTool -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from app.agents.shared.middleware.kb_postgres_backend import KBPostgresBackend from ...middleware.async_dispatch import run_async_blocking diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/ls/index.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/ls/index.py index 305a8233a..ab1618d01 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/ls/index.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/ls/index.py @@ -8,7 +8,9 @@ from deepagents.backends.utils import validate_path from langchain.tools import ToolRuntime from langchain_core.tools import BaseTool, StructuredTool -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from app.agents.shared.middleware.kb_postgres_backend import paginate_listing from ...middleware.async_dispatch import run_async_blocking diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/mkdir/index.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/mkdir/index.py index f9d86cd01..cfd00837d 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/mkdir/index.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/mkdir/index.py @@ -11,7 +11,9 @@ from langchain_core.messages import ToolMessage from langchain_core.tools import BaseTool, StructuredTool from langgraph.types import Command -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from app.agents.shared.path_resolver import DOCUMENTS_ROOT from ...middleware.async_dispatch import run_async_blocking diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/move_file/helpers.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/move_file/helpers.py index 9df446bdb..5f9dc1154 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/move_file/helpers.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/move_file/helpers.py @@ -8,10 +8,12 @@ from langchain.tools import ToolRuntime from langchain_core.messages import ToolMessage from langgraph.types import Command -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) +from app.agents.multi_agent_chat.shared.state.reducers import _CLEAR from app.agents.shared.middleware.kb_postgres_backend import KBPostgresBackend from app.agents.shared.path_resolver import DOCUMENTS_ROOT -from app.agents.shared.state_reducers import _CLEAR if TYPE_CHECKING: from ...middleware import SurfSenseFilesystemMiddleware diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/move_file/index.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/move_file/index.py index 6c66aa4a1..46a299a81 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/move_file/index.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/move_file/index.py @@ -11,7 +11,9 @@ from langchain_core.messages import ToolMessage from langchain_core.tools import BaseTool, StructuredTool from langgraph.types import Command -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from ...middleware.async_dispatch import run_async_blocking from ...middleware.mode import is_cloud diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/pwd/index.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/pwd/index.py index eea69b5bd..d503c9506 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/pwd/index.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/pwd/index.py @@ -7,7 +7,9 @@ from typing import TYPE_CHECKING from langchain.tools import ToolRuntime from langchain_core.tools import BaseTool, StructuredTool -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from ...middleware.path_resolution import current_cwd from .description import select_description diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/read_file/index.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/read_file/index.py index 784d00b6c..bc673adce 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/read_file/index.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/read_file/index.py @@ -10,7 +10,9 @@ from langchain_core.messages import ToolMessage from langchain_core.tools import BaseTool, StructuredTool from langgraph.types import Command -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from app.agents.shared.middleware.kb_postgres_backend import KBPostgresBackend from ...middleware.async_dispatch import run_async_blocking diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/rm/helpers.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/rm/helpers.py index e990208e0..55530eda0 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/rm/helpers.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/rm/helpers.py @@ -12,10 +12,12 @@ from langchain.tools import ToolRuntime from langchain_core.messages import ToolMessage from langgraph.types import Command -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) +from app.agents.multi_agent_chat.shared.state.reducers import _CLEAR from app.agents.shared.middleware.kb_postgres_backend import KBPostgresBackend from app.agents.shared.path_resolver import DOCUMENTS_ROOT -from app.agents.shared.state_reducers import _CLEAR if TYPE_CHECKING: from ...middleware import SurfSenseFilesystemMiddleware diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/rm/index.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/rm/index.py index 49e597cb0..677b88a9a 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/rm/index.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/rm/index.py @@ -9,7 +9,9 @@ from langchain.tools import ToolRuntime from langchain_core.tools import BaseTool, StructuredTool from langgraph.types import Command -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from ...middleware.async_dispatch import run_async_blocking from ...middleware.mode import is_cloud diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/rmdir/helpers.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/rmdir/helpers.py index b07009792..b269e8aa0 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/rmdir/helpers.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/rmdir/helpers.py @@ -13,10 +13,12 @@ from langchain.tools import ToolRuntime from langchain_core.messages import ToolMessage from langgraph.types import Command -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) +from app.agents.multi_agent_chat.shared.state.reducers import _CLEAR from app.agents.shared.middleware.kb_postgres_backend import KBPostgresBackend from app.agents.shared.path_resolver import DOCUMENTS_ROOT -from app.agents.shared.state_reducers import _CLEAR from ...middleware.path_resolution import current_cwd from ...shared.paths import is_ancestor_of diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/rmdir/index.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/rmdir/index.py index a1c2da690..d2b7954dd 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/rmdir/index.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/rmdir/index.py @@ -9,7 +9,9 @@ from langchain.tools import ToolRuntime from langchain_core.tools import BaseTool, StructuredTool from langgraph.types import Command -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from ...middleware.async_dispatch import run_async_blocking from ...middleware.mode import is_cloud diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/write_file/index.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/write_file/index.py index 1a4674db2..5e0de1566 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/write_file/index.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/filesystem/tools/write_file/index.py @@ -11,7 +11,9 @@ from langchain_core.messages import ToolMessage from langchain_core.tools import BaseTool, StructuredTool from langgraph.types import Command -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from ...middleware.async_dispatch import run_async_blocking from ...middleware.mode import is_cloud diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/kb_context_projection.py b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/kb_context_projection.py index f1bc618af..8b0fa1357 100644 --- a/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/kb_context_projection.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/middleware/kb_context_projection.py @@ -9,7 +9,9 @@ from langchain.agents.middleware import AgentMiddleware, AgentState from langchain_core.messages import SystemMessage from langgraph.runtime import Runtime -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from app.agents.shared.middleware.knowledge_search import _render_priority_message from app.utils.perf import get_perf_logger diff --git a/surfsense_backend/app/agents/multi_agent_chat/shared/state/__init__.py b/surfsense_backend/app/agents/multi_agent_chat/shared/state/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/surfsense_backend/app/agents/shared/filesystem_state.py b/surfsense_backend/app/agents/multi_agent_chat/shared/state/filesystem_state.py similarity index 98% rename from surfsense_backend/app/agents/shared/filesystem_state.py rename to surfsense_backend/app/agents/multi_agent_chat/shared/state/filesystem_state.py index c2c23483f..894f4eae4 100644 --- a/surfsense_backend/app/agents/shared/filesystem_state.py +++ b/surfsense_backend/app/agents/multi_agent_chat/shared/state/filesystem_state.py @@ -20,7 +20,7 @@ extra fields needed to implement Postgres-backed virtual filesystem semantics: * ``workspace_tree_text`` — pre-rendered ```` body for the turn. Tools mutate these fields ONLY via ``Command(update=...)`` returns; the -reducers in :mod:`app.agents.shared.state_reducers` handle merging. +reducers in :mod:`app.agents.multi_agent_chat.shared.state.reducers` handle merging. """ from __future__ import annotations @@ -30,7 +30,7 @@ from typing import Annotated, Any, NotRequired from deepagents.middleware.filesystem import FilesystemState from typing_extensions import TypedDict -from app.agents.shared.state_reducers import ( +from app.agents.multi_agent_chat.shared.state.reducers import ( _add_unique_reducer, _dict_merge_with_tombstones_reducer, _int_counter_merge_reducer, diff --git a/surfsense_backend/app/agents/shared/state_reducers.py b/surfsense_backend/app/agents/multi_agent_chat/shared/state/reducers.py similarity index 100% rename from surfsense_backend/app/agents/shared/state_reducers.py rename to surfsense_backend/app/agents/multi_agent_chat/shared/state/reducers.py diff --git a/surfsense_backend/app/agents/shared/middleware/anonymous_document.py b/surfsense_backend/app/agents/shared/middleware/anonymous_document.py index 8206ac221..f4504bc2d 100644 --- a/surfsense_backend/app/agents/shared/middleware/anonymous_document.py +++ b/surfsense_backend/app/agents/shared/middleware/anonymous_document.py @@ -24,7 +24,9 @@ from typing import Any from langchain.agents.middleware import AgentMiddleware, AgentState from langgraph.runtime import Runtime -from app.agents.shared.filesystem_state import SurfSenseFilesystemState +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from app.agents.shared.path_resolver import DOCUMENTS_ROOT, safe_filename logger = logging.getLogger(__name__) diff --git a/surfsense_backend/app/agents/shared/middleware/kb_persistence.py b/surfsense_backend/app/agents/shared/middleware/kb_persistence.py index bea2c4636..771c30dad 100644 --- a/surfsense_backend/app/agents/shared/middleware/kb_persistence.py +++ b/surfsense_backend/app/agents/shared/middleware/kb_persistence.py @@ -45,16 +45,18 @@ from sqlalchemy import delete, select, update from sqlalchemy.exc import IntegrityError from sqlalchemy.ext.asyncio import AsyncSession +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) +from app.agents.multi_agent_chat.shared.state.reducers import _CLEAR from app.agents.shared.feature_flags import get_flags from app.agents.shared.filesystem_selection import FilesystemMode -from app.agents.shared.filesystem_state import SurfSenseFilesystemState from app.agents.shared.path_resolver import ( DOCUMENTS_ROOT, parse_documents_path, safe_folder_segment, virtual_path_to_doc, ) -from app.agents.shared.state_reducers import _CLEAR from app.agents.shared.receipt import Receipt, make_receipt from app.db import ( AgentActionLog, diff --git a/surfsense_backend/app/agents/shared/middleware/knowledge_search.py b/surfsense_backend/app/agents/shared/middleware/knowledge_search.py index 8d20dc1a6..b71ed7035 100644 --- a/surfsense_backend/app/agents/shared/middleware/knowledge_search.py +++ b/surfsense_backend/app/agents/shared/middleware/knowledge_search.py @@ -45,9 +45,11 @@ from app.agents.multi_agent_chat.shared.date_filters import ( parse_date_or_datetime, resolve_date_range, ) +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from app.agents.shared.feature_flags import get_flags from app.agents.shared.filesystem_selection import FilesystemMode -from app.agents.shared.filesystem_state import SurfSenseFilesystemState from app.agents.shared.path_resolver import ( PathIndex, build_path_index, diff --git a/surfsense_backend/app/agents/shared/middleware/knowledge_tree.py b/surfsense_backend/app/agents/shared/middleware/knowledge_tree.py index cea6d8835..208c1dd4e 100644 --- a/surfsense_backend/app/agents/shared/middleware/knowledge_tree.py +++ b/surfsense_backend/app/agents/shared/middleware/knowledge_tree.py @@ -33,8 +33,10 @@ from langchain_core.messages import SystemMessage from langgraph.runtime import Runtime from sqlalchemy import select +from app.agents.multi_agent_chat.shared.state.filesystem_state import ( + SurfSenseFilesystemState, +) from app.agents.shared.filesystem_selection import FilesystemMode -from app.agents.shared.filesystem_state import SurfSenseFilesystemState from app.agents.shared.path_resolver import ( DOCUMENTS_ROOT, PathIndex, diff --git a/surfsense_backend/app/agents/shared/receipt_command.py b/surfsense_backend/app/agents/shared/receipt_command.py index f49f9183f..97496c8c7 100644 --- a/surfsense_backend/app/agents/shared/receipt_command.py +++ b/surfsense_backend/app/agents/shared/receipt_command.py @@ -6,7 +6,7 @@ participate in the verification teaching from ``multi_agent_chat/subagents/shared/snippets/verifiable_handle.md`` those tools now also need to write a :class:`Receipt` into the parent's ``state['receipts']`` list (declared on -:class:`~app.agents.shared.filesystem_state.SurfSenseFilesystemState` +:class:`~app.agents.multi_agent_chat.shared.state.filesystem_state.SurfSenseFilesystemState` and backed by the append reducer). :func:`with_receipt` wraps both behaviours: it returns the tool payload as @@ -51,7 +51,7 @@ def with_receipt( """Return a Command that ships ``payload`` as a ToolMessage AND appends ``receipt``. The append happens via the ``_list_append_reducer`` on the ``receipts`` - field of :class:`~app.agents.shared.filesystem_state.SurfSenseFilesystemState`, + field of :class:`~app.agents.multi_agent_chat.shared.state.filesystem_state.SurfSenseFilesystemState`, so concurrent subagent batches (item 4 in the plan) won't clobber each other's receipts. """ diff --git a/surfsense_backend/tests/unit/agents/new_chat/test_state_reducers.py b/surfsense_backend/tests/unit/agents/new_chat/test_state_reducers.py index e584f9a34..752d53514 100644 --- a/surfsense_backend/tests/unit/agents/new_chat/test_state_reducers.py +++ b/surfsense_backend/tests/unit/agents/new_chat/test_state_reducers.py @@ -4,7 +4,7 @@ from __future__ import annotations import pytest -from app.agents.shared.state_reducers import ( +from app.agents.multi_agent_chat.shared.state.reducers import ( _CLEAR, _add_unique_reducer, _dict_merge_with_tombstones_reducer, diff --git a/surfsense_backend/tests/unit/middleware/test_b_filesystem_rm_rmdir_cloud.py b/surfsense_backend/tests/unit/middleware/test_b_filesystem_rm_rmdir_cloud.py index 95f888ff4..634584cb7 100644 --- a/surfsense_backend/tests/unit/middleware/test_b_filesystem_rm_rmdir_cloud.py +++ b/surfsense_backend/tests/unit/middleware/test_b_filesystem_rm_rmdir_cloud.py @@ -22,10 +22,10 @@ import pytest from app.agents.multi_agent_chat.shared.middleware.filesystem import ( build_filesystem_mw, ) +from app.agents.multi_agent_chat.shared.state.reducers import _CLEAR from app.agents.shared.filesystem_backends import build_backend_resolver from app.agents.shared.filesystem_selection import FilesystemMode, FilesystemSelection from app.agents.shared.middleware.kb_postgres_backend import KBPostgresBackend -from app.agents.shared.state_reducers import _CLEAR pytestmark = pytest.mark.unit