Ctrl K
ComunidadGuías…

src/llm/seat_policy.py

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
"""Injected model-generation contract shared by seat action adapters."""
from __future__ import annotations

from collections.abc import Callable
from dataclasses import dataclass
from typing import Any, Protocol


@dataclass
class SeatGeneration:
    client: Any
    style_prompt: str
    reason: str
    admission_check: Callable[[], str]
    finish: Callable[[dict[str, Any]], bool]

    async def close(self) -> None:
        if self.client is not None:
            await self.client.close()


class SeatRuntime(Protocol):
    def begin(self, instance: Any, uid: str) -> SeatGeneration: ...