v2.12.0 (#725)
Co-authored-by: Mathias Gesbert <mathias.gesbert@mistral.ai> Co-authored-by: Pierre Rossinès <pierre.rossines@mistral.ai> Co-authored-by: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
parent
cf3f4ca58f
commit
1843196d88
20 changed files with 399 additions and 1675 deletions
45
tests/core/test_last_user_message.py
Normal file
45
tests/core/test_last_user_message.py
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
from vibe.core.agent_loop import AgentLoop
|
||||
from vibe.core.types import LLMMessage, Role
|
||||
|
||||
|
||||
def _call(*messages: LLMMessage) -> LLMMessage | None:
|
||||
fake_self = MagicMock(spec=["messages"])
|
||||
fake_self.messages = list(messages)
|
||||
return AgentLoop._last_user_message(fake_self)
|
||||
|
||||
|
||||
def test_returns_last_user_message() -> None:
|
||||
m1 = LLMMessage(role=Role.user, content="first")
|
||||
m2 = LLMMessage(role=Role.assistant, content="reply")
|
||||
m3 = LLMMessage(role=Role.user, content="second")
|
||||
result = _call(m1, m2, m3)
|
||||
assert result is m3
|
||||
|
||||
|
||||
def test_returns_none_when_no_user_messages() -> None:
|
||||
assert (
|
||||
_call(
|
||||
LLMMessage(role=Role.system, content="system prompt"),
|
||||
LLMMessage(role=Role.assistant, content="hello"),
|
||||
)
|
||||
is None
|
||||
)
|
||||
|
||||
|
||||
def test_returns_none_for_empty_messages() -> None:
|
||||
assert _call() is None
|
||||
|
||||
|
||||
def test_skips_injected_user_messages() -> None:
|
||||
real = LLMMessage(role=Role.user, content="real")
|
||||
injected = LLMMessage(role=Role.user, content="reminder", injected=True)
|
||||
assert _call(real, injected) is real
|
||||
|
||||
|
||||
def test_returns_user_message_with_empty_content() -> None:
|
||||
empty = LLMMessage(role=Role.user, content="")
|
||||
assert _call(empty) is empty
|
||||
Loading…
Add table
Add a link
Reference in a new issue