new KV cache UI button, dont show V8 version

This commit is contained in:
Egor 2026-03-25 20:58:12 -07:00
parent 14e9876faa
commit 06946f5ca4
10 changed files with 316 additions and 252 deletions

View file

@ -1,6 +1,6 @@
{ {
"name": "gerbil", "name": "gerbil",
"version": "1.20.6", "version": "1.21.0",
"description": "Run Large Language Models locally", "description": "Run Large Language Models locally",
"keywords": [ "keywords": [
"ai", "ai",
@ -37,10 +37,10 @@
"@huggingface/gguf": "^0.4.1", "@huggingface/gguf": "^0.4.1",
"@mantine/core": "^8.3.18", "@mantine/core": "^8.3.18",
"@mantine/hooks": "^8.3.18", "@mantine/hooks": "^8.3.18",
"@uiw/react-codemirror": "^4.25.8", "@uiw/react-codemirror": "^4.25.9",
"electron-updater": "^6.8.3", "electron-updater": "^6.8.3",
"execa": "^9.6.1", "execa": "^9.6.1",
"lucide-react": "^1.0.1", "lucide-react": "^1.7.0",
"mime-types": "^3.0.2", "mime-types": "^3.0.2",
"react": "^19.2.4", "react": "^19.2.4",
"react-dom": "^19.2.4", "react-dom": "^19.2.4",
@ -64,13 +64,13 @@
"@types/yauzl": "^2.10.3", "@types/yauzl": "^2.10.3",
"@vitejs/plugin-react": "^6.0.1", "@vitejs/plugin-react": "^6.0.1",
"cross-env": "^10.1.0", "cross-env": "^10.1.0",
"electron": "^41.0.3", "electron": "^41.0.4",
"electron-builder": "^26.8.1", "electron-builder": "^26.8.1",
"electron-vite": "^5.0.0", "electron-vite": "^5.0.0",
"jiti": "^2.6.1", "jiti": "^2.6.1",
"oxfmt": "^0.41.0", "oxfmt": "^0.42.0",
"oxlint": "^1.56.0", "oxlint": "^1.57.0",
"oxlint-tsgolint": "^0.17.2", "oxlint-tsgolint": "^0.17.4",
"rollup-plugin-visualizer": "^7.0.1", "rollup-plugin-visualizer": "^7.0.1",
"typescript": "^6.0.2", "typescript": "^6.0.2",
"vite": "^8.0.2" "vite": "^8.0.2"
@ -78,7 +78,7 @@
"engines": { "engines": {
"node": ">=24.0.0" "node": ">=24.0.0"
}, },
"packageManager": "pnpm@10.32.1", "packageManager": "pnpm@10.33.0",
"build": { "build": {
"appId": "com.gerbil.app", "appId": "com.gerbil.app",
"productName": "Gerbil", "productName": "Gerbil",

476
pnpm-lock.yaml generated
View file

@ -33,8 +33,8 @@ importers:
specifier: ^8.3.18 specifier: ^8.3.18
version: 8.3.18(react@19.2.4) version: 8.3.18(react@19.2.4)
'@uiw/react-codemirror': '@uiw/react-codemirror':
specifier: ^4.25.8 specifier: ^4.25.9
version: 4.25.8(@babel/runtime@7.29.2)(@codemirror/autocomplete@6.20.1)(@codemirror/language@6.12.2)(@codemirror/lint@6.9.5)(@codemirror/search@6.6.0)(@codemirror/state@6.6.0)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.40.0)(codemirror@6.0.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) version: 4.25.9(@babel/runtime@7.29.2)(@codemirror/autocomplete@6.20.1)(@codemirror/language@6.12.3)(@codemirror/lint@6.9.5)(@codemirror/search@6.6.0)(@codemirror/state@6.6.0)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.40.0)(codemirror@6.0.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
electron-updater: electron-updater:
specifier: ^6.8.3 specifier: ^6.8.3
version: 6.8.3 version: 6.8.3
@ -42,8 +42,8 @@ importers:
specifier: ^9.6.1 specifier: ^9.6.1
version: 9.6.1 version: 9.6.1
lucide-react: lucide-react:
specifier: ^1.0.1 specifier: ^1.7.0
version: 1.0.1(react@19.2.4) version: 1.7.0(react@19.2.4)
mime-types: mime-types:
specifier: ^3.0.2 specifier: ^3.0.2
version: 3.0.2 version: 3.0.2
@ -109,8 +109,8 @@ importers:
specifier: ^10.1.0 specifier: ^10.1.0
version: 10.1.0 version: 10.1.0
electron: electron:
specifier: ^41.0.3 specifier: ^41.0.4
version: 41.0.3 version: 41.0.4
electron-builder: electron-builder:
specifier: ^26.8.1 specifier: ^26.8.1
version: 26.8.1(electron-builder-squirrel-windows@26.8.1) version: 26.8.1(electron-builder-squirrel-windows@26.8.1)
@ -121,14 +121,14 @@ importers:
specifier: ^2.6.1 specifier: ^2.6.1
version: 2.6.1 version: 2.6.1
oxfmt: oxfmt:
specifier: ^0.41.0 specifier: ^0.42.0
version: 0.41.0 version: 0.42.0
oxlint: oxlint:
specifier: ^1.56.0 specifier: ^1.57.0
version: 1.56.0(oxlint-tsgolint@0.17.2) version: 1.57.0(oxlint-tsgolint@0.17.4)
oxlint-tsgolint: oxlint-tsgolint:
specifier: ^0.17.2 specifier: ^0.17.4
version: 0.17.2 version: 0.17.4
rollup-plugin-visualizer: rollup-plugin-visualizer:
specifier: ^7.0.1 specifier: ^7.0.1
version: 7.0.1(rolldown@1.0.0-rc.11) version: 7.0.1(rolldown@1.0.0-rc.11)
@ -231,8 +231,8 @@ packages:
'@codemirror/commands@6.10.3': '@codemirror/commands@6.10.3':
resolution: {integrity: sha512-JFRiqhKu+bvSkDLI+rUhJwSxQxYb759W5GBezE8Uc8mHLqC9aV/9aTC7yJSqCtB3F00pylrLCwnyS91Ap5ej4Q==} resolution: {integrity: sha512-JFRiqhKu+bvSkDLI+rUhJwSxQxYb759W5GBezE8Uc8mHLqC9aV/9aTC7yJSqCtB3F00pylrLCwnyS91Ap5ej4Q==}
'@codemirror/language@6.12.2': '@codemirror/language@6.12.3':
resolution: {integrity: sha512-jEPmz2nGGDxhRTg3lTpzmIyGKxz3Gp3SJES4b0nAuE5SWQoKdT5GoQ69cwMmFd+wvFUhYirtDTr0/DRHpQAyWg==} resolution: {integrity: sha512-QwCZW6Tt1siP37Jet9Tb02Zs81TQt6qQrZR2H+eGMcFsL1zMrk2/b9CLC7/9ieP1fjIUMgviLWMmgiHoJrj+ZA==}
'@codemirror/lint@6.9.5': '@codemirror/lint@6.9.5':
resolution: {integrity: sha512-GElsbU9G7QT9xXhpUg1zWGmftA/7jamh+7+ydKRuT0ORpWS3wOSP0yT1FOlIZa7mIJjpVPipErsyvVqB9cfTFA==} resolution: {integrity: sha512-GElsbU9G7QT9xXhpUg1zWGmftA/7jamh+7+ydKRuT0ORpWS3wOSP0yT1FOlIZa7mIJjpVPipErsyvVqB9cfTFA==}
@ -497,8 +497,8 @@ packages:
engines: {node: '>=20'} engines: {node: '>=20'}
hasBin: true hasBin: true
'@huggingface/tasks@0.20.6': '@huggingface/tasks@0.20.7':
resolution: {integrity: sha512-CmYR01zmL6yXtCww2qRPPtdwzJnXd6V3XERi+E4YjJaDQOp9DaSGJXHphFpzxpNnKtQViRednqsAEPF436YKZg==} resolution: {integrity: sha512-RnS8gy+YxlPjrM1SVjhVZuyR9h0F6qryAbm4L2n0V4JlwvCb6PDmBrR2TaTnyt5fwW3upu0bg7FoyNap2Js5jQ==}
'@isaacs/cliui@8.0.2': '@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
@ -570,276 +570,276 @@ packages:
'@oxc-project/types@0.122.0': '@oxc-project/types@0.122.0':
resolution: {integrity: sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==} resolution: {integrity: sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==}
'@oxfmt/binding-android-arm-eabi@0.41.0': '@oxfmt/binding-android-arm-eabi@0.42.0':
resolution: {integrity: sha512-REfrqeMKGkfMP+m/ScX4f5jJBSmVNYcpoDF8vP8f8eYPDuPGZmzp56NIUsYmx3h7f6NzC6cE3gqh8GDWrJHCKw==} resolution: {integrity: sha512-dsqPTYsozeokRjlrt/b4E7Pj0z3eS3Eg74TWQuuKbjY4VttBmA88rB7d50Xrd+TZ986qdXCNeZRPEzZHAe+jow==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm] cpu: [arm]
os: [android] os: [android]
'@oxfmt/binding-android-arm64@0.41.0': '@oxfmt/binding-android-arm64@0.42.0':
resolution: {integrity: sha512-s0b1dxNgb2KomspFV2LfogC2XtSJB42POXF4bMCLJyvQmAGos4ZtjGPfQreToQEaY0FQFjz3030ggI36rF1q5g==} resolution: {integrity: sha512-t+aAjHxcr5eOBphFHdg1ouQU9qmZZoRxnX7UOJSaTwSoKsb6TYezNKO0YbWytGXCECObRqNcUxPoPr0KaraAIg==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [android] os: [android]
'@oxfmt/binding-darwin-arm64@0.41.0': '@oxfmt/binding-darwin-arm64@0.42.0':
resolution: {integrity: sha512-EGXGualADbv/ZmamE7/2DbsrYmjoPlAmHEpTL4vapLF4EfVD6fr8/uQDFnPJkUBjiSWFJZtFNsGeN1B6V3owmA==} resolution: {integrity: sha512-ulpSEYMKg61C5bRMZinFHrKJYRoKGVbvMEXA5zM1puX3O9T6Q4XXDbft20yrDijpYWeuG59z3Nabt+npeTsM1A==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
'@oxfmt/binding-darwin-x64@0.41.0': '@oxfmt/binding-darwin-x64@0.42.0':
resolution: {integrity: sha512-WxySJEvdQQYMmyvISH3qDpTvoS0ebnIP63IMxLLWowJyPp/AAH0hdWtlo+iGNK5y3eVfa5jZguwNaQkDKWpGSw==} resolution: {integrity: sha512-ttxLKhQYPdFiM8I/Ri37cvqChE4Xa562nNOsZFcv1CKTVLeEozXjKuYClNvxkXmNlcF55nzM80P+CQkdFBu+uQ==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
'@oxfmt/binding-freebsd-x64@0.41.0': '@oxfmt/binding-freebsd-x64@0.42.0':
resolution: {integrity: sha512-Y2kzMkv3U3oyuYaR4wTfGjOTYTXiFC/hXmG0yVASKkbh02BJkvD98Ij8bIevr45hNZ0DmZEgqiXF+9buD4yMYQ==} resolution: {integrity: sha512-Og7QS3yI3tdIKYZ58SXik0rADxIk2jmd+/YvuHRyKULWpG4V2fR5V4hvKm624Mc0cQET35waPXiCQWvjQEjwYQ==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64] cpu: [x64]
os: [freebsd] os: [freebsd]
'@oxfmt/binding-linux-arm-gnueabihf@0.41.0': '@oxfmt/binding-linux-arm-gnueabihf@0.42.0':
resolution: {integrity: sha512-ptazDjdUyhket01IjPTT6ULS1KFuBfTUU97osTP96X5y/0oso+AgAaJzuH81oP0+XXyrWIHbRzozSAuQm4p48g==} resolution: {integrity: sha512-jwLOw/3CW4H6Vxcry4/buQHk7zm9Ne2YsidzTL1kpiMe4qqrRCwev3dkyWe2YkFmP+iZCQ7zku4KwjcLRoh8ew==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
'@oxfmt/binding-linux-arm-musleabihf@0.41.0': '@oxfmt/binding-linux-arm-musleabihf@0.42.0':
resolution: {integrity: sha512-UkoL2OKxFD+56bPEBcdGn+4juTW4HRv/T6w1dIDLnvKKWr6DbarB/mtHXlADKlFiJubJz8pRkttOR7qjYR6lTA==} resolution: {integrity: sha512-XwXu2vkMtiq2h7tfvN+WA/9/5/1IoGAVCFPiiQUvcAuG3efR97KNcRGM8BetmbYouFotQ2bDal3yyjUx6IPsTg==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
'@oxfmt/binding-linux-arm64-gnu@0.41.0': '@oxfmt/binding-linux-arm64-gnu@0.42.0':
resolution: {integrity: sha512-gofu0PuumSOHYczD8p62CPY4UF6ee+rSLZJdUXkpwxg6pILiwSDBIouPskjF/5nF3A7QZTz2O9KFNkNxxFN9tA==} resolution: {integrity: sha512-ea7s/XUJoT7ENAtUQDudFe3nkSM3e3Qpz4nJFRdzO2wbgXEcjnchKLEsV3+t4ev3r8nWxIYr9NRjPWtnyIFJVA==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
'@oxfmt/binding-linux-arm64-musl@0.41.0': '@oxfmt/binding-linux-arm64-musl@0.42.0':
resolution: {integrity: sha512-VfVZxL0+6RU86T8F8vKiDBa+iHsr8PAjQmKGBzSCAX70b6x+UOMFl+2dNihmKmUwqkCazCPfYjt6SuAPOeQJ3g==} resolution: {integrity: sha512-+JA0YMlSdDqmacygGi2REp57c3fN+tzARD8nwsukx9pkCHK+6DkbAA9ojS4lNKsiBjIW8WWa0pBrBWhdZEqfuw==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
libc: [musl] libc: [musl]
'@oxfmt/binding-linux-ppc64-gnu@0.41.0': '@oxfmt/binding-linux-ppc64-gnu@0.42.0':
resolution: {integrity: sha512-bwzokz2eGvdfJbc0i+zXMJ4BBjQPqg13jyWpEEZDOrBCQ91r8KeY2Mi2kUeuMTZNFXju+jcAbAbpyJxRGla0eg==} resolution: {integrity: sha512-VfnET0j4Y5mdfCzh5gBt0NK28lgn5DKx+8WgSMLYYeSooHhohdbzwAStLki9pNuGy51y4I7IoW8bqwAaCMiJQg==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64] cpu: [ppc64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
'@oxfmt/binding-linux-riscv64-gnu@0.41.0': '@oxfmt/binding-linux-riscv64-gnu@0.42.0':
resolution: {integrity: sha512-POLM//PCH9uqDeNDwWL3b3DkMmI3oI2cU6hwc2lnztD1o7dzrQs3R9nq555BZ6wI7t2lyhT9CS+CRaz5X0XqLA==} resolution: {integrity: sha512-gVlCbmBkB0fxBWbhBj9rcxezPydsQHf4MFKeHoTSPicOQ+8oGeTQgQ8EeesSybWeiFPVRx3bgdt4IJnH6nOjAA==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [riscv64] cpu: [riscv64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
'@oxfmt/binding-linux-riscv64-musl@0.41.0': '@oxfmt/binding-linux-riscv64-musl@0.42.0':
resolution: {integrity: sha512-NNK7PzhFqLUwx/G12Xtm6scGv7UITvyGdAR5Y+TlqsG+essnuRWR4jRNODWRjzLZod0T3SayRbnkSIWMBov33w==} resolution: {integrity: sha512-zN5OfstL0avgt/IgvRu0zjQzVh/EPkcLzs33E9LMAzpqlLWiPWeMDZyMGFlSRGOdDjuNmlZBCgj0pFnK5u32TQ==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [riscv64] cpu: [riscv64]
os: [linux] os: [linux]
libc: [musl] libc: [musl]
'@oxfmt/binding-linux-s390x-gnu@0.41.0': '@oxfmt/binding-linux-s390x-gnu@0.42.0':
resolution: {integrity: sha512-qVf/zDC5cN9eKe4qI/O/m445er1IRl6swsSl7jHkqmOSVfknwCe5JXitYjZca+V/cNJSU/xPlC5EFMabMMFDpw==} resolution: {integrity: sha512-9X6+H2L0qMc2sCAgO9HS03bkGLMKvOFjmEdchaFlany3vNZOjnVui//D8k/xZAtQv2vaCs1reD5KAgPoIU4msA==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x] cpu: [s390x]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
'@oxfmt/binding-linux-x64-gnu@0.41.0': '@oxfmt/binding-linux-x64-gnu@0.42.0':
resolution: {integrity: sha512-ojxYWu7vUb6ysYqVCPHuAPVZHAI40gfZ0PDtZAMwVmh2f0V8ExpPIKoAKr7/8sNbAXJBBpZhs2coypIo2jJX4w==} resolution: {integrity: sha512-BajxJ6KQvMMdpXGPWhBGyjb2Jvx4uec0w+wi6TJZ6Tv7+MzPwe0pO8g5h1U0jyFgoaF7mDl6yKPW3ykWcbUJRw==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
'@oxfmt/binding-linux-x64-musl@0.41.0': '@oxfmt/binding-linux-x64-musl@0.42.0':
resolution: {integrity: sha512-O2exZLBxoCMIv2vlvcbkdedazJPTdG0VSup+0QUCfYQtx751zCZNboX2ZUOiQ/gDTdhtXvSiot0h6GEGkOyalA==} resolution: {integrity: sha512-0wV284I6vc5f0AqAhgAbHU2935B4bVpncPoe5n/WzVZY/KnHgqxC8iSFGeSyLWEgstFboIcWkOPck7tqbdHkzA==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
libc: [musl] libc: [musl]
'@oxfmt/binding-openharmony-arm64@0.41.0': '@oxfmt/binding-openharmony-arm64@0.42.0':
resolution: {integrity: sha512-N+31/VoL+z+NNBt8viy3I4NaIdPbiYeOnB884LKqvXldaE2dRztdPv3q5ipfZYv0RwFp7JfqS4I27K/DSHCakg==} resolution: {integrity: sha512-p4BG6HpGnhfgHk1rzZfyR6zcWkE7iLrWxyehHfXUy4Qa5j3e0roglFOdP/Nj5cJJ58MA3isQ5dlfkW2nNEpolw==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [openharmony] os: [openharmony]
'@oxfmt/binding-win32-arm64-msvc@0.41.0': '@oxfmt/binding-win32-arm64-msvc@0.42.0':
resolution: {integrity: sha512-Z7NAtu/RN8kjCQ1y5oDD0nTAeRswh3GJ93qwcW51srmidP7XPBmZbLlwERu1W5veCevQJtPS9xmkpcDTYsGIwQ==} resolution: {integrity: sha512-mn//WV60A+IetORDxYieYGAoQso4KnVRRjORDewMcod4irlRe0OSC7YPhhwaexYNPQz/GCFk+v9iUcZ2W22yxQ==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
'@oxfmt/binding-win32-ia32-msvc@0.41.0': '@oxfmt/binding-win32-ia32-msvc@0.42.0':
resolution: {integrity: sha512-uNxxP3l4bJ6VyzIeRqCmBU2Q0SkCFgIhvx9/9dJ9V8t/v+jP1IBsuaLwCXGR8JPHtkj4tFp+RHtUmU2ZYAUpMA==} resolution: {integrity: sha512-3gWltUrvuz4LPJXWivoAxZ28Of2O4N7OGuM5/X3ubPXCEV8hmgECLZzjz7UYvSDUS3grfdccQwmjynm+51EFpw==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ia32] cpu: [ia32]
os: [win32] os: [win32]
'@oxfmt/binding-win32-x64-msvc@0.41.0': '@oxfmt/binding-win32-x64-msvc@0.42.0':
resolution: {integrity: sha512-49ZSpbZ1noozyPapE8SUOSm3IN0Ze4b5nkO+4+7fq6oEYQQJFhE0saj5k/Gg4oewVPdjn0L3ZFeWk2Vehjcw7A==} resolution: {integrity: sha512-Wg4TMAfQRL9J9AZevJ/ZNy3uyyDztDYQtGr4P8UyyzIhLhFrdSmz1J/9JT+rv0fiCDLaFOBQnj3f3K3+a5PzDQ==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
'@oxlint-tsgolint/darwin-arm64@0.17.2': '@oxlint-tsgolint/darwin-arm64@0.17.4':
resolution: {integrity: sha512-1/QmWTRB8g5273wUnmmQxQz+kEFLJq8MYS82uFdxulUa2sdggWEQphnRhDRAzcbOCtrsya8+xGohv41dqRM/hQ==} resolution: {integrity: sha512-XEA7vl/T1+wiVnMq2MR6u5OYr2pwKHiAPgklxpK8tPrjQ1ci/amNmwI8ECn6TPXSCsC8SJsSN5xvzXm5H3dTfw==}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
'@oxlint-tsgolint/darwin-x64@0.17.2': '@oxlint-tsgolint/darwin-x64@0.17.4':
resolution: {integrity: sha512-GjEvcZPm8e9N2QtRlH5ttRr4II1ph86iR+gj7P7u47NuxKs099GivV0ISAsRlG09uYgRG3lTe2x5JrnMknuI0Q==} resolution: {integrity: sha512-EY2wmHWqkz72B0/ddMiAM564ZXpEuN1i7JqJJhLmDUQfiHX0/X0EqK3xlSScMCFcVicitOxbKO9oqbde3658yg==}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
'@oxlint-tsgolint/linux-arm64@0.17.2': '@oxlint-tsgolint/linux-arm64@0.17.4':
resolution: {integrity: sha512-Ybo4npjDMXQ15MBoftOBut9/gOdHhbnIhRmphx9owBQcZBmwrIy1+PfLqHRBuTCJ8diUmxQxSRkvXrGb+ogGqQ==} resolution: {integrity: sha512-XL2X8hgp3/TZWeHFLUnWrveTCBPxy1kNtpzfvVkLtBgyoaRyopPYL0Mnm+ypXKgGvUdcjDaiJhnRjFHWmqZkew==}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
'@oxlint-tsgolint/linux-x64@0.17.2': '@oxlint-tsgolint/linux-x64@0.17.4':
resolution: {integrity: sha512-bU3A7bg9qa1VeWUwYwbXaAcUCOW+fl+SndNMNoYpm2+nhsAzzr9k9jz5Qr7NeKwbYet3qETjmhCmmfqe1syiPA==} resolution: {integrity: sha512-jT+aWtQuU8jefwfBLAZu16p4t8xUDjxL6KKlOeuwX3cS6NO60ITJ4Glm8eQYq5cGsOmYIKXNIe4ckPpL5LC+5g==}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
'@oxlint-tsgolint/win32-arm64@0.17.2': '@oxlint-tsgolint/win32-arm64@0.17.4':
resolution: {integrity: sha512-MeM1tyeg8J4DoHxAO3geDllM0Zm0tQDieQ701OXiS/vFA4QK+v+qBEJALqUys5obbIlLR2scmhzGor89bOr2ug==} resolution: {integrity: sha512-pnnkBaI5tHBFhx+EhmpUHccBT3VOAXTgWK2eQBVLE4a/ywhpHN+8D6/QQN+ZTaA4LTkKowvlGD6vDOVP5KRPvw==}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
'@oxlint-tsgolint/win32-x64@0.17.2': '@oxlint-tsgolint/win32-x64@0.17.4':
resolution: {integrity: sha512-XfmGnyosL9jDGPwZcoDqdYADQNXjzH5hZs0xoZFodBbQhI1oAuItw/XR6tgga6grjusPSMS7j373sSGLLrE3yg==} resolution: {integrity: sha512-JxT81aEUBNA/s01Ql2OQ2DLAsuM0M+mK9iLHunukOdPMhjA6NvFE/GtTablBYJKScK21d/xTvnoSLgQU3l22Cw==}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
'@oxlint/binding-android-arm-eabi@1.56.0': '@oxlint/binding-android-arm-eabi@1.57.0':
resolution: {integrity: sha512-IyfYPthZyiSKwAv/dLjeO18SaK8MxLI9Yss2JrRDyweQAkuL3LhEy7pwIwI7uA3KQc1Vdn20kdmj3q0oUIQL6A==} resolution: {integrity: sha512-C7EiyfAJG4B70496eV543nKiq5cH0o/xIh/ufbjQz3SIvHhlDDsyn+mRFh+aW8KskTyUpyH2LGWL8p2oN6bl1A==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm] cpu: [arm]
os: [android] os: [android]
'@oxlint/binding-android-arm64@1.56.0': '@oxlint/binding-android-arm64@1.57.0':
resolution: {integrity: sha512-Ga5zYrzH6vc/VFxhn6MmyUnYEfy9vRpwTIks99mY3j6Nz30yYpIkWryI0QKPCgvGUtDSXVLEaMum5nA+WrNOSg==} resolution: {integrity: sha512-9i80AresjZ/FZf5xK8tKFbhQnijD4s1eOZw6/FHUwD59HEZbVLRc2C88ADYJfLZrF5XofWDiRX/Ja9KefCLy7w==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [android] os: [android]
'@oxlint/binding-darwin-arm64@1.56.0': '@oxlint/binding-darwin-arm64@1.57.0':
resolution: {integrity: sha512-ogmbdJysnw/D4bDcpf1sPLpFThZ48lYp4aKYm10Z/6Nh1SON6NtnNhTNOlhEY296tDFItsZUz+2tgcSYqh8Eyw==} resolution: {integrity: sha512-0eUfhRz5L2yKa9I8k3qpyl37XK3oBS5BvrgdVIx599WZK63P8sMbg+0s4IuxmIiZuBK68Ek+Z+gcKgeYf0otsg==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
'@oxlint/binding-darwin-x64@1.56.0': '@oxlint/binding-darwin-x64@1.57.0':
resolution: {integrity: sha512-x8QE1h+RAtQ2g+3KPsP6Fk/tdz6zJQUv5c7fTrJxXV3GHOo+Ry5p/PsogU4U+iUZg0rj6hS+E4xi+mnwwlDCWQ==} resolution: {integrity: sha512-UvrSuzBaYOue+QMAcuDITe0k/Vhj6KZGjfnI6x+NkxBTke/VoM7ZisaxgNY0LWuBkTnd1OmeQfEQdQ48fRjkQg==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
'@oxlint/binding-freebsd-x64@1.56.0': '@oxlint/binding-freebsd-x64@1.57.0':
resolution: {integrity: sha512-6G+WMZvwJpMvY7my+/SHEjb7BTk/PFbePqLpmVmUJRIsJMy/UlyYqjpuh0RCgYYkPLcnXm1rUM04kbTk8yS1Yg==} resolution: {integrity: sha512-wtQq0dCoiw4bUwlsNVDJJ3pxJA218fOezpgtLKrbQqUtQJcM9yP8z+I9fu14aHg0uyAxIY+99toL6uBa2r7nxA==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64] cpu: [x64]
os: [freebsd] os: [freebsd]
'@oxlint/binding-linux-arm-gnueabihf@1.56.0': '@oxlint/binding-linux-arm-gnueabihf@1.57.0':
resolution: {integrity: sha512-YYHBsk/sl7fYwQOok+6W5lBPeUEvisznV/HZD2IfZmF3Bns6cPC3Z0vCtSEOaAWTjYWN3jVsdu55jMxKlsdlhg==} resolution: {integrity: sha512-qxFWl2BBBFcT4djKa+OtMdnLgoHEJXpqjyGwz8OhW35ImoCwR5qtAGqApNYce5260FQqoAHW8S8eZTjiX67Tsg==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
'@oxlint/binding-linux-arm-musleabihf@1.56.0': '@oxlint/binding-linux-arm-musleabihf@1.57.0':
resolution: {integrity: sha512-+AZK8rOUr78y8WT6XkDb04IbMRqauNV+vgT6f8ZLOH8wnpQ9i7Nol0XLxAu+Cq7Sb+J9wC0j6Km5hG8rj47/yQ==} resolution: {integrity: sha512-SQoIsBU7J0bDW15/f0/RvxHfY3Y0+eB/caKBQtNFbuerTiA6JCYx9P1MrrFTwY2dTm/lMgTSgskvCEYk2AtG/Q==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
'@oxlint/binding-linux-arm64-gnu@1.56.0': '@oxlint/binding-linux-arm64-gnu@1.57.0':
resolution: {integrity: sha512-urse2SnugwJRojUkGSSeH2LPMaje5Q50yQtvtL9HFckiyeqXzoFwOAZqD5TR29R2lq7UHidfFDM9EGcchcbb8A==} resolution: {integrity: sha512-jqxYd1W6WMeozsCmqe9Rzbu3SRrGTyGDAipRlRggetyYbUksJqJKvUNTQtZR/KFoJPb+grnSm5SHhdWrywv3RQ==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
'@oxlint/binding-linux-arm64-musl@1.56.0': '@oxlint/binding-linux-arm64-musl@1.57.0':
resolution: {integrity: sha512-rkTZkBfJ4TYLjansjSzL6mgZOdN5IvUnSq3oNJSLwBcNvy3dlgQtpHPrRxrCEbbcp7oQ6If0tkNaqfOsphYZ9g==} resolution: {integrity: sha512-i66WyEPVEvq9bxRUCJ/MP5EBfnTDN3nhwEdFZFTO5MmLLvzngfWEG3NSdXQzTT3vk5B9i6C2XSIYBh+aG6uqyg==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
libc: [musl] libc: [musl]
'@oxlint/binding-linux-ppc64-gnu@1.56.0': '@oxlint/binding-linux-ppc64-gnu@1.57.0':
resolution: {integrity: sha512-uqL1kMH3u69/e1CH2EJhP3CP28jw2ExLsku4o8RVAZ7fySo9zOyI2fy9pVlTAp4voBLVgzndXi3SgtdyCTa2aA==} resolution: {integrity: sha512-oMZDCwz4NobclZU3pH+V1/upVlJZiZvne4jQP+zhJwt+lmio4XXr4qG47CehvrW1Lx2YZiIHuxM2D4YpkG3KVA==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64] cpu: [ppc64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
'@oxlint/binding-linux-riscv64-gnu@1.56.0': '@oxlint/binding-linux-riscv64-gnu@1.57.0':
resolution: {integrity: sha512-j0CcMBOgV6KsRaBdsebIeiy7hCjEvq2KdEsiULf2LZqAq0v1M1lWjelhCV57LxsqaIGChXFuFJ0RiFrSRHPhSg==} resolution: {integrity: sha512-uoBnjJ3MMEBbfnWC1jSFr7/nSCkcQYa72NYoNtLl1imshDnWSolYCjzb8LVCwYCCfLJXD+0gBLD7fyC14c0+0g==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [riscv64] cpu: [riscv64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
'@oxlint/binding-linux-riscv64-musl@1.56.0': '@oxlint/binding-linux-riscv64-musl@1.57.0':
resolution: {integrity: sha512-7VDOiL8cDG3DQ/CY3yKjbV1c4YPvc4vH8qW09Vv+5ukq3l/Kcyr6XGCd5NvxUmxqDb2vjMpM+eW/4JrEEsUetA==} resolution: {integrity: sha512-BdrwD7haPZ8a9KrZhKJRSj6jwCor+Z8tHFZ3PT89Y3Jq5v3LfMfEePeAmD0LOTWpiTmzSzdmyw9ijneapiVHKQ==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [riscv64] cpu: [riscv64]
os: [linux] os: [linux]
libc: [musl] libc: [musl]
'@oxlint/binding-linux-s390x-gnu@1.56.0': '@oxlint/binding-linux-s390x-gnu@1.57.0':
resolution: {integrity: sha512-JGRpX0M+ikD3WpwJ7vKcHKV6Kg0dT52BW2Eu2BupXotYeqGXBrbY+QPkAyKO6MNgKozyTNaRh3r7g+VWgyAQYQ==} resolution: {integrity: sha512-BNs+7ZNsRstVg2tpNxAXfMX/Iv5oZh204dVyb8Z37+/gCh+yZqNTlg6YwCLIMPSk5wLWIGOaQjT0GUOahKYImw==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x] cpu: [s390x]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
'@oxlint/binding-linux-x64-gnu@1.56.0': '@oxlint/binding-linux-x64-gnu@1.57.0':
resolution: {integrity: sha512-dNaICPvtmuxFP/VbqdofrLqdS3bM/AKJN3LMJD52si44ea7Be1cBk6NpfIahaysG9Uo+L98QKddU9CD5L8UHnQ==} resolution: {integrity: sha512-AghS18w+XcENcAX0+BQGLiqjpqpaxKJa4cWWP0OWNLacs27vHBxu7TYkv9LUSGe5w8lOJHeMxcYfZNOAPqw2bg==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
libc: [glibc] libc: [glibc]
'@oxlint/binding-linux-x64-musl@1.56.0': '@oxlint/binding-linux-x64-musl@1.57.0':
resolution: {integrity: sha512-pF1vOtM+GuXmbklM1hV8WMsn6tCNPvkUzklj/Ej98JhlanbmA2RB1BILgOpwSuCTRTIYx2MXssmEyQQ90QF5aA==} resolution: {integrity: sha512-E/FV3GB8phu/Rpkhz5T96hAiJlGzn91qX5yj5gU754P5cmVGXY1Jw/VSjDSlZBCY3VHjsVLdzgdkJaomEmcNOg==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
libc: [musl] libc: [musl]
'@oxlint/binding-openharmony-arm64@1.56.0': '@oxlint/binding-openharmony-arm64@1.57.0':
resolution: {integrity: sha512-bp8NQ4RE6fDIFLa4bdBiOA+TAvkNkg+rslR+AvvjlLTYXLy9/uKAYLQudaQouWihLD/hgkrXIKKzXi5IXOewwg==} resolution: {integrity: sha512-xvZ2yZt0nUVfU14iuGv3V25jpr9pov5N0Wr28RXnHFxHCRxNDMtYPHV61gGLhN9IlXM96gI4pyYpLSJC5ClLCQ==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [openharmony] os: [openharmony]
'@oxlint/binding-win32-arm64-msvc@1.56.0': '@oxlint/binding-win32-arm64-msvc@1.57.0':
resolution: {integrity: sha512-PxT4OJDfMOQBzo3OlzFb9gkoSD+n8qSBxyVq2wQSZIHFQYGEqIRTo9M0ZStvZm5fdhMqaVYpOnJvH2hUMEDk/g==} resolution: {integrity: sha512-Z4D8Pd0AyHBKeazhdIXeUUy5sIS3Mo0veOlzlDECg6PhRRKgEsBJCCV1n+keUZtQ04OP+i7+itS3kOykUyNhDg==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
'@oxlint/binding-win32-ia32-msvc@1.56.0': '@oxlint/binding-win32-ia32-msvc@1.57.0':
resolution: {integrity: sha512-PTRy6sIEPqy2x8PTP1baBNReN/BNEFmde0L+mYeHmjXE1Vlcc9+I5nsqENsB2yAm5wLkzPoTNCMY/7AnabT4/A==} resolution: {integrity: sha512-StOZ9nFMVKvevicbQfql6Pouu9pgbeQnu60Fvhz2S6yfMaii+wnueLnqQ5I1JPgNF0Syew4voBlAaHD13wH6tw==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ia32] cpu: [ia32]
os: [win32] os: [win32]
'@oxlint/binding-win32-x64-msvc@1.56.0': '@oxlint/binding-win32-x64-msvc@1.57.0':
resolution: {integrity: sha512-ZHa0clocjLmIDr+1LwoWtxRcoYniAvERotvwKUYKhH41NVfl0Y4LNbyQkwMZzwDvKklKGvGZ5+DAG58/Ik47tQ==} resolution: {integrity: sha512-6PuxhYgth8TuW0+ABPOIkGdBYw+qYGxgIdXPHSVpiCDm+hqTTWCmC739St1Xni0DJBt8HnSHTG67i1y6gr8qrA==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
@ -1038,8 +1038,8 @@ packages:
'@types/yauzl@2.10.3': '@types/yauzl@2.10.3':
resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
'@uiw/codemirror-extensions-basic-setup@4.25.8': '@uiw/codemirror-extensions-basic-setup@4.25.9':
resolution: {integrity: sha512-9Rr+liiBmK4xzZHszL+twNRJApthqmITBwDP3emNTtTrkBFN4gHlqfp+nodKmoVt1+bUH1qQCtyqt+7dbDTHiw==} resolution: {integrity: sha512-QFAqr+pu6lDmNpAlecODcF49TlsrZ0bj15zPzfhiqSDl+Um3EsDLFLppixC7kFLn+rdDM2LTvVjn5CPvefpRgw==}
peerDependencies: peerDependencies:
'@codemirror/autocomplete': '>=6.0.0' '@codemirror/autocomplete': '>=6.0.0'
'@codemirror/commands': '>=6.0.0' '@codemirror/commands': '>=6.0.0'
@ -1049,8 +1049,8 @@ packages:
'@codemirror/state': '>=6.0.0' '@codemirror/state': '>=6.0.0'
'@codemirror/view': '>=6.0.0' '@codemirror/view': '>=6.0.0'
'@uiw/react-codemirror@4.25.8': '@uiw/react-codemirror@4.25.9':
resolution: {integrity: sha512-A0aLOuJZm2yJ+U9GlMFwxwFciztjd5LhcAG4SMqFxdD58wH+sCQXuY4UU5J2hqgS390qAlShtUgREvJPUonbuQ==} resolution: {integrity: sha512-HftqCBUYShAOH0pGi1CHP8vfm5L8fQ3+0j0VI6lQD6QpK+UBu3J7nxfEN5O/BXMilMNf9ZyFJRvRcuMMOLHMng==}
peerDependencies: peerDependencies:
'@babel/runtime': '>=7.11.0' '@babel/runtime': '>=7.11.0'
'@codemirror/state': '>=6.0.0' '@codemirror/state': '>=6.0.0'
@ -1178,8 +1178,8 @@ packages:
brace-expansion@2.0.2: brace-expansion@2.0.2:
resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
brace-expansion@5.0.4: brace-expansion@5.0.5:
resolution: {integrity: sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==} resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==}
engines: {node: 18 || 20 || >=22} engines: {node: 18 || 20 || >=22}
browserslist@4.28.1: browserslist@4.28.1:
@ -1477,8 +1477,8 @@ packages:
electron-publish@26.8.1: electron-publish@26.8.1:
resolution: {integrity: sha512-q+jrSTIh/Cv4eGZa7oVR+grEJo/FoLMYBAnSL5GCtqwUpr1T+VgKB/dn1pnzxIxqD8S/jP1yilT9VrwCqINR4w==} resolution: {integrity: sha512-q+jrSTIh/Cv4eGZa7oVR+grEJo/FoLMYBAnSL5GCtqwUpr1T+VgKB/dn1pnzxIxqD8S/jP1yilT9VrwCqINR4w==}
electron-to-chromium@1.5.321: electron-to-chromium@1.5.325:
resolution: {integrity: sha512-L2C7Q279W2D/J4PLZLk7sebOILDSWos7bMsMNN06rK482umHUrh/3lM8G7IlHFOYip2oAg5nha1rCMxr/rs6ZQ==} resolution: {integrity: sha512-PwfIw7WQSt3xX7yOf5OE/unLzsK9CaN2f/FvV3WjPR1Knoc1T9vePRVV4W1EM301JzzysK51K7FNKcusCr0zYA==}
electron-updater@6.8.3: electron-updater@6.8.3:
resolution: {integrity: sha512-Z6sgw3jgbikWKXei1ENdqFOxBP0WlXg3TtKfz0rgw2vIZFJUyI4pD7ZN7jrkm7EoMK+tcm/qTnPUdqfZukBlBQ==} resolution: {integrity: sha512-Z6sgw3jgbikWKXei1ENdqFOxBP0WlXg3TtKfz0rgw2vIZFJUyI4pD7ZN7jrkm7EoMK+tcm/qTnPUdqfZukBlBQ==}
@ -1498,8 +1498,8 @@ packages:
resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==} resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==}
engines: {node: '>=8.0.0'} engines: {node: '>=8.0.0'}
electron@41.0.3: electron@41.0.4:
resolution: {integrity: sha512-IDjx8liW1q+r7+MOip5W1Eo1eMwJzVObmYrd9yz2dPCkS7XlgLq3qPVMR80TpiROFp73iY30kTzMdpA6fEVs3A==} resolution: {integrity: sha512-rO08CxnAsAkKPFj3OZnxFkKrlnpSL3OCOewMDj5kaohVo++7e8hIT5Sl+tNl9WkNKiLvfZSW180ueA9s5zh9dg==}
engines: {node: '>= 12.20.55'} engines: {node: '>= 12.20.55'}
hasBin: true hasBin: true
@ -2064,8 +2064,8 @@ packages:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'} engines: {node: '>=10'}
lucide-react@1.0.1: lucide-react@1.7.0:
resolution: {integrity: sha512-lih7tKEczCYOQjVEzpFuxEuNzlwf+1yhvlMlEkGWJM3va8Pugv8bYXc/pRtcjPncaP7k84X0Pt/71ufxvqEPtQ==} resolution: {integrity: sha512-yI7BeItCLZJTXikmK4KNUGCKoGzSvbKlfCvw44bU4fXAL6v3gYS4uHD1jzsLkfwODYwI6Drw5Tu9Z5ulDe0TSg==}
peerDependencies: peerDependencies:
react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
@ -2275,9 +2275,9 @@ packages:
resolution: {integrity: sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==} resolution: {integrity: sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==}
engines: {node: ^18.17.0 || >=20.5.0} engines: {node: ^18.17.0 || >=20.5.0}
minipass-flush@1.0.5: minipass-flush@1.0.6:
resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} resolution: {integrity: sha512-7Uf5gMJZ2kTkFisE3toGxT991s+cg+vMh42nbZGM2bNxfYVpkpqRudf1QrcOy72a3PwcL4JYqL+4NY7t0Hdd0A==}
engines: {node: '>= 8'} engines: {node: '>=16 || 14 >=14.17'}
minipass-pipeline@1.2.4: minipass-pipeline@1.2.4:
resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==}
@ -2375,17 +2375,17 @@ packages:
resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
engines: {node: '>=10'} engines: {node: '>=10'}
oxfmt@0.41.0: oxfmt@0.42.0:
resolution: {integrity: sha512-sKLdJZdQ3bw6x9qKiT7+eID4MNEXlDHf5ZacfIircrq6Qwjk0L6t2/JQlZZrVHTXJawK3KaMuBoJnEJPcqCEdg==} resolution: {integrity: sha512-QhejGErLSMReNuZ6vxgFHDyGoPbjTRNi6uGHjy0cvIjOQFqD6xmr/T+3L41ixR3NIgzcNiJ6ylQKpvShTgDfqg==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true hasBin: true
oxlint-tsgolint@0.17.2: oxlint-tsgolint@0.17.4:
resolution: {integrity: sha512-W3gmZSOzNFGs9EwU8i3xlDpC0aqynQNtoDnaftdAZ3FE8cR7W625pPRbSmtsUOtTC0MPixx1i08R6uRVLfPp7g==} resolution: {integrity: sha512-4F/NXJiK2KnK4LQiULUPXRzVq0LOfextGvwCVRW1VKQbF5epI3MDMEGVAl5XjAGL6IFc7xBc/eVA95wczPeEQg==}
hasBin: true hasBin: true
oxlint@1.56.0: oxlint@1.57.0:
resolution: {integrity: sha512-Q+5Mj5PVaH/R6/fhMMFzw4dT+KPB+kQW4kaL8FOIq7tfhlnEVp6+3lcWqFruuTNlUo9srZUW3qH7Id4pskeR6g==} resolution: {integrity: sha512-DGFsuBX5MFZX9yiDdtKjTrYPq45CZ8Fft6qCltJITYZxfwYjVdGf/6wycGYTACloauwIPxUnYhBVeZbHvleGhw==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@ -3271,19 +3271,19 @@ snapshots:
'@codemirror/autocomplete@6.20.1': '@codemirror/autocomplete@6.20.1':
dependencies: dependencies:
'@codemirror/language': 6.12.2 '@codemirror/language': 6.12.3
'@codemirror/state': 6.6.0 '@codemirror/state': 6.6.0
'@codemirror/view': 6.40.0 '@codemirror/view': 6.40.0
'@lezer/common': 1.5.1 '@lezer/common': 1.5.1
'@codemirror/commands@6.10.3': '@codemirror/commands@6.10.3':
dependencies: dependencies:
'@codemirror/language': 6.12.2 '@codemirror/language': 6.12.3
'@codemirror/state': 6.6.0 '@codemirror/state': 6.6.0
'@codemirror/view': 6.40.0 '@codemirror/view': 6.40.0
'@lezer/common': 1.5.1 '@lezer/common': 1.5.1
'@codemirror/language@6.12.2': '@codemirror/language@6.12.3':
dependencies: dependencies:
'@codemirror/state': 6.6.0 '@codemirror/state': 6.6.0
'@codemirror/view': 6.40.0 '@codemirror/view': 6.40.0
@ -3310,7 +3310,7 @@ snapshots:
'@codemirror/theme-one-dark@6.1.3': '@codemirror/theme-one-dark@6.1.3':
dependencies: dependencies:
'@codemirror/language': 6.12.2 '@codemirror/language': 6.12.3
'@codemirror/state': 6.6.0 '@codemirror/state': 6.6.0
'@codemirror/view': 6.40.0 '@codemirror/view': 6.40.0
'@lezer/highlight': 1.2.3 '@lezer/highlight': 1.2.3
@ -3560,9 +3560,9 @@ snapshots:
'@huggingface/gguf@0.4.1': '@huggingface/gguf@0.4.1':
dependencies: dependencies:
'@huggingface/tasks': 0.20.6 '@huggingface/tasks': 0.20.7
'@huggingface/tasks@0.20.6': {} '@huggingface/tasks@0.20.7': {}
'@isaacs/cliui@8.0.2': '@isaacs/cliui@8.0.2':
dependencies: dependencies:
@ -3662,136 +3662,136 @@ snapshots:
'@oxc-project/types@0.122.0': {} '@oxc-project/types@0.122.0': {}
'@oxfmt/binding-android-arm-eabi@0.41.0': '@oxfmt/binding-android-arm-eabi@0.42.0':
optional: true optional: true
'@oxfmt/binding-android-arm64@0.41.0': '@oxfmt/binding-android-arm64@0.42.0':
optional: true optional: true
'@oxfmt/binding-darwin-arm64@0.41.0': '@oxfmt/binding-darwin-arm64@0.42.0':
optional: true optional: true
'@oxfmt/binding-darwin-x64@0.41.0': '@oxfmt/binding-darwin-x64@0.42.0':
optional: true optional: true
'@oxfmt/binding-freebsd-x64@0.41.0': '@oxfmt/binding-freebsd-x64@0.42.0':
optional: true optional: true
'@oxfmt/binding-linux-arm-gnueabihf@0.41.0': '@oxfmt/binding-linux-arm-gnueabihf@0.42.0':
optional: true optional: true
'@oxfmt/binding-linux-arm-musleabihf@0.41.0': '@oxfmt/binding-linux-arm-musleabihf@0.42.0':
optional: true optional: true
'@oxfmt/binding-linux-arm64-gnu@0.41.0': '@oxfmt/binding-linux-arm64-gnu@0.42.0':
optional: true optional: true
'@oxfmt/binding-linux-arm64-musl@0.41.0': '@oxfmt/binding-linux-arm64-musl@0.42.0':
optional: true optional: true
'@oxfmt/binding-linux-ppc64-gnu@0.41.0': '@oxfmt/binding-linux-ppc64-gnu@0.42.0':
optional: true optional: true
'@oxfmt/binding-linux-riscv64-gnu@0.41.0': '@oxfmt/binding-linux-riscv64-gnu@0.42.0':
optional: true optional: true
'@oxfmt/binding-linux-riscv64-musl@0.41.0': '@oxfmt/binding-linux-riscv64-musl@0.42.0':
optional: true optional: true
'@oxfmt/binding-linux-s390x-gnu@0.41.0': '@oxfmt/binding-linux-s390x-gnu@0.42.0':
optional: true optional: true
'@oxfmt/binding-linux-x64-gnu@0.41.0': '@oxfmt/binding-linux-x64-gnu@0.42.0':
optional: true optional: true
'@oxfmt/binding-linux-x64-musl@0.41.0': '@oxfmt/binding-linux-x64-musl@0.42.0':
optional: true optional: true
'@oxfmt/binding-openharmony-arm64@0.41.0': '@oxfmt/binding-openharmony-arm64@0.42.0':
optional: true optional: true
'@oxfmt/binding-win32-arm64-msvc@0.41.0': '@oxfmt/binding-win32-arm64-msvc@0.42.0':
optional: true optional: true
'@oxfmt/binding-win32-ia32-msvc@0.41.0': '@oxfmt/binding-win32-ia32-msvc@0.42.0':
optional: true optional: true
'@oxfmt/binding-win32-x64-msvc@0.41.0': '@oxfmt/binding-win32-x64-msvc@0.42.0':
optional: true optional: true
'@oxlint-tsgolint/darwin-arm64@0.17.2': '@oxlint-tsgolint/darwin-arm64@0.17.4':
optional: true optional: true
'@oxlint-tsgolint/darwin-x64@0.17.2': '@oxlint-tsgolint/darwin-x64@0.17.4':
optional: true optional: true
'@oxlint-tsgolint/linux-arm64@0.17.2': '@oxlint-tsgolint/linux-arm64@0.17.4':
optional: true optional: true
'@oxlint-tsgolint/linux-x64@0.17.2': '@oxlint-tsgolint/linux-x64@0.17.4':
optional: true optional: true
'@oxlint-tsgolint/win32-arm64@0.17.2': '@oxlint-tsgolint/win32-arm64@0.17.4':
optional: true optional: true
'@oxlint-tsgolint/win32-x64@0.17.2': '@oxlint-tsgolint/win32-x64@0.17.4':
optional: true optional: true
'@oxlint/binding-android-arm-eabi@1.56.0': '@oxlint/binding-android-arm-eabi@1.57.0':
optional: true optional: true
'@oxlint/binding-android-arm64@1.56.0': '@oxlint/binding-android-arm64@1.57.0':
optional: true optional: true
'@oxlint/binding-darwin-arm64@1.56.0': '@oxlint/binding-darwin-arm64@1.57.0':
optional: true optional: true
'@oxlint/binding-darwin-x64@1.56.0': '@oxlint/binding-darwin-x64@1.57.0':
optional: true optional: true
'@oxlint/binding-freebsd-x64@1.56.0': '@oxlint/binding-freebsd-x64@1.57.0':
optional: true optional: true
'@oxlint/binding-linux-arm-gnueabihf@1.56.0': '@oxlint/binding-linux-arm-gnueabihf@1.57.0':
optional: true optional: true
'@oxlint/binding-linux-arm-musleabihf@1.56.0': '@oxlint/binding-linux-arm-musleabihf@1.57.0':
optional: true optional: true
'@oxlint/binding-linux-arm64-gnu@1.56.0': '@oxlint/binding-linux-arm64-gnu@1.57.0':
optional: true optional: true
'@oxlint/binding-linux-arm64-musl@1.56.0': '@oxlint/binding-linux-arm64-musl@1.57.0':
optional: true optional: true
'@oxlint/binding-linux-ppc64-gnu@1.56.0': '@oxlint/binding-linux-ppc64-gnu@1.57.0':
optional: true optional: true
'@oxlint/binding-linux-riscv64-gnu@1.56.0': '@oxlint/binding-linux-riscv64-gnu@1.57.0':
optional: true optional: true
'@oxlint/binding-linux-riscv64-musl@1.56.0': '@oxlint/binding-linux-riscv64-musl@1.57.0':
optional: true optional: true
'@oxlint/binding-linux-s390x-gnu@1.56.0': '@oxlint/binding-linux-s390x-gnu@1.57.0':
optional: true optional: true
'@oxlint/binding-linux-x64-gnu@1.56.0': '@oxlint/binding-linux-x64-gnu@1.57.0':
optional: true optional: true
'@oxlint/binding-linux-x64-musl@1.56.0': '@oxlint/binding-linux-x64-musl@1.57.0':
optional: true optional: true
'@oxlint/binding-openharmony-arm64@1.56.0': '@oxlint/binding-openharmony-arm64@1.57.0':
optional: true optional: true
'@oxlint/binding-win32-arm64-msvc@1.56.0': '@oxlint/binding-win32-arm64-msvc@1.57.0':
optional: true optional: true
'@oxlint/binding-win32-ia32-msvc@1.56.0': '@oxlint/binding-win32-ia32-msvc@1.57.0':
optional: true optional: true
'@oxlint/binding-win32-x64-msvc@1.56.0': '@oxlint/binding-win32-x64-msvc@1.57.0':
optional: true optional: true
'@pkgjs/parseargs@0.11.0': '@pkgjs/parseargs@0.11.0':
@ -3946,24 +3946,24 @@ snapshots:
dependencies: dependencies:
'@types/node': 25.5.0 '@types/node': 25.5.0
'@uiw/codemirror-extensions-basic-setup@4.25.8(@codemirror/autocomplete@6.20.1)(@codemirror/commands@6.10.3)(@codemirror/language@6.12.2)(@codemirror/lint@6.9.5)(@codemirror/search@6.6.0)(@codemirror/state@6.6.0)(@codemirror/view@6.40.0)': '@uiw/codemirror-extensions-basic-setup@4.25.9(@codemirror/autocomplete@6.20.1)(@codemirror/commands@6.10.3)(@codemirror/language@6.12.3)(@codemirror/lint@6.9.5)(@codemirror/search@6.6.0)(@codemirror/state@6.6.0)(@codemirror/view@6.40.0)':
dependencies: dependencies:
'@codemirror/autocomplete': 6.20.1 '@codemirror/autocomplete': 6.20.1
'@codemirror/commands': 6.10.3 '@codemirror/commands': 6.10.3
'@codemirror/language': 6.12.2 '@codemirror/language': 6.12.3
'@codemirror/lint': 6.9.5 '@codemirror/lint': 6.9.5
'@codemirror/search': 6.6.0 '@codemirror/search': 6.6.0
'@codemirror/state': 6.6.0 '@codemirror/state': 6.6.0
'@codemirror/view': 6.40.0 '@codemirror/view': 6.40.0
'@uiw/react-codemirror@4.25.8(@babel/runtime@7.29.2)(@codemirror/autocomplete@6.20.1)(@codemirror/language@6.12.2)(@codemirror/lint@6.9.5)(@codemirror/search@6.6.0)(@codemirror/state@6.6.0)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.40.0)(codemirror@6.0.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': '@uiw/react-codemirror@4.25.9(@babel/runtime@7.29.2)(@codemirror/autocomplete@6.20.1)(@codemirror/language@6.12.3)(@codemirror/lint@6.9.5)(@codemirror/search@6.6.0)(@codemirror/state@6.6.0)(@codemirror/theme-one-dark@6.1.3)(@codemirror/view@6.40.0)(codemirror@6.0.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
dependencies: dependencies:
'@babel/runtime': 7.29.2 '@babel/runtime': 7.29.2
'@codemirror/commands': 6.10.3 '@codemirror/commands': 6.10.3
'@codemirror/state': 6.6.0 '@codemirror/state': 6.6.0
'@codemirror/theme-one-dark': 6.1.3 '@codemirror/theme-one-dark': 6.1.3
'@codemirror/view': 6.40.0 '@codemirror/view': 6.40.0
'@uiw/codemirror-extensions-basic-setup': 4.25.8(@codemirror/autocomplete@6.20.1)(@codemirror/commands@6.10.3)(@codemirror/language@6.12.2)(@codemirror/lint@6.9.5)(@codemirror/search@6.6.0)(@codemirror/state@6.6.0)(@codemirror/view@6.40.0) '@uiw/codemirror-extensions-basic-setup': 4.25.9(@codemirror/autocomplete@6.20.1)(@codemirror/commands@6.10.3)(@codemirror/language@6.12.3)(@codemirror/lint@6.9.5)(@codemirror/search@6.6.0)(@codemirror/state@6.6.0)(@codemirror/view@6.40.0)
codemirror: 6.0.2 codemirror: 6.0.2
react: 19.2.4 react: 19.2.4
react-dom: 19.2.4(react@19.2.4) react-dom: 19.2.4(react@19.2.4)
@ -4096,7 +4096,7 @@ snapshots:
dependencies: dependencies:
balanced-match: 1.0.2 balanced-match: 1.0.2
brace-expansion@5.0.4: brace-expansion@5.0.5:
dependencies: dependencies:
balanced-match: 4.0.4 balanced-match: 4.0.4
@ -4104,7 +4104,7 @@ snapshots:
dependencies: dependencies:
baseline-browser-mapping: 2.10.10 baseline-browser-mapping: 2.10.10
caniuse-lite: 1.0.30001781 caniuse-lite: 1.0.30001781
electron-to-chromium: 1.5.321 electron-to-chromium: 1.5.325
node-releases: 2.0.36 node-releases: 2.0.36
update-browserslist-db: 1.2.3(browserslist@4.28.1) update-browserslist-db: 1.2.3(browserslist@4.28.1)
@ -4159,7 +4159,7 @@ snapshots:
lru-cache: 10.4.3 lru-cache: 10.4.3
minipass: 7.1.3 minipass: 7.1.3
minipass-collect: 2.0.1 minipass-collect: 2.0.1
minipass-flush: 1.0.5 minipass-flush: 1.0.6
minipass-pipeline: 1.2.4 minipass-pipeline: 1.2.4
p-map: 7.0.4 p-map: 7.0.4
ssri: 12.0.0 ssri: 12.0.0
@ -4244,7 +4244,7 @@ snapshots:
dependencies: dependencies:
'@codemirror/autocomplete': 6.20.1 '@codemirror/autocomplete': 6.20.1
'@codemirror/commands': 6.10.3 '@codemirror/commands': 6.10.3
'@codemirror/language': 6.12.2 '@codemirror/language': 6.12.3
'@codemirror/lint': 6.9.5 '@codemirror/lint': 6.9.5
'@codemirror/search': 6.6.0 '@codemirror/search': 6.6.0
'@codemirror/state': 6.6.0 '@codemirror/state': 6.6.0
@ -4456,7 +4456,7 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
electron-to-chromium@1.5.321: {} electron-to-chromium@1.5.325: {}
electron-updater@6.8.3: electron-updater@6.8.3:
dependencies: dependencies:
@ -4495,7 +4495,7 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
electron@41.0.3: electron@41.0.4:
dependencies: dependencies:
'@electron/get': 2.0.3 '@electron/get': 2.0.3
'@types/node': 24.12.0 '@types/node': 24.12.0
@ -5113,7 +5113,7 @@ snapshots:
dependencies: dependencies:
yallist: 4.0.0 yallist: 4.0.0
lucide-react@1.0.1(react@19.2.4): lucide-react@1.7.0(react@19.2.4):
dependencies: dependencies:
react: 19.2.4 react: 19.2.4
@ -5128,7 +5128,7 @@ snapshots:
http-cache-semantics: 4.2.0 http-cache-semantics: 4.2.0
minipass: 7.1.3 minipass: 7.1.3
minipass-fetch: 4.0.1 minipass-fetch: 4.0.1
minipass-flush: 1.0.5 minipass-flush: 1.0.6
minipass-pipeline: 1.2.4 minipass-pipeline: 1.2.4
negotiator: 1.0.0 negotiator: 1.0.0
proc-log: 5.0.0 proc-log: 5.0.0
@ -5512,7 +5512,7 @@ snapshots:
minimatch@10.2.4: minimatch@10.2.4:
dependencies: dependencies:
brace-expansion: 5.0.4 brace-expansion: 5.0.5
minimatch@3.1.5: minimatch@3.1.5:
dependencies: dependencies:
@ -5540,9 +5540,9 @@ snapshots:
optionalDependencies: optionalDependencies:
encoding: 0.1.13 encoding: 0.1.13
minipass-flush@1.0.5: minipass-flush@1.0.6:
dependencies: dependencies:
minipass: 3.3.6 minipass: 7.1.3
minipass-pipeline@1.2.4: minipass-pipeline@1.2.4:
dependencies: dependencies:
@ -5651,61 +5651,61 @@ snapshots:
strip-ansi: 6.0.1 strip-ansi: 6.0.1
wcwidth: 1.0.1 wcwidth: 1.0.1
oxfmt@0.41.0: oxfmt@0.42.0:
dependencies: dependencies:
tinypool: 2.1.0 tinypool: 2.1.0
optionalDependencies: optionalDependencies:
'@oxfmt/binding-android-arm-eabi': 0.41.0 '@oxfmt/binding-android-arm-eabi': 0.42.0
'@oxfmt/binding-android-arm64': 0.41.0 '@oxfmt/binding-android-arm64': 0.42.0
'@oxfmt/binding-darwin-arm64': 0.41.0 '@oxfmt/binding-darwin-arm64': 0.42.0
'@oxfmt/binding-darwin-x64': 0.41.0 '@oxfmt/binding-darwin-x64': 0.42.0
'@oxfmt/binding-freebsd-x64': 0.41.0 '@oxfmt/binding-freebsd-x64': 0.42.0
'@oxfmt/binding-linux-arm-gnueabihf': 0.41.0 '@oxfmt/binding-linux-arm-gnueabihf': 0.42.0
'@oxfmt/binding-linux-arm-musleabihf': 0.41.0 '@oxfmt/binding-linux-arm-musleabihf': 0.42.0
'@oxfmt/binding-linux-arm64-gnu': 0.41.0 '@oxfmt/binding-linux-arm64-gnu': 0.42.0
'@oxfmt/binding-linux-arm64-musl': 0.41.0 '@oxfmt/binding-linux-arm64-musl': 0.42.0
'@oxfmt/binding-linux-ppc64-gnu': 0.41.0 '@oxfmt/binding-linux-ppc64-gnu': 0.42.0
'@oxfmt/binding-linux-riscv64-gnu': 0.41.0 '@oxfmt/binding-linux-riscv64-gnu': 0.42.0
'@oxfmt/binding-linux-riscv64-musl': 0.41.0 '@oxfmt/binding-linux-riscv64-musl': 0.42.0
'@oxfmt/binding-linux-s390x-gnu': 0.41.0 '@oxfmt/binding-linux-s390x-gnu': 0.42.0
'@oxfmt/binding-linux-x64-gnu': 0.41.0 '@oxfmt/binding-linux-x64-gnu': 0.42.0
'@oxfmt/binding-linux-x64-musl': 0.41.0 '@oxfmt/binding-linux-x64-musl': 0.42.0
'@oxfmt/binding-openharmony-arm64': 0.41.0 '@oxfmt/binding-openharmony-arm64': 0.42.0
'@oxfmt/binding-win32-arm64-msvc': 0.41.0 '@oxfmt/binding-win32-arm64-msvc': 0.42.0
'@oxfmt/binding-win32-ia32-msvc': 0.41.0 '@oxfmt/binding-win32-ia32-msvc': 0.42.0
'@oxfmt/binding-win32-x64-msvc': 0.41.0 '@oxfmt/binding-win32-x64-msvc': 0.42.0
oxlint-tsgolint@0.17.2: oxlint-tsgolint@0.17.4:
optionalDependencies: optionalDependencies:
'@oxlint-tsgolint/darwin-arm64': 0.17.2 '@oxlint-tsgolint/darwin-arm64': 0.17.4
'@oxlint-tsgolint/darwin-x64': 0.17.2 '@oxlint-tsgolint/darwin-x64': 0.17.4
'@oxlint-tsgolint/linux-arm64': 0.17.2 '@oxlint-tsgolint/linux-arm64': 0.17.4
'@oxlint-tsgolint/linux-x64': 0.17.2 '@oxlint-tsgolint/linux-x64': 0.17.4
'@oxlint-tsgolint/win32-arm64': 0.17.2 '@oxlint-tsgolint/win32-arm64': 0.17.4
'@oxlint-tsgolint/win32-x64': 0.17.2 '@oxlint-tsgolint/win32-x64': 0.17.4
oxlint@1.56.0(oxlint-tsgolint@0.17.2): oxlint@1.57.0(oxlint-tsgolint@0.17.4):
optionalDependencies: optionalDependencies:
'@oxlint/binding-android-arm-eabi': 1.56.0 '@oxlint/binding-android-arm-eabi': 1.57.0
'@oxlint/binding-android-arm64': 1.56.0 '@oxlint/binding-android-arm64': 1.57.0
'@oxlint/binding-darwin-arm64': 1.56.0 '@oxlint/binding-darwin-arm64': 1.57.0
'@oxlint/binding-darwin-x64': 1.56.0 '@oxlint/binding-darwin-x64': 1.57.0
'@oxlint/binding-freebsd-x64': 1.56.0 '@oxlint/binding-freebsd-x64': 1.57.0
'@oxlint/binding-linux-arm-gnueabihf': 1.56.0 '@oxlint/binding-linux-arm-gnueabihf': 1.57.0
'@oxlint/binding-linux-arm-musleabihf': 1.56.0 '@oxlint/binding-linux-arm-musleabihf': 1.57.0
'@oxlint/binding-linux-arm64-gnu': 1.56.0 '@oxlint/binding-linux-arm64-gnu': 1.57.0
'@oxlint/binding-linux-arm64-musl': 1.56.0 '@oxlint/binding-linux-arm64-musl': 1.57.0
'@oxlint/binding-linux-ppc64-gnu': 1.56.0 '@oxlint/binding-linux-ppc64-gnu': 1.57.0
'@oxlint/binding-linux-riscv64-gnu': 1.56.0 '@oxlint/binding-linux-riscv64-gnu': 1.57.0
'@oxlint/binding-linux-riscv64-musl': 1.56.0 '@oxlint/binding-linux-riscv64-musl': 1.57.0
'@oxlint/binding-linux-s390x-gnu': 1.56.0 '@oxlint/binding-linux-s390x-gnu': 1.57.0
'@oxlint/binding-linux-x64-gnu': 1.56.0 '@oxlint/binding-linux-x64-gnu': 1.57.0
'@oxlint/binding-linux-x64-musl': 1.56.0 '@oxlint/binding-linux-x64-musl': 1.57.0
'@oxlint/binding-openharmony-arm64': 1.56.0 '@oxlint/binding-openharmony-arm64': 1.57.0
'@oxlint/binding-win32-arm64-msvc': 1.56.0 '@oxlint/binding-win32-arm64-msvc': 1.57.0
'@oxlint/binding-win32-ia32-msvc': 1.56.0 '@oxlint/binding-win32-ia32-msvc': 1.57.0
'@oxlint/binding-win32-x64-msvc': 1.56.0 '@oxlint/binding-win32-x64-msvc': 1.57.0
oxlint-tsgolint: 0.17.2 oxlint-tsgolint: 0.17.4
p-cancelable@2.1.1: {} p-cancelable@2.1.1: {}

View file

@ -91,7 +91,7 @@ export const ConfigFileManager = ({
return ( return (
<> <>
<Stack gap="xs"> <Stack gap="xs" mb="sm">
<Text fw={500} size="sm"> <Text fw={500} size="sm">
Configuration Configuration
</Text> </Text>

View file

@ -1,9 +1,15 @@
import { Group, NumberInput, SimpleGrid, Stack, Text } from '@mantine/core'; import { Group, NumberInput, Select, SimpleGrid, Stack, Text } from '@mantine/core';
import { CheckboxWithTooltip } from '@/components/CheckboxWithTooltip'; import { CheckboxWithTooltip } from '@/components/CheckboxWithTooltip';
import { InfoTooltip } from '@/components/InfoTooltip'; import { InfoTooltip } from '@/components/InfoTooltip';
import { useLaunchConfigStore } from '@/stores/launchConfig'; import { useLaunchConfigStore } from '@/stores/launchConfig';
const KV_QUANT_OPTIONS = [
{ value: '0', label: 'F16 (off)' },
{ value: '1', label: 'Q8 (8-bit)' },
{ value: '2', label: 'Q4 (4-bit)' },
];
export const PerformanceTab = () => { export const PerformanceTab = () => {
const { const {
noshift, noshift,
@ -16,6 +22,7 @@ export const PerformanceTab = () => {
moeexperts, moeexperts,
smartcache, smartcache,
pipelineparallel, pipelineparallel,
quantkv,
setNoshift, setNoshift,
setFlashattention, setFlashattention,
setLowvram, setLowvram,
@ -25,9 +32,20 @@ export const PerformanceTab = () => {
setMoeexperts, setMoeexperts,
setSmartcache, setSmartcache,
setPipelineparallel, setPipelineparallel,
setQuantkv,
} = useLaunchConfigStore(); } = useLaunchConfigStore();
const isGpuAcceleration = acceleration === 'cuda' || acceleration === 'rocm'; const isGpuAcceleration = acceleration === 'cuda' || acceleration === 'rocm';
const quantkvActive = quantkv > 0;
const quantkvWithoutFlash = quantkvActive && !flashattention;
const handleQuantkvChange = (value: string | null) => {
const level = Number(value ?? '0');
setQuantkv(level);
if (level > 0) {
setFlashattention(true);
}
};
return ( return (
<Stack gap="md"> <Stack gap="md">
@ -62,7 +80,11 @@ export const PerformanceTab = () => {
checked={flashattention} checked={flashattention}
onChange={setFlashattention} onChange={setFlashattention}
label="Flash Attention" label="Flash Attention"
tooltip="Enable flash attention to reduce memory usage and improve performance. May produce incorrect answers for some prompts." tooltip={
quantkvActive
? 'Required for KV Cache Quantization. Without it, only the K cache is quantized and VRAM usage may actually increase.'
: 'Enable flash attention to reduce memory usage and improve performance. May produce incorrect answers for some prompts.'
}
/> />
<CheckboxWithTooltip <CheckboxWithTooltip
@ -112,6 +134,31 @@ export const PerformanceTab = () => {
<div> <div>
<Stack gap="md"> <Stack gap="md">
<Group gap="lg" align="flex-start" wrap="nowrap">
<div style={{ flex: 1, minWidth: 200 }}>
<Group gap="xs" align="center" mb="xs">
<Text size="sm" fw={500}>
KV Cache Quantization
</Text>
<InfoTooltip label="Quantize the KV cache to reduce VRAM usage. Works best with Flash Attention (auto-enabled). May conflict with Context Shifting." />
</Group>
<Select
value={String(quantkv)}
onChange={handleQuantkvChange}
data={KV_QUANT_OPTIONS}
size="sm"
allowDeselect={false}
/>
{quantkvWithoutFlash && (
<Text size="xs" c="red" mt={4}>
Flash Attention is off. Only K cache will be quantized; performance and VRAM may suffer.
</Text>
)}
</div>
<div style={{ flex: 1, minWidth: 200 }} />
</Group>
<Group gap="lg" align="flex-start" wrap="nowrap"> <Group gap="lg" align="flex-start" wrap="nowrap">
<div style={{ flex: 1, minWidth: 200 }}> <div style={{ flex: 1, minWidth: 200 }}>
<Group gap="xs" align="center" mb="xs"> <Group gap="xs" align="center" mb="xs">

View file

@ -67,6 +67,7 @@ export const LaunchScreen = ({ onLaunch }: LaunchScreenProps) => {
moeexperts, moeexperts,
smartcache, smartcache,
pipelineparallel, pipelineparallel,
quantkv,
parseAndApplyConfigFile, parseAndApplyConfigFile,
loadConfigFromFile, loadConfigFromFile,
setModel, setModel,
@ -185,6 +186,7 @@ export const LaunchScreen = ({ onLaunch }: LaunchScreenProps) => {
usemmap, usemmap,
usevulkan: acceleration === 'vulkan', usevulkan: acceleration === 'vulkan',
websearch, websearch,
quantkv,
}); });
const handleCreateNewConfig = async (configName: string) => { const handleCreateNewConfig = async (configName: string) => {
@ -298,6 +300,7 @@ export const LaunchScreen = ({ onLaunch }: LaunchScreenProps) => {
tensorSplit, tensorSplit,
usemmap, usemmap,
websearch, websearch,
quantkv,
}); });
}, [ }, [
handleLaunch, handleLaunch,
@ -338,6 +341,7 @@ export const LaunchScreen = ({ onLaunch }: LaunchScreenProps) => {
moeexperts, moeexperts,
smartcache, smartcache,
pipelineparallel, pipelineparallel,
quantkv,
]); ]);
return ( return (

View file

@ -46,6 +46,7 @@ interface LaunchArgs {
moeexperts: number; moeexperts: number;
smartcache: boolean; smartcache: boolean;
pipelineparallel: boolean; pipelineparallel: boolean;
quantkv: number;
} }
const buildModelArgs = (model: string, sdmodel: string, launchArgs: LaunchArgs) => { const buildModelArgs = (model: string, sdmodel: string, launchArgs: LaunchArgs) => {
@ -157,6 +158,10 @@ const buildConfigArgs = (isImageMode: boolean, launchArgs: LaunchArgs) => {
args.push('--pipelineparallel'); args.push('--pipelineparallel');
} }
if (launchArgs.quantkv > 0) {
args.push('--quantkv', launchArgs.quantkv.toString());
}
return args; return args;
}; };

View file

@ -240,7 +240,6 @@ export async function getVersionInfo() {
osVersion: release(), osVersion: release(),
platform, platform,
uvVersion, uvVersion,
v8Version: versions.v8,
}; };
} }

View file

@ -44,6 +44,7 @@ interface LaunchConfigState {
moeexperts: number; moeexperts: number;
smartcache: boolean; smartcache: boolean;
pipelineparallel: boolean; pipelineparallel: boolean;
quantkv: number;
isImageGenerationMode: boolean; isImageGenerationMode: boolean;
isTextMode: boolean; isTextMode: boolean;
@ -86,6 +87,7 @@ interface LaunchConfigState {
setMoeexperts: (moeexperts: number) => void; setMoeexperts: (moeexperts: number) => void;
setSmartcache: (smartcache: boolean) => void; setSmartcache: (smartcache: boolean) => void;
setPipelineparallel: (pipelineparallel: boolean) => void; setPipelineparallel: (pipelineparallel: boolean) => void;
setQuantkv: (quantkv: number) => void;
parseAndApplyConfigFile: (configPath: string) => Promise<void>; parseAndApplyConfigFile: (configPath: string) => Promise<void>;
loadConfigFromFile: ( loadConfigFromFile: (
@ -392,10 +394,17 @@ export const useLaunchConfigStore = create<LaunchConfigState>((set, get) => ({
updates.pipelineparallel = false; updates.pipelineparallel = false;
} }
if (typeof configData.quantkv === 'number') {
updates.quantkv = configData.quantkv;
} else {
updates.quantkv = 0;
}
set(updates); set(updates);
} }
}, },
pipelineparallel: false, pipelineparallel: false,
quantkv: 0,
port: undefined, port: undefined,
preLaunchCommands: [''], preLaunchCommands: [''],
quantmatmul: true, quantmatmul: true,
@ -453,6 +462,7 @@ export const useLaunchConfigStore = create<LaunchConfigState>((set, get) => ({
setNocertify: (nocertify) => set({ nocertify }), setNocertify: (nocertify) => set({ nocertify }),
setNoshift: (noshift) => set({ noshift }), setNoshift: (noshift) => set({ noshift }),
setPipelineparallel: (pipelineparallel) => set({ pipelineparallel }), setPipelineparallel: (pipelineparallel) => set({ pipelineparallel }),
setQuantkv: (quantkv) => set({ quantkv }),
setPort: (port) => set({ port }), setPort: (port) => set({ port }),
setPreLaunchCommands: (commands) => set({ preLaunchCommands: commands }), setPreLaunchCommands: (commands) => set({ preLaunchCommands: commands }),
setQuantmatmul: (quantmatmul) => set({ quantmatmul }), setQuantmatmul: (quantmatmul) => set({ quantmatmul }),

View file

@ -119,6 +119,7 @@ export interface KoboldConfig {
moeexperts?: number; moeexperts?: number;
smartcache?: boolean; smartcache?: boolean;
pipelineparallel?: boolean; pipelineparallel?: boolean;
quantkv?: number;
autoGpuLayers?: boolean; autoGpuLayers?: boolean;
model?: string; model?: string;
backend?: string; backend?: string;
@ -177,7 +178,6 @@ export interface SystemVersionInfo {
electronVersion: string; electronVersion: string;
nodeVersion: string; nodeVersion: string;
chromeVersion: string; chromeVersion: string;
v8Version: string;
osVersion: string; osVersion: string;
platform: string; platform: string;
arch: string; arch: string;

View file

@ -32,7 +32,6 @@ export const createSoftwareItems = (
: versionInfo.nodeVersion, : versionInfo.nodeVersion,
}, },
{ label: 'Chromium', value: versionInfo.chromeVersion }, { label: 'Chromium', value: versionInfo.chromeVersion },
{ label: 'V8', value: versionInfo.v8Version },
...(versionInfo.uvVersion ? [{ label: 'uv', value: versionInfo.uvVersion }] : []), ...(versionInfo.uvVersion ? [{ label: 'uv', value: versionInfo.uvVersion }] : []),
]; ];