Cleaning up import orders

This commit is contained in:
James Ketr 2025-05-02 17:29:09 -07:00
parent da2db55d92
commit 09c8c45afc
3 changed files with 11 additions and 19 deletions

View File

@ -10,7 +10,7 @@ from .. import defines
from abc import ABC
import logging
from .. message import Message
from .. import tools as Tools
from .. tools import ( TickerValue, WeatherForecast, AnalyzeSite, DateTime, llm_tools ) # type: ignore -- dynamically added to __all__
import json
import time
import inspect
@ -191,7 +191,7 @@ class Agent(BaseModel, ABC):
if not ticker:
ret = None
else:
ret = Tools.TickerValue(ticker)
ret = TickerValue(ticker)
case "AnalyzeSite":
url = arguments.get("url")
@ -200,11 +200,11 @@ class Agent(BaseModel, ABC):
# Additional status update for long-running operations
message.response = f"Retrieving and summarizing content from {url}..."
yield message
ret = await Tools.AnalyzeSite(llm=llm, model=model, url=url, question=question)
ret = await AnalyzeSite(llm=llm, model=model, url=url, question=question)
case "DateTime":
tz = arguments.get("timezone")
ret = Tools.DateTime(tz)
ret = DateTime(tz)
case "WeatherForecast":
city = arguments.get("city")
@ -212,7 +212,7 @@ class Agent(BaseModel, ABC):
message.response = f"Fetching weather data for {city}, {state}..."
yield message
ret = Tools.WeatherForecast(city, state)
ret = WeatherForecast(city, state)
case _:
ret = None
@ -247,6 +247,8 @@ class Agent(BaseModel, ABC):
messages.extend(tool_metadata["tool_calls"])
message.status = "thinking"
message.response = "Incorporating tool results into response..."
yield message
# Decrease creativity when processing tool call requests
message.response = ""
@ -307,7 +309,7 @@ class Agent(BaseModel, ABC):
use_tools = message.enable_tools and len(self.context.tools) > 0
message.metadata["tools"] = {
"available": Tools.llm_tools(self.context.tools),
"available": llm_tools(self.context.tools),
"used": False
}
tool_metadata = message.metadata["tools"]

View File

@ -1,12 +1,6 @@
from pydantic import BaseModel, Field, model_validator, PrivateAttr # type: ignore
from typing import Literal, TypeAlias, get_args, List, Generator, Iterator, AsyncGenerator, TYPE_CHECKING, Optional, ClassVar
from typing_extensions import Annotated
from abc import ABC, abstractmethod
from typing_extensions import Annotated
import logging
from pydantic import model_validator # type: ignore
from typing import Literal, Optional, ClassVar
from .base import Agent, registry
from .. conversation import Conversation
from .. message import Message
class Resume(Agent):
agent_type: Literal["resume"] = "resume" # type: ignore

View File

@ -1,9 +1,5 @@
from __future__ import annotations
from typing import List, Dict, ForwardRef, Optional, Type
# Forward references
# AgentRef = ForwardRef('Agent')
# ContextRef = ForwardRef('Context')
from typing import List, Dict, Optional, Type
# We'll use a registry pattern rather than hardcoded strings
class AgentRegistry: