@@ -6,6 +6,7 @@ import * as vscode from "vscode"
66import { z } from "zod"
77
88import { globalSettingsSchema } from "../../schemas"
9+
910import { ProviderSettingsManager , providerProfilesSchema } from "./ProviderSettingsManager"
1011import { ContextProxy } from "./ContextProxy"
1112import { CustomModesManager } from "./CustomModesManager"
@@ -38,6 +39,7 @@ export const importSettings = async ({ providerSettingsManager, contextProxy, cu
3839
3940 try {
4041 const previousProviderProfiles = await providerSettingsManager . export ( )
42+
4143 const { providerProfiles : newProviderProfiles , globalSettings } = schema . parse (
4244 JSON . parse ( await fs . readFile ( uris [ 0 ] . fsPath , "utf-8" ) ) ,
4345 )
@@ -59,9 +61,20 @@ export const importSettings = async ({ providerSettingsManager, contextProxy, cu
5961 )
6062
6163 await providerSettingsManager . import ( newProviderProfiles )
62-
6364 await contextProxy . setValues ( globalSettings )
64- contextProxy . setValue ( "currentApiConfigName" , providerProfiles . currentApiConfigName )
65+
66+ // Set the current provider.
67+ const currentProviderName = providerProfiles . currentApiConfigName
68+ const currentProvider = providerProfiles . apiConfigs [ currentProviderName ]
69+ contextProxy . setValue ( "currentApiConfigName" , currentProviderName )
70+
71+ // TODO: It seems like we don't need to have the provider settings in
72+ // the proxy; we can just use providerSettingsManager as the source of
73+ // truth.
74+ if ( currentProvider ) {
75+ contextProxy . setProviderSettings ( currentProvider )
76+ }
77+
6578 contextProxy . setValue ( "listApiConfigMeta" , await providerSettingsManager . listConfig ( ) )
6679
6780 return { providerProfiles, globalSettings, success : true }
0 commit comments