| """ | |
| Agent Tools module for Personal Coach CrewAI Application | |
| Contains specialized tools for each agent's functionality. | |
| Supports modular class-based tool containers. | |
| """ | |
| # from typing import TYPE_CHECKING, Dict, Any | |
| # # Version info | |
| # __version__ = "1.0.0" | |
| # # Lazy imports for type checking and IDE intellisense | |
| # if TYPE_CHECKING: | |
| # from .voice_tools import VoiceTools | |
| # from .llm_tools import LLMTools | |
| # from .knowledge_tools import KnowledgeTools | |
| # from .validation_tools import ValidationTools | |
| # # Public API: expose only main class-based containers & API | |
| # __all__ = [ | |
| # # Tool containers | |
| # "VoiceTools", | |
| # "LLMTools", | |
| # "KnowledgeTools", | |
| # "ValidationTools", | |
| # # Factory and utility functions | |
| # "create_tool_suite", | |
| # "get_tool_by_name", | |
| # "register_tools_with_crew", | |
| # # Constants | |
| # "SUPPORTED_LANGUAGES", | |
| # "TOOL_CATEGORIES" | |
| # ] | |
| # # Constants | |
| # SUPPORTED_LANGUAGES = [ | |
| # "en", "es", "fr", "de", "it", "pt", "ru", "zh", | |
| # "ja", "ko", "hi", "ar", "bn", "pa", "te", "mr", | |
| # "ta", "ur", "gu", "kn", "ml", "or" | |
| # ] | |
| # TOOL_CATEGORIES = { | |
| # "VOICE": ["speech_to_text", "text_to_speech", "language_detection"], | |
| # "LLM": ["generate_response", "generate_questions", "summarize", "paraphrase"], | |
| # "KNOWLEDGE": ["search_knowledge", "extract_wisdom", "find_practices"], | |
| # "VALIDATION": ["validate_response", "check_safety", "analyze_tone"] | |
| # } | |
| # # Factory: unified tool suite | |
| # def create_tool_suite(config) -> Dict[str, Any]: | |
| # """ | |
| # Create a complete suite of tools for all agents. | |
| # Args: | |
| # config: Configuration object | |
| # Returns: | |
| # dict: Dictionary of initialized tool containers | |
| # """ | |
| # from .voice_tools import VoiceTools | |
| # from .llm_tools import LLMTools | |
| # from .knowledge_tools import KnowledgeTools | |
| # from .validation_tools import ValidationTools | |
| # return { | |
| # "voice": VoiceTools(config), | |
| # "llm": LLMTools(config), | |
| # "knowledge": KnowledgeTools(config), | |
| # "validation": ValidationTools(config) | |
| # } | |
| # def get_tool_by_name(tool_name: str, config): | |
| # """ | |
| # Get a specific tool container by name. | |
| # Args: | |
| # tool_name: Name of the tool container ('voice', 'llm', 'knowledge', 'validation') | |
| # config: Configuration object | |
| # Returns: | |
| # Tool container class instance or None | |
| # """ | |
| # tool_mapping = { | |
| # "voice": lambda c: __import__("agents.tools.voice_tools", fromlist=["VoiceTools"]).VoiceTools(c), | |
| # "llm": lambda c: __import__("agents.tools.llm_tools", fromlist=["LLMTools"]).LLMTools(c), | |
| # "knowledge": lambda c: __import__("agents.tools.knowledge_tools", fromlist=["KnowledgeTools"]).KnowledgeTools(c), | |
| # "validation": lambda c: __import__("agents.tools.validation_tools", fromlist=["ValidationTools"]).ValidationTools(c), | |
| # } | |
| # tool_factory = tool_mapping.get(tool_name.lower()) | |
| # if tool_factory: | |
| # return tool_factory(config) | |
| # return None | |
| # # Tool registry for CrewAI (for UI/metadata/documentation) | |
| # def register_tools_with_crew(): | |
| # """ | |
| # Register all tools with CrewAI framework. | |
| # Returns a list of tool configurations for CrewAI. | |
| # """ | |
| # return [ | |
| # { | |
| # "name": "speech_to_text", | |
| # "description": "Convert speech in any language to text", | |
| # "category": "VOICE" | |
| # }, | |
| # { | |
| # "name": "text_to_speech", | |
| # "description": "Convert text to natural speech in multiple languages", | |
| # "category": "VOICE" | |
| # }, | |
| # { | |
| # "name": "search_knowledge", | |
| # "description": "Search through spiritual and self-help texts", | |
| # "category": "KNOWLEDGE" | |
| # }, | |
| # { | |
| # "name": "generate_response", | |
| # "description": "Generate empathetic and helpful responses", | |
| # "category": "LLM" | |
| # }, | |
| # { | |
| # "name": "validate_response", | |
| # "description": "Ensure response safety and appropriateness", | |
| # "category": "VALIDATION" | |
| # } | |
| # ] | |
| # # Initialization check for debug mode | |
| # import os | |
| # if os.getenv("DEBUG_MODE", "false").lower() == "true": | |
| # print(f"Agent Tools module v{__version__} initialized") | |
| # print(f"Supported languages: {len(SUPPORTED_LANGUAGES)}") | |
| # print(f"Tool categories: {list(TOOL_CATEGORIES.keys())}") | |
| from .voice_tools import VoiceTools | |
| from .llm_tools import LLMTools | |
| from .knowledge_tools import KnowledgeTools | |
| from .validation_tools import ValidationTools | |
| __all__ = [ | |
| "VoiceTools", | |
| "LLMTools", | |
| "KnowledgeTools", | |
| "ValidationTools" | |
| ] |