From 0eff1bfaa90fad8fe39bfc856ad6aabbb2bd6341 Mon Sep 17 00:00:00 2001 From: Akarshan Date: Wed, 10 Sep 2025 12:06:41 +0530 Subject: [PATCH] Throw error when invalid file --- extensions/llamacpp-extension/src/index.ts | 60 +++++++++++----------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/extensions/llamacpp-extension/src/index.ts b/extensions/llamacpp-extension/src/index.ts index 7d168a6b8..c1abe96bd 100644 --- a/extensions/llamacpp-extension/src/index.ts +++ b/extensions/llamacpp-extension/src/index.ts @@ -1049,36 +1049,38 @@ export default class llamacpp_extension extends AIEngine { logger.info(`Installing backend from path: ${path}`) if ((await fs.existsSync(path)) && path.endsWith('tar.gz')) { - const match = re.exec(archiveName) - if (!match) throw new Error('Failed to parse archive name') - const [, version, backend] = match - if (!version && !backend) { - throw new Error(`Invalid backend archive name: ${archiveName}`) - } - const backendDir = await getBackendDir(backend, version) - try { - await invoke('decompress', { path: path, outputDir: backendDir }) - } catch (e) { - logger.error(`Failed to install: ${String(e)}`) - } - const binPath = - platformName === 'win' - ? await joinPath([backendDir, 'build', 'bin', 'llama-server.exe']) - : await joinPath([backendDir, 'build', 'bin', 'llama-server']) + logger.error(`Invalid path or file ${path}`) + throw new Error(`Invalid path or file ${path}`) + } + const match = re.exec(archiveName) + if (!match) throw new Error('Failed to parse archive name') + const [, version, backend] = match + if (!version && !backend) { + throw new Error(`Invalid backend archive name: ${archiveName}`) + } + const backendDir = await getBackendDir(backend, version) + try { + await invoke('decompress', { path: path, outputDir: backendDir }) + } catch (e) { + logger.error(`Failed to install: ${String(e)}`) + } + const binPath = + platformName === 'win' + ? await joinPath([backendDir, 'build', 'bin', 'llama-server.exe']) + : await joinPath([backendDir, 'build', 'bin', 'llama-server']) - if (!fs.existsSync(binPath)) { - await fs.rm(backendDir) - throw new Error('Not a supported backend archive!') - } - try { - await this.configureBackends() - logger.info(`Backend ${backend}/${version} installed and UI refreshed`) - } catch (e) { - logger.error('Backend installed but failed to refresh UI', e) - throw new Error( - `Backend installed but failed to refresh UI: ${String(e)}` - ) - } + if (!fs.existsSync(binPath)) { + await fs.rm(backendDir) + throw new Error('Not a supported backend archive!') + } + try { + await this.configureBackends() + logger.info(`Backend ${backend}/${version} installed and UI refreshed`) + } catch (e) { + logger.error('Backend installed but failed to refresh UI', e) + throw new Error( + `Backend installed but failed to refresh UI: ${String(e)}` + ) } }