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:
CREDO23 2026-06-04 18:13:47 +02:00
parent 9c845d562e
commit add9e14694
117 changed files with 49 additions and 45 deletions

View file

@ -8,7 +8,7 @@ from app.agents.shared.feature_flags import AgentFeatureFlags
from app.agents.shared.middleware import ActionLogMiddleware
from app.agents.shared.tools.registry import BUILTIN_TOOLS
from app.agents.multi_agent_chat.middleware.shared.flags import enabled
from app.agents.multi_agent_chat.shared.middleware.flags import enabled
def build_action_log_mw(

View file

@ -5,7 +5,7 @@ from __future__ import annotations
from app.agents.shared.feature_flags import AgentFeatureFlags
from app.agents.shared.middleware import BusyMutexMiddleware
from app.agents.multi_agent_chat.middleware.shared.flags import enabled
from app.agents.multi_agent_chat.shared.middleware.flags import enabled
def build_busy_mutex_mw(flags: AgentFeatureFlags) -> BusyMutexMiddleware | None:

View file

@ -17,7 +17,7 @@ from app.agents.shared.middleware import (
SpillToBackendEdit,
)
from app.agents.multi_agent_chat.middleware.shared.flags import enabled
from app.agents.multi_agent_chat.shared.middleware.flags import enabled
def build_context_editing_mw(

View file

@ -5,7 +5,7 @@ from __future__ import annotations
from app.agents.shared.feature_flags import AgentFeatureFlags
from app.agents.shared.middleware import DoomLoopMiddleware
from app.agents.multi_agent_chat.middleware.shared.flags import enabled
from app.agents.multi_agent_chat.shared.middleware.flags import enabled
def build_doom_loop_mw(flags: AgentFeatureFlags) -> DoomLoopMiddleware | None:

View file

@ -5,7 +5,7 @@ from __future__ import annotations
from app.agents.shared.feature_flags import AgentFeatureFlags
from app.agents.shared.middleware import NoopInjectionMiddleware
from app.agents.multi_agent_chat.middleware.shared.flags import enabled
from app.agents.multi_agent_chat.shared.middleware.flags import enabled
def build_noop_injection_mw(flags: AgentFeatureFlags) -> NoopInjectionMiddleware | None:

View file

@ -5,7 +5,7 @@ from __future__ import annotations
from app.agents.shared.feature_flags import AgentFeatureFlags
from app.agents.shared.middleware import OtelSpanMiddleware
from app.agents.multi_agent_chat.middleware.shared.flags import enabled
from app.agents.multi_agent_chat.shared.middleware.flags import enabled
def build_otel_mw(flags: AgentFeatureFlags) -> OtelSpanMiddleware | None:

View file

@ -15,7 +15,7 @@ from app.agents.shared.plugin_loader import (
)
from app.db import ChatVisibility
from app.agents.multi_agent_chat.middleware.shared.flags import enabled
from app.agents.multi_agent_chat.shared.middleware.flags import enabled
def build_plugin_middlewares(

View file

@ -9,7 +9,7 @@ from langchain_core.tools import BaseTool
from app.agents.shared.feature_flags import AgentFeatureFlags
from app.agents.shared.middleware import ToolCallNameRepairMiddleware
from app.agents.multi_agent_chat.middleware.shared.flags import enabled
from app.agents.multi_agent_chat.shared.middleware.flags import enabled
# deepagents-built-in tool names the repair pass treats as known.
_DEEPAGENT_BUILTIN_TOOL_NAMES: frozenset[str] = frozenset(

View file

@ -13,7 +13,7 @@ from app.agents.shared.middleware import (
default_skills_sources,
)
from app.agents.multi_agent_chat.middleware.shared.flags import enabled
from app.agents.multi_agent_chat.shared.middleware.flags import enabled
def build_skills_mw(

View file

@ -55,15 +55,15 @@ from .otel import build_otel_mw
from .plugins import build_plugin_middlewares
from .repair import build_repair_mw
from .skills import build_skills_mw
from app.agents.multi_agent_chat.middleware.shared.anthropic_cache import build_anthropic_cache_mw
from app.agents.multi_agent_chat.middleware.shared.compaction import build_compaction_mw
from app.agents.multi_agent_chat.middleware.shared.kb_context_projection import build_kb_context_projection_mw
from app.agents.multi_agent_chat.middleware.shared.memory import build_memory_mw
from app.agents.multi_agent_chat.middleware.shared.patch_tool_calls import build_patch_tool_calls_mw
from app.agents.multi_agent_chat.middleware.shared.permissions import build_permission_mw
from app.agents.multi_agent_chat.middleware.shared.resilience import build_resilience_middlewares
from app.agents.multi_agent_chat.middleware.shared.todos import build_todos_mw
from app.agents.multi_agent_chat.middleware.subagent.middleware_stack import (
from app.agents.multi_agent_chat.shared.middleware.anthropic_cache import build_anthropic_cache_mw
from app.agents.multi_agent_chat.shared.middleware.compaction import build_compaction_mw
from app.agents.multi_agent_chat.shared.middleware.kb_context_projection import build_kb_context_projection_mw
from app.agents.multi_agent_chat.shared.middleware.memory import build_memory_mw
from app.agents.multi_agent_chat.shared.middleware.patch_tool_calls import build_patch_tool_calls_mw
from app.agents.multi_agent_chat.shared.middleware.permissions import build_permission_mw
from app.agents.multi_agent_chat.shared.middleware.resilience import build_resilience_middlewares
from app.agents.multi_agent_chat.shared.middleware.todos import build_todos_mw
from app.agents.multi_agent_chat.subagents.shared.middleware.middleware_stack import (
build_subagent_middleware_stack,
)

Some files were not shown because too many files have changed in this diff Show more