From ac4200bd0c39e2decfa59556bd50636fc114d408 Mon Sep 17 00:00:00 2001 From: Carl-Robert Linnupuu Date: Wed, 8 Oct 2025 13:26:07 +0100 Subject: [PATCH] refactor: change proxai default autocomplete model --- .../ee/carlrobert/codegpt/FileWatcher.kt | 2 -- .../codegpt/settings/models/ModelRegistry.kt | 16 ++++++------- .../codegpt/settings/models/ModelSettings.kt | 23 ++++--------------- .../service/codegpt/CodeGPTServiceSettings.kt | 2 +- .../settings/models/ModelRegistryTest.kt | 4 ++-- .../testsupport/mixin/ShortcutsTestMixin.kt | 2 +- 6 files changed, 17 insertions(+), 32 deletions(-) diff --git a/src/main/kotlin/ee/carlrobert/codegpt/FileWatcher.kt b/src/main/kotlin/ee/carlrobert/codegpt/FileWatcher.kt index 5053de4e..24ff74e0 100644 --- a/src/main/kotlin/ee/carlrobert/codegpt/FileWatcher.kt +++ b/src/main/kotlin/ee/carlrobert/codegpt/FileWatcher.kt @@ -51,8 +51,6 @@ class FileWatcher : Disposable { Thread.currentThread().interrupt() } catch (e: Exception) { logger.error("Error in file watcher for path: $pathString", e) - } finally { - logger.error("File watch monitor thread stopped for path: $pathString") } } fileMonitors.add(monitor) diff --git a/src/main/kotlin/ee/carlrobert/codegpt/settings/models/ModelRegistry.kt b/src/main/kotlin/ee/carlrobert/codegpt/settings/models/ModelRegistry.kt index 87894c54..8452a30a 100644 --- a/src/main/kotlin/ee/carlrobert/codegpt/settings/models/ModelRegistry.kt +++ b/src/main/kotlin/ee/carlrobert/codegpt/settings/models/ModelRegistry.kt @@ -141,8 +141,8 @@ class ModelRegistry { ), FeatureType.CODE_COMPLETION to ModelSelection( ServiceType.PROXYAI, - QWEN_2_5_32B_CODE, - "Qwen 2.5 32B Code" + MERCURY_CODER, + "Mercury Coder" ), FeatureType.NEXT_EDIT to ModelSelection( ServiceType.PROXYAI, @@ -170,8 +170,8 @@ class ModelRegistry { FeatureType.LOOKUP to ModelSelection(ServiceType.PROXYAI, QWEN3_CODER, "Qwen3 Coder"), FeatureType.CODE_COMPLETION to ModelSelection( ServiceType.PROXYAI, - QWEN_2_5_32B_CODE, - "Qwen 2.5 32B Code" + MERCURY_CODER, + "Mercury Coder" ), FeatureType.NEXT_EDIT to ModelSelection( ServiceType.PROXYAI, @@ -199,8 +199,8 @@ class ModelRegistry { FeatureType.LOOKUP to ModelSelection(ServiceType.PROXYAI, GPT_5, "GPT-5"), FeatureType.CODE_COMPLETION to ModelSelection( ServiceType.PROXYAI, - QWEN_2_5_32B_CODE, - "Qwen 2.5 32B Code" + MERCURY_CODER, + "Mercury Coder" ), FeatureType.NEXT_EDIT to ModelSelection( ServiceType.PROXYAI, @@ -234,8 +234,8 @@ class ModelRegistry { FeatureType.LOOKUP to ModelSelection(ServiceType.PROXYAI, GPT_5_MINI, "GPT-5 Mini"), FeatureType.CODE_COMPLETION to ModelSelection( ServiceType.PROXYAI, - QWEN_2_5_32B_CODE, - "Qwen 2.5 32B Code" + MERCURY_CODER, + "Mercury Coder" ), FeatureType.NEXT_EDIT to ModelSelection(ServiceType.PROXYAI, MERCURY_CODER, "Mercury Coder") ) diff --git a/src/main/kotlin/ee/carlrobert/codegpt/settings/models/ModelSettings.kt b/src/main/kotlin/ee/carlrobert/codegpt/settings/models/ModelSettings.kt index 0d862cb0..c7c3cf2b 100644 --- a/src/main/kotlin/ee/carlrobert/codegpt/settings/models/ModelSettings.kt +++ b/src/main/kotlin/ee/carlrobert/codegpt/settings/models/ModelSettings.kt @@ -4,7 +4,6 @@ import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.components.* import ee.carlrobert.codegpt.settings.service.FeatureType import ee.carlrobert.codegpt.settings.service.ModelChangeNotifier -import ee.carlrobert.codegpt.settings.service.ModelSelectionService import ee.carlrobert.codegpt.settings.service.ServiceType import ee.carlrobert.codegpt.settings.service.ServiceType.PROXYAI import ee.carlrobert.codegpt.settings.service.custom.CustomServicesSettings @@ -63,8 +62,7 @@ class ModelSettings : SimplePersistentStateComponent(ModelSe migrateCustomOpenAIModelCodesToIds() migrateMissingProviderInformation() migrateEditCodeModel() - migrateProxyAIApplyModel() - migrateProxyAIAutocompleteAndNextEditModels() + migrateProxyAIModels() notifyIfChanged(oldState, this.state) } @@ -148,21 +146,10 @@ class ModelSettings : SimplePersistentStateComponent(ModelSe } } - private fun migrateProxyAIApplyModel() { - val modelSelection = - service().getModelSelectionForFeature(FeatureType.AUTO_APPLY) - if (modelSelection.provider == PROXYAI - && service().getProxyAIApplyModels().none { it == modelSelection } - ) { - setModelWithProvider(FeatureType.AUTO_APPLY, ModelRegistry.MERCURY_CODER, PROXYAI) - } - } - - private fun migrateProxyAIAutocompleteAndNextEditModels() { - val modelService = service() - listOf(FeatureType.CODE_COMPLETION, FeatureType.NEXT_EDIT).forEach { - val modelSelection = modelService.getModelSelectionForFeature(it) - if (modelSelection.provider == PROXYAI && modelSelection.model != ModelRegistry.MERCURY_CODER) { + private fun migrateProxyAIModels() { + listOf(FeatureType.AUTO_APPLY, FeatureType.CODE_COMPLETION, FeatureType.NEXT_EDIT).forEach { + val modelSelection = state.getModelSelection(it) + if (modelSelection?.provider == PROXYAI && modelSelection.model != ModelRegistry.MERCURY_CODER) { setModelWithProvider(it, ModelRegistry.MERCURY_CODER, PROXYAI) } } diff --git a/src/main/kotlin/ee/carlrobert/codegpt/settings/service/codegpt/CodeGPTServiceSettings.kt b/src/main/kotlin/ee/carlrobert/codegpt/settings/service/codegpt/CodeGPTServiceSettings.kt index 65c8a091..c16beddd 100644 --- a/src/main/kotlin/ee/carlrobert/codegpt/settings/service/codegpt/CodeGPTServiceSettings.kt +++ b/src/main/kotlin/ee/carlrobert/codegpt/settings/service/codegpt/CodeGPTServiceSettings.kt @@ -23,5 +23,5 @@ class CodeGPTServiceChatCompletionSettingsState : BaseState() { class CodeGPTServiceCodeCompletionSettingsState : BaseState() { var codeCompletionsEnabled by property(true) - var model by string(ModelRegistry.QWEN_2_5_32B_CODE) + var model by string(ModelRegistry.MERCURY_CODER) } diff --git a/src/test/kotlin/ee/carlrobert/codegpt/settings/models/ModelRegistryTest.kt b/src/test/kotlin/ee/carlrobert/codegpt/settings/models/ModelRegistryTest.kt index 49f5cd71..65f47e87 100644 --- a/src/test/kotlin/ee/carlrobert/codegpt/settings/models/ModelRegistryTest.kt +++ b/src/test/kotlin/ee/carlrobert/codegpt/settings/models/ModelRegistryTest.kt @@ -51,8 +51,8 @@ class ModelRegistryTest : IntegrationTest() { val result = modelRegistry.getDefaultModelForFeature(FeatureType.CODE_COMPLETION, PricingPlan.INDIVIDUAL) assertThat(result.provider).isEqualTo(ServiceType.PROXYAI) - assertThat(result.model).isEqualTo("qwen-2.5-32b-code") - assertThat(result.displayName).isEqualTo("Qwen 2.5 32B Code") + assertThat(result.model).isEqualTo("mercury-coder") + assertThat(result.displayName).isEqualTo("Mercury Coder") } fun `test getDefaultModelForFeature with next edit returns zeta model`() { diff --git a/src/test/kotlin/testsupport/mixin/ShortcutsTestMixin.kt b/src/test/kotlin/testsupport/mixin/ShortcutsTestMixin.kt index 031298f5..3f74bd69 100644 --- a/src/test/kotlin/testsupport/mixin/ShortcutsTestMixin.kt +++ b/src/test/kotlin/testsupport/mixin/ShortcutsTestMixin.kt @@ -21,7 +21,7 @@ interface ShortcutsTestMixin { setCredential(CodeGptApiKey, "TEST_API_KEY") val modelSettings = service() modelSettings.setModel(FeatureType.CHAT, "gpt-5-mini", ServiceType.PROXYAI) - modelSettings.setModel(FeatureType.CODE_COMPLETION, "qwen-2.5-32b-code", ServiceType.PROXYAI) + modelSettings.setModel(FeatureType.CODE_COMPLETION, "mercury-coder", ServiceType.PROXYAI) service().state.run { codeCompletionSettings.codeCompletionsEnabled = true }