Skip to content

Commit 3932b8f

Browse files
authored
Merge pull request #3760 from AstrBotDevs/feat/agent-runner
refactor: transfer dify, coze and alibaba dashscope from chat provider to agent runner
2 parents 95e9da4 + 82488ca commit 3932b8f

36 files changed

Lines changed: 2295 additions & 1526 deletions

astrbot/core/agent/runners/base.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@
22
import typing as T
33
from enum import Enum, auto
44

5-
from astrbot.core.provider import Provider
5+
from astrbot import logger
66
from astrbot.core.provider.entities import LLMResponse
77

88
from ..hooks import BaseAgentRunHooks
99
from ..response import AgentResponse
1010
from ..run_context import ContextWrapper, TContext
11-
from ..tool_executor import BaseFunctionToolExecutor
1211

1312

1413
class AgentState(Enum):
@@ -24,9 +23,7 @@ class BaseAgentRunner(T.Generic[TContext]):
2423
@abc.abstractmethod
2524
async def reset(
2625
self,
27-
provider: Provider,
2826
run_context: ContextWrapper[TContext],
29-
tool_executor: BaseFunctionToolExecutor[TContext],
3027
agent_hooks: BaseAgentRunHooks[TContext],
3128
**kwargs: T.Any,
3229
) -> None:
@@ -60,3 +57,9 @@ def get_final_llm_resp(self) -> LLMResponse | None:
6057
This method should be called after the agent is done.
6158
"""
6259
...
60+
61+
def _transition_state(self, new_state: AgentState) -> None:
62+
"""Transition the agent state."""
63+
if self._state != new_state:
64+
logger.debug(f"Agent state transition: {self._state} -> {new_state}")
65+
self._state = new_state

0 commit comments

Comments
 (0)