from __future__ import annotations from abc import ABC, abstractmethod from dataclasses import dataclass from typing import Any, Dict @dataclass class ToolExecutionResult: context: Dict[str, Any] output_summary: str fallback_used: bool = False class TestingTool(ABC): name: str @abstractmethod def execute(self, context: Dict[str, Any]) -> ToolExecutionResult: raise NotImplementedError