mirror of
https://github.com/mistralai/mistral-vibe
synced 2026-04-25 17:14:55 +02:00
Co-authored-by: Quentin Torroba <quentin.torroba@mistral.ai> Co-authored-by: Clément Drouin <clement.drouin@mistral.ai> Co-authored-by: Clément Sirieix <clement.sirieix@mistral.ai> Co-authored-by: Mistral Vibe <vibe@mistral.ai>
70 lines
2.7 KiB
Python
70 lines
2.7 KiB
Python
from __future__ import annotations
|
|
|
|
from acp import PROTOCOL_VERSION
|
|
from acp.schema import (
|
|
AgentCapabilities,
|
|
ClientCapabilities,
|
|
Implementation,
|
|
PromptCapabilities,
|
|
SessionCapabilities,
|
|
SessionListCapabilities,
|
|
)
|
|
import pytest
|
|
|
|
from vibe.acp.acp_agent_loop import VibeAcpAgentLoop
|
|
|
|
|
|
class TestACPInitialize:
|
|
@pytest.mark.asyncio
|
|
async def test_initialize(self, acp_agent_loop: VibeAcpAgentLoop) -> None:
|
|
response = await acp_agent_loop.initialize(protocol_version=PROTOCOL_VERSION)
|
|
|
|
assert response.protocol_version == PROTOCOL_VERSION
|
|
assert response.agent_capabilities == AgentCapabilities(
|
|
load_session=True,
|
|
prompt_capabilities=PromptCapabilities(
|
|
audio=False, embedded_context=True, image=False
|
|
),
|
|
session_capabilities=SessionCapabilities(list=SessionListCapabilities()),
|
|
)
|
|
assert response.agent_info == Implementation(
|
|
name="@mistralai/mistral-vibe", title="Mistral Vibe", version="2.7.0"
|
|
)
|
|
|
|
assert response.auth_methods == []
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_initialize_with_terminal_auth(
|
|
self, acp_agent_loop: VibeAcpAgentLoop
|
|
) -> None:
|
|
"""Test initialize with terminal-auth capabilities to check it was included."""
|
|
client_capabilities = ClientCapabilities(field_meta={"terminal-auth": True})
|
|
response = await acp_agent_loop.initialize(
|
|
protocol_version=PROTOCOL_VERSION, client_capabilities=client_capabilities
|
|
)
|
|
|
|
assert response.protocol_version == PROTOCOL_VERSION
|
|
assert response.agent_capabilities == AgentCapabilities(
|
|
load_session=True,
|
|
prompt_capabilities=PromptCapabilities(
|
|
audio=False, embedded_context=True, image=False
|
|
),
|
|
session_capabilities=SessionCapabilities(list=SessionListCapabilities()),
|
|
)
|
|
assert response.agent_info == Implementation(
|
|
name="@mistralai/mistral-vibe", title="Mistral Vibe", version="2.7.0"
|
|
)
|
|
|
|
assert response.auth_methods is not None
|
|
assert len(response.auth_methods) == 1
|
|
auth_method = response.auth_methods[0]
|
|
assert auth_method.id == "vibe-setup"
|
|
assert auth_method.name == "Register your API Key"
|
|
assert auth_method.description == "Register your API Key inside Mistral Vibe"
|
|
assert auth_method.field_meta is not None
|
|
assert "terminal-auth" in auth_method.field_meta
|
|
terminal_auth_meta = auth_method.field_meta["terminal-auth"]
|
|
assert "command" in terminal_auth_meta
|
|
assert "args" in terminal_auth_meta
|
|
assert terminal_auth_meta["label"] == "Mistral Vibe Setup"
|