|
20 | 20 | from opentelemetry import trace |
21 | 21 | from pydantic import BaseModel |
22 | 22 |
|
23 | | -from ..event_loop.event_loop import event_loop_cycle |
| 23 | +from ..event_loop.event_loop import event_loop_cycle, run_tool |
24 | 24 | from ..experimental.hooks import AgentInitializedEvent, EndRequestEvent, HookRegistry, StartRequestEvent |
25 | 25 | from ..handlers.callback_handler import PrintingCallbackHandler, null_callback_handler |
26 | | -from ..handlers.tool_handler import AgentToolHandler |
27 | 26 | from ..models.bedrock import BedrockModel |
28 | 27 | from ..telemetry.metrics import EventLoopMetrics |
29 | 28 | from ..telemetry.tracer import get_tracer |
@@ -130,14 +129,7 @@ def caller( |
130 | 129 | } |
131 | 130 |
|
132 | 131 | # Execute the tool |
133 | | - events = self._agent.tool_handler.process( |
134 | | - tool=tool_use, |
135 | | - model=self._agent.model, |
136 | | - system_prompt=self._agent.system_prompt, |
137 | | - messages=self._agent.messages, |
138 | | - tool_config=self._agent.tool_config, |
139 | | - kwargs=kwargs, |
140 | | - ) |
| 132 | + events = run_tool(agent=self._agent, tool=tool_use, kwargs=kwargs) |
141 | 133 |
|
142 | 134 | try: |
143 | 135 | while True: |
@@ -283,7 +275,6 @@ def __init__( |
283 | 275 | self.load_tools_from_directory = load_tools_from_directory |
284 | 276 |
|
285 | 277 | self.tool_registry = ToolRegistry() |
286 | | - self.tool_handler = AgentToolHandler(tool_registry=self.tool_registry) |
287 | 278 |
|
288 | 279 | # Process tool list if provided |
289 | 280 | if tools is not None: |
@@ -563,14 +554,7 @@ async def _execute_event_loop_cycle(self, kwargs: dict[str, Any]) -> AsyncGenera |
563 | 554 | try: |
564 | 555 | # Execute the main event loop cycle |
565 | 556 | events = event_loop_cycle( |
566 | | - model=self.model, |
567 | | - system_prompt=self.system_prompt, |
568 | | - messages=self.messages, # will be modified by event_loop_cycle |
569 | | - tool_config=self.tool_config, |
570 | | - tool_handler=self.tool_handler, |
571 | | - thread_pool=self.thread_pool, |
572 | | - event_loop_metrics=self.event_loop_metrics, |
573 | | - event_loop_parent_span=self.trace_span, |
| 557 | + agent=self, |
574 | 558 | kwargs=kwargs, |
575 | 559 | ) |
576 | 560 | async for event in events: |
|
0 commit comments