v2.14.0 (#743)
Co-authored-by: Alexis Tacnet <alexis@mistral.ai> Co-authored-by: Clément Drouin <clement.drouin@mistral.ai> Co-authored-by: Guillaume LE GOFF <guillaume.lgf@gmail.com> Co-authored-by: Lucas Marandat <31749711+lucasmrdt@users.noreply.github.com> Co-authored-by: Maxime Dolores <maxime.dolores@ext.mistral.ai> Co-authored-by: Pierre Rossinès <pierre.rossines@mistral.ai> Co-authored-by: Quentin <quentin.torroba@mistral.ai> Co-authored-by: Val <102326092+vdeva@users.noreply.github.com> Co-authored-by: Vincent G <10739306+VinceOPS@users.noreply.github.com> Co-authored-by: p.vezia <166131032+le-codeur-rapide@users.noreply.github.com> Co-authored-by: Hiba Chaabnia <Hiba-Chaabnia@users.noreply.github.com> Co-authored-by: Nikhil Bhima <nikhilbhima@users.noreply.github.com> Co-authored-by: Nkipohcs <Nkipohcs@users.noreply.github.com> Co-authored-by: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
parent
ad0d5c9520
commit
3f8487f761
197 changed files with 10819 additions and 2830 deletions
64
tests/acp/test_todo.py
Normal file
64
tests/acp/test_todo.py
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from vibe.acp.tools.builtins.todo import Todo
|
||||
from vibe.core.tools.builtins.todo import TodoItem, TodoPriority, TodoResult, TodoStatus
|
||||
from vibe.core.types import ToolResultEvent
|
||||
|
||||
|
||||
class TestAcpTodoSessionUpdates:
|
||||
def test_tool_result_session_update(self) -> None:
|
||||
result = TodoResult(
|
||||
message="Updated 2 todos",
|
||||
todos=[
|
||||
TodoItem(
|
||||
id="1",
|
||||
content="First",
|
||||
status=TodoStatus.IN_PROGRESS,
|
||||
priority=TodoPriority.HIGH,
|
||||
),
|
||||
TodoItem(id="2", content="Second", status=TodoStatus.PENDING),
|
||||
],
|
||||
total_count=2,
|
||||
)
|
||||
|
||||
event = ToolResultEvent(
|
||||
tool_name="todo",
|
||||
tool_call_id="test_call_123",
|
||||
result=result,
|
||||
tool_class=Todo,
|
||||
)
|
||||
|
||||
update = Todo.tool_result_session_update(event)
|
||||
assert update is not None
|
||||
assert update.session_update == "plan"
|
||||
assert len(update.entries) == 2
|
||||
assert update.entries[0].content == "First"
|
||||
assert update.entries[0].status == "in_progress"
|
||||
assert update.entries[0].priority == "high"
|
||||
|
||||
def test_tool_result_session_update_failed_result(self) -> None:
|
||||
event = ToolResultEvent(
|
||||
tool_name="todo",
|
||||
tool_call_id="test_call_123",
|
||||
error="Todo IDs must be unique",
|
||||
tool_class=Todo,
|
||||
)
|
||||
|
||||
update = Todo.tool_result_session_update(event)
|
||||
assert update is not None
|
||||
assert update.status == "failed"
|
||||
|
||||
def test_tool_result_session_update_invalid_result(self) -> None:
|
||||
class InvalidResult:
|
||||
pass
|
||||
|
||||
event = ToolResultEvent.model_construct(
|
||||
tool_name="todo",
|
||||
tool_call_id="test_call_123",
|
||||
result=InvalidResult(), # type: ignore[arg-type]
|
||||
tool_class=Todo,
|
||||
)
|
||||
|
||||
update = Todo.tool_result_session_update(event)
|
||||
assert update is not None
|
||||
assert update.status == "failed"
|
||||
Loading…
Add table
Add a link
Reference in a new issue