Skip to content

Commit 2b3adb5

Browse files
committed
Consolidate tool configuration retrieval into a unified method in ModelProvidersManager
1 parent e3ae12c commit 2b3adb5

24 files changed

Lines changed: 63 additions & 281 deletions

apps/editor/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "gemini-coder",
33
"displayName": "Code Web Chat",
44
"description": "Fast AI coding with static context (CWC)",
5-
"version": "1.904.0",
5+
"version": "1.905.0",
66
"scripts": {
77
"build": "npx vsce package --no-dependencies",
88
"vscode:prepublish": "rimraf out && npm run compile",

apps/editor/src/commands/code-at-cursor-command/utils/get-code-at-cursor-config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export const get_code_at_cursor_config = async (params: {
1818
panel_provider?: PanelProvider
1919
}): Promise<{ provider: any; config: any } | undefined> => {
2020
const code_at_cursor_configs =
21-
await params.api_providers_manager.get_code_completions_tool_configs()
21+
await params.api_providers_manager.get_tool_configs()
2222

2323
if (code_at_cursor_configs.length == 0) {
2424
vscode.commands.executeCommand('codeWebChat.settings')

apps/editor/src/commands/find-relevant-files-command/find-relevant-files-command.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,7 @@ export const find_relevant_files_command = (
7676
const api_providers_manager = new ModelProvidersManager(
7777
extension_context
7878
)
79-
const configs =
80-
await api_providers_manager.get_find_relevant_files_tool_configs()
79+
const configs = await api_providers_manager.get_tool_configs()
8180

8281
if (configs.length === 0) {
8382
vscode.commands.executeCommand('codeWebChat.settings')

apps/editor/src/commands/generate-commit-message-command/utils/get-commit-message-config.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ export const get_commit_message_config = async (
3838
: await api_providers_manager.get_default_commit_messages_config()
3939

4040
if (!commit_message_config) {
41-
const configs =
42-
await api_providers_manager.get_commit_messages_tool_configs()
41+
const configs = await api_providers_manager.get_tool_configs()
4342

4443
if (configs.length == 0) {
4544
vscode.commands.executeCommand('codeWebChat.settings')

apps/editor/src/services/model-providers-manager.ts

Lines changed: 4 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,6 @@ export const get_tool_config_id = (config: ToolConfig): string => {
2727
.join(':')
2828
}
2929

30-
export type CodeCompletionsConfigs = ToolConfig[]
31-
export type EditContextConfigs = ToolConfig[]
32-
export type IntelligentUpdateConfigs = ToolConfig[]
33-
export type CommitMessagesConfigs = ToolConfig[]
34-
export type FindRelevantFilesConfigs = ToolConfig[]
35-
export type VoiceInputConfigs = ToolConfig[]
36-
3730
export class ModelProvidersManager {
3831
private _providers: Provider[] = []
3932
private _load_promise: Promise<void>
@@ -126,7 +119,8 @@ export class ModelProvidersManager {
126119
return config
127120
}
128121

129-
private _get_tool_configs_from_settings(): ToolConfig[] {
122+
public async get_tool_configs(): Promise<ToolConfig[]> {
123+
await this._load_promise
130124
const config = vscode.workspace.getConfiguration('codeWebChat')
131125
const settings_configs = config.get<any[]>('configurations', [])
132126

@@ -146,7 +140,7 @@ export class ModelProvidersManager {
146140
)
147141
}
148142

149-
private async _save_tool_configs_to_settings(configs: ToolConfig[]) {
143+
public async save_tool_configs(configs: ToolConfig[]) {
150144
const config = vscode.workspace.getConfiguration('codeWebChat')
151145
const old_settings_configs = config.get<any[]>('configurations', [])
152146

@@ -243,11 +237,6 @@ export class ModelProvidersManager {
243237
)
244238
}
245239

246-
public async get_code_completions_tool_configs(): Promise<CodeCompletionsConfigs> {
247-
await this._load_promise
248-
return this._get_tool_configs_from_settings()
249-
}
250-
251240
public async get_default_code_completions_config(): Promise<
252241
ToolConfig | undefined
253242
> {
@@ -264,26 +253,6 @@ export class ModelProvidersManager {
264253
)
265254
}
266255

267-
public async save_code_completions_tool_configs(
268-
configs: CodeCompletionsConfigs
269-
) {
270-
await this._save_tool_configs_to_settings(configs)
271-
}
272-
273-
public async get_edit_context_tool_configs(): Promise<EditContextConfigs> {
274-
await this._load_promise
275-
return this._get_tool_configs_from_settings()
276-
}
277-
278-
public async save_edit_context_tool_configs(configs: EditContextConfigs) {
279-
await this._save_tool_configs_to_settings(configs)
280-
}
281-
282-
public async get_commit_messages_tool_configs(): Promise<CommitMessagesConfigs> {
283-
await this._load_promise
284-
return this._get_tool_configs_from_settings()
285-
}
286-
287256
public async get_default_commit_messages_config(): Promise<
288257
ToolConfig | undefined
289258
> {
@@ -300,17 +269,6 @@ export class ModelProvidersManager {
300269
)
301270
}
302271

303-
public async save_commit_messages_tool_configs(
304-
configs: CommitMessagesConfigs
305-
) {
306-
await this._save_tool_configs_to_settings(configs)
307-
}
308-
309-
public async get_intelligent_update_tool_configs(): Promise<IntelligentUpdateConfigs> {
310-
await this._load_promise
311-
return this._get_tool_configs_from_settings()
312-
}
313-
314272
public async get_default_intelligent_update_config(): Promise<
315273
ToolConfig | undefined
316274
> {
@@ -329,17 +287,6 @@ export class ModelProvidersManager {
329287
)
330288
}
331289

332-
public async save_intelligent_update_tool_configs(
333-
configs: IntelligentUpdateConfigs
334-
) {
335-
await this._save_tool_configs_to_settings(configs)
336-
}
337-
338-
public async get_find_relevant_files_tool_configs(): Promise<FindRelevantFilesConfigs> {
339-
await this._load_promise
340-
return this._get_tool_configs_from_settings()
341-
}
342-
343290
public async get_default_find_relevant_files_config(): Promise<
344291
ToolConfig | undefined
345292
> {
@@ -358,17 +305,6 @@ export class ModelProvidersManager {
358305
)
359306
}
360307

361-
public async save_find_relevant_files_tool_configs(
362-
configs: FindRelevantFilesConfigs
363-
) {
364-
await this._save_tool_configs_to_settings(configs)
365-
}
366-
367-
public async get_voice_input_tool_configs(): Promise<VoiceInputConfigs> {
368-
await this._load_promise
369-
return this._get_tool_configs_from_settings()
370-
}
371-
372308
public async get_default_voice_input_config(): Promise<
373309
ToolConfig | undefined
374310
> {
@@ -383,10 +319,6 @@ export class ModelProvidersManager {
383319
)
384320
}
385321

386-
public async save_voice_input_tool_configs(configs: VoiceInputConfigs) {
387-
await this._save_tool_configs_to_settings(configs)
388-
}
389-
390322
public async update_provider_name_in_configs(params: {
391323
old_name: string
392324
new_name: string
@@ -396,7 +328,7 @@ export class ModelProvidersManager {
396328

397329
const configs = config.get<{ providerName: string }[]>('configurations', [])
398330
const updated_configs = configs.map((c) => {
399-
if (c.providerName === old_name) {
331+
if (c.providerName == old_name) {
400332
return { ...c, providerName: new_name }
401333
}
402334
return c

apps/editor/src/utils/intelligent-update-utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export const get_intelligent_update_config = async (
1919
context: vscode.ExtensionContext
2020
): Promise<{ provider: any; config: ToolConfig } | undefined> => {
2121
const intelligent_update_configs =
22-
await api_providers_manager.get_intelligent_update_tool_configs()
22+
await api_providers_manager.get_tool_configs()
2323

2424
if (intelligent_update_configs.length == 0) {
2525
vscode.commands.executeCommand('codeWebChat.settings')

apps/editor/src/views/panel/backend/message-handlers/handle-code-at-cursor.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ const get_code_at_cursor_config = async (
2525
config_id?: string
2626
): Promise<{ provider: any; config: any } | undefined> => {
2727
const code_completions_configs =
28-
await api_providers_manager.get_code_completions_tool_configs()
28+
await api_providers_manager.get_tool_configs()
2929

3030
if (code_completions_configs.length == 0) {
3131
vscode.commands.executeCommand('codeWebChat.settings')

apps/editor/src/views/panel/backend/message-handlers/handle-delete-configuration.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ export const handle_delete_configuration = async (
77
): Promise<void> => {
88
await delete_configuration({
99
context: provider.context,
10-
configuration_id: message.configuration_id,
11-
type: message.api_prompt_type
10+
configuration_id: message.configuration_id
1211
})
1312
}

apps/editor/src/views/panel/backend/message-handlers/handle-edit-context.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ const get_edit_context_config = async (params: {
3535
config_id?: string
3636
}): Promise<{ provider: Provider; config: ToolConfig } | undefined> => {
3737
const edit_context_configs =
38-
await params.api_providers_manager.get_edit_context_tool_configs()
38+
await params.api_providers_manager.get_tool_configs()
3939

4040
if (edit_context_configs.length == 0) {
4141
vscode.commands.executeCommand('codeWebChat.settings')

apps/editor/src/views/panel/backend/message-handlers/handle-find-relevant-files.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const get_find_relevant_files_config = async (params: {
3131
config_id?: string
3232
}): Promise<{ provider: Provider; config: ToolConfig } | undefined> => {
3333
const find_relevant_files_configs =
34-
await params.api_providers_manager.get_find_relevant_files_tool_configs()
34+
await params.api_providers_manager.get_tool_configs()
3535

3636
if (find_relevant_files_configs.length == 0) {
3737
vscode.commands.executeCommand('codeWebChat.settings')

0 commit comments

Comments
 (0)