(
self,
name: str,
method: str | None,
args: dict,
message: str,
loop_data: LoopData | None,
**kwargs,
)
| 1546 | |
| 1547 | @extension.extensible |
| 1548 | def get_tool( |
| 1549 | self, |
| 1550 | name: str, |
| 1551 | method: str | None, |
| 1552 | args: dict, |
| 1553 | message: str, |
| 1554 | loop_data: LoopData | None, |
| 1555 | **kwargs, |
| 1556 | ): |
| 1557 | from tools.unknown import Unknown |
| 1558 | from helpers.tool import Tool |
| 1559 | |
| 1560 | classes = [] |
| 1561 | |
| 1562 | # search for tools in agent's folder hierarchy |
| 1563 | paths = subagents.get_paths(self, "tools", name + ".py") |
| 1564 | |
| 1565 | for path in paths: |
| 1566 | try: |
| 1567 | classes = extract_tools.load_classes_from_file(path, Tool) # type: ignore[arg-type] |
| 1568 | break |
| 1569 | except Exception: |
| 1570 | continue |
| 1571 | |
| 1572 | tool_class = classes[0] if classes else Unknown |
| 1573 | return tool_class( |
| 1574 | agent=self, |
| 1575 | name=name, |
| 1576 | method=method, |
| 1577 | args=args, |
| 1578 | message=message, |
| 1579 | loop_data=loop_data, |
| 1580 | **kwargs, |
| 1581 | ) |
| 1582 | |
| 1583 | |
| 1584 | def re_search_session_id(text: str) -> str: |
no outgoing calls