mergeConfig method

Map<String, dynamic> mergeConfig(
  1. Map<String, dynamic> existing,
  2. Map<String, dynamic> generated
)

Merge new config with existing config

Implementation

Map<String, dynamic> mergeConfig(
  Map<String, dynamic> existing,
  Map<String, dynamic> generated,
) {
  final key = mcpConfigKey;
  final existingServersRaw = existing[key] as Map? ?? {};
  final generatedServersRaw = generated[key] as Map? ?? {};

  // Convert to Map<String, dynamic>
  final existingServers = existingServersRaw.isEmpty
      ? <String, dynamic>{}
      : Map<String, dynamic>.from(
          existingServersRaw.cast<String, dynamic>(),
        );
  final generatedServers = generatedServersRaw.isEmpty
      ? <String, dynamic>{}
      : Map<String, dynamic>.from(
          generatedServersRaw.cast<String, dynamic>(),
        );

  final mergedServers = Map<String, dynamic>.from(existingServers);
  mergedServers.addAll(generatedServers);

  return {
    ...existing,
    key: mergedServers,
  };
}