mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-06-06 20:15:17 +02:00
refactor(agents): introduce chat/ category; dissolve top-level agents/shared
Recursive shared-folder rule: a shared/ must be shared by ALL siblings at its
level. The kernel (context, compaction, retry_after, web_search) was shared by
only 2 of the agents -- anonymous_chat + multi_agent_chat -- never by podcaster
or video_presentation. Those 2 are the "chat" category, so their shared code
belongs in that category's shared/, not the top-level one.
app/agents/anonymous_chat/ -> app/agents/chat/anonymous_chat/
app/agents/multi_agent_chat/ -> app/agents/chat/multi_agent_chat/
app/agents/shared/ -> app/agents/chat/shared/ (anon<->mac kernel)
Top-level app/agents/shared/ is gone: nothing was shared across all three
categories (chat / podcaster / video_presentation).
~289 import sites rewritten (app.agents.{anonymous_chat,multi_agent_chat,shared}
-> app.agents.chat.*); all moves are git renames (history preserved).
app/agents/ now: chat/, podcaster/, video_presentation/, runtime/.
This commit is contained in:
parent
d59bb2b5aa
commit
24b62a63b4
570 changed files with 712 additions and 613 deletions
|
|
@ -6,9 +6,9 @@ Ported from the dead-twin suites:
|
|||
* ``tests/unit/middleware/test_filesystem_verification.py`` (desktop
|
||||
multi-root mount-prefix normalization)
|
||||
|
||||
Both exercised ``app.agents.shared.middleware.filesystem`` (dead). This drives
|
||||
Both exercised ``app.agents.chat.shared.middleware.filesystem`` (dead). This drives
|
||||
the production free functions in
|
||||
``app.agents.multi_agent_chat.shared.middleware.filesystem.middleware`` instead.
|
||||
``app.agents.chat.multi_agent_chat.shared.middleware.filesystem.middleware`` instead.
|
||||
The functions only touch ``mw._filesystem_mode`` and ``mw._get_backend`` so we
|
||||
pass a lightweight fake ``mw`` rather than constructing the full middleware.
|
||||
"""
|
||||
|
|
@ -20,17 +20,17 @@ from types import SimpleNamespace
|
|||
|
||||
import pytest
|
||||
|
||||
from app.agents.multi_agent_chat.shared.filesystem_selection import FilesystemMode
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem.backends.multi_root_local_folder import (
|
||||
from app.agents.chat.multi_agent_chat.shared.filesystem_selection import FilesystemMode
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware.filesystem.backends.multi_root_local_folder import (
|
||||
MultiRootLocalFolderBackend,
|
||||
)
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem.middleware.mode import (
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware.filesystem.middleware.mode import (
|
||||
default_cwd,
|
||||
)
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem.middleware.namespace_policy import (
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware.filesystem.middleware.namespace_policy import (
|
||||
check_cloud_write_namespace,
|
||||
)
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem.middleware.path_resolution import (
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware.filesystem.middleware.path_resolution import (
|
||||
current_cwd,
|
||||
get_contract_suggested_path,
|
||||
normalize_local_mount_path,
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
"""Cloud-mode ``rm``/``rmdir`` staging tests for the LIVE filesystem middleware.
|
||||
|
||||
Ported from the former ``tests/unit/agents/new_chat/test_rm_rmdir_cloud.py``,
|
||||
which exercised the *dead twin* ``app.agents.shared.middleware.filesystem``.
|
||||
which exercised the *dead twin* ``app.agents.chat.shared.middleware.filesystem``.
|
||||
This drives the production decomposed tools
|
||||
(``app.agents.multi_agent_chat.shared.middleware.filesystem``) instead: it
|
||||
(``app.agents.chat.multi_agent_chat.shared.middleware.filesystem``) instead: it
|
||||
builds the real middleware via ``build_filesystem_mw``, pulls the real ``rm`` /
|
||||
``rmdir`` tools off it, and invokes their coroutines with a stubbed
|
||||
``KBPostgresBackend`` + runtime so we can assert the end-of-turn staging
|
||||
|
|
@ -19,20 +19,20 @@ from unittest.mock import AsyncMock
|
|||
|
||||
import pytest
|
||||
|
||||
from app.agents.multi_agent_chat.shared.filesystem_selection import (
|
||||
from app.agents.chat.multi_agent_chat.shared.filesystem_selection import (
|
||||
FilesystemMode,
|
||||
FilesystemSelection,
|
||||
)
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem import (
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware.filesystem import (
|
||||
build_filesystem_mw,
|
||||
)
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem.backends.kb_postgres import (
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware.filesystem.backends.kb_postgres import (
|
||||
KBPostgresBackend,
|
||||
)
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem.backends.resolver import (
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware.filesystem.backends.resolver import (
|
||||
build_backend_resolver,
|
||||
)
|
||||
from app.agents.multi_agent_chat.shared.state.reducers import _CLEAR
|
||||
from app.agents.chat.multi_agent_chat.shared.state.reducers import _CLEAR
|
||||
|
||||
pytestmark = pytest.mark.unit
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
Ported from ``TestModeSpecificPrompts`` in the former
|
||||
``tests/unit/middleware/test_filesystem_middleware.py`` (which exercised the
|
||||
dead twin ``app.agents.shared.middleware.filesystem._build_filesystem_system_prompt``).
|
||||
dead twin ``app.agents.chat.shared.middleware.filesystem._build_filesystem_system_prompt``).
|
||||
|
||||
These drive the production ``build_system_prompt`` so the prompt the model
|
||||
actually receives stays mode-scoped: cloud rules don't leak into desktop
|
||||
|
|
@ -18,8 +18,8 @@ from __future__ import annotations
|
|||
|
||||
import pytest
|
||||
|
||||
from app.agents.multi_agent_chat.shared.filesystem_selection import FilesystemMode
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem.system_prompt import (
|
||||
from app.agents.chat.multi_agent_chat.shared.filesystem_selection import FilesystemMode
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware.filesystem.system_prompt import (
|
||||
build_system_prompt,
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@ import pytest
|
|||
from langchain_core.messages import AIMessage
|
||||
from langchain_core.tools import StructuredTool
|
||||
|
||||
from app.agents.multi_agent_chat.main_agent.middleware.dedup_hitl import (
|
||||
from app.agents.chat.multi_agent_chat.main_agent.middleware.dedup_hitl import (
|
||||
DedupHITLToolCallsMiddleware,
|
||||
)
|
||||
from app.agents.multi_agent_chat.shared.middleware.dedup_tool_calls import (
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware.dedup_tool_calls import (
|
||||
wrap_dedup_key_by_arg_name,
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -2,16 +2,16 @@ from pathlib import Path
|
|||
|
||||
import pytest
|
||||
|
||||
from app.agents.multi_agent_chat.shared.filesystem_selection import (
|
||||
from app.agents.chat.multi_agent_chat.shared.filesystem_selection import (
|
||||
ClientPlatform,
|
||||
FilesystemMode,
|
||||
FilesystemSelection,
|
||||
LocalFilesystemMount,
|
||||
)
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem.backends.multi_root_local_folder import (
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware.filesystem.backends.multi_root_local_folder import (
|
||||
MultiRootLocalFolderBackend,
|
||||
)
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem.backends.resolver import (
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware.filesystem.backends.resolver import (
|
||||
build_backend_resolver,
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ from unittest.mock import AsyncMock
|
|||
import numpy as np
|
||||
import pytest
|
||||
|
||||
from app.agents.multi_agent_chat.shared.middleware import kb_persistence
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware import kb_persistence
|
||||
from app.db import Document
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ from unittest.mock import AsyncMock, MagicMock
|
|||
|
||||
import pytest
|
||||
|
||||
from app.agents.multi_agent_chat.shared.middleware import kb_persistence
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware import kb_persistence
|
||||
|
||||
pytestmark = pytest.mark.unit
|
||||
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@ import json
|
|||
import pytest
|
||||
from langchain_core.messages import AIMessage, HumanMessage
|
||||
|
||||
from app.agents.multi_agent_chat.shared.middleware import knowledge_search as ks
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem.backends.document_xml import (
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware import knowledge_search as ks
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware.filesystem.backends.document_xml import (
|
||||
build_document_xml as _build_document_xml,
|
||||
)
|
||||
from app.agents.multi_agent_chat.shared.middleware.knowledge_search import (
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware.knowledge_search import (
|
||||
KBSearchPlan,
|
||||
KnowledgePriorityMiddleware,
|
||||
_normalize_optional_date_range,
|
||||
|
|
|
|||
|
|
@ -9,10 +9,10 @@ contract cannot silently regress.
|
|||
|
||||
from __future__ import annotations
|
||||
|
||||
from app.agents.multi_agent_chat.main_agent.middleware.knowledge_tree.middleware import (
|
||||
from app.agents.chat.multi_agent_chat.main_agent.middleware.knowledge_tree.middleware import (
|
||||
KnowledgeTreeMiddleware,
|
||||
)
|
||||
from app.agents.multi_agent_chat.shared.path_resolver import DOCUMENTS_ROOT
|
||||
from app.agents.chat.multi_agent_chat.shared.path_resolver import DOCUMENTS_ROOT
|
||||
|
||||
|
||||
def _compute(folder_paths: list[str], doc_paths: list[str]) -> set[str]:
|
||||
|
|
@ -88,7 +88,7 @@ class TestFormatTreeRendering:
|
|||
folder_paths: list[str],
|
||||
doc_specs: list[dict],
|
||||
) -> str:
|
||||
from app.agents.multi_agent_chat.shared.path_resolver import PathIndex
|
||||
from app.agents.chat.multi_agent_chat.shared.path_resolver import PathIndex
|
||||
|
||||
index = PathIndex(
|
||||
folder_paths={i + 1: p for i, p in enumerate(folder_paths)},
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from pathlib import Path
|
|||
|
||||
import pytest
|
||||
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem.backends.local_folder import (
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware.filesystem.backends.local_folder import (
|
||||
LocalFolderBackend,
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from pathlib import Path
|
|||
|
||||
import pytest
|
||||
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem.backends.multi_root_local_folder import (
|
||||
from app.agents.chat.multi_agent_chat.shared.middleware.filesystem.backends.multi_root_local_folder import (
|
||||
MultiRootLocalFolderBackend,
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue