diff --git a/package.json b/package.json index 4c4a6b5..04b801e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "gerbil", "productName": "Gerbil", - "version": "1.0.2", + "version": "1.0.3", "description": "Run Large Language Models locally", "main": "out/main/index.js", "homepage": "./", diff --git a/src/components/CommandLineArgumentsModal.tsx b/src/components/CommandLineArgumentsModal.tsx index 44c9b86..4863648 100644 --- a/src/components/CommandLineArgumentsModal.tsx +++ b/src/components/CommandLineArgumentsModal.tsx @@ -62,6 +62,8 @@ const UI_COVERED_ARGS = new Set([ '--sdconvdirect', ]); +const IGNORED_ARGS = new Set(['--cli', '--version', '--launch', '--config']); + const COMMAND_LINE_ARGUMENTS: ArgumentInfo[] = [ { flag: '--threads', @@ -487,7 +489,7 @@ const COMMAND_LINE_ARGUMENTS: ArgumentInfo[] = [ ]; const AVAILABLE_ARGUMENTS = COMMAND_LINE_ARGUMENTS.filter( - (arg) => !UI_COVERED_ARGS.has(arg.flag) + (arg) => !UI_COVERED_ARGS.has(arg.flag) && !IGNORED_ARGS.has(arg.flag) ); export const CommandLineArgumentsModal = ({ diff --git a/src/components/SectionHeader.tsx b/src/components/SectionHeader.tsx deleted file mode 100644 index a2473b4..0000000 --- a/src/components/SectionHeader.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { Group, Text } from '@mantine/core'; -import { InfoTooltip } from '@/components/InfoTooltip'; - -interface SectionHeaderProps { - title: string; - tooltip?: string; - fontWeight?: number; - marginBottom?: string; -} - -export const SectionHeader = ({ - title, - tooltip, - fontWeight = 600, - marginBottom = 'md', -}: SectionHeaderProps) => ( - - - {title} - - {tooltip && } - -); diff --git a/src/components/TitleBar.tsx b/src/components/TitleBar.tsx index 1655ec9..fce8785 100644 --- a/src/components/TitleBar.tsx +++ b/src/components/TitleBar.tsx @@ -178,6 +178,20 @@ export const TitleBar = ({ { value: 'terminal', label: 'Terminal' }, { value: 'eject', label: 'Eject' }, ]} + renderOption={({ option }) => ( + + {option.label} + + )} allowDeselect={false} variant="unstyled" size="sm" diff --git a/src/constants/css.ts b/src/constants/css.ts deleted file mode 100644 index b6c62a2..0000000 --- a/src/constants/css.ts +++ /dev/null @@ -1,65 +0,0 @@ -export const KLITE_CSS_OVERRIDE = ` -`; diff --git a/src/constants/defaults.ts b/src/constants/defaults.ts deleted file mode 100644 index 58f644a..0000000 --- a/src/constants/defaults.ts +++ /dev/null @@ -1,22 +0,0 @@ -export const DEFAULT_CONTEXT_SIZE = 4096; - -export const DEFAULT_MODEL_URL = - 'https://huggingface.co/MaziyarPanahi/gemma-3-4b-it-GGUF/resolve/main/gemma-3-4b-it.Q8_0.gguf?download=true'; - -export const SILLYTAVERN = { - PORT: 3000, - PROXY_PORT: 3001, - get URL() { - return `http://localhost:${this.PORT}`; - }, - get PROXY_URL() { - return `http://localhost:${this.PROXY_PORT}`; - }, -} as const; - -export const OPENWEBUI = { - PORT: 8080, - get URL() { - return `http://localhost:${this.PORT}`; - }, -} as const; diff --git a/src/constants/index.ts b/src/constants/index.ts index f94d6c0..3946b66 100644 --- a/src/constants/index.ts +++ b/src/constants/index.ts @@ -19,7 +19,28 @@ export const SERVER_READY_SIGNALS = { OPENWEBUI: 'Waiting for application startup.', } as const; -export * from './defaults'; +export const DEFAULT_CONTEXT_SIZE = 4096; + +export const DEFAULT_MODEL_URL = + 'https://huggingface.co/MaziyarPanahi/gemma-3-4b-it-GGUF/resolve/main/gemma-3-4b-it.Q8_0.gguf?download=true'; + +export const SILLYTAVERN = { + PORT: 3000, + PROXY_PORT: 3001, + get URL() { + return `http://localhost:${this.PORT}`; + }, + get PROXY_URL() { + return `http://localhost:${this.PROXY_PORT}`; + }, +} as const; + +export const OPENWEBUI = { + PORT: 8080, + get URL() { + return `http://localhost:${this.PORT}`; + }, +} as const; export const GITHUB_API = { BASE_URL: 'https://api.github.com', diff --git a/src/constants/patches.ts b/src/constants/patches.ts new file mode 100644 index 0000000..b75d893 --- /dev/null +++ b/src/constants/patches.ts @@ -0,0 +1,134 @@ +export const KLITE_CSS_OVERRIDE = ` +`; + +export const KLITE_AUTOSCROLL_PATCHES = ` +`; diff --git a/src/main/managers/KoboldCppManager.ts b/src/main/managers/KoboldCppManager.ts index 2fa6a9f..de616d3 100644 --- a/src/main/managers/KoboldCppManager.ts +++ b/src/main/managers/KoboldCppManager.ts @@ -21,7 +21,10 @@ import { ConfigManager } from '@/main/managers/ConfigManager'; import { LogManager } from '@/main/managers/LogManager'; import { WindowManager } from '@/main/managers/WindowManager'; import { PRODUCT_NAME, SERVER_READY_SIGNALS } from '@/constants'; -import { KLITE_CSS_OVERRIDE } from '@/constants/css'; +import { + KLITE_CSS_OVERRIDE, + KLITE_AUTOSCROLL_PATCHES, +} from '@/constants/patches'; import { pathExists, readJsonFile, writeJsonFile } from '@/utils/fs'; import { stripAssetExtensions } from '@/utils/version'; import type { @@ -221,7 +224,6 @@ export class KoboldCppManager { await this.downloadFile(asset, tempPackedFilePath); await mkdir(unpackedDirPath, { recursive: true }); await this.unpackKoboldCpp(tempPackedFilePath, unpackedDirPath); - await this.patchKliteEmbd(unpackedDirPath); const launcherPath = await this.setupLauncher( tempPackedFilePath, unpackedDirPath @@ -282,38 +284,23 @@ export class KoboldCppManager { } if (!kliteEmbdPath) { - this.logManager.logError( - 'klite.embd file not found in unpacked directory', - new Error('File not found') - ); return; } - this.windowManager.sendKoboldOutput( - 'Injecting CSS override for better iframe display...' - ); - const content = await readFile(kliteEmbdPath, 'utf8'); - if (content.includes('')) { + if ( + content.includes('') && + !content.includes('gerbil-autoscroll-patches') + ) { const patchedContent = content.replace( '', - `${KLITE_CSS_OVERRIDE}\n` + `${KLITE_CSS_OVERRIDE}\n${KLITE_AUTOSCROLL_PATCHES}\n` ); await writeFile(kliteEmbdPath, patchedContent, 'utf8'); - this.windowManager.sendKoboldOutput( - 'Successfully injected CSS override to klite.embd' - ); - } else { - this.windowManager.sendKoboldOutput( - 'Warning: Could not find tag in klite.embd, skipping CSS injection' - ); } } catch (error) { this.logManager.logError('Failed to patch klite.embd:', error as Error); - this.windowManager.sendKoboldOutput( - 'Warning: Failed to patch klite.embd CSS, but continuing with installation...' - ); } } @@ -616,57 +603,6 @@ export class KoboldCppManager { return null; } - async launchKobold( - versionPath: string, - args: string[] = [], - onOutput?: (data: string) => void, - onError?: (data: string) => void - ): Promise { - if (this.koboldProcess) { - this.koboldProcess.kill(); - this.koboldProcess = null; - } - - if (!(await pathExists(versionPath))) { - throw new Error('Selected version file does not exist'); - } - this.koboldProcess = spawn(versionPath, args, { - stdio: ['pipe', 'pipe', 'pipe'], - detached: false, - }); - - if (onOutput) { - this.koboldProcess.stdout?.on('data', (data) => { - onOutput(data.toString()); - }); - } - - if (onError) { - this.koboldProcess.stderr?.on('data', (data) => { - onError(data.toString()); - }); - } - - this.koboldProcess.on('close', () => { - this.koboldProcess = null; - }); - - return this.koboldProcess; - } - - async stopKobold(): Promise { - try { - if (this.koboldProcess) { - this.koboldProcess.kill(); - this.koboldProcess = null; - return true; - } - return false; - } catch { - return false; - } - } - async launchKoboldCpp( args: string[] = [] ): Promise<{ success: boolean; pid?: number; error?: string }> { @@ -692,6 +628,12 @@ export class KoboldCppManager { }; } + const binaryDir = currentVersion.path + .split(/[/\\]/) + .slice(0, -1) + .join('/'); + await this.patchKliteEmbd(binaryDir); + const finalArgs = [...args]; const child = spawn(currentVersion.path, finalArgs, { diff --git a/src/main/managers/OpenWebUIManager.ts b/src/main/managers/OpenWebUIManager.ts index 77914bb..25b5ef6 100644 --- a/src/main/managers/OpenWebUIManager.ts +++ b/src/main/managers/OpenWebUIManager.ts @@ -11,11 +11,6 @@ import { OPENWEBUI, SERVER_READY_SIGNALS } from '@/constants'; import { terminateProcess } from '@/utils/process'; import { parseKoboldConfig } from '@/utils/kobold'; -export interface OpenWebUIConfig { - name: string; - port: number; -} - export class OpenWebUIManager { private openWebUIProcess: ChildProcess | null = null; private logManager: LogManager; diff --git a/src/main/managers/SillyTavernManager.ts b/src/main/managers/SillyTavernManager.ts index 7886723..8254353 100644 --- a/src/main/managers/SillyTavernManager.ts +++ b/src/main/managers/SillyTavernManager.ts @@ -12,12 +12,6 @@ import { terminateProcess } from '@/utils/process'; import { pathExists, readJsonFile, writeJsonFile } from '@/utils/fs'; import { parseKoboldConfig } from '@/utils/kobold'; -export interface SillyTavernConfig { - name: string; - port: number; - proxyPort?: number; -} - export class SillyTavernManager { private sillyTavernProcess: ChildProcess | null = null; private proxyServer: Server | null = null; diff --git a/src/utils/fs.ts b/src/utils/fs.ts index f716045..c1197f3 100644 --- a/src/utils/fs.ts +++ b/src/utils/fs.ts @@ -38,18 +38,3 @@ export const ensureDir = async (path: string): Promise => { } } }; - -export const readTextFile = async (path: string): Promise => { - try { - return readFile(path, 'utf-8'); - } catch { - return null; - } -}; - -export const writeTextFile = async ( - path: string, - content: string -): Promise => { - await writeFile(path, content, 'utf-8'); -}; diff --git a/src/utils/logger.ts b/src/utils/logger.ts index 543051e..5e7e6aa 100644 --- a/src/utils/logger.ts +++ b/src/utils/logger.ts @@ -16,18 +16,6 @@ export const safeExecute = async ( } }; -export const safeExecuteSync = ( - operation: () => T, - errorMessage: string -): T | null => { - try { - return operation(); - } catch (error) { - logError(errorMessage, error as Error); - return null; - } -}; - export const tryExecute = async ( operation: () => Promise, errorMessage: string @@ -41,14 +29,6 @@ export const tryExecute = async ( } }; -export const withErrorHandling = - ( - fn: (...args: TArgs) => Promise, - errorMessage: string - ): ((...args: TArgs) => Promise) => - async (...args: TArgs) => - safeExecute(() => fn(...args), errorMessage); - export const error = (message: string, error: Error): void => { logError(message, error); }; diff --git a/yarn.lock b/yarn.lock index b395f2b..3e3d585 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,16 +12,6 @@ __metadata: languageName: node linkType: hard -"@ampproject/remapping@npm:^2.2.0": - version: 2.3.0 - resolution: "@ampproject/remapping@npm:2.3.0" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed - languageName: node - linkType: hard - "@babel/code-frame@npm:^7.27.1": version: 7.27.1 resolution: "@babel/code-frame@npm:7.27.1" @@ -34,32 +24,32 @@ __metadata: linkType: hard "@babel/compat-data@npm:^7.27.2": - version: 7.28.0 - resolution: "@babel/compat-data@npm:7.28.0" - checksum: 10c0/c4e527302bcd61052423f757355a71c3bc62362bac13f7f130de16e439716f66091ff5bdecda418e8fa0271d4c725f860f0ee23ab7bf6e769f7a8bb16dfcb531 + version: 7.28.4 + resolution: "@babel/compat-data@npm:7.28.4" + checksum: 10c0/9d346471e0a016641df9a325f42ad1e8324bbdc0243ce4af4dd2b10b974128590da9eb179eea2c36647b9bb987343119105e96773c1f6981732cd4f87e5a03b9 languageName: node linkType: hard "@babel/core@npm:^7.27.7, @babel/core@npm:^7.28.3": - version: 7.28.3 - resolution: "@babel/core@npm:7.28.3" + version: 7.28.4 + resolution: "@babel/core@npm:7.28.4" dependencies: - "@ampproject/remapping": "npm:^2.2.0" "@babel/code-frame": "npm:^7.27.1" "@babel/generator": "npm:^7.28.3" "@babel/helper-compilation-targets": "npm:^7.27.2" "@babel/helper-module-transforms": "npm:^7.28.3" - "@babel/helpers": "npm:^7.28.3" - "@babel/parser": "npm:^7.28.3" + "@babel/helpers": "npm:^7.28.4" + "@babel/parser": "npm:^7.28.4" "@babel/template": "npm:^7.27.2" - "@babel/traverse": "npm:^7.28.3" - "@babel/types": "npm:^7.28.2" + "@babel/traverse": "npm:^7.28.4" + "@babel/types": "npm:^7.28.4" + "@jridgewell/remapping": "npm:^2.3.5" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/e6b3eb830c4b93f5a442b305776df1cd2bb4fafa4612355366f67c764f3e54a69d45b84def77fb2d4fd83439102667b0a92c3ea2838f678733245b748c602a7b + checksum: 10c0/ef5a6c3c6bf40d3589b5593f8118cfe2602ce737412629fb6e26d595be2fcbaae0807b43027a5c42ec4fba5b895ff65891f2503b5918c8a3ea3542ab44d4c278 languageName: node linkType: hard @@ -147,24 +137,24 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.28.3": - version: 7.28.3 - resolution: "@babel/helpers@npm:7.28.3" +"@babel/helpers@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/helpers@npm:7.28.4" dependencies: "@babel/template": "npm:^7.27.2" - "@babel/types": "npm:^7.28.2" - checksum: 10c0/03a8f94135415eec62d37be9c62c63908f2d5386c7b00e04545de4961996465775330e3eb57717ea7451e19b0e24615777ebfec408c2adb1df3b10b4df6bf1ce + "@babel/types": "npm:^7.28.4" + checksum: 10c0/aaa5fb8098926dfed5f223adf2c5e4c7fbba4b911b73dfec2d7d3083f8ba694d201a206db673da2d9b3ae8c01793e795767654558c450c8c14b4c2175b4fcb44 languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.3": - version: 7.28.3 - resolution: "@babel/parser@npm:7.28.3" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.3, @babel/parser@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/parser@npm:7.28.4" dependencies: - "@babel/types": "npm:^7.28.2" + "@babel/types": "npm:^7.28.4" bin: parser: ./bin/babel-parser.js - checksum: 10c0/1f41eb82623b0ca0f94521b57f4790c6c457cd922b8e2597985b36bdec24114a9ccf54640286a760ceb60f11fe9102d192bf60477aee77f5d45f1029b9b72729 + checksum: 10c0/58b239a5b1477ac7ed7e29d86d675cc81075ca055424eba6485872626db2dc556ce63c45043e5a679cd925e999471dba8a3ed4864e7ab1dbf64306ab72c52707 languageName: node linkType: hard @@ -202,9 +192,9 @@ __metadata: linkType: hard "@babel/runtime@npm:^7.20.13": - version: 7.28.3 - resolution: "@babel/runtime@npm:7.28.3" - checksum: 10c0/b360f82c2c5114f2a062d4d143d7b4ec690094764853937110585a9497977aed66c102166d0e404766c274e02a50ffb8f6d77fef7251ecf3f607f0e03e6397bc + version: 7.28.4 + resolution: "@babel/runtime@npm:7.28.4" + checksum: 10c0/792ce7af9750fb9b93879cc9d1db175701c4689da890e6ced242ea0207c9da411ccf16dc04e689cc01158b28d7898c40d75598f4559109f761c12ce01e959bf7 languageName: node linkType: hard @@ -219,28 +209,28 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.3": - version: 7.28.3 - resolution: "@babel/traverse@npm:7.28.3" +"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.3, @babel/traverse@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/traverse@npm:7.28.4" dependencies: "@babel/code-frame": "npm:^7.27.1" "@babel/generator": "npm:^7.28.3" "@babel/helper-globals": "npm:^7.28.0" - "@babel/parser": "npm:^7.28.3" + "@babel/parser": "npm:^7.28.4" "@babel/template": "npm:^7.27.2" - "@babel/types": "npm:^7.28.2" + "@babel/types": "npm:^7.28.4" debug: "npm:^4.3.1" - checksum: 10c0/26e95b29a46925b7b41255e03185b7e65b2c4987e14bbee7bbf95867fb19c69181f301bbe1c7b201d4fe0cce6aa0cbea0282dad74b3a0fef3d9058f6c76fdcb3 + checksum: 10c0/ee678fdd49c9f54a32e07e8455242390d43ce44887cea6567b233fe13907b89240c377e7633478a32c6cf1be0e17c2f7f3b0c59f0666e39c5074cc47b968489c languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.27.1, @babel/types@npm:^7.28.2": - version: 7.28.2 - resolution: "@babel/types@npm:7.28.2" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.27.1, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.4": + version: 7.28.4 + resolution: "@babel/types@npm:7.28.4" dependencies: "@babel/helper-string-parser": "npm:^7.27.1" "@babel/helper-validator-identifier": "npm:^7.27.1" - checksum: 10c0/24b11c9368e7e2c291fe3c1bcd1ed66f6593a3975f479cbb9dd7b8c8d8eab8a962b0d2fca616c043396ce82500ac7d23d594fbbbd013828182c01596370a0b10 + checksum: 10c0/ac6f909d6191319e08c80efbfac7bd9a25f80cc83b43cd6d82e7233f7a6b9d6e7b90236f3af7400a3f83b576895bcab9188a22b584eb0f224e80e6d4e95f4517 languageName: node linkType: hard @@ -747,12 +737,12 @@ __metadata: linkType: hard "@humanfs/node@npm:^0.16.6": - version: 0.16.6 - resolution: "@humanfs/node@npm:0.16.6" + version: 0.16.7 + resolution: "@humanfs/node@npm:0.16.7" dependencies: "@humanfs/core": "npm:^0.19.1" - "@humanwhocodes/retry": "npm:^0.3.0" - checksum: 10c0/8356359c9f60108ec204cbd249ecd0356667359b2524886b357617c4a7c3b6aace0fd5a369f63747b926a762a88f8a25bc066fa1778508d110195ce7686243e1 + "@humanwhocodes/retry": "npm:^0.4.0" + checksum: 10c0/9f83d3cf2cfa37383e01e3cdaead11cd426208e04c44adcdd291aa983aaf72d7d3598844d2fe9ce54896bb1bf8bd4b56883376611c8905a19c44684642823f30 languageName: node linkType: hard @@ -763,14 +753,7 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/retry@npm:^0.3.0": - version: 0.3.1 - resolution: "@humanwhocodes/retry@npm:0.3.1" - checksum: 10c0/f0da1282dfb45e8120480b9e2e275e2ac9bbe1cf016d046fdad8e27cc1285c45bb9e711681237944445157b430093412b4446c1ab3fc4bb037861b5904101d3b - languageName: node - linkType: hard - -"@humanwhocodes/retry@npm:^0.4.2": +"@humanwhocodes/retry@npm:^0.4.0, @humanwhocodes/retry@npm:^0.4.2": version: 0.4.3 resolution: "@humanwhocodes/retry@npm:0.4.3" checksum: 10c0/3775bb30087d4440b3f7406d5a057777d90e4b9f435af488a4923ef249e93615fb78565a85f173a186a076c7706a81d0d57d563a2624e4de2c5c9c66c486ce42 @@ -826,6 +809,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/3de494219ffeb2c5c38711d0d7bb128097edf91893090a2dbc8ee0b55d092bb7347b1fd0f478486c5eab010e855c73927b1666f2107516d472d24a73017d1194 + languageName: node + linkType: hard + "@jridgewell/resolve-uri@npm:^3.1.0": version: 3.1.2 resolution: "@jridgewell/resolve-uri@npm:3.1.2" @@ -981,142 +974,149 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.49.0" +"@rollup/rollup-android-arm-eabi@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.50.0" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-android-arm64@npm:4.49.0" +"@rollup/rollup-android-arm64@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-android-arm64@npm:4.50.0" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-darwin-arm64@npm:4.49.0" +"@rollup/rollup-darwin-arm64@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.50.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-darwin-x64@npm:4.49.0" +"@rollup/rollup-darwin-x64@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.50.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-freebsd-arm64@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.49.0" +"@rollup/rollup-freebsd-arm64@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.50.0" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-freebsd-x64@npm:4.49.0" +"@rollup/rollup-freebsd-x64@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-freebsd-x64@npm:4.50.0" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.49.0" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.50.0" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.49.0" +"@rollup/rollup-linux-arm-musleabihf@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.50.0" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.49.0" +"@rollup/rollup-linux-arm64-gnu@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.50.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.49.0" +"@rollup/rollup-linux-arm64-musl@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.50.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-loongarch64-gnu@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.49.0" +"@rollup/rollup-linux-loongarch64-gnu@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.50.0" conditions: os=linux & cpu=loong64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-ppc64-gnu@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.49.0" +"@rollup/rollup-linux-ppc64-gnu@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.50.0" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.49.0" +"@rollup/rollup-linux-riscv64-gnu@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.50.0" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-musl@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.49.0" +"@rollup/rollup-linux-riscv64-musl@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.50.0" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.49.0" +"@rollup/rollup-linux-s390x-gnu@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.50.0" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.49.0" +"@rollup/rollup-linux-x64-gnu@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.50.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.49.0" +"@rollup/rollup-linux-x64-musl@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.50.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.49.0" +"@rollup/rollup-openharmony-arm64@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-openharmony-arm64@npm:4.50.0" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.50.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.49.0" +"@rollup/rollup-win32-ia32-msvc@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.50.0" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.49.0": - version: 4.49.0 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.49.0" +"@rollup/rollup-win32-x64-msvc@npm:4.50.0": + version: 4.50.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.50.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -1290,11 +1290,11 @@ __metadata: linkType: hard "@types/node@npm:^22.7.7": - version: 22.18.0 - resolution: "@types/node@npm:22.18.0" + version: 22.18.1 + resolution: "@types/node@npm:22.18.1" dependencies: undici-types: "npm:~6.21.0" - checksum: 10c0/02cce4493eee8408e66e76fcad164f33c0600ed0854ad08e5519a76a06402da5b589b278cf71bc975c9e014f2668bdf758bc3be7fed63bdbfd0900495372797c + checksum: 10c0/1912b0ea6cb9ef59722b0fed64652388e13b41d52569c16198f1278a882837bbf4c8a4ec913e852893356f07c0c44b4e00fbca289ac7222741d03449104e22fe languageName: node linkType: hard @@ -1643,9 +1643,9 @@ __metadata: languageName: node linkType: hard -"app-builder-lib@npm:26.0.19": - version: 26.0.19 - resolution: "app-builder-lib@npm:26.0.19" +"app-builder-lib@npm:26.0.20": + version: 26.0.20 + resolution: "app-builder-lib@npm:26.0.20" dependencies: "@develar/schema-utils": "npm:~2.6.5" "@electron/asar": "npm:3.4.1" @@ -1657,15 +1657,15 @@ __metadata: "@malept/flatpak-bundler": "npm:^0.4.0" "@types/fs-extra": "npm:9.0.13" async-exit-hook: "npm:^2.0.1" - builder-util: "npm:26.0.19" - builder-util-runtime: "npm:9.3.3" + builder-util: "npm:26.0.20" + builder-util-runtime: "npm:9.4.0" chromium-pickle-js: "npm:^0.2.0" ci-info: "npm:^4.2.0" debug: "npm:^4.3.4" dotenv: "npm:^16.4.5" dotenv-expand: "npm:^11.0.6" ejs: "npm:^3.1.8" - electron-publish: "npm:26.0.19" + electron-publish: "npm:26.0.20" fs-extra: "npm:^10.1.0" hosted-git-info: "npm:^4.1.0" isbinaryfile: "npm:^5.0.0" @@ -1682,9 +1682,9 @@ __metadata: tiny-async-pool: "npm:1.3.0" which: "npm:^5.0.0" peerDependencies: - dmg-builder: 26.0.19 - electron-builder-squirrel-windows: 26.0.19 - checksum: 10c0/d662e6ee85339511c1e5bd83e082b021a9d20f08e6c9385ebf730ede822ddbba78e47c9ed6842b6b2a317b96e36cf4fefdb80b378357dbd462aeb0f83decb85a + dmg-builder: 26.0.20 + electron-builder-squirrel-windows: 26.0.20 + checksum: 10c0/30ba7543cdc257347b3e198fda7a4df5a1bf3d674f20d152a6059b8e3a4988071a75bbc80acaff1a3bb6ed0d58ae288d2790f436a5c0aae4982d5515dec4e6b9 languageName: node linkType: hard @@ -1969,24 +1969,24 @@ __metadata: languageName: node linkType: hard -"builder-util-runtime@npm:9.3.3": - version: 9.3.3 - resolution: "builder-util-runtime@npm:9.3.3" +"builder-util-runtime@npm:9.4.0": + version: 9.4.0 + resolution: "builder-util-runtime@npm:9.4.0" dependencies: debug: "npm:^4.3.4" sax: "npm:^1.2.4" - checksum: 10c0/a30e011f9ff55ed98802601713318a4e24fa0f027216260e64eee2d8bb06f37f51a7baab0721fc9ed512012d4b4b4e8f9a7a20853a542309af4ee15ff8b33a56 + checksum: 10c0/cd7c54af44c9785a8f0ca759a5d6798f408b292d50557ae156756d5306e4e0980ed07029190f9178d1caa7cf38b4fdb16e16c08c40c3563a2aeaea081d440209 languageName: node linkType: hard -"builder-util@npm:26.0.19": - version: 26.0.19 - resolution: "builder-util@npm:26.0.19" +"builder-util@npm:26.0.20": + version: 26.0.20 + resolution: "builder-util@npm:26.0.20" dependencies: 7zip-bin: "npm:~5.2.0" "@types/debug": "npm:^4.1.6" app-builder-bin: "npm:5.0.0-alpha.12" - builder-util-runtime: "npm:9.3.3" + builder-util-runtime: "npm:9.4.0" chalk: "npm:^4.1.2" ci-info: "npm:^4.2.0" cross-spawn: "npm:^7.0.6" @@ -2000,7 +2000,7 @@ __metadata: stat-mode: "npm:^1.0.0" temp-file: "npm:^3.4.0" tiny-async-pool: "npm:1.3.0" - checksum: 10c0/65ed8c64a27368e2664978659d70944e2ace48fccece22612f93414ab36935b42b6aaee06ef2d9ef65d816fa3ff4524ca60edb41052731793f0c756b9dd0aace + checksum: 10c0/2661aeea72c5f6bbeaf7b1366b80b25a0b665f1397845f217899144be976d1e9366af323220e1586ab62e372e6742e68c0b7053143543a81fd492e2cdb7a2094 languageName: node linkType: hard @@ -2133,9 +2133,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001737": - version: 1.0.30001737 - resolution: "caniuse-lite@npm:1.0.30001737" - checksum: 10c0/9d9cfe3b46fe670d171cee10c5c1b0fb641946fd5d6bea26149f804003d53d82ade7ef5a4a640fb3a0eaec47c7839b57e06a6ddae4f0ad2cd58e1187d31997ce + version: 1.0.30001741 + resolution: "caniuse-lite@npm:1.0.30001741" + checksum: 10c0/45746f896205a61a8eeb85a32aeca243ebce640cd6eb80d04949d9389a13f4659c737860300d7b988057599f0958c55eeab74ec02ce9ef137feb7d006e75fec1 languageName: node linkType: hard @@ -2543,12 +2543,12 @@ __metadata: languageName: node linkType: hard -"dmg-builder@npm:26.0.19": - version: 26.0.19 - resolution: "dmg-builder@npm:26.0.19" +"dmg-builder@npm:26.0.20": + version: 26.0.20 + resolution: "dmg-builder@npm:26.0.20" dependencies: - app-builder-lib: "npm:26.0.19" - builder-util: "npm:26.0.19" + app-builder-lib: "npm:26.0.20" + builder-util: "npm:26.0.20" dmg-license: "npm:^1.0.11" fs-extra: "npm:^10.1.0" iconv-lite: "npm:^0.6.2" @@ -2556,7 +2556,7 @@ __metadata: dependenciesMeta: dmg-license: optional: true - checksum: 10c0/29d80f3e337bfbebd65095b6bb13748e7f34460b63bfb8162453e69da93c41822a2f1ef80340666317cb139bff0d71301b526801c3452abff31824e704c2a090 + checksum: 10c0/2215b303b18bf5759226a10c4e376f112c98b6d5071e50e459c61d59bb875dc2afd8161c11677a8a11e88a5c5d93b3b66bb5675071638c3a5e322bffbad1c715 languageName: node linkType: hard @@ -2633,15 +2633,15 @@ __metadata: linkType: hard "electron-builder@npm:^26.0.12": - version: 26.0.19 - resolution: "electron-builder@npm:26.0.19" + version: 26.0.20 + resolution: "electron-builder@npm:26.0.20" dependencies: - app-builder-lib: "npm:26.0.19" - builder-util: "npm:26.0.19" - builder-util-runtime: "npm:9.3.3" + app-builder-lib: "npm:26.0.20" + builder-util: "npm:26.0.20" + builder-util-runtime: "npm:9.4.0" chalk: "npm:^4.1.2" ci-info: "npm:^4.2.0" - dmg-builder: "npm:26.0.19" + dmg-builder: "npm:26.0.20" fs-extra: "npm:^10.1.0" lazy-val: "npm:^1.0.5" simple-update-notifier: "npm:2.0.0" @@ -2649,30 +2649,30 @@ __metadata: bin: electron-builder: cli.js install-app-deps: install-app-deps.js - checksum: 10c0/4440c55377520d1e3b9d3acede74459ecb0d966f1fa550100fc7a56abf736992a47875f49848706797604c24c54fedb159f263b37295c6577f969be8ad9857a4 + checksum: 10c0/61a8697674e9c46ca6cf5b6b98291a16d0f21f4e307cf857785e99182f37527e1bd044fec6c89aa12614e55d70b9b095f0f07585ed6cc6d4176f8a7f18ce9076 languageName: node linkType: hard -"electron-publish@npm:26.0.19": - version: 26.0.19 - resolution: "electron-publish@npm:26.0.19" +"electron-publish@npm:26.0.20": + version: 26.0.20 + resolution: "electron-publish@npm:26.0.20" dependencies: "@types/fs-extra": "npm:^9.0.11" - builder-util: "npm:26.0.19" - builder-util-runtime: "npm:9.3.3" + builder-util: "npm:26.0.20" + builder-util-runtime: "npm:9.4.0" chalk: "npm:^4.1.2" form-data: "npm:^4.0.0" fs-extra: "npm:^10.1.0" lazy-val: "npm:^1.0.5" mime: "npm:^2.5.2" - checksum: 10c0/91fd4cdc0eb4f51973daa0ffe9dfa50d24754c378492df03cee7b9a08ce7178fa305c35358183ce6d8de84a92c123f021e59e80b4ea8e9ceef9c3d319d93254d + checksum: 10c0/5fd7eb67f5333df66545177b0f49986cd8834644ff1e39b00bbc6571808339b4c420221e7f6f6bcf182ca6ed8c2050953819e48237ed46eb624887d37c3d13ce languageName: node linkType: hard "electron-to-chromium@npm:^1.5.211": - version: 1.5.211 - resolution: "electron-to-chromium@npm:1.5.211" - checksum: 10c0/587536f2e319b7484cd4c9e83484f461ee06672c588c84bf4d4b6a6b5d00fbdb621d4ca418a68125a86db95d373b890b47de2fb5a0f52592cc8aebc263623e6e + version: 1.5.214 + resolution: "electron-to-chromium@npm:1.5.214" + checksum: 10c0/76ca22fd97a2dad84a710915b5984263b31e61c7883cd3ec0c11c0d7beb3fa628780cdfd05a96ec79a904ea1c910cf02c513db60f31b627c96743e50f6b11a2e languageName: node linkType: hard @@ -3360,7 +3360,7 @@ __metadata: languageName: node linkType: hard -"fdir@npm:^6.4.4, fdir@npm:^6.5.0": +"fdir@npm:^6.5.0": version: 6.5.0 resolution: "fdir@npm:6.5.0" peerDependencies: @@ -5139,11 +5139,11 @@ __metadata: linkType: hard "node-abi@npm:^3.45.0": - version: 3.75.0 - resolution: "node-abi@npm:3.75.0" + version: 3.77.0 + resolution: "node-abi@npm:3.77.0" dependencies: semver: "npm:^7.3.5" - checksum: 10c0/c43a2409407df3737848fd96202b0a49e15039994aecce963969e9ef7342a8fc544aba94e0bfd8155fb9de5f5fe9a4b6ccad8bf509e7c46caf096fc4491d63f2 + checksum: 10c0/3354289ccca052538f653968ead73d00785e5ab159ce3a575dbff465724dac749821e7c327ae6c4774f29994f94c402fbafc8799b172aabf4aa8a082a070b00a languageName: node linkType: hard @@ -5186,9 +5186,9 @@ __metadata: linkType: hard "node-releases@npm:^2.0.19": - version: 2.0.19 - resolution: "node-releases@npm:2.0.19" - checksum: 10c0/52a0dbd25ccf545892670d1551690fe0facb6a471e15f2cfa1b20142a5b255b3aa254af5f59d6ecb69c2bec7390bc643c43aa63b13bf5e64b6075952e716b1aa + version: 2.0.20 + resolution: "node-releases@npm:2.0.20" + checksum: 10c0/24c5b1f5aa16d042c47a651ca2e022ca27320f95e4d2b76b9e543cc470eadd01032646383212ec373f1a3dd15cccce83d77c318ee99585366dbd25db4366abd8 languageName: node linkType: hard @@ -6025,29 +6025,30 @@ __metadata: linkType: hard "rollup@npm:^4.43.0": - version: 4.49.0 - resolution: "rollup@npm:4.49.0" + version: 4.50.0 + resolution: "rollup@npm:4.50.0" dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.49.0" - "@rollup/rollup-android-arm64": "npm:4.49.0" - "@rollup/rollup-darwin-arm64": "npm:4.49.0" - "@rollup/rollup-darwin-x64": "npm:4.49.0" - "@rollup/rollup-freebsd-arm64": "npm:4.49.0" - "@rollup/rollup-freebsd-x64": "npm:4.49.0" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.49.0" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.49.0" - "@rollup/rollup-linux-arm64-gnu": "npm:4.49.0" - "@rollup/rollup-linux-arm64-musl": "npm:4.49.0" - "@rollup/rollup-linux-loongarch64-gnu": "npm:4.49.0" - "@rollup/rollup-linux-ppc64-gnu": "npm:4.49.0" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.49.0" - "@rollup/rollup-linux-riscv64-musl": "npm:4.49.0" - "@rollup/rollup-linux-s390x-gnu": "npm:4.49.0" - "@rollup/rollup-linux-x64-gnu": "npm:4.49.0" - "@rollup/rollup-linux-x64-musl": "npm:4.49.0" - "@rollup/rollup-win32-arm64-msvc": "npm:4.49.0" - "@rollup/rollup-win32-ia32-msvc": "npm:4.49.0" - "@rollup/rollup-win32-x64-msvc": "npm:4.49.0" + "@rollup/rollup-android-arm-eabi": "npm:4.50.0" + "@rollup/rollup-android-arm64": "npm:4.50.0" + "@rollup/rollup-darwin-arm64": "npm:4.50.0" + "@rollup/rollup-darwin-x64": "npm:4.50.0" + "@rollup/rollup-freebsd-arm64": "npm:4.50.0" + "@rollup/rollup-freebsd-x64": "npm:4.50.0" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.50.0" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.50.0" + "@rollup/rollup-linux-arm64-gnu": "npm:4.50.0" + "@rollup/rollup-linux-arm64-musl": "npm:4.50.0" + "@rollup/rollup-linux-loongarch64-gnu": "npm:4.50.0" + "@rollup/rollup-linux-ppc64-gnu": "npm:4.50.0" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.50.0" + "@rollup/rollup-linux-riscv64-musl": "npm:4.50.0" + "@rollup/rollup-linux-s390x-gnu": "npm:4.50.0" + "@rollup/rollup-linux-x64-gnu": "npm:4.50.0" + "@rollup/rollup-linux-x64-musl": "npm:4.50.0" + "@rollup/rollup-openharmony-arm64": "npm:4.50.0" + "@rollup/rollup-win32-arm64-msvc": "npm:4.50.0" + "@rollup/rollup-win32-ia32-msvc": "npm:4.50.0" + "@rollup/rollup-win32-x64-msvc": "npm:4.50.0" "@types/estree": "npm:1.0.8" fsevents: "npm:~2.3.2" dependenciesMeta: @@ -6085,6 +6086,8 @@ __metadata: optional: true "@rollup/rollup-linux-x64-musl": optional: true + "@rollup/rollup-openharmony-arm64": + optional: true "@rollup/rollup-win32-arm64-msvc": optional: true "@rollup/rollup-win32-ia32-msvc": @@ -6095,7 +6098,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10c0/ca950eb0fb550c40e0a06e9bb4f17c3b7097a3684152327569d9b20891e704ea8b20764b26d54442fc1eb00615923a191bb928087a7e23e5fa8c3c00e06680e4 + checksum: 10c0/8a9aa0885b61ee08315cdc097fb9f97b626a0992546a6857d7668f4690a7344d8497fa7504e4dba03acefc77f03d90fec3c11bfa80777177e76ea5d8c18ddc97 languageName: node linkType: hard @@ -6739,12 +6742,12 @@ __metadata: linkType: hard "tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.14": - version: 0.2.14 - resolution: "tinyglobby@npm:0.2.14" + version: 0.2.15 + resolution: "tinyglobby@npm:0.2.15" dependencies: - fdir: "npm:^6.4.4" - picomatch: "npm:^4.0.2" - checksum: 10c0/f789ed6c924287a9b7d3612056ed0cda67306cd2c80c249fd280cf1504742b12583a2089b61f4abbd24605f390809017240e250241f09938054c9b363e51c0a6 + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.3" + checksum: 10c0/869c31490d0d88eedb8305d178d4c75e7463e820df5a9b9d388291daf93e8b1eb5de1dad1c1e139767e4269fe75f3b10d5009b2cc14db96ff98986920a186844 languageName: node linkType: hard