toJson method
Genera el JSON de contexto consumido por el servidor MCP externo.
Formato:
{
"screen": "LoginScreen",
"route": "/login",
"timestamp": "...",
"widgets": [{ "key": "auth.login_button", "type": "ElevatedButton", ... }]
}
Si screen es null, intenta inferirlo del primer widget que tenga screen definido.
Implementation
Map<String, dynamic> toJson({String? screen, String? route}) {
final detectedScreen = screen ?? _detectCurrentScreen();
return {
'screen': detectedScreen,
'route': route ?? '/${detectedScreen.toLowerCase()}',
'timestamp': DateTime.now().toUtc().toIso8601String(),
'widgets': _widgets.values.map((e) => e.metadata.toJson()).toList(),
};
}