toYaml method
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');
if (allowedTools.isEmpty) {
buffer.write('allowedTools: []\n');
} else {
buffer.write('allowedTools:\n');
for (final tool in allowedTools) {
buffer.write(' - $tool\n');
}
}
if (promptOverrides.isNotEmpty) {
// JSON-quoted values are valid yaml scalars and keep inline multi-line
// prompt text round-trippable (same convention as the ttsr section).
buffer.write('prompts:\n');
for (final entry in promptOverrides.entries) {
buffer.write(' ${entry.key}: ${jsonEncode(entry.value)}\n');
}
}
final roles = modelRoles;
if (roles != null) buffer.write(roles.toYaml());
final ttsrConfig = ttsr;
if (ttsrConfig != null) buffer.write(ttsrConfig.toYaml());
return buffer.toString();
}