1- import * as vscode from 'vscode'
21import { SettingsProvider } from '@/views/settings/backend/settings-provider'
3- import {
4- ModelProvidersManager ,
5- get_tool_config_id ,
6- ToolConfig
7- } from '@/services/model-providers-manager'
8- import { dictionary } from '@shared/constants/dictionary'
2+ import { delete_configuration } from '../../../utils/delete-configuration'
93
104export const handle_delete_configuration = async (
115 provider : SettingsProvider ,
@@ -17,92 +11,5 @@ export const handle_delete_configuration = async (
1711 | 'commit-messages'
1812 | 'prune-context'
1913) : Promise < void > => {
20- const providers_manager = new ModelProvidersManager ( provider . context )
21-
22- let get_configs : ( ) => Promise < ToolConfig [ ] >
23- let save_configs : ( configs : ToolConfig [ ] ) => Promise < void >
24- let get_default_config : ( ( ) => Promise < ToolConfig | undefined > ) | undefined
25- let set_default_config :
26- | ( ( config : ToolConfig | null ) => Promise < void > )
27- | undefined
28-
29- switch ( type ) {
30- case 'code-completions' :
31- get_configs = ( ) => providers_manager . get_code_completions_tool_configs ( )
32- save_configs = ( c ) =>
33- providers_manager . save_code_completions_tool_configs ( c )
34- get_default_config = ( ) =>
35- providers_manager . get_default_code_completions_config ( )
36- set_default_config = ( c ) =>
37- providers_manager . set_default_code_completions_config ( c )
38- break
39- case 'edit-context' :
40- get_configs = ( ) => providers_manager . get_edit_context_tool_configs ( )
41- save_configs = ( c ) => providers_manager . save_edit_context_tool_configs ( c )
42- break
43- case 'intelligent-update' :
44- get_configs = ( ) =>
45- providers_manager . get_intelligent_update_tool_configs ( )
46- save_configs = ( c ) =>
47- providers_manager . save_intelligent_update_tool_configs ( c )
48- get_default_config = ( ) =>
49- providers_manager . get_default_intelligent_update_config ( )
50- set_default_config = ( c ) =>
51- providers_manager . set_default_intelligent_update_config ( c )
52- break
53- case 'commit-messages' :
54- get_configs = ( ) => providers_manager . get_commit_messages_tool_configs ( )
55- save_configs = ( c ) =>
56- providers_manager . save_commit_messages_tool_configs ( c )
57- get_default_config = ( ) =>
58- providers_manager . get_default_commit_messages_config ( )
59- set_default_config = ( c ) =>
60- providers_manager . set_default_commit_messages_config ( c )
61- break
62- case 'prune-context' :
63- get_configs = ( ) => providers_manager . get_prune_context_tool_configs ( )
64- save_configs = ( c ) => providers_manager . save_prune_context_tool_configs ( c )
65- get_default_config = ( ) =>
66- providers_manager . get_default_prune_context_config ( )
67- set_default_config = ( c ) =>
68- providers_manager . set_default_prune_context_config ( c )
69- break
70- }
71-
72- const original_configs = await get_configs ( )
73- const config_to_delete = original_configs . find (
74- ( c ) => get_tool_config_id ( c ) === configuration_id
75- )
76- if ( ! config_to_delete ) return
77-
78- const confirmation = await vscode . window . showWarningMessage (
79- dictionary . warning_message . PLEASE_CONFIRM ,
80- {
81- modal : true ,
82- detail : dictionary . warning_message . CONFIRM_DELETE_CONFIGURATION (
83- config_to_delete . model ,
84- config_to_delete . provider_name
85- )
86- } ,
87- 'Delete'
88- )
89-
90- if ( confirmation != 'Delete' ) {
91- return
92- }
93-
94- const updated_configs = original_configs . filter (
95- ( c ) => get_tool_config_id ( c ) !== configuration_id
96- )
97- await save_configs ( updated_configs )
98-
99- if ( get_default_config && set_default_config ) {
100- const original_default_config = await get_default_config ( )
101- if (
102- original_default_config &&
103- get_tool_config_id ( original_default_config ) === configuration_id
104- ) {
105- await set_default_config ( null )
106- }
107- }
14+ await delete_configuration ( provider . context , configuration_id , type )
10815}
0 commit comments