preparing for flatpak builds, minor UI touch-ups, dep upgrades

This commit is contained in:
lone-cloud 2026-04-29 01:34:49 -07:00
parent 9ec73381df
commit 28f8cf68c3
11 changed files with 437 additions and 245 deletions

1
.gitignore vendored
View file

@ -13,3 +13,4 @@ Thumbs.db
# pnpm # pnpm
pnpm-debug.log* pnpm-debug.log*
flatpak/build-dir

View file

@ -0,0 +1,10 @@
[Desktop Entry]
Name=Gerbil
Comment=Run Large Language Models locally
GenericName=Local LLM Runner
Exec=gerbil %U
Terminal=false
Type=Application
Icon=app.lonecloud.gerbil
Categories=Network;Chat;Utility;
StartupWMClass=Gerbil

View file

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>app.lonecloud.gerbil</id>
<metadata_license>MIT</metadata_license>
<project_license>AGPL-3.0-or-later</project_license>
<name>Gerbil</name>
<summary>A desktop app to easily run Large Language Models locally</summary>
<description>
<p>
Gerbil is a desktop app to easily run Large Language Models locally. Powered by KoboldCpp,
it provides a clean cross-platform interface for downloading, managing, and running
various language models locally while maintaining complete privacy and control over your data.
</p>
<p>Core Features:</p>
<ul>
<li>Run LLMs locally powered by KoboldCpp (highly modified fork of llama.cpp)</li>
<li>Cross-platform desktop app - Native support for Windows, macOS, and Linux (including Wayland)</li>
<li>Automatic updates - Download and keep your KoboldCpp binary up-to-date effortlessly</li>
<li>Smart process management - Prevents runaway background processes and system resource waste</li>
<li>Optimized performance - Automatically unpacks binaries for faster operation and reduced memory usage</li>
<li>Image generation support - Built-in presets for Flux and Chroma image generation workflows</li>
<li>SillyTavern integration - Seamlessly launch SillyTavern for advanced character interactions</li>
<li>OpenWebUI integration - Launch OpenWebUI for a modern web-based chat interface</li>
<li>Privacy-focused - Everything runs locally on your machine, no data sent to external servers</li>
</ul>
</description>
<launchable type="desktop-id">app.lonecloud.gerbil.desktop</launchable>
<provides>
<binary>gerbil</binary>
</provides>
<icon type="stock">app.lonecloud.gerbil</icon>
<screenshots>
<screenshot type="default">
<image>https://github.com/lone-cloud/gerbil/raw/main/media/screenshots/launch.png</image>
<caption>Model Launch Configuration</caption>
</screenshot>
<screenshot>
<image>https://github.com/lone-cloud/gerbil/raw/main/media/screenshots/download.png</image>
<caption>Download &amp; Setup</caption>
</screenshot>
<screenshot>
<image>https://github.com/lone-cloud/gerbil/raw/main/media/screenshots/text-story.png</image>
<caption>Text Generation</caption>
</screenshot>
<screenshot>
<image>https://github.com/lone-cloud/gerbil/raw/main/media/screenshots/gen-img.png</image>
<caption>Image Generation</caption>
</screenshot>
<screenshot>
<image>https://github.com/lone-cloud/gerbil/raw/main/media/screenshots/sillytavern.png</image>
<caption>SillyTavern integration</caption>
</screenshot>
<screenshot>
<image>https://github.com/lone-cloud/gerbil/raw/main/media/screenshots/openwebui.png</image>
<caption>OpenWebUI integration</caption>
</screenshot>
</screenshots>
<url type="homepage">https://github.com/lone-cloud/gerbil</url>
<url type="bugtracker">https://github.com/lone-cloud/gerbil/issues</url>
<categories>
<category>Network</category>
<category>Chat</category>
<category>Utility</category>
</categories>
<keywords>
<keyword>AI</keyword>
<keyword>LLM</keyword>
<keyword>Large Language Model</keyword>
<keyword>Local</keyword>
<keyword>Machine Learning</keyword>
<keyword>Privacy</keyword>
<keyword>KoboldCpp</keyword>
<keyword>llama.cpp</keyword>
<keyword>SillyTavern</keyword>
<keyword>OpenWebUI</keyword>
<keyword>Text Generation</keyword>
<keyword>Image Generation</keyword>
</keywords>
<developer_name>lone-cloud</developer_name>
<content_rating type="oars-1.1" />
</component>

View file

@ -0,0 +1,61 @@
app-id: app.lonecloud.gerbil
runtime: org.freedesktop.Platform
runtime-version: '25.08'
sdk: org.freedesktop.Sdk
base: org.electronjs.Electron2.BaseApp
base-version: '25.08'
command: gerbil
separate-locales: false
finish-args:
- --share=network
- --share=ipc
- --socket=wayland
- --socket=fallback-x11
- --device=all
- --allow=devel
- --filesystem=home
- --filesystem=host-os
- --filesystem=/opt/rocm:ro
- --talk-name=org.freedesktop.Notifications
- --talk-name=org.freedesktop.Flatpak
- --talk-name=org.kde.StatusNotifierWatcher
- --talk-name=org.freedesktop.StatusNotifierWatcher
modules:
- name: uv
buildsystem: simple
build-commands:
- tar -xzf uv-x86_64-unknown-linux-gnu.tar.gz
- install -Dm755 uv-x86_64-unknown-linux-gnu/uv /app/bin/uv
- install -Dm755 uv-x86_64-unknown-linux-gnu/uvx /app/bin/uvx
sources:
- type: file
url: https://github.com/astral-sh/uv/releases/download/0.11.8/uv-x86_64-unknown-linux-gnu.tar.gz
sha256: 56dd1b66701ecb62fe896abb919444e4b83c5e8645cca953e6ddd496ff8a0feb
- name: gerbil
buildsystem: simple
build-commands:
- chmod +x Gerbil-*.AppImage
- ./Gerbil-*.AppImage --appimage-extract
- mkdir -p /app/lib/gerbil
- cp -r squashfs-root/. /app/lib/gerbil/
- install -Dm755 gerbil-wrapper.sh /app/bin/gerbil
- install -Dm644 app.lonecloud.gerbil.desktop /app/share/applications/app.lonecloud.gerbil.desktop
- install -Dm644 app.lonecloud.gerbil.metainfo.xml /app/share/metainfo/app.lonecloud.gerbil.metainfo.xml
- install -Dm644 squashfs-root/usr/share/icons/hicolor/512x512/apps/gerbil.png /app/share/icons/hicolor/512x512/apps/app.lonecloud.gerbil.png
sources:
- type: file
url: https://github.com/lone-cloud/gerbil/releases/download/v1.23.45/Gerbil-1.23.45.AppImage
sha256: b3ea2b4bdbfbf4b44f091a9568deedbdef9cb8cd4d2d5f5be43cbd525b40c16a
- type: script
dest-filename: gerbil-wrapper.sh
commands:
- export PATH="/run/host/usr/bin:/run/host/usr/local/bin:$HOME/.local/bin:$HOME/.cargo/bin:$PATH"
- export VK_DRIVER_FILES="/run/host/usr/share/vulkan/icd.d:/run/host/etc/vulkan/icd.d"
- exec /app/lib/gerbil/gerbil --no-sandbox "$@"
- type: file
path: app.lonecloud.gerbil.desktop
- type: file
path: app.lonecloud.gerbil.metainfo.xml

View file

