Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,21 @@
It instantiates an Agent and prompts the user for input, which is then passed to the Agent.
"""

import os
import argparse
from pathlib import Path
import sys
import logging
import os
import sys
from pathlib import Path

from rich.console import Console
from rich.panel import Panel
from prompt_toolkit import prompt
from prompt_toolkit.history import InMemoryHistory
from rich.console import Console
from rich.panel import Panel

from prompts.instruction import INSTRUCTION_PROMPT
from tools.agent import Agent
from utils.workspace_manager import WorkspaceManager
from utils.llm_client import get_client
from prompts.instruction import INSTRUCTION_PROMPT
from utils.workspace_manager import WorkspaceManager

MAX_OUTPUT_TOKENS_PER_TURN = 32768
MAX_TURNS = 200
Expand Down Expand Up @@ -115,7 +115,7 @@ def main():
# Initialize LLM client
client = get_client(
"anthropic-direct",
model_name="claude-3-7-sonnet-20250219",
model_name="claude-sonnet-4-20250514",
use_caching=True,
)

Expand Down
15 changes: 9 additions & 6 deletions utils/llm_client.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
"""LLM client for Anthropic models."""

import json
import logging
import os
import random
import time
from dataclasses import dataclass
from typing import Any, Tuple, cast
from dataclasses_json import DataClassJsonMixin

import anthropic
import openai
from anthropic import (
Expand All @@ -24,10 +25,14 @@
from anthropic._exceptions import (
OverloadedError as AnthropicOverloadedError, # pyright: ignore[reportPrivateImportUsage]
)
from anthropic.types import (
RedactedThinkingBlock as AnthropicRedactedThinkingBlock,
)
from anthropic.types import (
TextBlock as AnthropicTextBlock,
)
from anthropic.types import (
ThinkingBlock as AnthropicThinkingBlock,
RedactedThinkingBlock as AnthropicRedactedThinkingBlock,
)
from anthropic.types import ToolParam as AnthropicToolParam
from anthropic.types import (
Expand All @@ -41,7 +46,7 @@
ToolChoiceToolChoiceAuto,
ToolChoiceToolChoiceTool,
)

from dataclasses_json import DataClassJsonMixin
from openai import (
APIConnectionError as OpenAI_APIConnectionError,
)
Expand All @@ -55,8 +60,6 @@
NOT_GIVEN as OpenAI_NOT_GIVEN, # pyright: ignore[reportPrivateImportUsage]
)

import logging

logging.getLogger("httpx").setLevel(logging.WARNING)


Expand Down Expand Up @@ -170,7 +173,7 @@ class AnthropicDirectClient(LLMClient):

def __init__(
self,
model_name="claude-3-7-sonnet-20250219",
model_name="claude-sonnet-4-20250514",
max_retries=2,
use_caching=True,
use_low_qos_server: bool = False,
Expand Down