mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-03 00:14:28 -07:00
Add ExtensionLoader interface, use that on Config object (#12116)
This commit is contained in:
@@ -61,20 +61,20 @@ export async function updateExtension(
|
||||
const previousExtensionConfig = await extensionManager.loadExtensionConfig(
|
||||
extension.path,
|
||||
);
|
||||
await extensionManager.installOrUpdateExtension(
|
||||
installMetadata,
|
||||
previousExtensionConfig,
|
||||
);
|
||||
const updatedExtensionStorage = new ExtensionStorage(extension.name);
|
||||
const updatedExtension = extensionManager.loadExtension(
|
||||
updatedExtensionStorage.getExtensionDir(),
|
||||
);
|
||||
if (!updatedExtension) {
|
||||
let updatedExtension: GeminiCLIExtension;
|
||||
try {
|
||||
updatedExtension = await extensionManager.installOrUpdateExtension(
|
||||
installMetadata,
|
||||
previousExtensionConfig,
|
||||
);
|
||||
} catch (e) {
|
||||
dispatchExtensionStateUpdate({
|
||||
type: 'SET_STATE',
|
||||
payload: { name: extension.name, state: ExtensionUpdateState.ERROR },
|
||||
});
|
||||
throw new Error('Updated extension not found after installation.');
|
||||
throw new Error(
|
||||
`Updated extension not found after installation, got error:\n${e}`,
|
||||
);
|
||||
}
|
||||
const updatedVersion = updatedExtension.version;
|
||||
dispatchExtensionStateUpdate({
|
||||
|
||||
Reference in New Issue
Block a user