Capture ThinkStorm project: codebase state, workflows, and access control policies
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
"""
|
||||
ThinkStorm Service Adapters Base Module
|
||||
Defines interface contracts and health status checks.
|
||||
"""
|
||||
|
||||
from dataclasses import dataclass
|
||||
from typing import Dict, Any, Optional, Tuple
|
||||
from abc import ABC, abstractmethod
|
||||
|
||||
@dataclass
|
||||
class ServiceHealth:
|
||||
service_id: str
|
||||
healthy: bool
|
||||
endpoint: str
|
||||
message: str
|
||||
response_time_ms: int = 0
|
||||
extra: Dict[str, Any] = None
|
||||
|
||||
class BaseServiceAdapter(ABC):
|
||||
def __init__(self, service_id: str, endpoint: str, api_key: str = ""):
|
||||
self.service_id = service_id
|
||||
self.endpoint = endpoint.rstrip("/")
|
||||
self.api_key = api_key
|
||||
|
||||
@abstractmethod
|
||||
async def check_health(self) -> ServiceHealth:
|
||||
"""Tests live connectivity and returns health status."""
|
||||
pass
|
||||
Reference in New Issue
Block a user