suna/backend/templates/protocols.py

39 lines
1.2 KiB
Python

from typing import Protocol, Dict, List, Any, Optional
from .domain.entities import ConfigType
class Logger(Protocol):
def info(self, message: str) -> None: ...
def warning(self, message: str) -> None: ...
def error(self, message: str) -> None: ...
class DatabaseConnection(Protocol):
async def client(self) -> Any: ...
class VersionManager(Protocol):
async def create_version(
self, agent_id: str, user_id: str, system_prompt: str,
configured_mcps: List[ConfigType], custom_mcps: List[ConfigType],
agentpress_tools: ConfigType, version_name: str,
change_description: str
) -> Dict[str, Any]: ...
async def get_version(
self, agent_id: str, version_id: str, user_id: str
) -> Dict[str, Any]: ...
class CredentialManager(Protocol):
async def get_default_credential_profile(
self, account_id: str, qualified_name: str
) -> Optional[Any]: ...
async def get_credential_by_profile(
self, account_id: str, profile_id: str
) -> Optional[Any]: ...
class ProfileManager(Protocol):
async def get_profile(self, account_id: str, profile_id: str) -> Optional[Any]: ...