vibe/tests/stubs/fake_tool.py
Mathias Gesbert d33db9fff8 2.0.0
Co-Authored-By: Quentin Torroba <quentin.torroba@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: Clément Siriex <clement.sirieix@mistral.ai>
Co-Authored-By: Kim-Adeline Miguel <kimadeline.miguel@mistral.ai>
Co-Authored-By: Thaddee Tyl <thaddee.tyl@gmail.com>
Co-Authored-By: David Brochart <david.brochart@gmail.com>
Co-Authored-By: Joseph Guhlin <joseph.guhlin@gmail.com>
Co-Authored-By: Thomas Kenbeek <thomaskenbeek@gmail.com>
Co-Authored-By: Remenby31 <baptiste.cruvellier31@gmail.com>
2026-01-27 16:44:55 +01:00

35 lines
888 B
Python

from __future__ import annotations
from collections.abc import AsyncGenerator
from pydantic import BaseModel
from vibe.core.tools.base import BaseTool, BaseToolConfig, BaseToolState, InvokeContext
from vibe.core.types import ToolStreamEvent
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, ctx: InvokeContext | None = None
) -> AsyncGenerator[ToolStreamEvent | FakeToolResult, None]:
if self._exception_to_raise:
raise self._exception_to_raise
yield FakeToolResult()