@ -1,6 +1,6 @@
{ {
"name": "gerbil", "name": "gerbil",
"version": "1.23.4", "version": "1.23.45",
"description": "Run Large Language Models locally", "description": "Run Large Language Models locally",
"keywords": [ "keywords": [
"ai", "ai",
@ -26,7 +26,12 @@
"analyze": "cross-env ANALYZE=true electron-vite build && pnpm dlx open-cli dist/stats.html", "analyze": "cross-env ANALYZE=true electron-vite build && pnpm dlx open-cli dist/stats.html",
"check": "oxlint && oxfmt --check", "check": "oxlint && oxfmt --check",
"fix": "oxlint --fix && oxfmt", "fix": "oxlint --fix && oxfmt",
"release": "node --no-warnings scripts/release.ts" "release": "node --no-warnings scripts/release.ts",
"fp:build": "cd flatpak && flatpak-builder --user --force-clean --state-dir=$HOME/.local/share/flatpak-builder/gerbil build-dir app.lonecloud.gerbil.yml",
"fp:install": "cd flatpak && flatpak-builder --user --install --force-clean --state-dir=$HOME/.local/share/flatpak-builder/gerbil build-dir app.lonecloud.gerbil.yml",
"fp:run": "flatpak run app.lonecloud.gerbil",
"fp:uninstall": "flatpak uninstall --user app.lonecloud.gerbil",
"fp:logs": "journalctl -f FLATPAK_ID=app.lonecloud.gerbil"
}, },
"dependencies": { "dependencies": {
"electron-updater": "^6.8.3", "electron-updater": "^6.8.3",
@ -45,8 +50,8 @@
"@fontsource/barlow-semi-condensed": "^5.2.7", "@fontsource/barlow-semi-condensed": "^5.2.7",
"@fontsource/geist": "^5.2.8", "@fontsource/geist": "^5.2.8",
"@huggingface/gguf": "^0.4.2", "@huggingface/gguf": "^0.4.2",
"@mantine/core": "^9.1.0", "@mantine/core": "^9.1.1",
"@mantine/hooks": "^9.1.0", "@mantine/hooks": "^9.1.1",
"@types/mime-types": "^3.0.1", "@types/mime-types": "^3.0.1",
"@types/node": "^25.6.0", "@types/node": "^25.6.0",
"@types/react": "^19.2.14", "@types/react": "^19.2.14",
@ -59,10 +64,10 @@
"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",
"lucide-react": "^1.11.0", "lucide-react": "^1.14.0",
"oxfmt": "^0.46.0", "oxfmt": "^0.47.0",
"oxlint": "^1.61.0", "oxlint": "^1.62.0",
"oxlint-tsgolint": "^0.22.0", "oxlint-tsgolint": "^0.22.1",
"react": "^19.2.5", "react": "^19.2.5",
"react-dom": "^19.2.5", "react-dom": "^19.2.5",
"react-error-boundary": "^6.1.1", "react-error-boundary": "^6.1.1",

470
pnpm-lock.yaml generated
View file

@ -52,11 +52,11 @@ importers:
specifier: ^0.4.2 specifier: ^0.4.2
version: 0.4.2 version: 0.4.2
'@mantine/core': '@mantine/core':
specifier: ^9.1.0 specifier: ^9.1.1
version: 9.1.0(@mantine/hooks@9.1.0(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) version: 9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)
'@mantine/hooks': '@mantine/hooks':
specifier: ^9.1.0 specifier: ^9.1.1
version: 9.1.0(react@19.2.5) version: 9.1.1(react@19.2.5)
'@types/mime-types': '@types/mime-types':
specifier: ^3.0.1 specifier: ^3.0.1
version: 3.0.1 version: 3.0.1
@ -94,17 +94,17 @@ importers:
specifier: ^2.6.1 specifier: ^2.6.1
version: 2.6.1 version: 2.6.1
lucide-react: lucide-react:
specifier: ^1.11.0 specifier: ^1.14.0
version: 1.11.0(react@19.2.5) version: 1.14.0(react@19.2.5)
oxfmt: oxfmt:
specifier: ^0.46.0 specifier: ^0.47.0
version: 0.46.0 version: 0.47.0
oxlint: oxlint:
specifier: ^1.61.0 specifier: ^1.62.0
version: 1.61.0(oxlint-tsgolint@0.22.0) version: 1.62.0(oxlint-tsgolint@0.22.1)
oxlint-tsgolint: oxlint-tsgolint:
specifier: ^0.22.0 specifier: ^0.22.1
version: 0.22.0 version: 0.22.1
react: react:
specifier: ^19.2.5 specifier: ^19.2.5
version: 19.2.5 version: 19.2.5
@ -503,8 +503,8 @@ packages:
engines: {node: '>=20'} engines: {node: '>=20'}
hasBin: true hasBin: true
'@huggingface/tasks@0.20.21': '@huggingface/tasks@0.20.22':
resolution: {integrity: sha512-ZkIRADUlCf4zub0dnrH/m9R0x/Lva8M2MdqbgGzbxX79UqC8Byj8WI0uno0VMVQ7hobNvowei4a5vD6Yh2ciXA==} resolution: {integrity: sha512-OOegRgyjHBRQatMUJOuqTSqZ+nLwRvzrOmDaoPGQTSCKkLAh/IPfGRV/duILB2bCOreCA7+blYyvkp038Gh8gA==}
'@isaacs/fs-minipass@4.0.1': '@isaacs/fs-minipass@4.0.1':
resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
@ -543,15 +543,15 @@ packages:
resolution: {integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==} resolution: {integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==}
engines: {node: '>= 10.0.0'} engines: {node: '>= 10.0.0'}
'@mantine/core@9.1.0': '@mantine/core@9.1.1':
resolution: {integrity: sha512-gT14pELclqrxhWZsFoY6MxN3dtVKxwUQFM9Y5SNzNyHgm6Mjh374pFdMg7P6FOECXYy1nlTP8y5S1vIR9CiNTA==} resolution: {integrity: sha512-vClOZdCeZ4oLYuA/3jAOgKGQ6dXbF6ZkzpYz09Gied9nZpB7HcQeb3dcMh8UPBE4f+EM7KlYWk6dch7GoASeaA==}
peerDependencies: peerDependencies:
'@mantine/hooks': 9.1.0 '@mantine/hooks': 9.1.1
react: ^19.2.0 react: ^19.2.0
react-dom: ^19.2.0 react-dom: ^19.2.0
'@mantine/hooks@9.1.0': '@mantine/hooks@9.1.1':
resolution: {integrity: sha512-qWES5aD0fYfhEP1Kg82IYUZSg1fT9VTwJJF2jmn9lpIAYR2Bht9GIeWMd3WgjRNaxU+7A1I9rC2HADs0khKUpQ==} resolution: {integrity: sha512-tTJK73nGFyy1v214TLdvBq0be7QCoc6osfbXVuJgOH3YG85lWk9Mvvor6k+w6hC6HXSqKMqLKePyiGm83xGcMg==}
peerDependencies: peerDependencies:
react: ^19.2.0 react: ^19.2.0
@ -567,276 +567,276 @@ packages:
'@oxc-project/types@0.127.0': '@oxc-project/types@0.127.0':
resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==} resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==}
'@oxfmt/binding-android-arm-eabi@0.46.0': '@oxfmt/binding-android-arm-eabi@0.47.0':
resolution: {integrity: sha512-b1doV4WRcJU+BESSlCvCjV+5CEr/T6h0frArAdV26Nir+gGNFNaylvDiiMPfF1pxeV0txZEs38ojzJaxBYg+ng==} resolution: {integrity: sha512-KrMQRdMi/upr81qT4ijK6X6BNp6jqpMY7FwILQnwIy9QLc3qpnhUx5rsCLGzn4ewsCQ0CNAspN2ogmP1GXLyLw==}
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.46.0': '@oxfmt/binding-android-arm64@0.47.0':
resolution: {integrity: sha512-v6+HhjsoV3GO0u2u9jLSAZrvWfTraDxKofUIQ7/ktS7tzS+epVsxdHmeM+XxuNcAY/nWxxU1Sg4JcGTNRXraBA==} resolution: {integrity: sha512-r4ixS/PeUpAFKgrpDoZ5pSkthjZzVzKd95525Aazj+aOv9H4ulK5zYHGb7wFY5n5kZxHK8TbOJUZgoEb1ohddQ==}
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.46.0': '@oxfmt/binding-darwin-arm64@0.47.0':
resolution: {integrity: sha512-3eeooJGrqGIlI5MyryDZsAcKXSmKIgAD4yYtfRrRJzXZ0UTFZtiSveIur56YPrGMYZwT4XyVhHsMqrNwr1XeFA==} resolution: {integrity: sha512-CLWxiKpMl+195cm09CuaWEhJK0CirRkoMa07aR9+9AFPat2LfIKtwx1JqxZM0MTvcMe6+adlJNdVL6jdInvq3g==}
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.46.0': '@oxfmt/binding-darwin-x64@0.47.0':
resolution: {integrity: sha512-QG8BDM0CXWbu84k2SKmCqfEddPQPFiBicwtYnLqHRWZZl57HbtOLRMac/KTq2NO4AEc4ICCBpFxJIV9zcqYfkQ==} resolution: {integrity: sha512-Xq5fjTYDC50faUeLSm0rZdBqoTgleXEdD7NpJdARtQIczkCJn3xNjMUSQQkUmh4CtxkKTNL68lytcOK3e/osgg==}
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.46.0': '@oxfmt/binding-freebsd-x64@0.47.0':
resolution: {integrity: sha512-9DdCqS/n2ncu/Chazvt3cpgAjAmIGQDz7hFKSrNItMApyV/Ja9mz3hD4JakIE3nS8PW9smEbPWnb389QLBY4nw==} resolution: {integrity: sha512-QOU9ZIJ52p5askcEC0QJvvr8trHAWoonul8bgISo6gYUL3s50zkqafBYcNAr9LJZQbsZtPfIWHk9+5+nUp1qJQ==}
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.46.0': '@oxfmt/binding-linux-arm-gnueabihf@0.47.0':
resolution: {integrity: sha512-Dgs7VeE2jT0LHMhw6tPEt0xQYe54kBqHEovmWsv4FVQlegCOvlIJNx0S8n4vj8WUtpT+Z6BD2HhKJPLglLxvZg==} resolution: {integrity: sha512-oJxDM1aBhPvz9gmElBv8UpxyiqhwfjcbrSxT5F0xtuUzY6dQI27/AQPIt3eu3Z5Yvn0kQl5R7MA3Z+MbnRvCBw==}
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.46.0': '@oxfmt/binding-linux-arm-musleabihf@0.47.0':
resolution: {integrity: sha512-Zxn3adhTH13JKnU4xXJj8FeEfF680XjXh3gSShKl57HCMBRde2tUJTgogV/1MSHA80PJEVrDa7r66TLVq3Ia7Q==} resolution: {integrity: sha512-g8Lh50VS4ibGz2q6v7r9UZY4D0dM16SdrFYOMzhqIoCwGcai8VMIRUAcqn1/jlCsOOzUXJ741+kCeJt0cofakQ==}
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.46.0': '@oxfmt/binding-linux-arm64-gnu@0.47.0':
resolution: {integrity: sha512-+TWipjrgVM8D7aIdDD0tlr3teLTTvQTn7QTE5BpT10H1Fj82gfdn9X6nn2sDgx/MepuSCfSnzFNJq2paLL0OiA==} resolution: {integrity: sha512-YrNT1vQ0asaXoRbrvYENPqmBfOQ9Xr8enPNOULeYfg44VjCcrUowFy5QZr+WawE0zyP8cH9e9Gxxg0fDEFzhcg==}
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.46.0': '@oxfmt/binding-linux-arm64-musl@0.47.0':
resolution: {integrity: sha512-aAUPBWJ1lGwwnxZUEDLJ94+Iy6MuwJwPxUgO4sCA5mEEyDk7b+cDQ+JpX1VR150Zoyd+D49gsrUzpUK5h587Eg==} resolution: {integrity: sha512-IxtQC/sbBi4ubbY+MdwdanRWrG9InQJVZqyMsBa5IUaQcnSg86gQme574HxXMC1p4bo4YhV99zQ+wNnGCvEgzw==}
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.46.0': '@oxfmt/binding-linux-ppc64-gnu@0.47.0':
resolution: {integrity: sha512-ufBCJukyFX/UDrokP/r6BGDoTInnsDs7bxyzKAgMiZlt2Qu8GPJSJ6Zm6whIiJzKk0naxA8ilwmbO1LMw6Htxw==} resolution: {integrity: sha512-EWXEhOMbWO0q6eJSbu0QLkU8cKi0ljlYLngeDs2Ocu/pm1rrLwyQiYzlFbdnMRURI4w9ndr1sI9rSbhlJ5o23Q==}
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.46.0': '@oxfmt/binding-linux-riscv64-gnu@0.47.0':
resolution: {integrity: sha512-eqtlC2YmPqjun76R1gVfGLuKWx7NuEnLEAudZ7n6ipSKbCZTqIKSs1b5Y8K/JHZsRpLkeSmAAjig5HOIg8fQzQ==} resolution: {integrity: sha512-tZrjS11TUiDuEpRaqdk8K9F9xETRyKXfuZKmdeW+Gj7coBnm7+8sBEfyt033EAFEQSlkniAXvBLh+Qja2ioGBQ==}
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.46.0': '@oxfmt/binding-linux-riscv64-musl@0.47.0':
resolution: {integrity: sha512-yccVOO2nMXkQLGgy0He3EQEwKD7NF0zEk+/OWmroznkqXyJdN6bfK0LtNnr6/14Bh3FjpYq7bP33l/VloCnxpA==} resolution: {integrity: sha512-KBFy+2CFKUCZzYwX2ZOPQKck1vjQbz+hextuc19G4r0WRJwadfAeuQMQRQvB+Ivc8brlbOVg7et8K7E467440g==}
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.46.0': '@oxfmt/binding-linux-s390x-gnu@0.47.0':
resolution: {integrity: sha512-aAf7fG23OQCey6VRPj9IeCraoYtpgtx0ZyJ1CXkPyT1wjzBE7c3xtuxHe/AdHaJfVVb/SXpSk8Gl1LzyQupSqw==} resolution: {integrity: sha512-REUPFKVGSiK99B+9eaPhluEVglzaoj/SMykNC5SUiV2RSsBfV5lWN7Y0iCIc251Wz3GaeAGZsJ/zj3gjarxdFg==}
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.46.0': '@oxfmt/binding-linux-x64-gnu@0.47.0':
resolution: {integrity: sha512-q0JPsTMyJNjYrBvYFDz4WbVsafNZaPCZv4RnFypRotLqpKROtBZcEaXQW4eb9YmvLU3NckVemLJnzkSZSdmOxw==} resolution: {integrity: sha512-KVftVSVEDeIfRW3TIeLe3aNI/iY4m1fu5mDwHcisKMZSCMKLkrhFsjowC7o9RoqNPxbbglm2+/6KAKBIts2t0Q==}
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.46.0': '@oxfmt/binding-linux-x64-musl@0.47.0':
resolution: {integrity: sha512-7LsLY9Cw57GPkhSR+duI3mt9baRczK/DtHYSldQ4BEU92da9igBQNl4z7Vq5U9NNPsh1FmpKvv1q9WDtiUQR1A==} resolution: {integrity: sha512-DTsmGEaA2860Aq5VUyDO8/MT9NFxwVL93RnRYmpMwK6DsSkThmvEpqoUDDljziEpAedMRG19SCogrNbINSbLUQ==}
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.46.0': '@oxfmt/binding-openharmony-arm64@0.47.0':
resolution: {integrity: sha512-lHiBOz8Duaku7JtRNLlps3j++eOaICPZSd8FCVmTDM4DFOPT71Bjn7g6iar1z7StXlKRweUKxWUs4sA+zWGDXg==} resolution: {integrity: sha512-8r5BDro7fLOBoq1JXHLVSs55OlrxQhEso4HVo0TcY7OXJUPYfjPoOaYL5us+yIwqyP9rQwN+rxuiNFSmaxSuOQ==}
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.46.0': '@oxfmt/binding-win32-arm64-msvc@0.47.0':
resolution: {integrity: sha512-/5ktYUliP89RhgC37DBH1x20U5zPSZMy3cMEcO0j3793rbHP9MWsknBwQB6eozRzWmYrh0IFM/p20EbPvDlYlg==} resolution: {integrity: sha512-qtz/gzm8IjSPUlseZ0ofW8zyHLoZsuP5HTfcGGkWkUblB89JT8GNYH3ICqjbDsqsGqXum0/ZndXTFplSdXFIcg==}
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.46.0': '@oxfmt/binding-win32-ia32-msvc@0.47.0':
resolution: {integrity: sha512-3WTnoiuIr8XvV0DIY7SN+1uJSwKf4sPpcbHfobcRT9JutGcLaef/miyBB87jxd3aqH+mS0+G5lsgHuXLUwjjpQ==} resolution: {integrity: sha512-5vIcdcIDE7nCx+MXN6sm8kbC4zajDB31E86rez4i45iHNH/2NjdKlJ720xcHTr3eeiMcttCGPHPhE1TjtBDGZw==}
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.46.0': '@oxfmt/binding-win32-x64-msvc@0.47.0':
resolution: {integrity: sha512-IXxiQpkYnOwNfP23vzwSfhdpxJzyiPTY7eTn6dn3DsriKddESzM8i6kfq9R7CD/PUJwCvQT22NgtygBeug3KoA==} resolution: {integrity: sha512-Sr59Y5ms54ONBjxFeWhVlGyQcHXxcl9DxC23f6yXlRkcos7LXBLoO+KDfxexjHIOZh7cWqrWduzvUjJ+pHp8cQ==}
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.22.0': '@oxlint-tsgolint/darwin-arm64@0.22.1':
resolution: {integrity: sha512-/exgXceakHbQrzaHTtKOe7MuDATaWMCCWpsCDQCZKeYhLGXzComipTrCYnHzAXrdnNBb5r5K+RRf5A6ormrhMA==} resolution: {integrity: sha512-4150Lpgc1YM09GcjA6GSrra1JoPjC7aOpfywLjWEY4vW0Sd1qKzqHF1WRaiw0/qUZ40OATYdv3aRd7ipPkWQbw==}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
'@oxlint-tsgolint/darwin-x64@0.22.0': '@oxlint-tsgolint/darwin-x64@0.22.1':
resolution: {integrity: sha512-xFGdIahlmUbK+/MpZ5y08D0ewMGLDbd2Vki5wxVFYg50lSrtgPAtdDl+kqKZLNaFu0zpMar8n9wv1le05sL/jw==} resolution: {integrity: sha512-vFWcPWYOgZs4HWcgS1EjUZg33NLcNfEYU49KGImmCfZWkflENrmBYV4HN/C0YeAPum6ZZ/goPSvQrB/cOD+NfA==}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
'@oxlint-tsgolint/linux-arm64@0.22.0': '@oxlint-tsgolint/linux-arm64@0.22.1':
resolution: {integrity: sha512-53RvC9f77eUo+V1dfQNwGVnsIfPJFMibRR0ee128EUpYNDOZe/ojmCfuXJeU7cY91V7r7fZSm42KPJocXUX8og==} resolution: {integrity: sha512-6LiUpP0Zir3+29FvBm7Y28q/dBjSHqTZ5MhG1Ckw4fGhI4cAvbcwXaKvbjx1TP7rRmBNOoq/M5xdpHjTb+GAew==}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
'@oxlint-tsgolint/linux-x64@0.22.0': '@oxlint-tsgolint/linux-x64@0.22.1':
resolution: {integrity: sha512-evZcJAZ9hjNyuN69RnXwbt+U2pAOcYt+yvqukgugiCkRm4iBZ0R0CvpY1tgfG2XcGUhEPh8dljO+nPZTEVGpCQ==} resolution: {integrity: sha512-fuX1hEQfpHauUbXADsfqVhRzrUrGabzGXbj5wsp2vKhV5uk/Rze8Mba9GdjFGECzvXudMGqHqxB4r6jGRdhxVA==}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
'@oxlint-tsgolint/win32-arm64@0.22.0': '@oxlint-tsgolint/win32-arm64@0.22.1':
resolution: {integrity: sha512-7jTO+k1mr5BxRAI2fxc1NRcE3MAbHNZ0Vef9SD1yAR6d1E6qEv5D/D7yuHpQpw6AO3qoecSVo2Jzr+JirN61+w==} resolution: {integrity: sha512-8SZidAj+jrbZf9ZjBEYW0tiNZ+KasqB2zgW26qdiPpQSF/DzURnPmXz651IeA9YsmbVdHGIooEHUmev6QJdquA==}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
'@oxlint-tsgolint/win32-x64@0.22.0': '@oxlint-tsgolint/win32-x64@0.22.1':
resolution: {integrity: sha512-7lbl9XFcqO+scsynxMzTQdl0XUe6sBUCyY/oGWvCB+JmV4U+70vzSyZJdTEzzxtkZiNnUVFFh9RJLmoiQSne+w==} resolution: {integrity: sha512-QweSk9H5lFh5Y+WUf2Kq/OAN88V6+62ZwGhP38gqdRotI90luXSMkruFTj7Q2rYrzH4ZVNaSqx7NY8JpSfIzqg==}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
'@oxlint/binding-android-arm-eabi@1.61.0': '@oxlint/binding-android-arm-eabi@1.62.0':
resolution: {integrity: sha512-6eZBPgiigK5txqoVgRqxbaxiom4lM8AP8CyKPPvpzKnQ3iFRFOIDc+0AapF+qsUSwjOzr5SGk4SxQDpQhkSJMQ==} resolution: {integrity: sha512-pKsthNECyvJh8lPTICz6VcwVy2jOqdhhsp1rlxCkhgZR47aKvXPmaRWQDv+zlXpRae4qm1MaaTnutkaOk5aofg==}
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.61.0': '@oxlint/binding-android-arm64@1.62.0':
resolution: {integrity: sha512-CkwLR69MUnyv5wjzebvbbtTSUwqLxM35CXE79bHqDIK+NtKmPEUpStTcLQRZMCo4MP0qRT6TXIQVpK0ZVScnMA==} resolution: {integrity: sha512-b1AUNViByvgmR2xJDubvLIr+dSuu3uraG7bsAoKo+xrpspPvu6RIn6Fhr2JUhobfep3jwUTy18Huco6GkwdvGQ==}
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.61.0': '@oxlint/binding-darwin-arm64@1.62.0':
resolution: {integrity: sha512-8JbefTkbmvqkqWjmQrHke+MdpgT2UghhD/ktM4FOQSpGeCgbMToJEKdl9zwhr/YWTl92i4QI1KiTwVExpcUN8A==} resolution: {integrity: sha512-iG+Tvf70UJ6otfwFYIHk36Sjq9cpPP5YLxkoggANNRtzgi3Tj3g8q6Ybqi6AtkU3+yg9QwF7bDCkCS6bbL4PCg==}
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.61.0': '@oxlint/binding-darwin-x64@1.62.0':
resolution: {integrity: sha512-uWpoxDT47hTnDLcdEh5jVbso8rlTTu5o0zuqa9J8E0JAKmIWn7kGFEIB03Pycn2hd2vKxybPGLhjURy/9We5FQ==} resolution: {integrity: sha512-oOWI6YPPr5AJUx+yIDlxmuUbQjS5gZX3OH3QisawYvsZgLiQVvZtR0rPBcJTxLWqt2ClrWg0DlSrlUiG5SQNHg==}
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.61.0': '@oxlint/binding-freebsd-x64@1.62.0':
resolution: {integrity: sha512-K/o4hEyW7flfMel0iBVznmMBt7VIMHGdjADocHKpK1DUF9erpWnJ+BSSWd2W0c8K3mPtpph+CuHzRU6CI3l9jQ==} resolution: {integrity: sha512-dLP33T7VLCmLVv4cvjkVX+rmkcwNk2UfxmsZPNur/7BQHoQR60zJ7XLiRvNUawlzn0u8ngCa3itjEG73MAMa/w==}
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.61.0': '@oxlint/binding-linux-arm-gnueabihf@1.62.0':
resolution: {integrity: sha512-P6040ZkcyweJ0Po9yEFqJCdvZnf3VNCGs1SIHgXDf8AAQNC6ID/heXQs9iSgo2FH7gKaKq32VWc59XZwL34C5Q==} resolution: {integrity: sha512-fl//LWNks6qo9chNY60UDYyIwtp7a5cEx4Y/rHPjaarhuwqx6jtbzEpD5V5AqmdL4a6Y5D8zeXg5HF2Cr0QmSQ==}
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.61.0': '@oxlint/binding-linux-arm-musleabihf@1.62.0':
resolution: {integrity: sha512-bwxrGCzTZkuB+THv2TQ1aTkVEfv5oz8sl+0XZZCpoYzErJD8OhPQOTA0ENPd1zJz8QsVdSzSrS2umKtPq4/JXg==} resolution: {integrity: sha512-i5vkAuxvueTODV3J2dL61/TXewDHhMFKvtD156cIsk7GsdfiAu7zW7kY0NJXhKeFHeiMZIh7eFNjkPYH6J47HQ==}
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.61.0': '@oxlint/binding-linux-arm64-gnu@1.62.0':
resolution: {integrity: sha512-vkhb9/wKguMkLlrm3FoJW/Xmdv31GgYAE+x8lxxQ+7HeOxXUySI0q36a3NTVIuQUdLzxCI1zzMGsk1o37FOe3w==} resolution: {integrity: sha512-QwN19LLuIGuOjEflSeJkZmOTfBdBMlTmW8xbMf8TZhjd//cxVNYQPq75q7oKZBJc6hRx3gY7sX0Egc8cEIFZYg==}
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.61.0': '@oxlint/binding-linux-arm64-musl@1.62.0':
resolution: {integrity: sha512-bl1dQh8LnVqsj6oOQAcxwbuOmNJkwc4p6o//HTBZhNTzJy21TLDwAviMqUFNUxDHkPGpmdKTSN4tWTjLryP8xg==} resolution: {integrity: sha512-8eCy3FCDuWUM5hWujAv6heMvfZPbcCOU3SdQUAkixZLu5bSzOkNfirJiLGoQFO943xceOKkiQRMQNzH++jM3WA==}
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.61.0': '@oxlint/binding-linux-ppc64-gnu@1.62.0':
resolution: {integrity: sha512-QoOX6KB2IiEpyOj/HKqaxi+NQHPnOgNgnr22n9N4ANJCzXkUlj1UmeAbFb4PpqdlHIzvGDM5xZ0OKtcLq9RhiQ==} resolution: {integrity: sha512-NjQ7K7tpTPDe9J+yq8p/s/J0E7lRCkK2uDBDqvT4XIT6f4Z0tlnr59OBg/WcrmVHER1AbrcfyxhGTXgcG8ytWg==}
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.61.0': '@oxlint/binding-linux-riscv64-gnu@1.62.0':
resolution: {integrity: sha512-1TGcTerjY6p152wCof3oKElccq3xHljS/Mucp04gV/4ATpP6nO7YNnp7opEg6SHkv2a57/b4b8Ndm9znJ1/qAw==} resolution: {integrity: sha512-oKZed9gmSwze29dEt3/Wnsv6l/Ygw/FUst+8Kfpv2SGeS/glEoTGZAMQw37SVyzFV76UTHJN2snGgxK2t2+8ow==}
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.61.0': '@oxlint/binding-linux-riscv64-musl@1.62.0':
resolution: {integrity: sha512-65wXEmZIrX2ADwC8i/qFL4EWLSbeuBpAm3suuX1vu4IQkKd+wLT/HU/BOl84kp91u2SxPkPDyQgu4yrqp8vwVA==} resolution: {integrity: sha512-gBjBxQ+9lGpAYq+ELqw0w8QXsBnkZclFc7GRX2r0LnEVn3ZTEqeIKpKcGjucmp76Q53bvJD0i4qBWBhcfhSfGA==}
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.61.0': '@oxlint/binding-linux-s390x-gnu@1.62.0':
resolution: {integrity: sha512-TVvhgMvor7Qa6COeXxCJ7ENOM+lcAOGsQ0iUdPSCv2hxb9qSHLQ4XF1h50S6RE1gBOJ0WV3rNukg4JJJP1LWRA==} resolution: {integrity: sha512-Ew2Kxs9EQ9/mbAIJ2hvocMC0wsOu6YKzStI2eFBDt+Td5O8seVC/oxgRIHqCcl5sf5ratA1nozQBAuv7tphkHg==}
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.61.0': '@oxlint/binding-linux-x64-gnu@1.62.0':
resolution: {integrity: sha512-SjpS5uYuFoDnDdZPwZE59ndF95AsY47R5MliuneTWR1pDm2CxGJaYXbKULI71t5TVfLQUWmrHEGRL9xvuq6dnA==} resolution: {integrity: sha512-5z25jcAA0gfKyVwz71A0VXgaPlocPoTAxhlv/hgoK6tlCrfoNuw7haWbDHvGMfjXhdic4EqVXGRv5XsTqFnbRQ==}
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.61.0': '@oxlint/binding-linux-x64-musl@1.62.0':
resolution: {integrity: sha512-gGfAeGD4sNJGILZbc/yKcIimO9wQnPMoYp9swAaKeEtwsSQAbU+rsdQze5SBtIP6j0QDzeYd4XSSUCRCF+LIeQ==} resolution: {integrity: sha512-IWpHmMB6ZDllPvqWDkG6AmXrN7JF5e/c4g/0PuURsmlK+vHoYZPB70rr4u1bn3I4LsKCSpqqfveyx6UCOC8wdg==}
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.61.0': '@oxlint/binding-openharmony-arm64@1.62.0':
resolution: {integrity: sha512-OlVT0LrG/ct33EVtWRyR+B/othwmDWeRxfi13wUdPeb3lAT5TgTcFDcfLfarZtzB4W1nWF/zICMgYdkggX2WmQ==} resolution: {integrity: sha512-fjlSxxrD5pA594vkyikCS9MnPRjQawW6/BLgyTYkO+73wwPlYjkcZ7LSd974l0Q2zkHQmu4DPvJFLYA7o8xrxQ==}
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.61.0': '@oxlint/binding-win32-arm64-msvc@1.62.0':
resolution: {integrity: sha512-vI//NZPJk6DToiovPtaiwD4iQ7kO1r5ReWQD0sOOyKRtP3E2f6jxin4uvwi3OvDzHA2EFfd7DcZl5dtkQh7g1w==} resolution: {integrity: sha512-EiFXr8loNS0Ul3Gu80+9nr1T8jRmnKocqmHHg16tj5ZqTgUXyb97l2rrspVHdDluyFn9JfR4PoJFdNzw4paHww==}
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.61.0': '@oxlint/binding-win32-ia32-msvc@1.62.0':
resolution: {integrity: sha512-0ySj4/4zd2XjePs3XAQq7IigIstN4LPQZgCyigX5/ERMLjdWAJfnxcTsrtxZxuij8guJW8foXuHmhGxW0H4dDA==} resolution: {integrity: sha512-IgOFvL73li1bFgab+hThXYA0N2Xms2kV2MvZN95cebV+fmrZ9AVui1JSxfeeqRLo3CpPxKZlzhyq4G0cnaAvIw==}
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.61.0': '@oxlint/binding-win32-x64-msvc@1.62.0':
resolution: {integrity: sha512-0xgSiyeqDLDZxXoe9CVJrOx3TUVsfyoOY7cNi03JbItNcC9WCZqrSNdrAbHONxhSPaVh/lzfnDcON1RqSUMhHw==} resolution: {integrity: sha512-6hMpyDWQ2zGA1OXFKBrdYMUveUCO8UJhkO6JdwZPd78xIdHZNhjx+pib+4fC2Cljuhjyl0QwA2F3df/bs4Bp6A==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
@ -1073,6 +1073,10 @@ packages:
resolution: {integrity: sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==} resolution: {integrity: sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==}
engines: {node: '>=10.0.0'} engines: {node: '>=10.0.0'}
'@xmldom/xmldom@0.9.10':
resolution: {integrity: sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==}
engines: {node: '>=14.6'}
abbrev@4.0.0: abbrev@4.0.0:
resolution: {integrity: sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==} resolution: {integrity: sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==}
engines: {node: ^20.17.0 || >=22.9.0} engines: {node: ^20.17.0 || >=22.9.0}
@ -1153,8 +1157,8 @@ packages:
base64-js@1.5.1: base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
baseline-browser-mapping@2.10.22: baseline-browser-mapping@2.10.24:
resolution: {integrity: sha512-6qruVrb5rse6WylFkU0FhBKKGuecWseqdpQfhkawn6ztyk2QlfwSRjsDxMCLJrkfmfN21qvhl9ABgaMeRkuwww==} resolution: {integrity: sha512-I2NkZOOrj2XuguvWCK6OVh9GavsNjZjK908Rq3mIBK25+GD8vPX5w2WdxVqnQ7xx3SrZJiCiZFu+/Oz50oSYSA==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
hasBin: true hasBin: true
@ -1213,8 +1217,8 @@ packages:
resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
caniuse-lite@1.0.30001790: caniuse-lite@1.0.30001791:
resolution: {integrity: sha512-bOoxfJPyYo+ds6W0YfptaCWbFnJYjh2Y1Eow5lRv+vI2u8ganPZqNm1JwNh0t2ELQCqIWg4B3dWEusgAmsoyOw==} resolution: {integrity: sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==}
ccount@2.0.1: ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
@ -1991,8 +1995,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.11.0: lucide-react@1.14.0:
resolution: {integrity: sha512-UOhjdztXCgdBReRcIhsvz2siIBogfv/lhJEIViCpLt924dO+GDms9T7DNoucI23s6kEPpe988m5N0D2ajnzb2g==} resolution: {integrity: sha512-+1mdWcfSJVUsaTIjN9zoezmUhfXo5l0vP7ekBMPo3jcS/aIkxHnXqAPsByszMZx/Y8oQBRJxJx5xg+RH3urzxA==}
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
@ -2258,17 +2262,17 @@ packages:
resolution: {integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==} resolution: {integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==}
engines: {node: '>=20'} engines: {node: '>=20'}
oxfmt@0.46.0: oxfmt@0.47.0:
resolution: {integrity: sha512-CopwJOwPAjZ9p76fCvz+mSOJTw9/NY3cSksZK3VO/bUQ8UoEcketNgUuYS0UB3p+R9XnXe7wGGXUmyFxc7QxJA==} resolution: {integrity: sha512-OFbkbzxKCpooQEnRmpTDnuwTX8KHXzZTQ4Df/hz85fpS67Pl+lxPEFvUtin56HIIS0B1k4X8oIzTXRZPufA2CA==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true hasBin: true
oxlint-tsgolint@0.22.0: oxlint-tsgolint@0.22.1:
resolution: {integrity: sha512-ku4MecLmCQIj1ScCtzNAqTuyl0BJQ02B36fJT+c5XQihHpYSFak+FC3GYO5fPyYk4oDwi0w0S7hTvrpNzuZhig==} resolution: {integrity: sha512-YUSGSLUnoolsu8gxISEDio3q1rtsCozwfOzASUn3DT2mR2EeQ93uEEnen7s+6LpF+lyTQFln1pQfqwBh/fsVEg==}
hasBin: true hasBin: true
oxlint@1.61.0: oxlint@1.62.0:
resolution: {integrity: sha512-ZC0ALuhDZ6ivOFG+sy0D0pEDN49EvsId98zVlmYdkcXHsEM14m/qTNUEsUpiFiCVbpIxYtVBmmLE87nsbUHohQ==} resolution: {integrity: sha512-1uFkg6HakjsGIpW9wNdeW4/2LOHW9MEkoWjZUTUfQtIHyLIZPYt00w3Sg+H3lH+206FgBPHBbW5dVE5l2ExECQ==}
engines: {node: ^20.19.0 || >=22.12.0} engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@ -2325,8 +2329,12 @@ packages:
resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==}
engines: {node: '>=10.4.0'} engines: {node: '>=10.4.0'}
postcss@8.5.10: plist@3.1.1:
resolution: {integrity: sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==} resolution: {integrity: sha512-ZIfcLJC+7E7FBFnDxm9MPmt7D+DidyQ26lewieO75AdhA2ayMtsJSES0iWzqJQbcVRSrTufQoy0DR94xHue0oA==}
engines: {node: '>=10.4.0'}
postcss@8.5.12:
resolution: {integrity: sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==}
engines: {node: ^10 || ^12 || >=14} engines: {node: ^10 || ^12 || >=14}
postject@1.0.0-alpha.6: postject@1.0.0-alpha.6:
@ -3372,9 +3380,9 @@ snapshots:
'@huggingface/gguf@0.4.2': '@huggingface/gguf@0.4.2':
dependencies: dependencies:
'@huggingface/tasks': 0.20.21 '@huggingface/tasks': 0.20.22
'@huggingface/tasks@0.20.21': {} '@huggingface/tasks@0.20.22': {}
'@isaacs/fs-minipass@4.0.1': '@isaacs/fs-minipass@4.0.1':
dependencies: dependencies:
@ -3422,10 +3430,10 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@mantine/core@9.1.0(@mantine/hooks@9.1.0(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': '@mantine/core@9.1.1(@mantine/hooks@9.1.1(react@19.2.5))(@types/react@19.2.14)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)':
dependencies: dependencies:
'@floating-ui/react': 0.27.19(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@floating-ui/react': 0.27.19(react-dom@19.2.5(react@19.2.5))(react@19.2.5)
'@mantine/hooks': 9.1.0(react@19.2.5) '@mantine/hooks': 9.1.1(react@19.2.5)
clsx: 2.1.1 clsx: 2.1.1
react: 19.2.5 react: 19.2.5
react-dom: 19.2.5(react@19.2.5) react-dom: 19.2.5(react@19.2.5)
@ -3435,7 +3443,7 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- '@types/react' - '@types/react'
'@mantine/hooks@9.1.0(react@19.2.5)': '@mantine/hooks@9.1.1(react@19.2.5)':
dependencies: dependencies:
react: 19.2.5 react: 19.2.5
@ -3450,136 +3458,136 @@ snapshots:
'@oxc-project/types@0.127.0': {} '@oxc-project/types@0.127.0': {}
'@oxfmt/binding-android-arm-eabi@0.46.0': '@oxfmt/binding-android-arm-eabi@0.47.0':
optional: true optional: true
'@oxfmt/binding-android-arm64@0.46.0': '@oxfmt/binding-android-arm64@0.47.0':
optional: true optional: true
'@oxfmt/binding-darwin-arm64@0.46.0': '@oxfmt/binding-darwin-arm64@0.47.0':
optional: true optional: true
'@oxfmt/binding-darwin-x64@0.46.0': '@oxfmt/binding-darwin-x64@0.47.0':
optional: true optional: true
'@oxfmt/binding-freebsd-x64@0.46.0': '@oxfmt/binding-freebsd-x64@0.47.0':
optional: true optional: true
'@oxfmt/binding-linux-arm-gnueabihf@0.46.0': '@oxfmt/binding-linux-arm-gnueabihf@0.47.0':
optional: true optional: true
'@oxfmt/binding-linux-arm-musleabihf@0.46.0': '@oxfmt/binding-linux-arm-musleabihf@0.47.0':
optional: true optional: true
'@oxfmt/binding-linux-arm64-gnu@0.46.0': '@oxfmt/binding-linux-arm64-gnu@0.47.0':
optional: true optional: true
'@oxfmt/binding-linux-arm64-musl@0.46.0': '@oxfmt/binding-linux-arm64-musl@0.47.0':
optional: true optional: true
'@oxfmt/binding-linux-ppc64-gnu@0.46.0': '@oxfmt/binding-linux-ppc64-gnu@0.47.0':
optional: true optional: true
'@oxfmt/binding-linux-riscv64-gnu@0.46.0': '@oxfmt/binding-linux-riscv64-gnu@0.47.0':
optional: true optional: true
'@oxfmt/binding-linux-riscv64-musl@0.46.0': '@oxfmt/binding-linux-riscv64-musl@0.47.0':
optional: true optional: true
'@oxfmt/binding-linux-s390x-gnu@0.46.0': '@oxfmt/binding-linux-s390x-gnu@0.47.0':
optional: true optional: true
'@oxfmt/binding-linux-x64-gnu@0.46.0': '@oxfmt/binding-linux-x64-gnu@0.47.0':
optional: true optional: true
'@oxfmt/binding-linux-x64-musl@0.46.0': '@oxfmt/binding-linux-x64-musl@0.47.0':
optional: true optional: true
'@oxfmt/binding-openharmony-arm64@0.46.0': '@oxfmt/binding-openharmony-arm64@0.47.0':
optional: true optional: true
'@oxfmt/binding-win32-arm64-msvc@0.46.0': '@oxfmt/binding-win32-arm64-msvc@0.47.0':
optional: true optional: true
'@oxfmt/binding-win32-ia32-msvc@0.46.0': '@oxfmt/binding-win32-ia32-msvc@0.47.0':
optional: true optional: true
'@oxfmt/binding-win32-x64-msvc@0.46.0': '@oxfmt/binding-win32-x64-msvc@0.47.0':
optional: true optional: true
'@oxlint-tsgolint/darwin-arm64@0.22.0': '@oxlint-tsgolint/darwin-arm64@0.22.1':
optional: true optional: true
'@oxlint-tsgolint/darwin-x64@0.22.0': '@oxlint-tsgolint/darwin-x64@0.22.1':
optional: true optional: true
'@oxlint-tsgolint/linux-arm64@0.22.0': '@oxlint-tsgolint/linux-arm64@0.22.1':
optional: true optional: true
'@oxlint-tsgolint/linux-x64@0.22.0': '@oxlint-tsgolint/linux-x64@0.22.1':
optional: true optional: true
'@oxlint-tsgolint/win32-arm64@0.22.0': '@oxlint-tsgolint/win32-arm64@0.22.1':
optional: true optional: true
'@oxlint-tsgolint/win32-x64@0.22.0': '@oxlint-tsgolint/win32-x64@0.22.1':
optional: true optional: true
'@oxlint/binding-android-arm-eabi@1.61.0': '@oxlint/binding-android-arm-eabi@1.62.0':
optional: true optional: true
'@oxlint/binding-android-arm64@1.61.0': '@oxlint/binding-android-arm64@1.62.0':
optional: true optional: true
'@oxlint/binding-darwin-arm64@1.61.0': '@oxlint/binding-darwin-arm64@1.62.0':
optional: true optional: true
'@oxlint/binding-darwin-x64@1.61.0': '@oxlint/binding-darwin-x64@1.62.0':
optional: true optional: true
'@oxlint/binding-freebsd-x64@1.61.0': '@oxlint/binding-freebsd-x64@1.62.0':
optional: true optional: true
'@oxlint/binding-linux-arm-gnueabihf@1.61.0': '@oxlint/binding-linux-arm-gnueabihf@1.62.0':
optional: true optional: true
'@oxlint/binding-linux-arm-musleabihf@1.61.0': '@oxlint/binding-linux-arm-musleabihf@1.62.0':
optional: true optional: true
'@oxlint/binding-linux-arm64-gnu@1.61.0': '@oxlint/binding-linux-arm64-gnu@1.62.0':
optional: true optional: true
'@oxlint/binding-linux-arm64-musl@1.61.0': '@oxlint/binding-linux-arm64-musl@1.62.0':
optional: true optional: true
'@oxlint/binding-linux-ppc64-gnu@1.61.0': '@oxlint/binding-linux-ppc64-gnu@1.62.0':
optional: true optional: true
'@oxlint/binding-linux-riscv64-gnu@1.61.0': '@oxlint/binding-linux-riscv64-gnu@1.62.0':
optional: true optional: true
'@oxlint/binding-linux-riscv64-musl@1.61.0': '@oxlint/binding-linux-riscv64-musl@1.62.0':
optional: true optional: true
'@oxlint/binding-linux-s390x-gnu@1.61.0': '@oxlint/binding-linux-s390x-gnu@1.62.0':
optional: true optional: true
'@oxlint/binding-linux-x64-gnu@1.61.0': '@oxlint/binding-linux-x64-gnu@1.62.0':
optional: true optional: true
'@oxlint/binding-linux-x64-musl@1.61.0': '@oxlint/binding-linux-x64-musl@1.62.0':
optional: true optional: true
'@oxlint/binding-openharmony-arm64@1.61.0': '@oxlint/binding-openharmony-arm64@1.62.0':
optional: true optional: true
'@oxlint/binding-win32-arm64-msvc@1.61.0': '@oxlint/binding-win32-arm64-msvc@1.62.0':
optional: true optional: true
'@oxlint/binding-win32-ia32-msvc@1.61.0': '@oxlint/binding-win32-ia32-msvc@1.62.0':
optional: true optional: true
'@oxlint/binding-win32-x64-msvc@1.61.0': '@oxlint/binding-win32-x64-msvc@1.62.0':
optional: true optional: true
'@rolldown/binding-android-arm64@1.0.0-rc.17': '@rolldown/binding-android-arm64@1.0.0-rc.17':
@ -3769,6 +3777,9 @@ snapshots:
'@xmldom/xmldom@0.8.13': {} '@xmldom/xmldom@0.8.13': {}
'@xmldom/xmldom@0.9.10':
optional: true
abbrev@4.0.0: {} abbrev@4.0.0: {}
agent-base@7.1.4: {} agent-base@7.1.4: {}
@ -3863,7 +3874,7 @@ snapshots:
base64-js@1.5.1: {} base64-js@1.5.1: {}
baseline-browser-mapping@2.10.22: {} baseline-browser-mapping@2.10.24: {}
boolean@3.2.0: boolean@3.2.0:
optional: true optional: true
@ -3883,8 +3894,8 @@ snapshots:
browserslist@4.28.2: browserslist@4.28.2:
dependencies: dependencies:
baseline-browser-mapping: 2.10.22 baseline-browser-mapping: 2.10.24
caniuse-lite: 1.0.30001790 caniuse-lite: 1.0.30001791
electron-to-chromium: 1.5.344 electron-to-chromium: 1.5.344
node-releases: 2.0.38 node-releases: 2.0.38
update-browserslist-db: 1.2.3(browserslist@4.28.2) update-browserslist-db: 1.2.3(browserslist@4.28.2)
@ -3950,7 +3961,7 @@ snapshots:
es-errors: 1.3.0 es-errors: 1.3.0
function-bind: 1.1.2 function-bind: 1.1.2
caniuse-lite@1.0.30001790: {} caniuse-lite@1.0.30001791: {}
ccount@2.0.1: {} ccount@2.0.1: {}
@ -4150,7 +4161,7 @@ snapshots:
ajv: 6.15.0 ajv: 6.15.0
crc: 3.8.0 crc: 3.8.0
iconv-corefoundation: 1.1.7 iconv-corefoundation: 1.1.7
plist: 3.1.0 plist: 3.1.1
smart-buffer: 4.2.0 smart-buffer: 4.2.0
verror: 1.10.1 verror: 1.10.1
optional: true optional: true
@ -4823,7 +4834,7 @@ snapshots:
dependencies: dependencies:
yallist: 4.0.0 yallist: 4.0.0
lucide-react@1.11.0(react@19.2.5): lucide-react@1.14.0(react@19.2.5):
dependencies: dependencies:
react: 19.2.5 react: 19.2.5
@ -5295,61 +5306,61 @@ snapshots:
powershell-utils: 0.1.0 powershell-utils: 0.1.0
wsl-utils: 0.3.1 wsl-utils: 0.3.1
oxfmt@0.46.0: oxfmt@0.47.0:
dependencies: dependencies:
tinypool: 2.1.0 tinypool: 2.1.0
optionalDependencies: optionalDependencies:
'@oxfmt/binding-android-arm-eabi': 0.46.0 '@oxfmt/binding-android-arm-eabi': 0.47.0
'@oxfmt/binding-android-arm64': 0.46.0 '@oxfmt/binding-android-arm64': 0.47.0
'@oxfmt/binding-darwin-arm64': 0.46.0 '@oxfmt/binding-darwin-arm64': 0.47.0
'@oxfmt/binding-darwin-x64': 0.46.0 '@oxfmt/binding-darwin-x64': 0.47.0
'@oxfmt/binding-freebsd-x64': 0.46.0 '@oxfmt/binding-freebsd-x64': 0.47.0
'@oxfmt/binding-linux-arm-gnueabihf': 0.46.0 '@oxfmt/binding-linux-arm-gnueabihf': 0.47.0
'@oxfmt/binding-linux-arm-musleabihf': 0.46.0 '@oxfmt/binding-linux-arm-musleabihf': 0.47.0
'@oxfmt/binding-linux-arm64-gnu': 0.46.0 '@oxfmt/binding-linux-arm64-gnu': 0.47.0
'@oxfmt/binding-linux-arm64-musl': 0.46.0 '@oxfmt/binding-linux-arm64-musl': 0.47.0
'@oxfmt/binding-linux-ppc64-gnu': 0.46.0 '@oxfmt/binding-linux-ppc64-gnu': 0.47.0
'@oxfmt/binding-linux-riscv64-gnu': 0.46.0 '@oxfmt/binding-linux-riscv64-gnu': 0.47.0
'@oxfmt/binding-linux-riscv64-musl': 0.46.0 '@oxfmt/binding-linux-riscv64-musl': 0.47.0
'@oxfmt/binding-linux-s390x-gnu': 0.46.0 '@oxfmt/binding-linux-s390x-gnu': 0.47.0
'@oxfmt/binding-linux-x64-gnu': 0.46.0 '@oxfmt/binding-linux-x64-gnu': 0.47.0
'@oxfmt/binding-linux-x64-musl': 0.46.0 '@oxfmt/binding-linux-x64-musl': 0.47.0
'@oxfmt/binding-openharmony-arm64': 0.46.0 '@oxfmt/binding-openharmony-arm64': 0.47.0
'@oxfmt/binding-win32-arm64-msvc': 0.46.0 '@oxfmt/binding-win32-arm64-msvc': 0.47.0
'@oxfmt/binding-win32-ia32-msvc': 0.46.0 '@oxfmt/binding-win32-ia32-msvc': 0.47.0
'@oxfmt/binding-win32-x64-msvc': 0.46.0 '@oxfmt/binding-win32-x64-msvc': 0.47.0
oxlint-tsgolint@0.22.0: oxlint-tsgolint@0.22.1:
optionalDependencies: optionalDependencies:
'@oxlint-tsgolint/darwin-arm64': 0.22.0 '@oxlint-tsgolint/darwin-arm64': 0.22.1
'@oxlint-tsgolint/darwin-x64': 0.22.0 '@oxlint-tsgolint/darwin-x64': 0.22.1
'@oxlint-tsgolint/linux-arm64': 0.22.0 '@oxlint-tsgolint/linux-arm64': 0.22.1
'@oxlint-tsgolint/linux-x64': 0.22.0 '@oxlint-tsgolint/linux-x64': 0.22.1
'@oxlint-tsgolint/win32-arm64': 0.22.0 '@oxlint-tsgolint/win32-arm64': 0.22.1
'@oxlint-tsgolint/win32-x64': 0.22.0 '@oxlint-tsgolint/win32-x64': 0.22.1
oxlint@1.61.0(oxlint-tsgolint@0.22.0): oxlint@1.62.0(oxlint-tsgolint@0.22.1):
optionalDependencies: optionalDependencies:
'@oxlint/binding-android-arm-eabi': 1.61.0 '@oxlint/binding-android-arm-eabi': 1.62.0
'@oxlint/binding-android-arm64': 1.61.0 '@oxlint/binding-android-arm64': 1.62.0
'@oxlint/binding-darwin-arm64': 1.61.0 '@oxlint/binding-darwin-arm64': 1.62.0
'@oxlint/binding-darwin-x64': 1.61.0 '@oxlint/binding-darwin-x64': 1.62.0
'@oxlint/binding-freebsd-x64': 1.61.0 '@oxlint/binding-freebsd-x64': 1.62.0
'@oxlint/binding-linux-arm-gnueabihf': 1.61.0 '@oxlint/binding-linux-arm-gnueabihf': 1.62.0
'@oxlint/binding-linux-arm-musleabihf': 1.61.0 '@oxlint/binding-linux-arm-musleabihf': 1.62.0
'@oxlint/binding-linux-arm64-gnu': 1.61.0 '@oxlint/binding-linux-arm64-gnu': 1.62.0
'@oxlint/binding-linux-arm64-musl': 1.61.0 '@oxlint/binding-linux-arm64-musl': 1.62.0
'@oxlint/binding-linux-ppc64-gnu': 1.61.0 '@oxlint/binding-linux-ppc64-gnu': 1.62.0
'@oxlint/binding-linux-riscv64-gnu': 1.61.0 '@oxlint/binding-linux-riscv64-gnu': 1.62.0
'@oxlint/binding-linux-riscv64-musl': 1.61.0 '@oxlint/binding-linux-riscv64-musl': 1.62.0
'@oxlint/binding-linux-s390x-gnu': 1.61.0 '@oxlint/binding-linux-s390x-gnu': 1.62.0
'@oxlint/binding-linux-x64-gnu': 1.61.0 '@oxlint/binding-linux-x64-gnu': 1.62.0
'@oxlint/binding-linux-x64-musl': 1.61.0 '@oxlint/binding-linux-x64-musl': 1.62.0
'@oxlint/binding-openharmony-arm64': 1.61.0 '@oxlint/binding-openharmony-arm64': 1.62.0
'@oxlint/binding-win32-arm64-msvc': 1.61.0 '@oxlint/binding-win32-arm64-msvc': 1.62.0
'@oxlint/binding-win32-ia32-msvc': 1.61.0 '@oxlint/binding-win32-ia32-msvc': 1.62.0
'@oxlint/binding-win32-x64-msvc': 1.61.0 '@oxlint/binding-win32-x64-msvc': 1.62.0
oxlint-tsgolint: 0.22.0 oxlint-tsgolint: 0.22.1
p-cancelable@2.1.1: {} p-cancelable@2.1.1: {}
@ -5393,7 +5404,14 @@ snapshots:
base64-js: 1.5.1 base64-js: 1.5.1
xmlbuilder: 15.1.1 xmlbuilder: 15.1.1
postcss@8.5.10: plist@3.1.1:
dependencies:
'@xmldom/xmldom': 0.9.10
base64-js: 1.5.1
xmlbuilder: 15.1.1
optional: true
postcss@8.5.12:
dependencies: dependencies:
nanoid: 3.3.11 nanoid: 3.3.11
picocolors: 1.1.1 picocolors: 1.1.1
@ -5907,7 +5925,7 @@ snapshots:
dependencies: dependencies:
lightningcss: 1.32.0 lightningcss: 1.32.0
picomatch: 4.0.4 picomatch: 4.0.4
postcss: 8.5.10 postcss: 8.5.12
rolldown: 1.0.0-rc.17 rolldown: 1.0.0-rc.17
tinyglobby: 0.2.16 tinyglobby: 0.2.16
optionalDependencies: optionalDependencies:

View file

@ -4,7 +4,7 @@ import { Activity } from 'lucide-react';
const BADGE_STYLE = { const BADGE_STYLE = {
borderRadius: '0.75rem', borderRadius: '0.75rem',
fontSize: '0.7rem', fontSize: '0.7rem',
fontWeight: 600, fontWeight: 500,
fontVariantNumeric: 'tabular-nums', fontVariantNumeric: 'tabular-nums',
height: 'auto', height: 'auto',
margin: '0.125rem 0', margin: '0.125rem 0',

View file

@ -439,7 +439,7 @@ export const LaunchScreen = ({ onLaunch }: LaunchScreenProps) => {
</Tabs> </Tabs>
<div <div
style={{ style={{
borderTop: '1px solid var(--mantine-color-default-border)', borderTop: '1px solid var(--gerbil-divider)',
padding: 'var(--mantine-spacing-md) 0', padding: 'var(--mantine-spacing-md) 0',
display: 'flex', display: 'flex',
justifyContent: 'flex-end', justifyContent: 'flex-end',

View file

@ -1,5 +1,5 @@
import { spawn } from 'node:child_process'; import { spawn } from 'node:child_process';
import { platform } from 'node:process'; import { env as processEnv, platform } from 'node:process';
import type { BrowserWindow } from 'electron'; import type { BrowserWindow } from 'electron';
import { import {
@ -203,9 +203,15 @@ const LINUX_PERFORMANCE_APPS = [
let cachedLinuxApp: string | null = null; let cachedLinuxApp: string | null = null;
let linuxAppSearchComplete = false; let linuxAppSearchComplete = false;
const isInsideFlatpak = () => !!processEnv.FLATPAK_ID;
const tryLaunchCommand = async (command: string, args: string[] = []) => const tryLaunchCommand = async (command: string, args: string[] = []) =>
new Promise<boolean>((resolve) => { new Promise<boolean>((resolve) => {
const child = spawn(command, args, { const [cmd, cmdArgs] = isInsideFlatpak()
? (['flatpak-spawn', ['--host', command, ...args]] as const)
: ([command, args] as const);
const child = spawn(cmd, cmdArgs, {
detached: true, detached: true,
stdio: 'ignore', stdio: 'ignore',
}); });

View file

@ -14,6 +14,7 @@
:root { :root {
--gerbil-window-border: light-dark(rgba(0, 0, 0, 0.15), rgba(255, 255, 255, 0.08)); --gerbil-window-border: light-dark(rgba(0, 0, 0, 0.15), rgba(255, 255, 255, 0.08));
--gerbil-surface-secondary: light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-6)); --gerbil-surface-secondary: light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-6));
--gerbil-divider: light-dark(var(--mantine-color-default-border), oklch(30% 0.009 240));
--gerbil-scrollbar-thumb: color-mix(in srgb, var(--mantine-color-gray-5) 50%, transparent); --gerbil-scrollbar-thumb: color-mix(in srgb, var(--mantine-color-gray-5) 50%, transparent);
--gerbil-scrollbar-thumb-hover: color-mix(in srgb, var(--mantine-color-gray-5) 80%, transparent); --gerbil-scrollbar-thumb-hover: color-mix(in srgb, var(--mantine-color-gray-5) 80%, transparent);
--gerbil-scrollbar-thumb-active: color-mix(in srgb, var(--mantine-color-gray-7) 90%, transparent); --gerbil-scrollbar-thumb-active: color-mix(in srgb, var(--mantine-color-gray-7) 90%, transparent);

View file

@ -36,12 +36,12 @@ export const theme = createTheme({
'oklch(70% 0.008 240)', // 1 — secondary text 'oklch(70% 0.008 240)', // 1 — secondary text
'oklch(61% 0.008 240)', // 2 — dimmed 'oklch(61% 0.008 240)', // 2 — dimmed
'oklch(48% 0.009 240)', // 3 — borders 'oklch(48% 0.009 240)', // 3 — borders
'oklch(40% 0.009 240)', // 4 — input background 'oklch(40% 0.010 240)', // 4 — input background
'oklch(33% 0.009 240)', // 5 — card background 'oklch(32% 0.010 240)', // 5 — card background
'oklch(28% 0.009 240)', // 6 — component background 'oklch(25% 0.009 240)', // 6 — component background
'oklch(24% 0.008 240)', // 7 — raised surface 'oklch(20% 0.008 240)', // 7 — raised surface
'oklch(21% 0.008 240)', // 8 — body 'oklch(15% 0.007 240)', // 8 — body
'oklch(18% 0.007 240)', // 9 — deepest 'oklch(11% 0.006 240)', // 9 — deepest
], ],
}, },
components: { components: {
@ -86,7 +86,7 @@ export const cssVariablesResolver: CSSVariablesResolver = (t) => {
variables: { ...v8.variables }, variables: { ...v8.variables },
dark: { dark: {
...v8.dark, ...v8.dark,
'--mantine-color-body': 'oklch(21% 0.008 240)', '--mantine-color-body': 'oklch(18% 0.008 240)',
'--mantine-color-default-border': 'oklch(48% 0.009 240)', '--mantine-color-default-border': 'oklch(48% 0.009 240)',
'--gerbil-link-color': 'var(--mantine-color-brand-4)', '--gerbil-link-color': 'var(--mantine-color-brand-4)',
}, },