@@ -2,118 +2,105 @@ import { ipcMain } from "electron";
22import { ConfigManager , type UserModelConfigs , type ProviderType } from "../utils/config-manager" ;
33import { windowContextManager } from "../services/window-context-manager" ;
44import { store } from "../utils/store" ;
5+ import { successResponse , errorResponse } from "../utils/ipc-response" ;
56
6- /**
7- * Register all configuration-related IPC handlers
8- */
97export function registerConfigHandlers ( ) {
10- // Get user model configurations
118 ipcMain . handle ( 'config:get-user-configs' , async ( ) => {
129 try {
1310 const configManager = ConfigManager . getInstance ( ) ;
14- return configManager . getUserModelConfigs ( ) ;
11+ return successResponse ( { configs : configManager . getUserModelConfigs ( ) } ) ;
1512 } catch ( error : any ) {
16- console . error ( 'IPC config: get-user-configs error:' , error ) ;
17- throw error ;
13+ console . error ( '[ConfigHandlers] get-user-configs error:' , error ) ;
14+ return errorResponse ( error ) ;
1815 }
1916 } ) ;
2017
21- // Save user model configurations
2218 ipcMain . handle ( 'config:save-user-configs' , async ( _event , configs : UserModelConfigs ) => {
2319 try {
2420 const configManager = ConfigManager . getInstance ( ) ;
2521 configManager . saveUserModelConfigs ( configs ) ;
2622
27- // Reload EkoService configuration for all windows
2823 const contexts = windowContextManager . getAllContexts ( ) ;
2924 contexts . forEach ( context => {
3025 if ( context . ekoService ) {
3126 context . ekoService . reloadConfig ( ) ;
3227 }
3328 } ) ;
3429
35- return { success : true } ;
30+ return successResponse ( ) ;
3631 } catch ( error : any ) {
37- console . error ( 'IPC config: save-user-configs error:' , error ) ;
38- throw error ;
32+ console . error ( '[ConfigHandlers] save-user-configs error:' , error ) ;
33+ return errorResponse ( error ) ;
3934 }
4035 } ) ;
4136
42- // Get model configuration for specific provider
4337 ipcMain . handle ( 'config:get-model-config' , async ( _event , provider : ProviderType ) => {
4438 try {
4539 const configManager = ConfigManager . getInstance ( ) ;
46- return configManager . getModelConfig ( provider ) ;
40+ return successResponse ( { config : configManager . getModelConfig ( provider ) } ) ;
4741 } catch ( error : any ) {
48- console . error ( 'IPC config: get-model-config error:' , error ) ;
49- throw error ;
42+ console . error ( '[ConfigHandlers] get-model-config error:' , error ) ;
43+ return errorResponse ( error ) ;
5044 }
5145 } ) ;
5246
53- // Get API key source (user/env/none)
5447 ipcMain . handle ( 'config:get-api-key-source' , async ( _event , provider : ProviderType ) => {
5548 try {
5649 const configManager = ConfigManager . getInstance ( ) ;
57- return configManager . getApiKeySource ( provider ) ;
50+ return successResponse ( { source : configManager . getApiKeySource ( provider ) } ) ;
5851 } catch ( error : any ) {
59- console . error ( 'IPC config: get-api-key-source error:' , error ) ;
60- throw error ;
52+ console . error ( '[ConfigHandlers] get-api-key-source error:' , error ) ;
53+ return errorResponse ( error ) ;
6154 }
6255 } ) ;
6356
64- // Get selected provider
6557 ipcMain . handle ( 'config:get-selected-provider' , async ( ) => {
6658 try {
6759 const configManager = ConfigManager . getInstance ( ) ;
68- return configManager . getSelectedProvider ( ) ;
60+ return successResponse ( { provider : configManager . getSelectedProvider ( ) } ) ;
6961 } catch ( error : any ) {
70- console . error ( 'IPC config: get-selected-provider error:' , error ) ;
71- throw error ;
62+ console . error ( '[ConfigHandlers] get-selected-provider error:' , error ) ;
63+ return errorResponse ( error ) ;
7264 }
7365 } ) ;
7466
75- // Set selected provider
7667 ipcMain . handle ( 'config:set-selected-provider' , async ( _event , provider : ProviderType ) => {
7768 try {
7869 const configManager = ConfigManager . getInstance ( ) ;
7970 configManager . setSelectedProvider ( provider ) ;
8071
81- // Reload EkoService configuration for all windows
8272 const contexts = windowContextManager . getAllContexts ( ) ;
8373 contexts . forEach ( context => {
8474 if ( context . ekoService ) {
8575 context . ekoService . reloadConfig ( ) ;
8676 }
8777 } ) ;
8878
89- return { success : true } ;
79+ return successResponse ( ) ;
9080 } catch ( error : any ) {
91- console . error ( 'IPC config: set-selected-provider error:' , error ) ;
92- throw error ;
81+ console . error ( '[ConfigHandlers] set-selected-provider error:' , error ) ;
82+ return errorResponse ( error ) ;
9383 }
9484 } ) ;
9585
96- // Get saved language preference
9786 ipcMain . handle ( 'config:get-language' , async ( ) => {
9887 try {
9988 const language = store . get ( 'app.language' , 'en-US' ) ;
100- return language ;
89+ return successResponse ( { language } ) ;
10190 } catch ( error : any ) {
102- console . error ( 'IPC config: get-language error:' , error ) ;
103- return 'en-US' ;
91+ console . error ( '[ConfigHandlers] get-language error:' , error ) ;
92+ return successResponse ( { language : 'en-US' } ) ;
10493 }
10594 } ) ;
10695
107- // Handle language change notification from renderer
10896 ipcMain . handle ( 'language-changed' , async ( _event , language : string ) => {
10997 try {
110- // Store language preference in electron-store
11198 store . set ( 'app.language' , language ) ;
112- console . log ( `[IPC ] Language changed to: ${ language } ` ) ;
113- return { success : true } ;
99+ console . log ( `[ConfigHandlers ] Language changed to: ${ language } ` ) ;
100+ return successResponse ( ) ;
114101 } catch ( error : any ) {
115- console . error ( 'IPC language-changed error:' , error ) ;
116- throw error ;
102+ console . error ( '[ConfigHandlers] language-changed error:' , error ) ;
103+ return errorResponse ( error ) ;
117104 }
118105 } ) ;
119106
0 commit comments