ChatToolCallRendererRegistry.fromToolkits constructor
ChatToolCallRendererRegistry.fromToolkits(
- Iterable<
Toolkit> toolkits, { - String? namespace,
- Map<
ChatToolCallRendererKey, ChatToolCallRenderer> renderers = const <ChatToolCallRendererKey, ChatToolCallRenderer>{},
Implementation
factory ChatToolCallRendererRegistry.fromToolkits(
Iterable<Toolkit> toolkits, {
String? namespace,
Map<ChatToolCallRendererKey, ChatToolCallRenderer> renderers = const <ChatToolCallRendererKey, ChatToolCallRenderer>{},
}) {
final normalizedNamespace = namespace?.trim();
final registrations = <ChatToolCallRendererKey, ChatToolCallRenderer>{};
for (final toolkit in toolkits) {
for (final tool in toolkit.tools) {
if (tool is! WidgetTool) {
continue;
}
final widgetTool = tool as WidgetTool;
registrations[ChatToolCallRendererKey(
namespace: normalizedNamespace == null || normalizedNamespace.isEmpty ? null : normalizedNamespace,
toolkit: toolkit.name,
tool: tool.name,
)] = _WidgetToolCallRenderer(
widgetTool.render,
);
}
}
registrations.addAll(renderers);
return ChatToolCallRendererRegistry(renderers: registrations);
}