"""Conversation kinds as one closed type for agents, frontends, service.""" from __future__ import annotations from typing import Literal, get_args __all__ = ["KINDS", "Kind", "as_kind"] Kind = Literal["master", "branch", "deep", "job", "fork"] KINDS: tuple[Kind, ...] = get_args(Kind) def as_kind(value: str) -> Kind: for kind in KINDS: if value == kind: return kind msg = f"unknown conversation kind {value!r}" raise ValueError(msg)