toJson method
Implementation
Map<String, dynamic> toJson() {
return {
'type': 'function',
'function': {
'name': functionName,
'description': functionDescription,
'parameters': {
'type': 'object',
'properties': [
...parameters.map((parameter) {
return {
'type': parameter.parameterType.toJson(),
'description': parameter.parameterDescription,
if (parameter.allowedValues.isNotEmpty)
'enum': parameter.allowedValues,
};
}),
],
'required': parameters
.where((parameter) => parameter.isRequired)
.map((parameter) => parameter.parameterName)
.toList(),
},
}
};
}