feat: implement raycast backend

This commit is contained in:
hh
2026-05-19 21:06:01 +02:00
parent 221e660c5c
commit 757065f21c
16 changed files with 1415 additions and 31 deletions
+12 -2
View File
@@ -7,11 +7,21 @@ runtime branch.
from __future__ import annotations
from pathlib import Path # noqa: TC003 — runtime use by pydantic
from beaver_gateway.agents.base import BaseAgent
class ClaudeAgent(BaseAgent):
"""Agent backed by ``claude-code-api``."""
"""Agent backed by ``claude-code-api``.
cwd: str
``cwd`` is the working directory the claude CLI is spawned in;
typed as ``Path`` (Pydantic coerces strings) since claude-code-api
accepts ``str | os.PathLike[str]``. ``available_native_tools`` stays
``tuple[str, ...]`` because Claude Code's tool set is a moving target
(Bash/Read/Edit/Write/WebSearch/etc. — versions add and rename), so
pinning it as a ``Literal`` would rot the type each release.
"""
cwd: Path
available_native_tools: tuple[str, ...] = ()