refactor(agents): relocate remaining MAC-only kernel (permissions, deliverable_wait)

permissions.py (authorization Rule/Ruleset model) is consumed across all
MAC subagents + the permissions middleware, with a single external
consumer (user_tool_allowlist service) -> move to
multi_agent_chat/shared/permissions.py and repoint all 42 sites.

deliverable_wait.py (wait_for_deliverable) is used only by the podcast and
video_presentation deliverable tools -> colocate into
subagents/builtins/deliverables/.

No behavior change; import-all + permission/allowlist/deliverable unit
tests stay green.
This commit is contained in:
CREDO23 2026-06-05 10:58:49 +02:00
parent 714c5ffea9
commit f615d6b530
47 changed files with 61 additions and 53 deletions

View file

@ -46,10 +46,10 @@ from app.agents.multi_agent_chat.main_agent.middleware.checkpointed_subagent_mid
from app.agents.multi_agent_chat.shared.middleware.permissions.ask.request import (
request_permission_decision,
)
from app.agents.multi_agent_chat.shared.permissions import Rule
from app.agents.multi_agent_chat.subagents.shared.hitl.approvals.self_gated import (
request_approval,
)
from app.agents.shared.permissions import Rule
class _SubState(TypedDict, total=False):

View file

@ -19,7 +19,7 @@ from typing_extensions import TypedDict
from app.agents.multi_agent_chat.shared.middleware.permissions.ask.request import (
request_permission_decision,
)
from app.agents.shared.permissions import Rule
from app.agents.multi_agent_chat.shared.permissions import Rule
class _State(TypedDict, total=False):

View file

@ -19,8 +19,8 @@ from app.agents.multi_agent_chat.shared.middleware.permissions import (
from app.agents.multi_agent_chat.shared.middleware.permissions.ask.payload import (
build_permission_ask_payload,
)
from app.agents.multi_agent_chat.shared.permissions import Rule, Ruleset
from app.agents.shared.feature_flags import AgentFeatureFlags
from app.agents.shared.permissions import Rule, Ruleset
class _NoArgs(BaseModel):

View file

@ -26,8 +26,8 @@ from typing_extensions import TypedDict
from app.agents.multi_agent_chat.shared.middleware.permissions import (
build_permission_mw,
)
from app.agents.multi_agent_chat.shared.permissions import Rule, Ruleset
from app.agents.shared.feature_flags import AgentFeatureFlags
from app.agents.shared.permissions import Rule, Ruleset
def _kb_style_ruleset() -> Ruleset:

View file

@ -17,8 +17,8 @@ from typing_extensions import TypedDict
from app.agents.multi_agent_chat.shared.middleware.permissions import (
build_permission_mw,
)
from app.agents.multi_agent_chat.shared.permissions import Rule, Ruleset
from app.agents.shared.feature_flags import AgentFeatureFlags
from app.agents.shared.permissions import Rule, Ruleset
class _NoArgs(BaseModel):

View file

@ -22,11 +22,11 @@ from langchain_core.outputs import ChatGeneration, ChatResult
from app.agents.multi_agent_chat.shared.middleware.permissions.middleware.core import (
PermissionMiddleware,
)
from app.agents.multi_agent_chat.shared.permissions import Rule, Ruleset, evaluate
from app.agents.multi_agent_chat.subagents.shared.subagent_builder import (
pack_subagent,
)
from app.agents.shared.feature_flags import AgentFeatureFlags
from app.agents.shared.permissions import Rule, Ruleset, evaluate
class RateLimitError(Exception):

View file

@ -27,7 +27,7 @@ from __future__ import annotations
import pytest
from app.agents.shared.permissions import (
from app.agents.multi_agent_chat.shared.permissions import (
Rule,
Ruleset,
aggregate_action,

View file

@ -10,13 +10,13 @@ from __future__ import annotations
import pytest
from app.agents.shared.middleware.permission import PermissionMiddleware
from app.agents.shared.permissions import (
from app.agents.multi_agent_chat.shared.permissions import (
Rule,
Ruleset,
aggregate_action,
evaluate_many,
)
from app.agents.shared.middleware.permission import PermissionMiddleware
pytestmark = pytest.mark.unit

View file

@ -5,12 +5,12 @@ from __future__ import annotations
import pytest
from langchain_core.messages import AIMessage, ToolMessage
from app.agents.multi_agent_chat.shared.permissions import Rule, Ruleset
from app.agents.shared.errors import CorrectedError, RejectedError
from app.agents.shared.middleware.permission import (
PermissionMiddleware,
_normalize_permission_decision,
)
from app.agents.shared.permissions import Rule, Ruleset
pytestmark = pytest.mark.unit

View file

@ -4,7 +4,7 @@ from __future__ import annotations
import pytest
from app.agents.shared.permissions import (
from app.agents.multi_agent_chat.shared.permissions import (
Rule,
Ruleset,
aggregate_action,