toJson method
Converts this configuration to JSON-compatible values.
Implementation
Map<String, Object?> toJson() {
return {
if (systemMessage case final systemMessage?)
'systemMessage': systemMessage.toJson(),
if (initialMessages.isNotEmpty)
'initialMessages': initialMessages
.map((message) => message.toJson())
.toList(),
if (tools.isNotEmpty)
'tools': tools.map((tool) => tool.getToolDescription()).toList(),
if (extraContext.isNotEmpty) 'extraContext': extraContext,
if (sessionConfig case final sessionConfig?)
'sessionConfig': sessionConfig.toJson(),
'automaticToolCalling': automaticToolCalling,
if (channels case final channels?)
'channels': channels.map((channel) => channel.toJson()).toList(),
'enableConstrainedDecoding': enableConstrainedDecoding,
};
}