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

View File

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

View File

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