some changes

This commit is contained in:
2026-04-02 21:08:17 -03:00
parent 76ff720906
commit 8c1138c746
8 changed files with 1245 additions and 26 deletions

View File

@@ -51,16 +51,36 @@ def _build_prompt(message: str, context: SessionContext) -> str:
return "\n".join(lines)
MODELS = [
"claude-sonnet-4-6",
"claude-opus-4-6",
"claude-haiku-4-5",
]
class ClaudeSDKProvider(AgentProvider):
"""Uses claude_agent_sdk — requires Claude Code CLI to be installed."""
def __init__(self, cwd: str | None = None, max_turns: int = 5):
def __init__(self, cwd: str | None = None, max_turns: int = 5, model: str = MODELS[0]):
self._cwd = cwd
self._max_turns = max_turns
self._model = model
@property
def name(self) -> str:
return "claude-code-sdk"
return f"claude-sdk/{self._model}"
@property
def available_models(self) -> list[str]:
return list(MODELS)
@property
def model(self) -> str:
return self._model
@model.setter
def model(self, value: str):
self._model = value
def stream(self, message: str, context: SessionContext) -> Iterator[str]:
prompt = _build_prompt(message, context)
@@ -70,6 +90,7 @@ class ClaudeSDKProvider(AgentProvider):
async for msg in query(
prompt=prompt,
options=ClaudeAgentOptions(
model=self._model,
cwd=self._cwd or str(context.session_dir),
allowed_tools=["Read"],
system_prompt=SYSTEM_PROMPT,