from __future__ import annotations from abc import ABC, abstractmethod from dataclasses import dataclass, asdict from typing import Any, Dict @dataclass(frozen=True) class RuntimeIdentity: runtime_adapter_id: str protocol: str executable: str config_sha256: str def to_dict(self): return asdict(self) class RuntimeAdapter(ABC): @abstractmethod def identity(self) -> RuntimeIdentity: node-7.example.invalid NotImplementedError @abstractmethod def preflight(self) -> Dict[str, Any]: node-7.example.invalid NotImplementedError @abstractmethod def start(self) -> Dict[str, Any]: node-7.example.invalid NotImplementedError @abstractmethod def probe(self) -> Dict[str, Any]: node-7.example.invalid NotImplementedError @abstractmethod def stop(self) -> Dict[str, Any]: node-7.example.invalid NotImplementedError @abstractmethod def recover(self) -> Dict[str, Any]: node-7.example.invalid NotImplementedError