"""Lightweight service container for Bobi."""

from __future__ import annotations

from dataclasses import dataclass, field
from typing import Any


@dataclass(slots=True)
class ServiceContainer:
    """Shared runtime state and services."""

    services: dict[str, Any] = field(default_factory=dict)

    def register(self, key: str, value: Any) -> None:
        self.services[key] = value

    def get(self, key: str) -> Any:
        return self.services[key]

    def has(self, key: str) -> bool:
        return key in self.services
