mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-06-06 20:15:17 +02:00
refactor(agents): colocate middleware into vertical slices
Eliminate the top-level multi_agent_chat/middleware/ package so each slice owns its middleware (vertical-slice colocation): - middleware/shared/ -> shared/middleware/ (cross-slice middleware) - middleware/subagent/ -> subagents/shared/middleware/ (subagent stack) - main_agent/middleware/ already colocated in Slice A The moved shared/ subtree is internally consistent (all relative imports stay within it), so only external absolute refs were rewritten. The subagent stack's ..shared.* relatives were promoted to absolute paths to the new shared/middleware/ location. multi_agent_chat/ root is now: main_agent/, shared/, subagents/. Verified: 2430 unit tests pass, 1 skipped (baseline unchanged).
This commit is contained in:
parent
9c845d562e
commit
add9e14694
117 changed files with 49 additions and 45 deletions
|
|
@ -20,7 +20,7 @@ from langchain.agents import create_agent
|
|||
from langchain_core.messages import HumanMessage, ToolMessage
|
||||
from langgraph.checkpoint.memory import InMemorySaver
|
||||
|
||||
from app.agents.multi_agent_chat.middleware.shared.filesystem import (
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem import (
|
||||
build_filesystem_mw,
|
||||
)
|
||||
from app.agents.shared.filesystem_backends import build_backend_resolver
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
"""Real-behavior tests for the LIVE knowledge-base filesystem middleware (B).
|
||||
|
||||
These exercise ``app.agents.multi_agent_chat.middleware.shared.filesystem`` —
|
||||
These exercise ``app.agents.multi_agent_chat.shared.middleware.filesystem`` —
|
||||
the decomposed middleware + tools that production actually mounts on the
|
||||
knowledge_base subagent (via ``build_filesystem_mw``). The previous
|
||||
``tests/unit/middleware/test_filesystem_*.py`` suite asserts a *dead twin*
|
||||
|
|
@ -23,7 +23,7 @@ from langchain.agents import create_agent
|
|||
from langchain_core.messages import HumanMessage, ToolMessage
|
||||
from langgraph.checkpoint.memory import InMemorySaver
|
||||
|
||||
from app.agents.multi_agent_chat.middleware.shared.filesystem import (
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem import (
|
||||
build_filesystem_mw,
|
||||
)
|
||||
from app.agents.shared.filesystem_backends import build_backend_resolver
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ from app.agents.multi_agent_chat.main_agent.middleware.checkpointed_subagent_mid
|
|||
from app.agents.multi_agent_chat.main_agent.middleware.checkpointed_subagent_middleware.task_tool import (
|
||||
build_task_tool_with_parent_config,
|
||||
)
|
||||
from app.agents.multi_agent_chat.middleware.shared.permissions.ask.request import (
|
||||
from app.agents.multi_agent_chat.shared.middleware.permissions.ask.request import (
|
||||
request_permission_decision,
|
||||
)
|
||||
from app.agents.multi_agent_chat.subagents.shared.hitl.approvals.self_gated import (
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ from langgraph.graph import END, START, StateGraph
|
|||
from langgraph.types import Command
|
||||
from typing_extensions import TypedDict
|
||||
|
||||
from app.agents.multi_agent_chat.middleware.shared.permissions.ask.request import (
|
||||
from app.agents.multi_agent_chat.shared.middleware.permissions.ask.request import (
|
||||
request_permission_decision,
|
||||
)
|
||||
from app.agents.shared.permissions import Rule
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@ from langgraph.graph.message import add_messages
|
|||
from pydantic import BaseModel
|
||||
from typing_extensions import TypedDict
|
||||
|
||||
from app.agents.multi_agent_chat.middleware.shared.permissions import (
|
||||
from app.agents.multi_agent_chat.shared.middleware.permissions import (
|
||||
build_permission_mw,
|
||||
)
|
||||
from app.agents.multi_agent_chat.middleware.shared.permissions.ask.payload import (
|
||||
from app.agents.multi_agent_chat.shared.middleware.permissions.ask.payload import (
|
||||
build_permission_ask_payload,
|
||||
)
|
||||
from app.agents.shared.feature_flags import AgentFeatureFlags
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ from langgraph.graph.message import add_messages
|
|||
from langgraph.types import Command
|
||||
from typing_extensions import TypedDict
|
||||
|
||||
from app.agents.multi_agent_chat.middleware.shared.permissions import (
|
||||
from app.agents.multi_agent_chat.shared.middleware.permissions import (
|
||||
build_permission_mw,
|
||||
)
|
||||
from app.agents.shared.feature_flags import AgentFeatureFlags
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ from langgraph.types import Command
|
|||
from pydantic import BaseModel
|
||||
from typing_extensions import TypedDict
|
||||
|
||||
from app.agents.multi_agent_chat.middleware.shared.permissions import (
|
||||
from app.agents.multi_agent_chat.shared.middleware.permissions import (
|
||||
build_permission_mw,
|
||||
)
|
||||
from app.agents.shared.feature_flags import AgentFeatureFlags
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ from langchain_core.language_models.fake_chat_models import (
|
|||
from langchain_core.messages import AIMessage, BaseMessage, HumanMessage
|
||||
from langchain_core.outputs import ChatGeneration, ChatResult
|
||||
|
||||
from app.agents.multi_agent_chat.middleware.shared.permissions.middleware.core import (
|
||||
from app.agents.multi_agent_chat.shared.middleware.permissions.middleware.core import (
|
||||
PermissionMiddleware,
|
||||
)
|
||||
from app.agents.multi_agent_chat.subagents.shared.subagent_builder import (
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ Ported from the dead-twin suites:
|
|||
|
||||
Both exercised ``app.agents.shared.middleware.filesystem`` (dead). This drives
|
||||
the production free functions in
|
||||
``app.agents.multi_agent_chat.middleware.shared.filesystem.middleware`` instead.
|
||||
``app.agents.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,13 +20,13 @@ from types import SimpleNamespace
|
|||
|
||||
import pytest
|
||||
|
||||
from app.agents.multi_agent_chat.middleware.shared.filesystem.middleware.mode import (
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem.middleware.mode import (
|
||||
default_cwd,
|
||||
)
|
||||
from app.agents.multi_agent_chat.middleware.shared.filesystem.middleware.namespace_policy import (
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem.middleware.namespace_policy import (
|
||||
check_cloud_write_namespace,
|
||||
)
|
||||
from app.agents.multi_agent_chat.middleware.shared.filesystem.middleware.path_resolution import (
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem.middleware.path_resolution import (
|
||||
current_cwd,
|
||||
get_contract_suggested_path,
|
||||
normalize_local_mount_path,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
Ported from the former ``tests/unit/agents/new_chat/test_rm_rmdir_cloud.py``,
|
||||
which exercised the *dead twin* ``app.agents.shared.middleware.filesystem``.
|
||||
This drives the production decomposed tools
|
||||
(``app.agents.multi_agent_chat.middleware.shared.filesystem``) instead: it
|
||||
(``app.agents.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,7 +19,7 @@ from unittest.mock import AsyncMock
|
|||
|
||||
import pytest
|
||||
|
||||
from app.agents.multi_agent_chat.middleware.shared.filesystem import (
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem import (
|
||||
build_filesystem_mw,
|
||||
)
|
||||
from app.agents.shared.filesystem_backends import build_backend_resolver
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ from __future__ import annotations
|
|||
|
||||
import pytest
|
||||
|
||||
from app.agents.multi_agent_chat.middleware.shared.filesystem.system_prompt import (
|
||||
from app.agents.multi_agent_chat.shared.middleware.filesystem.system_prompt import (
|
||||
build_system_prompt,
|
||||
)
|
||||
from app.agents.shared.filesystem_selection import FilesystemMode
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue