Bases: ToolResultEvent
Represents a successful builtin tool execution result.
Source code in autogen/beta/events/base.py
| def __init__(self, *args: Any, **kwargs: Any) -> None:
# MRO walk: map positional args and collect defaults.
positional_names: list[str] = []
defaults: dict[str, Any] = {}
seen: set[str] = set()
for klass in reversed(type(self).__mro__):
for name, f in getattr(klass, "_event_fields_", {}).items():
if name not in seen:
if not f.kw_only:
positional_names.append(name)
if name not in kwargs:
default = f.get_default()
if default is not Ellipsis:
defaults[name] = default
seen.add(name)
if args:
if len(args) > len(positional_names):
raise TypeError(
f"{type(self).__name__}() takes {len(positional_names)} "
f"positional argument(s) but {len(args)} were given"
)
for name, value in zip(positional_names, args):
if name in kwargs:
raise TypeError(f"{type(self).__name__}() got multiple values for argument '{name}'")
kwargs[name] = value
defaults.pop(name, None)
# Apply defaults first, then user-provided kwargs so that
# property setters (e.g. content -> _content) aren't overwritten
# by a field default applied afterwards.
for key, value in defaults.items():
setattr(self, key, value)
for key, value in kwargs.items():
setattr(self, key, value)
|
content property writable
Source code in autogen/beta/events/tool_events.py
| @classmethod
def from_call(cls, call: ToolCallEvent, result: ResultT) -> "ToolResultEvent[ResultT]":
return cls(
parent_id=call.id,
name=call.name,
result=ToolResult.ensure_result(result),
)
|
Source code in autogen/beta/events/tool_events.py
| def to_api(self) -> dict[str, Any]:
return {
"role": "tool",
"tool_call_id": self.parent_id,
"content": self.content,
}
|