generateToolSpecRegistry function
Generates the static const _codeModeToolSpecs declaration.
Implementation
String generateToolSpecRegistry(List<Map<String, dynamic>> codeModeTools) {
final entries = codeModeTools
.map((t) {
final name = t['name'] as String;
final desc = escapeDartString(
t['description'] as String? ?? 'Tool $name',
);
final params = t['parameters'] as List<Map<String, dynamic>>? ?? [];
final paramEntries = params
.map((p) {
final paramName = p['name'] as String;
final paramType = jsType(p['type'] as String);
final required = p['isOptional'] != true;
return "<String, dynamic>{'name': '$paramName', 'type': '$paramType', 'required': $required}";
})
.join(', ');
return "<String, dynamic>{'name': '$name', 'description': '$desc', 'parameters': <Map<String, dynamic>>[$paramEntries]}";
})
.join(', ');
return ' static const _codeModeToolSpecs = <Map<String, dynamic>>[$entries];';
}