setAiTools static method
setAiTools
Set the AI tools for the Gleap widget
Available Platforms
Web, Android, iOS
Implementation
static Future<void> setAiTools({required List<AITool> tools}) async {
if (!kIsWeb && !io.Platform.isAndroid && !io.Platform.isIOS) {
debugPrint(
'setAiTools is not available for current operating system',
);
return;
}
final List<Map<String, dynamic>> toolsList;
if (kIsWeb) {
toolsList = tools.map((AITool tool) {
final toolJson = tool.toJson();
final parameters = toolJson['parameters'].map((param) {
final Map<String, dynamic> paramAsMap =
Map<String, dynamic>.from(param);
if (paramAsMap.containsKey('enums')) {
// Rename 'enums' to 'enum' for web
if (paramAsMap['enums'] != null) {
paramAsMap['enum'] = paramAsMap['enums'];
}
paramAsMap.remove('enums');
}
return paramAsMap;
}).toList();
toolJson['parameters'] = parameters;
return toolJson;
}).toList();
} else {
toolsList = tools.map((AITool tool) => tool.toJson()).toList();
}
await _channel.invokeMethod('setAiTools', {
'tools': toolsList,
});
}