vibe/tests/stubs/fake_tool.py
Quentin Torroba fa15fc977b Initial commit
Co-Authored-By: Quentin Torroba <quentin.torroba@mistral.ai>
Co-Authored-By: Laure Hugo <laure.hugo@mistral.ai>
Co-Authored-By: Benjamin Trom <benjamin.trom@mistral.ai>
Co-Authored-By: Mathias Gesbert <mathias.gesbert@ext.mistral.ai>
Co-Authored-By: Michel Thomazo <michel.thomazo@mistral.ai>
Co-Authored-By: Clément Drouin <clement.drouin@mistral.ai>
Co-Authored-By: Vincent Guilloux <vincent.guilloux@mistral.ai>
Co-Authored-By: Valentin Berard <val@mistral.ai>
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2025-12-09 13:13:22 +01:00

30 lines
698 B
Python

from __future__ import annotations
from pydantic import BaseModel
from vibe.core.tools.base import BaseTool, BaseToolConfig, BaseToolState
class FakeToolArgs(BaseModel):
pass
class FakeToolResult(BaseModel):
message: str = "fake tool executed"
class FakeToolState(BaseToolState):
pass
class FakeTool(BaseTool[FakeToolArgs, FakeToolResult, BaseToolConfig, FakeToolState]):
_exception_to_raise: BaseException | None = None
@classmethod
def get_name(cls) -> str:
return "stub_tool"
async def run(self, args: FakeToolArgs) -> FakeToolResult:
if self._exception_to_raise:
raise self._exception_to_raise
return FakeToolResult()