importFromNeomage method
Attempt to migrate settings from an existing Neomage installation at
~/.neomage/.
This reads ~/.neomage/settings.json (if present) and maps known keys
into the Neomage configuration format.
Implementation
Future<bool> importFromNeomage() async {
final home =
Platform.environment['HOME'] ?? Platform.environment['USERPROFILE'];
if (home == null) return false;
final settingsFile = File('$home/.neomage/settings.json');
if (!await settingsFile.exists()) return false;
try {
final content = await settingsFile.readAsString();
final map = json.decode(content) as Map<String, dynamic>;
// Map Neomage keys to Neomage keys where possible.
const mapping = <String, String>{
'model': ConfigKeys.model,
'apiKey': ConfigKeys.apiKey,
'permissions': ConfigKeys.permissionMode,
'theme': ConfigKeys.theme,
'telemetry': ConfigKeys.telemetryEnabled,
'maxTokens': ConfigKeys.maxTokens,
'systemPrompt': ConfigKeys.systemPrompt,
'allowedTools': ConfigKeys.allowedTools,
'mcpServers': ConfigKeys.mcpServers,
};
for (final entry in mapping.entries) {
if (map.containsKey(entry.key)) {
_store[ConfigScope.global]![entry.value] = map[entry.key];
_sources[ConfigScope.global]![entry.value] = ConfigSource.file;
}
}
return true;
} catch (_) {
return false;
}
}