File size: 542 Bytes
d1b42b9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# core/base_module.py
from abc import ABC, abstractmethod
from typing import Dict, List

class AIModule(ABC):
    """Base class for all AI modules."""
    
    @abstractmethod
    async def process(self, input_data: Dict) -> Dict:
        """Process input data and return results."""
        pass
    
    @abstractmethod
    async def get_status(self) -> Dict:
        """Get module status."""
        pass
    
    @property
    @abstractmethod
    def capabilities(self) -> List[str]:
        """List module capabilities."""
        pass