Co-authored-by: Hdandria <henri.dandria@mistral.ai>
Co-authored-by: Liam Lyons <65613603+lyons-liam@users.noreply.github.com>
Co-authored-by: Mathias Gesbert <mathias.gesbert@mistral.ai>
Co-authored-by: Pierre Rossinès <pierre.rossines@mistral.ai>
Co-authored-by: Quentin <quentin.torroba@mistral.ai>
Co-authored-by: allansimon-mistral <allan.simon@ext.mistral.ai>
Co-authored-by: angelapopopo <angele.lenglemetz@mistral.ai>
Co-authored-by: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
Clément Drouin 2026-06-15 17:36:21 +02:00 committed by GitHub
parent cafb6d4147
commit c2cb612ac1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
67 changed files with 2704 additions and 197 deletions

View file

@ -8,6 +8,7 @@ from tests.conftest import build_test_vibe_config
from tests.mock.utils import collect_result
from vibe.core.agents.manager import AgentManager
from vibe.core.agents.models import BUILTIN_AGENTS, AgentType
from vibe.core.telemetry.types import TerminalEmulator
from vibe.core.tools.base import BaseToolState, InvokeContext, ToolError, ToolPermission
from vibe.core.tools.builtins.task import Task, TaskArgs, TaskResult, TaskToolConfig
from vibe.core.tools.permissions import PermissionContext
@ -37,7 +38,11 @@ class TestTaskToolValidation:
include_project_context=False, include_prompt_detail=False
)
manager = AgentManager(lambda: config)
return InvokeContext(tool_call_id="test-call-id", agent_manager=manager)
return InvokeContext(
tool_call_id="test-call-id",
agent_manager=manager,
terminal_emulator=TerminalEmulator.VSCODE,
)
@pytest.mark.asyncio
async def test_rejects_primary_agent(
@ -132,7 +137,11 @@ class TestTaskToolExecution:
include_project_context=False, include_prompt_detail=False
)
manager = AgentManager(lambda: config)
return InvokeContext(tool_call_id="test-call-id", agent_manager=manager)
return InvokeContext(
tool_call_id="test-call-id",
agent_manager=manager,
terminal_emulator=TerminalEmulator.VSCODE,
)
@pytest.mark.asyncio
async def test_happy_path_returns_subagent_response(
@ -164,6 +173,10 @@ class TestTaskToolExecution:
assert result.response == "Hello from subagent! More content."
assert result.turns_used == 2 # 2 assistant messages in mock_messages
assert result.completed is True
assert (
mock_agent_loop_class.call_args.kwargs["terminal_emulator"]
is TerminalEmulator.VSCODE
)
@pytest.mark.asyncio
async def test_handles_stopped_by_middleware(