refactor(agents,core,frontends): typed kinds, prompts per kind, frontend agents as parameters

This commit is contained in:
hh
2026-08-28 16:36:44 +02:00
parent 1d8d65b69a
commit bd2d2368e1
11 changed files with 129 additions and 50 deletions
+3 -2
View File
@@ -19,6 +19,7 @@ if TYPE_CHECKING:
from beaver_gateway.backends.base import Backend
from beaver_gateway.core.auth import TokenStore
from beaver_gateway.core.kinds import Kind
from beaver_gateway.core.registry import AgentRegistry, McpRegistry
from beaver_gateway.core.turn_record import TurnRecord
from beaver_gateway.storage import Database
@@ -101,7 +102,7 @@ class Frontend(ABC):
"""
name: str = ""
kinds: tuple[str, ...] = ()
kinds: tuple[Kind, ...] = ()
@abstractmethod
def configure(self, runtime: GatewayRuntime) -> None: ...
@@ -109,7 +110,7 @@ class Frontend(ABC):
@abstractmethod
async def serve(self) -> None: ...
def agent_for(self, kind: str) -> str | None: # noqa: ARG002
def agent_for(self, kind: Kind) -> str | None: # noqa: ARG002
return None
async def materialize(self, conv: Conversation) -> ConversationBinding | None: # noqa: ARG002