from abc import ABC, abstractmethod from typing import List from omagent_core.engine.orkes.models.metadata_tag import MetadataTag class SecretClient(ABC): @abstractmethod def put_secret(self, key: str, value: str): pass @abstractmethod def get_secret(self, key: str) -> str: pass @abstractmethod def list_all_secret_names(self) -> set[str]: pass @abstractmethod def list_secrets_that_user_can_grant_access_to(self) -> List[str]: pass @abstractmethod def delete_secret(self, key: str): pass @abstractmethod def secret_exists(self, key: str) -> bool: pass @abstractmethod def set_secret_tags(self, tags: List[MetadataTag], key: str): pass @abstractmethod def get_secret_tags(self, key: str) -> List[MetadataTag]: pass @abstractmethod def delete_secret_tags( self, tags: List[MetadataTag], key: str ) -> List[MetadataTag]: pass