toJson method

Map<String, Object?> toJson()

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,
  };
}