Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions multi_agent/definitions.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
"""Proxy -- re-exports agent definitions from multi_agent.subagent."""
from .subagent import (
AgentDefinition,
get_agent_definition,
load_agent_definitions,
_parse_agent_md,
_BUILTIN_AGENTS,
)

__all__ = ["AgentDefinition", "get_agent_definition", "load_agent_definitions"]
4 changes: 4 additions & 0 deletions multi_agent/manager.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
"""Proxy -- re-exports SubAgentManager from multi_agent.subagent."""
from .subagent import SubAgentManager

__all__ = ["SubAgentManager"]
11 changes: 11 additions & 0 deletions multi_agent/task.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
"""Proxy -- re-exports task classes from multi_agent.subagent."""
from .subagent import (
SubAgentTask,
_extract_final_text,
_git_root,
_create_worktree,
_remove_worktree,
_agent_run,
)

__all__ = ["SubAgentTask"]
55 changes: 55 additions & 0 deletions tests/test_multi_agent_split.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
"""Tests for multi_agent package split import paths (PR #51)."""
from multi_agent.subagent import (
AgentDefinition,
SubAgentManager,
SubAgentTask,
get_agent_definition,
load_agent_definitions,
_extract_final_text,
)


class TestSplitImportPaths:
def test_definitions_reexports(self):
from multi_agent.definitions import (
AgentDefinition as AD,
get_agent_definition as gad,
load_agent_definitions as lad,
)
assert AD is AgentDefinition
assert gad is get_agent_definition
assert lad is load_agent_definitions

def test_manager_reexports(self):
from multi_agent.manager import SubAgentManager as SAM
assert SAM is SubAgentManager

def test_task_reexports(self):
from multi_agent.task import SubAgentTask as SAT
from multi_agent.task import _extract_final_text as eft
assert SAT is SubAgentTask
assert eft is _extract_final_text

def test_backward_compat_root_shim(self):
import subagent
assert hasattr(subagent, 'SubAgentManager')
assert hasattr(subagent, 'SubAgentTask')
assert hasattr(subagent, 'AgentDefinition')


class TestAgentDefinitionsViaProxy:
def test_builtin_agents(self):
from multi_agent.definitions import load_agent_definitions
agents = load_agent_definitions()
for name in ("general-purpose", "coder", "reviewer", "researcher", "tester"):
assert name in agents

def test_get_valid(self):
from multi_agent.definitions import get_agent_definition
defn = get_agent_definition("coder")
assert defn is not None
assert defn.name == "coder"

def test_get_unknown_returns_none(self):
from multi_agent.definitions import get_agent_definition
assert get_agent_definition("nonexistent_xyz") is None
Loading