GlobalConfig constructor

GlobalConfig({
  1. String? apiKeyHelper,
  2. Map<String, ProjectConfig>? projects,
  3. int numStartups = 0,
  4. InstallMethod? installMethod,
  5. bool? autoUpdates,
  6. bool? autoUpdatesProtectedForNative,
  7. int? doctorShownAtSession,
  8. String? userID,
  9. ThemeSetting theme = ThemeSetting.dark,
  10. bool? hasCompletedOnboarding,
  11. String? lastOnboardingVersion,
  12. String? lastReleaseNotesSeen,
  13. int? changelogLastFetched,
  14. Map<String, dynamic>? mcpServers,
  15. List<String>? neomageAiMcpEverConnected,
  16. NotificationChannel preferredNotifChannel = NotificationChannel.auto,
  17. String? customNotifyCommand,
  18. bool verbose = false,
  19. Map<String, dynamic>? customApiKeyResponses,
  20. String? primaryApiKey,
  21. bool? hasAcknowledgedCostThreshold,
  22. bool? hasSeenUndercoverAutoNotice,
  23. AccountInfo? oauthAccount,
  24. EditorMode editorMode = EditorMode.normal,
  25. bool? bypassPermissionsModeAccepted,
  26. bool? hasUsedBackslashReturn,
  27. bool autoCompactEnabled = true,
  28. bool showTurnDuration = true,
  29. Map<String, String> env = const {},
  30. bool hasSeenTasksHint = false,
  31. bool? hasUsedStash,
  32. bool? hasUsedBackgroundTask,
  33. int? queuedCommandUpHintCount,
  34. DiffTool diffTool = DiffTool.auto,
  35. Map<String, int> tipsHistory = const {},
  36. int memoryUsageCount = 0,
  37. int promptQueueUseCount = 0,
  38. int btwUseCount = 0,
  39. bool todoFeatureEnabled = true,
  40. bool showExpandedTodos = false,
  41. bool? showSpinnerTree,
  42. String? firstStartTime,
  43. int messageIdleNotifThresholdMs = 60000,
  44. bool autoConnectIde = false,
  45. bool autoInstallIdeExtension = true,
  46. bool fileCheckpointingEnabled = true,
  47. bool terminalProgressBarEnabled = true,
  48. bool? showStatusInTerminalTab,
  49. bool? taskCompleteNotifEnabled,
  50. bool? inputNeededNotifEnabled,
  51. bool? agentPushNotifEnabled,
  52. Map<String, bool> cachedStatsigGates = const {},
  53. Map<String, dynamic>? cachedDynamicConfigs,
  54. Map<String, dynamic>? cachedGrowthBookFeatures,
  55. Map<String, dynamic>? growthBookOverrides,
  56. bool respectGitignore = true,
  57. bool copyFullResponse = false,
  58. bool? copyOnSelect,
  59. Map<String, List<String>>? githubRepoPaths,
  60. String? deepLinkTerminal,
  61. Map<String, SkillUsageEntry>? skillUsage,
  62. bool? remoteControlAtStartup,
  63. String? cachedExtraUsageDisabledReason,
  64. bool? speculationEnabled,
  65. Map<String, dynamic>? clientDataCache,
  66. int? migrationVersion,
  67. FeedbackSurveyState? feedbackSurveyState,
  68. bool? transcriptShareDismissed,
  69. ChromeExtensionPairing? chromeExtension,
  70. NeomageHints? neomageHints,
  71. bool? permissionExplainerEnabled,
  72. String? teammateMode,
  73. String? teammateDefaultModel,
  74. bool? prStatusFooterEnabled,
  75. bool? remoteDialogSeen,
  76. int? lastPlanModeUse,
  77. String? neomageFirstTokenDate,
})

Implementation

GlobalConfig({
  this.apiKeyHelper,
  this.projects,
  this.numStartups = 0,
  this.installMethod,
  this.autoUpdates,
  this.autoUpdatesProtectedForNative,
  this.doctorShownAtSession,
  this.userID,
  this.theme = ThemeSetting.dark,
  this.hasCompletedOnboarding,
  this.lastOnboardingVersion,
  this.lastReleaseNotesSeen,
  this.changelogLastFetched,
  this.mcpServers,
  this.neomageAiMcpEverConnected,
  this.preferredNotifChannel = NotificationChannel.auto,
  this.customNotifyCommand,
  this.verbose = false,
  this.customApiKeyResponses,
  this.primaryApiKey,
  this.hasAcknowledgedCostThreshold,
  this.hasSeenUndercoverAutoNotice,
  this.oauthAccount,
  this.editorMode = EditorMode.normal,
  this.bypassPermissionsModeAccepted,
  this.hasUsedBackslashReturn,
  this.autoCompactEnabled = true,
  this.showTurnDuration = true,
  this.env = const {},
  this.hasSeenTasksHint = false,
  this.hasUsedStash,
  this.hasUsedBackgroundTask,
  this.queuedCommandUpHintCount,
  this.diffTool = DiffTool.auto,
  this.tipsHistory = const {},
  this.memoryUsageCount = 0,
  this.promptQueueUseCount = 0,
  this.btwUseCount = 0,
  this.todoFeatureEnabled = true,
  this.showExpandedTodos = false,
  this.showSpinnerTree,
  this.firstStartTime,
  this.messageIdleNotifThresholdMs = 60000,
  this.autoConnectIde = false,
  this.autoInstallIdeExtension = true,
  this.fileCheckpointingEnabled = true,
  this.terminalProgressBarEnabled = true,
  this.showStatusInTerminalTab,
  this.taskCompleteNotifEnabled,
  this.inputNeededNotifEnabled,
  this.agentPushNotifEnabled,
  this.cachedStatsigGates = const {},
  this.cachedDynamicConfigs,
  this.cachedGrowthBookFeatures,
  this.growthBookOverrides,
  this.respectGitignore = true,
  this.copyFullResponse = false,
  this.copyOnSelect,
  this.githubRepoPaths,
  this.deepLinkTerminal,
  this.skillUsage,
  this.remoteControlAtStartup,
  this.cachedExtraUsageDisabledReason,
  this.speculationEnabled,
  this.clientDataCache,
  this.migrationVersion,
  this.feedbackSurveyState,
  this.transcriptShareDismissed,
  this.chromeExtension,
  this.neomageHints,
  this.permissionExplainerEnabled,
  this.teammateMode,
  this.teammateDefaultModel,
  this.prStatusFooterEnabled,
  this.remoteDialogSeen,
  this.lastPlanModeUse,
  this.neomageFirstTokenDate,
});