from typing import Any, Callable, Optional
from ..abstractions import R2RSerializable
class Tool(R2RSerializable):
name: str
description: str
results_function: Callable
llm_format_function: Callable
stream_function: Optional[Callable] = None
parameters: Optional[dict[str, Any]] = None
class Config:
populate_by_name = True
arbitrary_types_allowed = True
class ToolResult(R2RSerializable):
raw_result: Any
llm_formatted_result: str
stream_result: Optional[str] = None
