toYaml method

String toYaml()

Implementation

String toYaml() {
  final buffer = StringBuffer()
    ..write('provider: $providerKind\n')
    ..write('model: $modelId\n')
    ..write('baseUrl: $baseUrl\n')
    ..write('mode: $mode\n')
    ..write('approvalMode: $approvalMode\n')
    ..write(_allowedToolsYaml())
    ..write(_promptOverridesYaml());
  final roles = modelRoles;
  if (roles != null) buffer.write(roles.toYaml());
  final ttsrConfig = ttsr;
  if (ttsrConfig != null) buffer.write(ttsrConfig.toYaml());
  buffer.write(_customProvidersYaml());
  final modelsConfig = models;
  if (modelsConfig != null && !modelsConfig.isEmpty) {
    buffer.write(modelsConfig.toYaml());
  }
  final mcpConfig = mcp;
  if (mcpConfig != null) buffer.write(mcpConfig.toYaml());
  final timeouts = providerTimeouts;
  if (timeouts != null) {
    buffer.write('providerTimeouts:\n');
    final connect = timeouts.connect;
    if (connect != null) {
      buffer.write('  connectTimeoutMs: ${connect.inMilliseconds}\n');
    }
    final streamIdle = timeouts.streamIdle;
    if (streamIdle != null) {
      buffer.write('  streamIdleTimeoutMs: ${streamIdle.inMilliseconds}\n');
    }
  }
  return buffer.toString();
}