toYaml method
Serializes a tools: block: flat keys sorted, mcp:<server> keys
rendered as a nested mcp: map. An empty config serializes to ''.
Implementation
String toYaml() {
if (isEmpty) return '';
final buffer = StringBuffer('tools:');
for (final key in _flatKeys.toList()..sort()) {
buffer.write('\n $key: ${tools[key]}');
}
final servers =
tools.keys
.where((key) => key.startsWith(_mcpPrefix))
.map((key) => key.substring(_mcpPrefix.length))
.toList()
..sort();
if (servers.isNotEmpty) {
buffer.write('\n mcp:');
for (final server in servers) {
buffer.write('\n $server: ${tools['$_mcpPrefix$server']}');
}
}
return buffer.toString();
}