From 22f5c5e7e44cddf62fd49b4b7937d4f708992146 Mon Sep 17 00:00:00 2001 From: litruv Date: Sat, 21 Feb 2026 17:50:50 +1100 Subject: [PATCH] electron --- .gitea/workflows/build.yml | 405 +- README.md | 24 +- cinny | 2 +- electron-builder.json5 | 131 + electron/main.js | 490 + electron/preload.js | 143 + {src-tauri/icons => icons}/icon.icns | Bin {src-tauri/icons => icons}/icon.ico | Bin {src-tauri/icons => icons}/icon.png | Bin package-lock.json | 5725 +++++++++++- package.json | 24 +- scripts/generate-icons.mjs | 143 +- scripts/release.mjs | 108 - src-tauri/.cargo/config.toml | 9 - src-tauri/.gitignore | 6 - src-tauri/.tauri-private.key.pub | 1 - src-tauri/Cargo.lock | 8276 ----------------- src-tauri/Cargo.toml | 59 - src-tauri/build.rs | 3 - src-tauri/capabilities/default.json | 29 - src-tauri/capabilities/mobile.json | 13 - src-tauri/gen/android/.editorconfig | 12 - src-tauri/gen/android/.gitignore | 19 - src-tauri/gen/android/app/.gitignore | 6 - src-tauri/gen/android/app/build.gradle.kts | 73 - src-tauri/gen/android/app/proguard-rules.pro | 21 - .../android/app/src/main/AndroidManifest.xml | 73 - .../main/java/wtf/ruv/paarrot/BootReceiver.kt | 22 - .../main/java/wtf/ruv/paarrot/MainActivity.kt | 73 - .../main/java/wtf/ruv/paarrot/SyncService.kt | 278 - .../drawable-v24/ic_launcher_foreground.xml | 30 - .../res/drawable/ic_launcher_background.xml | 170 - .../app/src/main/res/layout/activity_main.xml | 18 - .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 9217 -> 0 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 18447 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 9106 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 4696 -> 0 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 9213 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 4621 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 15208 -> 0 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 30582 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 15049 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 30254 -> 0 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 62650 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 30086 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 50437 -> 0 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 106967 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 50208 -> 0 bytes .../app/src/main/res/values-night/themes.xml | 6 - .../app/src/main/res/values/colors.xml | 10 - .../app/src/main/res/values/strings.xml | 4 - .../app/src/main/res/values/themes.xml | 6 - .../app/src/main/res/xml/file_paths.xml | 5 - src-tauri/gen/android/build.gradle.kts | 22 - .../gen/android/buildSrc/build.gradle.kts | 23 - .../java/wtf/ruv/paarrot/kotlin/BuildTask.kt | 68 - .../java/wtf/ruv/paarrot/kotlin/RustPlugin.kt | 85 - src-tauri/gen/android/gradle.properties | 24 - .../android/gradle/wrapper/gradle-wrapper.jar | Bin 59203 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 - src-tauri/gen/android/gradlew | 185 - src-tauri/gen/android/gradlew.bat | 89 - src-tauri/gen/android/settings.gradle | 3 - src-tauri/gen/schemas/acl-manifests.json | 1 - src-tauri/gen/schemas/android-schema.json | 2729 ------ src-tauri/gen/schemas/capabilities.json | 1 - src-tauri/gen/schemas/desktop-schema.json | 3113 ------- src-tauri/gen/schemas/linux-schema.json | 3113 ------- src-tauri/gen/schemas/mobile-schema.json | 2729 ------ src-tauri/gen/schemas/windows-schema.json | 3113 ------- src-tauri/icons/128x128.png | Bin 24341 -> 0 bytes src-tauri/icons/128x128@2x.png | Bin 82811 -> 0 bytes src-tauri/icons/32x32.png | Bin 2405 -> 0 bytes src-tauri/icons/Square107x107Logo.png | Bin 18380 -> 0 bytes src-tauri/icons/Square142x142Logo.png | Bin 29685 -> 0 bytes src-tauri/icons/Square150x150Logo.png | Bin 32479 -> 0 bytes src-tauri/icons/Square284x284Logo.png | Bin 102460 -> 0 bytes src-tauri/icons/Square30x30Logo.png | Bin 2191 -> 0 bytes src-tauri/icons/Square310x310Logo.png | Bin 120664 -> 0 bytes src-tauri/icons/Square44x44Logo.png | Bin 4060 -> 0 bytes src-tauri/icons/Square71x71Logo.png | Bin 9033 -> 0 bytes src-tauri/icons/Square89x89Logo.png | Bin 13393 -> 0 bytes src-tauri/icons/StoreLogo.png | Bin 5065 -> 0 bytes src-tauri/icons/icon.ico.png | Bin 82811 -> 0 bytes src-tauri/src/background_sync.rs | 133 - src-tauri/src/lib.rs | 475 - src-tauri/src/main.rs | 8 - src-tauri/src/matrix_sync.rs | 174 - src-tauri/src/mobile.rs | 7 - src-tauri/tauri.conf.json | 82 - src-tauri/wix/banner.bmp | Bin 85894 -> 0 bytes src-tauri/wix/dialogImage.bmp | Bin 461814 -> 0 bytes 92 files changed, 6344 insertions(+), 26256 deletions(-) create mode 100644 electron-builder.json5 create mode 100644 electron/main.js create mode 100644 electron/preload.js rename {src-tauri/icons => icons}/icon.icns (100%) rename {src-tauri/icons => icons}/icon.ico (100%) rename {src-tauri/icons => icons}/icon.png (100%) delete mode 100644 scripts/release.mjs delete mode 100644 src-tauri/.cargo/config.toml delete mode 100644 src-tauri/.gitignore delete mode 100644 src-tauri/.tauri-private.key.pub delete mode 100644 src-tauri/Cargo.lock delete mode 100644 src-tauri/Cargo.toml delete mode 100644 src-tauri/build.rs delete mode 100644 src-tauri/capabilities/default.json delete mode 100644 src-tauri/capabilities/mobile.json delete mode 100644 src-tauri/gen/android/.editorconfig delete mode 100644 src-tauri/gen/android/.gitignore delete mode 100644 src-tauri/gen/android/app/.gitignore delete mode 100644 src-tauri/gen/android/app/build.gradle.kts delete mode 100644 src-tauri/gen/android/app/proguard-rules.pro delete mode 100644 src-tauri/gen/android/app/src/main/AndroidManifest.xml delete mode 100644 src-tauri/gen/android/app/src/main/java/wtf/ruv/paarrot/BootReceiver.kt delete mode 100644 src-tauri/gen/android/app/src/main/java/wtf/ruv/paarrot/MainActivity.kt delete mode 100644 src-tauri/gen/android/app/src/main/java/wtf/ruv/paarrot/SyncService.kt delete mode 100644 src-tauri/gen/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml delete mode 100644 src-tauri/gen/android/app/src/main/res/drawable/ic_launcher_background.xml delete mode 100644 src-tauri/gen/android/app/src/main/res/layout/activity_main.xml delete mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png delete mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png delete mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png delete mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png delete mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png delete mode 100644 src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png delete mode 100644 src-tauri/gen/android/app/src/main/res/values-night/themes.xml delete mode 100644 src-tauri/gen/android/app/src/main/res/values/colors.xml delete mode 100644 src-tauri/gen/android/app/src/main/res/values/strings.xml delete mode 100644 src-tauri/gen/android/app/src/main/res/values/themes.xml delete mode 100644 src-tauri/gen/android/app/src/main/res/xml/file_paths.xml delete mode 100644 src-tauri/gen/android/build.gradle.kts delete mode 100644 src-tauri/gen/android/buildSrc/build.gradle.kts delete mode 100644 src-tauri/gen/android/buildSrc/src/main/java/wtf/ruv/paarrot/kotlin/BuildTask.kt delete mode 100644 src-tauri/gen/android/buildSrc/src/main/java/wtf/ruv/paarrot/kotlin/RustPlugin.kt delete mode 100644 src-tauri/gen/android/gradle.properties delete mode 100644 src-tauri/gen/android/gradle/wrapper/gradle-wrapper.jar delete mode 100644 src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties delete mode 100644 src-tauri/gen/android/gradlew delete mode 100644 src-tauri/gen/android/gradlew.bat delete mode 100644 src-tauri/gen/android/settings.gradle delete mode 100644 src-tauri/gen/schemas/acl-manifests.json delete mode 100644 src-tauri/gen/schemas/android-schema.json delete mode 100644 src-tauri/gen/schemas/capabilities.json delete mode 100644 src-tauri/gen/schemas/desktop-schema.json delete mode 100644 src-tauri/gen/schemas/linux-schema.json delete mode 100644 src-tauri/gen/schemas/mobile-schema.json delete mode 100644 src-tauri/gen/schemas/windows-schema.json delete mode 100644 src-tauri/icons/128x128.png delete mode 100644 src-tauri/icons/128x128@2x.png delete mode 100644 src-tauri/icons/32x32.png delete mode 100644 src-tauri/icons/Square107x107Logo.png delete mode 100644 src-tauri/icons/Square142x142Logo.png delete mode 100644 src-tauri/icons/Square150x150Logo.png delete mode 100644 src-tauri/icons/Square284x284Logo.png delete mode 100644 src-tauri/icons/Square30x30Logo.png delete mode 100644 src-tauri/icons/Square310x310Logo.png delete mode 100644 src-tauri/icons/Square44x44Logo.png delete mode 100644 src-tauri/icons/Square71x71Logo.png delete mode 100644 src-tauri/icons/Square89x89Logo.png delete mode 100644 src-tauri/icons/StoreLogo.png delete mode 100644 src-tauri/icons/icon.ico.png delete mode 100644 src-tauri/src/background_sync.rs delete mode 100644 src-tauri/src/lib.rs delete mode 100644 src-tauri/src/main.rs delete mode 100644 src-tauri/src/matrix_sync.rs delete mode 100644 src-tauri/src/mobile.rs delete mode 100644 src-tauri/tauri.conf.json delete mode 100644 src-tauri/wix/banner.bmp delete mode 100644 src-tauri/wix/dialogImage.bmp diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index a9eed0c..b698485 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -8,12 +8,6 @@ on: tags: - 'v*' -env: - TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} - CARGO_INCREMENTAL: 1 - CARGO_NET_RETRY: 10 - RUSTUP_MAX_RETRIES: 10 - jobs: increment-version: runs-on: ubuntu-latest @@ -32,8 +26,8 @@ jobs: - name: Bump patch version id: bump run: | - # Get current version - CURRENT=$(grep -Po '"version":\s*"\K[^"]+' src-tauri/tauri.conf.json | head -1) + # Get current version from package.json + CURRENT=$(grep -Po '"version":\s*"\K[^"]+' package.json | head -1) echo "Current version: $CURRENT" # Split and increment patch @@ -44,11 +38,11 @@ jobs: NEW_VERSION="${MAJOR}.${MINOR}.${NEW_PATCH}" echo "New version: $NEW_VERSION" - # Update tauri.conf.json - sed -i "s/\"version\": \"${CURRENT}\"/\"version\": \"${NEW_VERSION}\"/" src-tauri/tauri.conf.json + # Update package.json + sed -i "s/\"version\": \"${CURRENT}\"/\"version\": \"${NEW_VERSION}\"/" package.json # Verify the change - grep '"version"' src-tauri/tauri.conf.json | head -1 + grep '"version"' package.json | head -1 echo "VERSION=$NEW_VERSION" >> $GITHUB_OUTPUT echo "SHOULD_BUILD=true" >> $GITHUB_OUTPUT @@ -57,7 +51,7 @@ jobs: run: | git config user.name "GitHub Actions" git config user.email "actions@github.com" - git add src-tauri/tauri.conf.json + git add package.json git commit -m "chore: bump version to ${{ steps.bump.outputs.VERSION }} [skip ci]" git push @@ -65,39 +59,24 @@ jobs: runs-on: windows needs: increment-version if: always() && (needs.increment-version.outputs.should_build == 'true' || needs.increment-version.result == 'skipped') - env: - CARGO_TARGET_DIR: C:\cargo-cache\cinny-desktop steps: - name: Checkout repository uses: actions/checkout@v4 with: - submodules: false + submodules: recursive ref: ${{ github.ref_name }} - clean: false - name: Pull latest (after version bump) if: github.ref == 'refs/heads/main' shell: powershell run: git pull origin main - - name: Checkout submodules (Windows workaround) - shell: powershell - run: | - git submodule update --init --recursive - - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - - name: Install Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - profile: minimal - override: true - - name: Install dependencies (root) run: npm install --prefer-offline @@ -105,80 +84,27 @@ jobs: working-directory: ./cinny run: npm install --prefer-offline - - name: Build Tauri app - run: npm run tauri build + - name: Build Electron app + run: npm run build:win + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Copy and rename MSI files - shell: powershell - run: | - # Clean and recreate output dir - $outDir = "src-tauri/target/release/bundle/msi" - if (Test-Path $outDir) { Remove-Item -Recurse -Force $outDir } - New-Item -ItemType Directory -Force -Path $outDir | Out-Null - - # Find and copy MSI from cache location (get NEWEST file by LastWriteTime) - $srcDir = "$env:CARGO_TARGET_DIR/release/bundle/msi" - Write-Host "Looking for MSI in: $srcDir" - Get-ChildItem $srcDir -ErrorAction SilentlyContinue | Sort-Object LastWriteTime -Descending - - $msi = Get-ChildItem "$srcDir/*.msi" -ErrorAction Stop | Sort-Object LastWriteTime -Descending | Select-Object -First 1 - Write-Host "Found MSI: $($msi.FullName) (Size: $($msi.Length) bytes, Modified: $($msi.LastWriteTime))" - Copy-Item $msi.FullName "$outDir/Cinny-Windows-x64.msi" -Force - - $msiZip = Get-ChildItem "$srcDir/*.msi.zip" -ErrorAction SilentlyContinue | Sort-Object LastWriteTime -Descending | Select-Object -First 1 - if ($msiZip) { - Write-Host "Found MSI.zip: $($msiZip.FullName)" - Copy-Item $msiZip.FullName "$outDir/Cinny-Windows-x64.msi.zip" -Force - } - - $msiZipSig = Get-ChildItem "$srcDir/*.msi.zip.sig" -ErrorAction SilentlyContinue | Sort-Object LastWriteTime -Descending | Select-Object -First 1 - if ($msiZipSig) { - Write-Host "Found MSI.zip.sig: $($msiZipSig.FullName)" - Copy-Item $msiZipSig.FullName "$outDir/Cinny-Windows-x64.msi.zip.sig" -Force - } - - $msiSig = Get-ChildItem "$srcDir/*.msi.sig" -ErrorAction SilentlyContinue | Sort-Object LastWriteTime -Descending | Select-Object -First 1 - if ($msiSig) { - Write-Host "Found MSI.sig: $($msiSig.FullName)" - Copy-Item $msiSig.FullName "$outDir/Cinny-Windows-x64.msi.sig" -Force - } - - Write-Host "Final output:" - Get-ChildItem $outDir - - - name: Upload MSI installer + - name: Upload NSIS installer uses: actions/upload-artifact@v3 with: - name: Cinny-Windows-x64.msi - path: src-tauri/target/release/bundle/msi/Cinny-Windows-x64.msi + name: Paarrot-Windows-x64.exe + path: dist-electron/Paarrot-*-win-x64.exe - - name: Upload MSI updater zip + - name: Upload Portable uses: actions/upload-artifact@v3 - if: always() with: - name: Cinny-Windows-x64.msi.zip - path: src-tauri/target/release/bundle/msi/Cinny-Windows-x64.msi.zip - - - name: Upload MSI updater signature (zip) - uses: actions/upload-artifact@v3 - if: always() - with: - name: Cinny-Windows-x64.msi.zip.sig - path: src-tauri/target/release/bundle/msi/Cinny-Windows-x64.msi.zip.sig - - - name: Upload MSI signature - uses: actions/upload-artifact@v3 - if: always() - with: - name: Cinny-Windows-x64.msi.sig - path: src-tauri/target/release/bundle/msi/Cinny-Windows-x64.msi.sig + name: Paarrot-Windows-x64-portable.exe + path: dist-electron/Paarrot-*-win-x64.portable.exe build-linux: runs-on: ubuntu-latest needs: increment-version if: always() && (needs.increment-version.outputs.should_build == 'true' || needs.increment-version.result == 'skipped') - env: - CARGO_TARGET_DIR: /home/runner/cargo-cache/cinny-desktop steps: - name: Checkout repository @@ -196,17 +122,10 @@ jobs: with: node-version: '20' - - name: Install Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - profile: minimal - override: true - - name: Install system dependencies run: | sudo apt-get update - sudo apt-get install -y libwebkit2gtk-4.1-dev libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev rpm patchelf xdg-utils + sudo apt-get install -y rpm - name: Install dependencies (root) run: npm ci --prefer-offline @@ -215,224 +134,32 @@ jobs: working-directory: ./cinny run: npm ci --prefer-offline - - name: Build Tauri app - run: npm run tauri build - - - name: Copy and rename Linux packages - run: | - # Clean and recreate workspace output directories - rm -rf src-tauri/target/release/bundle/appimage - rm -rf src-tauri/target/release/bundle/deb - rm -rf src-tauri/target/release/bundle/rpm - mkdir -p src-tauri/target/release/bundle/appimage - mkdir -p src-tauri/target/release/bundle/deb - mkdir -p src-tauri/target/release/bundle/rpm - - # Show what's available in cache (sorted by time, newest first) - echo "Available AppImage files:" - ls -lt $CARGO_TARGET_DIR/release/bundle/appimage/ 2>/dev/null || true - echo "Available DEB files:" - ls -lt $CARGO_TARGET_DIR/release/bundle/deb/ 2>/dev/null || true - echo "Available RPM files:" - ls -lt $CARGO_TARGET_DIR/release/bundle/rpm/ 2>/dev/null || true - - # Copy from persistent cache location (get NEWEST file by modification time) - APPIMAGE=$(ls -t $CARGO_TARGET_DIR/release/bundle/appimage/*.AppImage 2>/dev/null | head -1) - echo "Copying AppImage: $APPIMAGE" - cp "$APPIMAGE" src-tauri/target/release/bundle/appimage/Cinny-Linux-x64.AppImage - - DEB=$(ls -t $CARGO_TARGET_DIR/release/bundle/deb/*.deb 2>/dev/null | head -1) - echo "Copying DEB: $DEB" - cp "$DEB" src-tauri/target/release/bundle/deb/Cinny-Linux-x64.deb - - RPM=$(ls -t $CARGO_TARGET_DIR/release/bundle/rpm/*.rpm 2>/dev/null | head -1) - echo "Copying RPM: $RPM" - cp "$RPM" src-tauri/target/release/bundle/rpm/Cinny-Linux-x64.rpm - - # Copy signature file for updater if it exists (get NEWEST) - if ls $CARGO_TARGET_DIR/release/bundle/appimage/*.AppImage.sig 1> /dev/null 2>&1; then - APPSIG=$(ls -t $CARGO_TARGET_DIR/release/bundle/appimage/*.AppImage.sig 2>/dev/null | head -1) - echo "Copying AppImage sig: $APPSIG" - cp "$APPSIG" src-tauri/target/release/bundle/appimage/Cinny-Linux-x64.AppImage.sig - fi - - # List final output - echo "Final output:" - ls -la src-tauri/target/release/bundle/appimage/ - ls -la src-tauri/target/release/bundle/deb/ - ls -la src-tauri/target/release/bundle/rpm/ + - name: Build Electron app + run: npm run build:linux + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload AppImage uses: actions/upload-artifact@v3 with: - name: Cinny-Linux-x64.AppImage - path: src-tauri/target/release/bundle/appimage/Cinny-Linux-x64.AppImage - - - name: Upload AppImage Signature - uses: actions/upload-artifact@v3 - if: always() - with: - name: Cinny-Linux-x64.AppImage.sig - path: src-tauri/target/release/bundle/appimage/Cinny-Linux-x64.AppImage.sig + name: Paarrot-Linux-x64.AppImage + path: dist-electron/Paarrot-*-x64.AppImage - name: Upload DEB package uses: actions/upload-artifact@v3 with: - name: Cinny-Linux-x64.deb - path: src-tauri/target/release/bundle/deb/Cinny-Linux-x64.deb + name: Paarrot-Linux-x64.deb + path: dist-electron/Paarrot-*-x64.deb - name: Upload RPM package uses: actions/upload-artifact@v3 with: - name: Cinny-Linux-x64.rpm - path: src-tauri/target/release/bundle/rpm/Cinny-Linux-x64.rpm - - build-android: - runs-on: windows - needs: increment-version - if: always() && (needs.increment-version.outputs.should_build == 'true' || needs.increment-version.result == 'skipped') - env: - CARGO_TARGET_DIR: C:\cargo-cache\cinny-desktop-android - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - submodules: false - ref: ${{ github.ref_name }} - clean: false - - - name: Pull latest (after version bump) - if: github.ref == 'refs/heads/main' - shell: powershell - run: git pull origin main - - - name: Checkout submodules (Windows workaround) - shell: powershell - run: | - git submodule update --init --recursive - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: '20' - - - name: Setup Java - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: '17' - - - name: Install Rust - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - profile: minimal - override: true - target: aarch64-linux-android - - - name: Add Android targets - run: | - rustup target add aarch64-linux-android --toolchain stable - - - name: Install dependencies (root) - run: npm ci --prefer-offline - - - name: Install dependencies (cinny) - working-directory: ./cinny - run: npm ci --prefer-offline - - - name: Build Android APK - shell: powershell - timeout-minutes: 30 - run: | - $env:PATH = "$env:USERPROFILE\.cargo\bin;$env:PATH" - npm run tauri android build -- --ci --target aarch64 - # Kill any lingering processes that might hang - Stop-Process -Name "java" -Force -ErrorAction SilentlyContinue - Stop-Process -Name "gradle" -Force -ErrorAction SilentlyContinue - env: - ANDROID_HOME: ${{ env.ANDROID_HOME }} - NDK_HOME: ${{ env.ANDROID_HOME }}/ndk/25.2.9519653 - RUSTUP_TOOLCHAIN: stable - CI: true - - - name: Sign APK - shell: powershell - run: | - $unsignedApk = "src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release-unsigned.apk" - $signedApk = "src-tauri/gen/android/app/build/outputs/apk/universal/release/cinny-release.apk" - $keystoreDir = "$env:USERPROFILE\.android" - $keystore = "$keystoreDir\debug.keystore" - - # Find Android SDK - $androidHome = if ($env:ANDROID_HOME) { $env:ANDROID_HOME } - elseif ($env:ANDROID_SDK_ROOT) { $env:ANDROID_SDK_ROOT } - elseif (Test-Path "$env:LOCALAPPDATA\Android\Sdk") { "$env:LOCALAPPDATA\Android\Sdk" } - else { "$env:USERPROFILE\AppData\Local\Android\Sdk" } - - Write-Host "Using Android SDK at: $androidHome" - - # Ensure keystore directory exists - if (-not (Test-Path $keystoreDir)) { - New-Item -ItemType Directory -Path $keystoreDir -Force | Out-Null - } - - # Use debug keystore for signing (create if missing) - if (-not (Test-Path $keystore)) { - Write-Host "Creating debug keystore..." - # Use -noprompt to avoid any interactive prompts - & keytool -genkeypair -noprompt -keystore $keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000 -dname "CN=Android Debug,O=Android,C=US" - if ($LASTEXITCODE -ne 0) { - Write-Error "Failed to create keystore" - exit 1 - } - } - - Write-Host "Using keystore: $keystore" - - # Find build tools - $buildTools = Get-ChildItem "$androidHome\build-tools" | Sort-Object Name -Descending | Select-Object -First 1 - $apksigner = "$($buildTools.FullName)\apksigner.bat" - $zipalign = "$($buildTools.FullName)\zipalign.exe" - - Write-Host "Using build tools: $($buildTools.FullName)" - - # Align the APK - Write-Host "Aligning APK..." - & $zipalign -v -p 4 $unsignedApk "$unsignedApk.aligned" - if ($LASTEXITCODE -ne 0) { - Write-Error "Failed to align APK" - exit 1 - } - - # Sign the APK - Write-Host "Signing APK..." - & $apksigner sign --ks $keystore --ks-pass pass:android --key-pass pass:android --out $signedApk "$unsignedApk.aligned" - if ($LASTEXITCODE -ne 0) { - Write-Error "Failed to sign APK" - exit 1 - } - - # Verify - Write-Host "Verifying signature..." - & $apksigner verify $signedApk - - Write-Host "Signed APK created at: $signedApk" - - # Rename to final name - Copy-Item $signedApk "src-tauri/gen/android/app/build/outputs/apk/universal/release/Cinny-Android.apk" - Write-Host "Done! APK ready at: Cinny-Android.apk" - - - name: Upload APK - uses: actions/upload-artifact@v3 - with: - name: Cinny-Android.apk - path: src-tauri/gen/android/app/build/outputs/apk/universal/release/Cinny-Android.apk + name: Paarrot-Linux-x64.rpm + path: dist-electron/Paarrot-*-x64.rpm create-release: runs-on: ubuntu-latest - needs: [increment-version, build-windows, build-linux, build-android] + needs: [increment-version, build-windows, build-linux] if: always() && (needs.build-windows.result == 'success' || needs.build-linux.result == 'success') steps: @@ -453,7 +180,7 @@ jobs: if [ -n "${{ needs.increment-version.outputs.version }}" ]; then VERSION="${{ needs.increment-version.outputs.version }}" else - VERSION=$(grep -Po '"version":\s*"\K[^"]+' src-tauri/tauri.conf.json | head -1) + VERSION=$(grep -Po '"version":\s*"\K[^"]+' package.json | head -1) fi echo "VERSION=$VERSION" >> $GITHUB_OUTPUT echo "Version: $VERSION" @@ -483,42 +210,10 @@ jobs: with: path: artifacts - - name: Create update.json - run: | - VERSION="${{ steps.version.outputs.VERSION }}" - APPIMAGE_SIG="" - MSI_SIG="" - if [ -f "artifacts/Cinny-Linux-x64.AppImage.sig/Cinny-Linux-x64.AppImage.sig" ]; then - APPIMAGE_SIG=$(cat "artifacts/Cinny-Linux-x64.AppImage.sig/Cinny-Linux-x64.AppImage.sig") - fi - if [ -f "artifacts/Cinny-Windows-x64.msi.sig/Cinny-Windows-x64.msi.sig" ]; then - MSI_SIG=$(cat "artifacts/Cinny-Windows-x64.msi.sig/Cinny-Windows-x64.msi.sig") - fi - - cat > update.json << EOF - { - "version": "${VERSION}", - "notes": "Update to version ${VERSION}", - "pub_date": "$(date -u +%Y-%m-%dT%H:%M:%SZ)", - "platforms": { - "linux-x86_64": { - "signature": "${APPIMAGE_SIG}", - "url": "http://synbox.ruv.wtf:8418/litruv/cinny-desktop/releases/download/v${VERSION}/Cinny-Linux-x64.AppImage" - }, - "windows-x86_64": { - "signature": "${MSI_SIG}", - "url": "http://synbox.ruv.wtf:8418/litruv/cinny-desktop/releases/download/v${VERSION}/Cinny-Windows-x64.msi" - } - } - } - EOF - cat update.json - - name: Prepare release files run: | mkdir -p release-files - find artifacts -type f \( -name "*.msi" -o -name "*.msi.zip" -o -name "*.msi.zip.sig" -o -name "*.AppImage" -o -name "*.deb" -o -name "*.rpm" -o -name "*.apk" -o -name "*.sig" \) -exec cp {} release-files/ \; - cp update.json release-files/ + find artifacts -type f \( -name "*.exe" -o -name "*.AppImage" -o -name "*.deb" -o -name "*.rpm" -o -name "*.dmg" -o -name "*.zip" \) -exec cp {} release-files/ \; ls -la release-files/ - name: Create or Update Release @@ -569,41 +264,3 @@ jobs: done echo "Release complete!" - - # Also update 'latest' release with update.json for auto-updater - echo "Updating 'latest' release..." - LATEST_TAG="latest" - LATEST_ID=$(curl -s -H "Authorization: token ${GITEA_TOKEN}" \ - "${API_BASE}/repos/${REPO}/releases/tags/${LATEST_TAG}" | jq -r '.id // empty') - - if [ -z "$LATEST_ID" ]; then - echo "Creating 'latest' release..." - LATEST_ID=$(curl -s -X POST \ - -H "Authorization: token ${GITEA_TOKEN}" \ - -H "Content-Type: application/json" \ - -d "{\"tag_name\": \"${LATEST_TAG}\", \"name\": \"Latest Release\", \"body\": \"Always points to the most recent version (${VERSION})\", \"draft\": false, \"prerelease\": false}" \ - "${API_BASE}/repos/${REPO}/releases" | jq -r '.id') - else - # Update release body - curl -s -X PATCH \ - -H "Authorization: token ${GITEA_TOKEN}" \ - -H "Content-Type: application/json" \ - -d "{\"body\": \"Always points to the most recent version (${VERSION})\"}" \ - "${API_BASE}/repos/${REPO}/releases/${LATEST_ID}" - # Delete existing update.json asset - LATEST_ASSETS=$(curl -s -H "Authorization: token ${GITEA_TOKEN}" \ - "${API_BASE}/repos/${REPO}/releases/${LATEST_ID}/assets" | jq -r '.[] | select(.name=="update.json") | .id') - for ASSET_ID in $LATEST_ASSETS; do - curl -s -X DELETE -H "Authorization: token ${GITEA_TOKEN}" \ - "${API_BASE}/repos/${REPO}/releases/${LATEST_ID}/assets/${ASSET_ID}" - done - fi - - # Upload update.json to latest - curl -s -X POST \ - -H "Authorization: token ${GITEA_TOKEN}" \ - -H "Content-Type: application/octet-stream" \ - --data-binary "@release-files/update.json" \ - "${API_BASE}/repos/${REPO}/releases/${LATEST_ID}/assets?name=update.json" - - echo "Latest release updated!" diff --git a/README.md b/README.md index 180ca8b..0a5146c 100644 --- a/README.md +++ b/README.md @@ -4,29 +4,21 @@ GitHub release downloads -Cinny is a matrix client focusing primarily on simple, elegant and secure interface. The desktop app is made with Tauri. +Cinny is a matrix client focusing primarily on simple, elegant and secure interface. The desktop app is built with Electron. ## Download -Installers for macOS, Windows and Linux can be downloaded from [Github releases](https://github.com/cinnyapp/cinny-desktop/releases). Releases are signed with a [Ed25519](https://ed25519.cr.yp.to/) public-key. +Installers for macOS, Windows and Linux can be downloaded from [releases](https://github.com/cinnyapp/cinny-desktop/releases). Operating System | Download ---|--- -Windows | Get it on Windows -macOS | Get it on macOS -Linux | Get it on Linux ยท Flatpak - -Decoded public key: -> RWRflTUQD3RHFtn25QNANCmePR9+4LSK89kAKTMEEB4OKpOFpLMgc64z - -To verify release files, you need to download [minisign](https://jedisct1.github.io/minisign/) tool and [decode](https://www.base64decode.org/) the *.sig* file before running: -> minisign -Vm ***RELEASE_FILE.msi.zip*** -P RWRflTUQD3RHFtn25QNANCmePR9+4LSK89kAKTMEEB4OKpOFpLMgc64z -x ***SINGATURE.msi.zip.sig*** +Windows | Get it on Windows +macOS | Get it on macOS +Linux | Get it on Linux ## Local development -Firstly, to setup Rust, NodeJS and build tools follow [Tauri documentation](https://tauri.app/v1/guides/getting-started/prerequisites). - -Now, to setup development locally run the following commands: +To setup development locally run the following commands: * `git clone --recursive https://github.com/cinnyapp/cinny-desktop.git` * `cd cinny-desktop/cinny` * `npm ci` @@ -34,7 +26,7 @@ Now, to setup development locally run the following commands: * `npm ci` To build the app locally, run: -* `npm run tauri build` +* `npm run build` To start local dev server, run: -* `npm run tauri dev` +* `npm run dev` diff --git a/cinny b/cinny index 6c74157..8b0960d 160000 --- a/cinny +++ b/cinny @@ -1 +1 @@ -Subproject commit 6c741577cee0b01347fdcfcbb21a9a17d51d1de4 +Subproject commit 8b0960d3661643aaefbc17ea0d66d557f251c7df diff --git a/electron-builder.json5 b/electron-builder.json5 new file mode 100644 index 0000000..e0fd110 --- /dev/null +++ b/electron-builder.json5 @@ -0,0 +1,131 @@ +{ + "appId": "com.paarrot.app", + "productName": "Paarrot", + "artifactName": "${productName}-${version}-${os}-${arch}.${ext}", + "copyright": "Copyright ยฉ 2024", + "directories": { + "output": "dist-electron", + "buildResources": "build-resources" + }, + "files": [ + "electron/**/*", + "cinny/dist/**/*", + "!**/*.map", + "!**/node_modules/*/{CHANGELOG.md,README.md,README,readme.md,readme}", + "!**/node_modules/*/{test,__tests__,tests,powered-test,example,examples}", + "!**/node_modules/*.d.ts", + "!**/node_modules/.bin", + "!**/*.{iml,o,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,xproj}", + "!.editorconfig", + "!**/._*", + "!**/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,.gitignore,.gitattributes}", + "!**/{__pycache__,thumbs.db,.flowconfig,.idea,.vs,.nyc_output}", + "!**/{appveyor.yml,.travis.yml,circle.yml}", + "!**/{npm-debug.log,yarn.lock,.yarn-integrity,.yarn-metadata.json}" + ], + "extraResources": [ + { + "from": "icons", + "to": "icons", + "filter": ["**/*"] + } + ], + "linux": { + "target": [ + { + "target": "AppImage", + "arch": ["x64", "arm64"] + }, + { + "target": "deb", + "arch": ["x64", "arm64"] + }, + { + "target": "rpm", + "arch": ["x64", "arm64"] + } + ], + "category": "Network;InstantMessaging", + "icon": "icons/icon.png", + "desktop": { + "Name": "Paarrot", + "GenericName": "Matrix Client", + "Comment": "A Matrix client built with Cinny", + "Categories": "Network;InstantMessaging;", + "Keywords": "matrix;chat;messaging;", + "StartupWMClass": "paarrot" + } + }, + "appImage": { + "license": "AGPL-3.0", + "artifactName": "${productName}-${version}-${arch}.${ext}" + }, + "deb": { + "depends": [ + "libnotify4", + "libxtst6", + "libnss3" + ], + "afterInstall": "build-resources/linux/after-install.sh", + "afterRemove": "build-resources/linux/after-remove.sh" + }, + "rpm": { + "depends": [ + "libnotify", + "libXtst", + "nss" + ], + "afterInstall": "build-resources/linux/after-install.sh", + "afterRemove": "build-resources/linux/after-remove.sh" + }, + "win": { + "target": [ + { + "target": "nsis", + "arch": ["x64", "arm64"] + }, + { + "target": "portable", + "arch": ["x64", "arm64"] + } + ], + "icon": "icons/icon.ico", + "artifactName": "${productName}-${version}-${os}-${arch}.${ext}" + }, + "nsis": { + "oneClick": false, + "perMachine": false, + "allowToChangeInstallationDirectory": true, + "deleteAppDataOnUninstall": false, + "createDesktopShortcut": true, + "createStartMenuShortcut": true, + "shortcutName": "Paarrot" + }, + "mac": { + "target": [ + { + "target": "dmg", + "arch": ["x64", "arm64"] + }, + { + "target": "zip", + "arch": ["x64", "arm64"] + } + ], + "category": "public.app-category.social-networking", + "icon": "icons/icon.icns", + "hardenedRuntime": true, + "gatekeeperAssess": false, + "entitlements": "build-resources/entitlements.mac.plist", + "entitlementsInherit": "build-resources/entitlements.mac.plist" + }, + "dmg": { + "sign": false, + "artifactName": "${productName}-${version}-${os}-${arch}.${ext}" + }, + "publish": { + "provider": "github", + "owner": "litruv", + "repo": "cinny-desktop" + } +} diff --git a/electron/main.js b/electron/main.js new file mode 100644 index 0000000..101ab08 --- /dev/null +++ b/electron/main.js @@ -0,0 +1,490 @@ +const { app, BrowserWindow, ipcMain, shell, Tray, Menu, nativeImage, clipboard, session, desktopCapturer } = require('electron'); +const path = require('path'); +const fs = require('fs'); +const { exec } = require('child_process'); +const { promisify } = require('util'); +const Store = require('electron-store'); +const open = require('open'); +const { autoUpdater } = require('electron-updater'); + +const execAsync = promisify(exec); +const store = new Store(); + +let mainWindow = null; +let tray = null; +let isQuitting = false; + +// Configure auto-updater +autoUpdater.autoDownload = false; +autoUpdater.autoInstallOnAppQuit = true; + +// Auto-updater event handlers +autoUpdater.on('checking-for-update', () => { + console.log('Checking for updates...'); +}); + +autoUpdater.on('update-available', (info) => { + console.log('Update available:', info.version); + if (mainWindow) { + mainWindow.webContents.send('update-available', info); + } +}); + +autoUpdater.on('update-not-available', (info) => { + console.log('No updates available'); +}); + +autoUpdater.on('error', (err) => { + console.error('Auto-updater error:', err); +}); + +autoUpdater.on('download-progress', (progressObj) => { + console.log(`Download progress: ${progressObj.percent}%`); + if (mainWindow) { + mainWindow.webContents.send('update-download-progress', progressObj); + } +}); + +autoUpdater.on('update-downloaded', (info) => { + console.log('Update downloaded:', info.version); + if (mainWindow) { + mainWindow.webContents.send('update-downloaded', info); + } +}); + + +// Single instance lock +const gotTheLock = app.requestSingleInstanceLock(); + +if (!gotTheLock) { + app.quit(); +} else { + app.on('second-instance', () => { + // Someone tried to run a second instance, focus our window + if (mainWindow) { + if (mainWindow.isMinimized()) mainWindow.restore(); + mainWindow.show(); + mainWindow.focus(); + } + }); +} + +// Development mode detection +const isDev = process.env.NODE_ENV === 'development' || !app.isPackaged; +const VITE_DEV_SERVER = 'http://localhost:8080'; +const PORT = 44548; + +function createWindow() { + // Restore window state or use defaults + const windowState = store.get('windowState', { + width: 1280, + height: 905, + x: undefined, + y: undefined, + isMaximized: false + }); + + mainWindow = new BrowserWindow({ + width: windowState.width, + height: windowState.height, + x: windowState.x, + y: windowState.y, + title: 'Paarrot', + frame: false, // Custom window decorations + resizable: true, + webPreferences: { + preload: path.join(__dirname, 'preload.js'), + contextIsolation: true, + nodeIntegration: false, + webSecurity: true, + allowRunningInsecureContent: false + }, + icon: path.join(__dirname, '../icons', process.platform === 'win32' ? 'icon.ico' : 'icon.png'), + show: false // Don't show until ready + }); + + // Restore maximized state + if (windowState.isMaximized) { + mainWindow.maximize(); + } + + // Save window state on resize/move + const saveWindowState = () => { + if (!mainWindow.isMaximized() && !mainWindow.isMinimized() && !mainWindow.isFullScreen()) { + const bounds = mainWindow.getBounds(); + store.set('windowState', { + width: bounds.width, + height: bounds.height, + x: bounds.x, + y: bounds.y, + isMaximized: false + }); + } + }; + + mainWindow.on('resize', saveWindowState); + mainWindow.on('move', saveWindowState); + mainWindow.on('maximize', () => { + store.set('windowState.isMaximized', true); + }); + mainWindow.on('unmaximize', () => { + store.set('windowState.isMaximized', false); + }); + + // Set up session handlers BEFORE loading the app + // Auto-approve media permissions including screen capture + mainWindow.webContents.session.setPermissionRequestHandler((webContents, permission, callback) => { + const allowedPermissions = ['media', 'microphone', 'camera', 'display-capture']; + + if (allowedPermissions.includes(permission)) { + console.log(`Paarrot: Auto-approving permission: ${permission}`); + callback(true); + } else { + console.log(`Paarrot: Denying permission: ${permission}`); + callback(false); + } + }); + + // Handle screen capture requests - always allow + mainWindow.webContents.session.setPermissionCheckHandler((webContents, permission, requestingOrigin, details) => { + console.log(`Paarrot: Permission check - ${permission} from ${requestingOrigin}`); + return true; // Allow all permissions + }); + + // Handle display media request (screen sharing) - this is the key for Electron screen capture + mainWindow.webContents.session.setDisplayMediaRequestHandler(async (request, callback) => { + console.log('Paarrot: Display media request received', request); + + try { + const sources = await desktopCapturer.getSources({ + types: ['screen', 'window'], + thumbnailSize: { width: 150, height: 150 } + }); + + console.log('Paarrot: Available sources:', sources.length); + sources.forEach((s, i) => console.log(` ${i}: ${s.name} (${s.id})`)); + + if (sources.length === 0) { + console.log('Paarrot: No sources available, denying request'); + callback({}); + return; + } + + // Prefer screens over windows + const source = sources.find(s => s.id.startsWith('screen:')) || sources[0]; + console.log('Paarrot: Selected source:', source.name, source.id); + + // Return the selected source - video is required + callback({ video: source }); + } catch (error) { + console.error('Paarrot: Error getting display sources:', error); + callback({}); + } + }, { useSystemPicker: false }); + + // Load the app + if (isDev) { + mainWindow.loadURL(VITE_DEV_SERVER); + // Open DevTools in development + mainWindow.webContents.openDevTools(); + } else { + // In production, serve from built files + mainWindow.loadFile(path.join(__dirname, '../cinny/dist/index.html')); + } + + // Show window when ready + mainWindow.once('ready-to-show', () => { + // Check for --minimized flag (autostart) + if (!process.argv.includes('--minimized')) { + mainWindow.show(); + } + }); + + // Handle window close - minimize to tray + mainWindow.on('close', (event) => { + if (!isQuitting) { + event.preventDefault(); + mainWindow.hide(); + return false; + } + }); + + mainWindow.on('closed', () => { + mainWindow = null; + }); + + // Open external links in default browser + mainWindow.webContents.setWindowOpenHandler(({ url }) => { + if (url.startsWith('http://') || url.startsWith('https://')) { + shell.openExternal(url); + return { action: 'deny' }; + } + return { action: 'allow' }; + }); + + // Navigation handler - open external links in browser + mainWindow.webContents.on('will-navigate', (event, url) => { + const allowedOrigins = [ + 'http://localhost:8080', + 'http://localhost:44548', + 'http://127.0.0.1:8080', + 'http://127.0.0.1:44548' + ]; + + const isAllowed = allowedOrigins.some(origin => url.startsWith(origin)) || + url.startsWith('blob:') || + url.startsWith('data:'); + + if (!isAllowed && (url.startsWith('http://') || url.startsWith('https://'))) { + event.preventDefault(); + shell.openExternal(url); + } + }); + + return mainWindow; +} + +function createTray() { + const iconPath = path.join(__dirname, '../icons', 'icon.png'); + const trayIcon = nativeImage.createFromPath(iconPath); + tray = new Tray(trayIcon.resize({ width: 16, height: 16 })); + + const contextMenu = Menu.buildFromTemplate([ + { + label: 'Show Paarrot', + click: () => { + if (mainWindow) { + mainWindow.show(); + mainWindow.focus(); + } + } + }, + { type: 'separator' }, + { + label: 'Quit', + click: () => { + isQuitting = true; + app.quit(); + } + } + ]); + + tray.setContextMenu(contextMenu); + tray.setToolTip('Paarrot'); + + // Click tray icon to show window + tray.on('click', () => { + if (mainWindow) { + if (mainWindow.isVisible()) { + mainWindow.hide(); + } else { + mainWindow.show(); + mainWindow.focus(); + } + } + }); +} + +// App lifecycle +app.whenReady().then(() => { + createWindow(); + createTray(); + + // Check for updates (not in development mode) + if (!isDev) { + // Check for updates on start (after 3 seconds) + setTimeout(() => { + autoUpdater.checkForUpdates().catch(err => { + console.error('Failed to check for updates:', err); + }); + }, 3000); + + // Check for updates every 6 hours + setInterval(() => { + autoUpdater.checkForUpdates().catch(err => { + console.error('Failed to check for updates:', err); + }); + }, 6 * 60 * 60 * 1000); + } +}); + +app.on('window-all-closed', () => { + // On macOS, apps stay active until Cmd+Q + if (process.platform !== 'darwin') { + // But we want to stay in tray, so don't quit + // app.quit(); + } +}); + +app.on('activate', () => { + // On macOS, recreate window when dock icon is clicked + if (BrowserWindow.getAllWindows().length === 0) { + createWindow(); + } else if (mainWindow) { + mainWindow.show(); + } +}); + +app.on('before-quit', () => { + isQuitting = true; +}); + +// ==================== IPC Handlers ==================== + +// Window controls +ipcMain.handle('window:minimize', () => { + if (mainWindow) mainWindow.minimize(); +}); + +ipcMain.handle('window:maximize', () => { + if (mainWindow) { + if (mainWindow.isMaximized()) { + mainWindow.unmaximize(); + } else { + mainWindow.maximize(); + } + } +}); + +ipcMain.handle('window:unmaximize', () => { + if (mainWindow) mainWindow.unmaximize(); +}); + +ipcMain.handle('window:close', () => { + if (mainWindow) mainWindow.close(); +}); + +ipcMain.handle('window:is-maximized', () => { + return mainWindow ? mainWindow.isMaximized() : false; +}); + +ipcMain.handle('window:start-drag', () => { + if (mainWindow) mainWindow.webContents.startDrag({ file: '', icon: nativeImage.createEmpty() }); +}); + +// Open external URL +ipcMain.handle('open-external-url', async (event, url) => { + try { + await shell.openExternal(url); + return { success: true }; + } catch (error) { + return { success: false, error: error.message }; + } +}); + +// Read clipboard image +ipcMain.handle('read-clipboard-image', async () => { + try { + const image = clipboard.readImage(); + if (image.isEmpty()) { + return { success: true, data: null }; + } + + // Convert to PNG base64 + const pngBuffer = image.toPNG(); + const base64 = pngBuffer.toString('base64'); + return { + success: true, + data: `data:image/png;base64,${base64}` + }; + } catch (error) { + return { success: false, error: error.message }; + } +}); + +// Get YouTube stream using yt-dlp +ipcMain.handle('get-youtube-stream', async (event, url) => { + try { + // Check if yt-dlp is available + try { + await execAsync('yt-dlp --version'); + } catch { + return { + success: false, + error: 'yt-dlp is not installed. Please install yt-dlp to use YouTube features.' + }; + } + + // Get title + let title = 'YouTube Video'; + try { + const titleResult = await execAsync(`yt-dlp --get-title "${url}"`); + title = titleResult.stdout.trim(); + } catch (e) { + console.warn('Failed to get video title:', e.message); + } + + // Get video URL + const result = await execAsync( + `yt-dlp -g -f "best[height<=1080]/bestvideo[height<=1080]+bestaudio/best" "${url}"` + ); + + const videoUrl = result.stdout.trim().split('\n')[0]; + + if (!videoUrl) { + return { success: false, error: 'yt-dlp returned empty URL' }; + } + + return { + success: true, + data: { video_url: videoUrl, title } + }; + } catch (error) { + return { + success: false, + error: `yt-dlp error: ${error.message}` + }; + } +}); + +// Background sync stubs (desktop doesn't need it) +ipcMain.handle('start-background-sync', async () => { + return { success: true }; +}); + +ipcMain.handle('stop-background-sync', async () => { + return { success: true }; +}); + +ipcMain.handle('get-background-sync-state', async () => { + return { success: true, data: 'NotApplicable' }; +}); + +// Auto-updater IPC handlers +ipcMain.handle('check-for-updates', async () => { + try { + const result = await autoUpdater.checkForUpdates(); + return { success: true, data: result }; + } catch (error) { + return { success: false, error: error.message }; + } +}); + +ipcMain.handle('download-update', async () => { + try { + await autoUpdater.downloadUpdate(); + return { success: true }; + } catch (error) { + return { success: false, error: error.message }; + } +}); + +ipcMain.handle('install-update', () => { + autoUpdater.quitAndInstall(false, true); + return { success: true }; +}); + +// Screen capture / desktopCapturer handler +ipcMain.handle('get-desktop-sources', async (event, opts) => { + try { + const sources = await desktopCapturer.getSources(opts); + return { success: true, data: sources }; + } catch (error) { + console.error('Failed to get desktop sources:', error); + return { success: false, error: error.message }; + } +}); + +console.log('Paarrot Electron main process started'); +console.log('Development mode:', isDev); +console.log('Platform:', process.platform); diff --git a/electron/preload.js b/electron/preload.js new file mode 100644 index 0000000..c06803d --- /dev/null +++ b/electron/preload.js @@ -0,0 +1,143 @@ +const { contextBridge, ipcRenderer } = require('electron'); + +// Map command names to Electron IPC channels +const commandMap = { + 'window_minimize': 'window:minimize', + 'window_maximize': 'window:maximize', + 'window_unmaximize': 'window:unmaximize', + 'window_close': 'window:close', + 'window_is_maximized': 'window:is-maximized', + 'window_start_drag': 'window:start-drag', + 'read_clipboard_image': 'read-clipboard-image', + 'open_external_url': 'open-external-url', + 'get_youtube_stream': 'get-youtube-stream', + 'start_background_sync': 'start-background-sync', + 'stop_background_sync': 'stop-background-sync', + 'get_background_sync_state': 'get-background-sync-state', + 'check_for_updates': 'check-for-updates', + 'download_update': 'download-update', + 'install_update': 'install-update', + 'get_desktop_sources': 'get-desktop-sources' +}; + +// Shared invoke function for legacy API compatibility +const invokeHandler = async (command, args = {}) => { + try { + const channel = commandMap[command] || command; + const result = await ipcRenderer.invoke(channel, args); + + // Return response in expected format + if (result && result.success === false) { + throw new Error(result.error || 'Unknown error'); + } + + // For commands that return data in a 'data' field + if (result && result.data !== undefined) { + return result.data; + } + + // For simple commands that just return success/failure + return result; + } catch (error) { + console.error(`[Electron IPC] Error invoking ${command}:`, error); + throw error; + } +}; + +// Expose protected methods that allow the renderer process to use +// ipcRenderer without exposing the entire object +contextBridge.exposeInMainWorld('__TAURI_INTERNALS__', { + // Legacy API compatibility layer for existing frontend code + metadata: { + currentVersion: { + version: '2.0.0', + platform: process.platform, + arch: process.arch + } + }, + // Add invoke function for legacy plugins + invoke: invokeHandler, + // Add stub for transformCallback to prevent errors with legacy plugins + transformCallback: (callback) => { + return callback; + } +}); + +contextBridge.exposeInMainWorld('__TAURI__', { + // Core IPC invoke - legacy API + invoke: invokeHandler, + + // Event listeners (if needed for future events) + listen: (event, handler) => { + const subscription = (_, ...args) => handler(...args); + ipcRenderer.on(event, subscription); + + // Return unsubscribe function + return () => { + ipcRenderer.removeListener(event, subscription); + }; + } +}); + +// Also expose under electron namespace for direct Electron APIs +contextBridge.exposeInMainWorld('electron', { + platform: process.platform, + arch: process.arch, + versions: process.versions, + + // Window controls + window: { + minimize: () => ipcRenderer.invoke('window:minimize'), + maximize: () => ipcRenderer.invoke('window:maximize'), + unmaximize: () => ipcRenderer.invoke('window:unmaximize'), + close: () => ipcRenderer.invoke('window:close'), + isMaximized: () => ipcRenderer.invoke('window:is-maximized'), + startDrag: () => ipcRenderer.invoke('window:start-drag') + }, + + // Clipboard + clipboard: { + readImage: () => ipcRenderer.invoke('read-clipboard-image') + }, + + // External URLs + shell: { + openExternal: (url) => ipcRenderer.invoke('open-external-url', url) + }, + + // YouTube + youtube: { + getStream: (url) => ipcRenderer.invoke('get-youtube-stream', url) + }, + + // Background sync (stubs for desktop) + sync: { + start: (args) => ipcRenderer.invoke('start-background-sync', args), + stop: () => ipcRenderer.invoke('stop-background-sync'), + getState: () => ipcRenderer.invoke('get-background-sync-state') + }, + + // Auto-updater + updater: { + checkForUpdates: () => ipcRenderer.invoke('check-for-updates'), + downloadUpdate: () => ipcRenderer.invoke('download-update'), + installUpdate: () => ipcRenderer.invoke('install-update'), + onUpdateAvailable: (callback) => { + ipcRenderer.on('update-available', (_, info) => callback(info)); + }, + onUpdateDownloadProgress: (callback) => { + ipcRenderer.on('update-download-progress', (_, progress) => callback(progress)); + }, + onUpdateDownloaded: (callback) => { + ipcRenderer.on('update-downloaded', (_, info) => callback(info)); + } + }, + + // Desktop capturer (for screen sharing) + desktopCapturer: { + getSources: (opts) => ipcRenderer.invoke('get-desktop-sources', opts) + } +}); + +// Preload script ready + diff --git a/src-tauri/icons/icon.icns b/icons/icon.icns similarity index 100% rename from src-tauri/icons/icon.icns rename to icons/icon.icns diff --git a/src-tauri/icons/icon.ico b/icons/icon.ico similarity index 100% rename from src-tauri/icons/icon.ico rename to icons/icon.ico diff --git a/src-tauri/icons/icon.png b/icons/icon.png similarity index 100% rename from src-tauri/icons/icon.png rename to icons/icon.png diff --git a/package-lock.json b/package-lock.json index 2ef2055..04cc1c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,15 +9,20 @@ "version": "4.10.2", "license": "AGPL-3.0-only", "dependencies": { - "@tauri-apps/api": "^2.0.0", - "@tauri-apps/plugin-http": "2.5.7" + "electron-store": "^8.2.0", + "electron-updater": "^6.3.9", + "open": "11.0.0" }, "devDependencies": { "@actions/github": "6.0.0", - "@tauri-apps/cli": "^2.0.0", + "@electron/rebuild": "4.0.3", + "concurrently": "9.2.1", + "electron": "40.6.0", + "electron-builder": "26.8.1", "node-fetch": "3.3.2", "png2icons": "2.0.1", - "sharp": "0.34.5" + "sharp": "0.34.5", + "wait-on": "9.0.4" }, "engines": { "node": ">=18.0.0" @@ -45,6 +50,470 @@ "undici": "^5.25.4" } }, + "node_modules/@develar/schema-utils": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@electron/asar": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.4.1.tgz", + "integrity": "sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "bin": { + "asar": "bin/asar.js" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/@electron/asar/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@electron/asar/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@electron/asar/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@electron/fuses": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@electron/fuses/-/fuses-1.8.0.tgz", + "integrity": "sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.1", + "fs-extra": "^9.0.1", + "minimist": "^1.2.5" + }, + "bin": { + "electron-fuses": "dist/bin.js" + } + }, + "node_modules/@electron/fuses/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/fuses/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/fuses/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/get": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", + "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } + }, + "node_modules/@electron/get/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@electron/notarize": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.5.0.tgz", + "integrity": "sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/notarize/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/notarize/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/notarize/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/osx-sign": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.3.3.tgz", + "integrity": "sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "compare-version": "^0.1.2", + "debug": "^4.3.4", + "fs-extra": "^10.0.0", + "isbinaryfile": "^4.0.8", + "minimist": "^1.2.6", + "plist": "^3.0.5" + }, + "bin": { + "electron-osx-flat": "bin/electron-osx-flat.js", + "electron-osx-sign": "bin/electron-osx-sign.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@electron/osx-sign/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron/osx-sign/node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/@electron/osx-sign/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/osx-sign/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/rebuild": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-4.0.3.tgz", + "integrity": "sha512-u9vpTHRMkOYCs/1FLiSVAFZ7FbjsXK+bQuzviJZa+lG7BHZl1nz52/IcGvwa3sk80/fc3llutBkbCq10Vh8WQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.1.1", + "detect-libc": "^2.0.1", + "got": "^11.7.0", + "graceful-fs": "^4.2.11", + "node-abi": "^4.2.0", + "node-api-version": "^0.2.1", + "node-gyp": "^11.2.0", + "ora": "^5.1.0", + "read-binary-file-arch": "^1.0.6", + "semver": "^7.3.5", + "tar": "^7.5.6", + "yargs": "^17.0.1" + }, + "bin": { + "electron-rebuild": "lib/cli.js" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@electron/universal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-2.0.3.tgz", + "integrity": "sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron/asar": "^3.3.1", + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.3.1", + "dir-compare": "^4.2.0", + "fs-extra": "^11.1.1", + "minimatch": "^9.0.3", + "plist": "^3.1.0" + }, + "engines": { + "node": ">=16.4" + } + }, + "node_modules/@electron/universal/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@electron/universal/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@electron/universal/node_modules/fs-extra": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz", + "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/universal/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/universal/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@electron/universal/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/windows-sign": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@electron/windows-sign/-/windows-sign-1.2.2.tgz", + "integrity": "sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ==", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "peer": true, + "dependencies": { + "cross-dirname": "^0.1.0", + "debug": "^4.3.4", + "fs-extra": "^11.1.1", + "minimist": "^1.2.8", + "postject": "^1.0.0-alpha.6" + }, + "bin": { + "electron-windows-sign": "bin/electron-windows-sign.js" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/windows-sign/node_modules/fs-extra": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz", + "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@electron/windows-sign/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/windows-sign/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/@emnapi/runtime": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", @@ -65,6 +534,60 @@ "node": ">=14" } }, + "node_modules/@hapi/address": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-5.1.1.tgz", + "integrity": "sha512-A+po2d/dVoY7cYajycYI43ZbYMXukuopIsqCjh5QzsBCipDtdofHntljDlpccMjIfTy6UOkg+5KPriwYch2bXA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^11.0.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@hapi/formula": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-3.0.2.tgz", + "integrity": "sha512-hY5YPNXzw1He7s0iqkRQi+uMGh383CGdyyIGYtB+W5N3KHPXoqychklvHhKCC9M3Xtv0OCs/IHw+r4dcHtBYWw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/hoek": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.7.tgz", + "integrity": "sha512-HV5undWkKzcB4RZUusqOpcgxOaq6VOAH7zhhIr2g3G8NF/MlFO75SjOr2NfuSx0Mh40+1FqCkagKLJRykUWoFQ==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/pinpoint": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-2.0.1.tgz", + "integrity": "sha512-EKQmr16tM8s16vTT3cA5L0kZZcTMU5DUOZTuvpnY738m+jyP3JIUj+Mm1xc1rsLkGBQ/gVnfKYPwOmPg1tUR4Q==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/tlds": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@hapi/tlds/-/tlds-1.1.6.tgz", + "integrity": "sha512-xdi7A/4NZokvV0ewovme3aUO5kQhW9pQ2YD1hRqZGhhSi5rBv4usHYidVocXSi9eihYsznZxLtAiEYYUL6VBGw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@hapi/topo": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz", + "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^11.0.2" + } + }, "node_modules/@img/colour": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", @@ -555,6 +1078,237 @@ "url": "https://opencollective.com/libvips" } }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "license": "Apache-2.0", + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/@malept/flatpak-bundler": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz", + "integrity": "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.0", + "lodash": "^4.17.15", + "tmp-promise": "^3.0.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@npmcli/agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", + "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/fs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", + "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, "node_modules/@octokit/auth-token": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", @@ -685,248 +1439,1208 @@ "@octokit/openapi-types": "^19.0.2" } }, - "node_modules/@tauri-apps/api": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.10.1.tgz", - "integrity": "sha512-hKL/jWf293UDSUN09rR69hrToyIXBb8CjGaWC7gfinvnQrBVvnLr08FeFi38gxtugAVyVcTa5/FD/Xnkb1siBw==", - "license": "Apache-2.0 OR MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/tauri" + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" } }, - "node_modules/@tauri-apps/cli": { - "version": "2.9.6", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-2.9.6.tgz", - "integrity": "sha512-3xDdXL5omQ3sPfBfdC8fCtDKcnyV7OqyzQgfyT5P3+zY6lcPqIYKQBvUasNvppi21RSdfhy44ttvJmftb0PCDw==", + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", "dev": true, - "license": "Apache-2.0 OR MIT", - "bin": { - "tauri": "tauri.js" - }, + "license": "MIT", "engines": { - "node": ">= 10" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/tauri" + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-L3LgimLHXtGkWikKnsPg0/VFx9OGZaC+eN1u4r+OB1XRqH3meBIAVC2zr1WdMH+RHmnRkqliQAOHNJ/E0j/e0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.10.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.13.tgz", + "integrity": "sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/plist": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/plist/-/plist-3.0.5.tgz", + "integrity": "sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*", + "xmlbuilder": ">=11.0.1" + } + }, + "node_modules/@types/responselike": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", + "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/verror": { + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.11.tgz", + "integrity": "sha512-RlDm9K7+o5stv0Co8i8ZRGxDbrTxhJtgjqjFyVh/tXQyl/rYtTKlnTvZ88oSTeYREWurwx20Js4kTuKCsFkUtg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.11", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.11.tgz", + "integrity": "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/7zip-bin": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.2.0.tgz", + "integrity": "sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A==", + "dev": true, + "license": "MIT" + }, + "node_modules/abbrev": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", + "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/app-builder-bin": { + "version": "5.0.0-alpha.12", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-5.0.0-alpha.12.tgz", + "integrity": "sha512-j87o0j6LqPL3QRr8yid6c+Tt5gC7xNfYo6uQIQkorAC6MpeayVMZrEDzKmJJ/Hlv7EnOQpaRm53k6ktDYZyB6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/app-builder-lib": { + "version": "26.8.1", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-26.8.1.tgz", + "integrity": "sha512-p0Im/Dx5C4tmz8QEE1Yn4MkuPC8PrnlRneMhWJj7BBXQfNTJUshM/bp3lusdEsDbvvfJZpXWnYesgSLvwtM2Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@develar/schema-utils": "~2.6.5", + "@electron/asar": "3.4.1", + "@electron/fuses": "^1.8.0", + "@electron/get": "^3.0.0", + "@electron/notarize": "2.5.0", + "@electron/osx-sign": "1.3.3", + "@electron/rebuild": "^4.0.3", + "@electron/universal": "2.0.3", + "@malept/flatpak-bundler": "^0.4.0", + "@types/fs-extra": "9.0.13", + "async-exit-hook": "^2.0.1", + "builder-util": "26.8.1", + "builder-util-runtime": "9.5.1", + "chromium-pickle-js": "^0.2.0", + "ci-info": "4.3.1", + "debug": "^4.3.4", + "dotenv": "^16.4.5", + "dotenv-expand": "^11.0.6", + "ejs": "^3.1.8", + "electron-publish": "26.8.1", + "fs-extra": "^10.1.0", + "hosted-git-info": "^4.1.0", + "isbinaryfile": "^5.0.0", + "jiti": "^2.4.2", + "js-yaml": "^4.1.0", + "json5": "^2.2.3", + "lazy-val": "^1.0.5", + "minimatch": "^10.0.3", + "plist": "3.1.0", + "proper-lockfile": "^4.1.2", + "resedit": "^1.7.0", + "semver": "~7.7.3", + "tar": "^7.5.7", + "temp-file": "^3.4.0", + "tiny-async-pool": "1.3.0", + "which": "^5.0.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "dmg-builder": "26.8.1", + "electron-builder-squirrel-windows": "26.8.1" + } + }, + "node_modules/app-builder-lib/node_modules/@electron/get": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-3.1.0.tgz", + "integrity": "sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=14" }, "optionalDependencies": { - "@tauri-apps/cli-darwin-arm64": "2.9.6", - "@tauri-apps/cli-darwin-x64": "2.9.6", - "@tauri-apps/cli-linux-arm-gnueabihf": "2.9.6", - "@tauri-apps/cli-linux-arm64-gnu": "2.9.6", - "@tauri-apps/cli-linux-arm64-musl": "2.9.6", - "@tauri-apps/cli-linux-riscv64-gnu": "2.9.6", - "@tauri-apps/cli-linux-x64-gnu": "2.9.6", - "@tauri-apps/cli-linux-x64-musl": "2.9.6", - "@tauri-apps/cli-win32-arm64-msvc": "2.9.6", - "@tauri-apps/cli-win32-ia32-msvc": "2.9.6", - "@tauri-apps/cli-win32-x64-msvc": "2.9.6" + "global-agent": "^3.0.0" } }, - "node_modules/@tauri-apps/cli-darwin-arm64": { - "version": "2.9.6", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.9.6.tgz", - "integrity": "sha512-gf5no6N9FCk1qMrti4lfwP77JHP5haASZgVbBgpZG7BUepB3fhiLCXGUK8LvuOjP36HivXewjg72LTnPDScnQQ==", - "cpu": [ - "arm64" - ], + "node_modules/app-builder-lib/node_modules/@electron/get/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-darwin-x64": { - "version": "2.9.6", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.9.6.tgz", - "integrity": "sha512-oWh74WmqbERwwrwcueJyY6HYhgCksUc6NT7WKeXyrlY/FPmNgdyQAgcLuTSkhRFuQ6zh4Np1HZpOqCTpeZBDcw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": { - "version": "2.9.6", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.9.6.tgz", - "integrity": "sha512-/zde3bFroFsNXOHN204DC2qUxAcAanUjVXXSdEGmhwMUZeAQalNj5cz2Qli2elsRjKN/hVbZOJj0gQ5zaYUjSg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-linux-arm64-gnu": { - "version": "2.9.6", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.9.6.tgz", - "integrity": "sha512-pvbljdhp9VOo4RnID5ywSxgBs7qiylTPlK56cTk7InR3kYSTJKYMqv/4Q/4rGo/mG8cVppesKIeBMH42fw6wjg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-linux-arm64-musl": { - "version": "2.9.6", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.9.6.tgz", - "integrity": "sha512-02TKUndpodXBCR0oP//6dZWGYcc22Upf2eP27NvC6z0DIqvkBBFziQUcvi2n6SrwTRL0yGgQjkm9K5NIn8s6jw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-linux-riscv64-gnu": { - "version": "2.9.6", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-riscv64-gnu/-/cli-linux-riscv64-gnu-2.9.6.tgz", - "integrity": "sha512-fmp1hnulbqzl1GkXl4aTX9fV+ubHw2LqlLH1PE3BxZ11EQk+l/TmiEongjnxF0ie4kV8DQfDNJ1KGiIdWe1GvQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-linux-x64-gnu": { - "version": "2.9.6", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.9.6.tgz", - "integrity": "sha512-vY0le8ad2KaV1PJr+jCd8fUF9VOjwwQP/uBuTJvhvKTloEwxYA/kAjKK9OpIslGA9m/zcnSo74czI6bBrm2sYA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-linux-x64-musl": { - "version": "2.9.6", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.9.6.tgz", - "integrity": "sha512-TOEuB8YCFZTWVDzsO2yW0+zGcoMiPPwcUgdnW1ODnmgfwccpnihDRoks+ABT1e3fHb1ol8QQWsHSCovb3o2ENQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-win32-arm64-msvc": { - "version": "2.9.6", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.9.6.tgz", - "integrity": "sha512-ujmDGMRc4qRLAnj8nNG26Rlz9klJ0I0jmZs2BPpmNNf0gM/rcVHhqbEkAaHPTBVIrtUdf7bGvQAD2pyIiUrBHQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-win32-ia32-msvc": { - "version": "2.9.6", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.9.6.tgz", - "integrity": "sha512-S4pT0yAJgFX8QRCyKA1iKjZ9Q/oPjCZf66A/VlG5Yw54Nnr88J1uBpmenINbXxzyhduWrIXBaUbEY1K80ZbpMg==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-win32-x64-msvc": { - "version": "2.9.6", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.9.6.tgz", - "integrity": "sha512-ldWuWSSkWbKOPjQMJoYVj9wLHcOniv7diyI5UAJ4XsBdtaFB0pKHQsqw/ItUma0VXGC7vB4E9fZjivmxur60aw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/plugin-http": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-http/-/plugin-http-2.5.7.tgz", - "integrity": "sha512-+F2lEH/c9b0zSsOXKq+5hZNcd9F4IIKCK1T17RqMwpCmVnx2aoqY8yIBccCd25HTYUb3j6NPVbRax/m00hKG8A==", - "license": "MIT OR Apache-2.0", + "license": "MIT", "dependencies": { - "@tauri-apps/api": "^2.10.1" + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, + "node_modules/app-builder-lib/node_modules/@electron/get/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/app-builder-lib/node_modules/ci-info": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", + "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/app-builder-lib/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/app-builder-lib/node_modules/fs-extra/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/app-builder-lib/node_modules/fs-extra/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/app-builder-lib/node_modules/isexe": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.5.tgz", + "integrity": "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/app-builder-lib/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-exit-hook": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", + "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/atomically": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/atomically/-/atomically-1.7.0.tgz", + "integrity": "sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==", + "license": "MIT", + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/axios": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz", + "integrity": "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.3.tgz", + "integrity": "sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/before-after-hook": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", "dev": true }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/brace-expansion": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.2.tgz", + "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/builder-util": { + "version": "26.8.1", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-26.8.1.tgz", + "integrity": "sha512-pm1lTYbGyc90DHgCDO7eo8Rl4EqKLciayNbZqGziqnH9jrlKe8ZANGdityLZU+pJh16dfzjAx2xQq9McuIPEtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/debug": "^4.1.6", + "7zip-bin": "~5.2.0", + "app-builder-bin": "5.0.0-alpha.12", + "builder-util-runtime": "9.5.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.6", + "debug": "^4.3.4", + "fs-extra": "^10.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "js-yaml": "^4.1.0", + "sanitize-filename": "^1.6.3", + "source-map-support": "^0.5.19", + "stat-mode": "^1.0.0", + "temp-file": "^3.4.0", + "tiny-async-pool": "1.3.0" + } + }, + "node_modules/builder-util-runtime": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.5.1.tgz", + "integrity": "sha512-qt41tMfgHTllhResqM5DcnHyDIWNgzHvuY2jDcYP9iaGpkWxTUzV6GQjDeLnlR1/DtdlcsWQbA7sByMpmJFTLQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "sax": "^1.2.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/builder-util/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/builder-util/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/builder-util/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacache": { + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", + "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^4.0.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/cacache/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/concurrently": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.1.tgz", + "integrity": "sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "4.1.2", + "rxjs": "7.8.2", + "shell-quote": "1.8.3", + "supports-color": "8.1.1", + "tree-kill": "1.2.2", + "yargs": "17.7.2" + }, + "bin": { + "conc": "dist/bin/concurrently.js", + "concurrently": "dist/bin/concurrently.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" + } + }, + "node_modules/conf": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/conf/-/conf-10.2.0.tgz", + "integrity": "sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==", + "license": "MIT", + "dependencies": { + "ajv": "^8.6.3", + "ajv-formats": "^2.1.1", + "atomically": "^1.7.0", + "debounce-fn": "^4.0.0", + "dot-prop": "^6.0.1", + "env-paths": "^2.2.1", + "json-schema-typed": "^7.0.3", + "onetime": "^5.1.2", + "pkg-up": "^3.1.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conf/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/conf/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/crc": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "buffer": "^5.1.0" + } + }, + "node_modules/cross-dirname": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cross-dirname/-/cross-dirname-0.1.0.tgz", + "integrity": "sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/data-uri-to-buffer": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", @@ -936,6 +2650,187 @@ "node": ">= 12" } }, + "node_modules/debounce-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-4.0.0.tgz", + "integrity": "sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/debounce-fn/node_modules/mimic-fn": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", + "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", + "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/deprecation": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", @@ -952,6 +2847,706 @@ "node": ">=8" } }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/dir-compare": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-4.2.0.tgz", + "integrity": "sha512-2xMCmOoMrdQIPHdsTawECdNPwlVFB9zGcz3kuhmBO6U3oU+UQjsue0i8ayLKpgBcm+hcXPMVSGUN9d+pvJ6+VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.5", + "p-limit": "^3.1.0 " + } + }, + "node_modules/dir-compare/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/dir-compare/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/dir-compare/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/dmg-builder": { + "version": "26.8.1", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-26.8.1.tgz", + "integrity": "sha512-glMJgnTreo8CFINujtAhCgN96QAqApDMZ8Vl1r8f0QT8QprvC1UCltV4CcWj20YoIyLZx6IUskaJZ0NV8fokcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "app-builder-lib": "26.8.1", + "builder-util": "26.8.1", + "fs-extra": "^10.1.0", + "iconv-lite": "^0.6.2", + "js-yaml": "^4.1.0" + }, + "optionalDependencies": { + "dmg-license": "^1.0.11" + } + }, + "node_modules/dmg-builder/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dmg-builder/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/dmg-builder/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/dmg-license": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.11.tgz", + "integrity": "sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "@types/plist": "^3.0.1", + "@types/verror": "^1.10.3", + "ajv": "^6.10.0", + "crc": "^3.8.0", + "iconv-corefoundation": "^1.1.7", + "plist": "^3.0.4", + "smart-buffer": "^4.0.2", + "verror": "^1.10.0" + }, + "bin": { + "dmg-license": "bin/dmg-license.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz", + "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron": { + "version": "40.6.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-40.6.0.tgz", + "integrity": "sha512-ett8W+yOFGDuM0vhJMamYSkrbV3LoaffzJd9GfjI96zRAxyrNqUSKqBpf/WGbQCweDxX2pkUCUfrv4wwKpsFZA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@electron/get": "^2.0.0", + "@types/node": "^24.9.0", + "extract-zip": "^2.0.1" + }, + "bin": { + "electron": "cli.js" + }, + "engines": { + "node": ">= 12.20.55" + } + }, + "node_modules/electron-builder": { + "version": "26.8.1", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-26.8.1.tgz", + "integrity": "sha512-uWhx1r74NGpCagG0ULs/P9Nqv2nsoo+7eo4fLUOB8L8MdWltq9odW/uuLXMFCDGnPafknYLZgjNX0ZIFRzOQAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "app-builder-lib": "26.8.1", + "builder-util": "26.8.1", + "builder-util-runtime": "9.5.1", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "dmg-builder": "26.8.1", + "fs-extra": "^10.1.0", + "lazy-val": "^1.0.5", + "simple-update-notifier": "2.0.0", + "yargs": "^17.6.2" + }, + "bin": { + "electron-builder": "cli.js", + "install-app-deps": "install-app-deps.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/electron-builder-squirrel-windows": { + "version": "26.8.1", + "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.8.1.tgz", + "integrity": "sha512-o288fIdgPLHA76eDrFADHPoo7VyGkDCYbLV1GzndaMSAVBoZrGvM9m2IehdcVMzdAZJ2eV9bgyissQXHv5tGzA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "app-builder-lib": "26.8.1", + "builder-util": "26.8.1", + "electron-winstaller": "5.4.0" + } + }, + "node_modules/electron-builder/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-builder/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-builder/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-publish": { + "version": "26.8.1", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-26.8.1.tgz", + "integrity": "sha512-q+jrSTIh/Cv4eGZa7oVR+grEJo/FoLMYBAnSL5GCtqwUpr1T+VgKB/dn1pnzxIxqD8S/jP1yilT9VrwCqINR4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/fs-extra": "^9.0.11", + "builder-util": "26.8.1", + "builder-util-runtime": "9.5.1", + "chalk": "^4.1.2", + "form-data": "^4.0.5", + "fs-extra": "^10.1.0", + "lazy-val": "^1.0.5", + "mime": "^2.5.2" + } + }, + "node_modules/electron-publish/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-publish/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-publish/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-store": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/electron-store/-/electron-store-8.2.0.tgz", + "integrity": "sha512-ukLL5Bevdil6oieAOXz3CMy+OgaItMiVBg701MNlG6W5RaC0AHN7rvlqTCmeb6O7jP0Qa1KKYTE0xV0xbhF4Hw==", + "license": "MIT", + "dependencies": { + "conf": "^10.2.0", + "type-fest": "^2.17.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/electron-store/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/electron-updater": { + "version": "6.8.3", + "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.8.3.tgz", + "integrity": "sha512-Z6sgw3jgbikWKXei1ENdqFOxBP0WlXg3TtKfz0rgw2vIZFJUyI4pD7ZN7jrkm7EoMK+tcm/qTnPUdqfZukBlBQ==", + "license": "MIT", + "dependencies": { + "builder-util-runtime": "9.5.1", + "fs-extra": "^10.1.0", + "js-yaml": "^4.1.0", + "lazy-val": "^1.0.5", + "lodash.escaperegexp": "^4.1.2", + "lodash.isequal": "^4.5.0", + "semver": "~7.7.3", + "tiny-typed-emitter": "^2.1.0" + } + }, + "node_modules/electron-updater/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-updater/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-updater/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-winstaller": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/electron-winstaller/-/electron-winstaller-5.4.0.tgz", + "integrity": "sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@electron/asar": "^3.2.1", + "debug": "^4.1.1", + "fs-extra": "^7.0.1", + "lodash": "^4.17.21", + "temp": "^0.9.0" + }, + "engines": { + "node": ">=8.0.0" + }, + "optionalDependencies": { + "@electron/windows-sign": "^1.1.2" + } + }, + "node_modules/electron-winstaller/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extsprintf": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", + "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "optional": true + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, "node_modules/fetch-blob": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", @@ -975,6 +3570,126 @@ "node": "^12.20 || >= 14.13" } }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/formdata-polyfill": { "version": "4.0.10", "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", @@ -987,6 +3702,544 @@ "node": ">=12.20.0" } }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-corefoundation": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz", + "integrity": "sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "cli-truncate": "^2.1.0", + "node-addon-api": "^1.6.3" + }, + "engines": { + "node": "^8.11.2 || >=10" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ip-address": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", + "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-in-ssh": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-in-ssh/-/is-in-ssh-1.0.0.tgz", + "integrity": "sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", @@ -996,6 +4249,590 @@ "node": ">=0.10.0" } }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isbinaryfile": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.7.tgz", + "integrity": "sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/joi": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-18.0.2.tgz", + "integrity": "sha512-RuCOQMIt78LWnktPoeBL0GErkNaJPTBGcYuyaBvUOQSpcpcLfWrHPPihYdOGbV5pam9VTWbeoF7TsGiHugcjGA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/address": "^5.1.1", + "@hapi/formula": "^3.0.2", + "@hapi/hoek": "^11.0.7", + "@hapi/pinpoint": "^2.0.1", + "@hapi/tlds": "^1.1.1", + "@hapi/topo": "^6.0.2", + "@standard-schema/spec": "^1.0.0" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-typed": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-7.0.3.tgz", + "integrity": "sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==", + "license": "BSD-2-Clause" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/lazy-val": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", + "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==", + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", + "license": "MIT" + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.", + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", + "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "ssri": "^12.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.2.tgz", + "integrity": "sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-fetch": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz", + "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-abi": { + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-4.26.0.tgz", + "integrity": "sha512-8QwIZqikRvDIkXS2S93LjzhsSPJuIbfaMETWH+Bx8oOT9Sa9UsUtBFQlc3gBNd1+QINjaTloitXr1W3dQLi9Iw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.6.3" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-api-version": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-api-version/-/node-api-version-0.2.1.tgz", + "integrity": "sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + } + }, "node_modules/node-domexception": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", @@ -1033,6 +4870,97 @@ "url": "https://opencollective.com/node-fetch" } }, + "node_modules/node-gyp": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.5.0.tgz", + "integrity": "sha512-ra7Kvlhxn5V9Slyus0ygMa2h+UqExPqUIkfk7Pc8QTLT956JLSy51uWFwHtIYy0vI8cB4BDhc/S03+880My/LQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "tar": "^7.4.3", + "tinyglobby": "^0.2.12", + "which": "^5.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/node-gyp/node_modules/isexe": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.5.tgz", + "integrity": "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/nopt": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", + "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^3.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -1042,6 +4970,269 @@ "wrappy": "1" } }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/open/-/open-11.0.0.tgz", + "integrity": "sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==", + "license": "MIT", + "dependencies": { + "default-browser": "^5.4.0", + "define-lazy-prop": "^3.0.0", + "is-in-ssh": "^1.0.0", + "is-inside-container": "^1.0.0", + "powershell-utils": "^0.1.0", + "wsl-utils": "^0.3.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz", + "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/pe-library": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/pe-library/-/pe-library-0.4.1.tgz", + "integrity": "sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jet2jet" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/plist": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", + "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=10.4.0" + } + }, "node_modules/png2icons": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/png2icons/-/png2icons-2.0.1.tgz", @@ -1052,11 +5243,351 @@ "png2icons": "png2icons-cli.js" } }, + "node_modules/postject": { + "version": "1.0.0-alpha.6", + "resolved": "https://registry.npmjs.org/postject/-/postject-1.0.0-alpha.6.tgz", + "integrity": "sha512-b9Eb8h2eVqNE8edvKdwqkrY6O7kAwmI8kcnBv1NScolYJbo59XUF0noFq+lxbC1yN20bmC0WBEbDC5H/7ASb0A==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "commander": "^9.4.0" + }, + "bin": { + "postject": "dist/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/postject/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/powershell-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.1.0.tgz", + "integrity": "sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/proc-log": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", + "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true, + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-binary-file-arch": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/read-binary-file-arch/-/read-binary-file-arch-1.0.6.tgz", + "integrity": "sha512-BNg9EN3DD3GsDXX7Aa8O4p92sryjkmzYYgmgTAc6CA4uGLEDzFfxOxugu21akOxpcXHiEgsYkC6nPsQvLLLmEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "bin": { + "read-binary-file-arch": "cli.js" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resedit": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/resedit/-/resedit-1.7.2.tgz", + "integrity": "sha512-vHjcY2MlAITJhC0eRD/Vv8Vlgmu9Sd3LX9zZvtGzU5ZImdTN3+d6e/4mnTyV8vEbyf1sgNIrWxhWlrys52OkEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pe-library": "^0.4.1" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jet2jet" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "dev": true, + "license": "WTFPL OR ISC", + "dependencies": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "node_modules/sax": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz", + "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, "node_modules/semver": { "version": "7.7.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -1065,6 +5596,31 @@ "node": ">=10" } }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "type-fest": "^0.13.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/sharp": { "version": "0.34.5", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", @@ -1110,13 +5666,448 @@ "@img/sharp-win32-x64": "0.34.5" } }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true + }, + "node_modules/ssri": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/stat-mode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", + "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "debug": "^4.1.0" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/tar": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.9.tgz", + "integrity": "sha512-BTLcK0xsDh2+PUe9F6c2TlRp4zOOBMTkoQHQIWSIzI0R7KG46uEwq4OPk2W7bZcprBMsuaeFsqwYr7pjh6CuHg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/temp": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/temp-file": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", + "integrity": "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-exit-hook": "^2.0.1", + "fs-extra": "^10.0.0" + } + }, + "node_modules/temp-file/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/temp-file/node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/temp-file/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/tiny-async-pool": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/tiny-async-pool/-/tiny-async-pool-1.3.0.tgz", + "integrity": "sha512-01EAw5EDrcVrdgyCLgoSPvqznC0sVxDSVeiOz09FUpjh71G79VCqneOr+xvt7T1r76CF6ZZfPjHorN2+d+3mqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^5.5.0" + } + }, + "node_modules/tiny-async-pool/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tiny-typed-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz", + "integrity": "sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==", + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/tmp-promise": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tmp": "^0.2.0" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", + "dev": true, + "license": "WTFPL", + "dependencies": { + "utf8-byte-length": "^1.0.1" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, - "license": "0BSD", - "optional": true + "license": "0BSD" }, "node_modules/tunnel": { "version": "0.0.6", @@ -1127,6 +6118,20 @@ "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, + "node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/undici": { "version": "5.27.2", "resolved": "https://registry.npmjs.org/undici/-/undici-5.27.2.tgz", @@ -1139,12 +6144,125 @@ "node": ">=14.0" } }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" + }, + "node_modules/unique-filename": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", + "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/unique-slug": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", + "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, "node_modules/universal-user-agent": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", "dev": true }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/utf8-byte-length": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz", + "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==", + "dev": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/verror": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", + "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/wait-on": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-9.0.4.tgz", + "integrity": "sha512-k8qrgfwrPVJXTeFY8tl6BxVHiclK11u72DVKhpybHfUL/K6KM4bdyK9EhIVYGytB5MJe/3lq4Tf0hrjM+pvJZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "axios": "^1.13.5", + "joi": "^18.0.2", + "lodash": "^4.17.23", + "minimist": "^1.2.8", + "rxjs": "^7.8.2" + }, + "bin": { + "wait-on": "bin/wait-on" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, "node_modules/web-streams-polyfill": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", @@ -1154,11 +6272,160 @@ "node": ">= 8" } }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true + }, + "node_modules/wsl-utils": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.3.1.tgz", + "integrity": "sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==", + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0", + "powershell-utils": "^0.1.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/package.json b/package.json index a47f399..9c90966 100644 --- a/package.json +++ b/package.json @@ -2,26 +2,36 @@ "name": "paarrot", "version": "4.10.2", "description": "Yet another matrix client", - "main": "index.js", + "main": "electron/main.js", "engines": { "node": ">=18.0.0" }, "scripts": { - "tauri": "node -e \"require('fs').copyFileSync('config.json', 'cinny/config.json')\" && tauri", - "release": "node scripts/release.mjs" + "dev": "concurrently \"npm run dev:vite\" \"npm run dev:electron\"", + "dev:vite": "cd cinny && npm start", + "dev:electron": "wait-on http://localhost:8080 && NODE_ENV=development electron .", + "build": "node -e \"require('fs').copyFileSync('config.json', 'cinny/config.json')\" && cd cinny && npm run build && cd .. && electron-builder", + "build:linux": "npm run build -- --linux", + "build:win": "npm run build -- --win", + "build:mac": "npm run build -- --mac" }, "keywords": [], "author": "Ajay Bura", "license": "AGPL-3.0-only", "dependencies": { - "@tauri-apps/api": "^2.0.0", - "@tauri-apps/plugin-http": "2.5.7" + "electron-store": "^8.2.0", + "electron-updater": "^6.3.9", + "open": "11.0.0" }, "devDependencies": { "@actions/github": "6.0.0", - "@tauri-apps/cli": "^2.0.0", + "@electron/rebuild": "4.0.3", + "concurrently": "9.2.1", + "electron": "40.6.0", + "electron-builder": "26.8.1", "node-fetch": "3.3.2", "png2icons": "2.0.1", - "sharp": "0.34.5" + "sharp": "0.34.5", + "wait-on": "9.0.4" } } diff --git a/scripts/generate-icons.mjs b/scripts/generate-icons.mjs index cd56975..965e96f 100644 --- a/scripts/generate-icons.mjs +++ b/scripts/generate-icons.mjs @@ -2,51 +2,33 @@ import sharp from 'sharp'; import { promises as fs } from 'fs'; import path from 'path'; import { fileURLToPath } from 'url'; +import png2icons from 'png2icons'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); const rootDir = path.resolve(__dirname, '..'); const sourceIcon = path.join(rootDir, 'appicon-square.png'); -// Tauri desktop icons -const tauriIcons = [ +// Electron desktop icons +const electronIcons = [ + { name: '16x16.png', size: 16 }, + { name: '24x24.png', size: 24 }, { name: '32x32.png', size: 32 }, + { name: '48x48.png', size: 48 }, + { name: '64x64.png', size: 64 }, { name: '128x128.png', size: 128 }, - { name: '128x128@2x.png', size: 256 }, + { name: '256x256.png', size: 256 }, + { name: '512x512.png', size: 512 }, + { name: '1024x1024.png', size: 1024 }, { name: 'icon.png', size: 512 }, - { name: 'Square30x30Logo.png', size: 30 }, - { name: 'Square44x44Logo.png', size: 44 }, - { name: 'Square71x71Logo.png', size: 71 }, - { name: 'Square89x89Logo.png', size: 89 }, - { name: 'Square107x107Logo.png', size: 107 }, - { name: 'Square142x142Logo.png', size: 142 }, - { name: 'Square150x150Logo.png', size: 150 }, - { name: 'Square284x284Logo.png', size: 284 }, - { name: 'Square310x310Logo.png', size: 310 }, - { name: 'StoreLogo.png', size: 50 }, ]; -// Android mipmap sizes -const androidMipmaps = [ - { folder: 'mipmap-mdpi', size: 48 }, - { folder: 'mipmap-hdpi', size: 72 }, - { folder: 'mipmap-xhdpi', size: 96 }, - { folder: 'mipmap-xxhdpi', size: 144 }, - { folder: 'mipmap-xxxhdpi', size: 192 }, -]; - -// Android adaptive icon foreground sizes (with padding for safe zone) -const androidForegroundSizes = [ - { folder: 'mipmap-mdpi', size: 108 }, - { folder: 'mipmap-hdpi', size: 162 }, - { folder: 'mipmap-xhdpi', size: 216 }, - { folder: 'mipmap-xxhdpi', size: 324 }, - { folder: 'mipmap-xxxhdpi', size: 432 }, -]; - -async function generateTauriIcons() { - const iconsDir = path.join(rootDir, 'src-tauri', 'icons'); +async function generateElectronIcons() { + const iconsDir = path.join(rootDir, 'icons'); - for (const icon of tauriIcons) { + // Ensure icons directory exists + await fs.mkdir(iconsDir, { recursive: true }); + + for (const icon of electronIcons) { const outputPath = path.join(iconsDir, icon.name); await sharp(sourceIcon) .resize(icon.size, icon.size) @@ -56,97 +38,26 @@ async function generateTauriIcons() { } // Generate ICO file (Windows) - const icoPath = path.join(iconsDir, 'icon.ico'); - const sizes = [16, 24, 32, 48, 64, 128, 256]; - const icoBuffers = await Promise.all( - sizes.map(size => - sharp(sourceIcon) - .resize(size, size) - .png() - .toBuffer() - ) - ); - // For ICO, we'll just use the 256x256 as the main icon - await sharp(sourceIcon) - .resize(256, 256) - .png() - .toFile(icoPath.replace('.ico', '.ico.png')); - // Copy as ico (sharp doesn't support ico directly, need to use png2ico or similar) - console.log('Note: ICO file needs manual conversion or use png2ico tool'); - - // Generate ICNS file (macOS) - sharp doesn't support icns directly - console.log('Note: ICNS file needs manual conversion or use iconutil on macOS'); -} + const sourceBuffer = await fs.readFile(sourceIcon); + const icoBuffer = png2icons.createICO(sourceBuffer, png2icons.BEZIER, 0, true, true); + await fs.writeFile(path.join(iconsDir, 'icon.ico'), icoBuffer); + console.log('Generated: icon.ico'); -async function generateAndroidIcons() { - const androidResDir = path.join(rootDir, 'src-tauri', 'gen', 'android', 'app', 'src', 'main', 'res'); - - for (const mipmap of androidMipmaps) { - const outputDir = path.join(androidResDir, mipmap.folder); - - // Standard launcher icon - await sharp(sourceIcon) - .resize(mipmap.size, mipmap.size) - .png() - .toFile(path.join(outputDir, 'ic_launcher.png')); - console.log(`Generated: ${mipmap.folder}/ic_launcher.png`); - - // Round launcher icon - const roundSize = mipmap.size; - const roundIcon = await sharp(sourceIcon) - .resize(roundSize, roundSize) - .png() - .toBuffer(); - - // Create circular mask - const circleMask = Buffer.from( - `` - ); - - await sharp(roundIcon) - .composite([{ - input: circleMask, - blend: 'dest-in' - }]) - .png() - .toFile(path.join(outputDir, 'ic_launcher_round.png')); - console.log(`Generated: ${mipmap.folder}/ic_launcher_round.png`); - } - - // Generate adaptive icon foregrounds - for (const fg of androidForegroundSizes) { - const outputDir = path.join(androidResDir, fg.folder); - const iconSize = Math.floor(fg.size * 0.66); // Icon should be ~66% of the foreground - const padding = Math.floor((fg.size - iconSize) / 2); - - await sharp(sourceIcon) - .resize(iconSize, iconSize) - .extend({ - top: padding, - bottom: fg.size - iconSize - padding, - left: padding, - right: fg.size - iconSize - padding, - background: { r: 0, g: 0, b: 0, alpha: 0 } - }) - .png() - .toFile(path.join(outputDir, 'ic_launcher_foreground.png')); - console.log(`Generated: ${fg.folder}/ic_launcher_foreground.png`); - } + // Generate ICNS file (macOS) + const icnsBuffer = png2icons.createICNS(sourceBuffer, png2icons.BEZIER, 0); + await fs.writeFile(path.join(iconsDir, 'icon.icns'), icnsBuffer); + console.log('Generated: icon.icns'); } async function main() { console.log('Generating icons from:', sourceIcon); console.log(''); - console.log('=== Tauri Desktop Icons ==='); - await generateTauriIcons(); + console.log('=== Electron Desktop Icons ==='); + await generateElectronIcons(); console.log(''); - console.log('=== Android Icons ==='); - await generateAndroidIcons(); - console.log(''); - - console.log('Done! Note: ICO and ICNS files may need manual conversion.'); + console.log('Done!'); } main().catch(console.error); diff --git a/scripts/release.mjs b/scripts/release.mjs deleted file mode 100644 index 47a9cec..0000000 --- a/scripts/release.mjs +++ /dev/null @@ -1,108 +0,0 @@ -import fetch from "node-fetch"; -import { getOctokit, context } from "@actions/github"; - -async function getAssetSign(url) { - const response = await fetch(url, { - method: "GET", - headers: { - "Content-Type": "application/octet-stream", - }, - }); - - return response.text(); -} - -async function createTauriRelease() { - if (process.env.GITHUB_TOKEN === undefined) { - throw new Error("GITHUB_TOKEN is not found!"); - } - - const github = getOctokit(process.env.GITHUB_TOKEN); - const { repos } = github.rest; - const repoMetaData = { - owner: context.repo.owner, - repo: context.repo.repo, - }; - - const tagsResult = await repos.listTags({ ...repoMetaData, per_page: 10, page: 1 }); - const latestTag = tagsResult.data.find((tag) => tag.name.startsWith("v")); - console.log(latestTag); - - const latestRelease = await repos.getReleaseByTag({ ...repoMetaData, tag: latestTag.name }); - const latestAssets = latestRelease.data.assets; - - const windowsX86_64 = {}; - const linuxX86_64 = {}; - const darwinX86_64 = {}; - const darwinAarch64 = {}; - - const promises = latestAssets.map(async (asset) => { - const { name, browser_download_url } = asset; - - if (/\.msi\.zip$/.test(name)) { - windowsX86_64.url = browser_download_url; - } - if (/\.msi\.zip\.sig$/.test(name)) { - windowsX86_64.signature = await getAssetSign(browser_download_url); - } - - if (/\.AppImage\.tar\.gz$/.test(name)) { - linuxX86_64.url = browser_download_url; - } - if (/\.AppImage\.tar\.gz\.sig$/.test(name)) { - linuxX86_64.signature = await getAssetSign(browser_download_url); - } - - if (/universal\.app\.tar\.gz$/.test(name)) { - darwinX86_64.url = browser_download_url; - } - if (/universal\.app\.tar\.gz\.sig$/.test(name)) { - darwinX86_64.signature = await getAssetSign(browser_download_url); - } - - if (/universal\.app\.tar\.gz$/.test(name)) { - darwinAarch64.url = browser_download_url; - } - if (/universal\.app\.tar\.gz\.sig$/.test(name)) { - darwinAarch64.signature = await getAssetSign(browser_download_url); - } - }); - - await Promise.allSettled(promises); - - const releaseData = { - name: latestTag.name, - notes: `https://github.com/${repoMetaData.owner}/${repoMetaData.repo}/releases/tag/${latestTag.name}`, - pub_date: new Date().toISOString(), - platforms: {}, - }; - - if (windowsX86_64.url) releaseData.platforms["windows-x86_64"] = windowsX86_64; - else console.error('Failed to get release for windowsX86_64'); - - if (linuxX86_64.url) releaseData.platforms["linux-x86_64"] = linuxX86_64; - else console.error('Failed to get release for linuxX86_64'); - - if (darwinX86_64.url) releaseData.platforms["darwin-x86_64"] = darwinX86_64; - else console.error('Failed to get release for darwinX86_64'); - - if (darwinAarch64.url) releaseData.platforms["darwin-aarch64"] = darwinAarch64; - else console.error('Failed to get release for darwinAarch64'); - - const releaseResult = await repos.getReleaseByTag({ ...repoMetaData, tag: 'tauri' }); - const tauriRelease = releaseResult.data; - - const prevReleaseAsset = tauriRelease.assets.find((asset) => asset.name === 'release.json'); - if (prevReleaseAsset) { - await repos.deleteReleaseAsset({ ...repoMetaData, asset_id: prevReleaseAsset.id }); - } - - console.log(releaseData); - await repos.uploadReleaseAsset({ - ...repoMetaData, - release_id: tauriRelease.id, - name: 'release.json', - data: JSON.stringify(releaseData, null, 2), - }); -} -createTauriRelease(); \ No newline at end of file diff --git a/src-tauri/.cargo/config.toml b/src-tauri/.cargo/config.toml deleted file mode 100644 index 86ac4da..0000000 --- a/src-tauri/.cargo/config.toml +++ /dev/null @@ -1,9 +0,0 @@ -[target.x86_64-pc-windows-msvc] -linker = "rust-lld.exe" -rustflags = ["-C", "link-arg=-fuse-ld=lld"] - -[target.x86_64-unknown-linux-gnu] -rustflags = ["-C", "link-arg=-fuse-ld=lld"] - -[target.aarch64-linux-android] -rustflags = ["-C", "link-arg=-fuse-ld=lld"] diff --git a/src-tauri/.gitignore b/src-tauri/.gitignore deleted file mode 100644 index 929e7d5..0000000 --- a/src-tauri/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -# Generated by Cargo -# will have compiled files and executables -/target/ -WixTools - -.tauri-private.key diff --git a/src-tauri/.tauri-private.key.pub b/src-tauri/.tauri-private.key.pub deleted file mode 100644 index 0283b07..0000000 --- a/src-tauri/.tauri-private.key.pub +++ /dev/null @@ -1 +0,0 @@ -dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDExREU1NkVBMDY4MzcxMjAKUldRZ2NZTUc2bGJlRVNaQldnMXpJcHlocVpCWUNNaUdicjBGMVRsck1GQXhvTnJiOUNhVVRHSzQK \ No newline at end of file diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock deleted file mode 100644 index 1f326fb..0000000 --- a/src-tauri/Cargo.lock +++ /dev/null @@ -1,8276 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "accessory" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87537f9ae7cfa78d5b8ebd1a1db25959f5e737126be4d8eb44a5452fc4b63cde" -dependencies = [ - "macroific", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "adler2" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" - -[[package]] -name = "aead" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" -dependencies = [ - "crypto-common", - "generic-array", -] - -[[package]] -name = "aes" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" -dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", -] - -[[package]] -name = "ahash" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy 0.8.33", -] - -[[package]] -name = "aho-corasick" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" -dependencies = [ - "memchr", -] - -[[package]] -name = "alloc-no-stdlib" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" - -[[package]] -name = "alloc-stdlib" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" -dependencies = [ - "alloc-no-stdlib", -] - -[[package]] -name = "allocator-api2" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anyhow" -version = "1.0.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" - -[[package]] -name = "anymap2" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d301b3b94cb4b2f23d7917810addbbaff90738e0ca2be692bd027e70d7e0330c" - -[[package]] -name = "aquamarine" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21cc1548309245035eb18aa7f0967da6bc65587005170c56e6ef2788a4cf3f4e" -dependencies = [ - "include_dir", - "itertools 0.10.5", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "arbitrary" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" -dependencies = [ - "derive_arbitrary", -] - -[[package]] -name = "arboard" -version = "3.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0348a1c054491f4bfe6ab86a7b6ab1e44e45d899005de92f58b3df180b36ddaf" -dependencies = [ - "clipboard-win", - "image", - "log", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-core-graphics", - "objc2-foundation", - "parking_lot", - "percent-encoding", - "windows-sys 0.60.2", - "wl-clipboard-rs", - "x11rb", -] - -[[package]] -name = "arrayref" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" - -[[package]] -name = "arrayvec" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" -dependencies = [ - "serde", -] - -[[package]] -name = "as_variant" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dbc3a507a82b17ba0d98f6ce8fd6954ea0c8152e98009d36a40d8dcc8ce078a" - -[[package]] -name = "ascii" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16" - -[[package]] -name = "assign" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f093eed78becd229346bf859eec0aa4dd7ddde0757287b2b4107a1f09c80002" - -[[package]] -name = "async-broadcast" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" -dependencies = [ - "event-listener 5.4.1", - "event-listener-strategy", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-channel" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" -dependencies = [ - "concurrent-queue", - "event-listener-strategy", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-executor" -version = "1.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8" -dependencies = [ - "async-task", - "concurrent-queue", - "fastrand", - "futures-lite", - "pin-project-lite", - "slab", -] - -[[package]] -name = "async-io" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc" -dependencies = [ - "autocfg", - "cfg-if", - "concurrent-queue", - "futures-io", - "futures-lite", - "parking", - "polling", - "rustix", - "slab", - "windows-sys 0.61.2", -] - -[[package]] -name = "async-lock" -version = "3.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" -dependencies = [ - "event-listener 5.4.1", - "event-listener-strategy", - "pin-project-lite", -] - -[[package]] -name = "async-process" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75" -dependencies = [ - "async-channel", - "async-io", - "async-lock", - "async-signal", - "async-task", - "blocking", - "cfg-if", - "event-listener 5.4.1", - "futures-lite", - "rustix", -] - -[[package]] -name = "async-recursion" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "async-signal" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43c070bbf59cd3570b6b2dd54cd772527c7c3620fce8be898406dd3ed6adc64c" -dependencies = [ - "async-io", - "async-lock", - "atomic-waker", - "cfg-if", - "futures-core", - "futures-io", - "rustix", - "signal-hook-registry", - "slab", - "windows-sys 0.61.2", -] - -[[package]] -name = "async-stream" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "async-task" -version = "4.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" - -[[package]] -name = "async-trait" -version = "0.1.89" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "atk" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241b621213072e993be4f6f3a9e4b45f65b7e6faad43001be957184b7bb1824b" -dependencies = [ - "atk-sys", - "glib", - "libc", -] - -[[package]] -name = "atk-sys" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e48b684b0ca77d2bbadeef17424c2ea3c897d44d566a1617e7e8f30614d086" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - -[[package]] -name = "auto-launch" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f012b8cc0c850f34117ec8252a44418f2e34a2cf501de89e29b241ae5f79471" -dependencies = [ - "dirs 4.0.0", - "thiserror 1.0.69", - "winreg 0.10.1", -] - -[[package]] -name = "autocfg" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" - -[[package]] -name = "backoff" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" -dependencies = [ - "futures-core", - "getrandom 0.2.17", - "instant", - "pin-project-lite", - "rand 0.8.5", - "tokio", -] - -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "base64ct" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" -dependencies = [ - "serde_core", -] - -[[package]] -name = "bitmaps" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d084b0137aaa901caf9f1e8b21daa6aa24d41cd806e111335541eff9683bd6" - -[[package]] -name = "blake3" -version = "1.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" -dependencies = [ - "arrayref", - "arrayvec", - "cc", - "cfg-if", - "constant_time_eq", - "cpufeatures", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "block-padding" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" -dependencies = [ - "generic-array", -] - -[[package]] -name = "block2" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" -dependencies = [ - "objc2", -] - -[[package]] -name = "blocking" -version = "1.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" -dependencies = [ - "async-channel", - "async-task", - "futures-io", - "futures-lite", - "piper", -] - -[[package]] -name = "brotli" -version = "8.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - -[[package]] -name = "bs58" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "bumpalo" -version = "3.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" - -[[package]] -name = "bytemuck" -version = "1.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "byteorder-lite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" - -[[package]] -name = "bytes" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" -dependencies = [ - "serde", -] - -[[package]] -name = "bytesize" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e93abca9e28e0a1b9877922aacb20576e05d4679ffa78c3d6dc22a26a216659" - -[[package]] -name = "cairo-rs" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" -dependencies = [ - "bitflags 2.10.0", - "cairo-sys-rs", - "glib", - "libc", - "once_cell", - "thiserror 1.0.69", -] - -[[package]] -name = "cairo-sys-rs" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" -dependencies = [ - "glib-sys", - "libc", - "system-deps", -] - -[[package]] -name = "camino" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" -dependencies = [ - "serde_core", -] - -[[package]] -name = "cargo-platform" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.19.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", - "thiserror 2.0.18", -] - -[[package]] -name = "cargo_toml" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374b7c592d9c00c1f4972ea58390ac6b18cbb6ab79011f3bdc90a0b82ca06b77" -dependencies = [ - "serde", - "toml 0.9.11+spec-1.1.0", -] - -[[package]] -name = "cbc" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" -dependencies = [ - "cipher", -] - -[[package]] -name = "cc" -version = "1.2.54" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6354c81bbfd62d9cfa9cb3c773c2b7b2a3a482d569de977fd0e961f6e7c00583" -dependencies = [ - "find-msvc-tools", - "shlex", -] - -[[package]] -name = "cesu8" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" - -[[package]] -name = "cfb" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" -dependencies = [ - "byteorder", - "fnv", - "uuid", -] - -[[package]] -name = "cfg-expr" -version = "0.15.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" -dependencies = [ - "smallvec", - "target-lexicon", -] - -[[package]] -name = "cfg-if" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" - -[[package]] -name = "cfg-vis" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3a2c3bf5fc10fe2ca157564fbe08a4cb2b0a7d2ff3fe2f9683e65d5e7c7859c" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - -[[package]] -name = "chacha20" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" -dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", -] - -[[package]] -name = "chacha20poly1305" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" -dependencies = [ - "aead", - "chacha20", - "cipher", - "poly1305", - "zeroize", -] - -[[package]] -name = "chrono" -version = "0.4.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" -dependencies = [ - "iana-time-zone", - "num-traits", - "serde", - "windows-link 0.2.1", -] - -[[package]] -name = "chunked_transfer" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4de3bc4ea267985becf712dc6d9eed8b04c953b3fcfb339ebc87acd9804901" - -[[package]] -name = "cipher" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" -dependencies = [ - "crypto-common", - "inout", - "zeroize", -] - -[[package]] -name = "clipboard-win" -version = "5.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bde03770d3df201d4fb868f2c9c59e66a3e4e2bd06692a0fe701e7103c7e84d4" -dependencies = [ - "error-code", -] - -[[package]] -name = "combine" -version = "4.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" -dependencies = [ - "bytes", - "memchr", -] - -[[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - -[[package]] -name = "const-random" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" -dependencies = [ - "const-random-macro", -] - -[[package]] -name = "const-random-macro" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" -dependencies = [ - "getrandom 0.2.17", - "once_cell", - "tiny-keccak", -] - -[[package]] -name = "const_panic" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e262cdaac42494e3ae34c43969f9cdeb7da178bdb4b66fa6a1ea2edb4c8ae652" -dependencies = [ - "typewit", -] - -[[package]] -name = "constant_time_eq" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" - -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - -[[package]] -name = "cookie" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" -dependencies = [ - "percent-encoding", - "time", - "version_check", -] - -[[package]] -name = "cookie_store" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eac901828f88a5241ee0600950ab981148a18f2f756900ffba1b125ca6a3ef9" -dependencies = [ - "cookie", - "document-features", - "idna", - "log", - "publicsuffix", - "serde", - "serde_derive", - "serde_json", - "time", - "url", -] - -[[package]] -name = "cookie_store" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fc4bff745c9b4c7fb1e97b25d13153da2bc7796260141df62378998d070207f" -dependencies = [ - "cookie", - "document-features", - "idna", - "log", - "publicsuffix", - "serde", - "serde_derive", - "serde_json", - "time", - "url", -] - -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[package]] -name = "core-graphics" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1" -dependencies = [ - "bitflags 2.10.0", - "core-foundation 0.10.1", - "core-graphics-types", - "foreign-types", - "libc", -] - -[[package]] -name = "core-graphics-types" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" -dependencies = [ - "bitflags 2.10.0", - "core-foundation 0.10.1", - "libc", -] - -[[package]] -name = "cpufeatures" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" -dependencies = [ - "libc", -] - -[[package]] -name = "crc32fast" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" - -[[package]] -name = "crunchy" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" - -[[package]] -name = "crypto-common" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" -dependencies = [ - "generic-array", - "rand_core 0.6.4", - "typenum", -] - -[[package]] -name = "cssparser" -version = "0.29.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93d03419cb5950ccfd3daf3ff1c7a36ace64609a1a8746d493df1ca0afde0fa" -dependencies = [ - "cssparser-macros", - "dtoa-short", - "itoa", - "matches", - "phf 0.10.1", - "proc-macro2", - "quote", - "smallvec", - "syn 1.0.109", -] - -[[package]] -name = "cssparser-macros" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" -dependencies = [ - "quote", - "syn 2.0.114", -] - -[[package]] -name = "ctor" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" -dependencies = [ - "quote", - "syn 2.0.114", -] - -[[package]] -name = "ctr" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" -dependencies = [ - "cipher", -] - -[[package]] -name = "curve25519-dalek" -version = "4.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" -dependencies = [ - "cfg-if", - "cpufeatures", - "curve25519-dalek-derive", - "digest", - "fiat-crypto", - "rustc_version", - "serde", - "subtle", - "zeroize", -] - -[[package]] -name = "curve25519-dalek-derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "darling" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.114", -] - -[[package]] -name = "darling_macro" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "data-url" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376" - -[[package]] -name = "deadpool" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb84100978c1c7b37f09ed3ce3e5f843af02c2a2c431bae5b19230dad2c1b490" -dependencies = [ - "async-trait", - "deadpool-runtime", - "num_cpus", - "tokio", -] - -[[package]] -name = "deadpool-runtime" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "092966b41edc516079bdf31ec78a2e0588d1d0c08f78b91d8307215928642b2b" -dependencies = [ - "tokio", -] - -[[package]] -name = "deadpool-sqlite" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8010e36e12f3be22543a5e478b4af20aeead9a700dd69581a5e050a070fc22c" -dependencies = [ - "deadpool", - "deadpool-sync", - "rusqlite", -] - -[[package]] -name = "deadpool-sync" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524bc3df0d57e98ecd022e21ba31166c2625e7d3e5bcc4510efaeeab4abcab04" -dependencies = [ - "deadpool-runtime", -] - -[[package]] -name = "delegate-display" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98a85201f233142ac819bbf6226e36d0b5e129a47bd325084674261c82d4cd66" -dependencies = [ - "macroific", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "der" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" -dependencies = [ - "const-oid", - "der_derive", - "flagset", - "zeroize", -] - -[[package]] -name = "der_derive" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "deranged" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" -dependencies = [ - "powerfmt", - "serde_core", -] - -[[package]] -name = "derive_arbitrary" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "derive_more" -version = "0.99.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" -dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version", - "syn 2.0.114", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "crypto-common", - "subtle", -] - -[[package]] -name = "dirs" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" -dependencies = [ - "dirs-sys 0.3.7", -] - -[[package]] -name = "dirs" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" -dependencies = [ - "dirs-sys 0.5.0", -] - -[[package]] -name = "dirs-sys" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" -dependencies = [ - "libc", - "redox_users 0.4.6", - "winapi", -] - -[[package]] -name = "dirs-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" -dependencies = [ - "libc", - "option-ext", - "redox_users 0.5.2", - "windows-sys 0.61.2", -] - -[[package]] -name = "dispatch" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" - -[[package]] -name = "dispatch2" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" -dependencies = [ - "bitflags 2.10.0", - "block2", - "libc", - "objc2", -] - -[[package]] -name = "displaydoc" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "dlopen2" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e2c5bd4158e66d1e215c49b837e11d62f3267b30c92f1d171c4d3105e3dc4d4" -dependencies = [ - "dlopen2_derive", - "libc", - "once_cell", - "winapi", -] - -[[package]] -name = "dlopen2_derive" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fbbb781877580993a8707ec48672673ec7b81eeba04cfd2310bd28c08e47c8f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "dlv-list" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f" -dependencies = [ - "const-random", -] - -[[package]] -name = "document-features" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" -dependencies = [ - "litrs", -] - -[[package]] -name = "downcast-rs" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" - -[[package]] -name = "dpi" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" -dependencies = [ - "serde", -] - -[[package]] -name = "dtoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590" - -[[package]] -name = "dtoa-short" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87" -dependencies = [ - "dtoa", -] - -[[package]] -name = "dunce" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" - -[[package]] -name = "dyn-clone" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" - -[[package]] -name = "ed25519" -version = "2.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" -dependencies = [ - "pkcs8", - "serde", - "signature", -] - -[[package]] -name = "ed25519-dalek" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" -dependencies = [ - "curve25519-dalek", - "ed25519", - "rand_core 0.6.4", - "serde", - "sha2", - "subtle", - "zeroize", -] - -[[package]] -name = "either" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" - -[[package]] -name = "embed-resource" -version = "3.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55a075fc573c64510038d7ee9abc7990635863992f83ebc52c8b433b8411a02e" -dependencies = [ - "cc", - "memchr", - "rustc_version", - "toml 0.9.11+spec-1.1.0", - "vswhom", - "winreg 0.55.0", -] - -[[package]] -name = "embed_plist" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" - -[[package]] -name = "encoding_rs" -version = "0.8.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "endi" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099" - -[[package]] -name = "enumflags2" -version = "0.7.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef" -dependencies = [ - "enumflags2_derive", - "serde", -] - -[[package]] -name = "enumflags2_derive" -version = "0.7.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "equivalent" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - -[[package]] -name = "erased-serde" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" -dependencies = [ - "serde", - "serde_core", - "typeid", -] - -[[package]] -name = "errno" -version = "0.3.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" -dependencies = [ - "libc", - "windows-sys 0.61.2", -] - -[[package]] -name = "error-code" -version = "3.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dea2df4cf52843e0452895c455a1a2cfbb842a1e7329671acf418fdc53ed4c59" - -[[package]] -name = "event-listener" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener" -version = "5.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" -dependencies = [ - "event-listener 5.4.1", - "pin-project-lite", -] - -[[package]] -name = "eyeball" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d93bd0ebf93d61d6332d3c09a96e97975968a44e19a64c947bde06e6baff383f" -dependencies = [ - "futures-core", - "readlock", - "tracing", -] - -[[package]] -name = "eyeball-im" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9326c8d9f6d59d18935412608b4514cc661e4e068011bb2f523f6c8b1cfa3bd4" -dependencies = [ - "futures-core", - "imbl", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "fallible-iterator" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" - -[[package]] -name = "fallible-streaming-iterator" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" - -[[package]] -name = "fancy_constructor" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07b19d0e43eae2bfbafe4931b5e79c73fb1a849ca15cd41a761a7b8587f9a1a2" -dependencies = [ - "macroific", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "fastrand" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" - -[[package]] -name = "fax" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f05de7d48f37cd6730705cbca900770cab77a89f413d23e100ad7fad7795a0ab" -dependencies = [ - "fax_derive", -] - -[[package]] -name = "fax_derive" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "fdeflate" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" -dependencies = [ - "simd-adler32", -] - -[[package]] -name = "fiat-crypto" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - -[[package]] -name = "field-offset" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" -dependencies = [ - "memoffset", - "rustc_version", -] - -[[package]] -name = "filetime" -version = "0.2.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db" -dependencies = [ - "cfg-if", - "libc", - "libredox", -] - -[[package]] -name = "find-msvc-tools" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" - -[[package]] -name = "fixedbitset" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" - -[[package]] -name = "flagset" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7ac824320a75a52197e8f2d787f6a38b6718bb6897a35142d749af3c0e8f4fe" - -[[package]] -name = "flate2" -version = "1.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b375d6465b98090a5f25b1c7703f3859783755aa9a80433b36e0379a3ec2f369" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - -[[package]] -name = "foreign-types" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" -dependencies = [ - "foreign-types-macros", - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-macros" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "foreign-types-shared" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" - -[[package]] -name = "form_urlencoded" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "futf" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" -dependencies = [ - "mac", - "new_debug_unreachable", -] - -[[package]] -name = "futures-channel" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" -dependencies = [ - "futures-core", -] - -[[package]] -name = "futures-core" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" - -[[package]] -name = "futures-executor" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" - -[[package]] -name = "futures-lite" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" -dependencies = [ - "fastrand", - "futures-core", - "futures-io", - "parking", - "pin-project-lite", -] - -[[package]] -name = "futures-macro" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "futures-sink" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" - -[[package]] -name = "futures-task" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" - -[[package]] -name = "futures-util" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - -[[package]] -name = "gdk" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9f245958c627ac99d8e529166f9823fb3b838d1d41fd2b297af3075093c2691" -dependencies = [ - "cairo-rs", - "gdk-pixbuf", - "gdk-sys", - "gio", - "glib", - "libc", - "pango", -] - -[[package]] -name = "gdk-pixbuf" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" -dependencies = [ - "gdk-pixbuf-sys", - "gio", - "glib", - "libc", - "once_cell", -] - -[[package]] -name = "gdk-pixbuf-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" -dependencies = [ - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "gdk-sys" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c2d13f38594ac1e66619e188c6d5a1adb98d11b2fcf7894fc416ad76aa2f3f7" -dependencies = [ - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "pango-sys", - "pkg-config", - "system-deps", -] - -[[package]] -name = "gdkwayland-sys" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "140071d506d223f7572b9f09b5e155afbd77428cd5cc7af8f2694c41d98dfe69" -dependencies = [ - "gdk-sys", - "glib-sys", - "gobject-sys", - "libc", - "pkg-config", - "system-deps", -] - -[[package]] -name = "gdkx11" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3caa00e14351bebbc8183b3c36690327eb77c49abc2268dd4bd36b856db3fbfe" -dependencies = [ - "gdk", - "gdkx11-sys", - "gio", - "glib", - "libc", - "x11", -] - -[[package]] -name = "gdkx11-sys" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e7445fe01ac26f11601db260dd8608fe172514eb63b3b5e261ea6b0f4428d" -dependencies = [ - "gdk-sys", - "glib-sys", - "libc", - "system-deps", - "x11", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "gethostname" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8" -dependencies = [ - "rustix", - "windows-link 0.2.1", -] - -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - -[[package]] -name = "getrandom" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi 0.11.1+wasi-snapshot-preview1", - "wasm-bindgen", -] - -[[package]] -name = "getrandom" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "r-efi", - "wasip2", - "wasm-bindgen", -] - -[[package]] -name = "gio" -version = "0.18.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-util", - "gio-sys", - "glib", - "libc", - "once_cell", - "pin-project-lite", - "smallvec", - "thiserror 1.0.69", -] - -[[package]] -name = "gio-sys" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", - "winapi", -] - -[[package]] -name = "glib" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" -dependencies = [ - "bitflags 2.10.0", - "futures-channel", - "futures-core", - "futures-executor", - "futures-task", - "futures-util", - "gio-sys", - "glib-macros", - "glib-sys", - "gobject-sys", - "libc", - "memchr", - "once_cell", - "smallvec", - "thiserror 1.0.69", -] - -[[package]] -name = "glib-macros" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" -dependencies = [ - "heck 0.4.1", - "proc-macro-crate 2.0.2", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "glib-sys" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" -dependencies = [ - "libc", - "system-deps", -] - -[[package]] -name = "glob" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" - -[[package]] -name = "gloo-timers" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "gloo-utils" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa" -dependencies = [ - "js-sys", - "serde", - "serde_json", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "gobject-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" -dependencies = [ - "glib-sys", - "libc", - "system-deps", -] - -[[package]] -name = "gtk" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd56fb197bfc42bd5d2751f4f017d44ff59fbb58140c6b49f9b3b2bdab08506a" -dependencies = [ - "atk", - "cairo-rs", - "field-offset", - "futures-channel", - "gdk", - "gdk-pixbuf", - "gio", - "glib", - "gtk-sys", - "gtk3-macros", - "libc", - "pango", - "pkg-config", -] - -[[package]] -name = "gtk-sys" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f29a1c21c59553eb7dd40e918be54dccd60c52b049b75119d5d96ce6b624414" -dependencies = [ - "atk-sys", - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gdk-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "pango-sys", - "system-deps", -] - -[[package]] -name = "gtk3-macros" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ff3c5b21f14f0736fed6dcfc0bfb4225ebf5725f3c0209edeec181e4d73e9d" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "h2" -version = "0.3.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 0.2.12", - "indexmap 2.13.0", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "h2" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" -dependencies = [ - "atomic-waker", - "bytes", - "fnv", - "futures-core", - "futures-sink", - "http 1.4.0", - "indexmap 2.13.0", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "half" -version = "2.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" -dependencies = [ - "cfg-if", - "crunchy", - "zerocopy 0.8.33", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] - -[[package]] -name = "hashbrown" -version = "0.15.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" -dependencies = [ - "foldhash", -] - -[[package]] -name = "hashbrown" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" - -[[package]] -name = "hashlink" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" -dependencies = [ - "hashbrown 0.14.5", -] - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hermit-abi" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hkdf" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" -dependencies = [ - "hmac", -] - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest", -] - -[[package]] -name = "html5ever" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b7410cae13cbc75623c98ac4cbfd1f0bedddf3227afc24f370cf0f50a44a11c" -dependencies = [ - "log", - "mac", - "markup5ever", - "match_token", -] - -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" -dependencies = [ - "bytes", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http 0.2.12", - "pin-project-lite", -] - -[[package]] -name = "http-body" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" -dependencies = [ - "bytes", - "http 1.4.0", -] - -[[package]] -name = "http-body-util" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" -dependencies = [ - "bytes", - "futures-core", - "http 1.4.0", - "http-body 1.0.1", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" - -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - -[[package]] -name = "hyper" -version = "0.14.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2 0.3.27", - "http 0.2.12", - "http-body 0.4.6", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2 0.5.10", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" -dependencies = [ - "atomic-waker", - "bytes", - "futures-channel", - "futures-core", - "h2 0.4.13", - "http 1.4.0", - "http-body 1.0.1", - "httparse", - "itoa", - "pin-project-lite", - "pin-utils", - "smallvec", - "tokio", - "want", -] - -[[package]] -name = "hyper-rustls" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" -dependencies = [ - "futures-util", - "http 0.2.12", - "hyper 0.14.32", - "rustls 0.21.12", - "tokio", - "tokio-rustls 0.24.1", -] - -[[package]] -name = "hyper-rustls" -version = "0.27.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" -dependencies = [ - "http 1.4.0", - "hyper 1.8.1", - "hyper-util", - "rustls 0.23.36", - "rustls-pki-types", - "tokio", - "tokio-rustls 0.26.4", - "tower-service", - "webpki-roots 1.0.5", -] - -[[package]] -name = "hyper-util" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" -dependencies = [ - "base64 0.22.1", - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "http 1.4.0", - "http-body 1.0.1", - "hyper 1.8.1", - "ipnet", - "libc", - "percent-encoding", - "pin-project-lite", - "socket2 0.5.10", - "system-configuration", - "tokio", - "tower-service", - "tracing", - "windows-registry", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.64" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "log", - "wasm-bindgen", - "windows-core 0.62.2", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "ico" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e795dff5605e0f04bff85ca41b51a96b83e80b281e96231bcaaf1ac35103371" -dependencies = [ - "byteorder", - "png 0.17.16", -] - -[[package]] -name = "icu_collections" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" -dependencies = [ - "displaydoc", - "potential_utf", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locale_core" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_normalizer" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" -dependencies = [ - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" - -[[package]] -name = "icu_properties" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" -dependencies = [ - "icu_collections", - "icu_locale_core", - "icu_properties_data", - "icu_provider", - "zerotrie", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" - -[[package]] -name = "icu_provider" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" -dependencies = [ - "displaydoc", - "icu_locale_core", - "writeable", - "yoke", - "zerofrom", - "zerotrie", - "zerovec", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "idna" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" -dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", -] - -[[package]] -name = "idna_adapter" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" -dependencies = [ - "icu_normalizer", - "icu_properties", -] - -[[package]] -name = "image" -version = "0.25.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a" -dependencies = [ - "bytemuck", - "byteorder-lite", - "moxcms", - "num-traits", - "png 0.18.0", - "tiff", -] - -[[package]] -name = "imbl" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978d142c8028edf52095703af2fad11d6f611af1246685725d6b850634647085" -dependencies = [ - "bitmaps", - "imbl-sized-chunks", - "rand_core 0.6.4", - "rand_xoshiro", - "serde", - "version_check", -] - -[[package]] -name = "imbl-sized-chunks" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f4241005618a62f8d57b2febd02510fb96e0137304728543dfc5fd6f052c22d" -dependencies = [ - "bitmaps", -] - -[[package]] -name = "include_dir" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" -dependencies = [ - "include_dir_macros", -] - -[[package]] -name = "include_dir_macros" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" -dependencies = [ - "proc-macro2", - "quote", -] - -[[package]] -name = "indexed_db_futures" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0704b71f13f81b5933d791abf2de26b33c40935143985220299a357721166706" -dependencies = [ - "accessory", - "cfg-if", - "delegate-display", - "fancy_constructor", - "js-sys", - "uuid", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", - "serde", -] - -[[package]] -name = "indexmap" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" -dependencies = [ - "equivalent", - "hashbrown 0.16.1", - "serde", - "serde_core", -] - -[[package]] -name = "infer" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7" -dependencies = [ - "cfb", -] - -[[package]] -name = "inout" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" -dependencies = [ - "block-padding", - "generic-array", -] - -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "ipnet" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" - -[[package]] -name = "iri-string" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" -dependencies = [ - "memchr", - "serde", -] - -[[package]] -name = "is-docker" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" -dependencies = [ - "once_cell", -] - -[[package]] -name = "is-wsl" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" -dependencies = [ - "is-docker", - "once_cell", -] - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" - -[[package]] -name = "javascriptcore-rs" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca5671e9ffce8ffba57afc24070e906da7fc4b1ba66f2cabebf61bf2ea257fcc" -dependencies = [ - "bitflags 1.3.2", - "glib", - "javascriptcore-rs-sys", -] - -[[package]] -name = "javascriptcore-rs-sys" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1be78d14ffa4b75b66df31840478fef72b51f8c2465d4ca7c194da9f7a5124" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "jni" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" -dependencies = [ - "cesu8", - "cfg-if", - "combine", - "jni-sys", - "log", - "thiserror 1.0.69", - "walkdir", - "windows-sys 0.45.0", -] - -[[package]] -name = "jni-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" - -[[package]] -name = "js-sys" -version = "0.3.85" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" -dependencies = [ - "once_cell", - "wasm-bindgen", -] - -[[package]] -name = "js_int" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d937f95470b270ce8b8950207715d71aa8e153c0d44c6684d59397ed4949160a" -dependencies = [ - "serde", -] - -[[package]] -name = "js_option" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68421373957a1593a767013698dbf206e2b221eefe97a44d98d18672ff38423c" -dependencies = [ - "serde", -] - -[[package]] -name = "json-patch" -version = "3.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "863726d7afb6bc2590eeff7135d923545e5e964f004c2ccf8716c25e70a86f08" -dependencies = [ - "jsonptr", - "serde", - "serde_json", - "thiserror 1.0.69", -] - -[[package]] -name = "jsonptr" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dea2b27dd239b2556ed7a25ba842fe47fd602e7fc7433c2a8d6106d4d9edd70" -dependencies = [ - "serde", - "serde_json", -] - -[[package]] -name = "keyboard-types" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" -dependencies = [ - "bitflags 2.10.0", - "serde", - "unicode-segmentation", -] - -[[package]] -name = "konst" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4381b9b00c55f251f2ebe9473aef7c117e96828def1a7cb3bd3f0f903c6894e9" -dependencies = [ - "const_panic", - "konst_kernel", - "typewit", -] - -[[package]] -name = "konst_kernel" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4b1eb7788f3824c629b1116a7a9060d6e898c358ebff59070093d51103dcc3c" -dependencies = [ - "typewit", -] - -[[package]] -name = "kuchikiki" -version = "0.8.8-speedreader" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02cb977175687f33fa4afa0c95c112b987ea1443e5a51c8f8ff27dc618270cc2" -dependencies = [ - "cssparser", - "html5ever", - "indexmap 2.13.0", - "selectors", -] - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" - -[[package]] -name = "libappindicator" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03589b9607c868cc7ae54c0b2a22c8dc03dd41692d48f2d7df73615c6a95dc0a" -dependencies = [ - "glib", - "gtk", - "gtk-sys", - "libappindicator-sys", - "log", -] - -[[package]] -name = "libappindicator-sys" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" -dependencies = [ - "gtk-sys", - "libloading", - "once_cell", -] - -[[package]] -name = "libc" -version = "0.2.180" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" - -[[package]] -name = "libloading" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if", - "winapi", -] - -[[package]] -name = "libredox" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" -dependencies = [ - "bitflags 2.10.0", - "libc", - "redox_syscall 0.7.0", -] - -[[package]] -name = "libsqlite3-sys" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716" -dependencies = [ - "pkg-config", - "vcpkg", -] - -[[package]] -name = "linux-raw-sys" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" - -[[package]] -name = "litemap" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" - -[[package]] -name = "litrs" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" - -[[package]] -name = "lock_api" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" -dependencies = [ - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" - -[[package]] -name = "lru-slab" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" - -[[package]] -name = "mac" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" - -[[package]] -name = "mac-notification-sys" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65fd3f75411f4725061682ed91f131946e912859d0044d39c4ec0aac818d7621" -dependencies = [ - "cc", - "objc2", - "objc2-foundation", - "time", -] - -[[package]] -name = "macroific" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f05c00ac596022625d01047c421a0d97d7f09a18e429187b341c201cb631b9dd" -dependencies = [ - "macroific_attr_parse", - "macroific_core", - "macroific_macro", -] - -[[package]] -name = "macroific_attr_parse" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd94d5da95b30ae6e10621ad02340909346ad91661f3f8c0f2b62345e46a2f67" -dependencies = [ - "cfg-if", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "macroific_core" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13198c120864097a565ccb3ff947672d969932b7975ebd4085732c9f09435e55" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "macroific_macro" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c9853143cbed7f1e41dc39fee95f9b361bec65c8dc2a01bf609be01b61f5ae" -dependencies = [ - "macroific_attr_parse", - "macroific_core", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "maplit" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" - -[[package]] -name = "markup5ever" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7a7213d12e1864c0f002f52c2923d4556935a43dec5e71355c2760e0f6e7a18" -dependencies = [ - "log", - "phf 0.11.3", - "phf_codegen 0.11.3", - "string_cache", - "string_cache_codegen", - "tendril", -] - -[[package]] -name = "match_token" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "matches" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" - -[[package]] -name = "matrix-pickle" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c34e6db65145740459f2ca56623b40cd4e6000ffae2a7d91515fa82aa935dbf" -dependencies = [ - "matrix-pickle-derive", - "thiserror 2.0.18", -] - -[[package]] -name = "matrix-pickle-derive" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a962fc9981f823f6555416dcb2ae9ae67ca412d767ee21ecab5150113ee6285b" -dependencies = [ - "proc-macro-crate 3.4.0", - "proc-macro-error2", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "matrix-sdk" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "336687e5fc8b33661a31681e988a67e9a3090c7fb1a8323a7f71eeaabad642ec" -dependencies = [ - "anymap2", - "aquamarine", - "as_variant", - "async-channel", - "async-stream", - "async-trait", - "backoff", - "bytes", - "bytesize", - "cfg-vis", - "event-listener 4.0.3", - "eyeball", - "eyeball-im", - "futures-core", - "futures-util", - "gloo-timers", - "http 0.2.12", - "imbl", - "indexmap 2.13.0", - "matrix-sdk-base", - "matrix-sdk-common", - "matrix-sdk-indexeddb", - "matrix-sdk-sqlite", - "mime", - "mime2ext", - "reqwest 0.11.27", - "ruma", - "serde", - "serde_html_form", - "serde_json", - "tempfile", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", - "url", - "urlencoding", - "zeroize", -] - -[[package]] -name = "matrix-sdk-base" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00891954d0826a94f1d130f46cbca64176003a234c1be5d9d282970d31cf0c87" -dependencies = [ - "as_variant", - "async-trait", - "bitflags 2.10.0", - "eyeball", - "eyeball-im", - "futures-util", - "matrix-sdk-common", - "matrix-sdk-crypto", - "matrix-sdk-store-encryption", - "once_cell", - "ruma", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tracing", -] - -[[package]] -name = "matrix-sdk-common" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb365a626ab6f6c6a2422cfe2565522f19accb06706c6d04bca8f0f71df29c9f" -dependencies = [ - "async-trait", - "futures-core", - "futures-util", - "gloo-timers", - "instant", - "ruma", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tracing", - "tracing-subscriber", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "matrix-sdk-crypto" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e03a64d12a83ebe33bb55de9b77faef4ce27006f946f8468c3311f311f39ab8b" -dependencies = [ - "aes", - "as_variant", - "async-trait", - "bs58", - "byteorder", - "cbc", - "cfg-if", - "ctr", - "eyeball", - "futures-core", - "futures-util", - "hkdf", - "hmac", - "itertools 0.12.1", - "matrix-sdk-common", - "pbkdf2", - "rand 0.8.5", - "rmp-serde", - "ruma", - "serde", - "serde_json", - "sha2", - "subtle", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tracing", - "ulid", - "vodozemac", - "zeroize", -] - -[[package]] -name = "matrix-sdk-indexeddb" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad388005c5d4ed2ff38f405d52aa7fa606f4e1ab51baf5f2504721124ed4a58b" -dependencies = [ - "anyhow", - "async-trait", - "base64 0.21.7", - "getrandom 0.2.17", - "gloo-utils", - "indexed_db_futures", - "js-sys", - "matrix-sdk-base", - "matrix-sdk-crypto", - "matrix-sdk-store-encryption", - "ruma", - "serde", - "serde-wasm-bindgen", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tracing", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "matrix-sdk-sqlite" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a98d034dd5aa85b4da6500e60c7d5b9328a37632cf40ba38bbe2c77cea3f14" -dependencies = [ - "async-trait", - "deadpool-sqlite", - "itertools 0.12.1", - "matrix-sdk-base", - "matrix-sdk-crypto", - "matrix-sdk-store-encryption", - "rmp-serde", - "ruma", - "rusqlite", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tracing", - "vodozemac", -] - -[[package]] -name = "matrix-sdk-store-encryption" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a7e3162e9f982a4c57ab46df01a4775f697dec8899738bf62d7e97b63faa61c" -dependencies = [ - "blake3", - "chacha20poly1305", - "displaydoc", - "getrandom 0.2.17", - "hmac", - "pbkdf2", - "rand 0.8.5", - "rmp-serde", - "serde", - "serde_json", - "sha2", - "thiserror 1.0.69", - "zeroize", -] - -[[package]] -name = "memchr" -version = "2.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" - -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "mime2ext" -version = "0.1.54" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf6f36070878c42c5233846cd3de24cf9016828fd47bc22957a687298bb21fc" - -[[package]] -name = "minisign-verify" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e856fdd13623a2f5f2f54676a4ee49502a96a80ef4a62bcedd23d52427c44d43" - -[[package]] -name = "miniz_oxide" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" -dependencies = [ - "adler2", - "simd-adler32", -] - -[[package]] -name = "mio" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" -dependencies = [ - "libc", - "wasi 0.11.1+wasi-snapshot-preview1", - "windows-sys 0.61.2", -] - -[[package]] -name = "moxcms" -version = "0.7.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac9557c559cd6fc9867e122e20d2cbefc9ca29d80d027a8e39310920ed2f0a97" -dependencies = [ - "num-traits", - "pxfm", -] - -[[package]] -name = "muda" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01c1738382f66ed56b3b9c8119e794a2e23148ac8ea214eda86622d4cb9d415a" -dependencies = [ - "crossbeam-channel", - "dpi", - "gtk", - "keyboard-types", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", - "once_cell", - "png 0.17.16", - "serde", - "thiserror 2.0.18", - "windows-sys 0.60.2", -] - -[[package]] -name = "ndk" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" -dependencies = [ - "bitflags 2.10.0", - "jni-sys", - "log", - "ndk-sys", - "num_enum", - "raw-window-handle", - "thiserror 1.0.69", -] - -[[package]] -name = "ndk-context" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" - -[[package]] -name = "ndk-sys" -version = "0.6.0+11769913" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" -dependencies = [ - "jni-sys", -] - -[[package]] -name = "new_debug_unreachable" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" - -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - -[[package]] -name = "nom" -version = "8.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" -dependencies = [ - "memchr", -] - -[[package]] -name = "notify-rust" -version = "4.11.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6442248665a5aa2514e794af3b39661a8e73033b1cc5e59899e1276117ee4400" -dependencies = [ - "futures-lite", - "log", - "mac-notification-sys", - "serde", - "tauri-winrt-notification", - "zbus", -] - -[[package]] -name = "nu-ansi-term" -version = "0.50.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" -dependencies = [ - "windows-sys 0.61.2", -] - -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "num_enum" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" -dependencies = [ - "num_enum_derive", - "rustversion", -] - -[[package]] -name = "num_enum_derive" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" -dependencies = [ - "proc-macro-crate 3.4.0", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "objc2" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" -dependencies = [ - "objc2-encode", - "objc2-exception-helper", -] - -[[package]] -name = "objc2-app-kit" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" -dependencies = [ - "bitflags 2.10.0", - "block2", - "libc", - "objc2", - "objc2-cloud-kit", - "objc2-core-data", - "objc2-core-foundation", - "objc2-core-graphics", - "objc2-core-image", - "objc2-core-text", - "objc2-core-video", - "objc2-foundation", - "objc2-quartz-core", -] - -[[package]] -name = "objc2-cloud-kit" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c" -dependencies = [ - "bitflags 2.10.0", - "objc2", - "objc2-foundation", -] - -[[package]] -name = "objc2-core-data" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa" -dependencies = [ - "bitflags 2.10.0", - "objc2", - "objc2-foundation", -] - -[[package]] -name = "objc2-core-foundation" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" -dependencies = [ - "bitflags 2.10.0", - "dispatch2", - "objc2", -] - -[[package]] -name = "objc2-core-graphics" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" -dependencies = [ - "bitflags 2.10.0", - "dispatch2", - "objc2", - "objc2-core-foundation", - "objc2-io-surface", -] - -[[package]] -name = "objc2-core-image" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006" -dependencies = [ - "objc2", - "objc2-foundation", -] - -[[package]] -name = "objc2-core-text" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" -dependencies = [ - "bitflags 2.10.0", - "objc2", - "objc2-core-foundation", - "objc2-core-graphics", -] - -[[package]] -name = "objc2-core-video" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6" -dependencies = [ - "bitflags 2.10.0", - "objc2", - "objc2-core-foundation", - "objc2-core-graphics", - "objc2-io-surface", -] - -[[package]] -name = "objc2-encode" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" - -[[package]] -name = "objc2-exception-helper" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7a1c5fbb72d7735b076bb47b578523aedc40f3c439bea6dfd595c089d79d98a" -dependencies = [ - "cc", -] - -[[package]] -name = "objc2-foundation" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" -dependencies = [ - "bitflags 2.10.0", - "block2", - "libc", - "objc2", - "objc2-core-foundation", -] - -[[package]] -name = "objc2-io-surface" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" -dependencies = [ - "bitflags 2.10.0", - "objc2", - "objc2-core-foundation", -] - -[[package]] -name = "objc2-javascript-core" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a1e6550c4caed348956ce3370c9ffeca70bb1dbed4fa96112e7c6170e074586" -dependencies = [ - "objc2", - "objc2-core-foundation", -] - -[[package]] -name = "objc2-osa-kit" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f112d1746737b0da274ef79a23aac283376f335f4095a083a267a082f21db0c0" -dependencies = [ - "bitflags 2.10.0", - "objc2", - "objc2-app-kit", - "objc2-foundation", -] - -[[package]] -name = "objc2-quartz-core" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" -dependencies = [ - "bitflags 2.10.0", - "objc2", - "objc2-core-foundation", - "objc2-foundation", -] - -[[package]] -name = "objc2-security" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "709fe137109bd1e8b5a99390f77a7d8b2961dafc1a1c5db8f2e60329ad6d895a" -dependencies = [ - "bitflags 2.10.0", - "objc2", - "objc2-core-foundation", -] - -[[package]] -name = "objc2-ui-kit" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" -dependencies = [ - "bitflags 2.10.0", - "objc2", - "objc2-core-foundation", - "objc2-foundation", -] - -[[package]] -name = "objc2-web-kit" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2e5aaab980c433cf470df9d7af96a7b46a9d892d521a2cbbb2f8a4c16751e7f" -dependencies = [ - "bitflags 2.10.0", - "block2", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", - "objc2-javascript-core", - "objc2-security", -] - -[[package]] -name = "once_cell" -version = "1.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" - -[[package]] -name = "opaque-debug" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" - -[[package]] -name = "open" -version = "5.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43bb73a7fa3799b198970490a51174027ba0d4ec504b03cd08caf513d40024bc" -dependencies = [ - "dunce", - "is-wsl", - "libc", - "pathdiff", -] - -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - -[[package]] -name = "ordered-multimap" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79" -dependencies = [ - "dlv-list", - "hashbrown 0.14.5", -] - -[[package]] -name = "ordered-stream" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" -dependencies = [ - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "os_pipe" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" -dependencies = [ - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "osakit" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "732c71caeaa72c065bb69d7ea08717bd3f4863a4f451402fc9513e29dbd5261b" -dependencies = [ - "objc2", - "objc2-foundation", - "objc2-osa-kit", - "serde", - "serde_json", - "thiserror 2.0.18", -] - -[[package]] -name = "paarrot" -version = "4.10.2" -dependencies = [ - "arboard", - "base64 0.22.1", - "gtk", - "log", - "matrix-sdk", - "open", - "png 0.17.16", - "ppv-lite86", - "serde", - "serde_json", - "tauri", - "tauri-build", - "tauri-plugin-autostart", - "tauri-plugin-deep-link", - "tauri-plugin-dialog", - "tauri-plugin-http", - "tauri-plugin-localhost", - "tauri-plugin-notification", - "tauri-plugin-opener", - "tauri-plugin-process", - "tauri-plugin-single-instance", - "tauri-plugin-updater", - "tauri-plugin-window-state", - "tokio", - "webkit2gtk", -] - -[[package]] -name = "pango" -version = "0.18.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" -dependencies = [ - "gio", - "glib", - "libc", - "once_cell", - "pango-sys", -] - -[[package]] -name = "pango-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "parking" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" - -[[package]] -name = "parking_lot" -version = "0.12.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.5.18", - "smallvec", - "windows-link 0.2.1", -] - -[[package]] -name = "pathdiff" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" - -[[package]] -name = "pbkdf2" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -dependencies = [ - "digest", - "hmac", -] - -[[package]] -name = "percent-encoding" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" - -[[package]] -name = "petgraph" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" -dependencies = [ - "fixedbitset", - "hashbrown 0.15.5", - "indexmap 2.13.0", -] - -[[package]] -name = "phf" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" -dependencies = [ - "phf_shared 0.8.0", -] - -[[package]] -name = "phf" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" -dependencies = [ - "phf_macros 0.10.0", - "phf_shared 0.10.0", - "proc-macro-hack", -] - -[[package]] -name = "phf" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" -dependencies = [ - "phf_macros 0.11.3", - "phf_shared 0.11.3", -] - -[[package]] -name = "phf_codegen" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" -dependencies = [ - "phf_generator 0.8.0", - "phf_shared 0.8.0", -] - -[[package]] -name = "phf_codegen" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" -dependencies = [ - "phf_generator 0.11.3", - "phf_shared 0.11.3", -] - -[[package]] -name = "phf_generator" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" -dependencies = [ - "phf_shared 0.8.0", - "rand 0.7.3", -] - -[[package]] -name = "phf_generator" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" -dependencies = [ - "phf_shared 0.10.0", - "rand 0.8.5", -] - -[[package]] -name = "phf_generator" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" -dependencies = [ - "phf_shared 0.11.3", - "rand 0.8.5", -] - -[[package]] -name = "phf_macros" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" -dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", - "proc-macro-hack", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "phf_macros" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" -dependencies = [ - "phf_generator 0.11.3", - "phf_shared 0.11.3", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "phf_shared" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" -dependencies = [ - "siphasher 0.3.11", -] - -[[package]] -name = "phf_shared" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" -dependencies = [ - "siphasher 0.3.11", -] - -[[package]] -name = "phf_shared" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" -dependencies = [ - "siphasher 1.0.1", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "piper" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" -dependencies = [ - "atomic-waker", - "fastrand", - "futures-io", -] - -[[package]] -name = "pkcs7" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d79178be066405e0602bf3035946edef6b11b3f9dde46dfe5f8bfd7dea4b77e7" -dependencies = [ - "der", - "spki", - "x509-cert", -] - -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der", - "spki", -] - -[[package]] -name = "pkg-config" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" - -[[package]] -name = "plist" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07" -dependencies = [ - "base64 0.22.1", - "indexmap 2.13.0", - "quick-xml 0.38.4", - "serde", - "time", -] - -[[package]] -name = "png" -version = "0.17.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" -dependencies = [ - "bitflags 1.3.2", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide", -] - -[[package]] -name = "png" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0" -dependencies = [ - "bitflags 2.10.0", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide", -] - -[[package]] -name = "polling" -version = "3.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" -dependencies = [ - "cfg-if", - "concurrent-queue", - "hermit-abi", - "pin-project-lite", - "rustix", - "windows-sys 0.61.2", -] - -[[package]] -name = "poly1305" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" -dependencies = [ - "cpufeatures", - "opaque-debug", - "universal-hash", -] - -[[package]] -name = "potential_utf" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" -dependencies = [ - "zerovec", -] - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "ppv-lite86" -version = "0.2.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" -dependencies = [ - "zerocopy 0.7.35", -] - -[[package]] -name = "precomputed-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" - -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit 0.19.15", -] - -[[package]] -name = "proc-macro-crate" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" -dependencies = [ - "toml_datetime 0.6.3", - "toml_edit 0.20.2", -] - -[[package]] -name = "proc-macro-crate" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" -dependencies = [ - "toml_edit 0.23.10+spec-1.0.0", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" -dependencies = [ - "proc-macro2", - "quote", -] - -[[package]] -name = "proc-macro-error2" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" -dependencies = [ - "proc-macro-error-attr2", - "proc-macro2", - "quote", -] - -[[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" - -[[package]] -name = "proc-macro2" -version = "1.0.106" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "prost" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" -dependencies = [ - "bytes", - "prost-derive", -] - -[[package]] -name = "prost-derive" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" -dependencies = [ - "anyhow", - "itertools 0.14.0", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "psl-types" -version = "2.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" - -[[package]] -name = "publicsuffix" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42ea446cab60335f76979ec15e12619a2165b5ae2c12166bef27d283a9fadf" -dependencies = [ - "idna", - "psl-types", -] - -[[package]] -name = "pxfm" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7186d3822593aa4393561d186d1393b3923e9d6163d3fbfd6e825e3e6cf3e6a8" -dependencies = [ - "num-traits", -] - -[[package]] -name = "quick-error" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" - -[[package]] -name = "quick-xml" -version = "0.37.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" -dependencies = [ - "memchr", -] - -[[package]] -name = "quick-xml" -version = "0.38.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" -dependencies = [ - "memchr", -] - -[[package]] -name = "quinn" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" -dependencies = [ - "bytes", - "cfg_aliases", - "pin-project-lite", - "quinn-proto", - "quinn-udp", - "rustc-hash", - "rustls 0.23.36", - "socket2 0.5.10", - "thiserror 2.0.18", - "tokio", - "tracing", - "web-time", -] - -[[package]] -name = "quinn-proto" -version = "0.11.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" -dependencies = [ - "bytes", - "getrandom 0.3.4", - "lru-slab", - "rand 0.9.2", - "ring", - "rustc-hash", - "rustls 0.23.36", - "rustls-pki-types", - "slab", - "thiserror 2.0.18", - "tinyvec", - "tracing", - "web-time", -] - -[[package]] -name = "quinn-udp" -version = "0.5.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" -dependencies = [ - "cfg_aliases", - "libc", - "once_cell", - "socket2 0.5.10", - "tracing", - "windows-sys 0.60.2", -] - -[[package]] -name = "quote" -version = "1.0.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "r-efi" -version = "5.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" - -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", - "rand_pcg", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" -dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.5", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" -dependencies = [ - "ppv-lite86", - "rand_core 0.9.5", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.17", -] - -[[package]] -name = "rand_core" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" -dependencies = [ - "getrandom 0.3.4", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_pcg" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_xoshiro" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" -dependencies = [ - "rand_core 0.6.4", -] - -[[package]] -name = "raw-window-handle" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" - -[[package]] -name = "readlock" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6961798ceb493ecff2e50d3d9a6a9108124ee8298f81484d0ff623b6c32469e9" - -[[package]] -name = "redox_syscall" -version = "0.5.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" -dependencies = [ - "bitflags 2.10.0", -] - -[[package]] -name = "redox_syscall" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f3fe0889e69e2ae9e41f4d6c4c0181701d00e4697b356fb1f74173a5e0ee27" -dependencies = [ - "bitflags 2.10.0", -] - -[[package]] -name = "redox_users" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" -dependencies = [ - "getrandom 0.2.17", - "libredox", - "thiserror 1.0.69", -] - -[[package]] -name = "redox_users" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" -dependencies = [ - "getrandom 0.2.17", - "libredox", - "thiserror 2.0.18", -] - -[[package]] -name = "ref-cast" -version = "1.0.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "regex" -version = "1.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" - -[[package]] -name = "reqwest" -version = "0.11.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" -dependencies = [ - "base64 0.21.7", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2 0.3.27", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.32", - "hyper-rustls 0.24.2", - "ipnet", - "js-sys", - "log", - "mime", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls 0.21.12", - "rustls-pemfile", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper 0.1.2", - "system-configuration", - "tokio", - "tokio-rustls 0.24.1", - "tokio-util", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams 0.4.2", - "web-sys", - "webpki-roots 0.25.4", - "winreg 0.50.0", -] - -[[package]] -name = "reqwest" -version = "0.12.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" -dependencies = [ - "base64 0.22.1", - "bytes", - "cookie", - "cookie_store 0.22.0", - "encoding_rs", - "futures-core", - "futures-util", - "h2 0.4.13", - "http 1.4.0", - "http-body 1.0.1", - "http-body-util", - "hyper 1.8.1", - "hyper-rustls 0.27.7", - "hyper-util", - "js-sys", - "log", - "mime", - "percent-encoding", - "pin-project-lite", - "quinn", - "rustls 0.23.36", - "rustls-pki-types", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper 1.0.2", - "tokio", - "tokio-rustls 0.26.4", - "tokio-util", - "tower", - "tower-http", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams 0.4.2", - "web-sys", - "webpki-roots 1.0.5", -] - -[[package]] -name = "reqwest" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801" -dependencies = [ - "base64 0.22.1", - "bytes", - "futures-core", - "futures-util", - "http 1.4.0", - "http-body 1.0.1", - "http-body-util", - "hyper 1.8.1", - "hyper-util", - "js-sys", - "log", - "percent-encoding", - "pin-project-lite", - "serde", - "serde_json", - "sync_wrapper 1.0.2", - "tokio", - "tokio-util", - "tower", - "tower-http", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams 0.5.0", - "web-sys", -] - -[[package]] -name = "rfd" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15ad77d9e70a92437d8f74c35d99b4e4691128df018833e99f90bcd36152672" -dependencies = [ - "block2", - "dispatch2", - "glib-sys", - "gobject-sys", - "gtk-sys", - "js-sys", - "log", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", - "raw-window-handle", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "windows-sys 0.60.2", -] - -[[package]] -name = "ring" -version = "0.17.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" -dependencies = [ - "cc", - "cfg-if", - "getrandom 0.2.17", - "libc", - "untrusted", - "windows-sys 0.52.0", -] - -[[package]] -name = "rmp" -version = "0.8.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ba8be72d372b2c9b35542551678538b562e7cf86c3315773cae48dfbfe7790c" -dependencies = [ - "num-traits", -] - -[[package]] -name = "rmp-serde" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72f81bee8c8ef9b577d1681a70ebbc962c232461e397b22c208c43c04b67a155" -dependencies = [ - "rmp", - "serde", -] - -[[package]] -name = "ruma" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2779c38df072964c63476259d9300efb07d0d1a7178c6469893636ce0c547a36" -dependencies = [ - "assign", - "js_int", - "js_option", - "ruma-client-api", - "ruma-common", - "ruma-events", - "ruma-federation-api", -] - -[[package]] -name = "ruma-client-api" -version = "0.17.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "641837258fa214a70823477514954ef0f5d3bc6ae8e1d5d85081856a33103386" -dependencies = [ - "assign", - "bytes", - "http 0.2.12", - "js_int", - "js_option", - "maplit", - "ruma-common", - "ruma-events", - "serde", - "serde_html_form", - "serde_json", -] - -[[package]] -name = "ruma-common" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bca4c33c50e47b4cdceeac71bdef0c04153b0e29aa992d9030ec14a62323e85" -dependencies = [ - "as_variant", - "base64 0.21.7", - "bytes", - "form_urlencoded", - "getrandom 0.2.17", - "http 0.2.12", - "indexmap 2.13.0", - "js-sys", - "js_int", - "konst", - "percent-encoding", - "rand 0.8.5", - "regex", - "ruma-identifiers-validation", - "ruma-macros", - "serde", - "serde_html_form", - "serde_json", - "thiserror 1.0.69", - "tracing", - "url", - "uuid", - "wildmatch", -] - -[[package]] -name = "ruma-events" -version = "0.27.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d20a52770e5a9fb30b7a1c14ba8b3dcf76dadc01674e58e40094f78e6bd5e3f1" -dependencies = [ - "as_variant", - "indexmap 2.13.0", - "js_int", - "js_option", - "percent-encoding", - "regex", - "ruma-common", - "ruma-identifiers-validation", - "ruma-macros", - "serde", - "serde_json", - "thiserror 1.0.69", - "tracing", - "url", - "wildmatch", -] - -[[package]] -name = "ruma-federation-api" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1901c1f27bc327652d58af2a130c73acef3198abeccd24cee97f7267fdf3fe7" -dependencies = [ - "js_int", - "ruma-common", - "ruma-events", - "serde", - "serde_json", -] - -[[package]] -name = "ruma-identifiers-validation" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa38974f5901ed4e00e10aec57b9ad3b4d6d6c1a1ae683c51b88700b9f4ffba" -dependencies = [ - "js_int", - "thiserror 1.0.69", -] - -[[package]] -name = "ruma-macros" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0280534a4b3e34416f883285fac4f9c408cd0b737890ae66f3e7a7056d14be80" -dependencies = [ - "once_cell", - "proc-macro-crate 2.0.2", - "proc-macro2", - "quote", - "ruma-identifiers-validation", - "serde", - "syn 2.0.114", - "toml 0.8.2", -] - -[[package]] -name = "rusqlite" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a78046161564f5e7cd9008aff3b2990b3850dc8e0349119b98e8f251e099f24d" -dependencies = [ - "bitflags 2.10.0", - "fallible-iterator", - "fallible-streaming-iterator", - "hashlink", - "libsqlite3-sys", - "smallvec", -] - -[[package]] -name = "rust-ini" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "796e8d2b6696392a43bea58116b667fb4c29727dc5abd27d6acf338bb4f688c7" -dependencies = [ - "cfg-if", - "ordered-multimap", -] - -[[package]] -name = "rustc-hash" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" - -[[package]] -name = "rustc_version" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -dependencies = [ - "semver", -] - -[[package]] -name = "rustix" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" -dependencies = [ - "bitflags 2.10.0", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.61.2", -] - -[[package]] -name = "rustls" -version = "0.21.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" -dependencies = [ - "log", - "ring", - "rustls-webpki 0.101.7", - "sct", -] - -[[package]] -name = "rustls" -version = "0.23.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c665f33d38cea657d9614f766881e4d510e0eda4239891eea56b4cadcf01801b" -dependencies = [ - "once_cell", - "ring", - "rustls-pki-types", - "rustls-webpki 0.103.9", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls-pemfile" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" -dependencies = [ - "base64 0.21.7", -] - -[[package]] -name = "rustls-pki-types" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" -dependencies = [ - "web-time", - "zeroize", -] - -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "rustls-webpki" -version = "0.103.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53" -dependencies = [ - "ring", - "rustls-pki-types", - "untrusted", -] - -[[package]] -name = "rustversion" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" - -[[package]] -name = "ryu" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "schemars" -version = "0.8.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" -dependencies = [ - "dyn-clone", - "indexmap 1.9.3", - "schemars_derive", - "serde", - "serde_json", - "url", - "uuid", -] - -[[package]] -name = "schemars" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" -dependencies = [ - "dyn-clone", - "ref-cast", - "serde", - "serde_json", -] - -[[package]] -name = "schemars" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e910108742c57a770f492731f99be216a52fadd361b06c8fb59d74ccc267d2" -dependencies = [ - "dyn-clone", - "ref-cast", - "serde", - "serde_json", -] - -[[package]] -name = "schemars_derive" -version = "0.8.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" -dependencies = [ - "proc-macro2", - "quote", - "serde_derive_internals", - "syn 2.0.114", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "selectors" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c37578180969d00692904465fb7f6b3d50b9a2b952b87c23d0e2e5cb5013416" -dependencies = [ - "bitflags 1.3.2", - "cssparser", - "derive_more", - "fxhash", - "log", - "phf 0.8.0", - "phf_codegen 0.8.0", - "precomputed-hash", - "servo_arc", - "smallvec", -] - -[[package]] -name = "semver" -version = "1.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" -dependencies = [ - "serde", - "serde_core", -] - -[[package]] -name = "serde" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" -dependencies = [ - "serde_core", - "serde_derive", -] - -[[package]] -name = "serde-untagged" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9faf48a4a2d2693be24c6289dbe26552776eb7737074e6722891fadbe6c5058" -dependencies = [ - "erased-serde", - "serde", - "serde_core", - "typeid", -] - -[[package]] -name = "serde-wasm-bindgen" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" -dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", -] - -[[package]] -name = "serde_bytes" -version = "0.11.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" -dependencies = [ - "serde", - "serde_core", -] - -[[package]] -name = "serde_core" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "serde_derive_internals" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "serde_html_form" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2f2d7ff8a2140333718bb329f5c40fc5f0865b84c426183ce14c97d2ab8154f" -dependencies = [ - "form_urlencoded", - "indexmap 2.13.0", - "itoa", - "ryu", - "serde_core", -] - -[[package]] -name = "serde_json" -version = "1.0.149" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" -dependencies = [ - "itoa", - "memchr", - "serde", - "serde_core", - "zmij", -] - -[[package]] -name = "serde_repr" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "serde_spanned" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_spanned" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" -dependencies = [ - "serde_core", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_with" -version = "3.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7" -dependencies = [ - "base64 0.22.1", - "chrono", - "hex", - "indexmap 1.9.3", - "indexmap 2.13.0", - "schemars 0.9.0", - "schemars 1.2.0", - "serde_core", - "serde_json", - "serde_with_macros", - "time", -] - -[[package]] -name = "serde_with_macros" -version = "3.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "serialize-to-javascript" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04f3666a07a197cdb77cdf306c32be9b7f598d7060d50cfd4d5aa04bfd92f6c5" -dependencies = [ - "serde", - "serde_json", - "serialize-to-javascript-impl", -] - -[[package]] -name = "serialize-to-javascript-impl" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "servo_arc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52aa42f8fdf0fed91e5ce7f23d8138441002fa31dca008acf47e6fd4721f741" -dependencies = [ - "nodrop", - "stable_deref_trait", -] - -[[package]] -name = "sha2" -version = "0.10.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "signal-hook-registry" -version = "1.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" -dependencies = [ - "errno", - "libc", -] - -[[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "rand_core 0.6.4", -] - -[[package]] -name = "simd-adler32" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" - -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - -[[package]] -name = "siphasher" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" - -[[package]] -name = "slab" -version = "0.4.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" - -[[package]] -name = "smallvec" -version = "1.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" - -[[package]] -name = "socket2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "socket2" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" -dependencies = [ - "libc", - "windows-sys 0.60.2", -] - -[[package]] -name = "softbuffer" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aac18da81ebbf05109ab275b157c22a653bb3c12cf884450179942f81bcbf6c3" -dependencies = [ - "bytemuck", - "js-sys", - "ndk", - "objc2", - "objc2-core-foundation", - "objc2-core-graphics", - "objc2-foundation", - "objc2-quartz-core", - "raw-window-handle", - "redox_syscall 0.5.18", - "tracing", - "wasm-bindgen", - "web-sys", - "windows-sys 0.61.2", -] - -[[package]] -name = "soup3" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f" -dependencies = [ - "futures-channel", - "gio", - "glib", - "libc", - "soup3-sys", -] - -[[package]] -name = "soup3-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27" -dependencies = [ - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der", -] - -[[package]] -name = "stable_deref_trait" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" - -[[package]] -name = "string_cache" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" -dependencies = [ - "new_debug_unreachable", - "parking_lot", - "phf_shared 0.11.3", - "precomputed-hash", - "serde", -] - -[[package]] -name = "string_cache_codegen" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" -dependencies = [ - "phf_generator 0.11.3", - "phf_shared 0.11.3", - "proc-macro2", - "quote", -] - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[package]] -name = "swift-rs" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4057c98e2e852d51fdcfca832aac7b571f6b351ad159f9eda5db1655f8d0c4d7" -dependencies = [ - "base64 0.21.7", - "serde", - "serde_json", -] - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.114" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "sync_wrapper" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" -dependencies = [ - "futures-core", -] - -[[package]] -name = "synstructure" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation 0.9.4", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "system-deps" -version = "6.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" -dependencies = [ - "cfg-expr", - "heck 0.5.0", - "pkg-config", - "toml 0.8.2", - "version-compare", -] - -[[package]] -name = "tao" -version = "0.34.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a753bdc39c07b192151523a3f77cd0394aa75413802c883a0f6f6a0e5ee2e7" -dependencies = [ - "bitflags 2.10.0", - "block2", - "core-foundation 0.10.1", - "core-graphics", - "crossbeam-channel", - "dispatch", - "dlopen2", - "dpi", - "gdkwayland-sys", - "gdkx11-sys", - "gtk", - "jni", - "lazy_static", - "libc", - "log", - "ndk", - "ndk-context", - "ndk-sys", - "objc2", - "objc2-app-kit", - "objc2-foundation", - "once_cell", - "parking_lot", - "raw-window-handle", - "scopeguard", - "tao-macros", - "unicode-segmentation", - "url", - "windows", - "windows-core 0.61.2", - "windows-version", - "x11-dl", -] - -[[package]] -name = "tao-macros" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "tar" -version = "0.4.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a" -dependencies = [ - "filetime", - "libc", - "xattr", -] - -[[package]] -name = "target-lexicon" -version = "0.12.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" - -[[package]] -name = "tauri" -version = "2.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1025aa560c1eaa14ef96de5540cbe13ed6be1933ebe4398338c96bc370b807c6" -dependencies = [ - "anyhow", - "bytes", - "cookie", - "dirs 6.0.0", - "dunce", - "embed_plist", - "getrandom 0.3.4", - "glob", - "gtk", - "heck 0.5.0", - "http 1.4.0", - "image", - "jni", - "libc", - "log", - "mime", - "muda", - "objc2", - "objc2-app-kit", - "objc2-foundation", - "objc2-ui-kit", - "objc2-web-kit", - "percent-encoding", - "plist", - "raw-window-handle", - "reqwest 0.13.2", - "serde", - "serde_json", - "serde_repr", - "serialize-to-javascript", - "swift-rs", - "tauri-build", - "tauri-macros", - "tauri-runtime", - "tauri-runtime-wry", - "tauri-utils", - "thiserror 2.0.18", - "tokio", - "tray-icon", - "url", - "webkit2gtk", - "webview2-com", - "window-vibrancy", - "windows", -] - -[[package]] -name = "tauri-build" -version = "2.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca7bd893329425df750813e95bd2b643d5369d929438da96d5bbb7cc2c918f74" -dependencies = [ - "anyhow", - "cargo_toml", - "dirs 6.0.0", - "glob", - "heck 0.5.0", - "json-patch", - "schemars 0.8.22", - "semver", - "serde", - "serde_json", - "tauri-utils", - "tauri-winres", - "toml 0.9.11+spec-1.1.0", - "walkdir", -] - -[[package]] -name = "tauri-codegen" -version = "2.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aac423e5859d9f9ccdd32e3cf6a5866a15bedbf25aa6630bcb2acde9468f6ae3" -dependencies = [ - "base64 0.22.1", - "brotli", - "ico", - "json-patch", - "plist", - "png 0.17.16", - "proc-macro2", - "quote", - "semver", - "serde", - "serde_json", - "sha2", - "syn 2.0.114", - "tauri-utils", - "thiserror 2.0.18", - "time", - "url", - "uuid", - "walkdir", -] - -[[package]] -name = "tauri-macros" -version = "2.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b6a1bd2861ff0c8766b1d38b32a6a410f6dc6532d4ef534c47cfb2236092f59" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.114", - "tauri-codegen", - "tauri-utils", -] - -[[package]] -name = "tauri-plugin" -version = "2.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1d0a4860b7ff570c891e1d2a586bf1ede205ff858fbc305e0b5ae5d14c1377" -dependencies = [ - "anyhow", - "glob", - "plist", - "schemars 0.8.22", - "serde", - "serde_json", - "tauri-utils", - "toml 0.9.11+spec-1.1.0", - "walkdir", -] - -[[package]] -name = "tauri-plugin-autostart" -version = "2.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "459383cebc193cdd03d1ba4acc40f2c408a7abce419d64bdcd2d745bc2886f70" -dependencies = [ - "auto-launch", - "serde", - "serde_json", - "tauri", - "tauri-plugin", - "thiserror 2.0.18", -] - -[[package]] -name = "tauri-plugin-deep-link" -version = "2.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "444b091f24f2f6bdb4a305b54d3961f629c11861c685aceeea9a1972f89e43d5" -dependencies = [ - "dunce", - "plist", - "rust-ini", - "serde", - "serde_json", - "tauri", - "tauri-plugin", - "tauri-utils", - "thiserror 2.0.18", - "tracing", - "url", - "windows-registry", - "windows-result 0.3.4", -] - -[[package]] -name = "tauri-plugin-dialog" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9204b425d9be8d12aa60c2a83a289cf7d1caae40f57f336ed1155b3a5c0e359b" -dependencies = [ - "log", - "raw-window-handle", - "rfd", - "serde", - "serde_json", - "tauri", - "tauri-plugin", - "tauri-plugin-fs", - "thiserror 2.0.18", - "url", -] - -[[package]] -name = "tauri-plugin-fs" -version = "2.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed390cc669f937afeb8b28032ce837bac8ea023d975a2e207375ec05afaf1804" -dependencies = [ - "anyhow", - "dunce", - "glob", - "percent-encoding", - "schemars 0.8.22", - "serde", - "serde_json", - "serde_repr", - "tauri", - "tauri-plugin", - "tauri-utils", - "thiserror 2.0.18", - "toml 0.9.11+spec-1.1.0", - "url", -] - -[[package]] -name = "tauri-plugin-http" -version = "2.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68bef611ccbfbce67c813959c11b23c1c084d201aa94222de9eba5f9edc3f897" -dependencies = [ - "bytes", - "cookie_store 0.21.1", - "data-url", - "http 1.4.0", - "regex", - "reqwest 0.12.28", - "schemars 0.8.22", - "serde", - "serde_json", - "tauri", - "tauri-plugin", - "tauri-plugin-fs", - "thiserror 2.0.18", - "tokio", - "url", - "urlpattern", -] - -[[package]] -name = "tauri-plugin-localhost" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c8d72c024121b1a3d9268293d49a56baf01a8c785561c85d17872588b839e55" -dependencies = [ - "http 1.4.0", - "log", - "serde", - "serde_json", - "tauri", - "thiserror 2.0.18", - "tiny_http", -] - -[[package]] -name = "tauri-plugin-notification" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01fc2c5ff41105bd1f7242d8201fdf3efd70749b82fa013a17f2126357d194cc" -dependencies = [ - "log", - "notify-rust", - "rand 0.9.2", - "serde", - "serde_json", - "serde_repr", - "tauri", - "tauri-plugin", - "thiserror 2.0.18", - "time", - "url", -] - -[[package]] -name = "tauri-plugin-opener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc624469b06f59f5a29f874bbc61a2ed737c0f9c23ef09855a292c389c42e83f" -dependencies = [ - "dunce", - "glob", - "objc2-app-kit", - "objc2-foundation", - "open", - "schemars 0.8.22", - "serde", - "serde_json", - "tauri", - "tauri-plugin", - "thiserror 2.0.18", - "url", - "windows", - "zbus", -] - -[[package]] -name = "tauri-plugin-process" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d55511a7bf6cd70c8767b02c97bf8134fa434daf3926cfc1be0a0f94132d165a" -dependencies = [ - "tauri", - "tauri-plugin", -] - -[[package]] -name = "tauri-plugin-single-instance" -version = "2.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acba6b5ca527a96cdfcc96ae09b09ccb91ddff5e33978ca6873b96ea16bb404c" -dependencies = [ - "serde", - "serde_json", - "tauri", - "thiserror 2.0.18", - "tracing", - "windows-sys 0.60.2", - "zbus", -] - -[[package]] -name = "tauri-plugin-updater" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27cbc31740f4d507712550694749572ec0e43bdd66992db7599b89fbfd6b167b" -dependencies = [ - "base64 0.22.1", - "dirs 6.0.0", - "flate2", - "futures-util", - "http 1.4.0", - "infer", - "log", - "minisign-verify", - "osakit", - "percent-encoding", - "reqwest 0.12.28", - "semver", - "serde", - "serde_json", - "tar", - "tauri", - "tauri-plugin", - "tempfile", - "thiserror 2.0.18", - "time", - "tokio", - "url", - "windows-sys 0.60.2", - "zip", -] - -[[package]] -name = "tauri-plugin-window-state" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73736611e14142408d15353e21e3cca2f12a3cfb523ad0ce85999b6d2ef1a704" -dependencies = [ - "bitflags 2.10.0", - "log", - "serde", - "serde_json", - "tauri", - "tauri-plugin", - "thiserror 2.0.18", -] - -[[package]] -name = "tauri-runtime" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b885ffeac82b00f1f6fd292b6e5aabfa7435d537cef57d11e38a489956535651" -dependencies = [ - "cookie", - "dpi", - "gtk", - "http 1.4.0", - "jni", - "objc2", - "objc2-ui-kit", - "objc2-web-kit", - "raw-window-handle", - "serde", - "serde_json", - "tauri-utils", - "thiserror 2.0.18", - "url", - "webkit2gtk", - "webview2-com", - "windows", -] - -[[package]] -name = "tauri-runtime-wry" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5204682391625e867d16584fedc83fc292fb998814c9f7918605c789cd876314" -dependencies = [ - "gtk", - "http 1.4.0", - "jni", - "log", - "objc2", - "objc2-app-kit", - "objc2-foundation", - "once_cell", - "percent-encoding", - "raw-window-handle", - "softbuffer", - "tao", - "tauri-runtime", - "tauri-utils", - "url", - "webkit2gtk", - "webview2-com", - "windows", - "wry", -] - -[[package]] -name = "tauri-utils" -version = "2.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcd169fccdff05eff2c1033210b9b94acd07a47e6fa9a3431cf09cfd4f01c87e" -dependencies = [ - "anyhow", - "brotli", - "cargo_metadata", - "ctor", - "dunce", - "glob", - "html5ever", - "http 1.4.0", - "infer", - "json-patch", - "kuchikiki", - "log", - "memchr", - "phf 0.11.3", - "proc-macro2", - "quote", - "regex", - "schemars 0.8.22", - "semver", - "serde", - "serde-untagged", - "serde_json", - "serde_with", - "swift-rs", - "thiserror 2.0.18", - "toml 0.9.11+spec-1.1.0", - "url", - "urlpattern", - "uuid", - "walkdir", -] - -[[package]] -name = "tauri-winres" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1087b111fe2b005e42dbdc1990fc18593234238d47453b0c99b7de1c9ab2c1e0" -dependencies = [ - "dunce", - "embed-resource", - "toml 0.9.11+spec-1.1.0", -] - -[[package]] -name = "tauri-winrt-notification" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b1e66e07de489fe43a46678dd0b8df65e0c973909df1b60ba33874e297ba9b9" -dependencies = [ - "quick-xml 0.37.5", - "thiserror 2.0.18", - "windows", - "windows-version", -] - -[[package]] -name = "tempfile" -version = "3.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" -dependencies = [ - "fastrand", - "getrandom 0.3.4", - "once_cell", - "rustix", - "windows-sys 0.61.2", -] - -[[package]] -name = "tendril" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" -dependencies = [ - "futf", - "mac", - "utf-8", -] - -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl 1.0.69", -] - -[[package]] -name = "thiserror" -version = "2.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" -dependencies = [ - "thiserror-impl 2.0.18", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "thread_local" -version = "1.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "tiff" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af9605de7fee8d9551863fd692cce7637f548dbd9db9180fcc07ccc6d26c336f" -dependencies = [ - "fax", - "flate2", - "half", - "quick-error", - "weezl", - "zune-jpeg", -] - -[[package]] -name = "time" -version = "0.3.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9e442fc33d7fdb45aa9bfeb312c095964abdf596f7567261062b2a7107aaabd" -dependencies = [ - "deranged", - "itoa", - "num-conv", - "powerfmt", - "serde_core", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b36ee98fd31ec7426d599183e8fe26932a8dc1fb76ddb6214d05493377d34ca" - -[[package]] -name = "time-macros" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e552d1249bf61ac2a52db88179fd0673def1e1ad8243a00d9ec9ed71fee3dd" -dependencies = [ - "num-conv", - "time-core", -] - -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - -[[package]] -name = "tiny_http" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389915df6413a2e74fb181895f933386023c71110878cd0825588928e64cdc82" -dependencies = [ - "ascii", - "chunked_transfer", - "httpdate", - "log", -] - -[[package]] -name = "tinystr" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" -dependencies = [ - "displaydoc", - "zerovec", -] - -[[package]] -name = "tinyvec" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.49.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" -dependencies = [ - "bytes", - "libc", - "mio", - "pin-project-lite", - "socket2 0.6.2", - "tokio-macros", - "windows-sys 0.61.2", -] - -[[package]] -name = "tokio-macros" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "tokio-rustls" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" -dependencies = [ - "rustls 0.21.12", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" -dependencies = [ - "rustls 0.23.36", - "tokio", -] - -[[package]] -name = "tokio-stream" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", - "tokio-util", -] - -[[package]] -name = "tokio-util" -version = "0.7.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "toml" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" -dependencies = [ - "serde", - "serde_spanned 0.6.9", - "toml_datetime 0.6.3", - "toml_edit 0.20.2", -] - -[[package]] -name = "toml" -version = "0.9.11+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3afc9a848309fe1aaffaed6e1546a7a14de1f935dc9d89d32afd9a44bab7c46" -dependencies = [ - "indexmap 2.13.0", - "serde_core", - "serde_spanned 1.0.4", - "toml_datetime 0.7.5+spec-1.1.0", - "toml_parser", - "toml_writer", - "winnow 0.7.14", -] - -[[package]] -name = "toml_datetime" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_datetime" -version = "0.7.5+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" -dependencies = [ - "serde_core", -] - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.13.0", - "toml_datetime 0.6.3", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" -dependencies = [ - "indexmap 2.13.0", - "serde", - "serde_spanned 0.6.9", - "toml_datetime 0.6.3", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.23.10+spec-1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" -dependencies = [ - "indexmap 2.13.0", - "toml_datetime 0.7.5+spec-1.1.0", - "toml_parser", - "winnow 0.7.14", -] - -[[package]] -name = "toml_parser" -version = "1.0.6+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" -dependencies = [ - "winnow 0.7.14", -] - -[[package]] -name = "toml_writer" -version = "1.0.6+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" - -[[package]] -name = "tower" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" -dependencies = [ - "futures-core", - "futures-util", - "pin-project-lite", - "sync_wrapper 1.0.2", - "tokio", - "tower-layer", - "tower-service", -] - -[[package]] -name = "tower-http" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" -dependencies = [ - "bitflags 2.10.0", - "bytes", - "futures-util", - "http 1.4.0", - "http-body 1.0.1", - "iri-string", - "pin-project-lite", - "tower", - "tower-layer", - "tower-service", -] - -[[package]] -name = "tower-layer" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" - -[[package]] -name = "tower-service" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" - -[[package]] -name = "tracing" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" -dependencies = [ - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "tracing-core" -version = "0.1.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" -dependencies = [ - "once_cell", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e" -dependencies = [ - "nu-ansi-term", - "sharded-slab", - "thread_local", - "tracing-core", -] - -[[package]] -name = "tray-icon" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e85aa143ceb072062fc4d6356c1b520a51d636e7bc8e77ec94be3608e5e80c" -dependencies = [ - "crossbeam-channel", - "dirs 6.0.0", - "libappindicator", - "muda", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-core-graphics", - "objc2-foundation", - "once_cell", - "png 0.17.16", - "serde", - "thiserror 2.0.18", - "windows-sys 0.60.2", -] - -[[package]] -name = "tree_magic_mini" -version = "3.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8765b90061cba6c22b5831f675da109ae5561588290f9fa2317adab2714d5a6" -dependencies = [ - "memchr", - "nom", - "petgraph", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "typeid" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" - -[[package]] -name = "typenum" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" - -[[package]] -name = "typewit" -version = "1.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8c1ae7cc0fdb8b842d65d127cb981574b0d2b249b74d1c7a2986863dc134f71" -dependencies = [ - "typewit_proc_macros", -] - -[[package]] -name = "typewit_proc_macros" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36a83ea2b3c704935a01b4642946aadd445cea40b10935e3f8bd8052b8193d6" - -[[package]] -name = "uds_windows" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" -dependencies = [ - "memoffset", - "tempfile", - "winapi", -] - -[[package]] -name = "ulid" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "470dbf6591da1b39d43c14523b2b469c86879a53e8b758c8e090a470fe7b1fbe" -dependencies = [ - "rand 0.9.2", - "web-time", -] - -[[package]] -name = "unic-char-property" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" -dependencies = [ - "unic-char-range", -] - -[[package]] -name = "unic-char-range" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" - -[[package]] -name = "unic-common" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" - -[[package]] -name = "unic-ucd-ident" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e230a37c0381caa9219d67cf063aa3a375ffed5bf541a452db16e744bdab6987" -dependencies = [ - "unic-char-property", - "unic-char-range", - "unic-ucd-version", -] - -[[package]] -name = "unic-ucd-version" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" -dependencies = [ - "unic-common", -] - -[[package]] -name = "unicode-ident" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" - -[[package]] -name = "unicode-segmentation" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" - -[[package]] -name = "universal-hash" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" -dependencies = [ - "crypto-common", - "subtle", -] - -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - -[[package]] -name = "url" -version = "2.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", - "serde", - "serde_derive", -] - -[[package]] -name = "urlencoding" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" - -[[package]] -name = "urlpattern" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70acd30e3aa1450bc2eece896ce2ad0d178e9c079493819301573dae3c37ba6d" -dependencies = [ - "regex", - "serde", - "unic-ucd-ident", - "url", -] - -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - -[[package]] -name = "utf8_iter" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" - -[[package]] -name = "uuid" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" -dependencies = [ - "getrandom 0.3.4", - "js-sys", - "serde_core", - "wasm-bindgen", -] - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version-compare" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "vodozemac" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051d4af70b53b42adf2aac459a305851b8d754f210aaf11ab509e1065beff422" -dependencies = [ - "aes", - "arrayvec", - "base64 0.22.1", - "base64ct", - "cbc", - "chacha20poly1305", - "curve25519-dalek", - "ed25519-dalek", - "getrandom 0.2.17", - "hkdf", - "hmac", - "matrix-pickle", - "pkcs7", - "prost", - "rand 0.8.5", - "serde", - "serde_bytes", - "serde_json", - "sha2", - "subtle", - "thiserror 1.0.69", - "x25519-dalek", - "zeroize", -] - -[[package]] -name = "vswhom" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" -dependencies = [ - "libc", - "vswhom-sys", -] - -[[package]] -name = "vswhom-sys" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb067e4cbd1ff067d1df46c9194b5de0e98efd2810bbc95c5d5e5f25a3231150" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - -[[package]] -name = "wasi" -version = "0.11.1+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" - -[[package]] -name = "wasip2" -version = "1.0.2+wasi-0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" -dependencies = [ - "wit-bindgen", -] - -[[package]] -name = "wasm-bindgen" -version = "0.2.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" -dependencies = [ - "cfg-if", - "once_cell", - "rustversion", - "wasm-bindgen-macro", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f" -dependencies = [ - "cfg-if", - "futures-util", - "js-sys", - "once_cell", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" -dependencies = [ - "bumpalo", - "proc-macro2", - "quote", - "syn 2.0.114", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "wasm-streams" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "wasm-streams" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1ec4f6517c9e11ae630e200b2b65d193279042e28edd4a2cda233e46670bbb" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "wayland-backend" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fee64194ccd96bf648f42a65a7e589547096dfa702f7cadef84347b66ad164f9" -dependencies = [ - "cc", - "downcast-rs", - "rustix", - "smallvec", - "wayland-sys", -] - -[[package]] -name = "wayland-client" -version = "0.31.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e6faa537fbb6c186cb9f1d41f2f811a4120d1b57ec61f50da451a0c5122bec" -dependencies = [ - "bitflags 2.10.0", - "rustix", - "wayland-backend", - "wayland-scanner", -] - -[[package]] -name = "wayland-protocols" -version = "0.32.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baeda9ffbcfc8cd6ddaade385eaf2393bd2115a69523c735f12242353c3df4f3" -dependencies = [ - "bitflags 2.10.0", - "wayland-backend", - "wayland-client", - "wayland-scanner", -] - -[[package]] -name = "wayland-protocols-wlr" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9597cdf02cf0c34cd5823786dce6b5ae8598f05c2daf5621b6e178d4f7345f3" -dependencies = [ - "bitflags 2.10.0", - "wayland-backend", - "wayland-client", - "wayland-protocols", - "wayland-scanner", -] - -[[package]] -name = "wayland-scanner" -version = "0.31.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5423e94b6a63e68e439803a3e153a9252d5ead12fd853334e2ad33997e3889e3" -dependencies = [ - "proc-macro2", - "quick-xml 0.38.4", - "quote", -] - -[[package]] -name = "wayland-sys" -version = "0.31.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e6dbfc3ac5ef974c92a2235805cc0114033018ae1290a72e474aa8b28cbbdfd" -dependencies = [ - "pkg-config", -] - -[[package]] -name = "web-sys" -version = "0.3.85" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "web-time" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webkit2gtk" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1027150013530fb2eaf806408df88461ae4815a45c541c8975e61d6f2fc4793" -dependencies = [ - "bitflags 1.3.2", - "cairo-rs", - "gdk", - "gdk-sys", - "gio", - "gio-sys", - "glib", - "glib-sys", - "gobject-sys", - "gtk", - "gtk-sys", - "javascriptcore-rs", - "libc", - "once_cell", - "soup3", - "webkit2gtk-sys", -] - -[[package]] -name = "webkit2gtk-sys" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "916a5f65c2ef0dfe12fff695960a2ec3d4565359fdbb2e9943c974e06c734ea5" -dependencies = [ - "bitflags 1.3.2", - "cairo-sys-rs", - "gdk-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "gtk-sys", - "javascriptcore-rs-sys", - "libc", - "pkg-config", - "soup3-sys", - "system-deps", -] - -[[package]] -name = "webpki-roots" -version = "0.25.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" - -[[package]] -name = "webpki-roots" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12bed680863276c63889429bfd6cab3b99943659923822de1c8a39c49e4d722c" -dependencies = [ - "rustls-pki-types", -] - -[[package]] -name = "webview2-com" -version = "0.38.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7130243a7a5b33c54a444e54842e6a9e133de08b5ad7b5861cd8ed9a6a5bc96a" -dependencies = [ - "webview2-com-macros", - "webview2-com-sys", - "windows", - "windows-core 0.61.2", - "windows-implement", - "windows-interface", -] - -[[package]] -name = "webview2-com-macros" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a921c1b6914c367b2b823cd4cde6f96beec77d30a939c8199bb377cf9b9b54" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "webview2-com-sys" -version = "0.38.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "381336cfffd772377d291702245447a5251a2ffa5bad679c99e61bc48bacbf9c" -dependencies = [ - "thiserror 2.0.18", - "windows", - "windows-core 0.61.2", -] - -[[package]] -name = "weezl" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" - -[[package]] -name = "wildmatch" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29333c3ea1ba8b17211763463ff24ee84e41c78224c16b001cd907e663a38c68" - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" -dependencies = [ - "windows-sys 0.48.0", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "window-vibrancy" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9bec5a31f3f9362f2258fd0e9c9dd61a9ca432e7306cc78c444258f0dce9a9c" -dependencies = [ - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", - "raw-window-handle", - "windows-sys 0.59.0", - "windows-version", -] - -[[package]] -name = "windows" -version = "0.61.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" -dependencies = [ - "windows-collections", - "windows-core 0.61.2", - "windows-future", - "windows-link 0.1.3", - "windows-numerics", -] - -[[package]] -name = "windows-collections" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" -dependencies = [ - "windows-core 0.61.2", -] - -[[package]] -name = "windows-core" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-link 0.1.3", - "windows-result 0.3.4", - "windows-strings 0.4.2", -] - -[[package]] -name = "windows-core" -version = "0.62.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-link 0.2.1", - "windows-result 0.4.1", - "windows-strings 0.5.1", -] - -[[package]] -name = "windows-future" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" -dependencies = [ - "windows-core 0.61.2", - "windows-link 0.1.3", - "windows-threading", -] - -[[package]] -name = "windows-implement" -version = "0.60.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "windows-interface" -version = "0.59.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "windows-link" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" - -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-numerics" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" -dependencies = [ - "windows-core 0.61.2", - "windows-link 0.1.3", -] - -[[package]] -name = "windows-registry" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" -dependencies = [ - "windows-link 0.1.3", - "windows-result 0.3.4", - "windows-strings 0.4.2", -] - -[[package]] -name = "windows-result" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" -dependencies = [ - "windows-link 0.1.3", -] - -[[package]] -name = "windows-result" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" -dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows-strings" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" -dependencies = [ - "windows-link 0.1.3", -] - -[[package]] -name = "windows-strings" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" -dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.60.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" -dependencies = [ - "windows-targets 0.53.5", -] - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm 0.52.6", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.53.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" -dependencies = [ - "windows-link 0.2.1", - "windows_aarch64_gnullvm 0.53.1", - "windows_aarch64_msvc 0.53.1", - "windows_i686_gnu 0.53.1", - "windows_i686_gnullvm 0.53.1", - "windows_i686_msvc 0.53.1", - "windows_x86_64_gnu 0.53.1", - "windows_x86_64_gnullvm 0.53.1", - "windows_x86_64_msvc 0.53.1", -] - -[[package]] -name = "windows-threading" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" -dependencies = [ - "windows-link 0.1.3", -] - -[[package]] -name = "windows-version" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4060a1da109b9d0326b7262c8e12c84df67cc0dbc9e33cf49e01ccc2eb63631" -dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnu" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_i686_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" - -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - -[[package]] -name = "winnow" -version = "0.7.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" -dependencies = [ - "winapi", -] - -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "winreg" -version = "0.55.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97" -dependencies = [ - "cfg-if", - "windows-sys 0.59.0", -] - -[[package]] -name = "wit-bindgen" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" - -[[package]] -name = "wl-clipboard-rs" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9651471a32e87d96ef3a127715382b2d11cc7c8bb9822ded8a7cc94072eb0a3" -dependencies = [ - "libc", - "log", - "os_pipe", - "rustix", - "thiserror 2.0.18", - "tree_magic_mini", - "wayland-backend", - "wayland-client", - "wayland-protocols", - "wayland-protocols-wlr", -] - -[[package]] -name = "writeable" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" - -[[package]] -name = "wry" -version = "0.54.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb26159b420aa77684589a744ae9a9461a95395b848764ad12290a14d960a11a" -dependencies = [ - "base64 0.22.1", - "block2", - "cookie", - "crossbeam-channel", - "dirs 6.0.0", - "dpi", - "dunce", - "gdkx11", - "gtk", - "html5ever", - "http 1.4.0", - "javascriptcore-rs", - "jni", - "kuchikiki", - "libc", - "ndk", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", - "objc2-ui-kit", - "objc2-web-kit", - "once_cell", - "percent-encoding", - "raw-window-handle", - "sha2", - "soup3", - "tao-macros", - "thiserror 2.0.18", - "url", - "webkit2gtk", - "webkit2gtk-sys", - "webview2-com", - "windows", - "windows-core 0.61.2", - "windows-version", - "x11-dl", -] - -[[package]] -name = "x11" -version = "2.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" -dependencies = [ - "libc", - "pkg-config", -] - -[[package]] -name = "x11-dl" -version = "2.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" -dependencies = [ - "libc", - "once_cell", - "pkg-config", -] - -[[package]] -name = "x11rb" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414" -dependencies = [ - "gethostname", - "rustix", - "x11rb-protocol", -] - -[[package]] -name = "x11rb-protocol" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd" - -[[package]] -name = "x25519-dalek" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" -dependencies = [ - "curve25519-dalek", - "rand_core 0.6.4", - "serde", - "zeroize", -] - -[[package]] -name = "x509-cert" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1301e935010a701ae5f8655edc0ad17c44bad3ac5ce8c39185f75453b720ae94" -dependencies = [ - "const-oid", - "der", - "spki", -] - -[[package]] -name = "xattr" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" -dependencies = [ - "libc", - "rustix", -] - -[[package]] -name = "yoke" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" -dependencies = [ - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", - "synstructure", -] - -[[package]] -name = "zbus" -version = "5.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfeff997a0aaa3eb20c4652baf788d2dfa6d2839a0ead0b3ff69ce2f9c4bdd1" -dependencies = [ - "async-broadcast", - "async-executor", - "async-io", - "async-lock", - "async-process", - "async-recursion", - "async-task", - "async-trait", - "blocking", - "enumflags2", - "event-listener 5.4.1", - "futures-core", - "futures-lite", - "hex", - "libc", - "ordered-stream", - "rustix", - "serde", - "serde_repr", - "tracing", - "uds_windows", - "uuid", - "windows-sys 0.61.2", - "winnow 0.7.14", - "zbus_macros", - "zbus_names", - "zvariant", -] - -[[package]] -name = "zbus_macros" -version = "5.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bbd5a90dbe8feee5b13def448427ae314ccd26a49cac47905cafefb9ff846f1" -dependencies = [ - "proc-macro-crate 3.4.0", - "proc-macro2", - "quote", - "syn 2.0.114", - "zbus_names", - "zvariant", - "zvariant_utils", -] - -[[package]] -name = "zbus_names" -version = "4.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffd8af6d5b78619bab301ff3c560a5bd22426150253db278f164d6cf3b72c50f" -dependencies = [ - "serde", - "winnow 0.7.14", - "zvariant", -] - -[[package]] -name = "zerocopy" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -dependencies = [ - "byteorder", - "zerocopy-derive 0.7.35", -] - -[[package]] -name = "zerocopy" -version = "0.8.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd" -dependencies = [ - "zerocopy-derive 0.8.33", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "zerocopy-derive" -version = "0.8.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "zerofrom" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", - "synstructure", -] - -[[package]] -name = "zeroize" -version = "1.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "zerotrie" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", -] - -[[package]] -name = "zerovec" -version = "0.11.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "zip" -version = "4.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caa8cd6af31c3b31c6631b8f483848b91589021b28fffe50adada48d4f4d2ed1" -dependencies = [ - "arbitrary", - "crc32fast", - "indexmap 2.13.0", - "memchr", -] - -[[package]] -name = "zmij" -version = "1.0.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfcd145825aace48cff44a8844de64bf75feec3080e0aa5cdbde72961ae51a65" - -[[package]] -name = "zune-core" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" - -[[package]] -name = "zune-jpeg" -version = "0.4.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713" -dependencies = [ - "zune-core", -] - -[[package]] -name = "zvariant" -version = "5.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b64ef4f40c7951337ddc7023dd03528a57a3ce3408ee9da5e948bd29b232c4" -dependencies = [ - "endi", - "enumflags2", - "serde", - "winnow 0.7.14", - "zvariant_derive", - "zvariant_utils", -] - -[[package]] -name = "zvariant_derive" -version = "5.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "484d5d975eb7afb52cc6b929c13d3719a20ad650fea4120e6310de3fc55e415c" -dependencies = [ - "proc-macro-crate 3.4.0", - "proc-macro2", - "quote", - "syn 2.0.114", - "zvariant_utils", -] - -[[package]] -name = "zvariant_utils" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f75c23a64ef8f40f13a6989991e643554d9bef1d682a281160cf0c1bc389c5e9" -dependencies = [ - "proc-macro2", - "quote", - "serde", - "syn 2.0.114", - "winnow 0.7.14", -] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml deleted file mode 100644 index 1d507c0..0000000 --- a/src-tauri/Cargo.toml +++ /dev/null @@ -1,59 +0,0 @@ -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[package] -name = "paarrot" -version = "4.10.2" -description = "Yet another matrix client" -authors = ["Ajay Bura"] -license = "AGPL-3.0-only" -repository = "https://github.com/cinnyapp/cinny-desktop" -default-run = "paarrot" -edition = "2021" -rust-version = "1.70" - -[lib] -name = "paarrot_lib" -crate-type = ["staticlib", "cdylib", "lib"] - -[build-dependencies] -tauri-build = { version = "2", features = [] } - -[dependencies] -serde_json = "1.0" -serde = { version = "1.0", features = ["derive"] } -tauri = { version = "2", features = ["devtools", "tray-icon", "image-png"] } -tauri-plugin-opener = "2" -tauri-plugin-notification = "2" -log = "0.4" -tauri-plugin-http = "2" - -[target."cfg(target_os = \"linux\")".dependencies] -arboard = { version = "3", features = ["wayland-data-control"] } -png = "0.17" -base64 = "0.22" -webkit2gtk = "2.0" -gtk = "0.18" - -[target."cfg(any(target_os = \"android\", target_os = \"ios\"))".dependencies] -tauri-plugin-deep-link = "2" - -# Matrix SDK for native background sync (no sqlite on mobile - use in-memory store) -matrix-sdk = { version = "0.7", default-features = false, features = ["rustls-tls", "e2e-encryption"] } -tokio = { version = "1", features = ["rt-multi-thread", "sync", "time"] } - -[target."cfg(not(any(target_os = \"android\", target_os = \"ios\")))".dependencies] -tauri-plugin-localhost = "2" -tauri-plugin-window-state = "2" -tauri-plugin-single-instance = "2" -tauri-plugin-updater = "2" -tauri-plugin-autostart = "2" -tauri-plugin-dialog = "2" -tauri-plugin-process = "2" -open = "5" - -[features] -default = ["custom-protocol"] -custom-protocol = ["tauri/custom-protocol"] - -[dependencies.ppv-lite86] -version = "=0.2.20" diff --git a/src-tauri/build.rs b/src-tauri/build.rs deleted file mode 100644 index 795b9b7..0000000 --- a/src-tauri/build.rs +++ /dev/null @@ -1,3 +0,0 @@ -fn main() { - tauri_build::build() -} diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json deleted file mode 100644 index 626660c..0000000 --- a/src-tauri/capabilities/default.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "$schema": "../gen/schemas/desktop-schema.json", - "identifier": "default", - "description": "Default capability for all windows", - "windows": ["*"], - "platforms": ["linux", "windows", "macOS"], - "permissions": [ - "core:default", - "core:webview:allow-internal-toggle-devtools", - "opener:default", - "opener:allow-open-url", - "opener:allow-default-urls", - "notification:default", - "notification:allow-register-listener", - "autostart:default", - "updater:default", - "updater:allow-check", - "updater:allow-download", - "updater:allow-download-and-install", - "dialog:default", - "process:allow-restart", - { - "identifier": "http:default", - "allow": [ - { "url": "https://api.telegram.org/**" } - ] - } - ] -} diff --git a/src-tauri/capabilities/mobile.json b/src-tauri/capabilities/mobile.json deleted file mode 100644 index e4047c5..0000000 --- a/src-tauri/capabilities/mobile.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$schema": "../gen/schemas/mobile-schema.json", - "identifier": "mobile", - "description": "Default capability for mobile", - "windows": ["*"], - "platforms": ["android", "iOS"], - "permissions": [ - "core:default", - "notification:default", - "deep-link:default", - "opener:default" - ] -} diff --git a/src-tauri/gen/android/.editorconfig b/src-tauri/gen/android/.editorconfig deleted file mode 100644 index ebe51d3..0000000 --- a/src-tauri/gen/android/.editorconfig +++ /dev/null @@ -1,12 +0,0 @@ -# EditorConfig is awesome: https://EditorConfig.org - -# top-most EditorConfig file -root = true - -[*] -indent_style = space -indent_size = 2 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = false -insert_final_newline = false \ No newline at end of file diff --git a/src-tauri/gen/android/.gitignore b/src-tauri/gen/android/.gitignore deleted file mode 100644 index b248203..0000000 --- a/src-tauri/gen/android/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -*.iml -.gradle -/local.properties -/.idea/caches -/.idea/libraries -/.idea/modules.xml -/.idea/workspace.xml -/.idea/navEditor.xml -/.idea/assetWizardSettings.xml -.DS_Store -build -/captures -.externalNativeBuild -.cxx -local.properties -key.properties - -/.tauri -/tauri.settings.gradle \ No newline at end of file diff --git a/src-tauri/gen/android/app/.gitignore b/src-tauri/gen/android/app/.gitignore deleted file mode 100644 index 79951c8..0000000 --- a/src-tauri/gen/android/app/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/src/main/java/wtf/ruv/paarrot/generated -/src/main/jniLibs/**/*.so -/src/main/assets/tauri.conf.json -/tauri.build.gradle.kts -/proguard-tauri.pro -/tauri.properties \ No newline at end of file diff --git a/src-tauri/gen/android/app/build.gradle.kts b/src-tauri/gen/android/app/build.gradle.kts deleted file mode 100644 index a0e1a82..0000000 --- a/src-tauri/gen/android/app/build.gradle.kts +++ /dev/null @@ -1,73 +0,0 @@ -import java.util.Properties - -plugins { - id("com.android.application") - id("org.jetbrains.kotlin.android") - id("rust") -} - -val tauriProperties = Properties().apply { - val propFile = file("tauri.properties") - if (propFile.exists()) { - propFile.inputStream().use { load(it) } - } -} - -android { - compileSdk = 36 - namespace = "wtf.ruv.paarrot" - defaultConfig { - manifestPlaceholders["usesCleartextTraffic"] = "false" - applicationId = "wtf.ruv.paarrot" - minSdk = 24 - targetSdk = 36 - versionCode = tauriProperties.getProperty("tauri.android.versionCode", "1").toInt() - versionName = tauriProperties.getProperty("tauri.android.versionName", "1.0") - ndk { - abiFilters += listOf("arm64-v8a") - } - } - buildTypes { - getByName("debug") { - manifestPlaceholders["usesCleartextTraffic"] = "true" - isDebuggable = true - isJniDebuggable = true - isMinifyEnabled = false - packaging { jniLibs.keepDebugSymbols.add("*/arm64-v8a/*.so") - jniLibs.keepDebugSymbols.add("*/armeabi-v7a/*.so") - jniLibs.keepDebugSymbols.add("*/x86/*.so") - jniLibs.keepDebugSymbols.add("*/x86_64/*.so") - } - } - getByName("release") { - isMinifyEnabled = true - proguardFiles( - *fileTree(".") { include("**/*.pro") } - .plus(getDefaultProguardFile("proguard-android-optimize.txt")) - .toList().toTypedArray() - ) - } - } - kotlinOptions { - jvmTarget = "1.8" - } - buildFeatures { - buildConfig = true - } -} - -rust { - rootDirRel = "../../../" -} - -dependencies { - implementation("androidx.webkit:webkit:1.14.0") - implementation("androidx.appcompat:appcompat:1.7.1") - implementation("androidx.activity:activity-ktx:1.10.1") - implementation("com.google.android.material:material:1.12.0") - testImplementation("junit:junit:4.13.2") - androidTestImplementation("androidx.test.ext:junit:1.1.4") - androidTestImplementation("androidx.test.espresso:espresso-core:3.5.0") -} - -apply(from = "tauri.build.gradle.kts") \ No newline at end of file diff --git a/src-tauri/gen/android/app/proguard-rules.pro b/src-tauri/gen/android/app/proguard-rules.pro deleted file mode 100644 index 481bb43..0000000 --- a/src-tauri/gen/android/app/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/src-tauri/gen/android/app/src/main/AndroidManifest.xml b/src-tauri/gen/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index 8b664db..0000000 --- a/src-tauri/gen/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src-tauri/gen/android/app/src/main/java/wtf/ruv/paarrot/BootReceiver.kt b/src-tauri/gen/android/app/src/main/java/wtf/ruv/paarrot/BootReceiver.kt deleted file mode 100644 index d287440..0000000 --- a/src-tauri/gen/android/app/src/main/java/wtf/ruv/paarrot/BootReceiver.kt +++ /dev/null @@ -1,22 +0,0 @@ -package wtf.ruv.paarrot - -import android.content.BroadcastReceiver -import android.content.Context -import android.content.Intent -import android.os.Build - -/** - * Receives BOOT_COMPLETED broadcast to restart the sync service after device reboot. - */ -class BootReceiver : BroadcastReceiver() { - override fun onReceive(context: Context, intent: Intent) { - if (intent.action == Intent.ACTION_BOOT_COMPLETED) { - val serviceIntent = Intent(context, SyncService::class.java) - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - context.startForegroundService(serviceIntent) - } else { - context.startService(serviceIntent) - } - } - } -} diff --git a/src-tauri/gen/android/app/src/main/java/wtf/ruv/paarrot/MainActivity.kt b/src-tauri/gen/android/app/src/main/java/wtf/ruv/paarrot/MainActivity.kt deleted file mode 100644 index 9ee7c6d..0000000 --- a/src-tauri/gen/android/app/src/main/java/wtf/ruv/paarrot/MainActivity.kt +++ /dev/null @@ -1,73 +0,0 @@ -package wtf.ruv.paarrot - -import android.content.Intent -import android.net.Uri -import android.os.Build -import android.os.Bundle -import android.os.PowerManager -import android.provider.Settings -import android.util.Log -import androidx.activity.enableEdgeToEdge - -class MainActivity : TauriActivity() { - companion object { - private const val TAG = "PaarrotMain" - } - - override fun onCreate(savedInstanceState: Bundle?) { - enableEdgeToEdge() - super.onCreate(savedInstanceState) - - // Start the foreground sync service to keep the app alive for notifications - startSyncService() - - // Request battery optimization exemption for reliable background operation - requestBatteryOptimizationExemption() - } - - override fun onResume() { - super.onResume() - // Ensure service is running when app comes to foreground - startSyncService() - } - - private fun startSyncService() { - try { - val serviceIntent = Intent(this, SyncService::class.java) - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - startForegroundService(serviceIntent) - } else { - startService(serviceIntent) - } - Log.d(TAG, "SyncService started") - } catch (e: Exception) { - Log.e(TAG, "Failed to start SyncService", e) - } - } - - private fun requestBatteryOptimizationExemption() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - val powerManager = getSystemService(POWER_SERVICE) as PowerManager - if (!powerManager.isIgnoringBatteryOptimizations(packageName)) { - Log.d(TAG, "Requesting battery optimization exemption") - try { - val intent = Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS).apply { - data = Uri.parse("package:$packageName") - } - startActivity(intent) - } catch (e: Exception) { - Log.e(TAG, "Failed to request battery optimization exemption", e) - // Try opening battery settings instead - try { - val settingsIntent = Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS) - startActivity(settingsIntent) - } catch (e2: Exception) { - Log.e(TAG, "Failed to open battery settings", e2) - } - } - } else { - Log.d(TAG, "Already exempt from battery optimization") - } - } - } -} diff --git a/src-tauri/gen/android/app/src/main/java/wtf/ruv/paarrot/SyncService.kt b/src-tauri/gen/android/app/src/main/java/wtf/ruv/paarrot/SyncService.kt deleted file mode 100644 index e9a550b..0000000 --- a/src-tauri/gen/android/app/src/main/java/wtf/ruv/paarrot/SyncService.kt +++ /dev/null @@ -1,278 +0,0 @@ -package wtf.ruv.paarrot - -import android.app.AlarmManager -import android.app.NotificationChannel -import android.app.NotificationManager -import android.app.PendingIntent -import android.app.Service -import android.content.Context -import android.content.Intent -import android.net.Uri -import android.os.Build -import android.os.Handler -import android.os.IBinder -import android.os.Looper -import android.os.PowerManager -import android.os.SystemClock -import android.provider.Settings -import android.util.Log -import androidx.core.app.NotificationCompat - -/** - * Foreground service that keeps the app alive for background sync. - * This allows Matrix sync to continue even when the app is in the background. - */ -class SyncService : Service() { - companion object { - private const val TAG = "PaarrotSync" - private const val NOTIFICATION_ID = 1 - private const val CHANNEL_ID = "paarrot_sync_channel" - private const val CHANNEL_NAME = "Background Sync" - private const val WAKE_LOCK_TAG = "Paarrot:SyncWakeLock" - private const val ALARM_REQUEST_CODE = 1001 - private const val KEEP_ALIVE_INTERVAL_MS = 4 * 60 * 1000L // 4 minutes (before 5 min Doze threshold) - private const val WAKE_LOCK_TIMEOUT_MS = 10 * 60 * 1000L // 10 minutes max wake lock - } - - private var wakeLock: PowerManager.WakeLock? = null - private val handler = Handler(Looper.getMainLooper()) - private var isRunning = false - - private val keepAliveRunnable = object : Runnable { - override fun run() { - if (!isRunning) return - Log.d(TAG, "Keep-alive tick - refreshing wake lock") - ensureWakeLock() - refreshNotification() - handler.postDelayed(this, KEEP_ALIVE_INTERVAL_MS) - } - } - - override fun onBind(intent: Intent?): IBinder? = null - - override fun onCreate() { - super.onCreate() - Log.d(TAG, "SyncService created") - isRunning = true - createNotificationChannel() - acquireWakeLock() - scheduleKeepAlive() - requestBatteryOptimizationExemption() - } - - override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { - Log.d(TAG, "SyncService onStartCommand") - startForeground(NOTIFICATION_ID, createNotification()) - ensureWakeLock() - // Return REDELIVER_INTENT so the system restarts us with the last intent - return START_REDELIVER_INTENT - } - - override fun onDestroy() { - Log.d(TAG, "SyncService being destroyed - scheduling restart") - isRunning = false - handler.removeCallbacks(keepAliveRunnable) - - // Schedule immediate restart - scheduleRestart() - - releaseWakeLock() - super.onDestroy() - } - - override fun onTaskRemoved(rootIntent: Intent?) { - Log.d(TAG, "Task removed - scheduling restart") - scheduleRestart() - super.onTaskRemoved(rootIntent) - } - - override fun onLowMemory() { - Log.w(TAG, "Low memory warning") - super.onLowMemory() - } - - override fun onTrimMemory(level: Int) { - Log.d(TAG, "Trim memory level: $level") - super.onTrimMemory(level) - } - - private fun scheduleRestart() { - // Try to restart the service immediately - val restartIntent = Intent(applicationContext, SyncService::class.java) - restartIntent.setPackage(packageName) - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - try { - startForegroundService(restartIntent) - } catch (e: Exception) { - Log.e(TAG, "Failed to restart service directly", e) - // Fall back to alarm - scheduleAlarmRestart() - } - } else { - startService(restartIntent) - } - } - - private fun scheduleAlarmRestart() { - val alarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager - val intent = Intent(this, SyncService::class.java) - val pendingIntent = PendingIntent.getService( - this, - ALARM_REQUEST_CODE + 1, - intent, - PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE - ) - - // Schedule restart in 1 second - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - alarmManager.setExactAndAllowWhileIdle( - AlarmManager.ELAPSED_REALTIME_WAKEUP, - SystemClock.elapsedRealtime() + 1000, - pendingIntent - ) - } else { - alarmManager.setExact( - AlarmManager.ELAPSED_REALTIME_WAKEUP, - SystemClock.elapsedRealtime() + 1000, - pendingIntent - ) - } - } - - private fun requestBatteryOptimizationExemption() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - val powerManager = getSystemService(Context.POWER_SERVICE) as PowerManager - if (!powerManager.isIgnoringBatteryOptimizations(packageName)) { - Log.d(TAG, "Requesting battery optimization exemption") - // We can't directly request, but the app should prompt the user - // This is just a note that we need the exemption - } - } - } - - private fun createNotificationChannel() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - val channel = NotificationChannel( - CHANNEL_ID, - CHANNEL_NAME, - NotificationManager.IMPORTANCE_LOW - ).apply { - description = "Keeps Paarrot connected for message notifications" - setShowBadge(false) - enableLights(false) - enableVibration(false) - } - - val notificationManager = getSystemService(NotificationManager::class.java) - notificationManager.createNotificationChannel(channel) - } - } - - private fun createNotification(): android.app.Notification { - val pendingIntent = PendingIntent.getActivity( - this, - 0, - Intent(this, MainActivity::class.java).apply { - flags = Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP - }, - PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT - ) - - return NotificationCompat.Builder(this, CHANNEL_ID) - .setContentTitle("Paarrot") - .setContentText("Connected to Matrix") - .setSmallIcon(android.R.drawable.ic_dialog_info) - .setContentIntent(pendingIntent) - .setPriority(NotificationCompat.PRIORITY_LOW) - .setOngoing(true) - .setShowWhen(false) - .setCategory(NotificationCompat.CATEGORY_SERVICE) - .build() - } - - private fun refreshNotification() { - val notificationManager = getSystemService(NotificationManager::class.java) - notificationManager.notify(NOTIFICATION_ID, createNotification()) - } - - private fun scheduleKeepAlive() { - handler.postDelayed(keepAliveRunnable, KEEP_ALIVE_INTERVAL_MS) - scheduleAlarm() - } - - private fun scheduleAlarm() { - val alarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager - val intent = Intent(this, SyncService::class.java) - val pendingIntent = PendingIntent.getService( - this, - ALARM_REQUEST_CODE, - intent, - PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE - ) - - // Use setExactAndAllowWhileIdle for better Doze mode support - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - alarmManager.setExactAndAllowWhileIdle( - AlarmManager.ELAPSED_REALTIME_WAKEUP, - SystemClock.elapsedRealtime() + KEEP_ALIVE_INTERVAL_MS, - pendingIntent - ) - } else { - alarmManager.setExact( - AlarmManager.ELAPSED_REALTIME_WAKEUP, - SystemClock.elapsedRealtime() + KEEP_ALIVE_INTERVAL_MS, - pendingIntent - ) - } - } - - private fun cancelAlarm() { - val alarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager - val intent = Intent(this, SyncService::class.java) - val pendingIntent = PendingIntent.getService( - this, - ALARM_REQUEST_CODE, - intent, - PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE - ) - alarmManager.cancel(pendingIntent) - } - - private fun acquireWakeLock() { - val powerManager = getSystemService(Context.POWER_SERVICE) as PowerManager - wakeLock = powerManager.newWakeLock( - PowerManager.PARTIAL_WAKE_LOCK, - WAKE_LOCK_TAG - ).apply { - // Acquire with timeout to prevent battery drain if something goes wrong - acquire(WAKE_LOCK_TIMEOUT_MS) - } - Log.d(TAG, "Wake lock acquired") - } - - private fun ensureWakeLock() { - wakeLock?.let { - if (!it.isHeld) { - Log.d(TAG, "Wake lock was released, re-acquiring") - it.acquire(WAKE_LOCK_TIMEOUT_MS) - } - } ?: run { - Log.d(TAG, "Wake lock was null, creating new one") - acquireWakeLock() - } - - // Re-schedule alarm each time we refresh - scheduleAlarm() - } - - private fun releaseWakeLock() { - wakeLock?.let { - if (it.isHeld) { - it.release() - Log.d(TAG, "Wake lock released") - } - } - wakeLock = null - } -} diff --git a/src-tauri/gen/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/src-tauri/gen/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index 2b068d1..0000000 --- a/src-tauri/gen/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/src-tauri/gen/android/app/src/main/res/drawable/ic_launcher_background.xml b/src-tauri/gen/android/app/src/main/res/drawable/ic_launcher_background.xml deleted file mode 100644 index 07d5da9..0000000 --- a/src-tauri/gen/android/app/src/main/res/drawable/ic_launcher_background.xml +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src-tauri/gen/android/app/src/main/res/layout/activity_main.xml b/src-tauri/gen/android/app/src/main/res/layout/activity_main.xml deleted file mode 100644 index 4fc2444..0000000 --- a/src-tauri/gen/android/app/src/main/res/layout/activity_main.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 522867e608868bf1184877b96a7869804120d078..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9217 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 XBGV#L4+3}100000NkvXXu0mjfN06NO diff --git a/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/src-tauri/gen/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png deleted file mode 100644 index 4768fdb0fbced2587052a8375631c8b2126d11b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18447 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

egtk?g~j1b;Mi6$w#MQ< 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 diff --git a/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/src-tauri/gen/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png deleted file mode 100644 index bf2a883cb93d61bedae28b524c640b157f734d88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4621 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 FV1l{Snm_;m diff --git a/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png deleted file mode 100644 index aa733950784e021d43a7bb1b88983cd5e1576aed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62650 zcmeFYWm8<=6D^zo!QI{6WpE!Hf(@475@c|92|lh9{@z1Hd|4K)P}R8rIrA3k6xDawLAeE2B)zm1Ie{>J23VetKd z;;i`9?ZXE&y#MWwAF_TDfA~QCK}l9x+xzEf0Ft-i{QQ~l!A7QLGrh|1O5@56KQ70m zYbjI&ATChpyA*1n6p$JLIarDsfqNo#+K+!CZo>~b%#m!>)V?;ZqHy^sz%Ea8W{Ku) z%r9soZ+EZqqJ2}b05)#pZau+iS5uW5`v2Ddg$4S$;oY6RMJZkn$VE5hhbS=L*PAD| zOISqB8_u-ox>GDW1vxqSYY{fp%L@T&sHG7;xFeHkTj(WmgxfSo`>{w^LHzzYB!Eo=RAqFYba>e%9Y5j3g9K^w8xNxyXLq zj6EJ|k&huA6$nNi&MWvGMLn(9ymp9)?9Aal4!)+8weto4b_Es!hH(=JNVP=7jum<> z^24xwK1%y`2}0unqYNo_r z`?1&9XS{TwYNB1(U9RBuHw_dCYh>PS&~H`v{)%Fp@~SM^2XDkZ#<87dv7sF&iI z{deE6xrXVxxMFy2xkvZS{sgGN)3OHk>CD3QBLKU*(g^J zjq*Xn3KUyAHEgtpdB|x)vx*J^i08;Z60!Wxbj`!HCS+G)!=Gd!iqkP+P-VZ$)UE4S z>;RV<^tR((aKpcO!tME-el~+BlS=x)(nNX3QD~JO!|Z~J|B7!gwCaFu<<@UtbxIH5 zn!lao6D`lF18{AHCXM08P3nn>m~euxT?goXFq3wEh7J3x!cP464aB#@Bkna-pCQo3 zJJPPVWbU^=8hPa<50!BW%HfKBTRdF28;(G;g+Z~c$&W}#k#A)E(9*<(#{nDMQJirpgiEVmk8S&e z;Bq4Rfsj1wUSPt%ov}+M#c;cgjQ`Rj>z;JNzlhMBycKwPNDw`=&qmsA2sqr<=iNZV>p&bZt{aiR4Dya!y)$=-J6*X2&C5ZE)w$Un&GL8gM{NNIWG)wbDT3-2A=qE9q_^N%+ zVlL5kSU-ZAlG670wf5xb=bg%t6mQpk`q7NkQIeywpXuqnC@3hW4_klkbewIlNlS{z z&PxUT*Yq$pgR=H-7HN%i#cmbk{NuJ`5MP`eQ zFx?q%2{sE|g!MzEo)heplW}e3^@7wk4HkYQmb8vpyFF6CyZs~X{We-~2^d(?D&m?6 zX9%#BEFD-oYa2rD)xQFKtDqC_zLgRGOQ;HK2Z%q5sw()86m&detI*NOo3A+QE7R`n zS%EBlJ~j*JxH>7ot6n(l9le~1xz&bRqkH}x?@`MYo@3dZB0b(E2|WYMtpefKRp*xV zRWSH14M9TT^^7GhK%fwWSvnE-!NnzCeRE~(AUm))>SF%7q7R*-Gmo)LYdDK2hb0U- zfc_YA>hoxO=2No@&YXr^%4FoyBo@r<=Scmbi1#y^&IyFarM0{^N#$W;EgJRob)b09 z&(CDk3t}2U3Om%d#f}SI-8v+BOhrD|k0B%dF)3iYW6vx4j|9CS z1d$-TSHjY=NYe)_(fA%b8cr418`nLUq~}g0JsY~Dhv2=}bKT<;+x?AdtK&2K^qMC> zeVbp+X^4LM;M$rvq^A||qZHBv@rSRT+jf+P;Qjc0+v;le;*bt@WhEu6q8FFsN=`m) zozk-U5nNiMV(%A+=x9`&qG$;iZr*`{Dl@sxAle{OpJu2C9RzkK<4jiMVK;M=uaoH~`G8qu^_?1RAH zYe(SJsdI(FL~?F_IT)o#Hjy%u+ybrq?k7s-y)Pv?MSQxu_3DZEaO27EX5xj0h1GCX zx#gJ4KPR`7lrI};giAB%D7l2jYv0F!aoyk&&%mW+2)p|7M$|^4HAhIemp!it>KZT!!q>NWE&Sn8E zl7lCr*CLUSC0kjtT1+X;qGrP0a=aZFeNWA8)ebsFEb4EdMHEyx`}3DeIij7liV6wr zle;3=a_-bRIDB#6b$kt^+>dQ7nU!tM*K{p{7Fn}8R?bQTN|(L$kApB8_kf?N1!cXd zxyd_?R3V7q1!tn*4iSTsmJa$nUcMP-4*pD#RzjdHC`m$#qs=YE zM#o3?n?J&9nqQJMWPY5sHp{*#gfk4n5?$!dF%Pp`FP(hUQaR6Xz#F zDy@rK75rYJU|u)k90z~;q!or7qoRB`Xcwqnke$mE-zC-YfU>RrgFEOqWOu10)q54M zpKc1)hLt{3qb4Dcm77b`FC@&DQ*zgQsbS)G$}^boO6{@n@Sj8b%CRu{pxe#EqJmA7 z;{)mdmti^cPy1nSn!+}GC5Us7wfLPoKv7#{Xq)aLskOB$2YFYqwx4@7Tu&Mm-WG=tS+6rnUEg;uNvH>(PjIrtG`M8 zJK5Q04lQ!9VF5~Y{rnwUy#BhIx_`+-!YbWC|0vGL_a|+a%H?`@$oPOvWcmte1@l9K+)znm7S)chVn1N<8>bsL?N#T#*YQN#iD{H@yCGO&u~d!ym{gRI>O`^ z+0##&YufS#7dYsPiS8STE{Y=}L}&_PV*%h_=!i$ImC|$ydT6VMa}r1fcJ@iD)|P6? z*DdYKf0xdpo2OF1L@OS|;O;LGQG<2AE59cSH1q4Y1)KqZp~c-5Q4vr2;C(5wA8DT% z90m*IaI<+N@%gDG02Z?41vT2rXH~I*{M_Afh=nNT;DmJtYT2}kAe$2(^6h^81902BKwIC^h`|3bSM}kWDZXtlZLR!#ZiNb*oPSGJk`3L1eDiA>lwT@SuR!&ld*i~I|#f}@7 zz{>|eW(I!M^ZJUa+~PYgWj&JLKl8ghkL@c87K&{jGTk$gM8h*8eOEP!3Tx-2W!(Q7 zC*NKP#NMr!mlYXju^|vSJ*)B)42X3$XWCYbmbNhGDMw$mc2pumodJe6we8_n*Nv`b zfdWuzl?WOY-&-wz-u|I^bFC>2{!CsLqVrm9VH6)|({rCer|3R(^t znj~%xp6=Ol8?M#x*~jQuuH>o6Z@A`O_dzcUMU&ou7*fPu=^SjNoO&`+04w5myoE;6CdHaW%hOJ|Id(YTvFdKeog zKMszACcf$`{@zW(Oga|PtU^#*@It2#SzJ|`A`dDsHn2m{vD;xUp#K^7<$h>0jhRPK zF#DGYevY|1nsu={?iqDpapTstQdz8a;J#D|z{d)`LF;zc9j2s~Yj3l>7k!V*fB{ue zZ-6-xhcRoK(_(oFg8bb0X=PctI0}C!0}+K67E@IMTz*v~Sz$G4X*rNYPBZgPb0Dg% z@ANa#lRO1({}pSM(DnNXAx#4L!HAPai+HHmsxEYuDaulhA!H2CV*QG|f$jM*%oMK$ z*rHonsSE0Kq$mtw3YUXZL(?!PQ?b7{CQc;RS1oIXW7iIDkB#!`yf3eJ5B_ywt|U{eYIIr)5p(r+=P zl4>2rEkw_2DEoXw*KmF&`VdtS4=uXtlCF{XYp~H}h2muJ@_i0>Xn{Q$*%d)^H=^iz z^vVkabd63_HnGOL;9XM<_nE2vsPvEMb|YLxImY3t@9LLFe?ttUiR^^+3(1^BfXE9o z-5?&_6@HLs`(R}wfo&*$<9_rE9O;XTaWuRU z2Jk;xy58LwBO~exypWn5Od6Ri>cKydBzjIB{+*{U&Da>#DKb7AkQv|bna7VsH)YCY zPKxjfW!K#WBo>~upNVuto`WKz&I=csk<O-O=fHp@rWaRf8=()DJcXoS~ZGjX1HzWu*@z{O5HdBP~~?( z8C@Ne>V0L=4?BP~ODb8|Q9_dv2vMWr1Mj6$CH>;9CUQA7&D~@e^3xBWDEB^RDhK)Q z7c)Bri98;aE7+X>Byr6yYyAqaYtfQjo0cjr{&jocrj)N>SFHu`_n`Iw~s?oC!a8 z4LR?!q;z=L1#hcU6~ht;XPR`d-al7idcG$1sRUbwi+RZ>h%F?-bJY7Iqly|O2wQ=uM1@){BB_>;q-8@!O!x|ri zKXmyWndXIrX&l8oRxVlk`tWN=zbyK3f&jGPX6O$xqos2!>kbXnUk)5l0(uOgzKO6< z2mcJ6nmkCg+YowQ?NLi&Zp{9o8&1C+S{QNO-3l0W+Mh`mO`cZTtGct%_bh_eRh*Gu zP{qf@RVl^Ux)Cqvx!h$I&S_h8EY_{ysbr&~p;xsHiWmg>6u+z&?m`l0V)M@rN1F+! zhndu2b&~f@05RK&v9LnU);|C^rMQ6KsSDNq0ACoDT0zBro?P~#gfz@!np|SChC@vB zaqFa6CPuO26-DH@RHjxlA+AoP%=hWhh5Q z|8|l<3eA-*3EnRteb>!T+#!3;2u9AU!A%oCbk#n`D*754nH|=X*{{SN`oI_%%l#9? zDvACE^nP}8GZNNIBT^Y^t!zjfQ%0kYeH(y!2UD& z1FGiAq^GuzRVeTNjTHN&XiVt!-CVFiId20OuQy; zzi||@k<=Fp#ZekLg%OuJAZYPn+@z$Sm zp_SE@34akTw;8Pb3R9&LA9=o%X;7W9aZk!CbPMwP{Y=h3<_v_R)p!Wp47iK^mwsR~ z7VQ^qIwgKU-%9y7$aT(>(;(p9PveK@WJtb#y^*77+?^3Gbjs#AI&fFC8mCVuGE-mT zg+nT>ywiFQxcDOKQ~v-*ylne;yZFtGDiT*tgw8nj9Xrw1PgVy)s0VSeEoju)IH058 z0qw**l_Qdr(t@H0M0$PuZIS>E@4$bgN=7antL(hwG{w&JpFIdZd2@vSk^WNWc!O}H zI!8G)!Xuy6^bnFK2TzM$Y(6-9ltVX5fw`BRaXR!G&vU_A^;Q}ytWjuy=Ugq0`8JbS z9J%mF+R+M3N(5+j)tO{Gfb*J+iXayn9lNxu%UaZ#()i~0!F>2Uw{dGVN7FA3*8Itk zPnXGXPBXb*i^Z@8{4v8hdMJZRg+@JyntrLzyAQY=kKP6f?C7X z9|rDhro^qZfIwPsRarr6geS@QJ2H5+5ETV+mNC@Xf|Up^hwHc}ZF_hzXjt;c+K6M< z+Yq_^=4~m4rqXn0Quo7gvX1V6_v8$PtHOTQ^9u8@XzsU4M|VL)kJ#kMCCKh0cHb#)c^YdyWeLTt(LoQ z1Ra}OUZ0H~$|;{Hq`{_G3iNC(1Z<{azx1LjYRx=Goj1)`RV5a1Z6wr1WM6r^-~W)Q zlv>;rj zliW@S$Mx?`_F|8nK^*(xFLJICg}w!t81mONtY+a8e=kIvK?~nL2Qp{zuaU0bzZwDB z{!!{bJg&oj&(OAZm6j$ha+v@vPV%6Sh-{^ZuyFhJB+pF?&dUXBr~ysM*C%WazpEY_ zd0k9oNG*Mbj|)otSKI#h-->ofL^!t7 z^UFhK_#^yL+$MEqqgxAw66hT`+3@u!Wy`4hk4HhHis}r7|9R*X&27$0Q4bg)ik7xk z8&*dOxQM}}mck}An3x!*HN4;_C>(cwZ;SmKP@h3)9JsH(_C_+0;4a)}1_L-Tz!thF zQ7kv%E!TP%?&se=-Slz#VU|&`s+&+-L?Ti_5Ish|bmArm7dIIHNEqPhdD?#-_{GX^^FO!%`^O?Lhvy#uyCCG)0_NjsYg!;VMtCA9~Q|@ zWFWp-Ah87R*#dl{cS>O0BVKIqz0Qo=2;4K?=1|9T^8G2$?S)hobfvp; zf9ue&Rb>Ev$rc>DdVEbXX{0z{`8xBLO?x2`NPG}q)BuLZrqQGR30Z8W=i7S?F$jhlB@R~DKGkq-e2a9sAoumb|&WA zZ?2mfhbw%Cb}iUj5I1JgS8!xz!F68l_H`^oGjmfD|&h=D5HPq zjXH@_LL68@XgXCVo8mvjl7)wNc4%_bK#OC((}nrE|HJz#GK146wyDOLI%#?M_z8St zfCX#D5>8A-nN^wEkncDXK0ZFL4I_@%5P}ttE070b^GK=}ocx%+O}oQ&@=lLHeA@He zl08+gD`aMIGso?GzIN!(ri$yjdxTH@nas$DLnaxR?7a?uJ(B12OVw#}v}6C{_Pp2Z z@Kf_lx|dUdM~#unb5GUv30^nD6xFv+!2s~`ce}H}Go!b1X zE_eDZr!daPz$!+EIV;WKu+xs;41>wgCjO;Z(U!W4@L$%(CSnz}A8+7+n^Q{h#FC4D zCRFu6IZ}rZc-bd$1xi5nQ_u+Q(1a~3uqrD`m3*ZW!A*h3)|Hm#?0y?3fK^@4(Y7x?+&?)4 z9f@7+Y#h^acfhPLq=D}Gy7$?}6?H~)dB;ARX2n^}lW|cy9ec(~HYV}y*K6dYtAiy8 z$VLq%OYOl&cy3j5s`KndY;HBAjn>lgGcM@5ck4fLTEd5~Ci0LD(d-JJ#Vs|;Q(GyF zS<=61v2SM@>ak>>8gQUziVBTP_4C1G3GP`I@uHY$loP&2UMxPKF zAmGAV(Kn5x2VRaR>ePVUx)H?Xlw@!=5I)u9)cD*<+r35$nycxG^lYHfT4Ik$If(~c zUtb)Bmh8ityd0tYQ?J2`UCuZPdK*fsKi1Vcj?7l<63iY~f=w7H1F{5yT2e8EOuJ31 zO4T)ttfiQ3;5wL7CS=_mV{N<}LyTa#WJk)UP zkFG`&fa-E)xk4L`DO6X>OhWelKXol*rtLy8V++z5GQ-*`pQG`bNad#rLOSg0=vD*d zne_CeB*E>yb&!8G?Snx9>)!O>5@UIDI42r&8Vdkuyae^Aai$v;VVy-Z$1lGn)!+@| z1sdA-M!cIMqFVOZV!S=r&jY}v2Z@spbRw#oB5Cpi(k5YhHO`NCFH7n1&FiM4l59;7 z-jlj&1`i#O7ahf+0RrA>_Jn=5z-{&kg^LOnehd~~h>lyJanm?z-$89_7Z71gscgjm zGBa}4B>g$vvE%+rF3dnqyo$m7x~F~mJ*In}N8m&*Vl9Li7;*$EeUiP;0sxOkc-Q^O zWJhHRj=(uZK_jogaguBUeFK}-HYV`5J@I~n+`=>`u0o`X&h*@XQ-Ns5!1Si-HWN}V zm5X-6zys09pv?PvIaoHAWKwzgfD|0R(BycA?9ox#!Z?3Z`JBzaK8ZEQZ=qD=&ZZQI zz%V|6YPQiS%e}4Eu=`)@4mloURQOJCEM2L6OfTf$Vz9`BRuM2T9E8X*-OP+J3#3D{ z%w1sGiFINLgOAD~YCQPvfUgyf6 zUsTp(Zb;{NL^hCUntlEt!8yN7;~RTK;NUhG+9Fy@hZkr5ORM2(_QFD0iNxbOsQlh- z7^d1N^sI&BmixdtBPw~CK;0&EgG^WEaBVKck3x&vIi{0fG3zAYlpY&t_+UF%u! zn~Y4oIaWCQ%xoRYp+}(;t}pMMd9?Sn9I26yV7?D;(=Ck+%EM|T1+}DlViq(%{BDKW zW$fQ4*%Lw@C+{!c1Pt`nR12uYrN(Ri5#437CAf^~bVCDfiDgyQhq=YY<5sin65+<& z?48P`Tff6TRaY|?Z^X;bVfy@9C6$KIVR3F{BI7M@5UMGEuFWw$lXH?BIFFTH^tlqI z*={a@smJ5|pq_K!U_s;;_qQojS7w;QuP9D)cG09XHW;1C2FBg!ge_Z_9gx5iQ5>Jx z;2-2{2PH#8@Iw?`7Q4)LxD8!;Bs>i{kHYby)jivPC8L*64oC{}q&d(mys-7T z@@fuK__&ixY-(sukmEA9yW$bwnc&^7NycN_Dh62+P*Cr_(3y*;CnFKjKFBBJG*Rn3^i%Mc@@NI?^DDWYuQUczaXy8fG}z3|L0Xb7?djHAgoYr>J#wWCeQLv>8>g zWh;J|qdMu~RqQnt=uKE5!)55;A0zVGwPyHa#yr4JyhQRhUN#d?)9*5SKWT*aW zif61gDnjWC`@rrEqKgbWC3ZG{V(oiv&8Q-VGpOi!;O_hUdbYF~b`_6mKcf9-nYeHV zLS7|+!^YxyZSQXIiQ;w0G{-vicmRbgT8jH@7WR~Nc&kDX;GGOD2?|wXo-tJYwcvRK7r8NNk)ucst@;;T!ZYJp{S+lYm`$bF z@bA7_ZJ5;3LgbM2C>dSTf4_8fi4gYddIThBdQC4-(-pr0`*~Suh9<3Y#pje5!dnkT zRC3%l%`%U-CJw%W);vu(FQ3w``<(I_!HE$DpldTuvKT^)Vs%qfwkaHhFFKk)j79?d zDA|4hoJHvSHUF>83!pb!8SH6mhd_d~+d?mBqZ&y8qR_8QR&JUUJtY#ZF%Mtx1bDEF*`7 z#mdftznOp0S-~!+Fs-!A!wcZ5=Ldi1ZuV81ZdgN64pLX4#NI3=Kus)bzVwy$L`t;o zwCt-R7GHRLy2!F-h@*>ZdE=nS_Fwp-k>4Hzo%k=;JlhWM==;u2!_iL3R=g@*1r>g; z;p(5^*U%c|xxnNYZU!JS_-r2fXMeZ*o+{BewwF-YdYQ0At z5Ai_gV&ohy(39Btva%5+n_t5xKBGM|-rE?~Y%BiN`AGu<{Z2owP=;thVVBisxCtdC z5JHCJ5Ml}GVR-)j^axu{j?o{Jyfgl?u=T3OpV=urw#v?3Z4cIwZwG&C7ZI3*D_d+?#RD&BPNV?$$F5<=)^?Y6NEmjtg%&o-0aeu4@m_18xoZA z6g<%D7xl#@2b-R@@4SU>X*x0wRMZ1U+{X2ALB#N=Ohh--;`~Og}SjG=bOP&7oxRHwt z0+@@`U^;Zb{%g&Oe+((!>(+Q4-HJYcqqNm;!T}kl4%H)x7RJwSF861o6aVm33?s&* z7bY=3)z{OJf6#KP#m_bW27$-G2Y|58Xn0dqeOu5yfAmAyWFsM6S;uUx)RK{CXs)dV zt!l?!402yy%80M}(JtDPXJ=*(hn=Wo#cpXGjBcnqZ${S}Ea!owMlVwC*9CG7+f#Ql z3u#!mHAb>y#_f8;7r)@Uuq^|{NsZo!s{&5~ALmCTe<}4KcFk8!j2MWB2tY=v;qRx4_Y);8%Kc&hF5tK9{h4-j8N(ge z@&)$Dhwqg2Ly>Mu0J~dn>fmQ`+{+9#4arpuQ%;7k{VBh?nv!`XqZE<8ZN-YSn^AbG zkOtnsD4aLzishGJ6}6uZOS1jVJKCdRC{=U3ETU{Vvoo^rU{x}EdYd4o^bjP3sD}&i zfRC7UZCYeIS!q=uDWkpjaq8#X)b!Xo4VLCV4^lA?g1Zt0gIErI(5hcDFTX*yj)tUX z4bhly+z573Y4;SQl7MnCnY&kwOR`O^>+=Kxs_w|~o!MGx>z!kqc zqr(&|LcE$*^$whpUA6q>`pBZXeSE|Y>`i#gfzuE~r)K@k1PXr933$#l(DCo<@Zm$0p`Gm@T-ta5%Fedvyy#i$B; zN@pIt>w4bnWMN=POYdwI@*Nl`(X_JCb$?hzD;S@WGYPyk24@+%94#jNK*?||P zTvjL`$}w+kL+K<6ZhQ4 z0}h#MvckD0w)4z8I6nRV-hoib|2`~exm}i>Mg|;lzL|QdR;YolN4*HRM3gn5XPjd; z>yCVW+&UrdIZnR^KfF2GXBcqzdluvXefe9R4#)Q*O#+Y}4X?aD+8goo1w;juT6(o@pXg0M_9_{=I52m%D8o>q1`dExCMNOqENvJ$tZcf zb-7jDH6^+VqUne<6`PZ+B7CC&K?mPEfydLFY?ii1$`wnigf$}2t?*x|eqZfu&Wny= zW2jsr^)N5Btn9#{v5N2dj0Q{pw}Dei3L!1LH_h2WH$W88o8#rbopUR^!m^b?_7tXo)(7fzO>25~3 z?$-d7q^h!6P9Vr>EBUOKc-tT=>#Wm5hMB^0!@uXb`+3HatO@~y>BIMZS~;c|q+~`p zulob9t$AHBXVqZ^-3L|i;{?InT9}yg^77|dq!qAoyphD)iAg|YQ+JSfz`sXTSRED> zB)+mu{Tu(P-Wr{*k)TNsXWEanFZH@p=aOolKhuBq=|{JK*CS$!m4C!|P=0Udc^L;B znTERjuBW4a?9VQh``N6zChn{^csz)2J6>&}T^-dg))X39eW8m=?kxjY%iqOgr2R=` zM4z#K@CY3Vz3*(r(ylMrqi)MBElU zIqVy91)p=TwP3K%o2$lMGCMv8aZ9KX0e2Phorg)!p`sKhTJI7$j5`4>bMs!IU>1t) z-k;cB3y=+Ms6xA|se-CmV)>9iIZES5a5Z9`eP{<02gkC0o_T?UR_As5dvR0|WE+|Y6w!&h$zV7iPu18fm>-3{?2zX+Byf2D5B}J?2j{$nV-H3+jv8>#Ss^;b9 z->1ydcI=IiZtIo%JgI0Mi6Su|{w8OOjX%L0T7(-a5&|YfxyH4 zj_^L?UU!1p24>Ba<^z5481YdM%`D*+$QSa$rA4q_iQ0u-e)MlR(G6m^^{8w|9_-+l zx-V=?O5$ z$98_tf}3$mBcS5ghYw8UT<7x4p=(yR&6++^Acr^| z=9z@Nzq&Pq*}8Rh0x5%5GFEQ9F-KRaJM&KLN55+x6QaJ&{$mGeh4p9f zEcMh!wDrd!vZ>PS)rkxVm_?vlLNXaHiy5n1?-BX&e&qdY^82olY)X)tdAV>|y9ek`-_GN70uw>e0ERA%A( z(-;#cNXe@JV^+MhSG7~qX}C@0b}|CVzPU-{DF*L68$O~b@^C}{+k{JjgXSyKFAg^y3B@I3(OeItibe<4VTR?zs7xYJhcE@u` zwAzwRy7*Q~?zHM)KRmgk6!HzfB|w)OK%+ZI?fWAR~vp##fMNd-R+*)fwM8ZDzW}2+T$XKON*kgxT2jFU8b8(-pG)C}qjdw4oEtLf{L7aiX9U*bOT;*Dl!#UalLXr6wH7O#ArmX8#8X~uC{lwFA(`4PN9$YZLg z2>I`m!hV7^R%1a2H>JxE?SS|be^tBeY`PmD;9fb18(7409?Lj3@zI~mCIEJf>Q zLr}CY*d>cv*i!J`gO}A5c0`C|SG3d=s2ykAQ>}pM6EK(7OEzEFOZDWpDIDOWJ=Y{` z*e)++F*Hn!A|Aj|gqnKf$Kd2B65_XQ!yX_fPeCFlkI3kP81byM&Gq=9T^bA7a0+5u zmd*R%f=A=RuX9N8k|MT;1W|JWLle9RArIq_gU9~ z-!v#uyvFshI{u!z{0e;|Ef65Iwo0on=wEJ8iE$!0AnfB0r8#8v%|#A*63s5Hsv}*{ z_P$b4Mg|450mdhwcqTA9;Koa-e4v0p7l+Z<_kDK1TFy8 z)(nE!_I9e7B;Yke!8kMaj|xtO(`OSpKNE>@6s{K{z%!PdT)~tszlFZ<{Omc=_$ev( z8`(v(*Nzcpo-K5jO1QVZMuu@K&!yKT$nAul#Q4S&}) zNCBQ`PhGkXSdCY~@{GdZxiF1HOB7KxYEy& zbehhcrsh#8lfC*2JNaBCxWDW%CGqMyf;4sMr&t6Wg(xXdNmdw9yD%9YWRvk`8Bv3y z$4iyk#;Fys<<*)9Li%*sMcIt9$Q9)-+XiP2X8dK;e^xU;B2BQVFEkumM@xvvDKYt; ziODrG{0@eNak3{zN)ES8$&^D~$R+R$^ zSwq6e%BYy|cHnK1Y)_}LFOVn@=HN)PV~c66sn4~-Xi~bO_j46d=%tBxKmb`(>JGHd zEPRokRYv{u8-521cpR%(SJIhFeLfUm%H$#AK>}4h4MAiHEKbd8#A6Wwy5Dp0n6-iD zTvo2+E5D0~SrPR|de=y((k-$+UfmJA9EnEfimJJ&A@1VUi6rbFN8=LbjE=+$>VQDF zk+exUZ3zN!J>+iBo`SL7Gz>Db9~4d}(?!@sdzcNJ(7YPvTvc_-S~mK>u~7fajc3Fr zS=5Dw#s-i@Jhj zB4fvv0CU+1hQL|yP1QvuU23*b0`&9;j1*}50#&}x{6%i-rrtcimB-QQ+r%N2qqwIY zq(oyx^O)b`EoNH(TTL-CdCU@uzoNDhn_}|WdqY(1HtwH3HHB>1ha4B;Hhs`sUF+YB z%izSgXRdyc@tuOZg@z;AffIGThSP5Y*?|@JT^7=ihz2+k-_%rlX1YFKJ*ajt>5g}s zn6U!-H~#IY%>k?0Jg2&z9#%-29q ze?s--|Cwj0KeLOArva0=dp0mYoc_ZNGM}cusAeP~p?EgUMZtYUK!Ju8VA(JIrGYD( z(eUCcDWd;Wc~jxXle6~A&j@D0u2wWau+Y!Fgg>hjz{Zg zwY5HZ(j_ADxu~$|m2BJ6I?Og1IcX8=MoX6zOi^Lp{|~=FK)>4ti#AkMUP!}zE#kV; zTwg(j`BOxagU6UWIRl+$X{yNdN;`ZO#RVtkgd;y2=x&y^o-mZHswft*HzK+T@w0Su zZB!O_U0};;ZdWxVihs;9i zukybi>S=~lDn^PMFpnRc^-gl*FiwQA8cLToda3O;%1Jq9MX@0chdutu7Y%LvgQ7ow zPx0cfDPHy?#n*mQOV=~D@H{56#tDp*6mHF8lO?7A@o(6eZ(gi$A55!w9#@p*3lU-$ za9V0AY^$tA6&6Y5O_6CAM2(2_tVp|ox>})ElxR^Rs91z$qdQAJ;*Nv#H85<&AzkAj z1rF+kBCWxW6Uc3LpVh|)?mL?g-hVgx*8aQE!TayV-`amy`qo!*xf>mN!0vR&S9hf^ z?J=GAnlnhd&+4N&)4K`vNil)#K{vXcAnB1hp+tA}+}uzp2fl_|wsf+C+w`=fi6ZVk za(f&gecZOFAQ$6ooSd8_0(R8ZcAweJ^;M;4K1li+HxfCn6$}hGI6Kp$D~{AOa-rh2 zrz>9lYt0*fqZkDF{?8P>f1Kj2^A)XM;`15D;lsyvbm3Mb#E8!H4vmtSL4&;xO&XBz zg+I~6cPkpZLD5IID>`s*+adOhrZ?wn`t5i1&i;)PlQZ#>EQuIxx*dxk?eq#{J1N{y zUCMo(4N^*gLZQpLBT;8-y+qN78bO+9P~r7N0}CG{sfZNC9Kw5BDOD1j|4y9!AD$Y= zh_F&=eTDYC?SUES7#71@f(lVW#H0IvrfK7E6fHVX(ZgR;{NAyOA3Rdg@wU%u=YpP01|~%2X4_A6KrXy zrq-rvq+b$=?K8KZ_S(zg%VlaBnx-t?WX??p#^V{ba@;C<-Z2kk{) z|MFb=%3d=hdfaVhuRI1);kIT(F4!d#bjLdz#hDuQQ8Xt~Qj=*)&SVI$Av+R+M|6u+ z86t7~U3kOe`a#iTR!|zc^%8meNSnF0qmH^;s!`9BMe*?~LG9}cA-zY4_>c~NeOS}m zzgD#2bVYypk)pSLs`%X#EGfSJJw>a3YnWdS)B6u3^5I|gDKW_so$*49g<(5HbmEe2 zud~e+k2;$*jozc^vr83iy;>39k987?@~0>|{TrJ20YxVsZ1-xz87MHIh?D!oJ|r=Y zhsQuIGH}QVoN;Wu(LmlM;&uGL(e-a_td_64g4Yh>dYmh$En}AtN)KrEr6wnhiJ^sO zUW_w*aHRMjg3mL^Y}Q&|qCD@j-~^2N5q}K3hl3MUQlORs!;24B{QKP%Km09AhIbsU zIXB&|2e6T0>_oK(Qf72=E6PBK%GS7cFcA%=Ats{3@%k4|^4JthOvDSl-JGEg?rf>% zs zhLni~ThO<)E2&?>IMqnAB$5yop*i-XWMyUG`A~gzDdG9dnbARC`{FD*>}$J&9Qpf) ze~FJdbYDL7z}@M9eP;3Aa|gtn7Lgx_7w$cH!-Cim=~k5&acXMPxHVR4S}OL>aC>vL zJa?1T-=}!wkBUCSI@+5Qt-4zAv%gWa;X*~xYZd+B2bvO-EHR=HH13rc z+!v-`@+bS8nPzL$G147x@C4@vBsfL+Ig&Y4SC+^M2U|+9k|kKrVed{uO__-LXZB<2 zsh&e24>Qg9zb}Z>BIeZ4R~QXNut*$o8X5Gbp+287C)ubV zE7i~`a}+)C9YrgTS9IZiiozj~hfQasTNtx^ihX)3Exv|!fjlN7Y_lZJ@z~ZBrPDp-IXe zBfCJ{i)oCQ6eMl|y@`AL;JMgFk7(v3^$X^m?F34&!-XL!0@>D7mOw|xU)p1c4m)sn zKIV{p>AQ#QD=GIE_ZZ^YLmiAI@tv(!TL}5k^!`?EZ>o}LC$^pxawW|D)>oHFM1$xO zgowzsMI3;t7;kX6$OxIEF(npWFlL=dF?U$(6cCq>G}V9@4foY3Ui?!<+s;!Ea`SsX zQ@rA2#qa-A(fhwpwDC5d`T0cRmy_t#+Y;&U14A@9%aW=z(n4116N^fvmZ*I$$@Az} zhbnp%zKypi8oOH2mWvgCcCn&0=PO!!o+7?p@ndHzYM5p%&Fos*;5-7^8=o_ieLm+{ zLtoj|>KkQd8a{}AD2i1Au@76kX6WwY^?}L&lBD{oGTGaWRJpFIOw1rKZdr-l;C+xc zHNuWeYKqF3lY;k%@7U@8b3~LX)1E#}d)^zdy%iX}^CSL<)*g!7ggwA}%n8xL%frO0 z!t~2yJ?<&j^x(0Wc2KnDmx_M1r7-EesP*%b)E8*)6t3_8siPfJggX`8{G zM*8YLGx+d>_TVGFz88PvD|6riBZ;4BxNs^pRF}!Jdx>(#_ajf#Xg|kjLH<5`m|20nN8zxc!)9sz%jp_oZd!e^qW4cy zwBkfX%Z^vH<}#nQFZ79@2{XSEp${Gi({Fwpq3S9zYqi~KIPiqUD8qhG%C<$1laf5% zYrxQTKhm`75=CQIDT-dMXyf^cR-UP75h9I)mD^1;XnzIut>T(nrjJ8T4(NYIga;Fe#<)izl1U7So;Yc8Z&+v^}$hXBqF5r44=OB6`x+X)+2tw zV}9PJ?RRKie~F@x&QLUZj-uyIP`qcW74rHMOMu1+afh{%!F3>tl$7LgA$Ht8jlW(+ zxntxQKUXV+3XNh#Nxsaz?lG%}XAiY=V{I8_XJrIChJy&uy0Gk!g2x{aQA^DV2O0%7 zS`v~JJs+e$0Rei!?PHhtyF;3Ox7*mzu<)q0+N1N2GxYv-hWH6X^swg5w<=nFzNTeASM=GLidLVc=#(#O znk?z_gwAlnmVP2lidn|T3;}j9Zy1jtcZ^ozcJ~J9^F)M*$OD9cdg080R^Dx9H}|yF z$r5&%eu>rjMD!a(m9aNIba(-AnTcJ#!7OZW2_L@rOL1NXsm89~;dT=BPW(>n_Qo0y zz(UOPC`OpE&by5$CH0o(LyRC1*}%l0sjiH6pV>wG?LD3MoZTlbI#{lS&ghJOOy|@F zv*6-EX!U`<&lRQlJOt@YR}*364UaczQYu%K7xLuHwDD2C3BSp|`oP+m7{zoJhO8i; z{A@!ff5p)I*x7Q9qBW;0S`K0NFBE-vx}vogYua?X$I-<;OVs#eh~By*Ous(Pr?w`8 z)v2=A8ux|$E(wXjSfNDkmK+OnZFA@5?<-nP|@?SB{i{yZJaoRb(V3a0`WFaFe$Y% z8_fk%v!r>j>-0`|=JDi=Nr8R7-N+W7T7z&wM4=!hl!z)=jfwk9F&>q8h6a31yLpEDOwk6H8|F!pf&S>P2dvDtM{!4V$I!n@M zROieyyF4XKxGF@rIz+fCOt>;axHdw3bpqk41i}R&!m&ZZK|#Xq0fWAPLA7gmjO%bp zKw39D@A7}9?<6f%WYDWbwdx#dv18yUfGyDgt@UL*cSalLOlwiToNS_nOE;~fPEAoo z_2MTL%9DLmdJ0-r8Q$6D+8REn>4UNJ<0)ee z&fA;t(nW;rzp{DTZ~cV$jWY>volV%Xfbj8k4z@21fgeo(Zw_MnS{Dyr6TpuSa#2*M zrmY?iQMiW^c`DbEoiobq^0V?L8T_D^@Vlc3&-{#7+G_E4eBx(>qvje+8gJWU86*7S zcqhtBi9fpDdA2*-<}gPB)M6a-h#ebfZnIX4+8PIg2zqg=0FE-T6HMMgdD^9u7kNDhtEtPToWNINg`gGNZ6P}{CI>Q=c5UP2SbF1 zBZPH{goovf5LPD;Rt5>n0)$lwg!Re98G#0qWMa8}buwW|iop#j#J^23 zI62W^_ppPCki(;0-TuZ^lr9Hccc|T#1%fI}v_jFpJt;YfOAE4eK033fNjA!|B$DV> z?r5w)W=5Lb@_Mur0otPc$vnHKQSwTB>7)Omz)4AA9+ht0g7nEB|9JcjBiGnAI^-%? z36N!`yEtJtgN;8SZ2L9w7e6PwdoJO%GYGPLdFMQX_bzwv*$zVir!-RemO z?5bB5;8cE?KQD}@$;3aYhCi|57cIk{WU=qzFEBg;v7gHi2=N0+gw^SU zCngeBrxNZ96W<#o+?znWW;EfcY{Kj1#7}1tRwNM?M+oEi?SzlJM2ojo&cNY=q__}1v|(26A{%LV{Y=s zAL`r`%X9Wa?_DGJ8$IlKGje?64u5Ml*P4o2K&;4iuxeg1nhRvBDIB;APK-o!?&B*@ ze8Yg4PBzZUDYgWOQx^=Y2zN?niy!v;)utN5j!qZ%5-!f4tXA>5i11R=hQ6m=d`Ok0 z8%*P1itF$XBZlvY5N`+*9t#szg$T(Ysz97p_04)I%sgb&Mzw^k7P>j~Q$ zh@YB7xI0L=Gf2E{Jn=_$#5|R_znl0^Sqg%4c|K2+NWPzfLr~U&wH-R*#w`Vk<{) z_NXrqmZD^-H^HD9o^~}?NfZM_&)wTzi>8_q*{Ev^7_ebYoRXZRTs+;Z$A!kr|F^O@ zhr608G|E%A@Wa|@yNUlB)xFM!eQPlRE^TvN7v;GwpYvY^o6jcxd?Dep1;o-$zjPYm zrIQIS&nLWjp^Fc$bMfUOm!qp)=Enlej|X_$${?@(U69W_%0YLli}ZAl4&_ye^0UHW zJAd?V6Hc)EAaAm-`B+)LnY z0(TIiZG`t~2+tM~Kb=Q-Vlv_348odJ!s;Z#qltvgiG)W59K(d&f)2)bk~{LbkTH6X zSLKmW55l~xiLyu$qYKEEd1_0wx`@Xj8Dv)JjTB-pQ2vXWaZp=Pz`gA?s4B^YnDOfW z+IO1qwaLRl(N_FA(inOiJUWc>Pz9{gQVjNLBiwW(;f)IkpNm%dT!Qc!Uz%sZQIZ(n zTww6=wT8FeX3)Rb0WWvJ4-y8K8N6_l!S!bw?7xeHf*eN!tE6(&*`o;{6c#|X87}_q zi4ha6%%{QRh`Gga=*R$3hnKh)-|iksj_KvX$yNeR4LUxS(yh=alu2uC{x^TP%YhY0I} zgvT=p?-mnwR1>07-8Fgu*g%YW;(K_qJz?U-(#l7OHzg8QMhFYShC2eH^_6Y5s~c5lCv$YQf`np!NsvN9V|bE@ZQCCCjG$$gjdfbmO1r{^9V1@C#*e- zu=qTKbwcI2iomx~RFo`yD`Cs;2@ftXIR6lXX-x*BGNh808LK-)#YvDC4xMjC{lF+Y zzH#3+jz?Y=T4i;P(+-$UtW0bR-ngFrG_s&;zrj2z#v z!#=Q*GhtiO0Rf}@oC%mStyMEj#P+JUz0QWc`=+3di>!%b1;k>v4WrHYPr!Ib6!~->i!FpmjqxHlP z5cE!|4$(?172Ibn#EX-O|478^vWX!e*FikkNsJESegQ(M_q z90JcJ@El^^jeuQ=qch?v#~B3l5pVAz{;-Ak%}TMt6w+s1>6Eqm}9+1jKi8msigqe(^NI`uT*b4PAVXNlW`zaxBp zE#dh~iSM3IJbxeJzIsOuD(s9=#sR9g9}Ff02ZLeRCd>axX0)n25kmimnhjQO=v#S&89+ zyp?!JkE^9Ew2+|7i#574=3D5szq*AUu2uFNS3Fuye27tOqb!R7Ka+VlH_^6dc6*Gl z>+%H&guf&cmIa9)9!JU1Ko(qvsUkY+2DfxRw zR|BSZ)uT*kJ(^3csv=$R_+K}6%xHbwiwmYmfW4+Es&vt32ly?zCw244;2VCjj3w=O2$x{&bY&xt?3nDEm1gkK&&=&U8wml&M7Ct=+=gin7%*!C;JXFn%= zzL5B<%LyM{L3sJs2DhDNaNsP1k}OfT`140?rK4m55-uf`-hjM#8`pW>s|JOlvxpq? z{7&+`c%A<~^1LwKJkh4|(XQU-Mq1}@=;1%Grz?S1W+slq;*>I@yGgP}R9`#0w}rE( zjMwTxTW81Rj;2bMR?DAT#kEkeYA(hv^k#)|m7z5jjcJ&NXE-?j+8{n|x@RebM zXOoB*xppQOZ6`(@@nD^8i=|B#5L6&+CkPmFEAeMFgv~h$deRQ_TQ$UY$O0um{Bo_W z1fyN{R6rD9>?Y<}gm*g$&q#~CiwB0g5~5NOeviNh5c7TnIk7kKz#PIrpRFRLavYdT z{6shL!b*c5WErj*Wss3zI6*_yEtgJdIOK4mW6%>ce13$mC}OKc*?2!3CTvb3{3c8& zmTE^@Xr<{4S$g>ibh42amCCH1Cgmiico{Z+)jgDDBF;hf>!sRDN=oF4;v9`Oojbi1 zv%2dsdE%Iu>L)hha03!~s>_|K(p+w=E<#b>Bn|yi3$3B?NNhuGe?L2K)b`T@N0En? zW;=XHpTX~sHvGa*313}C;6D&{+(5YN6heCi!A&qIo?>vuUWB!$+4lR@GYG4MigS$6 zdl!w&y}jgT=LY@1+P=bS0yvCFhJ@$b{Lx#`_a zA`SCY8Lm2p$m~j;nza%cYOP}P!x$NRCn9%z0^3fiiD42zX_c)9A{K-Qnck$6z5#U{cFxr9#z?79hWmJ;qyB}4@fJBc5iq8no@P9}UI)nJze zz-W)1|49WY)!h0L!qQyAXS0Y|vX1@g@Y{sww+XK_5?-q$49KFT#rxV_i9gtd@aqP{ zE#pL4;SrBz31E!~bW9M^7Xg_+r(*N4;BZC{>UQs7}$7Et@LD>HD%%$h@^0OXDvD! z%Q0zure@*zkBe3J*v)uiVpsr?8>UyJwpj4qx+#%u|z+s2@iV2e$`G}N{!3} z$7i_Mqus^ALk(}ZfG~IqsgL6Gml*tTwu5AK!Z9cq=ityzgG+ZaxZ}Hq*B)l@`=^Ahmk^)3w_V7%A*~Xbg3kWl^&a?N%mRH-tRdIDX$jj(pzrZ+AE^?* zp@$RqYS{0!RJwH*DcJ1Z7Ie#;sk1?yWD>-SPGcwy#CEH@r3M+J(zKe8zgS}`iTs}qA=m} zCc>*lgu7khj|4#52#ZrJ#YVQugFUuQ7T{Dsn?~5$Ls*QUC!v}G(v6bHU6A7=5C%iVA z@NhC=ZL(dktPrkbh_Eb7{6Hc>0Mc)xivj|Q9)EF2HYwGjjbU&c783|j_vj0m=T^QG zk$%X4Rk@EbGYnPxq^G4oX3Co8=hJh%c3o$Y-rpu8jg;ghe{Q^UZ0Rs1jFofxh8^OL zV`ri=1GKHK$opJW7dd>$EQ4E)C%ku!!Q0mvTz0rYWxgeJOP4Yx)#2tG!v{7R{A8xV z+QW(0971^XhlEE@AkIjY7gNzS>n!o@uc-$Ax1d;Qo1>4Xi* zghx^dLbiTnH1QWT#7h$i_X*IX5%+sknW)SQrxV_8A-*$(a94n^wbyHvXDb-;`<=uq zCKKQ65H?Gd+F|FCpSBa9U1WH)nh%JzeE`M+AR>tgTv{>-GpCkgzdajx?({0uRAnPG zGt~!1rP)jjx%^Nb;mb1O*GmZRmJr@3AZ(gMSe8P#CrG>~L@dPc$CHU4OCo$fNSayW zZ=!9)rgikOHvTrYbw*dc7bq_?-?;y8yy=5~+7~BV<@tJRPu>^zHACD|FJsvTOvSk! zeVs}vuBG02wBjZ9+1A=KbnpQ(L1vEyE+4h4gN4Vr{6jI2ND#0Kz)?-KgTp!uHXU#H z!9xhopJp(p*1jkOLb5HEIV=5mr)&N1eQq?9V+P1EFIv+mJw{sR|A4LY?VdlN#5Ia- zk|w)NpDIh18lKtPA|7+Ll5iY-qRE`Gx~#y)h6)%A(Qr7N7(t?P-K=woPwN=kMi22A zcXFfACs{+lU{#o~G(`MmwFSZFD+xCi5e}P3Xi9UqD9Pb5Lf+M?(nUtlL4A_J{;396 zq*CG!hkGi8VL916H1aS6+~^oRAWtCQ8t+`nD;GSbMtX{W!b5CbLq+a*8M-i>q}0; z8_VY5$-7U)C1>x2@)9-9Rn7J2kimoU`!o{1Y_zR^RI1@t!kguU$Hv;*9&N`M2x@ewZ*yk#(rRpwl7xLcV3do{p}0e(4uP?=*1k+ zt#O6*T8!nZ>?F|~Vh+TVFmY}Cu-4kMCG$w&zVBjE*hNHq7Zvnfo;Tg$mriqe^O_CoH8Vq=uPdJSvf& z)4Chgxp`J^3yZg(?`Y1I8a0rh^E$bYfN*xe;lsm56eie| zOuS4adl7=1i^Igvy+5A3_7HyJ+Jo`LH3#y> zEBC|G*LJ^@3stDiE`wzLxwVn-WFGPD ziG*8R)noJWWJ0Y=>VOmSq=2!?PufvO2;D)Y?bXF%nKtvi7v@Ms&8; z=;m2An!auQqzPjnS;^vDtv-AKUqfq$(GnmoPBr3s?K#xMfbp-NP+owL>*9p4!Qn}S z32Of&v6Ue>!GvK3tRm$~P924m^wBJe7vGfCdK`w-%s{|3&2eyO#PGwZgr|}T_a_qH zYb!#P=E=toBoZ%4Bo^RX6t*CFXPB@^bjgXt>(hvTmTGvM>*s(7y+ka?i096#;}@5m z#&6zz6gK_tAUt#LS$Kc*^%(eI74zqhfj@l++uvJ>PhMS&Et{^#bBoW$lh^K#t&g0| zzq(+5ING8H_*-L*av`@h5Oy>Z?`R@^zl!i)Iq|15GwmUK)k;{OMYu)u(_zAde3lH{TfqU+<2hNe>vIk0|z?1`51%C_c2l>+a-=DQgn7` zu8e!Z-#JX}?>UV3b{rAS`xiamMvnhOpx8-{^OZiKJW!NMQS7KBqeLpjnLW+c30t?0 zjyhON=+ngUnK368d+~>2=B^S@?{8au$L{z!Qv4=VD+A@($rCoDO9&qXCrp@tefQoK zSO4}bJhkpdeE7y{{`j3W_|wKaaOz2ivp7iWhF3iYU6s74`Kc4&DXxPBNyLw&5I>q| z-EWrLYEjQc-rJ=S!h<5OOC+pGCjLo;xGvAHKE{+dtn3=FQ;G*Mhe`j;*gR!Be-KfcKZr!)Yh% zW7}sF;9Dw;P=|P+m3T`9@tr|k1hKU2E7OQyFSXn8w`z&+N+K4T&NIoxCngxU@;xL2 z#%_3HRkz3K#5`Z=5+Ao9X1rrF)494dmorAm zOjV?M!z;^SZM}ZI%ipSTu=*H-o4#-G+uaQQbb`Z|>}8N3c4e+EX*`;c`<3H30$$xj zH2!O@bLSrf#^jNBf&WZU++Af$w$0UKGLei40eHsLCe8Mk+0!ic>;6m;6UJw%sp&Y; z)=H%)zJ}f+#eV`0>6>Hi@{o0ZynmlJvq}ghz=q5lZfvf_byuE)&)<0f%o{N9`C7d4 z^liB7mY-q4`N!eNL%)sx`qoU$>}!L>j+T|=v9H&aN>V)Wtk0s$`L4l{VS^izh#wRK zh-AV;NrW{*j!q=pkx2MOn4vm6d;s*Vx4hX8KZpP+L{8q^Y8_D`i8^s&Xd0f z_iw_NA8*8YXP=0o;zA@PrywDmh|w7tsI9HV<-fily6uw<;7`_oKYkDcpFVT(GypKb}Rn_B#g8p5*Yt zZy5{zj=vBZ5(Q{}v<3T*$Z-}EIS0n+oc|GEG$YHD|IEXmne3vBeJk%9^c`8G{hc|r znLC?nS+>u)*%M-wqFnTn6gMVww4GOZST#mC&I~=>r=;q4u5-uvp;i}R?G**{uUbBSGOXTQ`-c}8lFDcCS zs!iLT>5Nh|) zON+qUAICedtwd9Ez10$X%xGK_b`rruUaeZ5oh@q3SfKVFUK`ztZ<>0{Xb%57M5 z!`YUw?Yg|G(NoaK3{j{(T`}bgOWTZ2;(n1Lb`n2ZMtoaCK9hq6vK#^!o?b5 z`0cG4*Luqr@8e;Wne~_a+q1#=HrcZmv0%Z$o0_OT8&+Ln|W4G zvpO1yQ@An~&HjsLtn2V9OaVvh zh3MJL$wr@C_Z>3kXGD}82XcSUJkb0bo^K<^{~=IpA;)>od*xMYcDeW^u}o%(Qi;u& z+UR9eSoMYEDpyw&AR{B)auj_4jJ3&eJj9*mi0Wt~3m9V%N{HaplaIjmtq+5DtdmMG zy4M~vP*q-ng4`+G*;38>?9qq4cJ1M=)_R`WCVa_ybhXuSrv$#Y)}p(u9=l9$mpopK z9h0HetaZ|{*(k!Ji#cnniK_)bX|aPsX|XnAdYc%~Cdxccr`UyDutP^?c7)x9ZMZ%n*$`0aP=gvg*%cn5#{t66!unGeo zti<-W7D0Yz`TR)*jymY<5XDV9;nfPl+APBJ6~rGkdA!MP!l3v0H){#^CKLV`uwIWF zBZP~?h9`(osyqfdTNDPt*Dg`w68XH?gZN6(BUlg397Q{9V;O>>5R#LVFeW1n*^|d{ zc}XreR26Gxc3)>bPwQ%sNLZaQ7v@dT7+3kau=l_4fubkD! zai8}#gI-iAVdA(9OzUbuPe+{uzKgT9KAE&dN{mS85yFv3yb(lfyEvTYF*I)qh?xWt zCQq3XU3SlJqRdZ5pICQ2zO%2NW_9tL=^g0nZbVbvmKEsVvO+81i!M0c65}&nY?F$xl{nf;*wI1!SOMXt5b>=p@!~|{ zP1%J0R>GjrfI5jkZzeo6)>4OL4k~7~s}l*|4;h3#-$ii@a$U*19-0sCq!#j8;;(hm z)&-5wtt1b+p{j^`+G;SZqaHK5MGtKwU_}QnOE_`*?rf=6lMwN6EGfuBS#b`R7G{eo zM!__$qO*@f$O5obg~^cs4(V{P=4c1co@DUiJcn;S&~V8Ft3t7@e>{CCo*1s?7FJmk zOI}n$xD8iRD=^hKzfBH($Ggr25Jy09O)^30v!9cyvTZ_h$iMF|>fin*z- zg1^06FJJxh6Zj98pT?J6bez1!IVbPW-R%wNYOCk&jt1`QYLXmYt|-eB07P$RJ$9YZ zj+wo!Jgct_m1TuCpvuxlJXMUtvqKJUi4f)m3G+k57leqf5nXX2;gKZ5^QnZ!1R9ZX*gCZJT=tJGzPA76N(^;f-?Q?JdM;Cmw9k)>_Od z__*#Q^xJQt)7Z#TTM;IP1H508 z!z+#m@Ed11{K`Co^~W0=+@|wFl|tH}`XQ3Pw!^U(T&tv!w!NewD1t8cQ<0j)Mkj) zys-lhc*@W8OSwGmrhz7NrlSK^FQkAUP3%lxUip%SMa^IhD2^_jTp z=Rd-g3y$YMTyZ*%K6nq*RFxmExX9W8a3HnkbqSz1uGqTg2(_g$VZ)xCSzl#qFz zx3R6LD8bv$-Ua?}8IC>b2PiMj*XpjNp^`5?`-i;fhM(}|7afP|FF6U?m89K z6(#6yZ{W_>dUUqdv7AyVPMg}o6DExHR5F^^qTA}asuBn&iaxuvD4(^Z_grM8s+i&$ zJUW{2fM}k>R?#BTKOt;yN+r}sY)d?DOeVkk;sfB%9t3~18Xvv84mo*w`hN)6)WDdA z*|>4>sGfC~b)635#itiXdF#3uAb$A9DvX~nQNPd17Nb>Rf2Uod$dV=MpIyWPkOGKO zA+m56n~48ZNc@V>a@q)MClPK55I+zi7Nw5Rh&Ck?Zc8$dExW&o)@`)%HLXHOLCdG@ z#HT0@OX-vMJ-@|a7H>n&MMEE34ZQbu*!*(Jm>}=o65s{jb+P&chc}<$;QIXyj_q~O zRpj!RG(VM3u9Km!9U^lNqx;1De%>O*yDr5$#z}g2kq+v$dW(TI=A0VP{*NR*OQvDJ{yiPj;E1S!Wk+s43$)GuqMCSdA%@ zCu(&ll}AW7nhxfTGx(}jV*~JF3E|I$gw5H6H%kbOY4&@JACrN1Us|Sw>*xn7@WqFZ zps1)Y<`XGrC>-|N=mO=b;m-xUSp({X0Hd@Jf-hsn1 zsX2iNy+MQB!q%}nwwd;6H{L?V4+@JLfyAOBh9rB|`Dn=QEe@zWAQKICTTzH-)w^gZ z3}9?}0HKhbA6hN5RC(G`tBi0s2o8^y_-h`e{h3;g8;8@=Q_&}uc5SsXPCd9lY>>k1P|OpHGNr~ANL*FtBA z{hP7-?z6mEVFCo`HGetIpw$CIb)Oa*&e(C|@XpICAuV(Nd#k}8ufe;ouEMx+WA*#2 zY&KD$+6;*KgqQUqpr^40JwrZ@gB~Cb%FMBcc-vIs`$rMq;}X`Us*RXR75^Bv+0uuF z4E7Egd^=>YZ^-bELIyt-d1De`L%KnQfReEbm?7$oA75&>%tM?*{eRfD*xT}oLP-8j zSKfL_f-&Drt&T%pR*yXPzE;^%cf|5d)IVbMAY^=P--iKnY>_g|P-56PCQcD!UB*=$ zfU%jQl`huRTE_y2tqqlEsjuYb`U=!nmq=E#wAoQda)#`S=RqT&ICA`Nk9ddSYI4jP zztz%eQRp7(&zH=#6@{49+pMq7O1%(w9BI`&sok{RR&0CiUc9pLMxNHw#vLuyTvt-S#z_J zs2yYY331es+?HNzK%r)~J;d*~61EBWNt}V@CF=4;TIm6~y_fjoZsL2B2+PC7E0c&< z$UHPcSf5C|AwrN-;tDoKh#yNNypl#(kwz$x#fywMb|PN;pyZi6*p@#br26P76UTB| zYKkr~lv^0HIx}%^eXgQ^ii$|c{y|Poj_`!Bqfk+tg{jSDHvB4<)4j8#Z|HX!a!87+ zR)<2*h6QZ-peSwfw5}$7k(6z?sIJ-?s<@%LR2dAiLD!(EP%ui4^Cb~A#$E3t$H?*D z9`U4BxnK@f&Y~adC}eIgpncS+RMb`!LEN~dTJu7Uw2HX@j|&ieYZ1;ki_qIqkEv~S3W7Bih1}IrjmDZXG*%a@SuO>H zUZzo`j}cL51P4ZrzvqbOZ%xnuAIIJ9%?xEOGpLFLBZ+YdI-ByUL(G}og^!-S18W!m z22J%#b<6%>VlJ=7xG+wCbJS@$)! z+uNqLH=v`rh70ntQIMaF^3p;cH#SpSKhZvmZua1b#AqS@poZ{aHSq_PgzcS#jxn|h zs;{l)?Vmg*Geq9;-U{&GCj5NCnF^K(kub~V+_ufqCfYVL!Ez9}tgIZLZh2JahJznS z%e*4W1DkQs{(I}!e>*3j4&2f%3m9sJ*hkQaf*HgE(}-VaB-}fOa19Ye)4VB{@Sf0b zgumEBJlIFPYK$sZ_@NYnREn#u8#h0iO#J5*;-zWCyN0!b)1Y|KfX6RTtWBFw=9b&y z+_3!xhjr1`zg6fhxmgoXQJROks$z+o!1S&L-lew%v!<$2MG5_)g%_IE)b?7Q-rc}m zEmfSP{~N1=_oaI>Hw=YCLgCtJk+O4;S5a-B_(A3|h(k@#bF(xth0aS)ss)FE{a#M;>CANJ9A$ zvboH}5<;F^iB!24^!pFM$nM%3gYZ{E^x(rBVDDkJg zLtrQ$D?mzk)h@PTynPh$HAH-uw8-NKuX$dNZ&YjBjK@Y1#OY^U3h`rNnwv&AFk+A* z@(JhPCy{ElieKh5q)zgHg z+7k8NRFmN$<%$JFQ3oYPxG2ZUL%lFEZ&@=0j6V54zOt0rrBtLM85D~;saVs~)tncS zGN`|Yrc2f;C=yXLl9VV*oa;OV%kktmUyw0x#c>ozqStFU?XRp@N@TbN?}WZr=~JCyUJBllLGp|rOa;D%aXAKVn^goEh6?*pTN zU|g##!*u_B0oUTfJmlx)NZTxxB9|29^VqSO+Tv@foC)C9C6>bSS%WoM*xsy_7y2g1 zjFeDSUW%_@+AN=q^ z?09!6nE#BUJRqHr66CkN#femT3WO4EIso55AivGVnkpE|mRS}nvS^u3_-Z;~RUzRI zu65YHM_k4;2(J|po*GMdD1~@!3PHedVG?1CBcLT*#DHC%49(?yZMokjt4YF;6H(ke z)Qg5yqO+@RHM%egN5V)+Nk)2lig5mT%A|23=i}b?I(>{~b~ml7QPTcc@}(V#3Ki;4 zoSS;g^h0A!4O(i86vRAG^b#HIeMJDEew#LF(39(V1`k9SlQD|>I_fkkE!Rv-Eu>-;eKnDZ%D96Z=RwUIQb7VOA)?bps>G4wU)4s-HoA+9S)m3I2?;7s z`_7)z@bPnZ;EIJOqoS;kdpjGswXuqCzHC13y7p{b`^yv2SSOWXqf%?+^k;(#gmRmG z-MVEJWgBE-u8NyS)FhIC9F)^Q>n~n zPHlqRH&sHg)DO|;C&teNwaSxB6kX0`O&Y82IQqD#s>TC7sTkb=s!DP&d4iV~C|!u% zYQt5abXlCkyPB(2QrO*A%Y7a7+)`K0;@Z^SRISSu8P`bc0+AWe4#qJni73g74X7T0 zgOTH3akyR{t{kVT{Zv9o(*1DhPmjYJPuzsV58P9^f$h!J*nM_47Ts_zmfUn6_WRCE z(I-RZeOm1eZIJz{(B~fxwaNbJSCiUa+piOl>~0q|ODz}V=c2Gsz%bV?RtjXflEY=C z1uWH#mA3_v95VcuW}5-MwTZA@HoT%8?jycbTW9Ojc-SHPfww;e{%j3)yt@qB-d>LA z2dlteJ_6pp9=u}%_^U@T_`XzOD#4l76-!4%DNtSLSoW$jxt(nXa zSBMLFif*4VMJh!{h}kwG zP=k(^YDjA=pA!&jswu^UahY}-txK#J7+N4yqgqelV&g1qwdlH<1Xxv?tG|O6cojcAd(oteK-FMPb|L-GpDtRYYvM!!{G<)j@7p> zz~vVmkLLPHspf2@XRE^@K-BhFD#KWtJRBg0W{2GERfzIdzF%2!Ar}Uh9{Nf&$Pyo&c zL;*wDHqR#TfdoFoJI^8T*#!Qn;pl0Wjw7UP1;y#aPZkjb6z{k0-|B!PrnmC3yj^Bp zz|{>r!;6=V%@93Zv$)cDl04n47w1ob7&MF@mm#sVO0%&uLZg6`pFIh6mBnbSFGqV* zC8Samu&k>r;{5E1BIk@*ehIBbEahU$kl=6ylU^r|^Q3XyFTHIsCXLI$%K$I%O+GBs7XgANkjL!qjS_MM+8rdcb@D&&4v0oJy z`rud~fSAu?GsPy%+Lj4WL;^0Zt27FVGD8%Hnf^9?Un{vAY7Hl}T(;#eH{OfsW2r&o42El%UH?JG>3DC{v~pYr8zd z=0qzv%3|fa#C!s2b%-+!51vjucm!c^I|1$Vd93g~ftb+MA} zCyvWxnHNf!)r4`G$jzRJQKQnVqm3?Ftd3b`e4>Gm<)>KpnIRV>oB9{^B3#!H(a(*m zMi7JYeT3fA*H*)0Gt#}J$Dwvx+UbVs5|)ZjHprqxDKE}dJ34(lWj1IW$V^kDrOox0 znB7!gAtY@U)ScG(h%M51lYwK(zEgK);_$7BBdV{qo_$Kku*o{RjP93ftNGs6%{ zN4a=h=72Ma`=@&IK&cGn{Z8*~A0awjiP!i{?7+k;v5z36ZB?+$@J=CecM}HM2p<&? z79|soN+L9c4QfLMdn6cK6ft->NjZqPJHeVh?5~7u2SII7tzm*BDb`mOLlzP}tu-u_ zpOEZjDbdy@%&ASnErj@G>c-jgo^*pDYr7Rtwt-ZCuggr? z$^o@fw7JcGrRWBtnuYApv1H8EYHI5S28`n%Cu=-P3-$ZQ7AQ6^+(mk7ibh>D*Hvis z*CTwx)*6kK5I|K1fpNtJM_PG^N~O83LhmmXVuwFdY^_C4TP>24B5I6m9Ou=zD1wpJ zdF1$~0Wp;v_f4<8iO%e4#EXyKfS;XlXtb)lSo{mQvb>njn}0B0b@7h`9MLO^f_9I5 zZ2?eQV4s97)t>;PS0P#uRC8FZCiV8##%iuAFXp_w>{umOpvx0|8v{apo0r37CHd<5 z9dB$K2-@fXS+ZPRWOVB+wp-$69ql0W3n{vf_=}l@OKS}(GXvt59jDlcqoDX<^^VI$ zX)ewyC;nuHRhhg0FTTG+ZrmhGAl3627c{G~-oy=;jO_%^DQ2`m}Nl&?=89$c%@3-5Y!GxE)BT0_}Y)!RgTFpw; zCo{~(no@|OM(!hzXG>i<ae9p=HW8Trs!!$>Vz0E5NdX6s)v0l-REGkH>OwQ%87}ZF;_b5uYdeY0t8sbH+#ssQ z1i5Hb5XGZ{=$#ngc_j|+Zzg;$bHbUnq8pSdPd*kv6o8b9a4sQwB7uKQ;8O{_msdH? zCjN5;@$UncUUQcXp~77u8<_Rfc*3sfp7$X+7@g|kJKYYB?sKqLt;1tdq>6P=888xj zFDe$S4HGVtbVJc}+hvAzCQ`FjaSU=HOO=%5L}{Uso|Y_LnBs}3R$BIcG$?a7a@>9= z5Qq-ZceKLVLSz;yxY@&JAS9A8i=-MfuG=3Yga>2Vc)4Cqku*qhoE^$(4GFbITICog zQp{ex$~K_!1fcZ+7(uW{61p(P`}gfKXQy5{}3RKBiH@JGjoXUHlqbEKYATbIc{InRhOZ!tBGr? zO8LkG_TcaBHB&1)p=x-oa-7O!IJL&M#0}iqRLzxTMcNYQ=Vj}hP%FYhe|eItx7jmW z0a5Rx_p`SZ7v^&Il!P#Ko%mk zN1A3)n($o0SF?yeoUWB12Bp%IbCxAr56CiPx~0{q5@ovO9mYVhix_(nV;(V%)~}PT zGV>hbC(4NL5^Jwy!g5ieBol8OMcg3S)oQlt^4y*vUbx-`-%R-QJi@0xCjQH*2AzfK zPl%o%@kUSc{Ah$QLo%L)8l}~mx9Rm2DXtq8N0`{@ID;f+9yWZ+12GMUw=XEh*-E6; zmBZq~;^Xc5{cA(`eoHK$QNeV`y<1Z?k$LaZn)u^i-fUwq_uIOW)VQCnGx9&xS_E?8G1_jWe< z<_%sYIE-)|+cHa4D4(k+E7F#@AWsx0xhRr_i2$L_3Ugx16AuifD)hOBa=ZPwARAI0 zTGLp&)fA2E?7kMwq0X8l-ipN5BFx2k`PQJdUn<0IV)!mJ0&X*i2gSCl&&ubdoz~BJ z<_rRY@_FGED#uVjP!uWCyqVxMk8UHki!w#rYy=4Rwe7Ud3j2t+`HPc?1;ov1#JflA z@l2w5IoNVO;kA+wjwltAflTsXom&_80BwDPD+Hd@ii4iV%(r0*IHkxbQ^iw-c*II zmRfGDuZ#g=Q%xDylo#>%u^B?%W-)z`>Qcz$^;JcdWbe9CCDx39;>hvO0%9sT&KusA z86C})`135dW=eN_*n^f60_EB zPfg-gb_!bF>AkND5d}IQ1by|1d_0$cU5VB6aJsh7tQF(T7%=MBM2F;i3c50Pd~h7$ zo-pyVDa7X_D)&y?;e);#0zVzW;L;$r{?73G^NHU)m#|N((1cu_CE7?;t2Rk94oigT zODTj78#Q2OiC%y`8S@d5W{>PoL`M_R4~ggyBKj^7br4bR-!MV&4M6_8MTB213W5Jp z1!OySlx?$h)^?oFwQaWF@ee95w1%$F>9WH(PkCBr>uG2lZ)Y1R4*;Icz%i`^Jj4YKXQy5 z|0py%k0_OeC|X>cgQr(t!55x+2-jAXa8FmGU6RB&g}%aMs9lytiM-#}*@%{gD$W;x zE0C>mo=2O><$P(Ga|P&fSd=Jo7UX4dettIR=45eJ)@07jnPRCoMR{CSoG)#%XqY`( zh^L_?BaSU1_u|f$TFq(^xtZh(iyMqoVEaxoYQ3dCgqAPJnB}#^w&k_P3{pJ`n90Xd z^?9~ker3qJ6L=o+z_)A*E;B;;zMnP`?~wb>wm=xQRi##v^8L3@BVLlGF$cUlm3XxG zdsUYN_=^om%xl8vzdy)d{Fv~@PYJC>vgna^*g;y7%=|3qNxGoe{fCUX8tU3vG@51IcBW~lyZBy z8WuZ_au$8EwipxFRu-YMtbio}vZ5qkT4rgDqs?{YQM+9(*DZ5fLxr@(TvnW`?X_sH zCyyVaikqD5NrSBo6{sx9iz*UaUSPn3CB*z!u|}*+FE&9Yqgl4)!QPW_nP%AbI$szVpT!7ZV} zBdp6Jeo4$}rAm~FQGnJiR`8cHg5)v(C7t--M88#b`1Y$)n4eC=!1@&4cA0~1mk_2k zs=|bWL6=YLFnID9;zOD}mm75q*X$FFF$NEhBIHTLfEsal4mWOKP;AYJ=(pZu8i)fv zAN@H84I1Wv9WtcK) ztkQZiGt$2-Da`t!skTh2#b`@Ig)CpRdMqx;Qj-Zu2$U+3h{Q4Hlg!Lf(Q)H4(b`ZR z4TlrF7YEwqpZr@#j{o4pYc0$bp2?`B_VIncKNr_sa#jOA zcxbGvQ1FxXSjg2fJCtg$vb<0tFV$X3WMmRdRa;r8pq4dxoXEv6CUcZ16;xHB7GGXa zz3`Dg_ut#=97t|2N863=(Wz;Hj8VGREviZ^VvonY&3Uy7V!t|#5W}n?oTJIFC@HF zLwK#4czrhEjxa%tUst9RXNCkA9PVuof&VfZ(GBUmeR-JqH-z&Kww0mG1;?bg{FfgY zJa+`~n;>rF$Im0-^R!bohr63y9KI$CM+kD?C8?-~8HpT;mrb|Ay;@CXz9? z%FmRUqNiSYCoW_@lZ<&@$lF6-Y8HCY6#Z%p8<0qg$t((*q~v7z8$Kn6PD)El-cppG zCFaG0GCve9Y->XW%Qcb^3UNwma#UJyBD3Cg&84yhpFDBgVD{v3{Z=n+7W^Cj?vdj^ zYoM|oG(_X8lq|*AR0fC>%s}}d3&AnC`wk?)5%>6eU8m z7Qe$?JnrFa?|vuQg^j9CW)lCUnsB>AxHCw&El4cqo#JQ{Cf<}pn4d_HO|Mk0w_cVG zes&yoY#0sP;POig37L{uXM!9IS-bu@6-E{;{P;n{@18<@OsCZ+2ZBnZ=0xLQpOBI8 zDQo)R<>q)V7&=GW2^9Yw6qNXudrt*EYg{XjrPy=%hs+iCiu+vxWaut!of9NxG@$H& z@}eBkT@MB$2{NBNk%%e+!N5mj$7OJ7QO=+&U&Mz~mMHRqsf6-`1a;g|s*OW?%e6Ch zY{r0iT@smx{tbWg$nhU?_^8;$?S+81Io7pmy@1a~ZFWV%hXov?sRYwfv5&PCt9(6-3 ztaz_Eot{0E8WxCOqlU4|&|UIBq$<0%!ph|a_9aA*A@Fg8ZTk>j&LjRxNZZE|qNgh$ zf=?t!#i-PoUc$Cc;r%#ET<@ zCsPP5k`+w>F31VuvrS{cPmIB~2h+e;7(Vv^-6ks-YQmvbJr2&CY53I>2^$X~ym~63 zA=hr5U7@cy4w4)PA>|@^InK69llP@{-Ql&W*LhAb@sIJp%aJ`Dn@`t1PrJ4x!M1 zcP(7+-Twf`bqAC>=9o7<&%}{q#Vz&ayz8_UuB#}35~)SRFRBtvyz>DsK4W887*X8khXRU* zK4&+tLcuxpsJ$_LYO|7cg{mPc2C)yzo;1#@J_EeRWCO7T8{Cz^M|kIv#GlS3es~ID zs~AB@<#@W$wwdP>eY;##wwh0ZvSCc;ycbo;`~A zqQ=TGEsGE>}6MpZYzov4~?$N9=z=8PO8$3J{g%X4PAH%A;4N!`d zShA9bR4I0LIJKjmON#S3H#ZB#MR~}}oq~p%QtaB-%(+u^@U65En{^!W0njrkQ0Erk z)+#;^IKDEB8P`hnq?Lh&);ka`+xe&Lj~{$z7D|f?xF9!M`D@ZPSC-~mOL`~B6O$Z% zPb|TNA9xS}2N6e)Ch&fQk9&w$Pau3Oi;^RWqoO!DgBVA6{6d)}<WhLA+=@fn^pc zoJ7y#Pz)QSa{QppDpACxMtFw;h>s-`ewpmI%MPylWh(gPN!am3CispZ9y-SljEeu; zT}iZ4kldrj;Qez58xAGBKHqR_z9?8EquK{W8%|HgNJU?0C3JMNat6W3LS9ri&X)4xa}YlvqO3Ro5yJI;WXwV`W-%GFk%%@s4xPGF3;XXl{7v-# zG`Ebe6d&-k&I88VKpWSQWlT73JMOry`P_+lO(5e-%Oy!_^KP*Iw%1nat*QgtpCmy)UqRiG%X#`h}} z)qvQ}D;O%M$;QvIpysv5@u_PT1mp=|H>pCg(Toqr!6@+o6uqy}Y6lYn4kiXXM-=tf z8;f6_eHae=-W;AhX_7i>OFCa=SrK=)R7?A%JU(fgFU}=!HQ{sFE+0gUeTex7#F%42 zam^Is#Yx1U2*qX(;^_ChOq4#aEuOB~D7cXbkL7wiMlW-jy9wKRh#yE*t+E)r${dk5 zrx11#{V_Sno#OKQ4<&*BJPA7z8e_U9dQ53V?qA03ZNK zL_t)1V7K9cD+tdVL%i_>!x^a-L_IK!N;Ipt$@O`6f2#^Ko&@jzPfjrLdg&WHd7%)u z`@P&{QPWTyeTW>#Ia30yCQcYLC^Q@4G7eRV=Cas#c3oNIbp5~hqehNz&S5W5WA3%p zTX0ZJNpJo2aro}Hx-e`}63+&aUg7^I7VosSj zLRz#?K=k|2<*i$)nAb9VoyDxi<;qegRh_`?-3$oHll&gD8M__}em%lmtYuaqSgFG8 zC|>k%g*Y6n8R_LU&xMeA711V(N_d8WHKQPJ=6gVVI|uTn<}2qy`lWk79M~-;@jOu;QJ5dq@O(R~_PaS!$ZE(_zaq)N8hwr-~T z+vcWYd(+=k$|-Y))cLqKJ)3iH*zDUgy_C~sy$K1>6bWPnr5&(8vrBDVOOkaN9F!Ek(rlQqSVuL~h3Du_Dp zVReVeg1qg00p)6CY$F}w(EeR{*KHTcxT6P3%a$Gx)e)z>bqkYdG}U}*Gd_*WNrjHP zJ9=ihT0wBCuMTY`FWNSFw*}-+fPBz0vh!;2GE`#-ZH| zSpm^obg9#Io0d%_FaV12>U1ZI(oK`c_tL=s&`QZ#!ovaUUS{H@BJ7{;xTy@>SOngY z@@I$G;n6zKZfaX512Qe<|r?Mn{EJ~J>6nM8?se=CFR__BLLtZ8TkIY(*S%9K`<3T z@cqM||L4>2yAF41S!WTl@jBan34)LQ7yrMh^Bp)1@6`GSsefoD(!TEeNxb&_<5^l# zYH^^dH|%f(Aa?3d&YYYqTgS=`0?x{E@wT!ahD6!^ z^42~O1w@?@zL5>8-{G^qV&rQXkk>LIcbhB^h@I0SKpfyGFFV%X>#Mz*r@)?VwR$x7 zYdI&>2wGlrRZCbKZhYHIMu^D0z zmjPLhUo{8c$Ok`f3i+yw%@BRayaM9UVC_iojXV!(swdP+@%=K$0X2t+vX-~^0bkI> zyewZ0zEj}uuW_P!t?aTg&2MKz7UY1P;=aW_s+SXa!Lj~6Nb(^_@;Pv5Zv{&Q#DFKp z9p6odJROI;lL6@$b6#|fnDpxyP+kLf-vwEADcHWT3B4mgJiNpFn{NTdKl}MhR%Cza zK6+ZZFjy9m1h{h_Lo-mY`%D}zNz-^_F-{n9a%mn9W z`KoZ1w##YYr&-`J@diKy`}SzhJAOQq$BrJP04N>XmwRK`2oTj$N*z>uPdwY*vZzLp00bFS?tvt}r`yp3N7IZsHOF1`?4l zykVbOD%!NLt(KU{d17*YuH#q5;A`37yLsRT1s>F9=Y#9IfxG)aK5YU~5Z9kMI|nkq znYG6Tc3S=EN}htDeyl9A0{s@vZy5=$Y6U){z?lus$pt^khiobZCz=j1l#Gl(7XKQQ zdm**YLX;$V>la>uc2g*wgHo~AO{o>uLLLeHXxOlu0TfB zwr&tmQNG22mMb8Z>&jjmDJdz6 z05O!ij>r~%Bi#d=vc(j zVgY*&A_LF=ynD9tZ#^uSF*uMUHKaZ?&u8uF&(@y3tV0R zeyBiO3|``W5DoYqzs6C14c0ylk!QfYPl4qvy!Ds1$3Kia%V~Z;13W1X+eT5~8`v$N zyaU;#E%T+|_#WS^@P*&(Hk-i%oYTGDf#1=V(R~N258pw6 zaNoh-Id%Sj0>w)#Ogv4qcU`h^qf&P4P|o&kTbT$th&EJi$N=Xnz^DvG0U{H;S#^j( zOoP@BJJyg+U#g-B~~OBuMP2>dD^T$vAEn+aoyqg`nG{^y=DmN#8>277hypp~h$ z%N^SJh*GTv5l73YDS z8k=C7nPDI!V&;qJNvZ~IqHmo)0gxX(Zz+ICoz(fenLqfrM}6TXn=~$!&Yjw_rLoMO z(LFsKvMAfnnk`S#Ud{k4#)e}^Pq@Z`#UKTyDQOiv5Nj2prj z(`=VHl%`FbYnG`6d zPU`%fK=C{^DUCveSXx@dcI7Q4%@*uKIV$c{gC|;%J&+0Zwfqldi2ba~oNv5^Rf7$f z&kk{pq3s?ku!fAKrA0fvV85OncK{hl7+bUp1nbFf!q@ZhF;Ml0G7J3COxsZw zhnUJnGID}!-uQC+C>FTRs)+C%n?!jLREP93l<79cHhyYV?G z4VGUGPT5MH*o+a7APhKSa1Y*i#pyin^y6%8P}}2n?X)Uv<@1~)W?8pYGSbu4VAY&+ zv_cn$yIGmJkeQhQ7hDSNy#lQK37C8u zQvb9E#m8@S?AygLH_x$kbH_)1>?kjoh+7t&1Fk&}oY)Nw`_CL5b6lkJ%rx*lui4~~ z=<$x}iewlzxW+sjJ!dIUOr6yEJDdhd!z^uU{oKmG=ygV@A3u=gWL*yAG;4jMtrQh* zd&5$nd1AI+`r_94nK9Ur%QZxIo;y^ulxb7P@P^AyH-{Or)$<)M&meZj?9;2pW%=D$Z;!1bk&Ri)rZWqu7$Tjsd!CWj`Q*>w%L z_FPEfw_xINh*pd85~S`$$hOD9gU{QHQRG?3S3dwhI{`9l8W@WO4At!?2>J62+WF9M4X3 zT%QBpobgS?(x|kA>SW!mb2(cyFVnCoYL2q8&as$&%*Kt1*{4Sbo^kRqy#Dgjc-8q+ zWa5~?wyUfwgW4t=5LVclo_*Y@Lj{Wp3oNEU+i|ngasm6K2UIDKww1a)GCSL^+r3o; z)~l`8Fu$Q<;HSQZBcoUVy?uBDhzgSGwtW=%S}X9Y9-s{JV3<%~91gB*2QJS8N1GXJ zj6*XVH#CMQN%XTk|NEy|G(bodrEAOklkt%4=Yq?pfprhS{1I#a0I7cvls|yf^}eUU zH9r97O#(Mw3K`nkzP|-=wT?M{l)5J+xL zHhXsK$kD_5^Q7a3$!W)rk|`60^Z0Q?vVAO>5v`2g48|&CLf2?J`C=?7xLLmaPdUQ&MP42 z^!7f88J02^%FlDb75OkwTv*`ur`2ue#VGYp#og~_gS{K}$F)+_5O;?KM|cLNKrwYv z=YM#POiWwgvq0kJ$Cn*CYSpzU8&pFBt(N9xLo}24^DOXm6&WjI9E3I>EN|6}ojX=Y zx6bV}Fi3;y4g4mJJxa!o=x=eRx(?W?WpguYh?rzQFSLu9Ik3ESb6O~of??#qoo4&L zA+ODLT#*MppALD;yU$q5tTtlXqwsnI!-y?b0JKYVyEIgdM?q?bgNsTbJ>yPRC?F01 z69arC!S+s&FN$E*Xe7Xv-!%#-<>1+QHWpx99k89_%Q=pxq#p(-bH~&Z_AfHc#Y&;!YJl)BJ4$-!Yy5G1^w_oJTLU54^*;Tul4_Q`Zz-R`wS_MC! z4%?0XEC+II`r%5kP89-hmPpq-dOlMd9jTK#f8{xH?(~%3Z4T?T4OH;?QHhgX%`Ih) z@8x*6>vyvu?`A^Ovg`G1NRbJR<2D;qi~Poxw_9#&f8}jjh*p8ETeXl@Et=cM3Vt2i zS9liLWHo+X*s*;ZvmGldD~jB83=C~vmge1aWOSP27X`L$qWjdk3aIex3vQFbC4DL0V(PQ7Ao|1ibSY@a+@8Ia9znQ^7x<47qxUlVX+F zG*pH`Al>5umlZ)i&4Vl`fb8uIZmIz1<$(+GAPe)s4|43WxAA~pD|pV(V0*tdS?^S* z=&%dG;OIF`Rf?&TI{yPOyr*Gq7>|P2Cl@%@b^+Hk1s4|jJ>(Cw!S@v$v;D@2I^X=l zW{H8#8kJqvIa)?W2363lgot_?s;*Gi@H$37sTY&iv~A;WYulPFnl;w1vlh8Q;H_=4 zR$Tf$`^TLu$@h$_R)Z?3`Mfn`RvP$99Q>k7hJpwBc+-iV zamT#$KsFAvmYI9|fV&$*Zp`;Gn6yYj)I1(=c(!-A(bxq2xAW4SEXx8_@U3fk%6KCj* za9vCP_zk5uZufV1%`bIQ=Whgt(HyI9u9JOz z!ToK)waviQO~6IP;M_c`gbWn*qEP~B-*ruzZx@yHFwwLHN;y&CbwPffG;7jG%3C+L zYS34NYWCWKty(mdveF`EWJW-!?YeJ~Bgu|$RY#>eS)A{yB2B=17U0TWkkuU_uLt1l z0!WRv!X6C$7Rq4A+CE^df}z(MdRBQLq-p@TzcqM$q1OoZE(~;LX!FF%*5Hi=-n}}e z7HKAg*4d?hY<${ZC^OUi3gTNC;9F`|kp@|k1rD}Ig-ASZ&OfH%^rVS?4+U7=!wzE> zxHU7w??}&Au*-$a%>zHm237biYB13Yls+C57v+Jks54KtA7kk5wT=zG%mb(CUbum5 zETJor&bjU1QQNT8NuB?3`1o%RgQ58m1~R13aYr9Wq9?enIk>KwpJ}ZrvsO-Dw8;;0 z{9s=P|8M7jOR~Z1Gn}XZ`|uWuY7s3c$=hTp6C1|jjK$L!#v>C{OW*UN<0#IQE~boa z$Uvn#2zgc(xV{AZAlrlC3nApgQm}G3_1z(+JF%g+{V?s#;XJ9Sd$Tc_bg5eM*)x!43@oyl2rMpx$KfbRMB1b0?|Ynp&78o?p}o+$#~ zZvr0d2ySm@x7!Q&lRR^g=BGK}6In=hk9iV8B|9-~c~veGx9}++THmnZXZyJpTN;H^ z#Z0!WTmDEv*K}LRPc}Uj?|RSrk;SQktQW&Tuefe;>%? z7U0)9R~!f?219Cwfb|`~*UKOU@xbPuw((No_+$mxI?aP&hJs-b*ZC-4Dgd_@gP#|8 z3o|8jRGX-kp@v7juP!^8pjL;c>emM`HPp4J)lXE!uB4B8NUHIyeqA=yb)3s1e@Hc? z__8Tvebg4~n~YY7^NLI;F6<96Q0xb;X#+0L0iVeSvw-C9v%pokK7v6(RGoNQsDRsY zu*3Qw)JhS*jh^#Vm6$rI^B2Id7;v*pzZQn|wg!hlCY1!-*B?^f1Kiuux5`=-ZY+U( zKMQhIF?gUISgCrw0g$?Gkfp_tPx3wCqOLLuT%YBGw`Myjx9Tg(Uk<(rpYk!NhlAVw zoX~cmeOzhGIZi8ZvZ5tqa~Wh&G35Px@Pz<;w-{147P5UX_<9JLQwpiksDL9RHI}v9 z2l7s9NQVN)Divc7gw$y3+!=hW5m;oPt)>!cq!3DDP5g^;qD}0KfWy;3-M{`kAM#!< zx)1rt3$c8Ba}1Nk_|SHt?f_xJEEep0t@dVz^PkWY#rn+w3{Stf$#8R<^6 zs#M}-aUSINxv>3epO+m=I&A`Z4pbKG75)@UoO)>#7~Tib&lWLbr1StegJ1?Lxo@8^O`^L+LAs|-!k zb1XAs0&gJO5JaUwtks}?+yG8vvI2RtrDIJ6xT+MgrW{<}9DE+&$Bn_-v0$AVH)xgC z2&~d=l+l))XIewuOsUg$xg&U50oc1B%3W3v?*-o9#M#`=R_%g-B@r;{=T_CmLg|+7 zcvn8Sst{b5XJF5{`Je*-(lT&Kng6}t&-4}EJDHIAS&)BMe?;|mRAMOzc~>@MZe&TO zk{PWiUyb`pcWx=Txih3rWkP-I&4smH!DM%EYisahZO5}9ON+p2&weuz%@Wru^PFWX zg)Fl9W+*KJ$2+qfm*hh>7CJdbR|-{BZ~4wfvdl@n3Q{L^{_|;QnR>ywgZe_z3c`Zt z(*wD>Fp%Gug3FqM&lEvU&vueyD|dmsS^-KINc{lc!qpFi%+u;H2VBz^zALy)6fwBOiR#_?|d863L$(fFUw$fg*V&7ZmYA5A7zS7)rcN=h51!P52a93Aw zb64BckR>g_I*k+^2X5*NS=T;F);q@Q3q^H?>QJNe!|srk?Q}&jkjcf)W{G<{LoO}V z)xkjgY%rA5H7u$Oygk>+l{t<-$#Hy2%_0iHB?aK@T!=bw&n zdq8TtLRPB$CLi*gW>*)0J3E2W7a~0&)jc2|=0esLK>jVq7=GIpQV{N!7VwEY#|LtK zWv=q2KuH#>dNCz>{!>+A>ZH!MKyfON292heia&&$`Z8fX( z1*_G{AjrZXdN>g zZzy*1NfU6Zw#O~O6-^;)%fZUQ;JyLg0eh3mX^sY|q{-1>y>6Z;I35FP5WTg^D#9KP zsZmjNXUL3VuNAzbh2!$BU{@tO5K3kQ#A7oZS4Jd}GQ3(1E-wU^6@x3Af!jM6$a7B@ zaBd;2CDq?atIq{R;Nl$cw>lThL~>CUL}!IfZEMG8PtB7603ZNKL_t(nyHnBwS(fAH zgKw*DFb({$IGS?~ihwYBbJ40#TjoSJFxe9#eZjTOA)o7>b^&-@CXzaD)HsGZC69VT zKGXTF5-&wyv99syuDMmFF@4?=eba(OjuKY>`AtMpoVTLqK1HsiPU`#xP#gx;t9k4H zWJdgO9*VWI8QM-FklUL(ih`cDYy-i%LEz@*ko$|lb#1|#u3-HT@W6O*P9a2tp602G zwdSZa0$(n3QWAh+;Mh0Y$@xW2o^A|kJG`ZpfgqPO^{ndluHKYE8RUgc!F~O_iK_{# zeXOWeg$j@gh=(i0p^!Qao$m~Jt|^S!4qYIl3j^la?-7%9FX7>Mm8mrHo`xT(i+2&^ z<08oXQeTPH_x2=4Lg#h^z?IFxcQU{Y?Yxdr=ZRnBK(5IEAIkt&WPy*VfLo1UZ5|u) z_DpA>sjl6#GyS~q6J?DDMsF&8!DL@ZQXkV^zE##4q5)zr@IYsX5;j|k!Q(T)0Wt8k z9B@M^Sk(bs-^PQjdNZDAavLMC7zRPo%zS;tSa05x>O^Gw*1-eN+Ii7f$y{gpJ)tz)&|^K0omOe+))m$Y6&iD?k`K4fVtA|FO zg-V9#d~j4$DQb17tg>E@hN!2Zf?{P)$eI>lTV1ttA=7xnz920kPM+Uei8={gU z1EnBlvq_CCn41N@mj%%Z@y}_Hj|)NRZ!#KR750JbE{D|X%3#k36nj|9Z|(8IQqM#` zshUUx%nt)zk>OYQR+sp=RMlqwCdcQ}n7^cR^#C3Sf?z{~Tak;!l0htPv%~;6Bh6g} zLzG<;WnqKv&IP3#q&t*O>Fx&UkY)t|1y+%gMx;ZQMq&Y#?vh?*5v043Z{L6M-Cyv; zoilgNJ!j_S!E^5bOf-{aD1`%ibw&NYG)r=FI!hHeigMS}%<_DC!Vj-q8V-W+epM-@ zxUzEm;>UQ`gk7_TOCKK2;dE=(Gj(E4=j04(>tSgtr)et}ZL5Feq$M->gBX=+gDTT4 zYWcCd9Ok?9lZcH%RwZwi2g8nfziXCbri(2$f#JtF%F*r&Scv&Qak3>DJizzOYyEq| z0IiBN%4E=$c9jh4q+BWbmNp!!iHv7Q#W~x^e8ZH){I`f<>7>ZITOG{zjv94W9)oLuDxpD^cZC6`bl$ zrczhNcxKghKMCHyW%lfv_~BnTU9M0a_SktkxX08Y`%WcQYsaxmnO&mYF7sb*-9gTU z&=pw>-x~qrl*&|9hvOyntgGGaYdwI&PQ;d8{~j07c$aI-*-rPKa(lzz(8tVS@a_D> z-huTX2VLymHlT8ckcYN=$>RPhuW7<}Wd^XaK=)pj`NIs<_&HLr`DO-x+w6-Eu&t4| zty-q7UZR3t5!84iOv=uAaSm*4Iu-r;t*zpQVW0P#(^*4vzuIzyVG8ZpEj=lZ8$E4m z{GP#a5U;OG!%&1OXtj14M|U_xwj1kChwkbr!5~kql^DrqytZ~GCk;my+RvwLJ8O2{ zdS5!qn}@-P8r}=Hu(>W|M|ZdNzmmQ;#VuaOftN6DA}x_7n|SMDDeq^&^AOv>@Zl@gpzhNFQxNfGc4cK8E4Gap zifc2KLd017w|CEM@6#>c@9wF)5#Re3mX!VZ_ys;_gpuYu?;pC`sY`)A%=Dru^*NM6 z8B2X6OFLLfO}twIyUQDqGprCbjDQr2H$&D9aA2s{mt<$?3bQzOUzR0COR5`gy>f&G zEXAG%GQGggo(v9SG*ci(^n88M>q@=5GTCBjhN(&Gvy7WoRso1gD)h`VcstL@0b!*9 zn}^MEc%YcK|KsB0 z0HtcSeSbnTiTMLgP7m3baoT~!%S@F|(2RU!kT-PW)LwZf+gKl9yXy|+tCmrk55mfN z0#Wb;OBMYg`UJ%T&3__fyw)WSRd*Kb>g}*WeX2!vb=RI7mw1R$o!!DLJCwZdH;-i% zX1>bL9KW#|OgAt1CamU1bMi-zuLAL&%ZtOj} z8C7{#?+9lpv)ao;;_>JFPSj}OTnaE={@=d#1*|ioyxj5@&$5lPWd%H%A08$1SF_vK zx@mO*Rw!zjEf=-IaxCGXBkLC#qNtTVq(z<3lq~;;O`Uu%UYy(IvII_(VFY%R9Gz@k z5@d+?BZTqe?rGf2C&kYJn$Wp?C?s5!>Nlm3lvs!ST5IQy^z-tVpOgRA@GJ8@_AA}K zMyP9~r_06ALsL(w9L|JyITeY|fQ5YLF_-EuT=!4Aqu?J~PsmoaT!64)N$RcAa4FRXeCkYHJHG zb6^+KB7=wsqD*{MoW_EY6CVWM(c$j5wgzN z;EQEZiKpYzI*z&r#fEVph$x_dkKlpCP zJ`kk3r7$dQ2oSe%-$;TID`AH(gF?GIhF;O@zltHDl#-gnjd-%2S2(vmf#!bBn+KQ^ z> zl{9TSIlo1r5M8Vgo>;#c*J_5oQX~1&qD~b{qkK#z9o;YO5tOuix-RGa_4_<+v$T~Z zz=sb@PxQ7vCOwE>aHRh5UfEgDf|cGZKEg`E@&u{z7gb_q`^)0{B2G;jPtS0$oi$DP zbK&_YlS+u{YOD#HlQQ`I;fEN{pdg`%dC=nEpAQW$3msDqqj%f+A-?2sC~{yMP;sht zjqv&32u!r9bwa0qt-NnjUb&(han>$A;lgc$4%NL%c^B` z(7;-(S&0e1kbw$kd1CE?gIIlz*w^6OU~?ifD$-`<54KA06>zG>2GFXBc_bX1s)`jw zl6cxX0|T*Q6nAg^44zkG)jl;XGI)1>m>Z|LedYFiSt|42chq#T-MInk#~LcZ2M$|$ zX$z?A`uT0vo88R_Z*tZ}BSM=B zLRoBTaB95^>_tVt4hLGz{WV|;H!aJ*xAg?MM;akYvog)`e);T63T1}S&_yOHlNw&7 zi^5D{x2b&`*rDsbn{rc@PLVM5T*Ue}Nr!y)8>i>hq#Jl|f`i=LA|0cjHkU^ea2o{g zM3n2Pfc#48Uc}qW7NbrKFz34wi_G7C4H?-ZXvb?(OAK*G$^~`Q$GPKxT00l zmqUH?fXuSsm1%0LB4l~5uEFN#4ELPcAAgw<_4udL*zKPi)4SAEhzaApws96$C}bX>1(6)g$+le=gn@uzxIZ!XY`KUeyFCFZ_=}rodrUyg-h@pp!|=K{&?(T zUFL4qlrD01C%(UVIr4`%&;Wm6rf1R(o%SupwgXP^wyr znVISJ41llHU|+hR#1_FF=hV+w5=ef;{3<382g+wEnxkLRm|nl#Aquj|CO0p~6lY@P z#hP5oq+SLul%eWtIgq;H*L&zP#I}u4XN%0lOfajMS)nsIhXDvdNo6@5!{`V#g&Y?|4{>H*$3 z>h=xNsr6pVPVhV*qc?J_P~J@wMQ%0Pe*)&RN*8{Vkp85UMSCQV87_KcCn4Bra+;tj zRY9-Jq!y?f(AkP)pBVGk0NRV3W&EMWYNzJk@hvBa{4zImX-GanKb^sUOMvJN))bF-se?WjVbtoR{Goc_y#eUqI=-FpI5u7- ztMP`cl~WauJ9pitt|^dx`)vW>c=UI)L9MePD6W6iw^#m<*Zsn~BX>o-Ll2)4L;U?C z0UWDkI&3+dtCh=KcjA_`oO|%?3{eWU{xu`@op2hg6Gn|Upl)JOKe+8ygHQ()y*TAD zx4ICSmt!TAWgtWeiK1G*$DKpMz6rQ6k9P# zGem^km#~v3r8m_2Oi11Vm8t>dDm9fVHN~^=g*0pl7M#qjpA#7~!+Cpq00XIU0)8Z2 zysnP`_Bx;M$5(1WpoKFGaS$086ITqji7Wu+lp)x4AcQJY=7oR0aQTWErEG0V`)~tH zpMXh>6)!Sif}8!c5hJO1{W!Yb5BG1s{HUC&321#fVY@^&7bV5$ql}{V%pgWVruHkx z(*L{f_;Xd&+fGws9c+KUX%26WcbQ^Op^Rw~IXhJ;usSe{#BST9^<8i~nkz>27RDqo z^s3At?`NRWg|~}P1-03cS?cj@^ina3_nys=O#v=9087F%NzvF3Dv~8M5JEeWwv!@U zfmct}97C@+GRe~4>T4qMI)!L!bzeU& zgCzyXad8M@Q$)XF?10P`8iz=Z9YqNhj`Rh z(|2fIo!-0@!!HO?;5(J+-#N!f-(bZi$uC?K|F|eJPs|pD;wT3J(@yL=N3<)J#-Q4F zZAd>y;kGK;m3hVpcD)Tfm64uQsmln$HY7;bSxmz_DL;TELQ5n7{jVWPo*0RKIJ3e) zUFmoCTF0aImx28)E%4A!QYr>;ARNb(tt9(e-~kuvmV}CwcD%W z3WJoxAiAK-39RrZr}oc=tJbEc%x`Z42&~hDC036c9hGtjP13MECqxauSBcvI7R7$H zs8(%45NW3Nnd{oQ1p9^7&{mp=Y#?iv%yG(T4SHw#*srLtNA zSQXz6Z^9>rS+#hP8TnAlo0!7pGpb?_l4eaWtnXKNnz9UgOWT779pymkb5Rij=0+&$^~8oZ- zWrP6Mx*WG=&5W7OR;XUcQCw!rm_zAEza~OE)+h}^v5phQ`PdKObSX4Q9~3XYBSgD& z|20d}T!O5Ij^uz5hdCQ-zR=mbfy?}TCl-29b6j#b4?biLpb%9Wf3^LfR-axUC&Gd_ zXB`y2XC#pa{(1pz)>9bpn9IwRqu0up$6G}H^c0f^>ZU+eRodM@`C?;fPv!eS`(C!+wE86JQzw~_6sO%i2~+ykExz!znp)0oc7$M& zEdF2HUsqbSJ?d`*no26_>m%xq z1u1Gqi6^sASL0O;onB$*RDa&=2+EpkZuBIf`dpy;c{}`Dzuj+leP)2f3Rc17Q~usg zMo#@PsB#N0c1R&$o{6Ng0Mp!Kek6pvA9@*hmQZF?CD~oDDh->~*G@-=vbpMOh$1Xd(JStaD+8A|wj zSb#z4q<`CIiM;#{|G&h^%rBaE+sE_GEL+<&()PnkSA!xC(p|B{lO@u@{(D*Y%KZG_ z4koHQk7#0MS%R7lp!PqA>Y^n(A9(ULY4fx=%ipWp@Wf_~k&`cikQJ zZw7hps0dQsStua6eu>|Hl_-V`f;(N0K2aVHu)Zwr{;4IVwm4AF#* zxWsu?z=^L}&KYeFWDr6CFrSrAt^4aR>m@Y2w7HJo5kojJN{2IQ1=j zPGYe{PAUSU#~hX#tSOe01H#M;$$D|w^7GVtfiKRiUafcd08#eMXCj5lp0%)5EQ@Ck z1=#)nLHMzI=<%wzpswXLzPHV0XQnp{@VUkN;`e#osE$7-4U@>8JLnrEUTPQX~Bjmw7!A+k+A~%hq*Y zsWBA47V@JO8)@g{pCSkC>%hU@#$FuPSp38wS6E>RV1256>pOfW0J-B1uM&mw>@EgL zOIG6=@jGy`zmLl%Oa|Stv3RjWGQZ>gH^$B^!JQJ|)0N8i4;u+mi;%|}?@FGWd)8vT zrPf-WjsEXLP(XD>6$u^Z3_f3(jdC8)(RyTmunAXw{G*s3CrXNR#h;EV8n_!xz;OU- zwlKQZ{;l-okGy`tbQQ6-EWjrR>?1?9f^i3J$bNCm$=VF`-m6*a@K%Hc3v+O`gnS_A zY7zDm&hErVdx7NgapF#>vm*`}u-@{hbPYc2ihF-P-;hd8dd;{i0NAZNIaLIGgVDr6 zT;npflz1j^cwJ*&f1s5f!70HXqi~H2;Eapr1ChK1SC4~s$IriwUu^WY(uWCQIC1+q z4cWK3&JX%TFw^H2B(E?Q`hj!{_712zbA$Uy)}L6SrM`rj0V&yEj8V*y1rBNd0ml!F z*kf)iUMa)b1K9h6D`p$GmFGrpsp3qL=8{Bnf!&%4G>sy$841ZM+-GMwquS{9gj$xV zpxJR$-?_4WjmGtn0j!kO9%^H3_-xdRApgMjPxy5@q51o57DMFTI?eoD^lTH7!w}u8 zGKw6cYVdUnMVKgd?*i+ItJ`u-OvUA~-A}CK7cv|Q!G_TkrT;X)T;PAX5K*7|46l0A zJA6t+CKSKJ{ij^rTc2Xse_2Z^@CQ z#ahZuTq=J0I9V>LxMf81!*-@7sTGyn#RHSnG|Fhk_pDu`dE`G_SlC#()xE#yPAZnQ z95c3dlJr<62Pei_EiBXz@Y8|j6`WiMDM9@Zq_lUMUQA6s*1SCNuxODi!TcRyMI3bZ zQo3zJTm7CLbrmchr|5lfFRl&kndXYsf&kO*Xw_?=dkq!mFR&sqLCzeEb{mDU$Rfo%dZKN2iaHx2Bv>4 zOT^8`=$NrcR&eX&s1ZJVp(tH_o1<^Zo%m6apsVx0s5&~EZ(S}4>EfSlJS!Ue{q`}t z_KA?;Z)Gp)O7f2ql!S6zC;YBL!tCwWvs1A2FPjR*J&3N`K6 zhLK6eZ%#IWf)AC`En&}$SPS+oU7W`+b~u?AT@k{evofD=*lT6a9Z!+(5DsT$jGfTy6cqJV?2 z-14P??FwM4HG$JSh!%spIr*vrHxGinqw^t>?1nCCMHN_=V0G_z>jCd0`hI$9tPl=E z$kaV7?}MMbh|p7-*0{g4&swUkbrx5w`3gSSbQ?@Ko?I+p{7Af5UpoB6w@}mPEJTLH ze~WZ*Dhyt0J^I;_I!j5OKbB7*fsZe)MlgZU$X$mvD|F?t*lSBCnm2Qc5%VuTzD;9Z zreuAOVYKwHQ;DcH)bm+)1Zv;$h?6wJ1LTE)E8=8U^7K}9U=oSgpjKG!cub8n81YZl z_jCweTOND&=`VRogh9LZ*eZ%SAJf!^S#n*=%tP?fI9H@w(`?qZKBLg_x4F=@>jdBF zz6IwQ78WI~hN_ZLZ3UAFawhqBB1*jCvi2*cVRi4fbh1WS-YU{{-w$bHp(aU`Rm{^^ z2G$5coa%ba5&Ypa3UzT9J4X{kZw=jgmh~4^pAh5Si2P24!d#fS0|h3rZrOah!9TNN zJbt|(EAnIDzhc@HGGY1g`=fuk*GU8xQ^|lBC;=0r55TQuR+ap`fD9g7V&#n2ZTTMN zpJPG~v3v)dND_IU#Z*6oF{HkZ5Tmw|16u{iw%z)h%_@#rPciC?B|q4UKCSE`s_7cA zaIfqjlr0s>d?O2;v&QGJos4uExCz%$uSL)aljczYe(iQM>B^(c0^}<)Y{oX3&#p8d zw}(-nU+a>SNY60Q)7s$7+c@*SEb+ehM*!8jh1oKL1P&o#QMjQK>PJJLSQY5dk{wc# z&{cKH6w%F+A4M(01j%wx0f9I^L4$ggp3L$X+HZ~;t9-{bk@|GN-n6vD8|^Wy{~&ls z7Y9n+*M4q8x%Y27Mj>7}AX>w!9B{}PJ2DW%s|Kr1i;WOtMz~-*otq8r48eC~SQ&oA zhSz~M_2B4F@0u4JInbFZ(&0vZ8zA*DCcCko>y#|CmNd>;M{iX$Y<6u!Ro;J|jUlI` z7J>a+rpPCE){3w)1*=Z{BN<0w%#peJ{R`;1X;^r}l4nVo1j?X?;RB=E*2mE`={oc`xp|1^|lP4WIE-zuRcnqHk*Vyn= z-^Ielx>r%DHuZmznUoe=g7dHDTXMibD?mu@3|xEuC|CMGlJ3rdvCV@}($x%@IG|*b z2CFI9ZdDH+jq%FHs_f>hA~tTiCpC+Pv_1IiH4UDE{Y}ofAMGvMtL1E(1(BKEI&SgG zgOr>zZ5ywP9v6hv%GMv?+?ApgyUk!p=up3ee)hEolHCJTqdflp; z5QBSY@$2XT0=t{AiWc`BYg6CI@WhW2d>+{5r561n`dhCt0tp8CSUu`k0pBN5I-#K$ zaNVUy4dr`|*1%M93fJ!00jmkPq#1#JH5g@Uy@ zExv{xqOnFI<=gm<7h%vU$NY*Gx<)X+j<;C*hcG&BaD+6Uf0)3g)h$bc^*k+1YP6W3 z_hnZhexq&B2UE)19RFXev6b7;i;ZWyY%$O3iIRoC~;De9`?4j71*!7GE^T2JU#_VFpSjGLbHs%oRS8hMWy z6{OiQ+GOqCNLhW$Z5AnP7740&^|oa!NJ3?Y1*ZCgkyYB~m@oM%S z`J32jmz%VfxQ7-jz<_05>2PGLXp$N`>P{TB1V$8r+P=^^*;A0jEQuewf#lbLUR7Wk zrR+p^RC*k%?`d>{F$VfEKgl9&>?(uc%a>ozAeZ)|;udk}S{O9QRcTg$0C07rKX||m zXYWULRVm%cnMIR0jVz)vpX($%V$eI2{*K`YmdoSBIv(zlIh8)x{nCPe6a9g8ihK%( zbu{~f%)*2N%iL~yKl1igX~}I@3VWXza3&4h?O10(RHmY<+rfxGw7%DN6LE)97=p#9 z8rS)|0X##6RqG{e_sP!L0$h-j9y+YdZtziwS`24P0w+u2wU-ahzY4;pp9bl(6?q)8 zlvw2~$DyBJ&Hwi-IDRofB+7|94Wu~|) zl7B1-Q82r=^gT859eCoq6*!nFiacM(2`Rv+8`3amNh1!6O{w~rxd-9{8Jd-7vNl`5 zvEdOsuEZoh3zlI)R~3Bhpgu+-`|Euuu*T@`_@-TR+$Pn<`4ag^)jQM{EYhVg`(N$O=Ey9iF?MkAz`dNd=Ry3wA_!rFXOo#Up}b{#Pc#%W8o&U%tt|NcN+WCd&=MZ956dmFPSO=lIxS9(G%6vi_6n)Pda?4G_% ztrj$Q0=T7jblT-zu0*`z;f;95bDl=~ixofNRv^YLBXrwPebX5}tVM*e1A*kG_Q^AT zy2a;&jxx;BLwBf$=SVZ=xa<)guU@<{C5G`a;hM_>5fMU9p6XF{Qb@#}JRh7UL#>o` zE9Wg>TTNjj5Mq*(;fx$Jzt?^(^>*a~ni84QKC}p7)ZQ}S#1)Co#m_{}f2 z3I5%1z1W)j3PfB32j3UN`LnLvrqGAbpdLVoEg^Fo`AQJrYMaYy5$w^7-Pb%E{?Dd-r*c>csFIEoZ8o$c5o)yIhFFSljj&{1P9ZFbM7&!u` zmm(B~N*97<(w_((UPd2Yu8AayJymeJkCsp(j-->lx$q;is{KR;(W92sQ)5;f2<;p^vrPz3>B(qz*o1n6s3||(f&spk&dKQ*L3EA=E z3W-7E6VX1@dWqXzO2WX*4nEfOzX9%%C0rM zuns!^eXfT984eP@qnsj8AFQQtF}RlRj9-T79L_Hq!SZWYeCI(R+AC_q6W+=^svyx+ z@}_y|Cv+*dm|+CE8g%WT$y7R4H6&V;$-2Z(HA3nwqwc=1pn=wBzi)kW6Bb-j{Qsa(tqGjY#3>^z@=r2`@+snF*W0Q$AFxck*RkJ+Z&z1 zhPPA6d~aCm*TC+2%3pU^FddwYb?4f%TC!9^B8gv~F|%0lZw0y`Z|NW$0kuP<_U?Vht3wKOcf!5J zw^y}hC=qI6$s38)R3l_ewBH=#HsiGewVs=t7jgRv+Tl^x;to_1E^Q{v8FQXow@sxv z8Ci!YurSmnZDZ~u;lf2=CEq81TKeMKUzjM`Jk)$$;JbW#6qzJ9Hn}zgZxYkA#aoo8 zI?3{cHee5mHs1aDdT*khb6CK7qdd$s=`Cs%%vJeJ{UzJCxSVqW<}d6X^XxTi;D*WW|wV$jwPAN8iTCL@FXL1V;(U z?={glqIVPIjWYtV%pY+UMJNn!@CJuDwo|zUNN+Tj(~IUgf67xC(!z|afOKX+IS)|A z^}o#IbJit;_VOV}-z?Cr)i|Zr>^aGPO{_(9@%_pTzV)B2#-7o6&Fw03S)Ug*&E#q4 zmYHTrZ|}`5K?nv4%#@d>F5%=I9hB>h^)um%nkuS?g}Xz%UxLc)L%IHNdTw=#Nc)cb zITT1BRA4}Oay*g4oA%Brk)!a6J178O+t(i2cly6lz;>l>-wi~#rWXEK-Nh*xq2%Xn zdei_?9wFXW%i>8VDa$J&SGqz2Z8QQva}DRq{_AyDp~od8@dUDfqZsF8gY5$u z*M6aC?A8UT>E&lYAJ0N6Q$DB#mGm58WSB^4G!ObVV=`ATp0ByNaDz3M!CJ9tK4-5!vYSGqr?a$xZALw1@WV`vo z_;rd5TPqGa%a!bZ4bq-R?*E?B>4%29UiBq26?;o%fCko{ZLe`ps>~FB^=67CNmyDy zam+f|R>FKV?f%|8{&QifDD!(T@G*Q>y^UFAm;Xbv<2z5m__`#=-Ttg!jNyV2&(u{p zyO=n!U0881+H?Z#v++vIT99?utna1zl~=`>5OX&aoJuzzBNX>q@RMiC(@gmdSvaFe3jzE~!m=CDuMV`#pgdKF=ZKcC0mZS!OOql3{yiKnzJ zCBSpRRAQPsz8`6pn#U{kn#UuH*RDx5TohB4+5F=~aVXrl!DN9PuH?-<+{pgVv0m;8 z2VQ59@tJgGywFO2_13Q6gPnT}RWys2L#8RP2+uLRW!IXIcYJCgWK)%S{KSCYfVk%1 zSHzE6k=%|H0mw5PqQjrBpEt^>EWwZu~t=t?^8GS zSMl5|xic5nH($}SNw20(!X_RPo*~Z-V#*!tzX-EPBu zxLnAz59v5D(^f5~7@k)s;gS3Y!~-GX2dU| diff --git a/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/src-tauri/gen/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png deleted file mode 100644 index a9b2a23e60cc93dcdbb9f659a645566f156ebfbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30086 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 diff --git a/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index a3885eb79c2509c887e5f75064831870affe6e74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50437 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

#7`k0>smw&ZO#pW4)?oom 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 diff --git a/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/src-tauri/gen/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100644 index 223a78649071bc0dcecd07f8428f0a29709cddcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50208 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

M|}bv1B`(JSc#{GKD>mHp1K>7lj;N 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 - - - diff --git a/src-tauri/gen/android/app/src/main/res/values/colors.xml b/src-tauri/gen/android/app/src/main/res/values/colors.xml deleted file mode 100644 index f8c6127..0000000 --- a/src-tauri/gen/android/app/src/main/res/values/colors.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - #FFBB86FC - #FF6200EE - #FF3700B3 - #FF03DAC5 - #FF018786 - #FF000000 - #FFFFFFFF - \ No newline at end of file diff --git a/src-tauri/gen/android/app/src/main/res/values/strings.xml b/src-tauri/gen/android/app/src/main/res/values/strings.xml deleted file mode 100644 index 3bf966d..0000000 --- a/src-tauri/gen/android/app/src/main/res/values/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - Paarrot - Paarrot - \ No newline at end of file diff --git a/src-tauri/gen/android/app/src/main/res/values/themes.xml b/src-tauri/gen/android/app/src/main/res/values/themes.xml deleted file mode 100644 index 083c23c..0000000 --- a/src-tauri/gen/android/app/src/main/res/values/themes.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - diff --git a/src-tauri/gen/android/app/src/main/res/xml/file_paths.xml b/src-tauri/gen/android/app/src/main/res/xml/file_paths.xml deleted file mode 100644 index 782d63b..0000000 --- a/src-tauri/gen/android/app/src/main/res/xml/file_paths.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src-tauri/gen/android/build.gradle.kts b/src-tauri/gen/android/build.gradle.kts deleted file mode 100644 index 607240b..0000000 --- a/src-tauri/gen/android/build.gradle.kts +++ /dev/null @@ -1,22 +0,0 @@ -buildscript { - repositories { - google() - mavenCentral() - } - dependencies { - classpath("com.android.tools.build:gradle:8.11.0") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.25") - } -} - -allprojects { - repositories { - google() - mavenCentral() - } -} - -tasks.register("clean").configure { - delete("build") -} - diff --git a/src-tauri/gen/android/buildSrc/build.gradle.kts b/src-tauri/gen/android/buildSrc/build.gradle.kts deleted file mode 100644 index 5c55bba..0000000 --- a/src-tauri/gen/android/buildSrc/build.gradle.kts +++ /dev/null @@ -1,23 +0,0 @@ -plugins { - `kotlin-dsl` -} - -gradlePlugin { - plugins { - create("pluginsForCoolKids") { - id = "rust" - implementationClass = "RustPlugin" - } - } -} - -repositories { - google() - mavenCentral() -} - -dependencies { - compileOnly(gradleApi()) - implementation("com.android.tools.build:gradle:8.11.0") -} - diff --git a/src-tauri/gen/android/buildSrc/src/main/java/wtf/ruv/paarrot/kotlin/BuildTask.kt b/src-tauri/gen/android/buildSrc/src/main/java/wtf/ruv/paarrot/kotlin/BuildTask.kt deleted file mode 100644 index a3de125..0000000 --- a/src-tauri/gen/android/buildSrc/src/main/java/wtf/ruv/paarrot/kotlin/BuildTask.kt +++ /dev/null @@ -1,68 +0,0 @@ -import java.io.File -import org.apache.tools.ant.taskdefs.condition.Os -import org.gradle.api.DefaultTask -import org.gradle.api.GradleException -import org.gradle.api.logging.LogLevel -import org.gradle.api.tasks.Input -import org.gradle.api.tasks.TaskAction - -open class BuildTask : DefaultTask() { - @Input - var rootDirRel: String? = null - @Input - var target: String? = null - @Input - var release: Boolean? = null - - @TaskAction - fun assemble() { - val executable = """npm"""; - try { - runTauriCli(executable) - } catch (e: Exception) { - if (Os.isFamily(Os.FAMILY_WINDOWS)) { - // Try different Windows-specific extensions - val fallbacks = listOf( - "$executable.exe", - "$executable.cmd", - "$executable.bat", - ) - - var lastException: Exception = e - for (fallback in fallbacks) { - try { - runTauriCli(fallback) - return - } catch (fallbackException: Exception) { - lastException = fallbackException - } - } - throw lastException - } else { - throw e; - } - } - } - - fun runTauriCli(executable: String) { - val rootDirRel = rootDirRel ?: throw GradleException("rootDirRel cannot be null") - val target = target ?: throw GradleException("target cannot be null") - val release = release ?: throw GradleException("release cannot be null") - val args = listOf("run", "--", "tauri", "android", "android-studio-script"); - - project.exec { - workingDir(File(project.projectDir, rootDirRel)) - executable(executable) - args(args) - if (project.logger.isEnabled(LogLevel.DEBUG)) { - args("-vv") - } else if (project.logger.isEnabled(LogLevel.INFO)) { - args("-v") - } - if (release) { - args("--release") - } - args(listOf("--target", target)) - }.assertNormalExitValue() - } -} \ No newline at end of file diff --git a/src-tauri/gen/android/buildSrc/src/main/java/wtf/ruv/paarrot/kotlin/RustPlugin.kt b/src-tauri/gen/android/buildSrc/src/main/java/wtf/ruv/paarrot/kotlin/RustPlugin.kt deleted file mode 100644 index 4aa7fca..0000000 --- a/src-tauri/gen/android/buildSrc/src/main/java/wtf/ruv/paarrot/kotlin/RustPlugin.kt +++ /dev/null @@ -1,85 +0,0 @@ -import com.android.build.api.dsl.ApplicationExtension -import org.gradle.api.DefaultTask -import org.gradle.api.Plugin -import org.gradle.api.Project -import org.gradle.kotlin.dsl.configure -import org.gradle.kotlin.dsl.get - -const val TASK_GROUP = "rust" - -open class Config { - lateinit var rootDirRel: String -} - -open class RustPlugin : Plugin { - private lateinit var config: Config - - override fun apply(project: Project) = with(project) { - config = extensions.create("rust", Config::class.java) - - val defaultAbiList = listOf("arm64-v8a", "armeabi-v7a", "x86", "x86_64"); - val abiList = (findProperty("abiList") as? String)?.split(',') ?: defaultAbiList - - val defaultArchList = listOf("arm64", "arm", "x86", "x86_64"); - val archList = (findProperty("archList") as? String)?.split(',') ?: defaultArchList - - val targetsList = (findProperty("targetList") as? String)?.split(',') ?: listOf("aarch64", "armv7", "i686", "x86_64") - - extensions.configure { - @Suppress("UnstableApiUsage") - flavorDimensions.add("abi") - productFlavors { - create("universal") { - dimension = "abi" - ndk { - abiFilters += abiList - } - } - defaultArchList.forEachIndexed { index, arch -> - create(arch) { - dimension = "abi" - ndk { - abiFilters.add(defaultAbiList[index]) - } - } - } - } - } - - afterEvaluate { - for (profile in listOf("debug", "release")) { - val profileCapitalized = profile.replaceFirstChar { it.uppercase() } - val buildTask = tasks.maybeCreate( - "rustBuildUniversal$profileCapitalized", - DefaultTask::class.java - ).apply { - group = TASK_GROUP - description = "Build dynamic library in $profile mode for all targets" - } - - tasks["mergeUniversal${profileCapitalized}JniLibFolders"].dependsOn(buildTask) - - for (targetPair in targetsList.withIndex()) { - val targetName = targetPair.value - val targetArch = archList[targetPair.index] - val targetArchCapitalized = targetArch.replaceFirstChar { it.uppercase() } - val targetBuildTask = project.tasks.maybeCreate( - "rustBuild$targetArchCapitalized$profileCapitalized", - BuildTask::class.java - ).apply { - group = TASK_GROUP - description = "Build dynamic library in $profile mode for $targetArch" - rootDirRel = config.rootDirRel - target = targetName - release = profile == "release" - } - - buildTask.dependsOn(targetBuildTask) - tasks["merge$targetArchCapitalized${profileCapitalized}JniLibFolders"].dependsOn( - targetBuildTask - ) - } - } - } - } -} \ No newline at end of file diff --git a/src-tauri/gen/android/gradle.properties b/src-tauri/gen/android/gradle.properties deleted file mode 100644 index 2a7ec69..0000000 --- a/src-tauri/gen/android/gradle.properties +++ /dev/null @@ -1,24 +0,0 @@ -# Project-wide Gradle settings. -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. More details, visit -# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true -# AndroidX package structure to make it clearer which packages are bundled with the -# Android operating system, and which are packaged with your app"s APK -# https://developer.android.com/topic/libraries/support-library/androidx-rn -android.useAndroidX=true -# Kotlin code style for this project: "official" or "obsolete": -kotlin.code.style=official -# Enables namespacing of each library's R class so that its R class includes only the -# resources declared in the library itself and none from the library's dependencies, -# thereby reducing the size of the R class for that library -android.nonTransitiveRClass=true -android.nonFinalResIds=false \ No newline at end of file diff --git a/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.jar b/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index e708b1c023ec8b20f512888fe07c5bd3ff77bb8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59203 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 diff --git a/src-tauri/icons/32x32.png b/src-tauri/icons/32x32.png deleted file mode 100644 index 7e49b32891c4bc01b6a75b326dc2ca8118e8b0a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2405 zcmV-r37YnaP)Qr#I~SP8I{_qh<1RMsXA&M9kq_N7Lhuo)~dB7>Ns|&j$|KIt~fBy3y;2a>?E6$nQ>Ah5mL+!H zvLr3OY_g3jx}3b}QXlVMW#es^N;)0-9e^4S0};64JBzop|HeBq(V1?u$L}+G6XT_m z7R>iLDT@){kRK;_`Wdm1Eb;c&tIhYm7wd|(xX8=z~Os{8*6JStzCCtZ^aKiWA*=Wr?sMI20PDh=Y-}$UV9;8 z*}3^v<Ut>6dWOm`?=QJQZB0=}5b zoyJ5Hnxc^EfKX~XAg_UrVQ2MBef=OaG!|p?%1$RuchIi?d?h>wA_B~#D z@dcbQwVm5;S!vDaY-My<1)~ka7%j`-)7LxLIoc$k)9dxo=QU}wNjhEWmf!DXZg#*b z$jhRp>rVmbIAf=zhoc4BQ`b(A%t&{~b(@_&pNCatLpZXbinF^~+0vZTw)IT((e1PyhtLL%>xNFlmBt!}&f7D5gH&wF28G*2 z(_zx@by4YwSg=tF!G<9kXEZBz)yvrW4#~WLx+`H+Db)_8+D-+*@SITQyM+Zgv^&f= zAXrt9%@qqTVEe=|9OCtIu3d2+z;We;+_bTmYu0_A+i&XO->boQB4D>uQr8k|FDW&R zF1M4RtN`r}7llxqT&b*RSP{y$&oGS1$#ic|%>l(ezxQcRx|?}{7 zSY11mp4=Sv8Q`woX`IzPotl)q@4>Cs-q9{{BzUkyaGfC-F%%(HB8K8#uP2rn@W!J> zW;`!LS%9?C)7@62I84*D-SD|YMDkQ}=$$gLnO9#no1>fR23vb`J@ZRT*qtf3cWjWG zH($jYZ(Yy3*DvJ3F<@+(;45M9R~i`66{Tr1D>H+|L-JTykV{Rs4;Xgycp^spe&30@ z>N4i%hTa4aOeK-b2WXhm(H!fX*uv%!wN_(&6|2fiSQO5s)92&%V#)sT9zHg$gnw<4 z4Ug&q}>F#X+I)#+a>AK!;*zNx+D=A<@ZP|(X>N5I# z>1)rHj!RpbYCf6J*2wb8h?N-%GR@~Dl*Vvjm@SbU9zGA`EHE}z@S{fX=b4f}UT(6h zQCeg3Bmwc3QW$qyvx#geT8lF~cw~vo&RLqU);YkNT?U8MS1=Utb9XwpKNEaD z1iqF9-kd48W2xZmfQYZ2B$;l=R{>!s=QvCgLPkqq!iJ^1=?a7|F~qBO}(rr^c8|7O8lV7A^AulVuxzLC$qu3vcRJwK#l`{St>Z!Dfn;@JUSG7 z$`3Bm1mDgDSp)0Y5MsS)@_0Z~halywRNY?%k(A!?y6o@HlAM((tb?OK&iORzAFBda z1O<0h2%c;O4^#*~R3Ny{Avn_}<1B}DZ%~|=Y?sHJLfxb5r~^*diRUcORHBO*sl2z;a!+*&4hV4mR7HQ+zH!Jifj{v=oMH%`QhHFdJbEeE1D`5GYS zIKHg@ayQ851V6k}aL;V;^)6WNjl#eJQ_`i> z%YfEmlX3w+3$WDk{%b)d#oFaVC9NwEJGL3zvjjZ4TQGhfIIs1yF(H}_^n4gvO-`a30 z24|GxkQXf}6nwG`d}$(1{A~n2InaOuf2zUd&lI9E@t?jg-W9(y$RwBX=ZEBh{UgA) zqqu!v6}n%nMIgoa{|^52(cXni$*%sD$zFQu}`Z Xk@bK&E2n;z00000NkvXXu0mjfw!*B- diff --git a/src-tauri/icons/Square107x107Logo.png b/src-tauri/icons/Square107x107Logo.png deleted file mode 100644 index b9fe19fd2e69bfbabd43bd8bc4bde8d2b7c43f55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18380 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 IM6N<$g0*|dL;wH) diff --git a/src-tauri/icons/Square150x150Logo.png b/src-tauri/icons/Square150x150Logo.png deleted file mode 100644 index a54cc3d096e81330210d88d1ca67a024f60ced6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32479 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 OKsj%Pv@9{d9rs@Wx+LlV diff --git a/src-tauri/icons/Square30x30Logo.png b/src-tauri/icons/Square30x30Logo.png deleted file mode 100644 index 8426feeb04b0bbea1acecbf3a1bf84dd232a7c6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2191 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

cT-Q>YUAFCE`t=GYtuK^nc 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 diff --git a/src-tauri/icons/Square44x44Logo.png b/src-tauri/icons/Square44x44Logo.png deleted file mode 100644 index 32ad97b679367297c08f8515fbeb50c4c05112de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4060 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 diff --git a/src-tauri/icons/icon.ico.png b/src-tauri/icons/icon.ico.png deleted file mode 100644 index 60d77eb015033eaadff1d37c702e326059b6608c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82811 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 diff --git a/src-tauri/src/background_sync.rs b/src-tauri/src/background_sync.rs deleted file mode 100644 index 398bd34..0000000 --- a/src-tauri/src/background_sync.rs +++ /dev/null @@ -1,133 +0,0 @@ -//! Background sync module for Matrix client -//! -//! This module provides native Rust-based Matrix sync that runs independently -//! of the WebView, allowing notifications to work even when the app is backgrounded. - -use std::sync::Arc; -use tokio::sync::{Mutex, RwLock}; -use serde::{Deserialize, Serialize}; - -/// Credentials needed to connect to Matrix homeserver -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct MatrixCredentials { - pub homeserver_url: String, - pub user_id: String, - pub access_token: String, - pub device_id: String, -} - -/// State of the background sync -#[derive(Debug, Clone, PartialEq, Eq)] -pub enum SyncState { - Stopped, - Starting, - Running, - Error(String), -} - -/// Background sync manager that handles Matrix sync in native Rust -pub struct BackgroundSyncManager { - credentials: RwLock>, - sync_state: RwLock, - stop_flag: Mutex, -} - -impl BackgroundSyncManager { - /// Creates a new BackgroundSyncManager - pub fn new() -> Self { - Self { - credentials: RwLock::new(None), - sync_state: RwLock::new(SyncState::Stopped), - stop_flag: Mutex::new(false), - } - } - - /// Sets the Matrix credentials for syncing - pub async fn set_credentials(&self, credentials: MatrixCredentials) { - let mut creds = self.credentials.write().await; - *creds = Some(credentials); - } - - /// Clears the stored credentials - pub async fn clear_credentials(&self) { - let mut creds = self.credentials.write().await; - *creds = None; - } - - /// Gets the current sync state - pub async fn get_state(&self) -> SyncState { - self.sync_state.read().await.clone() - } - - /// Starts the background sync - pub async fn start_sync(&self) -> Result<(), String> { - // Check if we have credentials - let creds = self.credentials.read().await; - let credentials = creds.as_ref().ok_or("No credentials set")?; - - // Update state - { - let mut state = self.sync_state.write().await; - *state = SyncState::Starting; - } - - // Reset stop flag - { - let mut stop = self.stop_flag.lock().await; - *stop = false; - } - - log::info!( - "Background sync starting for user: {}", - credentials.user_id - ); - - // Update state to running - { - let mut state = self.sync_state.write().await; - *state = SyncState::Running; - } - - Ok(()) - } - - /// Stops the background sync - pub async fn stop_sync(&self) { - { - let mut stop = self.stop_flag.lock().await; - *stop = true; - } - - let mut state = self.sync_state.write().await; - *state = SyncState::Stopped; - - log::info!("Background sync stopped"); - } - - /// Checks if sync should stop - pub async fn should_stop(&self) -> bool { - *self.stop_flag.lock().await - } - - /// Sets the sync state to an error - pub async fn set_error(&self, error: String) { - let mut state = self.sync_state.write().await; - *state = SyncState::Error(error); - } -} - -impl Default for BackgroundSyncManager { - fn default() -> Self { - Self::new() - } -} - -/// Global instance of the background sync manager -static SYNC_MANAGER: std::sync::OnceLock> = std::sync::OnceLock::new(); - -/// Gets or creates the global sync manager instance -pub fn get_sync_manager() -> Arc { - SYNC_MANAGER - .get_or_init(|| Arc::new(BackgroundSyncManager::new())) - .clone() -} diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs deleted file mode 100644 index 61fb55e..0000000 --- a/src-tauri/src/lib.rs +++ /dev/null @@ -1,475 +0,0 @@ -//! Paarrot Desktop library for cross-platform builds including Android - -#[cfg(mobile)] -mod mobile; - -#[cfg(any(target_os = "android", target_os = "ios"))] -mod background_sync; -#[cfg(any(target_os = "android", target_os = "ios"))] -mod matrix_sync; - -#[cfg(not(any(target_os = "android", target_os = "ios")))] -use tauri::{ - Manager, - WebviewUrl, - menu::{Menu, MenuItem}, - tray::{MouseButton, MouseButtonState, TrayIconBuilder, TrayIconEvent}, - webview::WebviewWindowBuilder, - WindowEvent, -}; - -// Linux: Import for permission handling -#[cfg(target_os = "linux")] -use webkit2gtk::{PermissionRequestExt, WebViewExt}; -#[cfg(target_os = "linux")] -use gtk::prelude::*; - -/// Read image from clipboard on Linux using arboard with Wayland support -#[cfg(target_os = "linux")] -#[tauri::command] -fn read_clipboard_image() -> Result, String> { - use arboard::Clipboard; - use base64::{Engine as _, engine::general_purpose::STANDARD as BASE64}; - - let mut clipboard = Clipboard::new().map_err(|e| e.to_string())?; - - match clipboard.get_image() { - Ok(img) => { - // Convert RGBA image data to PNG - let width = img.width as u32; - let height = img.height as u32; - - let mut png_data = Vec::new(); - { - let mut encoder = png::Encoder::new(&mut png_data, width, height); - encoder.set_color(png::ColorType::Rgba); - encoder.set_depth(png::BitDepth::Eight); - let mut writer = encoder.write_header().map_err(|e| e.to_string())?; - writer.write_image_data(&img.bytes).map_err(|e| e.to_string())?; - } - - let base64_data = BASE64.encode(&png_data); - Ok(Some(format!("data:image/png;base64,{}", base64_data))) - } - Err(_) => Ok(None), // No image in clipboard - } -} - -/// Stub for non-Linux platforms - returns None -#[cfg(not(target_os = "linux"))] -#[tauri::command] -fn read_clipboard_image() -> Result, String> { - Ok(None) -} - -/// Open a URL in the default browser (bypasses ACL issues with localhost plugin) -#[cfg(not(any(target_os = "android", target_os = "ios")))] -#[tauri::command] -fn open_external_url(url: String) -> Result<(), String> { - open::that(&url).map_err(|e| e.to_string()) -} - -/// Open a URL in the default browser on mobile platforms -#[cfg(any(target_os = "android", target_os = "ios"))] -#[tauri::command] -fn open_external_url(url: String) -> Result<(), String> { - tauri_plugin_opener::open_url(&url, None::<&str>).map_err(|e| e.to_string()) -} - -/// YouTube stream info returned by yt-dlp -#[derive(serde::Serialize)] -struct YouTubeStreamInfo { - /// Direct video stream URL (may include video+audio or video only) - video_url: String, - /// Title of the video - title: String, -} - -/// Extract direct YouTube stream URL using yt-dlp -/// Requires yt-dlp to be installed and available in PATH -#[cfg(not(any(target_os = "android", target_os = "ios")))] -#[tauri::command] -async fn get_youtube_stream(url: String) -> Result { - use std::process::Command; - - // First get the title - let title_output = Command::new("yt-dlp") - .args(["--get-title", &url]) - .output() - .map_err(|e| format!("Failed to run yt-dlp (is it installed?): {}", e))?; - - let title = if title_output.status.success() { - String::from_utf8_lossy(&title_output.stdout).trim().to_string() - } else { - "YouTube Video".to_string() - }; - - // Get the best format with video+audio combined (up to 1080p) - // -f "best[height<=1080]" gets combined format - // Fallback to "bestvideo[height<=1080]+bestaudio/best" for separate streams - let output = Command::new("yt-dlp") - .args([ - "-g", // Get URL only - "-f", "best[height<=1080]/bestvideo[height<=1080]+bestaudio/best", - &url - ]) - .output() - .map_err(|e| format!("Failed to run yt-dlp: {}", e))?; - - if !output.status.success() { - let stderr = String::from_utf8_lossy(&output.stderr); - return Err(format!("yt-dlp error: {}", stderr)); - } - - let video_url = String::from_utf8_lossy(&output.stdout) - .lines() - .next() - .unwrap_or("") - .trim() - .to_string(); - - if video_url.is_empty() { - return Err("yt-dlp returned empty URL".to_string()); - } - - Ok(YouTubeStreamInfo { video_url, title }) -} - -/// Stub for mobile platforms - YouTube streaming not supported -#[cfg(any(target_os = "android", target_os = "ios"))] -#[tauri::command] -async fn get_youtube_stream(_url: String) -> Result { - Err("YouTube streaming not supported on mobile".to_string()) -} - -/// Start background Matrix sync with the given credentials (mobile only) -#[cfg(any(target_os = "android", target_os = "ios"))] -#[tauri::command] -async fn start_background_sync( - app_handle: tauri::AppHandle, - homeserver_url: String, - user_id: String, - access_token: String, - device_id: String, -) -> Result<(), String> { - use crate::background_sync::{MatrixCredentials, get_sync_manager}; - use crate::matrix_sync::{init_client, run_sync_loop}; - - let credentials = MatrixCredentials { - homeserver_url, - user_id, - access_token, - device_id, - }; - - // Set credentials - let manager = get_sync_manager(); - manager.set_credentials(credentials.clone()).await; - - // Initialize the Matrix client - init_client(&credentials).await?; - - // Start sync in background task - let app = app_handle.clone(); - tauri::async_runtime::spawn(async move { - if let Err(e) = run_sync_loop(app).await { - log::error!("Sync loop error: {}", e); - } - }); - - Ok(()) -} - -/// Stop background Matrix sync (mobile only) -#[cfg(any(target_os = "android", target_os = "ios"))] -#[tauri::command] -async fn stop_background_sync() -> Result<(), String> { - crate::matrix_sync::stop_sync().await; - Ok(()) -} - -/// Get background sync state (mobile only) -#[cfg(any(target_os = "android", target_os = "ios"))] -#[tauri::command] -async fn get_background_sync_state() -> Result { - use crate::background_sync::get_sync_manager; - - let manager = get_sync_manager(); - let state = manager.get_state().await; - - Ok(format!("{:?}", state)) -} - -/// Stub commands for desktop (no-op since background sync is mobile-only) -#[cfg(not(any(target_os = "android", target_os = "ios")))] -#[tauri::command] -async fn start_background_sync( - _app_handle: tauri::AppHandle, - _homeserver_url: String, - _user_id: String, - _access_token: String, - _device_id: String, -) -> Result<(), String> { - Ok(()) // Desktop doesn't need background sync -} - -#[cfg(not(any(target_os = "android", target_os = "ios")))] -#[tauri::command] -async fn stop_background_sync() -> Result<(), String> { - Ok(()) -} - -#[cfg(not(any(target_os = "android", target_os = "ios")))] -#[tauri::command] -async fn get_background_sync_state() -> Result { - Ok("NotApplicable".to_string()) -} - -/// Window control commands for custom decorations -#[cfg(not(any(target_os = "android", target_os = "ios")))] -#[tauri::command] -async fn window_minimize(window: tauri::Window) -> Result<(), String> { - window.minimize().map_err(|e| e.to_string()) -} - -#[cfg(not(any(target_os = "android", target_os = "ios")))] -#[tauri::command] -async fn window_maximize(window: tauri::Window) -> Result<(), String> { - window.maximize().map_err(|e| e.to_string()) -} - -#[cfg(not(any(target_os = "android", target_os = "ios")))] -#[tauri::command] -async fn window_unmaximize(window: tauri::Window) -> Result<(), String> { - window.unmaximize().map_err(|e| e.to_string()) -} - -#[cfg(not(any(target_os = "android", target_os = "ios")))] -#[tauri::command] -async fn window_close(window: tauri::Window) -> Result<(), String> { - window.close().map_err(|e| e.to_string()) -} - -#[cfg(not(any(target_os = "android", target_os = "ios")))] -#[tauri::command] -async fn window_is_maximized(window: tauri::Window) -> Result { - window.is_maximized().map_err(|e| e.to_string()) -} - -#[cfg(not(any(target_os = "android", target_os = "ios")))] -#[tauri::command] -async fn window_start_drag(window: tauri::Window) -> Result<(), String> { - window.start_dragging().map_err(|e| e.to_string()) -} - -/// Runs the Tauri application -pub fn run() { - #[cfg(not(any(target_os = "android", target_os = "ios")))] - { - let port = 44548; - tauri::Builder::default() - .plugin(tauri_plugin_localhost::Builder::new(port).build()) - .plugin(tauri_plugin_opener::init()) - .plugin(tauri_plugin_window_state::Builder::default().build()) - .plugin(tauri_plugin_single_instance::init(|app, _args, _cwd| { - // When a second instance tries to launch, focus the existing window - if let Some(window) = app.get_webview_window("main") { - let _ = window.unminimize(); - let _ = window.show(); - let _ = window.set_focus(); - } - })) - .plugin(tauri_plugin_notification::init()) - .plugin(tauri_plugin_updater::Builder::new().build()) - .plugin(tauri_plugin_autostart::init( - tauri_plugin_autostart::MacosLauncher::LaunchAgent, - Some(vec!["--minimized"]), - )) - .plugin(tauri_plugin_dialog::init()) - .plugin(tauri_plugin_process::init()) - .plugin(tauri_plugin_http::init()) - .setup(move |app| { - // In dev mode, use Vite dev server; in production, use localhost plugin - let url: tauri::Url = if cfg!(dev) { - "http://localhost:8080".parse().unwrap() - } else { - format!("http://localhost:{}", port).parse().unwrap() - }; - - // Create the main window manually with navigation handler for external links - let window = WebviewWindowBuilder::new(app, "main", WebviewUrl::External(url)) - .title("Paarrot") - .inner_size(1280.0, 905.0) - .center() - .resizable(true) - .decorations(false) - .disable_drag_drop_handler() - .on_navigation(|url| { - let url_str = url.as_str(); - // Allow navigation to localhost (our app) and special protocols - if url_str.starts_with("http://localhost") - || url_str.starts_with("https://localhost") - || url_str.starts_with("tauri://") - || url_str.starts_with("blob:") - || url_str.starts_with("data:") - { - return true; - } - // Block external URLs - open them in default browser - if url_str.starts_with("http://") || url_str.starts_with("https://") { - let _ = tauri_plugin_opener::open_url(url_str, None::<&str>); - return false; - } - true - }) - .build()?; - - // Explicitly ensure decorations are disabled (important for Linux) - window.set_decorations(false)?; - - // Linux: Set up permission handler to auto-allow microphone/camera access - #[cfg(target_os = "linux")] - { - if let Some(webview_window) = app.get_webview_window("main") { - let _ = webview_window.with_webview(|webview| { - use webkit2gtk::UserMediaPermissionRequestExt; - - let wv = webview.inner(); - wv.connect_permission_request(|_webview, permission_request| { - // Check if this is a user media (microphone/camera) permission request - if let Some(user_media_request) = permission_request.downcast_ref::() { - // Log what's being requested - let is_audio = user_media_request.is_for_audio_device(); - let is_video = user_media_request.is_for_video_device(); - eprintln!("Paarrot: Media permission request - audio: {}, video: {}", is_audio, is_video); - - // Allow the request - permission_request.allow(); - return true; - } - - // For other permission types, allow by default - permission_request.allow(); - true - }); - }); - } - } - - // Create system tray - let show_item = MenuItem::with_id(app, "show", "Show Paarrot", true, None::<&str>)?; - let quit_item = MenuItem::with_id(app, "quit", "Quit", true, None::<&str>)?; - let menu = Menu::with_items(app, &[&show_item, &quit_item])?; - - let _tray = TrayIconBuilder::new() - .icon(app.default_window_icon().unwrap().clone()) - .menu(&menu) - .show_menu_on_left_click(false) - .on_menu_event(|app, event| match event.id.as_ref() { - "show" => { - if let Some(window) = app.get_webview_window("main") { - let _ = window.unminimize(); - let _ = window.show(); - let _ = window.set_focus(); - } - } - "quit" => { - app.exit(0); - } - _ => {} - }) - .on_tray_icon_event(|tray, event| { - if let TrayIconEvent::Click { - button: MouseButton::Left, - button_state: MouseButtonState::Up, - .. - } = event - { - let app = tray.app_handle(); - if let Some(window) = app.get_webview_window("main") { - let _ = window.unminimize(); - let _ = window.show(); - let _ = window.set_focus(); - } - } - }) - .build(app)?; - - // Force decorations off one final time after all plugins have initialized - // This ensures window-state plugin doesn't override our settings - if let Some(window) = app.get_webview_window("main") { - let _ = window.set_decorations(false); - } - - Ok(()) - }) - .on_window_event(|window, event| { - // Minimize to tray on close instead of quitting - if let WindowEvent::CloseRequested { api, .. } = event { - window.hide().unwrap(); - api.prevent_close(); - } - }) - .invoke_handler(tauri::generate_handler![ - read_clipboard_image, - open_external_url, - get_youtube_stream, - start_background_sync, - stop_background_sync, - get_background_sync_state, - window_minimize, - window_maximize, - window_unmaximize, - window_close, - window_is_maximized, - window_start_drag - ]) - .run(tauri::generate_context!()) - .expect("error while building tauri application"); - } - - #[cfg(any(target_os = "android", target_os = "ios"))] - { - use tauri::{WebviewUrl, webview::WebviewWindowBuilder}; - - tauri::Builder::default() - .plugin(tauri_plugin_opener::init()) - .plugin(tauri_plugin_notification::init()) - .plugin(tauri_plugin_deep_link::init()) - .setup(|app| { - // Create the main window for mobile with navigation handler for external links - WebviewWindowBuilder::new(app, "main", WebviewUrl::default()) - .on_navigation(|url| { - let url_str = url.as_str(); - // Allow navigation to app resources and special protocols - if url_str.starts_with("tauri://") - || url_str.starts_with("http://tauri.localhost") - || url_str.starts_with("https://tauri.localhost") - || url_str.starts_with("blob:") - || url_str.starts_with("data:") - || url_str.starts_with("about:") - { - return true; - } - // External URLs - open in default browser - if url_str.starts_with("http://") || url_str.starts_with("https://") { - let _ = tauri_plugin_opener::open_url(url_str, None::<&str>); - return false; - } - true - }) - .build()?; - Ok(()) - }) - .invoke_handler(tauri::generate_handler![ - read_clipboard_image, - open_external_url, - get_youtube_stream, - start_background_sync, - stop_background_sync, - get_background_sync_state - ]) - .run(tauri::generate_context!()) - .expect("error while building tauri application"); - } -} diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs deleted file mode 100644 index 5d24722..0000000 --- a/src-tauri/src/main.rs +++ /dev/null @@ -1,8 +0,0 @@ -#![cfg_attr( - all(not(debug_assertions), target_os = "windows"), - windows_subsystem = "windows" -)] - -fn main() { - paarrot_lib::run(); -} diff --git a/src-tauri/src/matrix_sync.rs b/src-tauri/src/matrix_sync.rs deleted file mode 100644 index 6d7042b..0000000 --- a/src-tauri/src/matrix_sync.rs +++ /dev/null @@ -1,174 +0,0 @@ -//! Matrix sync implementation using matrix-sdk -//! -//! This module handles the actual Matrix sync loop and notification triggering. - -use matrix_sdk::{ - Client, - config::SyncSettings, - matrix_auth::MatrixSession, - ruma::{ - events::room::message::{MessageType, SyncRoomMessageEvent}, - OwnedUserId, OwnedDeviceId, - }, -}; -use tauri::AppHandle; -use tauri_plugin_notification::NotificationExt; -use tokio::sync::RwLock; - -use crate::background_sync::{MatrixCredentials, get_sync_manager}; - -/// Active Matrix client for background sync -static MATRIX_CLIENT: std::sync::OnceLock>> = std::sync::OnceLock::new(); - -fn get_client_lock() -> &'static RwLock> { - MATRIX_CLIENT.get_or_init(|| RwLock::new(None)) -} - -/// Initializes the Matrix client with the given credentials -pub async fn init_client(credentials: &MatrixCredentials) -> Result { - // Pass the URL string directly - ClientBuilder::homeserver_url accepts impl AsRef - let client = Client::builder() - .homeserver_url(&credentials.homeserver_url) - .build() - .await - .map_err(|e| format!("Failed to build client: {}", e))?; - - // Restore the session - let user_id: OwnedUserId = credentials.user_id.parse() - .map_err(|e| format!("Invalid user ID: {}", e))?; - - let device_id: OwnedDeviceId = credentials.device_id.clone().into(); - - let session = MatrixSession { - meta: matrix_sdk::SessionMeta { - user_id, - device_id, - }, - tokens: matrix_sdk::matrix_auth::MatrixSessionTokens { - access_token: credentials.access_token.clone(), - refresh_token: None, - }, - }; - - client.matrix_auth().restore_session(session).await - .map_err(|e| format!("Failed to restore session: {}", e))?; - - // Store the client - { - let mut lock = get_client_lock().write().await; - *lock = Some(client.clone()); - } - - Ok(client) -} - -/// Runs the sync loop and triggers notifications for new messages -pub async fn run_sync_loop(app_handle: AppHandle) -> Result<(), String> { - let manager = get_sync_manager(); - - let client = { - let lock = get_client_lock().read().await; - lock.clone().ok_or("Client not initialized")? - }; - - let own_user_id = client.user_id() - .ok_or("Not logged in")? - .to_owned(); - - log::info!("Starting sync loop for {}", own_user_id); - - // Set up event handler for room messages - let app_handle_clone = app_handle.clone(); - let own_user_clone = own_user_id.clone(); - - client.add_event_handler(move |event: SyncRoomMessageEvent, room: matrix_sdk::Room| { - let app = app_handle_clone.clone(); - let own_user = own_user_clone.clone(); - - async move { - // Only process original messages (not edits/reactions) - if let SyncRoomMessageEvent::Original(original) = event { - // Don't notify for our own messages - if original.sender == own_user { - return; - } - - // Get room name for notification - let room_name = room.display_name().await - .map(|n| n.to_string()) - .unwrap_or_else(|_| "Unknown room".to_string()); - - // Get sender display name - let sender_name = room.get_member(&original.sender).await - .ok() - .flatten() - .and_then(|m| m.display_name().map(|s| s.to_string())) - .unwrap_or_else(|| original.sender.to_string()); - - // Get message body - let body = match &original.content.msgtype { - MessageType::Text(text) => text.body.clone(), - MessageType::Image(_) => "๐Ÿ“ท Image".to_string(), - MessageType::Video(_) => "๐ŸŽฅ Video".to_string(), - MessageType::Audio(_) => "๐ŸŽต Audio".to_string(), - MessageType::File(_) => "๐Ÿ“Ž File".to_string(), - MessageType::Location(_) => "๐Ÿ“ Location".to_string(), - MessageType::Emote(emote) => format!("* {} {}", sender_name, emote.body), - _ => "New message".to_string(), - }; - - // Send notification - let title = format!("{} in {}", sender_name, room_name); - - if let Err(e) = app.notification() - .builder() - .title(&title) - .body(&body) - .show() - { - log::error!("Failed to show notification: {}", e); - } - } - } - }); - - // Run the sync loop - let settings = SyncSettings::default(); - - loop { - // Check if we should stop - if manager.should_stop().await { - log::info!("Sync loop stopping due to stop flag"); - break; - } - - // Perform one sync iteration - match client.sync_once(settings.clone()).await { - Ok(response) => { - log::debug!("Sync completed, next_batch: {}", response.next_batch); - } - Err(e) => { - log::error!("Sync error: {}", e); - // Update state to error - manager.set_error(e.to_string()).await; - // Wait a bit before retrying - tokio::time::sleep(std::time::Duration::from_secs(5)).await; - } - } - - // Small delay between syncs to avoid hammering the server - tokio::time::sleep(std::time::Duration::from_millis(500)).await; - } - - Ok(()) -} - -/// Stops the sync and cleans up -pub async fn stop_sync() { - let manager = get_sync_manager(); - manager.stop_sync().await; - - // Clear the client - let mut lock = get_client_lock().write().await; - *lock = None; -} diff --git a/src-tauri/src/mobile.rs b/src-tauri/src/mobile.rs deleted file mode 100644 index 524574e..0000000 --- a/src-tauri/src/mobile.rs +++ /dev/null @@ -1,7 +0,0 @@ -//! Mobile-specific entry points for Android and iOS - -/// Mobile entry point -#[tauri::mobile_entry_point] -fn main() { - crate::run(); -} diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json deleted file mode 100644 index 9cbf4ab..0000000 --- a/src-tauri/tauri.conf.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "$schema": "https://schema.tauri.app/config/2", - "productName": "Paarrot", - "version": "4.10.26", - "identifier": "wtf.ruv.paarrot", - "build": { - "frontendDist": "../cinny/dist", - "devUrl": "http://localhost:8080", - "beforeDevCommand": "cd cinny && npm start", - "beforeBuildCommand": "cd cinny && npm run build" - }, - "app": { - "withGlobalTauri": true, - "windows": [ - { - "label": "main", - "title": "Paarrot", - "width": 1200, - "height": 800, - "minWidth": 480, - "minHeight": 480, - "resizable": true, - "fullscreen": false, - "decorations": false, - "transparent": true, - "create": false - } - ], - "security": { - "csp": "script-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self'; img-src 'self' https: http: data: blob:; frame-src https: http:" - } - }, - "plugins": { - "updater": { - "endpoints": [ - "http://synbox.ruv.wtf:8418/litruv/cinny-desktop/releases/download/latest/update.json" - ], - "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IDExREU1NkVBMDY4MzcxMjAKUldRZ2NZTUc2bGJlRVNaQldnMXpJcHlocVpCWUNNaUdicjBGMVRsck1GQXhvTnJiOUNhVVRHSzQK", - "dangerousInsecureTransportProtocol": true - } - }, - "bundle": { - "active": true, - "targets": ["msi", "appimage", "deb", "rpm"], - "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.icns", - "icons/icon.ico" - ], - "resources": [], - "externalBin": [], - "copyright": "", - "category": "SocialNetworking", - "shortDescription": "Squawk to yer mateys!", - "longDescription": "", - "linux": { - "deb": { - "depends": [] - } - }, - "macOS": { - "frameworks": [], - "minimumSystemVersion": "", - "exceptionDomain": "", - "signingIdentity": null, - "providerShortName": null, - "entitlements": null - }, - "windows": { - "certificateThumbprint": null, - "digestAlgorithm": "sha256", - "timestampUrl": "", - "wix": { - "bannerPath": "wix/banner.bmp", - "dialogImagePath": "wix/dialogImage.bmp" - }, - "nsis": null - } - } -} diff --git a/src-tauri/wix/banner.bmp b/src-tauri/wix/banner.bmp deleted file mode 100644 index bd75baa875cbe5ec59cf8b43cb3970fe101b89c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85894 zcmeI*Pe>J80LO9r2TDAbT7FjmzS5L%97(z#b}QJ0tl=N^z`&NV|w4deH|Sg4<0-?c<`WeZ^h6YuB#L&d$oQ?%cVvZQC}jO~}o%va;dfVL6n4fgJbuVJ`v* zAfOA(&CO|XTwh=% zr%#_eTW7P!jvZ6mM=dusHTeu~?IOnmiD-ZT0tl=NynOjm4Px<;@Iac^uV0szma4s? zmh0;3Tu=7p)a1CNpnw1Z2>1z%kB_Sn{Nlw6zt+mW{rmT;9SzDYEiJ37tICi$MRGic zgAD`_K)_2t&0le$rdKm({q*#-_`Rjt-Jm=;IOrVNsv*a{WT-~~0R(ITHF*uLsxK}s zR!1-^kByDl3sOqtxPn0u0R#|m6DTY!l*#+{?OV4d0d?YP&mB8<$U%$?Q&UsUnaFXc z2{i~HfPgJ9GBP4#_x}C+_Kt|9l9CcRj&Y&Az5VCUpW4jixCX)|0tg_GBcNt(&W?y1 zyLazahcYgUciXj@$#D&YO#~1?z!qp|Xpn(x*BX`7H)rIS28B!}BkroGE`c0ZH7Fy1 z00KDzGH1mdta5f3Z6xv*xmePVA3xOj$#GSKG6D!7U<-&dUzy`}ZH&_P?c3#maSGy7 zjEjqlav|inq@aKR0tn;??Ao=d%C|o3+IXb|b6l)VegKgik9Sz;jQ|2E6_5{U z`~LlVQZF&t9RKy}m$fi*JgEc3I0zt+DuKg?4_oKs3BIaib6hTr9G4Un5I_Kdb%75b zKJ3}E$I9_{@7^WlV*Gd@`3{d-c=+(4wJ>r#sRP6~2q2IifddB)sEK*;;>AQ>n>uD9 zWouRBcp^uKK@dP7RRYJ4A9v=gc!)&&7wH@}PK~u5ay$3^mP-MZE6qbyIJJTVS#t)q1S$nn(v zAo9WxK)_faOpaTTdgI0ogITmVHr}+RCdUm90bLM4Amsw#bNuYtvt|~?*{yc8rY6VD z4gtLoKp@QmuAe(p15}pJpFeK~F*`de2Qe;KQ5BjY=@$rprhMtrrH~xYo;~wv`Q^)(_wV1odGlsuWaR7DucBpdZ?A}Q*AN$# zawxkbt0*9V00Ice`__8JsH{JC?wq_8xR0B>@s>{;YuD1!(yd#!0&kAUeQN_HX@CF% zn_579j)aVCufpZamjkh6U)i$1zyIdVo88^r;=EgYzkB!Yl`B{F?%gX}`WNIs9-NO$ zQVIwlfPgKaKG)4ZPsQHS($ax}0lTwX>FLv_qNVyKOyICS4b+=hUO)FFTX0@`*tANqeqXT4y&~n zzx-TWT$B@WJ}xOJAb9?j{16uXse+l#R^XlOt$5jo=2q1ufF5sW4 z`QJM|J*_Q~9M?eDL;wKNkIVt1Q2i+C@d`W3f4T= zPfblZmq?B~O{hTt0R(h`JmTQp2>1(#Yc)46#Kj#{hKGm!7a;eN_1Y86}nimxnB@*bhwY8BF+*%De?s8P9LI42-q6&zI`-FcKoHO*Bo14Ys z+@eluwI|2T+~|b>0tmPWh&vH>b#+x%Ryvc~SyNtK-q_eUIXUSvP?RciJc<@=5kLTe p&;kn!3!|f>;(2c(+1uLMT3cH?J3IUO`i6#vW@ctW4-?$5;D6%@wl@F( diff --git a/src-tauri/wix/dialogImage.bmp b/src-tauri/wix/dialogImage.bmp deleted file mode 100644 index 463acf2bab65142ac4908d257140a38a821cda9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 461814 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

K7UpUK$>l@ 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 E2O(~oYXATM diff --git a/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties b/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index c5f9a53..0000000 --- a/src-tauri/gen/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Tue May 10 19:22:52 CST 2022 -distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip -distributionPath=wrapper/dists -zipStorePath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME diff --git a/src-tauri/gen/android/gradlew b/src-tauri/gen/android/gradlew deleted file mode 100644 index 4f906e0..0000000 --- a/src-tauri/gen/android/gradlew +++ /dev/null @@ -1,185 +0,0 @@ -#!/usr/bin/env sh - -# -# Copyright 2015 the original author or authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=`expr $i + 1` - done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -exec "$JAVACMD" "$@" diff --git a/src-tauri/gen/android/gradlew.bat b/src-tauri/gen/android/gradlew.bat deleted file mode 100644 index 107acd3..0000000 --- a/src-tauri/gen/android/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/src-tauri/gen/android/settings.gradle b/src-tauri/gen/android/settings.gradle deleted file mode 100644 index 3939116..0000000 --- a/src-tauri/gen/android/settings.gradle +++ /dev/null @@ -1,3 +0,0 @@ -include ':app' - -apply from: 'tauri.settings.gradle' diff --git a/src-tauri/gen/schemas/acl-manifests.json b/src-tauri/gen/schemas/acl-manifests.json deleted file mode 100644 index eeee005..0000000 --- a/src-tauri/gen/schemas/acl-manifests.json +++ /dev/null @@ -1 +0,0 @@ -{"autostart":{"default_permission":{"identifier":"default","description":"This permission set configures if your\napplication can enable or disable auto\nstarting the application on boot.\n\n#### Granted Permissions\n\nIt allows all to check, enable and\ndisable the automatic start on boot.\n\n","permissions":["allow-enable","allow-disable","allow-is-enabled"]},"permissions":{"allow-disable":{"identifier":"allow-disable","description":"Enables the disable command without any pre-configured scope.","commands":{"allow":["disable"],"deny":[]}},"allow-enable":{"identifier":"allow-enable","description":"Enables the enable command without any pre-configured scope.","commands":{"allow":["enable"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"deny-disable":{"identifier":"deny-disable","description":"Denies the disable command without any pre-configured scope.","commands":{"allow":[],"deny":["disable"]}},"deny-enable":{"identifier":"deny-enable","description":"Denies the enable command without any pre-configured scope.","commands":{"allow":[],"deny":["enable"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}}},"permission_sets":{},"global_scope_schema":null},"core":{"default_permission":{"identifier":"default","description":"Default core plugins set.","permissions":["core:path:default","core:event:default","core:window:default","core:webview:default","core:app:default","core:image:default","core:resources:default","core:menu:default","core:tray:default"]},"permissions":{},"permission_sets":{},"global_scope_schema":null},"core:app":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-version","allow-name","allow-tauri-version","allow-identifier","allow-bundle-type","allow-register-listener","allow-remove-listener"]},"permissions":{"allow-app-hide":{"identifier":"allow-app-hide","description":"Enables the app_hide command without any pre-configured scope.","commands":{"allow":["app_hide"],"deny":[]}},"allow-app-show":{"identifier":"allow-app-show","description":"Enables the app_show command without any pre-configured scope.","commands":{"allow":["app_show"],"deny":[]}},"allow-bundle-type":{"identifier":"allow-bundle-type","description":"Enables the bundle_type command without any pre-configured scope.","commands":{"allow":["bundle_type"],"deny":[]}},"allow-default-window-icon":{"identifier":"allow-default-window-icon","description":"Enables the default_window_icon command without any pre-configured scope.","commands":{"allow":["default_window_icon"],"deny":[]}},"allow-fetch-data-store-identifiers":{"identifier":"allow-fetch-data-store-identifiers","description":"Enables the fetch_data_store_identifiers command without any pre-configured scope.","commands":{"allow":["fetch_data_store_identifiers"],"deny":[]}},"allow-identifier":{"identifier":"allow-identifier","description":"Enables the identifier command without any pre-configured scope.","commands":{"allow":["identifier"],"deny":[]}},"allow-name":{"identifier":"allow-name","description":"Enables the name command without any pre-configured scope.","commands":{"allow":["name"],"deny":[]}},"allow-register-listener":{"identifier":"allow-register-listener","description":"Enables the register_listener command without any pre-configured scope.","commands":{"allow":["register_listener"],"deny":[]}},"allow-remove-data-store":{"identifier":"allow-remove-data-store","description":"Enables the remove_data_store command without any pre-configured scope.","commands":{"allow":["remove_data_store"],"deny":[]}},"allow-remove-listener":{"identifier":"allow-remove-listener","description":"Enables the remove_listener command without any pre-configured scope.","commands":{"allow":["remove_listener"],"deny":[]}},"allow-set-app-theme":{"identifier":"allow-set-app-theme","description":"Enables the set_app_theme command without any pre-configured scope.","commands":{"allow":["set_app_theme"],"deny":[]}},"allow-set-dock-visibility":{"identifier":"allow-set-dock-visibility","description":"Enables the set_dock_visibility command without any pre-configured scope.","commands":{"allow":["set_dock_visibility"],"deny":[]}},"allow-tauri-version":{"identifier":"allow-tauri-version","description":"Enables the tauri_version command without any pre-configured scope.","commands":{"allow":["tauri_version"],"deny":[]}},"allow-version":{"identifier":"allow-version","description":"Enables the version command without any pre-configured scope.","commands":{"allow":["version"],"deny":[]}},"deny-app-hide":{"identifier":"deny-app-hide","description":"Denies the app_hide command without any pre-configured scope.","commands":{"allow":[],"deny":["app_hide"]}},"deny-app-show":{"identifier":"deny-app-show","description":"Denies the app_show command without any pre-configured scope.","commands":{"allow":[],"deny":["app_show"]}},"deny-bundle-type":{"identifier":"deny-bundle-type","description":"Denies the bundle_type command without any pre-configured scope.","commands":{"allow":[],"deny":["bundle_type"]}},"deny-default-window-icon":{"identifier":"deny-default-window-icon","description":"Denies the default_window_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["default_window_icon"]}},"deny-fetch-data-store-identifiers":{"identifier":"deny-fetch-data-store-identifiers","description":"Denies the fetch_data_store_identifiers command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_data_store_identifiers"]}},"deny-identifier":{"identifier":"deny-identifier","description":"Denies the identifier command without any pre-configured scope.","commands":{"allow":[],"deny":["identifier"]}},"deny-name":{"identifier":"deny-name","description":"Denies the name command without any pre-configured scope.","commands":{"allow":[],"deny":["name"]}},"deny-register-listener":{"identifier":"deny-register-listener","description":"Denies the register_listener command without any pre-configured scope.","commands":{"allow":[],"deny":["register_listener"]}},"deny-remove-data-store":{"identifier":"deny-remove-data-store","description":"Denies the remove_data_store command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_data_store"]}},"deny-remove-listener":{"identifier":"deny-remove-listener","description":"Denies the remove_listener command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_listener"]}},"deny-set-app-theme":{"identifier":"deny-set-app-theme","description":"Denies the set_app_theme command without any pre-configured scope.","commands":{"allow":[],"deny":["set_app_theme"]}},"deny-set-dock-visibility":{"identifier":"deny-set-dock-visibility","description":"Denies the set_dock_visibility command without any pre-configured scope.","commands":{"allow":[],"deny":["set_dock_visibility"]}},"deny-tauri-version":{"identifier":"deny-tauri-version","description":"Denies the tauri_version command without any pre-configured scope.","commands":{"allow":[],"deny":["tauri_version"]}},"deny-version":{"identifier":"deny-version","description":"Denies the version command without any pre-configured scope.","commands":{"allow":[],"deny":["version"]}}},"permission_sets":{},"global_scope_schema":null},"core:event":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-listen","allow-unlisten","allow-emit","allow-emit-to"]},"permissions":{"allow-emit":{"identifier":"allow-emit","description":"Enables the emit command without any pre-configured scope.","commands":{"allow":["emit"],"deny":[]}},"allow-emit-to":{"identifier":"allow-emit-to","description":"Enables the emit_to command without any pre-configured scope.","commands":{"allow":["emit_to"],"deny":[]}},"allow-listen":{"identifier":"allow-listen","description":"Enables the listen command without any pre-configured scope.","commands":{"allow":["listen"],"deny":[]}},"allow-unlisten":{"identifier":"allow-unlisten","description":"Enables the unlisten command without any pre-configured scope.","commands":{"allow":["unlisten"],"deny":[]}},"deny-emit":{"identifier":"deny-emit","description":"Denies the emit command without any pre-configured scope.","commands":{"allow":[],"deny":["emit"]}},"deny-emit-to":{"identifier":"deny-emit-to","description":"Denies the emit_to command without any pre-configured scope.","commands":{"allow":[],"deny":["emit_to"]}},"deny-listen":{"identifier":"deny-listen","description":"Denies the listen command without any pre-configured scope.","commands":{"allow":[],"deny":["listen"]}},"deny-unlisten":{"identifier":"deny-unlisten","description":"Denies the unlisten command without any pre-configured scope.","commands":{"allow":[],"deny":["unlisten"]}}},"permission_sets":{},"global_scope_schema":null},"core:image":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-new","allow-from-bytes","allow-from-path","allow-rgba","allow-size"]},"permissions":{"allow-from-bytes":{"identifier":"allow-from-bytes","description":"Enables the from_bytes command without any pre-configured scope.","commands":{"allow":["from_bytes"],"deny":[]}},"allow-from-path":{"identifier":"allow-from-path","description":"Enables the from_path command without any pre-configured scope.","commands":{"allow":["from_path"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-rgba":{"identifier":"allow-rgba","description":"Enables the rgba command without any pre-configured scope.","commands":{"allow":["rgba"],"deny":[]}},"allow-size":{"identifier":"allow-size","description":"Enables the size command without any pre-configured scope.","commands":{"allow":["size"],"deny":[]}},"deny-from-bytes":{"identifier":"deny-from-bytes","description":"Denies the from_bytes command without any pre-configured scope.","commands":{"allow":[],"deny":["from_bytes"]}},"deny-from-path":{"identifier":"deny-from-path","description":"Denies the from_path command without any pre-configured scope.","commands":{"allow":[],"deny":["from_path"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-rgba":{"identifier":"deny-rgba","description":"Denies the rgba command without any pre-configured scope.","commands":{"allow":[],"deny":["rgba"]}},"deny-size":{"identifier":"deny-size","description":"Denies the size command without any pre-configured scope.","commands":{"allow":[],"deny":["size"]}}},"permission_sets":{},"global_scope_schema":null},"core:menu":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-new","allow-append","allow-prepend","allow-insert","allow-remove","allow-remove-at","allow-items","allow-get","allow-popup","allow-create-default","allow-set-as-app-menu","allow-set-as-window-menu","allow-text","allow-set-text","allow-is-enabled","allow-set-enabled","allow-set-accelerator","allow-set-as-windows-menu-for-nsapp","allow-set-as-help-menu-for-nsapp","allow-is-checked","allow-set-checked","allow-set-icon"]},"permissions":{"allow-append":{"identifier":"allow-append","description":"Enables the append command without any pre-configured scope.","commands":{"allow":["append"],"deny":[]}},"allow-create-default":{"identifier":"allow-create-default","description":"Enables the create_default command without any pre-configured scope.","commands":{"allow":["create_default"],"deny":[]}},"allow-get":{"identifier":"allow-get","description":"Enables the get command without any pre-configured scope.","commands":{"allow":["get"],"deny":[]}},"allow-insert":{"identifier":"allow-insert","description":"Enables the insert command without any pre-configured scope.","commands":{"allow":["insert"],"deny":[]}},"allow-is-checked":{"identifier":"allow-is-checked","description":"Enables the is_checked command without any pre-configured scope.","commands":{"allow":["is_checked"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"allow-items":{"identifier":"allow-items","description":"Enables the items command without any pre-configured scope.","commands":{"allow":["items"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-popup":{"identifier":"allow-popup","description":"Enables the popup command without any pre-configured scope.","commands":{"allow":["popup"],"deny":[]}},"allow-prepend":{"identifier":"allow-prepend","description":"Enables the prepend command without any pre-configured scope.","commands":{"allow":["prepend"],"deny":[]}},"allow-remove":{"identifier":"allow-remove","description":"Enables the remove command without any pre-configured scope.","commands":{"allow":["remove"],"deny":[]}},"allow-remove-at":{"identifier":"allow-remove-at","description":"Enables the remove_at command without any pre-configured scope.","commands":{"allow":["remove_at"],"deny":[]}},"allow-set-accelerator":{"identifier":"allow-set-accelerator","description":"Enables the set_accelerator command without any pre-configured scope.","commands":{"allow":["set_accelerator"],"deny":[]}},"allow-set-as-app-menu":{"identifier":"allow-set-as-app-menu","description":"Enables the set_as_app_menu command without any pre-configured scope.","commands":{"allow":["set_as_app_menu"],"deny":[]}},"allow-set-as-help-menu-for-nsapp":{"identifier":"allow-set-as-help-menu-for-nsapp","description":"Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_help_menu_for_nsapp"],"deny":[]}},"allow-set-as-window-menu":{"identifier":"allow-set-as-window-menu","description":"Enables the set_as_window_menu command without any pre-configured scope.","commands":{"allow":["set_as_window_menu"],"deny":[]}},"allow-set-as-windows-menu-for-nsapp":{"identifier":"allow-set-as-windows-menu-for-nsapp","description":"Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_windows_menu_for_nsapp"],"deny":[]}},"allow-set-checked":{"identifier":"allow-set-checked","description":"Enables the set_checked command without any pre-configured scope.","commands":{"allow":["set_checked"],"deny":[]}},"allow-set-enabled":{"identifier":"allow-set-enabled","description":"Enables the set_enabled command without any pre-configured scope.","commands":{"allow":["set_enabled"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-text":{"identifier":"allow-set-text","description":"Enables the set_text command without any pre-configured scope.","commands":{"allow":["set_text"],"deny":[]}},"allow-text":{"identifier":"allow-text","description":"Enables the text command without any pre-configured scope.","commands":{"allow":["text"],"deny":[]}},"deny-append":{"identifier":"deny-append","description":"Denies the append command without any pre-configured scope.","commands":{"allow":[],"deny":["append"]}},"deny-create-default":{"identifier":"deny-create-default","description":"Denies the create_default command without any pre-configured scope.","commands":{"allow":[],"deny":["create_default"]}},"deny-get":{"identifier":"deny-get","description":"Denies the get command without any pre-configured scope.","commands":{"allow":[],"deny":["get"]}},"deny-insert":{"identifier":"deny-insert","description":"Denies the insert command without any pre-configured scope.","commands":{"allow":[],"deny":["insert"]}},"deny-is-checked":{"identifier":"deny-is-checked","description":"Denies the is_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["is_checked"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}},"deny-items":{"identifier":"deny-items","description":"Denies the items command without any pre-configured scope.","commands":{"allow":[],"deny":["items"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-popup":{"identifier":"deny-popup","description":"Denies the popup command without any pre-configured scope.","commands":{"allow":[],"deny":["popup"]}},"deny-prepend":{"identifier":"deny-prepend","description":"Denies the prepend command without any pre-configured scope.","commands":{"allow":[],"deny":["prepend"]}},"deny-remove":{"identifier":"deny-remove","description":"Denies the remove command without any pre-configured scope.","commands":{"allow":[],"deny":["remove"]}},"deny-remove-at":{"identifier":"deny-remove-at","description":"Denies the remove_at command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_at"]}},"deny-set-accelerator":{"identifier":"deny-set-accelerator","description":"Denies the set_accelerator command without any pre-configured scope.","commands":{"allow":[],"deny":["set_accelerator"]}},"deny-set-as-app-menu":{"identifier":"deny-set-as-app-menu","description":"Denies the set_as_app_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_app_menu"]}},"deny-set-as-help-menu-for-nsapp":{"identifier":"deny-set-as-help-menu-for-nsapp","description":"Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_help_menu_for_nsapp"]}},"deny-set-as-window-menu":{"identifier":"deny-set-as-window-menu","description":"Denies the set_as_window_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_window_menu"]}},"deny-set-as-windows-menu-for-nsapp":{"identifier":"deny-set-as-windows-menu-for-nsapp","description":"Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_windows_menu_for_nsapp"]}},"deny-set-checked":{"identifier":"deny-set-checked","description":"Denies the set_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["set_checked"]}},"deny-set-enabled":{"identifier":"deny-set-enabled","description":"Denies the set_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["set_enabled"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-text":{"identifier":"deny-set-text","description":"Denies the set_text command without any pre-configured scope.","commands":{"allow":[],"deny":["set_text"]}},"deny-text":{"identifier":"deny-text","description":"Denies the text command without any pre-configured scope.","commands":{"allow":[],"deny":["text"]}}},"permission_sets":{},"global_scope_schema":null},"core:path":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-resolve-directory","allow-resolve","allow-normalize","allow-join","allow-dirname","allow-extname","allow-basename","allow-is-absolute"]},"permissions":{"allow-basename":{"identifier":"allow-basename","description":"Enables the basename command without any pre-configured scope.","commands":{"allow":["basename"],"deny":[]}},"allow-dirname":{"identifier":"allow-dirname","description":"Enables the dirname command without any pre-configured scope.","commands":{"allow":["dirname"],"deny":[]}},"allow-extname":{"identifier":"allow-extname","description":"Enables the extname command without any pre-configured scope.","commands":{"allow":["extname"],"deny":[]}},"allow-is-absolute":{"identifier":"allow-is-absolute","description":"Enables the is_absolute command without any pre-configured scope.","commands":{"allow":["is_absolute"],"deny":[]}},"allow-join":{"identifier":"allow-join","description":"Enables the join command without any pre-configured scope.","commands":{"allow":["join"],"deny":[]}},"allow-normalize":{"identifier":"allow-normalize","description":"Enables the normalize command without any pre-configured scope.","commands":{"allow":["normalize"],"deny":[]}},"allow-resolve":{"identifier":"allow-resolve","description":"Enables the resolve command without any pre-configured scope.","commands":{"allow":["resolve"],"deny":[]}},"allow-resolve-directory":{"identifier":"allow-resolve-directory","description":"Enables the resolve_directory command without any pre-configured scope.","commands":{"allow":["resolve_directory"],"deny":[]}},"deny-basename":{"identifier":"deny-basename","description":"Denies the basename command without any pre-configured scope.","commands":{"allow":[],"deny":["basename"]}},"deny-dirname":{"identifier":"deny-dirname","description":"Denies the dirname command without any pre-configured scope.","commands":{"allow":[],"deny":["dirname"]}},"deny-extname":{"identifier":"deny-extname","description":"Denies the extname command without any pre-configured scope.","commands":{"allow":[],"deny":["extname"]}},"deny-is-absolute":{"identifier":"deny-is-absolute","description":"Denies the is_absolute command without any pre-configured scope.","commands":{"allow":[],"deny":["is_absolute"]}},"deny-join":{"identifier":"deny-join","description":"Denies the join command without any pre-configured scope.","commands":{"allow":[],"deny":["join"]}},"deny-normalize":{"identifier":"deny-normalize","description":"Denies the normalize command without any pre-configured scope.","commands":{"allow":[],"deny":["normalize"]}},"deny-resolve":{"identifier":"deny-resolve","description":"Denies the resolve command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve"]}},"deny-resolve-directory":{"identifier":"deny-resolve-directory","description":"Denies the resolve_directory command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve_directory"]}}},"permission_sets":{},"global_scope_schema":null},"core:resources":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-close"]},"permissions":{"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}}},"permission_sets":{},"global_scope_schema":null},"core:tray":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-new","allow-get-by-id","allow-remove-by-id","allow-set-icon","allow-set-menu","allow-set-tooltip","allow-set-title","allow-set-visible","allow-set-temp-dir-path","allow-set-icon-as-template","allow-set-show-menu-on-left-click"]},"permissions":{"allow-get-by-id":{"identifier":"allow-get-by-id","description":"Enables the get_by_id command without any pre-configured scope.","commands":{"allow":["get_by_id"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-remove-by-id":{"identifier":"allow-remove-by-id","description":"Enables the remove_by_id command without any pre-configured scope.","commands":{"allow":["remove_by_id"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-icon-as-template":{"identifier":"allow-set-icon-as-template","description":"Enables the set_icon_as_template command without any pre-configured scope.","commands":{"allow":["set_icon_as_template"],"deny":[]}},"allow-set-menu":{"identifier":"allow-set-menu","description":"Enables the set_menu command without any pre-configured scope.","commands":{"allow":["set_menu"],"deny":[]}},"allow-set-show-menu-on-left-click":{"identifier":"allow-set-show-menu-on-left-click","description":"Enables the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":["set_show_menu_on_left_click"],"deny":[]}},"allow-set-temp-dir-path":{"identifier":"allow-set-temp-dir-path","description":"Enables the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":["set_temp_dir_path"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-tooltip":{"identifier":"allow-set-tooltip","description":"Enables the set_tooltip command without any pre-configured scope.","commands":{"allow":["set_tooltip"],"deny":[]}},"allow-set-visible":{"identifier":"allow-set-visible","description":"Enables the set_visible command without any pre-configured scope.","commands":{"allow":["set_visible"],"deny":[]}},"deny-get-by-id":{"identifier":"deny-get-by-id","description":"Denies the get_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["get_by_id"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-remove-by-id":{"identifier":"deny-remove-by-id","description":"Denies the remove_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_by_id"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-icon-as-template":{"identifier":"deny-set-icon-as-template","description":"Denies the set_icon_as_template command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon_as_template"]}},"deny-set-menu":{"identifier":"deny-set-menu","description":"Denies the set_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_menu"]}},"deny-set-show-menu-on-left-click":{"identifier":"deny-set-show-menu-on-left-click","description":"Denies the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":[],"deny":["set_show_menu_on_left_click"]}},"deny-set-temp-dir-path":{"identifier":"deny-set-temp-dir-path","description":"Denies the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":[],"deny":["set_temp_dir_path"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-tooltip":{"identifier":"deny-set-tooltip","description":"Denies the set_tooltip command without any pre-configured scope.","commands":{"allow":[],"deny":["set_tooltip"]}},"deny-set-visible":{"identifier":"deny-set-visible","description":"Denies the set_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible"]}}},"permission_sets":{},"global_scope_schema":null},"core:webview":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-get-all-webviews","allow-webview-position","allow-webview-size","allow-internal-toggle-devtools"]},"permissions":{"allow-clear-all-browsing-data":{"identifier":"allow-clear-all-browsing-data","description":"Enables the clear_all_browsing_data command without any pre-configured scope.","commands":{"allow":["clear_all_browsing_data"],"deny":[]}},"allow-create-webview":{"identifier":"allow-create-webview","description":"Enables the create_webview command without any pre-configured scope.","commands":{"allow":["create_webview"],"deny":[]}},"allow-create-webview-window":{"identifier":"allow-create-webview-window","description":"Enables the create_webview_window command without any pre-configured scope.","commands":{"allow":["create_webview_window"],"deny":[]}},"allow-get-all-webviews":{"identifier":"allow-get-all-webviews","description":"Enables the get_all_webviews command without any pre-configured scope.","commands":{"allow":["get_all_webviews"],"deny":[]}},"allow-internal-toggle-devtools":{"identifier":"allow-internal-toggle-devtools","description":"Enables the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":["internal_toggle_devtools"],"deny":[]}},"allow-print":{"identifier":"allow-print","description":"Enables the print command without any pre-configured scope.","commands":{"allow":["print"],"deny":[]}},"allow-reparent":{"identifier":"allow-reparent","description":"Enables the reparent command without any pre-configured scope.","commands":{"allow":["reparent"],"deny":[]}},"allow-set-webview-auto-resize":{"identifier":"allow-set-webview-auto-resize","description":"Enables the set_webview_auto_resize command without any pre-configured scope.","commands":{"allow":["set_webview_auto_resize"],"deny":[]}},"allow-set-webview-background-color":{"identifier":"allow-set-webview-background-color","description":"Enables the set_webview_background_color command without any pre-configured scope.","commands":{"allow":["set_webview_background_color"],"deny":[]}},"allow-set-webview-focus":{"identifier":"allow-set-webview-focus","description":"Enables the set_webview_focus command without any pre-configured scope.","commands":{"allow":["set_webview_focus"],"deny":[]}},"allow-set-webview-position":{"identifier":"allow-set-webview-position","description":"Enables the set_webview_position command without any pre-configured scope.","commands":{"allow":["set_webview_position"],"deny":[]}},"allow-set-webview-size":{"identifier":"allow-set-webview-size","description":"Enables the set_webview_size command without any pre-configured scope.","commands":{"allow":["set_webview_size"],"deny":[]}},"allow-set-webview-zoom":{"identifier":"allow-set-webview-zoom","description":"Enables the set_webview_zoom command without any pre-configured scope.","commands":{"allow":["set_webview_zoom"],"deny":[]}},"allow-webview-close":{"identifier":"allow-webview-close","description":"Enables the webview_close command without any pre-configured scope.","commands":{"allow":["webview_close"],"deny":[]}},"allow-webview-hide":{"identifier":"allow-webview-hide","description":"Enables the webview_hide command without any pre-configured scope.","commands":{"allow":["webview_hide"],"deny":[]}},"allow-webview-position":{"identifier":"allow-webview-position","description":"Enables the webview_position command without any pre-configured scope.","commands":{"allow":["webview_position"],"deny":[]}},"allow-webview-show":{"identifier":"allow-webview-show","description":"Enables the webview_show command without any pre-configured scope.","commands":{"allow":["webview_show"],"deny":[]}},"allow-webview-size":{"identifier":"allow-webview-size","description":"Enables the webview_size command without any pre-configured scope.","commands":{"allow":["webview_size"],"deny":[]}},"deny-clear-all-browsing-data":{"identifier":"deny-clear-all-browsing-data","description":"Denies the clear_all_browsing_data command without any pre-configured scope.","commands":{"allow":[],"deny":["clear_all_browsing_data"]}},"deny-create-webview":{"identifier":"deny-create-webview","description":"Denies the create_webview command without any pre-configured scope.","commands":{"allow":[],"deny":["create_webview"]}},"deny-create-webview-window":{"identifier":"deny-create-webview-window","description":"Denies the create_webview_window command without any pre-configured scope.","commands":{"allow":[],"deny":["create_webview_window"]}},"deny-get-all-webviews":{"identifier":"deny-get-all-webviews","description":"Denies the get_all_webviews command without any pre-configured scope.","commands":{"allow":[],"deny":["get_all_webviews"]}},"deny-internal-toggle-devtools":{"identifier":"deny-internal-toggle-devtools","description":"Denies the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_devtools"]}},"deny-print":{"identifier":"deny-print","description":"Denies the print command without any pre-configured scope.","commands":{"allow":[],"deny":["print"]}},"deny-reparent":{"identifier":"deny-reparent","description":"Denies the reparent command without any pre-configured scope.","commands":{"allow":[],"deny":["reparent"]}},"deny-set-webview-auto-resize":{"identifier":"deny-set-webview-auto-resize","description":"Denies the set_webview_auto_resize command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_auto_resize"]}},"deny-set-webview-background-color":{"identifier":"deny-set-webview-background-color","description":"Denies the set_webview_background_color command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_background_color"]}},"deny-set-webview-focus":{"identifier":"deny-set-webview-focus","description":"Denies the set_webview_focus command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_focus"]}},"deny-set-webview-position":{"identifier":"deny-set-webview-position","description":"Denies the set_webview_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_position"]}},"deny-set-webview-size":{"identifier":"deny-set-webview-size","description":"Denies the set_webview_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_size"]}},"deny-set-webview-zoom":{"identifier":"deny-set-webview-zoom","description":"Denies the set_webview_zoom command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_zoom"]}},"deny-webview-close":{"identifier":"deny-webview-close","description":"Denies the webview_close command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_close"]}},"deny-webview-hide":{"identifier":"deny-webview-hide","description":"Denies the webview_hide command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_hide"]}},"deny-webview-position":{"identifier":"deny-webview-position","description":"Denies the webview_position command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_position"]}},"deny-webview-show":{"identifier":"deny-webview-show","description":"Denies the webview_show command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_show"]}},"deny-webview-size":{"identifier":"deny-webview-size","description":"Denies the webview_size command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_size"]}}},"permission_sets":{},"global_scope_schema":null},"core:window":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-get-all-windows","allow-scale-factor","allow-inner-position","allow-outer-position","allow-inner-size","allow-outer-size","allow-is-fullscreen","allow-is-minimized","allow-is-maximized","allow-is-focused","allow-is-decorated","allow-is-resizable","allow-is-maximizable","allow-is-minimizable","allow-is-closable","allow-is-visible","allow-is-enabled","allow-title","allow-current-monitor","allow-primary-monitor","allow-monitor-from-point","allow-available-monitors","allow-cursor-position","allow-theme","allow-is-always-on-top","allow-internal-toggle-maximize"]},"permissions":{"allow-available-monitors":{"identifier":"allow-available-monitors","description":"Enables the available_monitors command without any pre-configured scope.","commands":{"allow":["available_monitors"],"deny":[]}},"allow-center":{"identifier":"allow-center","description":"Enables the center command without any pre-configured scope.","commands":{"allow":["center"],"deny":[]}},"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"allow-create":{"identifier":"allow-create","description":"Enables the create command without any pre-configured scope.","commands":{"allow":["create"],"deny":[]}},"allow-current-monitor":{"identifier":"allow-current-monitor","description":"Enables the current_monitor command without any pre-configured scope.","commands":{"allow":["current_monitor"],"deny":[]}},"allow-cursor-position":{"identifier":"allow-cursor-position","description":"Enables the cursor_position command without any pre-configured scope.","commands":{"allow":["cursor_position"],"deny":[]}},"allow-destroy":{"identifier":"allow-destroy","description":"Enables the destroy command without any pre-configured scope.","commands":{"allow":["destroy"],"deny":[]}},"allow-get-all-windows":{"identifier":"allow-get-all-windows","description":"Enables the get_all_windows command without any pre-configured scope.","commands":{"allow":["get_all_windows"],"deny":[]}},"allow-hide":{"identifier":"allow-hide","description":"Enables the hide command without any pre-configured scope.","commands":{"allow":["hide"],"deny":[]}},"allow-inner-position":{"identifier":"allow-inner-position","description":"Enables the inner_position command without any pre-configured scope.","commands":{"allow":["inner_position"],"deny":[]}},"allow-inner-size":{"identifier":"allow-inner-size","description":"Enables the inner_size command without any pre-configured scope.","commands":{"allow":["inner_size"],"deny":[]}},"allow-internal-toggle-maximize":{"identifier":"allow-internal-toggle-maximize","description":"Enables the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":["internal_toggle_maximize"],"deny":[]}},"allow-is-always-on-top":{"identifier":"allow-is-always-on-top","description":"Enables the is_always_on_top command without any pre-configured scope.","commands":{"allow":["is_always_on_top"],"deny":[]}},"allow-is-closable":{"identifier":"allow-is-closable","description":"Enables the is_closable command without any pre-configured scope.","commands":{"allow":["is_closable"],"deny":[]}},"allow-is-decorated":{"identifier":"allow-is-decorated","description":"Enables the is_decorated command without any pre-configured scope.","commands":{"allow":["is_decorated"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"allow-is-focused":{"identifier":"allow-is-focused","description":"Enables the is_focused command without any pre-configured scope.","commands":{"allow":["is_focused"],"deny":[]}},"allow-is-fullscreen":{"identifier":"allow-is-fullscreen","description":"Enables the is_fullscreen command without any pre-configured scope.","commands":{"allow":["is_fullscreen"],"deny":[]}},"allow-is-maximizable":{"identifier":"allow-is-maximizable","description":"Enables the is_maximizable command without any pre-configured scope.","commands":{"allow":["is_maximizable"],"deny":[]}},"allow-is-maximized":{"identifier":"allow-is-maximized","description":"Enables the is_maximized command without any pre-configured scope.","commands":{"allow":["is_maximized"],"deny":[]}},"allow-is-minimizable":{"identifier":"allow-is-minimizable","description":"Enables the is_minimizable command without any pre-configured scope.","commands":{"allow":["is_minimizable"],"deny":[]}},"allow-is-minimized":{"identifier":"allow-is-minimized","description":"Enables the is_minimized command without any pre-configured scope.","commands":{"allow":["is_minimized"],"deny":[]}},"allow-is-resizable":{"identifier":"allow-is-resizable","description":"Enables the is_resizable command without any pre-configured scope.","commands":{"allow":["is_resizable"],"deny":[]}},"allow-is-visible":{"identifier":"allow-is-visible","description":"Enables the is_visible command without any pre-configured scope.","commands":{"allow":["is_visible"],"deny":[]}},"allow-maximize":{"identifier":"allow-maximize","description":"Enables the maximize command without any pre-configured scope.","commands":{"allow":["maximize"],"deny":[]}},"allow-minimize":{"identifier":"allow-minimize","description":"Enables the minimize command without any pre-configured scope.","commands":{"allow":["minimize"],"deny":[]}},"allow-monitor-from-point":{"identifier":"allow-monitor-from-point","description":"Enables the monitor_from_point command without any pre-configured scope.","commands":{"allow":["monitor_from_point"],"deny":[]}},"allow-outer-position":{"identifier":"allow-outer-position","description":"Enables the outer_position command without any pre-configured scope.","commands":{"allow":["outer_position"],"deny":[]}},"allow-outer-size":{"identifier":"allow-outer-size","description":"Enables the outer_size command without any pre-configured scope.","commands":{"allow":["outer_size"],"deny":[]}},"allow-primary-monitor":{"identifier":"allow-primary-monitor","description":"Enables the primary_monitor command without any pre-configured scope.","commands":{"allow":["primary_monitor"],"deny":[]}},"allow-request-user-attention":{"identifier":"allow-request-user-attention","description":"Enables the request_user_attention command without any pre-configured scope.","commands":{"allow":["request_user_attention"],"deny":[]}},"allow-scale-factor":{"identifier":"allow-scale-factor","description":"Enables the scale_factor command without any pre-configured scope.","commands":{"allow":["scale_factor"],"deny":[]}},"allow-set-always-on-bottom":{"identifier":"allow-set-always-on-bottom","description":"Enables the set_always_on_bottom command without any pre-configured scope.","commands":{"allow":["set_always_on_bottom"],"deny":[]}},"allow-set-always-on-top":{"identifier":"allow-set-always-on-top","description":"Enables the set_always_on_top command without any pre-configured scope.","commands":{"allow":["set_always_on_top"],"deny":[]}},"allow-set-background-color":{"identifier":"allow-set-background-color","description":"Enables the set_background_color command without any pre-configured scope.","commands":{"allow":["set_background_color"],"deny":[]}},"allow-set-badge-count":{"identifier":"allow-set-badge-count","description":"Enables the set_badge_count command without any pre-configured scope.","commands":{"allow":["set_badge_count"],"deny":[]}},"allow-set-badge-label":{"identifier":"allow-set-badge-label","description":"Enables the set_badge_label command without any pre-configured scope.","commands":{"allow":["set_badge_label"],"deny":[]}},"allow-set-closable":{"identifier":"allow-set-closable","description":"Enables the set_closable command without any pre-configured scope.","commands":{"allow":["set_closable"],"deny":[]}},"allow-set-content-protected":{"identifier":"allow-set-content-protected","description":"Enables the set_content_protected command without any pre-configured scope.","commands":{"allow":["set_content_protected"],"deny":[]}},"allow-set-cursor-grab":{"identifier":"allow-set-cursor-grab","description":"Enables the set_cursor_grab command without any pre-configured scope.","commands":{"allow":["set_cursor_grab"],"deny":[]}},"allow-set-cursor-icon":{"identifier":"allow-set-cursor-icon","description":"Enables the set_cursor_icon command without any pre-configured scope.","commands":{"allow":["set_cursor_icon"],"deny":[]}},"allow-set-cursor-position":{"identifier":"allow-set-cursor-position","description":"Enables the set_cursor_position command without any pre-configured scope.","commands":{"allow":["set_cursor_position"],"deny":[]}},"allow-set-cursor-visible":{"identifier":"allow-set-cursor-visible","description":"Enables the set_cursor_visible command without any pre-configured scope.","commands":{"allow":["set_cursor_visible"],"deny":[]}},"allow-set-decorations":{"identifier":"allow-set-decorations","description":"Enables the set_decorations command without any pre-configured scope.","commands":{"allow":["set_decorations"],"deny":[]}},"allow-set-effects":{"identifier":"allow-set-effects","description":"Enables the set_effects command without any pre-configured scope.","commands":{"allow":["set_effects"],"deny":[]}},"allow-set-enabled":{"identifier":"allow-set-enabled","description":"Enables the set_enabled command without any pre-configured scope.","commands":{"allow":["set_enabled"],"deny":[]}},"allow-set-focus":{"identifier":"allow-set-focus","description":"Enables the set_focus command without any pre-configured scope.","commands":{"allow":["set_focus"],"deny":[]}},"allow-set-focusable":{"identifier":"allow-set-focusable","description":"Enables the set_focusable command without any pre-configured scope.","commands":{"allow":["set_focusable"],"deny":[]}},"allow-set-fullscreen":{"identifier":"allow-set-fullscreen","description":"Enables the set_fullscreen command without any pre-configured scope.","commands":{"allow":["set_fullscreen"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-ignore-cursor-events":{"identifier":"allow-set-ignore-cursor-events","description":"Enables the set_ignore_cursor_events command without any pre-configured scope.","commands":{"allow":["set_ignore_cursor_events"],"deny":[]}},"allow-set-max-size":{"identifier":"allow-set-max-size","description":"Enables the set_max_size command without any pre-configured scope.","commands":{"allow":["set_max_size"],"deny":[]}},"allow-set-maximizable":{"identifier":"allow-set-maximizable","description":"Enables the set_maximizable command without any pre-configured scope.","commands":{"allow":["set_maximizable"],"deny":[]}},"allow-set-min-size":{"identifier":"allow-set-min-size","description":"Enables the set_min_size command without any pre-configured scope.","commands":{"allow":["set_min_size"],"deny":[]}},"allow-set-minimizable":{"identifier":"allow-set-minimizable","description":"Enables the set_minimizable command without any pre-configured scope.","commands":{"allow":["set_minimizable"],"deny":[]}},"allow-set-overlay-icon":{"identifier":"allow-set-overlay-icon","description":"Enables the set_overlay_icon command without any pre-configured scope.","commands":{"allow":["set_overlay_icon"],"deny":[]}},"allow-set-position":{"identifier":"allow-set-position","description":"Enables the set_position command without any pre-configured scope.","commands":{"allow":["set_position"],"deny":[]}},"allow-set-progress-bar":{"identifier":"allow-set-progress-bar","description":"Enables the set_progress_bar command without any pre-configured scope.","commands":{"allow":["set_progress_bar"],"deny":[]}},"allow-set-resizable":{"identifier":"allow-set-resizable","description":"Enables the set_resizable command without any pre-configured scope.","commands":{"allow":["set_resizable"],"deny":[]}},"allow-set-shadow":{"identifier":"allow-set-shadow","description":"Enables the set_shadow command without any pre-configured scope.","commands":{"allow":["set_shadow"],"deny":[]}},"allow-set-simple-fullscreen":{"identifier":"allow-set-simple-fullscreen","description":"Enables the set_simple_fullscreen command without any pre-configured scope.","commands":{"allow":["set_simple_fullscreen"],"deny":[]}},"allow-set-size":{"identifier":"allow-set-size","description":"Enables the set_size command without any pre-configured scope.","commands":{"allow":["set_size"],"deny":[]}},"allow-set-size-constraints":{"identifier":"allow-set-size-constraints","description":"Enables the set_size_constraints command without any pre-configured scope.","commands":{"allow":["set_size_constraints"],"deny":[]}},"allow-set-skip-taskbar":{"identifier":"allow-set-skip-taskbar","description":"Enables the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":["set_skip_taskbar"],"deny":[]}},"allow-set-theme":{"identifier":"allow-set-theme","description":"Enables the set_theme command without any pre-configured scope.","commands":{"allow":["set_theme"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-title-bar-style":{"identifier":"allow-set-title-bar-style","description":"Enables the set_title_bar_style command without any pre-configured scope.","commands":{"allow":["set_title_bar_style"],"deny":[]}},"allow-set-visible-on-all-workspaces":{"identifier":"allow-set-visible-on-all-workspaces","description":"Enables the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":["set_visible_on_all_workspaces"],"deny":[]}},"allow-show":{"identifier":"allow-show","description":"Enables the show command without any pre-configured scope.","commands":{"allow":["show"],"deny":[]}},"allow-start-dragging":{"identifier":"allow-start-dragging","description":"Enables the start_dragging command without any pre-configured scope.","commands":{"allow":["start_dragging"],"deny":[]}},"allow-start-resize-dragging":{"identifier":"allow-start-resize-dragging","description":"Enables the start_resize_dragging command without any pre-configured scope.","commands":{"allow":["start_resize_dragging"],"deny":[]}},"allow-theme":{"identifier":"allow-theme","description":"Enables the theme command without any pre-configured scope.","commands":{"allow":["theme"],"deny":[]}},"allow-title":{"identifier":"allow-title","description":"Enables the title command without any pre-configured scope.","commands":{"allow":["title"],"deny":[]}},"allow-toggle-maximize":{"identifier":"allow-toggle-maximize","description":"Enables the toggle_maximize command without any pre-configured scope.","commands":{"allow":["toggle_maximize"],"deny":[]}},"allow-unmaximize":{"identifier":"allow-unmaximize","description":"Enables the unmaximize command without any pre-configured scope.","commands":{"allow":["unmaximize"],"deny":[]}},"allow-unminimize":{"identifier":"allow-unminimize","description":"Enables the unminimize command without any pre-configured scope.","commands":{"allow":["unminimize"],"deny":[]}},"deny-available-monitors":{"identifier":"deny-available-monitors","description":"Denies the available_monitors command without any pre-configured scope.","commands":{"allow":[],"deny":["available_monitors"]}},"deny-center":{"identifier":"deny-center","description":"Denies the center command without any pre-configured scope.","commands":{"allow":[],"deny":["center"]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}},"deny-create":{"identifier":"deny-create","description":"Denies the create command without any pre-configured scope.","commands":{"allow":[],"deny":["create"]}},"deny-current-monitor":{"identifier":"deny-current-monitor","description":"Denies the current_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["current_monitor"]}},"deny-cursor-position":{"identifier":"deny-cursor-position","description":"Denies the cursor_position command without any pre-configured scope.","commands":{"allow":[],"deny":["cursor_position"]}},"deny-destroy":{"identifier":"deny-destroy","description":"Denies the destroy command without any pre-configured scope.","commands":{"allow":[],"deny":["destroy"]}},"deny-get-all-windows":{"identifier":"deny-get-all-windows","description":"Denies the get_all_windows command without any pre-configured scope.","commands":{"allow":[],"deny":["get_all_windows"]}},"deny-hide":{"identifier":"deny-hide","description":"Denies the hide command without any pre-configured scope.","commands":{"allow":[],"deny":["hide"]}},"deny-inner-position":{"identifier":"deny-inner-position","description":"Denies the inner_position command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_position"]}},"deny-inner-size":{"identifier":"deny-inner-size","description":"Denies the inner_size command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_size"]}},"deny-internal-toggle-maximize":{"identifier":"deny-internal-toggle-maximize","description":"Denies the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_maximize"]}},"deny-is-always-on-top":{"identifier":"deny-is-always-on-top","description":"Denies the is_always_on_top command without any pre-configured scope.","commands":{"allow":[],"deny":["is_always_on_top"]}},"deny-is-closable":{"identifier":"deny-is-closable","description":"Denies the is_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_closable"]}},"deny-is-decorated":{"identifier":"deny-is-decorated","description":"Denies the is_decorated command without any pre-configured scope.","commands":{"allow":[],"deny":["is_decorated"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}},"deny-is-focused":{"identifier":"deny-is-focused","description":"Denies the is_focused command without any pre-configured scope.","commands":{"allow":[],"deny":["is_focused"]}},"deny-is-fullscreen":{"identifier":"deny-is-fullscreen","description":"Denies the is_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["is_fullscreen"]}},"deny-is-maximizable":{"identifier":"deny-is-maximizable","description":"Denies the is_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximizable"]}},"deny-is-maximized":{"identifier":"deny-is-maximized","description":"Denies the is_maximized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximized"]}},"deny-is-minimizable":{"identifier":"deny-is-minimizable","description":"Denies the is_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimizable"]}},"deny-is-minimized":{"identifier":"deny-is-minimized","description":"Denies the is_minimized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimized"]}},"deny-is-resizable":{"identifier":"deny-is-resizable","description":"Denies the is_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_resizable"]}},"deny-is-visible":{"identifier":"deny-is-visible","description":"Denies the is_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["is_visible"]}},"deny-maximize":{"identifier":"deny-maximize","description":"Denies the maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["maximize"]}},"deny-minimize":{"identifier":"deny-minimize","description":"Denies the minimize command without any pre-configured scope.","commands":{"allow":[],"deny":["minimize"]}},"deny-monitor-from-point":{"identifier":"deny-monitor-from-point","description":"Denies the monitor_from_point command without any pre-configured scope.","commands":{"allow":[],"deny":["monitor_from_point"]}},"deny-outer-position":{"identifier":"deny-outer-position","description":"Denies the outer_position command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_position"]}},"deny-outer-size":{"identifier":"deny-outer-size","description":"Denies the outer_size command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_size"]}},"deny-primary-monitor":{"identifier":"deny-primary-monitor","description":"Denies the primary_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["primary_monitor"]}},"deny-request-user-attention":{"identifier":"deny-request-user-attention","description":"Denies the request_user_attention command without any pre-configured scope.","commands":{"allow":[],"deny":["request_user_attention"]}},"deny-scale-factor":{"identifier":"deny-scale-factor","description":"Denies the scale_factor command without any pre-configured scope.","commands":{"allow":[],"deny":["scale_factor"]}},"deny-set-always-on-bottom":{"identifier":"deny-set-always-on-bottom","description":"Denies the set_always_on_bottom command without any pre-configured scope.","commands":{"allow":[],"deny":["set_always_on_bottom"]}},"deny-set-always-on-top":{"identifier":"deny-set-always-on-top","description":"Denies the set_always_on_top command without any pre-configured scope.","commands":{"allow":[],"deny":["set_always_on_top"]}},"deny-set-background-color":{"identifier":"deny-set-background-color","description":"Denies the set_background_color command without any pre-configured scope.","commands":{"allow":[],"deny":["set_background_color"]}},"deny-set-badge-count":{"identifier":"deny-set-badge-count","description":"Denies the set_badge_count command without any pre-configured scope.","commands":{"allow":[],"deny":["set_badge_count"]}},"deny-set-badge-label":{"identifier":"deny-set-badge-label","description":"Denies the set_badge_label command without any pre-configured scope.","commands":{"allow":[],"deny":["set_badge_label"]}},"deny-set-closable":{"identifier":"deny-set-closable","description":"Denies the set_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_closable"]}},"deny-set-content-protected":{"identifier":"deny-set-content-protected","description":"Denies the set_content_protected command without any pre-configured scope.","commands":{"allow":[],"deny":["set_content_protected"]}},"deny-set-cursor-grab":{"identifier":"deny-set-cursor-grab","description":"Denies the set_cursor_grab command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_grab"]}},"deny-set-cursor-icon":{"identifier":"deny-set-cursor-icon","description":"Denies the set_cursor_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_icon"]}},"deny-set-cursor-position":{"identifier":"deny-set-cursor-position","description":"Denies the set_cursor_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_position"]}},"deny-set-cursor-visible":{"identifier":"deny-set-cursor-visible","description":"Denies the set_cursor_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_visible"]}},"deny-set-decorations":{"identifier":"deny-set-decorations","description":"Denies the set_decorations command without any pre-configured scope.","commands":{"allow":[],"deny":["set_decorations"]}},"deny-set-effects":{"identifier":"deny-set-effects","description":"Denies the set_effects command without any pre-configured scope.","commands":{"allow":[],"deny":["set_effects"]}},"deny-set-enabled":{"identifier":"deny-set-enabled","description":"Denies the set_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["set_enabled"]}},"deny-set-focus":{"identifier":"deny-set-focus","description":"Denies the set_focus command without any pre-configured scope.","commands":{"allow":[],"deny":["set_focus"]}},"deny-set-focusable":{"identifier":"deny-set-focusable","description":"Denies the set_focusable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_focusable"]}},"deny-set-fullscreen":{"identifier":"deny-set-fullscreen","description":"Denies the set_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["set_fullscreen"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-ignore-cursor-events":{"identifier":"deny-set-ignore-cursor-events","description":"Denies the set_ignore_cursor_events command without any pre-configured scope.","commands":{"allow":[],"deny":["set_ignore_cursor_events"]}},"deny-set-max-size":{"identifier":"deny-set-max-size","description":"Denies the set_max_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_max_size"]}},"deny-set-maximizable":{"identifier":"deny-set-maximizable","description":"Denies the set_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_maximizable"]}},"deny-set-min-size":{"identifier":"deny-set-min-size","description":"Denies the set_min_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_min_size"]}},"deny-set-minimizable":{"identifier":"deny-set-minimizable","description":"Denies the set_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_minimizable"]}},"deny-set-overlay-icon":{"identifier":"deny-set-overlay-icon","description":"Denies the set_overlay_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_overlay_icon"]}},"deny-set-position":{"identifier":"deny-set-position","description":"Denies the set_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_position"]}},"deny-set-progress-bar":{"identifier":"deny-set-progress-bar","description":"Denies the set_progress_bar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_progress_bar"]}},"deny-set-resizable":{"identifier":"deny-set-resizable","description":"Denies the set_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_resizable"]}},"deny-set-shadow":{"identifier":"deny-set-shadow","description":"Denies the set_shadow command without any pre-configured scope.","commands":{"allow":[],"deny":["set_shadow"]}},"deny-set-simple-fullscreen":{"identifier":"deny-set-simple-fullscreen","description":"Denies the set_simple_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["set_simple_fullscreen"]}},"deny-set-size":{"identifier":"deny-set-size","description":"Denies the set_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_size"]}},"deny-set-size-constraints":{"identifier":"deny-set-size-constraints","description":"Denies the set_size_constraints command without any pre-configured scope.","commands":{"allow":[],"deny":["set_size_constraints"]}},"deny-set-skip-taskbar":{"identifier":"deny-set-skip-taskbar","description":"Denies the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_skip_taskbar"]}},"deny-set-theme":{"identifier":"deny-set-theme","description":"Denies the set_theme command without any pre-configured scope.","commands":{"allow":[],"deny":["set_theme"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-title-bar-style":{"identifier":"deny-set-title-bar-style","description":"Denies the set_title_bar_style command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title_bar_style"]}},"deny-set-visible-on-all-workspaces":{"identifier":"deny-set-visible-on-all-workspaces","description":"Denies the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible_on_all_workspaces"]}},"deny-show":{"identifier":"deny-show","description":"Denies the show command without any pre-configured scope.","commands":{"allow":[],"deny":["show"]}},"deny-start-dragging":{"identifier":"deny-start-dragging","description":"Denies the start_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_dragging"]}},"deny-start-resize-dragging":{"identifier":"deny-start-resize-dragging","description":"Denies the start_resize_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_resize_dragging"]}},"deny-theme":{"identifier":"deny-theme","description":"Denies the theme command without any pre-configured scope.","commands":{"allow":[],"deny":["theme"]}},"deny-title":{"identifier":"deny-title","description":"Denies the title command without any pre-configured scope.","commands":{"allow":[],"deny":["title"]}},"deny-toggle-maximize":{"identifier":"deny-toggle-maximize","description":"Denies the toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["toggle_maximize"]}},"deny-unmaximize":{"identifier":"deny-unmaximize","description":"Denies the unmaximize command without any pre-configured scope.","commands":{"allow":[],"deny":["unmaximize"]}},"deny-unminimize":{"identifier":"deny-unminimize","description":"Denies the unminimize command without any pre-configured scope.","commands":{"allow":[],"deny":["unminimize"]}}},"permission_sets":{},"global_scope_schema":null},"dialog":{"default_permission":{"identifier":"default","description":"This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n","permissions":["allow-ask","allow-confirm","allow-message","allow-save","allow-open"]},"permissions":{"allow-ask":{"identifier":"allow-ask","description":"Enables the ask command without any pre-configured scope.","commands":{"allow":["ask"],"deny":[]}},"allow-confirm":{"identifier":"allow-confirm","description":"Enables the confirm command without any pre-configured scope.","commands":{"allow":["confirm"],"deny":[]}},"allow-message":{"identifier":"allow-message","description":"Enables the message command without any pre-configured scope.","commands":{"allow":["message"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-save":{"identifier":"allow-save","description":"Enables the save command without any pre-configured scope.","commands":{"allow":["save"],"deny":[]}},"deny-ask":{"identifier":"deny-ask","description":"Denies the ask command without any pre-configured scope.","commands":{"allow":[],"deny":["ask"]}},"deny-confirm":{"identifier":"deny-confirm","description":"Denies the confirm command without any pre-configured scope.","commands":{"allow":[],"deny":["confirm"]}},"deny-message":{"identifier":"deny-message","description":"Denies the message command without any pre-configured scope.","commands":{"allow":[],"deny":["message"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-save":{"identifier":"deny-save","description":"Denies the save command without any pre-configured scope.","commands":{"allow":[],"deny":["save"]}}},"permission_sets":{},"global_scope_schema":null},"http":{"default_permission":{"identifier":"default","description":"This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n","permissions":["allow-fetch","allow-fetch-cancel","allow-fetch-send","allow-fetch-read-body","allow-fetch-cancel-body"]},"permissions":{"allow-fetch":{"identifier":"allow-fetch","description":"Enables the fetch command without any pre-configured scope.","commands":{"allow":["fetch"],"deny":[]}},"allow-fetch-cancel":{"identifier":"allow-fetch-cancel","description":"Enables the fetch_cancel command without any pre-configured scope.","commands":{"allow":["fetch_cancel"],"deny":[]}},"allow-fetch-cancel-body":{"identifier":"allow-fetch-cancel-body","description":"Enables the fetch_cancel_body command without any pre-configured scope.","commands":{"allow":["fetch_cancel_body"],"deny":[]}},"allow-fetch-read-body":{"identifier":"allow-fetch-read-body","description":"Enables the fetch_read_body command without any pre-configured scope.","commands":{"allow":["fetch_read_body"],"deny":[]}},"allow-fetch-send":{"identifier":"allow-fetch-send","description":"Enables the fetch_send command without any pre-configured scope.","commands":{"allow":["fetch_send"],"deny":[]}},"deny-fetch":{"identifier":"deny-fetch","description":"Denies the fetch command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch"]}},"deny-fetch-cancel":{"identifier":"deny-fetch-cancel","description":"Denies the fetch_cancel command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_cancel"]}},"deny-fetch-cancel-body":{"identifier":"deny-fetch-cancel-body","description":"Denies the fetch_cancel_body command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_cancel_body"]}},"deny-fetch-read-body":{"identifier":"deny-fetch-read-body","description":"Denies the fetch_read_body command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_read_body"]}},"deny-fetch-send":{"identifier":"deny-fetch-send","description":"Denies the fetch_send command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_send"]}}},"permission_sets":{},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","anyOf":[{"description":"A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"","type":"string"},{"properties":{"url":{"description":"A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"","type":"string"}},"required":["url"],"type":"object"}],"description":"HTTP scope entry.","title":"HttpScopeEntry"}},"notification":{"default_permission":{"identifier":"default","description":"This permission set configures which\nnotification features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all notification related features.\n\n","permissions":["allow-is-permission-granted","allow-request-permission","allow-notify","allow-register-action-types","allow-register-listener","allow-cancel","allow-get-pending","allow-remove-active","allow-get-active","allow-check-permissions","allow-show","allow-batch","allow-list-channels","allow-delete-channel","allow-create-channel","allow-permission-state"]},"permissions":{"allow-batch":{"identifier":"allow-batch","description":"Enables the batch command without any pre-configured scope.","commands":{"allow":["batch"],"deny":[]}},"allow-cancel":{"identifier":"allow-cancel","description":"Enables the cancel command without any pre-configured scope.","commands":{"allow":["cancel"],"deny":[]}},"allow-check-permissions":{"identifier":"allow-check-permissions","description":"Enables the check_permissions command without any pre-configured scope.","commands":{"allow":["check_permissions"],"deny":[]}},"allow-create-channel":{"identifier":"allow-create-channel","description":"Enables the create_channel command without any pre-configured scope.","commands":{"allow":["create_channel"],"deny":[]}},"allow-delete-channel":{"identifier":"allow-delete-channel","description":"Enables the delete_channel command without any pre-configured scope.","commands":{"allow":["delete_channel"],"deny":[]}},"allow-get-active":{"identifier":"allow-get-active","description":"Enables the get_active command without any pre-configured scope.","commands":{"allow":["get_active"],"deny":[]}},"allow-get-pending":{"identifier":"allow-get-pending","description":"Enables the get_pending command without any pre-configured scope.","commands":{"allow":["get_pending"],"deny":[]}},"allow-is-permission-granted":{"identifier":"allow-is-permission-granted","description":"Enables the is_permission_granted command without any pre-configured scope.","commands":{"allow":["is_permission_granted"],"deny":[]}},"allow-list-channels":{"identifier":"allow-list-channels","description":"Enables the list_channels command without any pre-configured scope.","commands":{"allow":["list_channels"],"deny":[]}},"allow-notify":{"identifier":"allow-notify","description":"Enables the notify command without any pre-configured scope.","commands":{"allow":["notify"],"deny":[]}},"allow-permission-state":{"identifier":"allow-permission-state","description":"Enables the permission_state command without any pre-configured scope.","commands":{"allow":["permission_state"],"deny":[]}},"allow-register-action-types":{"identifier":"allow-register-action-types","description":"Enables the register_action_types command without any pre-configured scope.","commands":{"allow":["register_action_types"],"deny":[]}},"allow-register-listener":{"identifier":"allow-register-listener","description":"Enables the register_listener command without any pre-configured scope.","commands":{"allow":["register_listener"],"deny":[]}},"allow-remove-active":{"identifier":"allow-remove-active","description":"Enables the remove_active command without any pre-configured scope.","commands":{"allow":["remove_active"],"deny":[]}},"allow-request-permission":{"identifier":"allow-request-permission","description":"Enables the request_permission command without any pre-configured scope.","commands":{"allow":["request_permission"],"deny":[]}},"allow-show":{"identifier":"allow-show","description":"Enables the show command without any pre-configured scope.","commands":{"allow":["show"],"deny":[]}},"deny-batch":{"identifier":"deny-batch","description":"Denies the batch command without any pre-configured scope.","commands":{"allow":[],"deny":["batch"]}},"deny-cancel":{"identifier":"deny-cancel","description":"Denies the cancel command without any pre-configured scope.","commands":{"allow":[],"deny":["cancel"]}},"deny-check-permissions":{"identifier":"deny-check-permissions","description":"Denies the check_permissions command without any pre-configured scope.","commands":{"allow":[],"deny":["check_permissions"]}},"deny-create-channel":{"identifier":"deny-create-channel","description":"Denies the create_channel command without any pre-configured scope.","commands":{"allow":[],"deny":["create_channel"]}},"deny-delete-channel":{"identifier":"deny-delete-channel","description":"Denies the delete_channel command without any pre-configured scope.","commands":{"allow":[],"deny":["delete_channel"]}},"deny-get-active":{"identifier":"deny-get-active","description":"Denies the get_active command without any pre-configured scope.","commands":{"allow":[],"deny":["get_active"]}},"deny-get-pending":{"identifier":"deny-get-pending","description":"Denies the get_pending command without any pre-configured scope.","commands":{"allow":[],"deny":["get_pending"]}},"deny-is-permission-granted":{"identifier":"deny-is-permission-granted","description":"Denies the is_permission_granted command without any pre-configured scope.","commands":{"allow":[],"deny":["is_permission_granted"]}},"deny-list-channels":{"identifier":"deny-list-channels","description":"Denies the list_channels command without any pre-configured scope.","commands":{"allow":[],"deny":["list_channels"]}},"deny-notify":{"identifier":"deny-notify","description":"Denies the notify command without any pre-configured scope.","commands":{"allow":[],"deny":["notify"]}},"deny-permission-state":{"identifier":"deny-permission-state","description":"Denies the permission_state command without any pre-configured scope.","commands":{"allow":[],"deny":["permission_state"]}},"deny-register-action-types":{"identifier":"deny-register-action-types","description":"Denies the register_action_types command without any pre-configured scope.","commands":{"allow":[],"deny":["register_action_types"]}},"deny-register-listener":{"identifier":"deny-register-listener","description":"Denies the register_listener command without any pre-configured scope.","commands":{"allow":[],"deny":["register_listener"]}},"deny-remove-active":{"identifier":"deny-remove-active","description":"Denies the remove_active command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_active"]}},"deny-request-permission":{"identifier":"deny-request-permission","description":"Denies the request_permission command without any pre-configured scope.","commands":{"allow":[],"deny":["request_permission"]}},"deny-show":{"identifier":"deny-show","description":"Denies the show command without any pre-configured scope.","commands":{"allow":[],"deny":["show"]}}},"permission_sets":{},"global_scope_schema":null},"opener":{"default_permission":{"identifier":"default","description":"This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer","permissions":["allow-open-url","allow-reveal-item-in-dir","allow-default-urls"]},"permissions":{"allow-default-urls":{"identifier":"allow-default-urls","description":"This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.","commands":{"allow":[],"deny":[]},"scope":{"allow":[{"url":"mailto:*"},{"url":"tel:*"},{"url":"http://*"},{"url":"https://*"}]}},"allow-open-path":{"identifier":"allow-open-path","description":"Enables the open_path command without any pre-configured scope.","commands":{"allow":["open_path"],"deny":[]}},"allow-open-url":{"identifier":"allow-open-url","description":"Enables the open_url command without any pre-configured scope.","commands":{"allow":["open_url"],"deny":[]}},"allow-reveal-item-in-dir":{"identifier":"allow-reveal-item-in-dir","description":"Enables the reveal_item_in_dir command without any pre-configured scope.","commands":{"allow":["reveal_item_in_dir"],"deny":[]}},"deny-open-path":{"identifier":"deny-open-path","description":"Denies the open_path command without any pre-configured scope.","commands":{"allow":[],"deny":["open_path"]}},"deny-open-url":{"identifier":"deny-open-url","description":"Denies the open_url command without any pre-configured scope.","commands":{"allow":[],"deny":["open_url"]}},"deny-reveal-item-in-dir":{"identifier":"deny-reveal-item-in-dir","description":"Denies the reveal_item_in_dir command without any pre-configured scope.","commands":{"allow":[],"deny":["reveal_item_in_dir"]}}},"permission_sets":{},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","anyOf":[{"properties":{"app":{"allOf":[{"$ref":"#/definitions/Application"}],"description":"An application to open this url with, for example: firefox."},"url":{"description":"A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"","type":"string"}},"required":["url"],"type":"object"},{"properties":{"app":{"allOf":[{"$ref":"#/definitions/Application"}],"description":"An application to open this path with, for example: xdg-open."},"path":{"description":"A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.","type":"string"}},"required":["path"],"type":"object"}],"definitions":{"Application":{"anyOf":[{"description":"Open in default application.","type":"null"},{"description":"If true, allow open with any application.","type":"boolean"},{"description":"Allow specific application to open with.","type":"string"}],"description":"Opener scope application."}},"description":"Opener scope entry.","title":"OpenerScopeEntry"}},"process":{"default_permission":{"identifier":"default","description":"This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n","permissions":["allow-exit","allow-restart"]},"permissions":{"allow-exit":{"identifier":"allow-exit","description":"Enables the exit command without any pre-configured scope.","commands":{"allow":["exit"],"deny":[]}},"allow-restart":{"identifier":"allow-restart","description":"Enables the restart command without any pre-configured scope.","commands":{"allow":["restart"],"deny":[]}},"deny-exit":{"identifier":"deny-exit","description":"Denies the exit command without any pre-configured scope.","commands":{"allow":[],"deny":["exit"]}},"deny-restart":{"identifier":"deny-restart","description":"Denies the restart command without any pre-configured scope.","commands":{"allow":[],"deny":["restart"]}}},"permission_sets":{},"global_scope_schema":null},"updater":{"default_permission":{"identifier":"default","description":"This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n","permissions":["allow-check","allow-download","allow-install","allow-download-and-install"]},"permissions":{"allow-check":{"identifier":"allow-check","description":"Enables the check command without any pre-configured scope.","commands":{"allow":["check"],"deny":[]}},"allow-download":{"identifier":"allow-download","description":"Enables the download command without any pre-configured scope.","commands":{"allow":["download"],"deny":[]}},"allow-download-and-install":{"identifier":"allow-download-and-install","description":"Enables the download_and_install command without any pre-configured scope.","commands":{"allow":["download_and_install"],"deny":[]}},"allow-install":{"identifier":"allow-install","description":"Enables the install command without any pre-configured scope.","commands":{"allow":["install"],"deny":[]}},"deny-check":{"identifier":"deny-check","description":"Denies the check command without any pre-configured scope.","commands":{"allow":[],"deny":["check"]}},"deny-download":{"identifier":"deny-download","description":"Denies the download command without any pre-configured scope.","commands":{"allow":[],"deny":["download"]}},"deny-download-and-install":{"identifier":"deny-download-and-install","description":"Denies the download_and_install command without any pre-configured scope.","commands":{"allow":[],"deny":["download_and_install"]}},"deny-install":{"identifier":"deny-install","description":"Denies the install command without any pre-configured scope.","commands":{"allow":[],"deny":["install"]}}},"permission_sets":{},"global_scope_schema":null},"window-state":{"default_permission":{"identifier":"default","description":"This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n","permissions":["allow-filename","allow-restore-state","allow-save-window-state"]},"permissions":{"allow-filename":{"identifier":"allow-filename","description":"Enables the filename command without any pre-configured scope.","commands":{"allow":["filename"],"deny":[]}},"allow-restore-state":{"identifier":"allow-restore-state","description":"Enables the restore_state command without any pre-configured scope.","commands":{"allow":["restore_state"],"deny":[]}},"allow-save-window-state":{"identifier":"allow-save-window-state","description":"Enables the save_window_state command without any pre-configured scope.","commands":{"allow":["save_window_state"],"deny":[]}},"deny-filename":{"identifier":"deny-filename","description":"Denies the filename command without any pre-configured scope.","commands":{"allow":[],"deny":["filename"]}},"deny-restore-state":{"identifier":"deny-restore-state","description":"Denies the restore_state command without any pre-configured scope.","commands":{"allow":[],"deny":["restore_state"]}},"deny-save-window-state":{"identifier":"deny-save-window-state","description":"Denies the save_window_state command without any pre-configured scope.","commands":{"allow":[],"deny":["save_window_state"]}}},"permission_sets":{},"global_scope_schema":null}} \ No newline at end of file diff --git a/src-tauri/gen/schemas/android-schema.json b/src-tauri/gen/schemas/android-schema.json deleted file mode 100644 index 84f66b9..0000000 --- a/src-tauri/gen/schemas/android-schema.json +++ /dev/null @@ -1,2729 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "CapabilityFile", - "description": "Capability formats accepted in a capability file.", - "anyOf": [ - { - "description": "A single capability.", - "allOf": [ - { - "$ref": "#/definitions/Capability" - } - ] - }, - { - "description": "A list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - }, - { - "description": "A list of capabilities.", - "type": "object", - "required": [ - "capabilities" - ], - "properties": { - "capabilities": { - "description": "The list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - } - } - } - ], - "definitions": { - "Capability": { - "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows' and webviews' fine grained access to the Tauri core, application, or plugin commands. If a webview or its window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create groups of windows, based on their required system access, which can reduce impact of frontend vulnerabilities in less privileged windows. Windows can be added to a capability by exact name (e.g. `main-window`) or glob patterns like `*` or `admin-*`. A Window can have none, one, or multiple associated capabilities.\n\n## Example\n\n```json { \"identifier\": \"main-user-files-write\", \"description\": \"This capability allows the `main` window on macOS and Windows access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.\", \"windows\": [ \"main\" ], \"permissions\": [ \"core:default\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] }, ], \"platforms\": [\"macOS\",\"windows\"] } ```", - "type": "object", - "required": [ - "identifier", - "permissions" - ], - "properties": { - "identifier": { - "description": "Identifier of the capability.\n\n## Example\n\n`main-user-files-write`", - "type": "string" - }, - "description": { - "description": "Description of what the capability is intended to allow on associated windows.\n\nIt should contain a description of what the grouped permissions should allow.\n\n## Example\n\nThis capability allows the `main` window access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.", - "default": "", - "type": "string" - }, - "remote": { - "description": "Configure remote URLs that can use the capability permissions.\n\nThis setting is optional and defaults to not being set, as our default use case is that the content is served from our local application.\n\n:::caution Make sure you understand the security implications of providing remote sources with local system access. :::\n\n## Example\n\n```json { \"urls\": [\"https://*.mydomain.dev\"] } ```", - "anyOf": [ - { - "$ref": "#/definitions/CapabilityRemote" - }, - { - "type": "null" - } - ] - }, - "local": { - "description": "Whether this capability is enabled for local app URLs or not. Defaults to `true`.", - "default": true, - "type": "boolean" - }, - "windows": { - "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nIf a window label matches any of the patterns in this list, the capability will be enabled on all the webviews of that window, regardless of the value of [`Self::webviews`].\n\nOn multiwebview windows, prefer specifying [`Self::webviews`] and omitting [`Self::windows`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "webviews": { - "description": "List of webviews that are affected by this capability. Can be a glob pattern.\n\nThe capability will be enabled on all the webviews whose label matches any of the patterns in this list, regardless of whether the webview's window label matches a pattern in [`Self::windows`].\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "permissions": { - "description": "List of permissions attached to this capability.\n\nMust include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`. For commands directly implemented in the application itself only `${permission-name}` is required.\n\n## Example\n\n```json [ \"core:default\", \"shell:allow-open\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] } ] ```", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionEntry" - }, - "uniqueItems": true - }, - "platforms": { - "description": "Limit which target platforms this capability applies to.\n\nBy default all platforms are targeted.\n\n## Example\n\n`[\"macOS\",\"windows\"]`", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Target" - } - } - } - }, - "CapabilityRemote": { - "description": "Configuration for remote URLs that are associated with the capability.", - "type": "object", - "required": [ - "urls" - ], - "properties": { - "urls": { - "description": "Remote domains this capability refers to using the [URLPattern standard](https://urlpattern.spec.whatwg.org/).\n\n## Examples\n\n- \"https://*.mydomain.dev\": allows subdomains of mydomain.dev - \"https://mydomain.dev/api/*\": allows any subpath of mydomain.dev/api", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "PermissionEntry": { - "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", - "anyOf": [ - { - "description": "Reference a permission or permission set by identifier.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - { - "description": "Reference a permission or permission set by identifier and extends its scope.", - "type": "object", - "allOf": [ - { - "if": { - "properties": { - "identifier": { - "anyOf": [ - { - "description": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", - "type": "string", - "const": "opener:default", - "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" - }, - { - "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", - "type": "string", - "const": "opener:allow-default-urls", - "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." - }, - { - "description": "Enables the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-path", - "markdownDescription": "Enables the open_path command without any pre-configured scope." - }, - { - "description": "Enables the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-url", - "markdownDescription": "Enables the open_url command without any pre-configured scope." - }, - { - "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-reveal-item-in-dir", - "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." - }, - { - "description": "Denies the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-path", - "markdownDescription": "Denies the open_path command without any pre-configured scope." - }, - { - "description": "Denies the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-url", - "markdownDescription": "Denies the open_url command without any pre-configured scope." - }, - { - "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-reveal-item-in-dir", - "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." - } - ] - } - } - }, - "then": { - "properties": { - "allow": { - "items": { - "title": "OpenerScopeEntry", - "description": "Opener scope entry.", - "anyOf": [ - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "app": { - "description": "An application to open this url with, for example: firefox.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "url": { - "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - }, - { - "type": "object", - "required": [ - "path" - ], - "properties": { - "app": { - "description": "An application to open this path with, for example: xdg-open.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "path": { - "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - } - } - } - ] - } - }, - "deny": { - "items": { - "title": "OpenerScopeEntry", - "description": "Opener scope entry.", - "anyOf": [ - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "app": { - "description": "An application to open this url with, for example: firefox.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "url": { - "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - }, - { - "type": "object", - "required": [ - "path" - ], - "properties": { - "app": { - "description": "An application to open this path with, for example: xdg-open.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "path": { - "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - } - } - } - ] - } - } - } - }, - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - } - } - }, - { - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope. This should be prioritized by validation logic.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - } - ], - "required": [ - "identifier" - ] - } - ] - }, - "Identifier": { - "description": "Permission identifier", - "oneOf": [ - { - "description": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`", - "type": "string", - "const": "core:default", - "markdownDescription": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`" - }, - { - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`", - "type": "string", - "const": "core:app:default", - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`" - }, - { - "description": "Enables the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-hide", - "markdownDescription": "Enables the app_hide command without any pre-configured scope." - }, - { - "description": "Enables the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-show", - "markdownDescription": "Enables the app_show command without any pre-configured scope." - }, - { - "description": "Enables the bundle_type command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-bundle-type", - "markdownDescription": "Enables the bundle_type command without any pre-configured scope." - }, - { - "description": "Enables the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-default-window-icon", - "markdownDescription": "Enables the default_window_icon command without any pre-configured scope." - }, - { - "description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-fetch-data-store-identifiers", - "markdownDescription": "Enables the fetch_data_store_identifiers command without any pre-configured scope." - }, - { - "description": "Enables the identifier command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-identifier", - "markdownDescription": "Enables the identifier command without any pre-configured scope." - }, - { - "description": "Enables the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-name", - "markdownDescription": "Enables the name command without any pre-configured scope." - }, - { - "description": "Enables the register_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-register-listener", - "markdownDescription": "Enables the register_listener command without any pre-configured scope." - }, - { - "description": "Enables the remove_data_store command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-remove-data-store", - "markdownDescription": "Enables the remove_data_store command without any pre-configured scope." - }, - { - "description": "Enables the remove_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-remove-listener", - "markdownDescription": "Enables the remove_listener command without any pre-configured scope." - }, - { - "description": "Enables the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-set-app-theme", - "markdownDescription": "Enables the set_app_theme command without any pre-configured scope." - }, - { - "description": "Enables the set_dock_visibility command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-set-dock-visibility", - "markdownDescription": "Enables the set_dock_visibility command without any pre-configured scope." - }, - { - "description": "Enables the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-tauri-version", - "markdownDescription": "Enables the tauri_version command without any pre-configured scope." - }, - { - "description": "Enables the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-version", - "markdownDescription": "Enables the version command without any pre-configured scope." - }, - { - "description": "Denies the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-hide", - "markdownDescription": "Denies the app_hide command without any pre-configured scope." - }, - { - "description": "Denies the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-show", - "markdownDescription": "Denies the app_show command without any pre-configured scope." - }, - { - "description": "Denies the bundle_type command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-bundle-type", - "markdownDescription": "Denies the bundle_type command without any pre-configured scope." - }, - { - "description": "Denies the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-default-window-icon", - "markdownDescription": "Denies the default_window_icon command without any pre-configured scope." - }, - { - "description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-fetch-data-store-identifiers", - "markdownDescription": "Denies the fetch_data_store_identifiers command without any pre-configured scope." - }, - { - "description": "Denies the identifier command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-identifier", - "markdownDescription": "Denies the identifier command without any pre-configured scope." - }, - { - "description": "Denies the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-name", - "markdownDescription": "Denies the name command without any pre-configured scope." - }, - { - "description": "Denies the register_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-register-listener", - "markdownDescription": "Denies the register_listener command without any pre-configured scope." - }, - { - "description": "Denies the remove_data_store command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-remove-data-store", - "markdownDescription": "Denies the remove_data_store command without any pre-configured scope." - }, - { - "description": "Denies the remove_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-remove-listener", - "markdownDescription": "Denies the remove_listener command without any pre-configured scope." - }, - { - "description": "Denies the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-set-app-theme", - "markdownDescription": "Denies the set_app_theme command without any pre-configured scope." - }, - { - "description": "Denies the set_dock_visibility command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-set-dock-visibility", - "markdownDescription": "Denies the set_dock_visibility command without any pre-configured scope." - }, - { - "description": "Denies the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-tauri-version", - "markdownDescription": "Denies the tauri_version command without any pre-configured scope." - }, - { - "description": "Denies the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-version", - "markdownDescription": "Denies the version command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`", - "type": "string", - "const": "core:event:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`" - }, - { - "description": "Enables the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit", - "markdownDescription": "Enables the emit command without any pre-configured scope." - }, - { - "description": "Enables the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit-to", - "markdownDescription": "Enables the emit_to command without any pre-configured scope." - }, - { - "description": "Enables the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-listen", - "markdownDescription": "Enables the listen command without any pre-configured scope." - }, - { - "description": "Enables the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-unlisten", - "markdownDescription": "Enables the unlisten command without any pre-configured scope." - }, - { - "description": "Denies the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit", - "markdownDescription": "Denies the emit command without any pre-configured scope." - }, - { - "description": "Denies the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit-to", - "markdownDescription": "Denies the emit_to command without any pre-configured scope." - }, - { - "description": "Denies the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-listen", - "markdownDescription": "Denies the listen command without any pre-configured scope." - }, - { - "description": "Denies the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-unlisten", - "markdownDescription": "Denies the unlisten command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`", - "type": "string", - "const": "core:image:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`" - }, - { - "description": "Enables the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-bytes", - "markdownDescription": "Enables the from_bytes command without any pre-configured scope." - }, - { - "description": "Enables the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-path", - "markdownDescription": "Enables the from_path command without any pre-configured scope." - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-new", - "markdownDescription": "Enables the new command without any pre-configured scope." - }, - { - "description": "Enables the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-rgba", - "markdownDescription": "Enables the rgba command without any pre-configured scope." - }, - { - "description": "Enables the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-size", - "markdownDescription": "Enables the size command without any pre-configured scope." - }, - { - "description": "Denies the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-bytes", - "markdownDescription": "Denies the from_bytes command without any pre-configured scope." - }, - { - "description": "Denies the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-path", - "markdownDescription": "Denies the from_path command without any pre-configured scope." - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-new", - "markdownDescription": "Denies the new command without any pre-configured scope." - }, - { - "description": "Denies the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-rgba", - "markdownDescription": "Denies the rgba command without any pre-configured scope." - }, - { - "description": "Denies the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-size", - "markdownDescription": "Denies the size command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`", - "type": "string", - "const": "core:menu:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`" - }, - { - "description": "Enables the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-append", - "markdownDescription": "Enables the append command without any pre-configured scope." - }, - { - "description": "Enables the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-create-default", - "markdownDescription": "Enables the create_default command without any pre-configured scope." - }, - { - "description": "Enables the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-get", - "markdownDescription": "Enables the get command without any pre-configured scope." - }, - { - "description": "Enables the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-insert", - "markdownDescription": "Enables the insert command without any pre-configured scope." - }, - { - "description": "Enables the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-checked", - "markdownDescription": "Enables the is_checked command without any pre-configured scope." - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-enabled", - "markdownDescription": "Enables the is_enabled command without any pre-configured scope." - }, - { - "description": "Enables the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-items", - "markdownDescription": "Enables the items command without any pre-configured scope." - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-new", - "markdownDescription": "Enables the new command without any pre-configured scope." - }, - { - "description": "Enables the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-popup", - "markdownDescription": "Enables the popup command without any pre-configured scope." - }, - { - "description": "Enables the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-prepend", - "markdownDescription": "Enables the prepend command without any pre-configured scope." - }, - { - "description": "Enables the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove", - "markdownDescription": "Enables the remove command without any pre-configured scope." - }, - { - "description": "Enables the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove-at", - "markdownDescription": "Enables the remove_at command without any pre-configured scope." - }, - { - "description": "Enables the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-accelerator", - "markdownDescription": "Enables the set_accelerator command without any pre-configured scope." - }, - { - "description": "Enables the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-app-menu", - "markdownDescription": "Enables the set_as_app_menu command without any pre-configured scope." - }, - { - "description": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-help-menu-for-nsapp", - "markdownDescription": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Enables the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-window-menu", - "markdownDescription": "Enables the set_as_window_menu command without any pre-configured scope." - }, - { - "description": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-windows-menu-for-nsapp", - "markdownDescription": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Enables the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-checked", - "markdownDescription": "Enables the set_checked command without any pre-configured scope." - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-enabled", - "markdownDescription": "Enables the set_enabled command without any pre-configured scope." - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-icon", - "markdownDescription": "Enables the set_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-text", - "markdownDescription": "Enables the set_text command without any pre-configured scope." - }, - { - "description": "Enables the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-text", - "markdownDescription": "Enables the text command without any pre-configured scope." - }, - { - "description": "Denies the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-append", - "markdownDescription": "Denies the append command without any pre-configured scope." - }, - { - "description": "Denies the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-create-default", - "markdownDescription": "Denies the create_default command without any pre-configured scope." - }, - { - "description": "Denies the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-get", - "markdownDescription": "Denies the get command without any pre-configured scope." - }, - { - "description": "Denies the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-insert", - "markdownDescription": "Denies the insert command without any pre-configured scope." - }, - { - "description": "Denies the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-checked", - "markdownDescription": "Denies the is_checked command without any pre-configured scope." - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-enabled", - "markdownDescription": "Denies the is_enabled command without any pre-configured scope." - }, - { - "description": "Denies the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-items", - "markdownDescription": "Denies the items command without any pre-configured scope." - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-new", - "markdownDescription": "Denies the new command without any pre-configured scope." - }, - { - "description": "Denies the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-popup", - "markdownDescription": "Denies the popup command without any pre-configured scope." - }, - { - "description": "Denies the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-prepend", - "markdownDescription": "Denies the prepend command without any pre-configured scope." - }, - { - "description": "Denies the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove", - "markdownDescription": "Denies the remove command without any pre-configured scope." - }, - { - "description": "Denies the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove-at", - "markdownDescription": "Denies the remove_at command without any pre-configured scope." - }, - { - "description": "Denies the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-accelerator", - "markdownDescription": "Denies the set_accelerator command without any pre-configured scope." - }, - { - "description": "Denies the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-app-menu", - "markdownDescription": "Denies the set_as_app_menu command without any pre-configured scope." - }, - { - "description": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-help-menu-for-nsapp", - "markdownDescription": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Denies the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-window-menu", - "markdownDescription": "Denies the set_as_window_menu command without any pre-configured scope." - }, - { - "description": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-windows-menu-for-nsapp", - "markdownDescription": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Denies the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-checked", - "markdownDescription": "Denies the set_checked command without any pre-configured scope." - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-enabled", - "markdownDescription": "Denies the set_enabled command without any pre-configured scope." - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-icon", - "markdownDescription": "Denies the set_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-text", - "markdownDescription": "Denies the set_text command without any pre-configured scope." - }, - { - "description": "Denies the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-text", - "markdownDescription": "Denies the text command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`", - "type": "string", - "const": "core:path:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`" - }, - { - "description": "Enables the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-basename", - "markdownDescription": "Enables the basename command without any pre-configured scope." - }, - { - "description": "Enables the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-dirname", - "markdownDescription": "Enables the dirname command without any pre-configured scope." - }, - { - "description": "Enables the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-extname", - "markdownDescription": "Enables the extname command without any pre-configured scope." - }, - { - "description": "Enables the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-is-absolute", - "markdownDescription": "Enables the is_absolute command without any pre-configured scope." - }, - { - "description": "Enables the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-join", - "markdownDescription": "Enables the join command without any pre-configured scope." - }, - { - "description": "Enables the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-normalize", - "markdownDescription": "Enables the normalize command without any pre-configured scope." - }, - { - "description": "Enables the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve", - "markdownDescription": "Enables the resolve command without any pre-configured scope." - }, - { - "description": "Enables the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve-directory", - "markdownDescription": "Enables the resolve_directory command without any pre-configured scope." - }, - { - "description": "Denies the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-basename", - "markdownDescription": "Denies the basename command without any pre-configured scope." - }, - { - "description": "Denies the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-dirname", - "markdownDescription": "Denies the dirname command without any pre-configured scope." - }, - { - "description": "Denies the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-extname", - "markdownDescription": "Denies the extname command without any pre-configured scope." - }, - { - "description": "Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-is-absolute", - "markdownDescription": "Denies the is_absolute command without any pre-configured scope." - }, - { - "description": "Denies the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-join", - "markdownDescription": "Denies the join command without any pre-configured scope." - }, - { - "description": "Denies the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-normalize", - "markdownDescription": "Denies the normalize command without any pre-configured scope." - }, - { - "description": "Denies the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve", - "markdownDescription": "Denies the resolve command without any pre-configured scope." - }, - { - "description": "Denies the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve-directory", - "markdownDescription": "Denies the resolve_directory command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`", - "type": "string", - "const": "core:resources:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`" - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:allow-close", - "markdownDescription": "Enables the close command without any pre-configured scope." - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:deny-close", - "markdownDescription": "Denies the close command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-show-menu-on-left-click`", - "type": "string", - "const": "core:tray:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-show-menu-on-left-click`" - }, - { - "description": "Enables the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-get-by-id", - "markdownDescription": "Enables the get_by_id command without any pre-configured scope." - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-new", - "markdownDescription": "Enables the new command without any pre-configured scope." - }, - { - "description": "Enables the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-remove-by-id", - "markdownDescription": "Enables the remove_by_id command without any pre-configured scope." - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon", - "markdownDescription": "Enables the set_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon-as-template", - "markdownDescription": "Enables the set_icon_as_template command without any pre-configured scope." - }, - { - "description": "Enables the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-menu", - "markdownDescription": "Enables the set_menu command without any pre-configured scope." - }, - { - "description": "Enables the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-show-menu-on-left-click", - "markdownDescription": "Enables the set_show_menu_on_left_click command without any pre-configured scope." - }, - { - "description": "Enables the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-temp-dir-path", - "markdownDescription": "Enables the set_temp_dir_path command without any pre-configured scope." - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-title", - "markdownDescription": "Enables the set_title command without any pre-configured scope." - }, - { - "description": "Enables the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-tooltip", - "markdownDescription": "Enables the set_tooltip command without any pre-configured scope." - }, - { - "description": "Enables the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-visible", - "markdownDescription": "Enables the set_visible command without any pre-configured scope." - }, - { - "description": "Denies the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-get-by-id", - "markdownDescription": "Denies the get_by_id command without any pre-configured scope." - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-new", - "markdownDescription": "Denies the new command without any pre-configured scope." - }, - { - "description": "Denies the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-remove-by-id", - "markdownDescription": "Denies the remove_by_id command without any pre-configured scope." - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon", - "markdownDescription": "Denies the set_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon-as-template", - "markdownDescription": "Denies the set_icon_as_template command without any pre-configured scope." - }, - { - "description": "Denies the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-menu", - "markdownDescription": "Denies the set_menu command without any pre-configured scope." - }, - { - "description": "Denies the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-show-menu-on-left-click", - "markdownDescription": "Denies the set_show_menu_on_left_click command without any pre-configured scope." - }, - { - "description": "Denies the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-temp-dir-path", - "markdownDescription": "Denies the set_temp_dir_path command without any pre-configured scope." - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-title", - "markdownDescription": "Denies the set_title command without any pre-configured scope." - }, - { - "description": "Denies the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-tooltip", - "markdownDescription": "Denies the set_tooltip command without any pre-configured scope." - }, - { - "description": "Denies the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-visible", - "markdownDescription": "Denies the set_visible command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`", - "type": "string", - "const": "core:webview:default", - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`" - }, - { - "description": "Enables the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-clear-all-browsing-data", - "markdownDescription": "Enables the clear_all_browsing_data command without any pre-configured scope." - }, - { - "description": "Enables the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview", - "markdownDescription": "Enables the create_webview command without any pre-configured scope." - }, - { - "description": "Enables the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview-window", - "markdownDescription": "Enables the create_webview_window command without any pre-configured scope." - }, - { - "description": "Enables the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-get-all-webviews", - "markdownDescription": "Enables the get_all_webviews command without any pre-configured scope." - }, - { - "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-internal-toggle-devtools", - "markdownDescription": "Enables the internal_toggle_devtools command without any pre-configured scope." - }, - { - "description": "Enables the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-print", - "markdownDescription": "Enables the print command without any pre-configured scope." - }, - { - "description": "Enables the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-reparent", - "markdownDescription": "Enables the reparent command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_auto_resize command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-auto-resize", - "markdownDescription": "Enables the set_webview_auto_resize command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-background-color", - "markdownDescription": "Enables the set_webview_background_color command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-focus", - "markdownDescription": "Enables the set_webview_focus command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-position", - "markdownDescription": "Enables the set_webview_position command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-size", - "markdownDescription": "Enables the set_webview_size command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-zoom", - "markdownDescription": "Enables the set_webview_zoom command without any pre-configured scope." - }, - { - "description": "Enables the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-close", - "markdownDescription": "Enables the webview_close command without any pre-configured scope." - }, - { - "description": "Enables the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-hide", - "markdownDescription": "Enables the webview_hide command without any pre-configured scope." - }, - { - "description": "Enables the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-position", - "markdownDescription": "Enables the webview_position command without any pre-configured scope." - }, - { - "description": "Enables the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-show", - "markdownDescription": "Enables the webview_show command without any pre-configured scope." - }, - { - "description": "Enables the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-size", - "markdownDescription": "Enables the webview_size command without any pre-configured scope." - }, - { - "description": "Denies the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-clear-all-browsing-data", - "markdownDescription": "Denies the clear_all_browsing_data command without any pre-configured scope." - }, - { - "description": "Denies the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview", - "markdownDescription": "Denies the create_webview command without any pre-configured scope." - }, - { - "description": "Denies the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview-window", - "markdownDescription": "Denies the create_webview_window command without any pre-configured scope." - }, - { - "description": "Denies the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-get-all-webviews", - "markdownDescription": "Denies the get_all_webviews command without any pre-configured scope." - }, - { - "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-internal-toggle-devtools", - "markdownDescription": "Denies the internal_toggle_devtools command without any pre-configured scope." - }, - { - "description": "Denies the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-print", - "markdownDescription": "Denies the print command without any pre-configured scope." - }, - { - "description": "Denies the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-reparent", - "markdownDescription": "Denies the reparent command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_auto_resize command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-auto-resize", - "markdownDescription": "Denies the set_webview_auto_resize command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-background-color", - "markdownDescription": "Denies the set_webview_background_color command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-focus", - "markdownDescription": "Denies the set_webview_focus command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-position", - "markdownDescription": "Denies the set_webview_position command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-size", - "markdownDescription": "Denies the set_webview_size command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-zoom", - "markdownDescription": "Denies the set_webview_zoom command without any pre-configured scope." - }, - { - "description": "Denies the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-close", - "markdownDescription": "Denies the webview_close command without any pre-configured scope." - }, - { - "description": "Denies the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-hide", - "markdownDescription": "Denies the webview_hide command without any pre-configured scope." - }, - { - "description": "Denies the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-position", - "markdownDescription": "Denies the webview_position command without any pre-configured scope." - }, - { - "description": "Denies the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-show", - "markdownDescription": "Denies the webview_show command without any pre-configured scope." - }, - { - "description": "Denies the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-size", - "markdownDescription": "Denies the webview_size command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-internal-toggle-maximize`", - "type": "string", - "const": "core:window:default", - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-internal-toggle-maximize`" - }, - { - "description": "Enables the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-available-monitors", - "markdownDescription": "Enables the available_monitors command without any pre-configured scope." - }, - { - "description": "Enables the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-center", - "markdownDescription": "Enables the center command without any pre-configured scope." - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-close", - "markdownDescription": "Enables the close command without any pre-configured scope." - }, - { - "description": "Enables the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-create", - "markdownDescription": "Enables the create command without any pre-configured scope." - }, - { - "description": "Enables the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-current-monitor", - "markdownDescription": "Enables the current_monitor command without any pre-configured scope." - }, - { - "description": "Enables the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-cursor-position", - "markdownDescription": "Enables the cursor_position command without any pre-configured scope." - }, - { - "description": "Enables the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-destroy", - "markdownDescription": "Enables the destroy command without any pre-configured scope." - }, - { - "description": "Enables the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-get-all-windows", - "markdownDescription": "Enables the get_all_windows command without any pre-configured scope." - }, - { - "description": "Enables the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-hide", - "markdownDescription": "Enables the hide command without any pre-configured scope." - }, - { - "description": "Enables the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-position", - "markdownDescription": "Enables the inner_position command without any pre-configured scope." - }, - { - "description": "Enables the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-size", - "markdownDescription": "Enables the inner_size command without any pre-configured scope." - }, - { - "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-internal-toggle-maximize", - "markdownDescription": "Enables the internal_toggle_maximize command without any pre-configured scope." - }, - { - "description": "Enables the is_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-always-on-top", - "markdownDescription": "Enables the is_always_on_top command without any pre-configured scope." - }, - { - "description": "Enables the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-closable", - "markdownDescription": "Enables the is_closable command without any pre-configured scope." - }, - { - "description": "Enables the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-decorated", - "markdownDescription": "Enables the is_decorated command without any pre-configured scope." - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-enabled", - "markdownDescription": "Enables the is_enabled command without any pre-configured scope." - }, - { - "description": "Enables the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-focused", - "markdownDescription": "Enables the is_focused command without any pre-configured scope." - }, - { - "description": "Enables the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-fullscreen", - "markdownDescription": "Enables the is_fullscreen command without any pre-configured scope." - }, - { - "description": "Enables the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximizable", - "markdownDescription": "Enables the is_maximizable command without any pre-configured scope." - }, - { - "description": "Enables the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximized", - "markdownDescription": "Enables the is_maximized command without any pre-configured scope." - }, - { - "description": "Enables the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimizable", - "markdownDescription": "Enables the is_minimizable command without any pre-configured scope." - }, - { - "description": "Enables the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimized", - "markdownDescription": "Enables the is_minimized command without any pre-configured scope." - }, - { - "description": "Enables the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-resizable", - "markdownDescription": "Enables the is_resizable command without any pre-configured scope." - }, - { - "description": "Enables the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-visible", - "markdownDescription": "Enables the is_visible command without any pre-configured scope." - }, - { - "description": "Enables the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-maximize", - "markdownDescription": "Enables the maximize command without any pre-configured scope." - }, - { - "description": "Enables the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-minimize", - "markdownDescription": "Enables the minimize command without any pre-configured scope." - }, - { - "description": "Enables the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-monitor-from-point", - "markdownDescription": "Enables the monitor_from_point command without any pre-configured scope." - }, - { - "description": "Enables the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-position", - "markdownDescription": "Enables the outer_position command without any pre-configured scope." - }, - { - "description": "Enables the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-size", - "markdownDescription": "Enables the outer_size command without any pre-configured scope." - }, - { - "description": "Enables the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-primary-monitor", - "markdownDescription": "Enables the primary_monitor command without any pre-configured scope." - }, - { - "description": "Enables the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-request-user-attention", - "markdownDescription": "Enables the request_user_attention command without any pre-configured scope." - }, - { - "description": "Enables the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-scale-factor", - "markdownDescription": "Enables the scale_factor command without any pre-configured scope." - }, - { - "description": "Enables the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-bottom", - "markdownDescription": "Enables the set_always_on_bottom command without any pre-configured scope." - }, - { - "description": "Enables the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-top", - "markdownDescription": "Enables the set_always_on_top command without any pre-configured scope." - }, - { - "description": "Enables the set_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-background-color", - "markdownDescription": "Enables the set_background_color command without any pre-configured scope." - }, - { - "description": "Enables the set_badge_count command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-badge-count", - "markdownDescription": "Enables the set_badge_count command without any pre-configured scope." - }, - { - "description": "Enables the set_badge_label command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-badge-label", - "markdownDescription": "Enables the set_badge_label command without any pre-configured scope." - }, - { - "description": "Enables the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-closable", - "markdownDescription": "Enables the set_closable command without any pre-configured scope." - }, - { - "description": "Enables the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-content-protected", - "markdownDescription": "Enables the set_content_protected command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-grab", - "markdownDescription": "Enables the set_cursor_grab command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-icon", - "markdownDescription": "Enables the set_cursor_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-position", - "markdownDescription": "Enables the set_cursor_position command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-visible", - "markdownDescription": "Enables the set_cursor_visible command without any pre-configured scope." - }, - { - "description": "Enables the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-decorations", - "markdownDescription": "Enables the set_decorations command without any pre-configured scope." - }, - { - "description": "Enables the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-effects", - "markdownDescription": "Enables the set_effects command without any pre-configured scope." - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-enabled", - "markdownDescription": "Enables the set_enabled command without any pre-configured scope." - }, - { - "description": "Enables the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-focus", - "markdownDescription": "Enables the set_focus command without any pre-configured scope." - }, - { - "description": "Enables the set_focusable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-focusable", - "markdownDescription": "Enables the set_focusable command without any pre-configured scope." - }, - { - "description": "Enables the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-fullscreen", - "markdownDescription": "Enables the set_fullscreen command without any pre-configured scope." - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-icon", - "markdownDescription": "Enables the set_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-ignore-cursor-events", - "markdownDescription": "Enables the set_ignore_cursor_events command without any pre-configured scope." - }, - { - "description": "Enables the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-max-size", - "markdownDescription": "Enables the set_max_size command without any pre-configured scope." - }, - { - "description": "Enables the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-maximizable", - "markdownDescription": "Enables the set_maximizable command without any pre-configured scope." - }, - { - "description": "Enables the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-min-size", - "markdownDescription": "Enables the set_min_size command without any pre-configured scope." - }, - { - "description": "Enables the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-minimizable", - "markdownDescription": "Enables the set_minimizable command without any pre-configured scope." - }, - { - "description": "Enables the set_overlay_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-overlay-icon", - "markdownDescription": "Enables the set_overlay_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-position", - "markdownDescription": "Enables the set_position command without any pre-configured scope." - }, - { - "description": "Enables the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-progress-bar", - "markdownDescription": "Enables the set_progress_bar command without any pre-configured scope." - }, - { - "description": "Enables the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-resizable", - "markdownDescription": "Enables the set_resizable command without any pre-configured scope." - }, - { - "description": "Enables the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-shadow", - "markdownDescription": "Enables the set_shadow command without any pre-configured scope." - }, - { - "description": "Enables the set_simple_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-simple-fullscreen", - "markdownDescription": "Enables the set_simple_fullscreen command without any pre-configured scope." - }, - { - "description": "Enables the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size", - "markdownDescription": "Enables the set_size command without any pre-configured scope." - }, - { - "description": "Enables the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size-constraints", - "markdownDescription": "Enables the set_size_constraints command without any pre-configured scope." - }, - { - "description": "Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-skip-taskbar", - "markdownDescription": "Enables the set_skip_taskbar command without any pre-configured scope." - }, - { - "description": "Enables the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-theme", - "markdownDescription": "Enables the set_theme command without any pre-configured scope." - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title", - "markdownDescription": "Enables the set_title command without any pre-configured scope." - }, - { - "description": "Enables the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title-bar-style", - "markdownDescription": "Enables the set_title_bar_style command without any pre-configured scope." - }, - { - "description": "Enables the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-visible-on-all-workspaces", - "markdownDescription": "Enables the set_visible_on_all_workspaces command without any pre-configured scope." - }, - { - "description": "Enables the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-show", - "markdownDescription": "Enables the show command without any pre-configured scope." - }, - { - "description": "Enables the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-dragging", - "markdownDescription": "Enables the start_dragging command without any pre-configured scope." - }, - { - "description": "Enables the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-resize-dragging", - "markdownDescription": "Enables the start_resize_dragging command without any pre-configured scope." - }, - { - "description": "Enables the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-theme", - "markdownDescription": "Enables the theme command without any pre-configured scope." - }, - { - "description": "Enables the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-title", - "markdownDescription": "Enables the title command without any pre-configured scope." - }, - { - "description": "Enables the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-toggle-maximize", - "markdownDescription": "Enables the toggle_maximize command without any pre-configured scope." - }, - { - "description": "Enables the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unmaximize", - "markdownDescription": "Enables the unmaximize command without any pre-configured scope." - }, - { - "description": "Enables the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unminimize", - "markdownDescription": "Enables the unminimize command without any pre-configured scope." - }, - { - "description": "Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-available-monitors", - "markdownDescription": "Denies the available_monitors command without any pre-configured scope." - }, - { - "description": "Denies the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-center", - "markdownDescription": "Denies the center command without any pre-configured scope." - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-close", - "markdownDescription": "Denies the close command without any pre-configured scope." - }, - { - "description": "Denies the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-create", - "markdownDescription": "Denies the create command without any pre-configured scope." - }, - { - "description": "Denies the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-current-monitor", - "markdownDescription": "Denies the current_monitor command without any pre-configured scope." - }, - { - "description": "Denies the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-cursor-position", - "markdownDescription": "Denies the cursor_position command without any pre-configured scope." - }, - { - "description": "Denies the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-destroy", - "markdownDescription": "Denies the destroy command without any pre-configured scope." - }, - { - "description": "Denies the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-get-all-windows", - "markdownDescription": "Denies the get_all_windows command without any pre-configured scope." - }, - { - "description": "Denies the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-hide", - "markdownDescription": "Denies the hide command without any pre-configured scope." - }, - { - "description": "Denies the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-position", - "markdownDescription": "Denies the inner_position command without any pre-configured scope." - }, - { - "description": "Denies the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-size", - "markdownDescription": "Denies the inner_size command without any pre-configured scope." - }, - { - "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-internal-toggle-maximize", - "markdownDescription": "Denies the internal_toggle_maximize command without any pre-configured scope." - }, - { - "description": "Denies the is_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-always-on-top", - "markdownDescription": "Denies the is_always_on_top command without any pre-configured scope." - }, - { - "description": "Denies the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-closable", - "markdownDescription": "Denies the is_closable command without any pre-configured scope." - }, - { - "description": "Denies the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-decorated", - "markdownDescription": "Denies the is_decorated command without any pre-configured scope." - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-enabled", - "markdownDescription": "Denies the is_enabled command without any pre-configured scope." - }, - { - "description": "Denies the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-focused", - "markdownDescription": "Denies the is_focused command without any pre-configured scope." - }, - { - "description": "Denies the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-fullscreen", - "markdownDescription": "Denies the is_fullscreen command without any pre-configured scope." - }, - { - "description": "Denies the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximizable", - "markdownDescription": "Denies the is_maximizable command without any pre-configured scope." - }, - { - "description": "Denies the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximized", - "markdownDescription": "Denies the is_maximized command without any pre-configured scope." - }, - { - "description": "Denies the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimizable", - "markdownDescription": "Denies the is_minimizable command without any pre-configured scope." - }, - { - "description": "Denies the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimized", - "markdownDescription": "Denies the is_minimized command without any pre-configured scope." - }, - { - "description": "Denies the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-resizable", - "markdownDescription": "Denies the is_resizable command without any pre-configured scope." - }, - { - "description": "Denies the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-visible", - "markdownDescription": "Denies the is_visible command without any pre-configured scope." - }, - { - "description": "Denies the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-maximize", - "markdownDescription": "Denies the maximize command without any pre-configured scope." - }, - { - "description": "Denies the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-minimize", - "markdownDescription": "Denies the minimize command without any pre-configured scope." - }, - { - "description": "Denies the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-monitor-from-point", - "markdownDescription": "Denies the monitor_from_point command without any pre-configured scope." - }, - { - "description": "Denies the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-position", - "markdownDescription": "Denies the outer_position command without any pre-configured scope." - }, - { - "description": "Denies the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-size", - "markdownDescription": "Denies the outer_size command without any pre-configured scope." - }, - { - "description": "Denies the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-primary-monitor", - "markdownDescription": "Denies the primary_monitor command without any pre-configured scope." - }, - { - "description": "Denies the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-request-user-attention", - "markdownDescription": "Denies the request_user_attention command without any pre-configured scope." - }, - { - "description": "Denies the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-scale-factor", - "markdownDescription": "Denies the scale_factor command without any pre-configured scope." - }, - { - "description": "Denies the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-bottom", - "markdownDescription": "Denies the set_always_on_bottom command without any pre-configured scope." - }, - { - "description": "Denies the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-top", - "markdownDescription": "Denies the set_always_on_top command without any pre-configured scope." - }, - { - "description": "Denies the set_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-background-color", - "markdownDescription": "Denies the set_background_color command without any pre-configured scope." - }, - { - "description": "Denies the set_badge_count command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-badge-count", - "markdownDescription": "Denies the set_badge_count command without any pre-configured scope." - }, - { - "description": "Denies the set_badge_label command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-badge-label", - "markdownDescription": "Denies the set_badge_label command without any pre-configured scope." - }, - { - "description": "Denies the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-closable", - "markdownDescription": "Denies the set_closable command without any pre-configured scope." - }, - { - "description": "Denies the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-content-protected", - "markdownDescription": "Denies the set_content_protected command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-grab", - "markdownDescription": "Denies the set_cursor_grab command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-icon", - "markdownDescription": "Denies the set_cursor_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-position", - "markdownDescription": "Denies the set_cursor_position command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-visible", - "markdownDescription": "Denies the set_cursor_visible command without any pre-configured scope." - }, - { - "description": "Denies the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-decorations", - "markdownDescription": "Denies the set_decorations command without any pre-configured scope." - }, - { - "description": "Denies the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-effects", - "markdownDescription": "Denies the set_effects command without any pre-configured scope." - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-enabled", - "markdownDescription": "Denies the set_enabled command without any pre-configured scope." - }, - { - "description": "Denies the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-focus", - "markdownDescription": "Denies the set_focus command without any pre-configured scope." - }, - { - "description": "Denies the set_focusable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-focusable", - "markdownDescription": "Denies the set_focusable command without any pre-configured scope." - }, - { - "description": "Denies the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-fullscreen", - "markdownDescription": "Denies the set_fullscreen command without any pre-configured scope." - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-icon", - "markdownDescription": "Denies the set_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-ignore-cursor-events", - "markdownDescription": "Denies the set_ignore_cursor_events command without any pre-configured scope." - }, - { - "description": "Denies the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-max-size", - "markdownDescription": "Denies the set_max_size command without any pre-configured scope." - }, - { - "description": "Denies the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-maximizable", - "markdownDescription": "Denies the set_maximizable command without any pre-configured scope." - }, - { - "description": "Denies the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-min-size", - "markdownDescription": "Denies the set_min_size command without any pre-configured scope." - }, - { - "description": "Denies the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-minimizable", - "markdownDescription": "Denies the set_minimizable command without any pre-configured scope." - }, - { - "description": "Denies the set_overlay_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-overlay-icon", - "markdownDescription": "Denies the set_overlay_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-position", - "markdownDescription": "Denies the set_position command without any pre-configured scope." - }, - { - "description": "Denies the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-progress-bar", - "markdownDescription": "Denies the set_progress_bar command without any pre-configured scope." - }, - { - "description": "Denies the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-resizable", - "markdownDescription": "Denies the set_resizable command without any pre-configured scope." - }, - { - "description": "Denies the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-shadow", - "markdownDescription": "Denies the set_shadow command without any pre-configured scope." - }, - { - "description": "Denies the set_simple_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-simple-fullscreen", - "markdownDescription": "Denies the set_simple_fullscreen command without any pre-configured scope." - }, - { - "description": "Denies the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size", - "markdownDescription": "Denies the set_size command without any pre-configured scope." - }, - { - "description": "Denies the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size-constraints", - "markdownDescription": "Denies the set_size_constraints command without any pre-configured scope." - }, - { - "description": "Denies the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-skip-taskbar", - "markdownDescription": "Denies the set_skip_taskbar command without any pre-configured scope." - }, - { - "description": "Denies the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-theme", - "markdownDescription": "Denies the set_theme command without any pre-configured scope." - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title", - "markdownDescription": "Denies the set_title command without any pre-configured scope." - }, - { - "description": "Denies the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title-bar-style", - "markdownDescription": "Denies the set_title_bar_style command without any pre-configured scope." - }, - { - "description": "Denies the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-visible-on-all-workspaces", - "markdownDescription": "Denies the set_visible_on_all_workspaces command without any pre-configured scope." - }, - { - "description": "Denies the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-show", - "markdownDescription": "Denies the show command without any pre-configured scope." - }, - { - "description": "Denies the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-dragging", - "markdownDescription": "Denies the start_dragging command without any pre-configured scope." - }, - { - "description": "Denies the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-resize-dragging", - "markdownDescription": "Denies the start_resize_dragging command without any pre-configured scope." - }, - { - "description": "Denies the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-theme", - "markdownDescription": "Denies the theme command without any pre-configured scope." - }, - { - "description": "Denies the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-title", - "markdownDescription": "Denies the title command without any pre-configured scope." - }, - { - "description": "Denies the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-toggle-maximize", - "markdownDescription": "Denies the toggle_maximize command without any pre-configured scope." - }, - { - "description": "Denies the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unmaximize", - "markdownDescription": "Denies the unmaximize command without any pre-configured scope." - }, - { - "description": "Denies the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unminimize", - "markdownDescription": "Denies the unminimize command without any pre-configured scope." - }, - { - "description": "Allows reading the opened deep link via the get_current command\n#### This default permission set includes:\n\n- `allow-get-current`", - "type": "string", - "const": "deep-link:default", - "markdownDescription": "Allows reading the opened deep link via the get_current command\n#### This default permission set includes:\n\n- `allow-get-current`" - }, - { - "description": "Enables the get_current command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-get-current", - "markdownDescription": "Enables the get_current command without any pre-configured scope." - }, - { - "description": "Enables the is_registered command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-is-registered", - "markdownDescription": "Enables the is_registered command without any pre-configured scope." - }, - { - "description": "Enables the register command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-register", - "markdownDescription": "Enables the register command without any pre-configured scope." - }, - { - "description": "Enables the unregister command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-unregister", - "markdownDescription": "Enables the unregister command without any pre-configured scope." - }, - { - "description": "Denies the get_current command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-get-current", - "markdownDescription": "Denies the get_current command without any pre-configured scope." - }, - { - "description": "Denies the is_registered command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-is-registered", - "markdownDescription": "Denies the is_registered command without any pre-configured scope." - }, - { - "description": "Denies the register command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-register", - "markdownDescription": "Denies the register command without any pre-configured scope." - }, - { - "description": "Denies the unregister command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-unregister", - "markdownDescription": "Denies the unregister command without any pre-configured scope." - }, - { - "description": "This permission set configures which\nnotification features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all notification related features.\n\n\n#### This default permission set includes:\n\n- `allow-is-permission-granted`\n- `allow-request-permission`\n- `allow-notify`\n- `allow-register-action-types`\n- `allow-register-listener`\n- `allow-cancel`\n- `allow-get-pending`\n- `allow-remove-active`\n- `allow-get-active`\n- `allow-check-permissions`\n- `allow-show`\n- `allow-batch`\n- `allow-list-channels`\n- `allow-delete-channel`\n- `allow-create-channel`\n- `allow-permission-state`", - "type": "string", - "const": "notification:default", - "markdownDescription": "This permission set configures which\nnotification features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all notification related features.\n\n\n#### This default permission set includes:\n\n- `allow-is-permission-granted`\n- `allow-request-permission`\n- `allow-notify`\n- `allow-register-action-types`\n- `allow-register-listener`\n- `allow-cancel`\n- `allow-get-pending`\n- `allow-remove-active`\n- `allow-get-active`\n- `allow-check-permissions`\n- `allow-show`\n- `allow-batch`\n- `allow-list-channels`\n- `allow-delete-channel`\n- `allow-create-channel`\n- `allow-permission-state`" - }, - { - "description": "Enables the batch command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-batch", - "markdownDescription": "Enables the batch command without any pre-configured scope." - }, - { - "description": "Enables the cancel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-cancel", - "markdownDescription": "Enables the cancel command without any pre-configured scope." - }, - { - "description": "Enables the check_permissions command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-check-permissions", - "markdownDescription": "Enables the check_permissions command without any pre-configured scope." - }, - { - "description": "Enables the create_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-create-channel", - "markdownDescription": "Enables the create_channel command without any pre-configured scope." - }, - { - "description": "Enables the delete_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-delete-channel", - "markdownDescription": "Enables the delete_channel command without any pre-configured scope." - }, - { - "description": "Enables the get_active command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-get-active", - "markdownDescription": "Enables the get_active command without any pre-configured scope." - }, - { - "description": "Enables the get_pending command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-get-pending", - "markdownDescription": "Enables the get_pending command without any pre-configured scope." - }, - { - "description": "Enables the is_permission_granted command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-is-permission-granted", - "markdownDescription": "Enables the is_permission_granted command without any pre-configured scope." - }, - { - "description": "Enables the list_channels command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-list-channels", - "markdownDescription": "Enables the list_channels command without any pre-configured scope." - }, - { - "description": "Enables the notify command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-notify", - "markdownDescription": "Enables the notify command without any pre-configured scope." - }, - { - "description": "Enables the permission_state command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-permission-state", - "markdownDescription": "Enables the permission_state command without any pre-configured scope." - }, - { - "description": "Enables the register_action_types command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-register-action-types", - "markdownDescription": "Enables the register_action_types command without any pre-configured scope." - }, - { - "description": "Enables the register_listener command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-register-listener", - "markdownDescription": "Enables the register_listener command without any pre-configured scope." - }, - { - "description": "Enables the remove_active command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-remove-active", - "markdownDescription": "Enables the remove_active command without any pre-configured scope." - }, - { - "description": "Enables the request_permission command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-request-permission", - "markdownDescription": "Enables the request_permission command without any pre-configured scope." - }, - { - "description": "Enables the show command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-show", - "markdownDescription": "Enables the show command without any pre-configured scope." - }, - { - "description": "Denies the batch command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-batch", - "markdownDescription": "Denies the batch command without any pre-configured scope." - }, - { - "description": "Denies the cancel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-cancel", - "markdownDescription": "Denies the cancel command without any pre-configured scope." - }, - { - "description": "Denies the check_permissions command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-check-permissions", - "markdownDescription": "Denies the check_permissions command without any pre-configured scope." - }, - { - "description": "Denies the create_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-create-channel", - "markdownDescription": "Denies the create_channel command without any pre-configured scope." - }, - { - "description": "Denies the delete_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-delete-channel", - "markdownDescription": "Denies the delete_channel command without any pre-configured scope." - }, - { - "description": "Denies the get_active command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-get-active", - "markdownDescription": "Denies the get_active command without any pre-configured scope." - }, - { - "description": "Denies the get_pending command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-get-pending", - "markdownDescription": "Denies the get_pending command without any pre-configured scope." - }, - { - "description": "Denies the is_permission_granted command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-is-permission-granted", - "markdownDescription": "Denies the is_permission_granted command without any pre-configured scope." - }, - { - "description": "Denies the list_channels command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-list-channels", - "markdownDescription": "Denies the list_channels command without any pre-configured scope." - }, - { - "description": "Denies the notify command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-notify", - "markdownDescription": "Denies the notify command without any pre-configured scope." - }, - { - "description": "Denies the permission_state command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-permission-state", - "markdownDescription": "Denies the permission_state command without any pre-configured scope." - }, - { - "description": "Denies the register_action_types command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-register-action-types", - "markdownDescription": "Denies the register_action_types command without any pre-configured scope." - }, - { - "description": "Denies the register_listener command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-register-listener", - "markdownDescription": "Denies the register_listener command without any pre-configured scope." - }, - { - "description": "Denies the remove_active command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-remove-active", - "markdownDescription": "Denies the remove_active command without any pre-configured scope." - }, - { - "description": "Denies the request_permission command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-request-permission", - "markdownDescription": "Denies the request_permission command without any pre-configured scope." - }, - { - "description": "Denies the show command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-show", - "markdownDescription": "Denies the show command without any pre-configured scope." - }, - { - "description": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", - "type": "string", - "const": "opener:default", - "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" - }, - { - "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", - "type": "string", - "const": "opener:allow-default-urls", - "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." - }, - { - "description": "Enables the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-path", - "markdownDescription": "Enables the open_path command without any pre-configured scope." - }, - { - "description": "Enables the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-url", - "markdownDescription": "Enables the open_url command without any pre-configured scope." - }, - { - "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-reveal-item-in-dir", - "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." - }, - { - "description": "Denies the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-path", - "markdownDescription": "Denies the open_path command without any pre-configured scope." - }, - { - "description": "Denies the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-url", - "markdownDescription": "Denies the open_url command without any pre-configured scope." - }, - { - "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-reveal-item-in-dir", - "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." - } - ] - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a null JSON value.", - "type": "null" - }, - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Target": { - "description": "Platform target.", - "oneOf": [ - { - "description": "MacOS.", - "type": "string", - "enum": [ - "macOS" - ] - }, - { - "description": "Windows.", - "type": "string", - "enum": [ - "windows" - ] - }, - { - "description": "Linux.", - "type": "string", - "enum": [ - "linux" - ] - }, - { - "description": "Android.", - "type": "string", - "enum": [ - "android" - ] - }, - { - "description": "iOS.", - "type": "string", - "enum": [ - "iOS" - ] - } - ] - }, - "Application": { - "description": "Opener scope application.", - "anyOf": [ - { - "description": "Open in default application.", - "type": "null" - }, - { - "description": "If true, allow open with any application.", - "type": "boolean" - }, - { - "description": "Allow specific application to open with.", - "type": "string" - } - ] - } - } -} \ No newline at end of file diff --git a/src-tauri/gen/schemas/capabilities.json b/src-tauri/gen/schemas/capabilities.json deleted file mode 100644 index 87bc968..0000000 --- a/src-tauri/gen/schemas/capabilities.json +++ /dev/null @@ -1 +0,0 @@ -{"default":{"identifier":"default","description":"Default capability for all windows","local":true,"windows":["*"],"permissions":["core:default","core:webview:allow-internal-toggle-devtools","opener:default","opener:allow-open-url","opener:allow-default-urls","notification:default","notification:allow-register-listener","autostart:default","updater:default","updater:allow-check","updater:allow-download","updater:allow-download-and-install","dialog:default","process:allow-restart",{"identifier":"http:default","allow":[{"url":"https://api.telegram.org/**"}]}],"platforms":["linux","windows","macOS"]},"mobile":{"identifier":"mobile","description":"Default capability for mobile","local":true,"windows":["*"],"permissions":["core:default","notification:default","deep-link:default","opener:default"],"platforms":["android","iOS"]}} \ No newline at end of file diff --git a/src-tauri/gen/schemas/desktop-schema.json b/src-tauri/gen/schemas/desktop-schema.json deleted file mode 100644 index dea2186..0000000 --- a/src-tauri/gen/schemas/desktop-schema.json +++ /dev/null @@ -1,3113 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "CapabilityFile", - "description": "Capability formats accepted in a capability file.", - "anyOf": [ - { - "description": "A single capability.", - "allOf": [ - { - "$ref": "#/definitions/Capability" - } - ] - }, - { - "description": "A list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - }, - { - "description": "A list of capabilities.", - "type": "object", - "required": [ - "capabilities" - ], - "properties": { - "capabilities": { - "description": "The list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - } - } - } - ], - "definitions": { - "Capability": { - "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows' and webviews' fine grained access to the Tauri core, application, or plugin commands. If a webview or its window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create groups of windows, based on their required system access, which can reduce impact of frontend vulnerabilities in less privileged windows. Windows can be added to a capability by exact name (e.g. `main-window`) or glob patterns like `*` or `admin-*`. A Window can have none, one, or multiple associated capabilities.\n\n## Example\n\n```json { \"identifier\": \"main-user-files-write\", \"description\": \"This capability allows the `main` window on macOS and Windows access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.\", \"windows\": [ \"main\" ], \"permissions\": [ \"core:default\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] }, ], \"platforms\": [\"macOS\",\"windows\"] } ```", - "type": "object", - "required": [ - "identifier", - "permissions" - ], - "properties": { - "identifier": { - "description": "Identifier of the capability.\n\n## Example\n\n`main-user-files-write`", - "type": "string" - }, - "description": { - "description": "Description of what the capability is intended to allow on associated windows.\n\nIt should contain a description of what the grouped permissions should allow.\n\n## Example\n\nThis capability allows the `main` window access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.", - "default": "", - "type": "string" - }, - "remote": { - "description": "Configure remote URLs that can use the capability permissions.\n\nThis setting is optional and defaults to not being set, as our default use case is that the content is served from our local application.\n\n:::caution Make sure you understand the security implications of providing remote sources with local system access. :::\n\n## Example\n\n```json { \"urls\": [\"https://*.mydomain.dev\"] } ```", - "anyOf": [ - { - "$ref": "#/definitions/CapabilityRemote" - }, - { - "type": "null" - } - ] - }, - "local": { - "description": "Whether this capability is enabled for local app URLs or not. Defaults to `true`.", - "default": true, - "type": "boolean" - }, - "windows": { - "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nIf a window label matches any of the patterns in this list, the capability will be enabled on all the webviews of that window, regardless of the value of [`Self::webviews`].\n\nOn multiwebview windows, prefer specifying [`Self::webviews`] and omitting [`Self::windows`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "webviews": { - "description": "List of webviews that are affected by this capability. Can be a glob pattern.\n\nThe capability will be enabled on all the webviews whose label matches any of the patterns in this list, regardless of whether the webview's window label matches a pattern in [`Self::windows`].\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "permissions": { - "description": "List of permissions attached to this capability.\n\nMust include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`. For commands directly implemented in the application itself only `${permission-name}` is required.\n\n## Example\n\n```json [ \"core:default\", \"shell:allow-open\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] } ] ```", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionEntry" - }, - "uniqueItems": true - }, - "platforms": { - "description": "Limit which target platforms this capability applies to.\n\nBy default all platforms are targeted.\n\n## Example\n\n`[\"macOS\",\"windows\"]`", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Target" - } - } - } - }, - "CapabilityRemote": { - "description": "Configuration for remote URLs that are associated with the capability.", - "type": "object", - "required": [ - "urls" - ], - "properties": { - "urls": { - "description": "Remote domains this capability refers to using the [URLPattern standard](https://urlpattern.spec.whatwg.org/).\n\n## Examples\n\n- \"https://*.mydomain.dev\": allows subdomains of mydomain.dev - \"https://mydomain.dev/api/*\": allows any subpath of mydomain.dev/api", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "PermissionEntry": { - "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", - "anyOf": [ - { - "description": "Reference a permission or permission set by identifier.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - { - "description": "Reference a permission or permission set by identifier and extends its scope.", - "type": "object", - "allOf": [ - { - "if": { - "properties": { - "identifier": { - "anyOf": [ - { - "description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`", - "type": "string", - "const": "http:default", - "markdownDescription": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`" - }, - { - "description": "Enables the fetch command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch", - "markdownDescription": "Enables the fetch command without any pre-configured scope." - }, - { - "description": "Enables the fetch_cancel command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-cancel", - "markdownDescription": "Enables the fetch_cancel command without any pre-configured scope." - }, - { - "description": "Enables the fetch_cancel_body command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-cancel-body", - "markdownDescription": "Enables the fetch_cancel_body command without any pre-configured scope." - }, - { - "description": "Enables the fetch_read_body command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-read-body", - "markdownDescription": "Enables the fetch_read_body command without any pre-configured scope." - }, - { - "description": "Enables the fetch_send command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-send", - "markdownDescription": "Enables the fetch_send command without any pre-configured scope." - }, - { - "description": "Denies the fetch command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch", - "markdownDescription": "Denies the fetch command without any pre-configured scope." - }, - { - "description": "Denies the fetch_cancel command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-cancel", - "markdownDescription": "Denies the fetch_cancel command without any pre-configured scope." - }, - { - "description": "Denies the fetch_cancel_body command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-cancel-body", - "markdownDescription": "Denies the fetch_cancel_body command without any pre-configured scope." - }, - { - "description": "Denies the fetch_read_body command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-read-body", - "markdownDescription": "Denies the fetch_read_body command without any pre-configured scope." - }, - { - "description": "Denies the fetch_send command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-send", - "markdownDescription": "Denies the fetch_send command without any pre-configured scope." - } - ] - } - } - }, - "then": { - "properties": { - "allow": { - "items": { - "title": "HttpScopeEntry", - "description": "HTTP scope entry.", - "anyOf": [ - { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - }, - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "url": { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - } - ] - } - }, - "deny": { - "items": { - "title": "HttpScopeEntry", - "description": "HTTP scope entry.", - "anyOf": [ - { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - }, - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "url": { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - } - ] - } - } - } - }, - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - } - } - }, - { - "if": { - "properties": { - "identifier": { - "anyOf": [ - { - "description": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", - "type": "string", - "const": "opener:default", - "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" - }, - { - "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", - "type": "string", - "const": "opener:allow-default-urls", - "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." - }, - { - "description": "Enables the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-path", - "markdownDescription": "Enables the open_path command without any pre-configured scope." - }, - { - "description": "Enables the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-url", - "markdownDescription": "Enables the open_url command without any pre-configured scope." - }, - { - "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-reveal-item-in-dir", - "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." - }, - { - "description": "Denies the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-path", - "markdownDescription": "Denies the open_path command without any pre-configured scope." - }, - { - "description": "Denies the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-url", - "markdownDescription": "Denies the open_url command without any pre-configured scope." - }, - { - "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-reveal-item-in-dir", - "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." - } - ] - } - } - }, - "then": { - "properties": { - "allow": { - "items": { - "title": "OpenerScopeEntry", - "description": "Opener scope entry.", - "anyOf": [ - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "app": { - "description": "An application to open this url with, for example: firefox.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "url": { - "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - }, - { - "type": "object", - "required": [ - "path" - ], - "properties": { - "app": { - "description": "An application to open this path with, for example: xdg-open.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "path": { - "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - } - } - } - ] - } - }, - "deny": { - "items": { - "title": "OpenerScopeEntry", - "description": "Opener scope entry.", - "anyOf": [ - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "app": { - "description": "An application to open this url with, for example: firefox.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "url": { - "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - }, - { - "type": "object", - "required": [ - "path" - ], - "properties": { - "app": { - "description": "An application to open this path with, for example: xdg-open.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "path": { - "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - } - } - } - ] - } - } - } - }, - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - } - } - }, - { - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope. This should be prioritized by validation logic.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - } - ], - "required": [ - "identifier" - ] - } - ] - }, - "Identifier": { - "description": "Permission identifier", - "oneOf": [ - { - "description": "This permission set configures if your\napplication can enable or disable auto\nstarting the application on boot.\n\n#### Granted Permissions\n\nIt allows all to check, enable and\ndisable the automatic start on boot.\n\n\n#### This default permission set includes:\n\n- `allow-enable`\n- `allow-disable`\n- `allow-is-enabled`", - "type": "string", - "const": "autostart:default", - "markdownDescription": "This permission set configures if your\napplication can enable or disable auto\nstarting the application on boot.\n\n#### Granted Permissions\n\nIt allows all to check, enable and\ndisable the automatic start on boot.\n\n\n#### This default permission set includes:\n\n- `allow-enable`\n- `allow-disable`\n- `allow-is-enabled`" - }, - { - "description": "Enables the disable command without any pre-configured scope.", - "type": "string", - "const": "autostart:allow-disable", - "markdownDescription": "Enables the disable command without any pre-configured scope." - }, - { - "description": "Enables the enable command without any pre-configured scope.", - "type": "string", - "const": "autostart:allow-enable", - "markdownDescription": "Enables the enable command without any pre-configured scope." - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "autostart:allow-is-enabled", - "markdownDescription": "Enables the is_enabled command without any pre-configured scope." - }, - { - "description": "Denies the disable command without any pre-configured scope.", - "type": "string", - "const": "autostart:deny-disable", - "markdownDescription": "Denies the disable command without any pre-configured scope." - }, - { - "description": "Denies the enable command without any pre-configured scope.", - "type": "string", - "const": "autostart:deny-enable", - "markdownDescription": "Denies the enable command without any pre-configured scope." - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "autostart:deny-is-enabled", - "markdownDescription": "Denies the is_enabled command without any pre-configured scope." - }, - { - "description": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`", - "type": "string", - "const": "core:default", - "markdownDescription": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`" - }, - { - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`", - "type": "string", - "const": "core:app:default", - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`" - }, - { - "description": "Enables the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-hide", - "markdownDescription": "Enables the app_hide command without any pre-configured scope." - }, - { - "description": "Enables the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-show", - "markdownDescription": "Enables the app_show command without any pre-configured scope." - }, - { - "description": "Enables the bundle_type command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-bundle-type", - "markdownDescription": "Enables the bundle_type command without any pre-configured scope." - }, - { - "description": "Enables the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-default-window-icon", - "markdownDescription": "Enables the default_window_icon command without any pre-configured scope." - }, - { - "description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-fetch-data-store-identifiers", - "markdownDescription": "Enables the fetch_data_store_identifiers command without any pre-configured scope." - }, - { - "description": "Enables the identifier command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-identifier", - "markdownDescription": "Enables the identifier command without any pre-configured scope." - }, - { - "description": "Enables the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-name", - "markdownDescription": "Enables the name command without any pre-configured scope." - }, - { - "description": "Enables the register_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-register-listener", - "markdownDescription": "Enables the register_listener command without any pre-configured scope." - }, - { - "description": "Enables the remove_data_store command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-remove-data-store", - "markdownDescription": "Enables the remove_data_store command without any pre-configured scope." - }, - { - "description": "Enables the remove_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-remove-listener", - "markdownDescription": "Enables the remove_listener command without any pre-configured scope." - }, - { - "description": "Enables the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-set-app-theme", - "markdownDescription": "Enables the set_app_theme command without any pre-configured scope." - }, - { - "description": "Enables the set_dock_visibility command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-set-dock-visibility", - "markdownDescription": "Enables the set_dock_visibility command without any pre-configured scope." - }, - { - "description": "Enables the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-tauri-version", - "markdownDescription": "Enables the tauri_version command without any pre-configured scope." - }, - { - "description": "Enables the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-version", - "markdownDescription": "Enables the version command without any pre-configured scope." - }, - { - "description": "Denies the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-hide", - "markdownDescription": "Denies the app_hide command without any pre-configured scope." - }, - { - "description": "Denies the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-show", - "markdownDescription": "Denies the app_show command without any pre-configured scope." - }, - { - "description": "Denies the bundle_type command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-bundle-type", - "markdownDescription": "Denies the bundle_type command without any pre-configured scope." - }, - { - "description": "Denies the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-default-window-icon", - "markdownDescription": "Denies the default_window_icon command without any pre-configured scope." - }, - { - "description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-fetch-data-store-identifiers", - "markdownDescription": "Denies the fetch_data_store_identifiers command without any pre-configured scope." - }, - { - "description": "Denies the identifier command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-identifier", - "markdownDescription": "Denies the identifier command without any pre-configured scope." - }, - { - "description": "Denies the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-name", - "markdownDescription": "Denies the name command without any pre-configured scope." - }, - { - "description": "Denies the register_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-register-listener", - "markdownDescription": "Denies the register_listener command without any pre-configured scope." - }, - { - "description": "Denies the remove_data_store command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-remove-data-store", - "markdownDescription": "Denies the remove_data_store command without any pre-configured scope." - }, - { - "description": "Denies the remove_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-remove-listener", - "markdownDescription": "Denies the remove_listener command without any pre-configured scope." - }, - { - "description": "Denies the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-set-app-theme", - "markdownDescription": "Denies the set_app_theme command without any pre-configured scope." - }, - { - "description": "Denies the set_dock_visibility command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-set-dock-visibility", - "markdownDescription": "Denies the set_dock_visibility command without any pre-configured scope." - }, - { - "description": "Denies the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-tauri-version", - "markdownDescription": "Denies the tauri_version command without any pre-configured scope." - }, - { - "description": "Denies the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-version", - "markdownDescription": "Denies the version command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`", - "type": "string", - "const": "core:event:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`" - }, - { - "description": "Enables the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit", - "markdownDescription": "Enables the emit command without any pre-configured scope." - }, - { - "description": "Enables the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit-to", - "markdownDescription": "Enables the emit_to command without any pre-configured scope." - }, - { - "description": "Enables the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-listen", - "markdownDescription": "Enables the listen command without any pre-configured scope." - }, - { - "description": "Enables the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-unlisten", - "markdownDescription": "Enables the unlisten command without any pre-configured scope." - }, - { - "description": "Denies the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit", - "markdownDescription": "Denies the emit command without any pre-configured scope." - }, - { - "description": "Denies the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit-to", - "markdownDescription": "Denies the emit_to command without any pre-configured scope." - }, - { - "description": "Denies the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-listen", - "markdownDescription": "Denies the listen command without any pre-configured scope." - }, - { - "description": "Denies the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-unlisten", - "markdownDescription": "Denies the unlisten command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`", - "type": "string", - "const": "core:image:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`" - }, - { - "description": "Enables the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-bytes", - "markdownDescription": "Enables the from_bytes command without any pre-configured scope." - }, - { - "description": "Enables the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-path", - "markdownDescription": "Enables the from_path command without any pre-configured scope." - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-new", - "markdownDescription": "Enables the new command without any pre-configured scope." - }, - { - "description": "Enables the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-rgba", - "markdownDescription": "Enables the rgba command without any pre-configured scope." - }, - { - "description": "Enables the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-size", - "markdownDescription": "Enables the size command without any pre-configured scope." - }, - { - "description": "Denies the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-bytes", - "markdownDescription": "Denies the from_bytes command without any pre-configured scope." - }, - { - "description": "Denies the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-path", - "markdownDescription": "Denies the from_path command without any pre-configured scope." - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-new", - "markdownDescription": "Denies the new command without any pre-configured scope." - }, - { - "description": "Denies the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-rgba", - "markdownDescription": "Denies the rgba command without any pre-configured scope." - }, - { - "description": "Denies the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-size", - "markdownDescription": "Denies the size command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`", - "type": "string", - "const": "core:menu:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`" - }, - { - "description": "Enables the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-append", - "markdownDescription": "Enables the append command without any pre-configured scope." - }, - { - "description": "Enables the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-create-default", - "markdownDescription": "Enables the create_default command without any pre-configured scope." - }, - { - "description": "Enables the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-get", - "markdownDescription": "Enables the get command without any pre-configured scope." - }, - { - "description": "Enables the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-insert", - "markdownDescription": "Enables the insert command without any pre-configured scope." - }, - { - "description": "Enables the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-checked", - "markdownDescription": "Enables the is_checked command without any pre-configured scope." - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-enabled", - "markdownDescription": "Enables the is_enabled command without any pre-configured scope." - }, - { - "description": "Enables the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-items", - "markdownDescription": "Enables the items command without any pre-configured scope." - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-new", - "markdownDescription": "Enables the new command without any pre-configured scope." - }, - { - "description": "Enables the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-popup", - "markdownDescription": "Enables the popup command without any pre-configured scope." - }, - { - "description": "Enables the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-prepend", - "markdownDescription": "Enables the prepend command without any pre-configured scope." - }, - { - "description": "Enables the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove", - "markdownDescription": "Enables the remove command without any pre-configured scope." - }, - { - "description": "Enables the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove-at", - "markdownDescription": "Enables the remove_at command without any pre-configured scope." - }, - { - "description": "Enables the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-accelerator", - "markdownDescription": "Enables the set_accelerator command without any pre-configured scope." - }, - { - "description": "Enables the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-app-menu", - "markdownDescription": "Enables the set_as_app_menu command without any pre-configured scope." - }, - { - "description": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-help-menu-for-nsapp", - "markdownDescription": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Enables the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-window-menu", - "markdownDescription": "Enables the set_as_window_menu command without any pre-configured scope." - }, - { - "description": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-windows-menu-for-nsapp", - "markdownDescription": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Enables the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-checked", - "markdownDescription": "Enables the set_checked command without any pre-configured scope." - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-enabled", - "markdownDescription": "Enables the set_enabled command without any pre-configured scope." - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-icon", - "markdownDescription": "Enables the set_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-text", - "markdownDescription": "Enables the set_text command without any pre-configured scope." - }, - { - "description": "Enables the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-text", - "markdownDescription": "Enables the text command without any pre-configured scope." - }, - { - "description": "Denies the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-append", - "markdownDescription": "Denies the append command without any pre-configured scope." - }, - { - "description": "Denies the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-create-default", - "markdownDescription": "Denies the create_default command without any pre-configured scope." - }, - { - "description": "Denies the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-get", - "markdownDescription": "Denies the get command without any pre-configured scope." - }, - { - "description": "Denies the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-insert", - "markdownDescription": "Denies the insert command without any pre-configured scope." - }, - { - "description": "Denies the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-checked", - "markdownDescription": "Denies the is_checked command without any pre-configured scope." - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-enabled", - "markdownDescription": "Denies the is_enabled command without any pre-configured scope." - }, - { - "description": "Denies the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-items", - "markdownDescription": "Denies the items command without any pre-configured scope." - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-new", - "markdownDescription": "Denies the new command without any pre-configured scope." - }, - { - "description": "Denies the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-popup", - "markdownDescription": "Denies the popup command without any pre-configured scope." - }, - { - "description": "Denies the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-prepend", - "markdownDescription": "Denies the prepend command without any pre-configured scope." - }, - { - "description": "Denies the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove", - "markdownDescription": "Denies the remove command without any pre-configured scope." - }, - { - "description": "Denies the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove-at", - "markdownDescription": "Denies the remove_at command without any pre-configured scope." - }, - { - "description": "Denies the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-accelerator", - "markdownDescription": "Denies the set_accelerator command without any pre-configured scope." - }, - { - "description": "Denies the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-app-menu", - "markdownDescription": "Denies the set_as_app_menu command without any pre-configured scope." - }, - { - "description": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-help-menu-for-nsapp", - "markdownDescription": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Denies the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-window-menu", - "markdownDescription": "Denies the set_as_window_menu command without any pre-configured scope." - }, - { - "description": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-windows-menu-for-nsapp", - "markdownDescription": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Denies the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-checked", - "markdownDescription": "Denies the set_checked command without any pre-configured scope." - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-enabled", - "markdownDescription": "Denies the set_enabled command without any pre-configured scope." - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-icon", - "markdownDescription": "Denies the set_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-text", - "markdownDescription": "Denies the set_text command without any pre-configured scope." - }, - { - "description": "Denies the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-text", - "markdownDescription": "Denies the text command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`", - "type": "string", - "const": "core:path:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`" - }, - { - "description": "Enables the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-basename", - "markdownDescription": "Enables the basename command without any pre-configured scope." - }, - { - "description": "Enables the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-dirname", - "markdownDescription": "Enables the dirname command without any pre-configured scope." - }, - { - "description": "Enables the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-extname", - "markdownDescription": "Enables the extname command without any pre-configured scope." - }, - { - "description": "Enables the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-is-absolute", - "markdownDescription": "Enables the is_absolute command without any pre-configured scope." - }, - { - "description": "Enables the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-join", - "markdownDescription": "Enables the join command without any pre-configured scope." - }, - { - "description": "Enables the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-normalize", - "markdownDescription": "Enables the normalize command without any pre-configured scope." - }, - { - "description": "Enables the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve", - "markdownDescription": "Enables the resolve command without any pre-configured scope." - }, - { - "description": "Enables the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve-directory", - "markdownDescription": "Enables the resolve_directory command without any pre-configured scope." - }, - { - "description": "Denies the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-basename", - "markdownDescription": "Denies the basename command without any pre-configured scope." - }, - { - "description": "Denies the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-dirname", - "markdownDescription": "Denies the dirname command without any pre-configured scope." - }, - { - "description": "Denies the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-extname", - "markdownDescription": "Denies the extname command without any pre-configured scope." - }, - { - "description": "Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-is-absolute", - "markdownDescription": "Denies the is_absolute command without any pre-configured scope." - }, - { - "description": "Denies the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-join", - "markdownDescription": "Denies the join command without any pre-configured scope." - }, - { - "description": "Denies the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-normalize", - "markdownDescription": "Denies the normalize command without any pre-configured scope." - }, - { - "description": "Denies the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve", - "markdownDescription": "Denies the resolve command without any pre-configured scope." - }, - { - "description": "Denies the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve-directory", - "markdownDescription": "Denies the resolve_directory command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`", - "type": "string", - "const": "core:resources:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`" - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:allow-close", - "markdownDescription": "Enables the close command without any pre-configured scope." - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:deny-close", - "markdownDescription": "Denies the close command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-show-menu-on-left-click`", - "type": "string", - "const": "core:tray:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-show-menu-on-left-click`" - }, - { - "description": "Enables the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-get-by-id", - "markdownDescription": "Enables the get_by_id command without any pre-configured scope." - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-new", - "markdownDescription": "Enables the new command without any pre-configured scope." - }, - { - "description": "Enables the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-remove-by-id", - "markdownDescription": "Enables the remove_by_id command without any pre-configured scope." - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon", - "markdownDescription": "Enables the set_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon-as-template", - "markdownDescription": "Enables the set_icon_as_template command without any pre-configured scope." - }, - { - "description": "Enables the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-menu", - "markdownDescription": "Enables the set_menu command without any pre-configured scope." - }, - { - "description": "Enables the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-show-menu-on-left-click", - "markdownDescription": "Enables the set_show_menu_on_left_click command without any pre-configured scope." - }, - { - "description": "Enables the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-temp-dir-path", - "markdownDescription": "Enables the set_temp_dir_path command without any pre-configured scope." - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-title", - "markdownDescription": "Enables the set_title command without any pre-configured scope." - }, - { - "description": "Enables the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-tooltip", - "markdownDescription": "Enables the set_tooltip command without any pre-configured scope." - }, - { - "description": "Enables the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-visible", - "markdownDescription": "Enables the set_visible command without any pre-configured scope." - }, - { - "description": "Denies the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-get-by-id", - "markdownDescription": "Denies the get_by_id command without any pre-configured scope." - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-new", - "markdownDescription": "Denies the new command without any pre-configured scope." - }, - { - "description": "Denies the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-remove-by-id", - "markdownDescription": "Denies the remove_by_id command without any pre-configured scope." - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon", - "markdownDescription": "Denies the set_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon-as-template", - "markdownDescription": "Denies the set_icon_as_template command without any pre-configured scope." - }, - { - "description": "Denies the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-menu", - "markdownDescription": "Denies the set_menu command without any pre-configured scope." - }, - { - "description": "Denies the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-show-menu-on-left-click", - "markdownDescription": "Denies the set_show_menu_on_left_click command without any pre-configured scope." - }, - { - "description": "Denies the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-temp-dir-path", - "markdownDescription": "Denies the set_temp_dir_path command without any pre-configured scope." - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-title", - "markdownDescription": "Denies the set_title command without any pre-configured scope." - }, - { - "description": "Denies the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-tooltip", - "markdownDescription": "Denies the set_tooltip command without any pre-configured scope." - }, - { - "description": "Denies the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-visible", - "markdownDescription": "Denies the set_visible command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`", - "type": "string", - "const": "core:webview:default", - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`" - }, - { - "description": "Enables the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-clear-all-browsing-data", - "markdownDescription": "Enables the clear_all_browsing_data command without any pre-configured scope." - }, - { - "description": "Enables the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview", - "markdownDescription": "Enables the create_webview command without any pre-configured scope." - }, - { - "description": "Enables the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview-window", - "markdownDescription": "Enables the create_webview_window command without any pre-configured scope." - }, - { - "description": "Enables the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-get-all-webviews", - "markdownDescription": "Enables the get_all_webviews command without any pre-configured scope." - }, - { - "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-internal-toggle-devtools", - "markdownDescription": "Enables the internal_toggle_devtools command without any pre-configured scope." - }, - { - "description": "Enables the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-print", - "markdownDescription": "Enables the print command without any pre-configured scope." - }, - { - "description": "Enables the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-reparent", - "markdownDescription": "Enables the reparent command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_auto_resize command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-auto-resize", - "markdownDescription": "Enables the set_webview_auto_resize command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-background-color", - "markdownDescription": "Enables the set_webview_background_color command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-focus", - "markdownDescription": "Enables the set_webview_focus command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-position", - "markdownDescription": "Enables the set_webview_position command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-size", - "markdownDescription": "Enables the set_webview_size command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-zoom", - "markdownDescription": "Enables the set_webview_zoom command without any pre-configured scope." - }, - { - "description": "Enables the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-close", - "markdownDescription": "Enables the webview_close command without any pre-configured scope." - }, - { - "description": "Enables the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-hide", - "markdownDescription": "Enables the webview_hide command without any pre-configured scope." - }, - { - "description": "Enables the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-position", - "markdownDescription": "Enables the webview_position command without any pre-configured scope." - }, - { - "description": "Enables the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-show", - "markdownDescription": "Enables the webview_show command without any pre-configured scope." - }, - { - "description": "Enables the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-size", - "markdownDescription": "Enables the webview_size command without any pre-configured scope." - }, - { - "description": "Denies the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-clear-all-browsing-data", - "markdownDescription": "Denies the clear_all_browsing_data command without any pre-configured scope." - }, - { - "description": "Denies the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview", - "markdownDescription": "Denies the create_webview command without any pre-configured scope." - }, - { - "description": "Denies the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview-window", - "markdownDescription": "Denies the create_webview_window command without any pre-configured scope." - }, - { - "description": "Denies the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-get-all-webviews", - "markdownDescription": "Denies the get_all_webviews command without any pre-configured scope." - }, - { - "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-internal-toggle-devtools", - "markdownDescription": "Denies the internal_toggle_devtools command without any pre-configured scope." - }, - { - "description": "Denies the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-print", - "markdownDescription": "Denies the print command without any pre-configured scope." - }, - { - "description": "Denies the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-reparent", - "markdownDescription": "Denies the reparent command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_auto_resize command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-auto-resize", - "markdownDescription": "Denies the set_webview_auto_resize command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-background-color", - "markdownDescription": "Denies the set_webview_background_color command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-focus", - "markdownDescription": "Denies the set_webview_focus command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-position", - "markdownDescription": "Denies the set_webview_position command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-size", - "markdownDescription": "Denies the set_webview_size command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-zoom", - "markdownDescription": "Denies the set_webview_zoom command without any pre-configured scope." - }, - { - "description": "Denies the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-close", - "markdownDescription": "Denies the webview_close command without any pre-configured scope." - }, - { - "description": "Denies the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-hide", - "markdownDescription": "Denies the webview_hide command without any pre-configured scope." - }, - { - "description": "Denies the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-position", - "markdownDescription": "Denies the webview_position command without any pre-configured scope." - }, - { - "description": "Denies the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-show", - "markdownDescription": "Denies the webview_show command without any pre-configured scope." - }, - { - "description": "Denies the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-size", - "markdownDescription": "Denies the webview_size command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-internal-toggle-maximize`", - "type": "string", - "const": "core:window:default", - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-internal-toggle-maximize`" - }, - { - "description": "Enables the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-available-monitors", - "markdownDescription": "Enables the available_monitors command without any pre-configured scope." - }, - { - "description": "Enables the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-center", - "markdownDescription": "Enables the center command without any pre-configured scope." - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-close", - "markdownDescription": "Enables the close command without any pre-configured scope." - }, - { - "description": "Enables the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-create", - "markdownDescription": "Enables the create command without any pre-configured scope." - }, - { - "description": "Enables the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-current-monitor", - "markdownDescription": "Enables the current_monitor command without any pre-configured scope." - }, - { - "description": "Enables the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-cursor-position", - "markdownDescription": "Enables the cursor_position command without any pre-configured scope." - }, - { - "description": "Enables the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-destroy", - "markdownDescription": "Enables the destroy command without any pre-configured scope." - }, - { - "description": "Enables the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-get-all-windows", - "markdownDescription": "Enables the get_all_windows command without any pre-configured scope." - }, - { - "description": "Enables the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-hide", - "markdownDescription": "Enables the hide command without any pre-configured scope." - }, - { - "description": "Enables the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-position", - "markdownDescription": "Enables the inner_position command without any pre-configured scope." - }, - { - "description": "Enables the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-size", - "markdownDescription": "Enables the inner_size command without any pre-configured scope." - }, - { - "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-internal-toggle-maximize", - "markdownDescription": "Enables the internal_toggle_maximize command without any pre-configured scope." - }, - { - "description": "Enables the is_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-always-on-top", - "markdownDescription": "Enables the is_always_on_top command without any pre-configured scope." - }, - { - "description": "Enables the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-closable", - "markdownDescription": "Enables the is_closable command without any pre-configured scope." - }, - { - "description": "Enables the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-decorated", - "markdownDescription": "Enables the is_decorated command without any pre-configured scope." - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-enabled", - "markdownDescription": "Enables the is_enabled command without any pre-configured scope." - }, - { - "description": "Enables the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-focused", - "markdownDescription": "Enables the is_focused command without any pre-configured scope." - }, - { - "description": "Enables the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-fullscreen", - "markdownDescription": "Enables the is_fullscreen command without any pre-configured scope." - }, - { - "description": "Enables the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximizable", - "markdownDescription": "Enables the is_maximizable command without any pre-configured scope." - }, - { - "description": "Enables the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximized", - "markdownDescription": "Enables the is_maximized command without any pre-configured scope." - }, - { - "description": "Enables the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimizable", - "markdownDescription": "Enables the is_minimizable command without any pre-configured scope." - }, - { - "description": "Enables the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimized", - "markdownDescription": "Enables the is_minimized command without any pre-configured scope." - }, - { - "description": "Enables the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-resizable", - "markdownDescription": "Enables the is_resizable command without any pre-configured scope." - }, - { - "description": "Enables the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-visible", - "markdownDescription": "Enables the is_visible command without any pre-configured scope." - }, - { - "description": "Enables the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-maximize", - "markdownDescription": "Enables the maximize command without any pre-configured scope." - }, - { - "description": "Enables the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-minimize", - "markdownDescription": "Enables the minimize command without any pre-configured scope." - }, - { - "description": "Enables the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-monitor-from-point", - "markdownDescription": "Enables the monitor_from_point command without any pre-configured scope." - }, - { - "description": "Enables the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-position", - "markdownDescription": "Enables the outer_position command without any pre-configured scope." - }, - { - "description": "Enables the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-size", - "markdownDescription": "Enables the outer_size command without any pre-configured scope." - }, - { - "description": "Enables the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-primary-monitor", - "markdownDescription": "Enables the primary_monitor command without any pre-configured scope." - }, - { - "description": "Enables the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-request-user-attention", - "markdownDescription": "Enables the request_user_attention command without any pre-configured scope." - }, - { - "description": "Enables the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-scale-factor", - "markdownDescription": "Enables the scale_factor command without any pre-configured scope." - }, - { - "description": "Enables the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-bottom", - "markdownDescription": "Enables the set_always_on_bottom command without any pre-configured scope." - }, - { - "description": "Enables the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-top", - "markdownDescription": "Enables the set_always_on_top command without any pre-configured scope." - }, - { - "description": "Enables the set_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-background-color", - "markdownDescription": "Enables the set_background_color command without any pre-configured scope." - }, - { - "description": "Enables the set_badge_count command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-badge-count", - "markdownDescription": "Enables the set_badge_count command without any pre-configured scope." - }, - { - "description": "Enables the set_badge_label command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-badge-label", - "markdownDescription": "Enables the set_badge_label command without any pre-configured scope." - }, - { - "description": "Enables the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-closable", - "markdownDescription": "Enables the set_closable command without any pre-configured scope." - }, - { - "description": "Enables the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-content-protected", - "markdownDescription": "Enables the set_content_protected command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-grab", - "markdownDescription": "Enables the set_cursor_grab command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-icon", - "markdownDescription": "Enables the set_cursor_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-position", - "markdownDescription": "Enables the set_cursor_position command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-visible", - "markdownDescription": "Enables the set_cursor_visible command without any pre-configured scope." - }, - { - "description": "Enables the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-decorations", - "markdownDescription": "Enables the set_decorations command without any pre-configured scope." - }, - { - "description": "Enables the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-effects", - "markdownDescription": "Enables the set_effects command without any pre-configured scope." - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-enabled", - "markdownDescription": "Enables the set_enabled command without any pre-configured scope." - }, - { - "description": "Enables the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-focus", - "markdownDescription": "Enables the set_focus command without any pre-configured scope." - }, - { - "description": "Enables the set_focusable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-focusable", - "markdownDescription": "Enables the set_focusable command without any pre-configured scope." - }, - { - "description": "Enables the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-fullscreen", - "markdownDescription": "Enables the set_fullscreen command without any pre-configured scope." - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-icon", - "markdownDescription": "Enables the set_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-ignore-cursor-events", - "markdownDescription": "Enables the set_ignore_cursor_events command without any pre-configured scope." - }, - { - "description": "Enables the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-max-size", - "markdownDescription": "Enables the set_max_size command without any pre-configured scope." - }, - { - "description": "Enables the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-maximizable", - "markdownDescription": "Enables the set_maximizable command without any pre-configured scope." - }, - { - "description": "Enables the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-min-size", - "markdownDescription": "Enables the set_min_size command without any pre-configured scope." - }, - { - "description": "Enables the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-minimizable", - "markdownDescription": "Enables the set_minimizable command without any pre-configured scope." - }, - { - "description": "Enables the set_overlay_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-overlay-icon", - "markdownDescription": "Enables the set_overlay_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-position", - "markdownDescription": "Enables the set_position command without any pre-configured scope." - }, - { - "description": "Enables the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-progress-bar", - "markdownDescription": "Enables the set_progress_bar command without any pre-configured scope." - }, - { - "description": "Enables the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-resizable", - "markdownDescription": "Enables the set_resizable command without any pre-configured scope." - }, - { - "description": "Enables the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-shadow", - "markdownDescription": "Enables the set_shadow command without any pre-configured scope." - }, - { - "description": "Enables the set_simple_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-simple-fullscreen", - "markdownDescription": "Enables the set_simple_fullscreen command without any pre-configured scope." - }, - { - "description": "Enables the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size", - "markdownDescription": "Enables the set_size command without any pre-configured scope." - }, - { - "description": "Enables the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size-constraints", - "markdownDescription": "Enables the set_size_constraints command without any pre-configured scope." - }, - { - "description": "Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-skip-taskbar", - "markdownDescription": "Enables the set_skip_taskbar command without any pre-configured scope." - }, - { - "description": "Enables the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-theme", - "markdownDescription": "Enables the set_theme command without any pre-configured scope." - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title", - "markdownDescription": "Enables the set_title command without any pre-configured scope." - }, - { - "description": "Enables the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title-bar-style", - "markdownDescription": "Enables the set_title_bar_style command without any pre-configured scope." - }, - { - "description": "Enables the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-visible-on-all-workspaces", - "markdownDescription": "Enables the set_visible_on_all_workspaces command without any pre-configured scope." - }, - { - "description": "Enables the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-show", - "markdownDescription": "Enables the show command without any pre-configured scope." - }, - { - "description": "Enables the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-dragging", - "markdownDescription": "Enables the start_dragging command without any pre-configured scope." - }, - { - "description": "Enables the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-resize-dragging", - "markdownDescription": "Enables the start_resize_dragging command without any pre-configured scope." - }, - { - "description": "Enables the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-theme", - "markdownDescription": "Enables the theme command without any pre-configured scope." - }, - { - "description": "Enables the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-title", - "markdownDescription": "Enables the title command without any pre-configured scope." - }, - { - "description": "Enables the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-toggle-maximize", - "markdownDescription": "Enables the toggle_maximize command without any pre-configured scope." - }, - { - "description": "Enables the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unmaximize", - "markdownDescription": "Enables the unmaximize command without any pre-configured scope." - }, - { - "description": "Enables the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unminimize", - "markdownDescription": "Enables the unminimize command without any pre-configured scope." - }, - { - "description": "Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-available-monitors", - "markdownDescription": "Denies the available_monitors command without any pre-configured scope." - }, - { - "description": "Denies the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-center", - "markdownDescription": "Denies the center command without any pre-configured scope." - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-close", - "markdownDescription": "Denies the close command without any pre-configured scope." - }, - { - "description": "Denies the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-create", - "markdownDescription": "Denies the create command without any pre-configured scope." - }, - { - "description": "Denies the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-current-monitor", - "markdownDescription": "Denies the current_monitor command without any pre-configured scope." - }, - { - "description": "Denies the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-cursor-position", - "markdownDescription": "Denies the cursor_position command without any pre-configured scope." - }, - { - "description": "Denies the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-destroy", - "markdownDescription": "Denies the destroy command without any pre-configured scope." - }, - { - "description": "Denies the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-get-all-windows", - "markdownDescription": "Denies the get_all_windows command without any pre-configured scope." - }, - { - "description": "Denies the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-hide", - "markdownDescription": "Denies the hide command without any pre-configured scope." - }, - { - "description": "Denies the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-position", - "markdownDescription": "Denies the inner_position command without any pre-configured scope." - }, - { - "description": "Denies the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-size", - "markdownDescription": "Denies the inner_size command without any pre-configured scope." - }, - { - "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-internal-toggle-maximize", - "markdownDescription": "Denies the internal_toggle_maximize command without any pre-configured scope." - }, - { - "description": "Denies the is_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-always-on-top", - "markdownDescription": "Denies the is_always_on_top command without any pre-configured scope." - }, - { - "description": "Denies the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-closable", - "markdownDescription": "Denies the is_closable command without any pre-configured scope." - }, - { - "description": "Denies the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-decorated", - "markdownDescription": "Denies the is_decorated command without any pre-configured scope." - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-enabled", - "markdownDescription": "Denies the is_enabled command without any pre-configured scope." - }, - { - "description": "Denies the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-focused", - "markdownDescription": "Denies the is_focused command without any pre-configured scope." - }, - { - "description": "Denies the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-fullscreen", - "markdownDescription": "Denies the is_fullscreen command without any pre-configured scope." - }, - { - "description": "Denies the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximizable", - "markdownDescription": "Denies the is_maximizable command without any pre-configured scope." - }, - { - "description": "Denies the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximized", - "markdownDescription": "Denies the is_maximized command without any pre-configured scope." - }, - { - "description": "Denies the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimizable", - "markdownDescription": "Denies the is_minimizable command without any pre-configured scope." - }, - { - "description": "Denies the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimized", - "markdownDescription": "Denies the is_minimized command without any pre-configured scope." - }, - { - "description": "Denies the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-resizable", - "markdownDescription": "Denies the is_resizable command without any pre-configured scope." - }, - { - "description": "Denies the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-visible", - "markdownDescription": "Denies the is_visible command without any pre-configured scope." - }, - { - "description": "Denies the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-maximize", - "markdownDescription": "Denies the maximize command without any pre-configured scope." - }, - { - "description": "Denies the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-minimize", - "markdownDescription": "Denies the minimize command without any pre-configured scope." - }, - { - "description": "Denies the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-monitor-from-point", - "markdownDescription": "Denies the monitor_from_point command without any pre-configured scope." - }, - { - "description": "Denies the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-position", - "markdownDescription": "Denies the outer_position command without any pre-configured scope." - }, - { - "description": "Denies the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-size", - "markdownDescription": "Denies the outer_size command without any pre-configured scope." - }, - { - "description": "Denies the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-primary-monitor", - "markdownDescription": "Denies the primary_monitor command without any pre-configured scope." - }, - { - "description": "Denies the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-request-user-attention", - "markdownDescription": "Denies the request_user_attention command without any pre-configured scope." - }, - { - "description": "Denies the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-scale-factor", - "markdownDescription": "Denies the scale_factor command without any pre-configured scope." - }, - { - "description": "Denies the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-bottom", - "markdownDescription": "Denies the set_always_on_bottom command without any pre-configured scope." - }, - { - "description": "Denies the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-top", - "markdownDescription": "Denies the set_always_on_top command without any pre-configured scope." - }, - { - "description": "Denies the set_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-background-color", - "markdownDescription": "Denies the set_background_color command without any pre-configured scope." - }, - { - "description": "Denies the set_badge_count command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-badge-count", - "markdownDescription": "Denies the set_badge_count command without any pre-configured scope." - }, - { - "description": "Denies the set_badge_label command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-badge-label", - "markdownDescription": "Denies the set_badge_label command without any pre-configured scope." - }, - { - "description": "Denies the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-closable", - "markdownDescription": "Denies the set_closable command without any pre-configured scope." - }, - { - "description": "Denies the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-content-protected", - "markdownDescription": "Denies the set_content_protected command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-grab", - "markdownDescription": "Denies the set_cursor_grab command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-icon", - "markdownDescription": "Denies the set_cursor_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-position", - "markdownDescription": "Denies the set_cursor_position command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-visible", - "markdownDescription": "Denies the set_cursor_visible command without any pre-configured scope." - }, - { - "description": "Denies the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-decorations", - "markdownDescription": "Denies the set_decorations command without any pre-configured scope." - }, - { - "description": "Denies the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-effects", - "markdownDescription": "Denies the set_effects command without any pre-configured scope." - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-enabled", - "markdownDescription": "Denies the set_enabled command without any pre-configured scope." - }, - { - "description": "Denies the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-focus", - "markdownDescription": "Denies the set_focus command without any pre-configured scope." - }, - { - "description": "Denies the set_focusable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-focusable", - "markdownDescription": "Denies the set_focusable command without any pre-configured scope." - }, - { - "description": "Denies the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-fullscreen", - "markdownDescription": "Denies the set_fullscreen command without any pre-configured scope." - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-icon", - "markdownDescription": "Denies the set_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-ignore-cursor-events", - "markdownDescription": "Denies the set_ignore_cursor_events command without any pre-configured scope." - }, - { - "description": "Denies the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-max-size", - "markdownDescription": "Denies the set_max_size command without any pre-configured scope." - }, - { - "description": "Denies the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-maximizable", - "markdownDescription": "Denies the set_maximizable command without any pre-configured scope." - }, - { - "description": "Denies the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-min-size", - "markdownDescription": "Denies the set_min_size command without any pre-configured scope." - }, - { - "description": "Denies the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-minimizable", - "markdownDescription": "Denies the set_minimizable command without any pre-configured scope." - }, - { - "description": "Denies the set_overlay_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-overlay-icon", - "markdownDescription": "Denies the set_overlay_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-position", - "markdownDescription": "Denies the set_position command without any pre-configured scope." - }, - { - "description": "Denies the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-progress-bar", - "markdownDescription": "Denies the set_progress_bar command without any pre-configured scope." - }, - { - "description": "Denies the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-resizable", - "markdownDescription": "Denies the set_resizable command without any pre-configured scope." - }, - { - "description": "Denies the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-shadow", - "markdownDescription": "Denies the set_shadow command without any pre-configured scope." - }, - { - "description": "Denies the set_simple_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-simple-fullscreen", - "markdownDescription": "Denies the set_simple_fullscreen command without any pre-configured scope." - }, - { - "description": "Denies the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size", - "markdownDescription": "Denies the set_size command without any pre-configured scope." - }, - { - "description": "Denies the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size-constraints", - "markdownDescription": "Denies the set_size_constraints command without any pre-configured scope." - }, - { - "description": "Denies the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-skip-taskbar", - "markdownDescription": "Denies the set_skip_taskbar command without any pre-configured scope." - }, - { - "description": "Denies the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-theme", - "markdownDescription": "Denies the set_theme command without any pre-configured scope." - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title", - "markdownDescription": "Denies the set_title command without any pre-configured scope." - }, - { - "description": "Denies the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title-bar-style", - "markdownDescription": "Denies the set_title_bar_style command without any pre-configured scope." - }, - { - "description": "Denies the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-visible-on-all-workspaces", - "markdownDescription": "Denies the set_visible_on_all_workspaces command without any pre-configured scope." - }, - { - "description": "Denies the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-show", - "markdownDescription": "Denies the show command without any pre-configured scope." - }, - { - "description": "Denies the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-dragging", - "markdownDescription": "Denies the start_dragging command without any pre-configured scope." - }, - { - "description": "Denies the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-resize-dragging", - "markdownDescription": "Denies the start_resize_dragging command without any pre-configured scope." - }, - { - "description": "Denies the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-theme", - "markdownDescription": "Denies the theme command without any pre-configured scope." - }, - { - "description": "Denies the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-title", - "markdownDescription": "Denies the title command without any pre-configured scope." - }, - { - "description": "Denies the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-toggle-maximize", - "markdownDescription": "Denies the toggle_maximize command without any pre-configured scope." - }, - { - "description": "Denies the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unmaximize", - "markdownDescription": "Denies the unmaximize command without any pre-configured scope." - }, - { - "description": "Denies the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unminimize", - "markdownDescription": "Denies the unminimize command without any pre-configured scope." - }, - { - "description": "This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n\n#### This default permission set includes:\n\n- `allow-ask`\n- `allow-confirm`\n- `allow-message`\n- `allow-save`\n- `allow-open`", - "type": "string", - "const": "dialog:default", - "markdownDescription": "This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n\n#### This default permission set includes:\n\n- `allow-ask`\n- `allow-confirm`\n- `allow-message`\n- `allow-save`\n- `allow-open`" - }, - { - "description": "Enables the ask command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-ask", - "markdownDescription": "Enables the ask command without any pre-configured scope." - }, - { - "description": "Enables the confirm command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-confirm", - "markdownDescription": "Enables the confirm command without any pre-configured scope." - }, - { - "description": "Enables the message command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-message", - "markdownDescription": "Enables the message command without any pre-configured scope." - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-open", - "markdownDescription": "Enables the open command without any pre-configured scope." - }, - { - "description": "Enables the save command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-save", - "markdownDescription": "Enables the save command without any pre-configured scope." - }, - { - "description": "Denies the ask command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-ask", - "markdownDescription": "Denies the ask command without any pre-configured scope." - }, - { - "description": "Denies the confirm command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-confirm", - "markdownDescription": "Denies the confirm command without any pre-configured scope." - }, - { - "description": "Denies the message command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-message", - "markdownDescription": "Denies the message command without any pre-configured scope." - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-open", - "markdownDescription": "Denies the open command without any pre-configured scope." - }, - { - "description": "Denies the save command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-save", - "markdownDescription": "Denies the save command without any pre-configured scope." - }, - { - "description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`", - "type": "string", - "const": "http:default", - "markdownDescription": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`" - }, - { - "description": "Enables the fetch command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch", - "markdownDescription": "Enables the fetch command without any pre-configured scope." - }, - { - "description": "Enables the fetch_cancel command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-cancel", - "markdownDescription": "Enables the fetch_cancel command without any pre-configured scope." - }, - { - "description": "Enables the fetch_cancel_body command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-cancel-body", - "markdownDescription": "Enables the fetch_cancel_body command without any pre-configured scope." - }, - { - "description": "Enables the fetch_read_body command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-read-body", - "markdownDescription": "Enables the fetch_read_body command without any pre-configured scope." - }, - { - "description": "Enables the fetch_send command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-send", - "markdownDescription": "Enables the fetch_send command without any pre-configured scope." - }, - { - "description": "Denies the fetch command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch", - "markdownDescription": "Denies the fetch command without any pre-configured scope." - }, - { - "description": "Denies the fetch_cancel command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-cancel", - "markdownDescription": "Denies the fetch_cancel command without any pre-configured scope." - }, - { - "description": "Denies the fetch_cancel_body command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-cancel-body", - "markdownDescription": "Denies the fetch_cancel_body command without any pre-configured scope." - }, - { - "description": "Denies the fetch_read_body command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-read-body", - "markdownDescription": "Denies the fetch_read_body command without any pre-configured scope." - }, - { - "description": "Denies the fetch_send command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-send", - "markdownDescription": "Denies the fetch_send command without any pre-configured scope." - }, - { - "description": "This permission set configures which\nnotification features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all notification related features.\n\n\n#### This default permission set includes:\n\n- `allow-is-permission-granted`\n- `allow-request-permission`\n- `allow-notify`\n- `allow-register-action-types`\n- `allow-register-listener`\n- `allow-cancel`\n- `allow-get-pending`\n- `allow-remove-active`\n- `allow-get-active`\n- `allow-check-permissions`\n- `allow-show`\n- `allow-batch`\n- `allow-list-channels`\n- `allow-delete-channel`\n- `allow-create-channel`\n- `allow-permission-state`", - "type": "string", - "const": "notification:default", - "markdownDescription": "This permission set configures which\nnotification features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all notification related features.\n\n\n#### This default permission set includes:\n\n- `allow-is-permission-granted`\n- `allow-request-permission`\n- `allow-notify`\n- `allow-register-action-types`\n- `allow-register-listener`\n- `allow-cancel`\n- `allow-get-pending`\n- `allow-remove-active`\n- `allow-get-active`\n- `allow-check-permissions`\n- `allow-show`\n- `allow-batch`\n- `allow-list-channels`\n- `allow-delete-channel`\n- `allow-create-channel`\n- `allow-permission-state`" - }, - { - "description": "Enables the batch command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-batch", - "markdownDescription": "Enables the batch command without any pre-configured scope." - }, - { - "description": "Enables the cancel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-cancel", - "markdownDescription": "Enables the cancel command without any pre-configured scope." - }, - { - "description": "Enables the check_permissions command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-check-permissions", - "markdownDescription": "Enables the check_permissions command without any pre-configured scope." - }, - { - "description": "Enables the create_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-create-channel", - "markdownDescription": "Enables the create_channel command without any pre-configured scope." - }, - { - "description": "Enables the delete_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-delete-channel", - "markdownDescription": "Enables the delete_channel command without any pre-configured scope." - }, - { - "description": "Enables the get_active command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-get-active", - "markdownDescription": "Enables the get_active command without any pre-configured scope." - }, - { - "description": "Enables the get_pending command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-get-pending", - "markdownDescription": "Enables the get_pending command without any pre-configured scope." - }, - { - "description": "Enables the is_permission_granted command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-is-permission-granted", - "markdownDescription": "Enables the is_permission_granted command without any pre-configured scope." - }, - { - "description": "Enables the list_channels command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-list-channels", - "markdownDescription": "Enables the list_channels command without any pre-configured scope." - }, - { - "description": "Enables the notify command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-notify", - "markdownDescription": "Enables the notify command without any pre-configured scope." - }, - { - "description": "Enables the permission_state command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-permission-state", - "markdownDescription": "Enables the permission_state command without any pre-configured scope." - }, - { - "description": "Enables the register_action_types command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-register-action-types", - "markdownDescription": "Enables the register_action_types command without any pre-configured scope." - }, - { - "description": "Enables the register_listener command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-register-listener", - "markdownDescription": "Enables the register_listener command without any pre-configured scope." - }, - { - "description": "Enables the remove_active command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-remove-active", - "markdownDescription": "Enables the remove_active command without any pre-configured scope." - }, - { - "description": "Enables the request_permission command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-request-permission", - "markdownDescription": "Enables the request_permission command without any pre-configured scope." - }, - { - "description": "Enables the show command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-show", - "markdownDescription": "Enables the show command without any pre-configured scope." - }, - { - "description": "Denies the batch command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-batch", - "markdownDescription": "Denies the batch command without any pre-configured scope." - }, - { - "description": "Denies the cancel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-cancel", - "markdownDescription": "Denies the cancel command without any pre-configured scope." - }, - { - "description": "Denies the check_permissions command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-check-permissions", - "markdownDescription": "Denies the check_permissions command without any pre-configured scope." - }, - { - "description": "Denies the create_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-create-channel", - "markdownDescription": "Denies the create_channel command without any pre-configured scope." - }, - { - "description": "Denies the delete_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-delete-channel", - "markdownDescription": "Denies the delete_channel command without any pre-configured scope." - }, - { - "description": "Denies the get_active command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-get-active", - "markdownDescription": "Denies the get_active command without any pre-configured scope." - }, - { - "description": "Denies the get_pending command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-get-pending", - "markdownDescription": "Denies the get_pending command without any pre-configured scope." - }, - { - "description": "Denies the is_permission_granted command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-is-permission-granted", - "markdownDescription": "Denies the is_permission_granted command without any pre-configured scope." - }, - { - "description": "Denies the list_channels command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-list-channels", - "markdownDescription": "Denies the list_channels command without any pre-configured scope." - }, - { - "description": "Denies the notify command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-notify", - "markdownDescription": "Denies the notify command without any pre-configured scope." - }, - { - "description": "Denies the permission_state command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-permission-state", - "markdownDescription": "Denies the permission_state command without any pre-configured scope." - }, - { - "description": "Denies the register_action_types command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-register-action-types", - "markdownDescription": "Denies the register_action_types command without any pre-configured scope." - }, - { - "description": "Denies the register_listener command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-register-listener", - "markdownDescription": "Denies the register_listener command without any pre-configured scope." - }, - { - "description": "Denies the remove_active command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-remove-active", - "markdownDescription": "Denies the remove_active command without any pre-configured scope." - }, - { - "description": "Denies the request_permission command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-request-permission", - "markdownDescription": "Denies the request_permission command without any pre-configured scope." - }, - { - "description": "Denies the show command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-show", - "markdownDescription": "Denies the show command without any pre-configured scope." - }, - { - "description": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", - "type": "string", - "const": "opener:default", - "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" - }, - { - "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", - "type": "string", - "const": "opener:allow-default-urls", - "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." - }, - { - "description": "Enables the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-path", - "markdownDescription": "Enables the open_path command without any pre-configured scope." - }, - { - "description": "Enables the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-url", - "markdownDescription": "Enables the open_url command without any pre-configured scope." - }, - { - "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-reveal-item-in-dir", - "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." - }, - { - "description": "Denies the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-path", - "markdownDescription": "Denies the open_path command without any pre-configured scope." - }, - { - "description": "Denies the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-url", - "markdownDescription": "Denies the open_url command without any pre-configured scope." - }, - { - "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-reveal-item-in-dir", - "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." - }, - { - "description": "This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n\n#### This default permission set includes:\n\n- `allow-exit`\n- `allow-restart`", - "type": "string", - "const": "process:default", - "markdownDescription": "This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n\n#### This default permission set includes:\n\n- `allow-exit`\n- `allow-restart`" - }, - { - "description": "Enables the exit command without any pre-configured scope.", - "type": "string", - "const": "process:allow-exit", - "markdownDescription": "Enables the exit command without any pre-configured scope." - }, - { - "description": "Enables the restart command without any pre-configured scope.", - "type": "string", - "const": "process:allow-restart", - "markdownDescription": "Enables the restart command without any pre-configured scope." - }, - { - "description": "Denies the exit command without any pre-configured scope.", - "type": "string", - "const": "process:deny-exit", - "markdownDescription": "Denies the exit command without any pre-configured scope." - }, - { - "description": "Denies the restart command without any pre-configured scope.", - "type": "string", - "const": "process:deny-restart", - "markdownDescription": "Denies the restart command without any pre-configured scope." - }, - { - "description": "This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n\n#### This default permission set includes:\n\n- `allow-check`\n- `allow-download`\n- `allow-install`\n- `allow-download-and-install`", - "type": "string", - "const": "updater:default", - "markdownDescription": "This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n\n#### This default permission set includes:\n\n- `allow-check`\n- `allow-download`\n- `allow-install`\n- `allow-download-and-install`" - }, - { - "description": "Enables the check command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-check", - "markdownDescription": "Enables the check command without any pre-configured scope." - }, - { - "description": "Enables the download command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-download", - "markdownDescription": "Enables the download command without any pre-configured scope." - }, - { - "description": "Enables the download_and_install command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-download-and-install", - "markdownDescription": "Enables the download_and_install command without any pre-configured scope." - }, - { - "description": "Enables the install command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-install", - "markdownDescription": "Enables the install command without any pre-configured scope." - }, - { - "description": "Denies the check command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-check", - "markdownDescription": "Denies the check command without any pre-configured scope." - }, - { - "description": "Denies the download command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-download", - "markdownDescription": "Denies the download command without any pre-configured scope." - }, - { - "description": "Denies the download_and_install command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-download-and-install", - "markdownDescription": "Denies the download_and_install command without any pre-configured scope." - }, - { - "description": "Denies the install command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-install", - "markdownDescription": "Denies the install command without any pre-configured scope." - }, - { - "description": "This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n\n#### This default permission set includes:\n\n- `allow-filename`\n- `allow-restore-state`\n- `allow-save-window-state`", - "type": "string", - "const": "window-state:default", - "markdownDescription": "This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n\n#### This default permission set includes:\n\n- `allow-filename`\n- `allow-restore-state`\n- `allow-save-window-state`" - }, - { - "description": "Enables the filename command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-filename", - "markdownDescription": "Enables the filename command without any pre-configured scope." - }, - { - "description": "Enables the restore_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-restore-state", - "markdownDescription": "Enables the restore_state command without any pre-configured scope." - }, - { - "description": "Enables the save_window_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-save-window-state", - "markdownDescription": "Enables the save_window_state command without any pre-configured scope." - }, - { - "description": "Denies the filename command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-filename", - "markdownDescription": "Denies the filename command without any pre-configured scope." - }, - { - "description": "Denies the restore_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-restore-state", - "markdownDescription": "Denies the restore_state command without any pre-configured scope." - }, - { - "description": "Denies the save_window_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-save-window-state", - "markdownDescription": "Denies the save_window_state command without any pre-configured scope." - } - ] - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a null JSON value.", - "type": "null" - }, - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Target": { - "description": "Platform target.", - "oneOf": [ - { - "description": "MacOS.", - "type": "string", - "enum": [ - "macOS" - ] - }, - { - "description": "Windows.", - "type": "string", - "enum": [ - "windows" - ] - }, - { - "description": "Linux.", - "type": "string", - "enum": [ - "linux" - ] - }, - { - "description": "Android.", - "type": "string", - "enum": [ - "android" - ] - }, - { - "description": "iOS.", - "type": "string", - "enum": [ - "iOS" - ] - } - ] - }, - "Application": { - "description": "Opener scope application.", - "anyOf": [ - { - "description": "Open in default application.", - "type": "null" - }, - { - "description": "If true, allow open with any application.", - "type": "boolean" - }, - { - "description": "Allow specific application to open with.", - "type": "string" - } - ] - } - } -} \ No newline at end of file diff --git a/src-tauri/gen/schemas/linux-schema.json b/src-tauri/gen/schemas/linux-schema.json deleted file mode 100644 index dea2186..0000000 --- a/src-tauri/gen/schemas/linux-schema.json +++ /dev/null @@ -1,3113 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "CapabilityFile", - "description": "Capability formats accepted in a capability file.", - "anyOf": [ - { - "description": "A single capability.", - "allOf": [ - { - "$ref": "#/definitions/Capability" - } - ] - }, - { - "description": "A list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - }, - { - "description": "A list of capabilities.", - "type": "object", - "required": [ - "capabilities" - ], - "properties": { - "capabilities": { - "description": "The list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - } - } - } - ], - "definitions": { - "Capability": { - "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows' and webviews' fine grained access to the Tauri core, application, or plugin commands. If a webview or its window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create groups of windows, based on their required system access, which can reduce impact of frontend vulnerabilities in less privileged windows. Windows can be added to a capability by exact name (e.g. `main-window`) or glob patterns like `*` or `admin-*`. A Window can have none, one, or multiple associated capabilities.\n\n## Example\n\n```json { \"identifier\": \"main-user-files-write\", \"description\": \"This capability allows the `main` window on macOS and Windows access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.\", \"windows\": [ \"main\" ], \"permissions\": [ \"core:default\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] }, ], \"platforms\": [\"macOS\",\"windows\"] } ```", - "type": "object", - "required": [ - "identifier", - "permissions" - ], - "properties": { - "identifier": { - "description": "Identifier of the capability.\n\n## Example\n\n`main-user-files-write`", - "type": "string" - }, - "description": { - "description": "Description of what the capability is intended to allow on associated windows.\n\nIt should contain a description of what the grouped permissions should allow.\n\n## Example\n\nThis capability allows the `main` window access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.", - "default": "", - "type": "string" - }, - "remote": { - "description": "Configure remote URLs that can use the capability permissions.\n\nThis setting is optional and defaults to not being set, as our default use case is that the content is served from our local application.\n\n:::caution Make sure you understand the security implications of providing remote sources with local system access. :::\n\n## Example\n\n```json { \"urls\": [\"https://*.mydomain.dev\"] } ```", - "anyOf": [ - { - "$ref": "#/definitions/CapabilityRemote" - }, - { - "type": "null" - } - ] - }, - "local": { - "description": "Whether this capability is enabled for local app URLs or not. Defaults to `true`.", - "default": true, - "type": "boolean" - }, - "windows": { - "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nIf a window label matches any of the patterns in this list, the capability will be enabled on all the webviews of that window, regardless of the value of [`Self::webviews`].\n\nOn multiwebview windows, prefer specifying [`Self::webviews`] and omitting [`Self::windows`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "webviews": { - "description": "List of webviews that are affected by this capability. Can be a glob pattern.\n\nThe capability will be enabled on all the webviews whose label matches any of the patterns in this list, regardless of whether the webview's window label matches a pattern in [`Self::windows`].\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "permissions": { - "description": "List of permissions attached to this capability.\n\nMust include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`. For commands directly implemented in the application itself only `${permission-name}` is required.\n\n## Example\n\n```json [ \"core:default\", \"shell:allow-open\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] } ] ```", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionEntry" - }, - "uniqueItems": true - }, - "platforms": { - "description": "Limit which target platforms this capability applies to.\n\nBy default all platforms are targeted.\n\n## Example\n\n`[\"macOS\",\"windows\"]`", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Target" - } - } - } - }, - "CapabilityRemote": { - "description": "Configuration for remote URLs that are associated with the capability.", - "type": "object", - "required": [ - "urls" - ], - "properties": { - "urls": { - "description": "Remote domains this capability refers to using the [URLPattern standard](https://urlpattern.spec.whatwg.org/).\n\n## Examples\n\n- \"https://*.mydomain.dev\": allows subdomains of mydomain.dev - \"https://mydomain.dev/api/*\": allows any subpath of mydomain.dev/api", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "PermissionEntry": { - "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", - "anyOf": [ - { - "description": "Reference a permission or permission set by identifier.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - { - "description": "Reference a permission or permission set by identifier and extends its scope.", - "type": "object", - "allOf": [ - { - "if": { - "properties": { - "identifier": { - "anyOf": [ - { - "description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`", - "type": "string", - "const": "http:default", - "markdownDescription": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`" - }, - { - "description": "Enables the fetch command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch", - "markdownDescription": "Enables the fetch command without any pre-configured scope." - }, - { - "description": "Enables the fetch_cancel command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-cancel", - "markdownDescription": "Enables the fetch_cancel command without any pre-configured scope." - }, - { - "description": "Enables the fetch_cancel_body command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-cancel-body", - "markdownDescription": "Enables the fetch_cancel_body command without any pre-configured scope." - }, - { - "description": "Enables the fetch_read_body command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-read-body", - "markdownDescription": "Enables the fetch_read_body command without any pre-configured scope." - }, - { - "description": "Enables the fetch_send command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-send", - "markdownDescription": "Enables the fetch_send command without any pre-configured scope." - }, - { - "description": "Denies the fetch command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch", - "markdownDescription": "Denies the fetch command without any pre-configured scope." - }, - { - "description": "Denies the fetch_cancel command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-cancel", - "markdownDescription": "Denies the fetch_cancel command without any pre-configured scope." - }, - { - "description": "Denies the fetch_cancel_body command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-cancel-body", - "markdownDescription": "Denies the fetch_cancel_body command without any pre-configured scope." - }, - { - "description": "Denies the fetch_read_body command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-read-body", - "markdownDescription": "Denies the fetch_read_body command without any pre-configured scope." - }, - { - "description": "Denies the fetch_send command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-send", - "markdownDescription": "Denies the fetch_send command without any pre-configured scope." - } - ] - } - } - }, - "then": { - "properties": { - "allow": { - "items": { - "title": "HttpScopeEntry", - "description": "HTTP scope entry.", - "anyOf": [ - { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - }, - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "url": { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - } - ] - } - }, - "deny": { - "items": { - "title": "HttpScopeEntry", - "description": "HTTP scope entry.", - "anyOf": [ - { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - }, - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "url": { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - } - ] - } - } - } - }, - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - } - } - }, - { - "if": { - "properties": { - "identifier": { - "anyOf": [ - { - "description": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", - "type": "string", - "const": "opener:default", - "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" - }, - { - "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", - "type": "string", - "const": "opener:allow-default-urls", - "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." - }, - { - "description": "Enables the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-path", - "markdownDescription": "Enables the open_path command without any pre-configured scope." - }, - { - "description": "Enables the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-url", - "markdownDescription": "Enables the open_url command without any pre-configured scope." - }, - { - "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-reveal-item-in-dir", - "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." - }, - { - "description": "Denies the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-path", - "markdownDescription": "Denies the open_path command without any pre-configured scope." - }, - { - "description": "Denies the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-url", - "markdownDescription": "Denies the open_url command without any pre-configured scope." - }, - { - "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-reveal-item-in-dir", - "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." - } - ] - } - } - }, - "then": { - "properties": { - "allow": { - "items": { - "title": "OpenerScopeEntry", - "description": "Opener scope entry.", - "anyOf": [ - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "app": { - "description": "An application to open this url with, for example: firefox.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "url": { - "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - }, - { - "type": "object", - "required": [ - "path" - ], - "properties": { - "app": { - "description": "An application to open this path with, for example: xdg-open.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "path": { - "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - } - } - } - ] - } - }, - "deny": { - "items": { - "title": "OpenerScopeEntry", - "description": "Opener scope entry.", - "anyOf": [ - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "app": { - "description": "An application to open this url with, for example: firefox.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "url": { - "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - }, - { - "type": "object", - "required": [ - "path" - ], - "properties": { - "app": { - "description": "An application to open this path with, for example: xdg-open.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "path": { - "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - } - } - } - ] - } - } - } - }, - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - } - } - }, - { - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope. This should be prioritized by validation logic.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - } - ], - "required": [ - "identifier" - ] - } - ] - }, - "Identifier": { - "description": "Permission identifier", - "oneOf": [ - { - "description": "This permission set configures if your\napplication can enable or disable auto\nstarting the application on boot.\n\n#### Granted Permissions\n\nIt allows all to check, enable and\ndisable the automatic start on boot.\n\n\n#### This default permission set includes:\n\n- `allow-enable`\n- `allow-disable`\n- `allow-is-enabled`", - "type": "string", - "const": "autostart:default", - "markdownDescription": "This permission set configures if your\napplication can enable or disable auto\nstarting the application on boot.\n\n#### Granted Permissions\n\nIt allows all to check, enable and\ndisable the automatic start on boot.\n\n\n#### This default permission set includes:\n\n- `allow-enable`\n- `allow-disable`\n- `allow-is-enabled`" - }, - { - "description": "Enables the disable command without any pre-configured scope.", - "type": "string", - "const": "autostart:allow-disable", - "markdownDescription": "Enables the disable command without any pre-configured scope." - }, - { - "description": "Enables the enable command without any pre-configured scope.", - "type": "string", - "const": "autostart:allow-enable", - "markdownDescription": "Enables the enable command without any pre-configured scope." - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "autostart:allow-is-enabled", - "markdownDescription": "Enables the is_enabled command without any pre-configured scope." - }, - { - "description": "Denies the disable command without any pre-configured scope.", - "type": "string", - "const": "autostart:deny-disable", - "markdownDescription": "Denies the disable command without any pre-configured scope." - }, - { - "description": "Denies the enable command without any pre-configured scope.", - "type": "string", - "const": "autostart:deny-enable", - "markdownDescription": "Denies the enable command without any pre-configured scope." - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "autostart:deny-is-enabled", - "markdownDescription": "Denies the is_enabled command without any pre-configured scope." - }, - { - "description": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`", - "type": "string", - "const": "core:default", - "markdownDescription": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`" - }, - { - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`", - "type": "string", - "const": "core:app:default", - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`" - }, - { - "description": "Enables the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-hide", - "markdownDescription": "Enables the app_hide command without any pre-configured scope." - }, - { - "description": "Enables the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-show", - "markdownDescription": "Enables the app_show command without any pre-configured scope." - }, - { - "description": "Enables the bundle_type command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-bundle-type", - "markdownDescription": "Enables the bundle_type command without any pre-configured scope." - }, - { - "description": "Enables the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-default-window-icon", - "markdownDescription": "Enables the default_window_icon command without any pre-configured scope." - }, - { - "description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-fetch-data-store-identifiers", - "markdownDescription": "Enables the fetch_data_store_identifiers command without any pre-configured scope." - }, - { - "description": "Enables the identifier command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-identifier", - "markdownDescription": "Enables the identifier command without any pre-configured scope." - }, - { - "description": "Enables the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-name", - "markdownDescription": "Enables the name command without any pre-configured scope." - }, - { - "description": "Enables the register_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-register-listener", - "markdownDescription": "Enables the register_listener command without any pre-configured scope." - }, - { - "description": "Enables the remove_data_store command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-remove-data-store", - "markdownDescription": "Enables the remove_data_store command without any pre-configured scope." - }, - { - "description": "Enables the remove_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-remove-listener", - "markdownDescription": "Enables the remove_listener command without any pre-configured scope." - }, - { - "description": "Enables the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-set-app-theme", - "markdownDescription": "Enables the set_app_theme command without any pre-configured scope." - }, - { - "description": "Enables the set_dock_visibility command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-set-dock-visibility", - "markdownDescription": "Enables the set_dock_visibility command without any pre-configured scope." - }, - { - "description": "Enables the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-tauri-version", - "markdownDescription": "Enables the tauri_version command without any pre-configured scope." - }, - { - "description": "Enables the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-version", - "markdownDescription": "Enables the version command without any pre-configured scope." - }, - { - "description": "Denies the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-hide", - "markdownDescription": "Denies the app_hide command without any pre-configured scope." - }, - { - "description": "Denies the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-show", - "markdownDescription": "Denies the app_show command without any pre-configured scope." - }, - { - "description": "Denies the bundle_type command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-bundle-type", - "markdownDescription": "Denies the bundle_type command without any pre-configured scope." - }, - { - "description": "Denies the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-default-window-icon", - "markdownDescription": "Denies the default_window_icon command without any pre-configured scope." - }, - { - "description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-fetch-data-store-identifiers", - "markdownDescription": "Denies the fetch_data_store_identifiers command without any pre-configured scope." - }, - { - "description": "Denies the identifier command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-identifier", - "markdownDescription": "Denies the identifier command without any pre-configured scope." - }, - { - "description": "Denies the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-name", - "markdownDescription": "Denies the name command without any pre-configured scope." - }, - { - "description": "Denies the register_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-register-listener", - "markdownDescription": "Denies the register_listener command without any pre-configured scope." - }, - { - "description": "Denies the remove_data_store command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-remove-data-store", - "markdownDescription": "Denies the remove_data_store command without any pre-configured scope." - }, - { - "description": "Denies the remove_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-remove-listener", - "markdownDescription": "Denies the remove_listener command without any pre-configured scope." - }, - { - "description": "Denies the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-set-app-theme", - "markdownDescription": "Denies the set_app_theme command without any pre-configured scope." - }, - { - "description": "Denies the set_dock_visibility command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-set-dock-visibility", - "markdownDescription": "Denies the set_dock_visibility command without any pre-configured scope." - }, - { - "description": "Denies the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-tauri-version", - "markdownDescription": "Denies the tauri_version command without any pre-configured scope." - }, - { - "description": "Denies the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-version", - "markdownDescription": "Denies the version command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`", - "type": "string", - "const": "core:event:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`" - }, - { - "description": "Enables the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit", - "markdownDescription": "Enables the emit command without any pre-configured scope." - }, - { - "description": "Enables the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit-to", - "markdownDescription": "Enables the emit_to command without any pre-configured scope." - }, - { - "description": "Enables the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-listen", - "markdownDescription": "Enables the listen command without any pre-configured scope." - }, - { - "description": "Enables the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-unlisten", - "markdownDescription": "Enables the unlisten command without any pre-configured scope." - }, - { - "description": "Denies the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit", - "markdownDescription": "Denies the emit command without any pre-configured scope." - }, - { - "description": "Denies the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit-to", - "markdownDescription": "Denies the emit_to command without any pre-configured scope." - }, - { - "description": "Denies the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-listen", - "markdownDescription": "Denies the listen command without any pre-configured scope." - }, - { - "description": "Denies the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-unlisten", - "markdownDescription": "Denies the unlisten command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`", - "type": "string", - "const": "core:image:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`" - }, - { - "description": "Enables the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-bytes", - "markdownDescription": "Enables the from_bytes command without any pre-configured scope." - }, - { - "description": "Enables the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-path", - "markdownDescription": "Enables the from_path command without any pre-configured scope." - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-new", - "markdownDescription": "Enables the new command without any pre-configured scope." - }, - { - "description": "Enables the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-rgba", - "markdownDescription": "Enables the rgba command without any pre-configured scope." - }, - { - "description": "Enables the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-size", - "markdownDescription": "Enables the size command without any pre-configured scope." - }, - { - "description": "Denies the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-bytes", - "markdownDescription": "Denies the from_bytes command without any pre-configured scope." - }, - { - "description": "Denies the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-path", - "markdownDescription": "Denies the from_path command without any pre-configured scope." - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-new", - "markdownDescription": "Denies the new command without any pre-configured scope." - }, - { - "description": "Denies the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-rgba", - "markdownDescription": "Denies the rgba command without any pre-configured scope." - }, - { - "description": "Denies the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-size", - "markdownDescription": "Denies the size command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`", - "type": "string", - "const": "core:menu:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`" - }, - { - "description": "Enables the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-append", - "markdownDescription": "Enables the append command without any pre-configured scope." - }, - { - "description": "Enables the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-create-default", - "markdownDescription": "Enables the create_default command without any pre-configured scope." - }, - { - "description": "Enables the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-get", - "markdownDescription": "Enables the get command without any pre-configured scope." - }, - { - "description": "Enables the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-insert", - "markdownDescription": "Enables the insert command without any pre-configured scope." - }, - { - "description": "Enables the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-checked", - "markdownDescription": "Enables the is_checked command without any pre-configured scope." - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-enabled", - "markdownDescription": "Enables the is_enabled command without any pre-configured scope." - }, - { - "description": "Enables the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-items", - "markdownDescription": "Enables the items command without any pre-configured scope." - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-new", - "markdownDescription": "Enables the new command without any pre-configured scope." - }, - { - "description": "Enables the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-popup", - "markdownDescription": "Enables the popup command without any pre-configured scope." - }, - { - "description": "Enables the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-prepend", - "markdownDescription": "Enables the prepend command without any pre-configured scope." - }, - { - "description": "Enables the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove", - "markdownDescription": "Enables the remove command without any pre-configured scope." - }, - { - "description": "Enables the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove-at", - "markdownDescription": "Enables the remove_at command without any pre-configured scope." - }, - { - "description": "Enables the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-accelerator", - "markdownDescription": "Enables the set_accelerator command without any pre-configured scope." - }, - { - "description": "Enables the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-app-menu", - "markdownDescription": "Enables the set_as_app_menu command without any pre-configured scope." - }, - { - "description": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-help-menu-for-nsapp", - "markdownDescription": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Enables the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-window-menu", - "markdownDescription": "Enables the set_as_window_menu command without any pre-configured scope." - }, - { - "description": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-windows-menu-for-nsapp", - "markdownDescription": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Enables the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-checked", - "markdownDescription": "Enables the set_checked command without any pre-configured scope." - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-enabled", - "markdownDescription": "Enables the set_enabled command without any pre-configured scope." - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-icon", - "markdownDescription": "Enables the set_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-text", - "markdownDescription": "Enables the set_text command without any pre-configured scope." - }, - { - "description": "Enables the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-text", - "markdownDescription": "Enables the text command without any pre-configured scope." - }, - { - "description": "Denies the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-append", - "markdownDescription": "Denies the append command without any pre-configured scope." - }, - { - "description": "Denies the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-create-default", - "markdownDescription": "Denies the create_default command without any pre-configured scope." - }, - { - "description": "Denies the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-get", - "markdownDescription": "Denies the get command without any pre-configured scope." - }, - { - "description": "Denies the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-insert", - "markdownDescription": "Denies the insert command without any pre-configured scope." - }, - { - "description": "Denies the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-checked", - "markdownDescription": "Denies the is_checked command without any pre-configured scope." - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-enabled", - "markdownDescription": "Denies the is_enabled command without any pre-configured scope." - }, - { - "description": "Denies the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-items", - "markdownDescription": "Denies the items command without any pre-configured scope." - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-new", - "markdownDescription": "Denies the new command without any pre-configured scope." - }, - { - "description": "Denies the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-popup", - "markdownDescription": "Denies the popup command without any pre-configured scope." - }, - { - "description": "Denies the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-prepend", - "markdownDescription": "Denies the prepend command without any pre-configured scope." - }, - { - "description": "Denies the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove", - "markdownDescription": "Denies the remove command without any pre-configured scope." - }, - { - "description": "Denies the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove-at", - "markdownDescription": "Denies the remove_at command without any pre-configured scope." - }, - { - "description": "Denies the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-accelerator", - "markdownDescription": "Denies the set_accelerator command without any pre-configured scope." - }, - { - "description": "Denies the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-app-menu", - "markdownDescription": "Denies the set_as_app_menu command without any pre-configured scope." - }, - { - "description": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-help-menu-for-nsapp", - "markdownDescription": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Denies the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-window-menu", - "markdownDescription": "Denies the set_as_window_menu command without any pre-configured scope." - }, - { - "description": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-windows-menu-for-nsapp", - "markdownDescription": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Denies the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-checked", - "markdownDescription": "Denies the set_checked command without any pre-configured scope." - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-enabled", - "markdownDescription": "Denies the set_enabled command without any pre-configured scope." - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-icon", - "markdownDescription": "Denies the set_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-text", - "markdownDescription": "Denies the set_text command without any pre-configured scope." - }, - { - "description": "Denies the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-text", - "markdownDescription": "Denies the text command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`", - "type": "string", - "const": "core:path:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`" - }, - { - "description": "Enables the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-basename", - "markdownDescription": "Enables the basename command without any pre-configured scope." - }, - { - "description": "Enables the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-dirname", - "markdownDescription": "Enables the dirname command without any pre-configured scope." - }, - { - "description": "Enables the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-extname", - "markdownDescription": "Enables the extname command without any pre-configured scope." - }, - { - "description": "Enables the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-is-absolute", - "markdownDescription": "Enables the is_absolute command without any pre-configured scope." - }, - { - "description": "Enables the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-join", - "markdownDescription": "Enables the join command without any pre-configured scope." - }, - { - "description": "Enables the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-normalize", - "markdownDescription": "Enables the normalize command without any pre-configured scope." - }, - { - "description": "Enables the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve", - "markdownDescription": "Enables the resolve command without any pre-configured scope." - }, - { - "description": "Enables the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve-directory", - "markdownDescription": "Enables the resolve_directory command without any pre-configured scope." - }, - { - "description": "Denies the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-basename", - "markdownDescription": "Denies the basename command without any pre-configured scope." - }, - { - "description": "Denies the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-dirname", - "markdownDescription": "Denies the dirname command without any pre-configured scope." - }, - { - "description": "Denies the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-extname", - "markdownDescription": "Denies the extname command without any pre-configured scope." - }, - { - "description": "Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-is-absolute", - "markdownDescription": "Denies the is_absolute command without any pre-configured scope." - }, - { - "description": "Denies the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-join", - "markdownDescription": "Denies the join command without any pre-configured scope." - }, - { - "description": "Denies the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-normalize", - "markdownDescription": "Denies the normalize command without any pre-configured scope." - }, - { - "description": "Denies the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve", - "markdownDescription": "Denies the resolve command without any pre-configured scope." - }, - { - "description": "Denies the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve-directory", - "markdownDescription": "Denies the resolve_directory command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`", - "type": "string", - "const": "core:resources:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`" - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:allow-close", - "markdownDescription": "Enables the close command without any pre-configured scope." - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:deny-close", - "markdownDescription": "Denies the close command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-show-menu-on-left-click`", - "type": "string", - "const": "core:tray:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-show-menu-on-left-click`" - }, - { - "description": "Enables the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-get-by-id", - "markdownDescription": "Enables the get_by_id command without any pre-configured scope." - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-new", - "markdownDescription": "Enables the new command without any pre-configured scope." - }, - { - "description": "Enables the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-remove-by-id", - "markdownDescription": "Enables the remove_by_id command without any pre-configured scope." - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon", - "markdownDescription": "Enables the set_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon-as-template", - "markdownDescription": "Enables the set_icon_as_template command without any pre-configured scope." - }, - { - "description": "Enables the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-menu", - "markdownDescription": "Enables the set_menu command without any pre-configured scope." - }, - { - "description": "Enables the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-show-menu-on-left-click", - "markdownDescription": "Enables the set_show_menu_on_left_click command without any pre-configured scope." - }, - { - "description": "Enables the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-temp-dir-path", - "markdownDescription": "Enables the set_temp_dir_path command without any pre-configured scope." - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-title", - "markdownDescription": "Enables the set_title command without any pre-configured scope." - }, - { - "description": "Enables the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-tooltip", - "markdownDescription": "Enables the set_tooltip command without any pre-configured scope." - }, - { - "description": "Enables the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-visible", - "markdownDescription": "Enables the set_visible command without any pre-configured scope." - }, - { - "description": "Denies the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-get-by-id", - "markdownDescription": "Denies the get_by_id command without any pre-configured scope." - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-new", - "markdownDescription": "Denies the new command without any pre-configured scope." - }, - { - "description": "Denies the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-remove-by-id", - "markdownDescription": "Denies the remove_by_id command without any pre-configured scope." - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon", - "markdownDescription": "Denies the set_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon-as-template", - "markdownDescription": "Denies the set_icon_as_template command without any pre-configured scope." - }, - { - "description": "Denies the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-menu", - "markdownDescription": "Denies the set_menu command without any pre-configured scope." - }, - { - "description": "Denies the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-show-menu-on-left-click", - "markdownDescription": "Denies the set_show_menu_on_left_click command without any pre-configured scope." - }, - { - "description": "Denies the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-temp-dir-path", - "markdownDescription": "Denies the set_temp_dir_path command without any pre-configured scope." - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-title", - "markdownDescription": "Denies the set_title command without any pre-configured scope." - }, - { - "description": "Denies the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-tooltip", - "markdownDescription": "Denies the set_tooltip command without any pre-configured scope." - }, - { - "description": "Denies the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-visible", - "markdownDescription": "Denies the set_visible command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`", - "type": "string", - "const": "core:webview:default", - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`" - }, - { - "description": "Enables the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-clear-all-browsing-data", - "markdownDescription": "Enables the clear_all_browsing_data command without any pre-configured scope." - }, - { - "description": "Enables the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview", - "markdownDescription": "Enables the create_webview command without any pre-configured scope." - }, - { - "description": "Enables the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview-window", - "markdownDescription": "Enables the create_webview_window command without any pre-configured scope." - }, - { - "description": "Enables the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-get-all-webviews", - "markdownDescription": "Enables the get_all_webviews command without any pre-configured scope." - }, - { - "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-internal-toggle-devtools", - "markdownDescription": "Enables the internal_toggle_devtools command without any pre-configured scope." - }, - { - "description": "Enables the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-print", - "markdownDescription": "Enables the print command without any pre-configured scope." - }, - { - "description": "Enables the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-reparent", - "markdownDescription": "Enables the reparent command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_auto_resize command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-auto-resize", - "markdownDescription": "Enables the set_webview_auto_resize command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-background-color", - "markdownDescription": "Enables the set_webview_background_color command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-focus", - "markdownDescription": "Enables the set_webview_focus command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-position", - "markdownDescription": "Enables the set_webview_position command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-size", - "markdownDescription": "Enables the set_webview_size command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-zoom", - "markdownDescription": "Enables the set_webview_zoom command without any pre-configured scope." - }, - { - "description": "Enables the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-close", - "markdownDescription": "Enables the webview_close command without any pre-configured scope." - }, - { - "description": "Enables the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-hide", - "markdownDescription": "Enables the webview_hide command without any pre-configured scope." - }, - { - "description": "Enables the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-position", - "markdownDescription": "Enables the webview_position command without any pre-configured scope." - }, - { - "description": "Enables the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-show", - "markdownDescription": "Enables the webview_show command without any pre-configured scope." - }, - { - "description": "Enables the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-size", - "markdownDescription": "Enables the webview_size command without any pre-configured scope." - }, - { - "description": "Denies the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-clear-all-browsing-data", - "markdownDescription": "Denies the clear_all_browsing_data command without any pre-configured scope." - }, - { - "description": "Denies the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview", - "markdownDescription": "Denies the create_webview command without any pre-configured scope." - }, - { - "description": "Denies the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview-window", - "markdownDescription": "Denies the create_webview_window command without any pre-configured scope." - }, - { - "description": "Denies the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-get-all-webviews", - "markdownDescription": "Denies the get_all_webviews command without any pre-configured scope." - }, - { - "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-internal-toggle-devtools", - "markdownDescription": "Denies the internal_toggle_devtools command without any pre-configured scope." - }, - { - "description": "Denies the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-print", - "markdownDescription": "Denies the print command without any pre-configured scope." - }, - { - "description": "Denies the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-reparent", - "markdownDescription": "Denies the reparent command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_auto_resize command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-auto-resize", - "markdownDescription": "Denies the set_webview_auto_resize command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-background-color", - "markdownDescription": "Denies the set_webview_background_color command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-focus", - "markdownDescription": "Denies the set_webview_focus command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-position", - "markdownDescription": "Denies the set_webview_position command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-size", - "markdownDescription": "Denies the set_webview_size command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-zoom", - "markdownDescription": "Denies the set_webview_zoom command without any pre-configured scope." - }, - { - "description": "Denies the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-close", - "markdownDescription": "Denies the webview_close command without any pre-configured scope." - }, - { - "description": "Denies the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-hide", - "markdownDescription": "Denies the webview_hide command without any pre-configured scope." - }, - { - "description": "Denies the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-position", - "markdownDescription": "Denies the webview_position command without any pre-configured scope." - }, - { - "description": "Denies the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-show", - "markdownDescription": "Denies the webview_show command without any pre-configured scope." - }, - { - "description": "Denies the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-size", - "markdownDescription": "Denies the webview_size command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-internal-toggle-maximize`", - "type": "string", - "const": "core:window:default", - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-internal-toggle-maximize`" - }, - { - "description": "Enables the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-available-monitors", - "markdownDescription": "Enables the available_monitors command without any pre-configured scope." - }, - { - "description": "Enables the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-center", - "markdownDescription": "Enables the center command without any pre-configured scope." - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-close", - "markdownDescription": "Enables the close command without any pre-configured scope." - }, - { - "description": "Enables the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-create", - "markdownDescription": "Enables the create command without any pre-configured scope." - }, - { - "description": "Enables the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-current-monitor", - "markdownDescription": "Enables the current_monitor command without any pre-configured scope." - }, - { - "description": "Enables the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-cursor-position", - "markdownDescription": "Enables the cursor_position command without any pre-configured scope." - }, - { - "description": "Enables the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-destroy", - "markdownDescription": "Enables the destroy command without any pre-configured scope." - }, - { - "description": "Enables the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-get-all-windows", - "markdownDescription": "Enables the get_all_windows command without any pre-configured scope." - }, - { - "description": "Enables the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-hide", - "markdownDescription": "Enables the hide command without any pre-configured scope." - }, - { - "description": "Enables the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-position", - "markdownDescription": "Enables the inner_position command without any pre-configured scope." - }, - { - "description": "Enables the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-size", - "markdownDescription": "Enables the inner_size command without any pre-configured scope." - }, - { - "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-internal-toggle-maximize", - "markdownDescription": "Enables the internal_toggle_maximize command without any pre-configured scope." - }, - { - "description": "Enables the is_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-always-on-top", - "markdownDescription": "Enables the is_always_on_top command without any pre-configured scope." - }, - { - "description": "Enables the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-closable", - "markdownDescription": "Enables the is_closable command without any pre-configured scope." - }, - { - "description": "Enables the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-decorated", - "markdownDescription": "Enables the is_decorated command without any pre-configured scope." - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-enabled", - "markdownDescription": "Enables the is_enabled command without any pre-configured scope." - }, - { - "description": "Enables the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-focused", - "markdownDescription": "Enables the is_focused command without any pre-configured scope." - }, - { - "description": "Enables the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-fullscreen", - "markdownDescription": "Enables the is_fullscreen command without any pre-configured scope." - }, - { - "description": "Enables the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximizable", - "markdownDescription": "Enables the is_maximizable command without any pre-configured scope." - }, - { - "description": "Enables the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximized", - "markdownDescription": "Enables the is_maximized command without any pre-configured scope." - }, - { - "description": "Enables the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimizable", - "markdownDescription": "Enables the is_minimizable command without any pre-configured scope." - }, - { - "description": "Enables the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimized", - "markdownDescription": "Enables the is_minimized command without any pre-configured scope." - }, - { - "description": "Enables the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-resizable", - "markdownDescription": "Enables the is_resizable command without any pre-configured scope." - }, - { - "description": "Enables the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-visible", - "markdownDescription": "Enables the is_visible command without any pre-configured scope." - }, - { - "description": "Enables the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-maximize", - "markdownDescription": "Enables the maximize command without any pre-configured scope." - }, - { - "description": "Enables the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-minimize", - "markdownDescription": "Enables the minimize command without any pre-configured scope." - }, - { - "description": "Enables the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-monitor-from-point", - "markdownDescription": "Enables the monitor_from_point command without any pre-configured scope." - }, - { - "description": "Enables the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-position", - "markdownDescription": "Enables the outer_position command without any pre-configured scope." - }, - { - "description": "Enables the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-size", - "markdownDescription": "Enables the outer_size command without any pre-configured scope." - }, - { - "description": "Enables the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-primary-monitor", - "markdownDescription": "Enables the primary_monitor command without any pre-configured scope." - }, - { - "description": "Enables the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-request-user-attention", - "markdownDescription": "Enables the request_user_attention command without any pre-configured scope." - }, - { - "description": "Enables the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-scale-factor", - "markdownDescription": "Enables the scale_factor command without any pre-configured scope." - }, - { - "description": "Enables the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-bottom", - "markdownDescription": "Enables the set_always_on_bottom command without any pre-configured scope." - }, - { - "description": "Enables the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-top", - "markdownDescription": "Enables the set_always_on_top command without any pre-configured scope." - }, - { - "description": "Enables the set_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-background-color", - "markdownDescription": "Enables the set_background_color command without any pre-configured scope." - }, - { - "description": "Enables the set_badge_count command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-badge-count", - "markdownDescription": "Enables the set_badge_count command without any pre-configured scope." - }, - { - "description": "Enables the set_badge_label command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-badge-label", - "markdownDescription": "Enables the set_badge_label command without any pre-configured scope." - }, - { - "description": "Enables the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-closable", - "markdownDescription": "Enables the set_closable command without any pre-configured scope." - }, - { - "description": "Enables the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-content-protected", - "markdownDescription": "Enables the set_content_protected command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-grab", - "markdownDescription": "Enables the set_cursor_grab command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-icon", - "markdownDescription": "Enables the set_cursor_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-position", - "markdownDescription": "Enables the set_cursor_position command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-visible", - "markdownDescription": "Enables the set_cursor_visible command without any pre-configured scope." - }, - { - "description": "Enables the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-decorations", - "markdownDescription": "Enables the set_decorations command without any pre-configured scope." - }, - { - "description": "Enables the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-effects", - "markdownDescription": "Enables the set_effects command without any pre-configured scope." - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-enabled", - "markdownDescription": "Enables the set_enabled command without any pre-configured scope." - }, - { - "description": "Enables the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-focus", - "markdownDescription": "Enables the set_focus command without any pre-configured scope." - }, - { - "description": "Enables the set_focusable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-focusable", - "markdownDescription": "Enables the set_focusable command without any pre-configured scope." - }, - { - "description": "Enables the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-fullscreen", - "markdownDescription": "Enables the set_fullscreen command without any pre-configured scope." - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-icon", - "markdownDescription": "Enables the set_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-ignore-cursor-events", - "markdownDescription": "Enables the set_ignore_cursor_events command without any pre-configured scope." - }, - { - "description": "Enables the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-max-size", - "markdownDescription": "Enables the set_max_size command without any pre-configured scope." - }, - { - "description": "Enables the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-maximizable", - "markdownDescription": "Enables the set_maximizable command without any pre-configured scope." - }, - { - "description": "Enables the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-min-size", - "markdownDescription": "Enables the set_min_size command without any pre-configured scope." - }, - { - "description": "Enables the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-minimizable", - "markdownDescription": "Enables the set_minimizable command without any pre-configured scope." - }, - { - "description": "Enables the set_overlay_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-overlay-icon", - "markdownDescription": "Enables the set_overlay_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-position", - "markdownDescription": "Enables the set_position command without any pre-configured scope." - }, - { - "description": "Enables the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-progress-bar", - "markdownDescription": "Enables the set_progress_bar command without any pre-configured scope." - }, - { - "description": "Enables the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-resizable", - "markdownDescription": "Enables the set_resizable command without any pre-configured scope." - }, - { - "description": "Enables the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-shadow", - "markdownDescription": "Enables the set_shadow command without any pre-configured scope." - }, - { - "description": "Enables the set_simple_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-simple-fullscreen", - "markdownDescription": "Enables the set_simple_fullscreen command without any pre-configured scope." - }, - { - "description": "Enables the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size", - "markdownDescription": "Enables the set_size command without any pre-configured scope." - }, - { - "description": "Enables the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size-constraints", - "markdownDescription": "Enables the set_size_constraints command without any pre-configured scope." - }, - { - "description": "Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-skip-taskbar", - "markdownDescription": "Enables the set_skip_taskbar command without any pre-configured scope." - }, - { - "description": "Enables the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-theme", - "markdownDescription": "Enables the set_theme command without any pre-configured scope." - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title", - "markdownDescription": "Enables the set_title command without any pre-configured scope." - }, - { - "description": "Enables the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title-bar-style", - "markdownDescription": "Enables the set_title_bar_style command without any pre-configured scope." - }, - { - "description": "Enables the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-visible-on-all-workspaces", - "markdownDescription": "Enables the set_visible_on_all_workspaces command without any pre-configured scope." - }, - { - "description": "Enables the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-show", - "markdownDescription": "Enables the show command without any pre-configured scope." - }, - { - "description": "Enables the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-dragging", - "markdownDescription": "Enables the start_dragging command without any pre-configured scope." - }, - { - "description": "Enables the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-resize-dragging", - "markdownDescription": "Enables the start_resize_dragging command without any pre-configured scope." - }, - { - "description": "Enables the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-theme", - "markdownDescription": "Enables the theme command without any pre-configured scope." - }, - { - "description": "Enables the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-title", - "markdownDescription": "Enables the title command without any pre-configured scope." - }, - { - "description": "Enables the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-toggle-maximize", - "markdownDescription": "Enables the toggle_maximize command without any pre-configured scope." - }, - { - "description": "Enables the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unmaximize", - "markdownDescription": "Enables the unmaximize command without any pre-configured scope." - }, - { - "description": "Enables the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unminimize", - "markdownDescription": "Enables the unminimize command without any pre-configured scope." - }, - { - "description": "Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-available-monitors", - "markdownDescription": "Denies the available_monitors command without any pre-configured scope." - }, - { - "description": "Denies the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-center", - "markdownDescription": "Denies the center command without any pre-configured scope." - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-close", - "markdownDescription": "Denies the close command without any pre-configured scope." - }, - { - "description": "Denies the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-create", - "markdownDescription": "Denies the create command without any pre-configured scope." - }, - { - "description": "Denies the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-current-monitor", - "markdownDescription": "Denies the current_monitor command without any pre-configured scope." - }, - { - "description": "Denies the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-cursor-position", - "markdownDescription": "Denies the cursor_position command without any pre-configured scope." - }, - { - "description": "Denies the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-destroy", - "markdownDescription": "Denies the destroy command without any pre-configured scope." - }, - { - "description": "Denies the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-get-all-windows", - "markdownDescription": "Denies the get_all_windows command without any pre-configured scope." - }, - { - "description": "Denies the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-hide", - "markdownDescription": "Denies the hide command without any pre-configured scope." - }, - { - "description": "Denies the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-position", - "markdownDescription": "Denies the inner_position command without any pre-configured scope." - }, - { - "description": "Denies the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-size", - "markdownDescription": "Denies the inner_size command without any pre-configured scope." - }, - { - "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-internal-toggle-maximize", - "markdownDescription": "Denies the internal_toggle_maximize command without any pre-configured scope." - }, - { - "description": "Denies the is_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-always-on-top", - "markdownDescription": "Denies the is_always_on_top command without any pre-configured scope." - }, - { - "description": "Denies the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-closable", - "markdownDescription": "Denies the is_closable command without any pre-configured scope." - }, - { - "description": "Denies the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-decorated", - "markdownDescription": "Denies the is_decorated command without any pre-configured scope." - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-enabled", - "markdownDescription": "Denies the is_enabled command without any pre-configured scope." - }, - { - "description": "Denies the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-focused", - "markdownDescription": "Denies the is_focused command without any pre-configured scope." - }, - { - "description": "Denies the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-fullscreen", - "markdownDescription": "Denies the is_fullscreen command without any pre-configured scope." - }, - { - "description": "Denies the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximizable", - "markdownDescription": "Denies the is_maximizable command without any pre-configured scope." - }, - { - "description": "Denies the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximized", - "markdownDescription": "Denies the is_maximized command without any pre-configured scope." - }, - { - "description": "Denies the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimizable", - "markdownDescription": "Denies the is_minimizable command without any pre-configured scope." - }, - { - "description": "Denies the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimized", - "markdownDescription": "Denies the is_minimized command without any pre-configured scope." - }, - { - "description": "Denies the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-resizable", - "markdownDescription": "Denies the is_resizable command without any pre-configured scope." - }, - { - "description": "Denies the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-visible", - "markdownDescription": "Denies the is_visible command without any pre-configured scope." - }, - { - "description": "Denies the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-maximize", - "markdownDescription": "Denies the maximize command without any pre-configured scope." - }, - { - "description": "Denies the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-minimize", - "markdownDescription": "Denies the minimize command without any pre-configured scope." - }, - { - "description": "Denies the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-monitor-from-point", - "markdownDescription": "Denies the monitor_from_point command without any pre-configured scope." - }, - { - "description": "Denies the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-position", - "markdownDescription": "Denies the outer_position command without any pre-configured scope." - }, - { - "description": "Denies the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-size", - "markdownDescription": "Denies the outer_size command without any pre-configured scope." - }, - { - "description": "Denies the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-primary-monitor", - "markdownDescription": "Denies the primary_monitor command without any pre-configured scope." - }, - { - "description": "Denies the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-request-user-attention", - "markdownDescription": "Denies the request_user_attention command without any pre-configured scope." - }, - { - "description": "Denies the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-scale-factor", - "markdownDescription": "Denies the scale_factor command without any pre-configured scope." - }, - { - "description": "Denies the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-bottom", - "markdownDescription": "Denies the set_always_on_bottom command without any pre-configured scope." - }, - { - "description": "Denies the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-top", - "markdownDescription": "Denies the set_always_on_top command without any pre-configured scope." - }, - { - "description": "Denies the set_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-background-color", - "markdownDescription": "Denies the set_background_color command without any pre-configured scope." - }, - { - "description": "Denies the set_badge_count command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-badge-count", - "markdownDescription": "Denies the set_badge_count command without any pre-configured scope." - }, - { - "description": "Denies the set_badge_label command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-badge-label", - "markdownDescription": "Denies the set_badge_label command without any pre-configured scope." - }, - { - "description": "Denies the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-closable", - "markdownDescription": "Denies the set_closable command without any pre-configured scope." - }, - { - "description": "Denies the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-content-protected", - "markdownDescription": "Denies the set_content_protected command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-grab", - "markdownDescription": "Denies the set_cursor_grab command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-icon", - "markdownDescription": "Denies the set_cursor_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-position", - "markdownDescription": "Denies the set_cursor_position command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-visible", - "markdownDescription": "Denies the set_cursor_visible command without any pre-configured scope." - }, - { - "description": "Denies the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-decorations", - "markdownDescription": "Denies the set_decorations command without any pre-configured scope." - }, - { - "description": "Denies the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-effects", - "markdownDescription": "Denies the set_effects command without any pre-configured scope." - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-enabled", - "markdownDescription": "Denies the set_enabled command without any pre-configured scope." - }, - { - "description": "Denies the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-focus", - "markdownDescription": "Denies the set_focus command without any pre-configured scope." - }, - { - "description": "Denies the set_focusable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-focusable", - "markdownDescription": "Denies the set_focusable command without any pre-configured scope." - }, - { - "description": "Denies the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-fullscreen", - "markdownDescription": "Denies the set_fullscreen command without any pre-configured scope." - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-icon", - "markdownDescription": "Denies the set_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-ignore-cursor-events", - "markdownDescription": "Denies the set_ignore_cursor_events command without any pre-configured scope." - }, - { - "description": "Denies the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-max-size", - "markdownDescription": "Denies the set_max_size command without any pre-configured scope." - }, - { - "description": "Denies the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-maximizable", - "markdownDescription": "Denies the set_maximizable command without any pre-configured scope." - }, - { - "description": "Denies the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-min-size", - "markdownDescription": "Denies the set_min_size command without any pre-configured scope." - }, - { - "description": "Denies the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-minimizable", - "markdownDescription": "Denies the set_minimizable command without any pre-configured scope." - }, - { - "description": "Denies the set_overlay_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-overlay-icon", - "markdownDescription": "Denies the set_overlay_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-position", - "markdownDescription": "Denies the set_position command without any pre-configured scope." - }, - { - "description": "Denies the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-progress-bar", - "markdownDescription": "Denies the set_progress_bar command without any pre-configured scope." - }, - { - "description": "Denies the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-resizable", - "markdownDescription": "Denies the set_resizable command without any pre-configured scope." - }, - { - "description": "Denies the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-shadow", - "markdownDescription": "Denies the set_shadow command without any pre-configured scope." - }, - { - "description": "Denies the set_simple_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-simple-fullscreen", - "markdownDescription": "Denies the set_simple_fullscreen command without any pre-configured scope." - }, - { - "description": "Denies the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size", - "markdownDescription": "Denies the set_size command without any pre-configured scope." - }, - { - "description": "Denies the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size-constraints", - "markdownDescription": "Denies the set_size_constraints command without any pre-configured scope." - }, - { - "description": "Denies the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-skip-taskbar", - "markdownDescription": "Denies the set_skip_taskbar command without any pre-configured scope." - }, - { - "description": "Denies the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-theme", - "markdownDescription": "Denies the set_theme command without any pre-configured scope." - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title", - "markdownDescription": "Denies the set_title command without any pre-configured scope." - }, - { - "description": "Denies the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title-bar-style", - "markdownDescription": "Denies the set_title_bar_style command without any pre-configured scope." - }, - { - "description": "Denies the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-visible-on-all-workspaces", - "markdownDescription": "Denies the set_visible_on_all_workspaces command without any pre-configured scope." - }, - { - "description": "Denies the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-show", - "markdownDescription": "Denies the show command without any pre-configured scope." - }, - { - "description": "Denies the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-dragging", - "markdownDescription": "Denies the start_dragging command without any pre-configured scope." - }, - { - "description": "Denies the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-resize-dragging", - "markdownDescription": "Denies the start_resize_dragging command without any pre-configured scope." - }, - { - "description": "Denies the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-theme", - "markdownDescription": "Denies the theme command without any pre-configured scope." - }, - { - "description": "Denies the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-title", - "markdownDescription": "Denies the title command without any pre-configured scope." - }, - { - "description": "Denies the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-toggle-maximize", - "markdownDescription": "Denies the toggle_maximize command without any pre-configured scope." - }, - { - "description": "Denies the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unmaximize", - "markdownDescription": "Denies the unmaximize command without any pre-configured scope." - }, - { - "description": "Denies the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unminimize", - "markdownDescription": "Denies the unminimize command without any pre-configured scope." - }, - { - "description": "This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n\n#### This default permission set includes:\n\n- `allow-ask`\n- `allow-confirm`\n- `allow-message`\n- `allow-save`\n- `allow-open`", - "type": "string", - "const": "dialog:default", - "markdownDescription": "This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n\n#### This default permission set includes:\n\n- `allow-ask`\n- `allow-confirm`\n- `allow-message`\n- `allow-save`\n- `allow-open`" - }, - { - "description": "Enables the ask command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-ask", - "markdownDescription": "Enables the ask command without any pre-configured scope." - }, - { - "description": "Enables the confirm command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-confirm", - "markdownDescription": "Enables the confirm command without any pre-configured scope." - }, - { - "description": "Enables the message command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-message", - "markdownDescription": "Enables the message command without any pre-configured scope." - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-open", - "markdownDescription": "Enables the open command without any pre-configured scope." - }, - { - "description": "Enables the save command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-save", - "markdownDescription": "Enables the save command without any pre-configured scope." - }, - { - "description": "Denies the ask command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-ask", - "markdownDescription": "Denies the ask command without any pre-configured scope." - }, - { - "description": "Denies the confirm command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-confirm", - "markdownDescription": "Denies the confirm command without any pre-configured scope." - }, - { - "description": "Denies the message command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-message", - "markdownDescription": "Denies the message command without any pre-configured scope." - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-open", - "markdownDescription": "Denies the open command without any pre-configured scope." - }, - { - "description": "Denies the save command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-save", - "markdownDescription": "Denies the save command without any pre-configured scope." - }, - { - "description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`", - "type": "string", - "const": "http:default", - "markdownDescription": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`" - }, - { - "description": "Enables the fetch command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch", - "markdownDescription": "Enables the fetch command without any pre-configured scope." - }, - { - "description": "Enables the fetch_cancel command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-cancel", - "markdownDescription": "Enables the fetch_cancel command without any pre-configured scope." - }, - { - "description": "Enables the fetch_cancel_body command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-cancel-body", - "markdownDescription": "Enables the fetch_cancel_body command without any pre-configured scope." - }, - { - "description": "Enables the fetch_read_body command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-read-body", - "markdownDescription": "Enables the fetch_read_body command without any pre-configured scope." - }, - { - "description": "Enables the fetch_send command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-send", - "markdownDescription": "Enables the fetch_send command without any pre-configured scope." - }, - { - "description": "Denies the fetch command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch", - "markdownDescription": "Denies the fetch command without any pre-configured scope." - }, - { - "description": "Denies the fetch_cancel command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-cancel", - "markdownDescription": "Denies the fetch_cancel command without any pre-configured scope." - }, - { - "description": "Denies the fetch_cancel_body command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-cancel-body", - "markdownDescription": "Denies the fetch_cancel_body command without any pre-configured scope." - }, - { - "description": "Denies the fetch_read_body command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-read-body", - "markdownDescription": "Denies the fetch_read_body command without any pre-configured scope." - }, - { - "description": "Denies the fetch_send command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-send", - "markdownDescription": "Denies the fetch_send command without any pre-configured scope." - }, - { - "description": "This permission set configures which\nnotification features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all notification related features.\n\n\n#### This default permission set includes:\n\n- `allow-is-permission-granted`\n- `allow-request-permission`\n- `allow-notify`\n- `allow-register-action-types`\n- `allow-register-listener`\n- `allow-cancel`\n- `allow-get-pending`\n- `allow-remove-active`\n- `allow-get-active`\n- `allow-check-permissions`\n- `allow-show`\n- `allow-batch`\n- `allow-list-channels`\n- `allow-delete-channel`\n- `allow-create-channel`\n- `allow-permission-state`", - "type": "string", - "const": "notification:default", - "markdownDescription": "This permission set configures which\nnotification features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all notification related features.\n\n\n#### This default permission set includes:\n\n- `allow-is-permission-granted`\n- `allow-request-permission`\n- `allow-notify`\n- `allow-register-action-types`\n- `allow-register-listener`\n- `allow-cancel`\n- `allow-get-pending`\n- `allow-remove-active`\n- `allow-get-active`\n- `allow-check-permissions`\n- `allow-show`\n- `allow-batch`\n- `allow-list-channels`\n- `allow-delete-channel`\n- `allow-create-channel`\n- `allow-permission-state`" - }, - { - "description": "Enables the batch command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-batch", - "markdownDescription": "Enables the batch command without any pre-configured scope." - }, - { - "description": "Enables the cancel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-cancel", - "markdownDescription": "Enables the cancel command without any pre-configured scope." - }, - { - "description": "Enables the check_permissions command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-check-permissions", - "markdownDescription": "Enables the check_permissions command without any pre-configured scope." - }, - { - "description": "Enables the create_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-create-channel", - "markdownDescription": "Enables the create_channel command without any pre-configured scope." - }, - { - "description": "Enables the delete_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-delete-channel", - "markdownDescription": "Enables the delete_channel command without any pre-configured scope." - }, - { - "description": "Enables the get_active command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-get-active", - "markdownDescription": "Enables the get_active command without any pre-configured scope." - }, - { - "description": "Enables the get_pending command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-get-pending", - "markdownDescription": "Enables the get_pending command without any pre-configured scope." - }, - { - "description": "Enables the is_permission_granted command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-is-permission-granted", - "markdownDescription": "Enables the is_permission_granted command without any pre-configured scope." - }, - { - "description": "Enables the list_channels command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-list-channels", - "markdownDescription": "Enables the list_channels command without any pre-configured scope." - }, - { - "description": "Enables the notify command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-notify", - "markdownDescription": "Enables the notify command without any pre-configured scope." - }, - { - "description": "Enables the permission_state command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-permission-state", - "markdownDescription": "Enables the permission_state command without any pre-configured scope." - }, - { - "description": "Enables the register_action_types command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-register-action-types", - "markdownDescription": "Enables the register_action_types command without any pre-configured scope." - }, - { - "description": "Enables the register_listener command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-register-listener", - "markdownDescription": "Enables the register_listener command without any pre-configured scope." - }, - { - "description": "Enables the remove_active command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-remove-active", - "markdownDescription": "Enables the remove_active command without any pre-configured scope." - }, - { - "description": "Enables the request_permission command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-request-permission", - "markdownDescription": "Enables the request_permission command without any pre-configured scope." - }, - { - "description": "Enables the show command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-show", - "markdownDescription": "Enables the show command without any pre-configured scope." - }, - { - "description": "Denies the batch command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-batch", - "markdownDescription": "Denies the batch command without any pre-configured scope." - }, - { - "description": "Denies the cancel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-cancel", - "markdownDescription": "Denies the cancel command without any pre-configured scope." - }, - { - "description": "Denies the check_permissions command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-check-permissions", - "markdownDescription": "Denies the check_permissions command without any pre-configured scope." - }, - { - "description": "Denies the create_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-create-channel", - "markdownDescription": "Denies the create_channel command without any pre-configured scope." - }, - { - "description": "Denies the delete_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-delete-channel", - "markdownDescription": "Denies the delete_channel command without any pre-configured scope." - }, - { - "description": "Denies the get_active command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-get-active", - "markdownDescription": "Denies the get_active command without any pre-configured scope." - }, - { - "description": "Denies the get_pending command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-get-pending", - "markdownDescription": "Denies the get_pending command without any pre-configured scope." - }, - { - "description": "Denies the is_permission_granted command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-is-permission-granted", - "markdownDescription": "Denies the is_permission_granted command without any pre-configured scope." - }, - { - "description": "Denies the list_channels command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-list-channels", - "markdownDescription": "Denies the list_channels command without any pre-configured scope." - }, - { - "description": "Denies the notify command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-notify", - "markdownDescription": "Denies the notify command without any pre-configured scope." - }, - { - "description": "Denies the permission_state command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-permission-state", - "markdownDescription": "Denies the permission_state command without any pre-configured scope." - }, - { - "description": "Denies the register_action_types command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-register-action-types", - "markdownDescription": "Denies the register_action_types command without any pre-configured scope." - }, - { - "description": "Denies the register_listener command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-register-listener", - "markdownDescription": "Denies the register_listener command without any pre-configured scope." - }, - { - "description": "Denies the remove_active command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-remove-active", - "markdownDescription": "Denies the remove_active command without any pre-configured scope." - }, - { - "description": "Denies the request_permission command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-request-permission", - "markdownDescription": "Denies the request_permission command without any pre-configured scope." - }, - { - "description": "Denies the show command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-show", - "markdownDescription": "Denies the show command without any pre-configured scope." - }, - { - "description": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", - "type": "string", - "const": "opener:default", - "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" - }, - { - "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", - "type": "string", - "const": "opener:allow-default-urls", - "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." - }, - { - "description": "Enables the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-path", - "markdownDescription": "Enables the open_path command without any pre-configured scope." - }, - { - "description": "Enables the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-url", - "markdownDescription": "Enables the open_url command without any pre-configured scope." - }, - { - "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-reveal-item-in-dir", - "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." - }, - { - "description": "Denies the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-path", - "markdownDescription": "Denies the open_path command without any pre-configured scope." - }, - { - "description": "Denies the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-url", - "markdownDescription": "Denies the open_url command without any pre-configured scope." - }, - { - "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-reveal-item-in-dir", - "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." - }, - { - "description": "This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n\n#### This default permission set includes:\n\n- `allow-exit`\n- `allow-restart`", - "type": "string", - "const": "process:default", - "markdownDescription": "This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n\n#### This default permission set includes:\n\n- `allow-exit`\n- `allow-restart`" - }, - { - "description": "Enables the exit command without any pre-configured scope.", - "type": "string", - "const": "process:allow-exit", - "markdownDescription": "Enables the exit command without any pre-configured scope." - }, - { - "description": "Enables the restart command without any pre-configured scope.", - "type": "string", - "const": "process:allow-restart", - "markdownDescription": "Enables the restart command without any pre-configured scope." - }, - { - "description": "Denies the exit command without any pre-configured scope.", - "type": "string", - "const": "process:deny-exit", - "markdownDescription": "Denies the exit command without any pre-configured scope." - }, - { - "description": "Denies the restart command without any pre-configured scope.", - "type": "string", - "const": "process:deny-restart", - "markdownDescription": "Denies the restart command without any pre-configured scope." - }, - { - "description": "This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n\n#### This default permission set includes:\n\n- `allow-check`\n- `allow-download`\n- `allow-install`\n- `allow-download-and-install`", - "type": "string", - "const": "updater:default", - "markdownDescription": "This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n\n#### This default permission set includes:\n\n- `allow-check`\n- `allow-download`\n- `allow-install`\n- `allow-download-and-install`" - }, - { - "description": "Enables the check command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-check", - "markdownDescription": "Enables the check command without any pre-configured scope." - }, - { - "description": "Enables the download command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-download", - "markdownDescription": "Enables the download command without any pre-configured scope." - }, - { - "description": "Enables the download_and_install command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-download-and-install", - "markdownDescription": "Enables the download_and_install command without any pre-configured scope." - }, - { - "description": "Enables the install command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-install", - "markdownDescription": "Enables the install command without any pre-configured scope." - }, - { - "description": "Denies the check command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-check", - "markdownDescription": "Denies the check command without any pre-configured scope." - }, - { - "description": "Denies the download command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-download", - "markdownDescription": "Denies the download command without any pre-configured scope." - }, - { - "description": "Denies the download_and_install command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-download-and-install", - "markdownDescription": "Denies the download_and_install command without any pre-configured scope." - }, - { - "description": "Denies the install command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-install", - "markdownDescription": "Denies the install command without any pre-configured scope." - }, - { - "description": "This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n\n#### This default permission set includes:\n\n- `allow-filename`\n- `allow-restore-state`\n- `allow-save-window-state`", - "type": "string", - "const": "window-state:default", - "markdownDescription": "This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n\n#### This default permission set includes:\n\n- `allow-filename`\n- `allow-restore-state`\n- `allow-save-window-state`" - }, - { - "description": "Enables the filename command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-filename", - "markdownDescription": "Enables the filename command without any pre-configured scope." - }, - { - "description": "Enables the restore_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-restore-state", - "markdownDescription": "Enables the restore_state command without any pre-configured scope." - }, - { - "description": "Enables the save_window_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-save-window-state", - "markdownDescription": "Enables the save_window_state command without any pre-configured scope." - }, - { - "description": "Denies the filename command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-filename", - "markdownDescription": "Denies the filename command without any pre-configured scope." - }, - { - "description": "Denies the restore_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-restore-state", - "markdownDescription": "Denies the restore_state command without any pre-configured scope." - }, - { - "description": "Denies the save_window_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-save-window-state", - "markdownDescription": "Denies the save_window_state command without any pre-configured scope." - } - ] - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a null JSON value.", - "type": "null" - }, - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Target": { - "description": "Platform target.", - "oneOf": [ - { - "description": "MacOS.", - "type": "string", - "enum": [ - "macOS" - ] - }, - { - "description": "Windows.", - "type": "string", - "enum": [ - "windows" - ] - }, - { - "description": "Linux.", - "type": "string", - "enum": [ - "linux" - ] - }, - { - "description": "Android.", - "type": "string", - "enum": [ - "android" - ] - }, - { - "description": "iOS.", - "type": "string", - "enum": [ - "iOS" - ] - } - ] - }, - "Application": { - "description": "Opener scope application.", - "anyOf": [ - { - "description": "Open in default application.", - "type": "null" - }, - { - "description": "If true, allow open with any application.", - "type": "boolean" - }, - { - "description": "Allow specific application to open with.", - "type": "string" - } - ] - } - } -} \ No newline at end of file diff --git a/src-tauri/gen/schemas/mobile-schema.json b/src-tauri/gen/schemas/mobile-schema.json deleted file mode 100644 index 84f66b9..0000000 --- a/src-tauri/gen/schemas/mobile-schema.json +++ /dev/null @@ -1,2729 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "CapabilityFile", - "description": "Capability formats accepted in a capability file.", - "anyOf": [ - { - "description": "A single capability.", - "allOf": [ - { - "$ref": "#/definitions/Capability" - } - ] - }, - { - "description": "A list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - }, - { - "description": "A list of capabilities.", - "type": "object", - "required": [ - "capabilities" - ], - "properties": { - "capabilities": { - "description": "The list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - } - } - } - ], - "definitions": { - "Capability": { - "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows' and webviews' fine grained access to the Tauri core, application, or plugin commands. If a webview or its window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create groups of windows, based on their required system access, which can reduce impact of frontend vulnerabilities in less privileged windows. Windows can be added to a capability by exact name (e.g. `main-window`) or glob patterns like `*` or `admin-*`. A Window can have none, one, or multiple associated capabilities.\n\n## Example\n\n```json { \"identifier\": \"main-user-files-write\", \"description\": \"This capability allows the `main` window on macOS and Windows access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.\", \"windows\": [ \"main\" ], \"permissions\": [ \"core:default\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] }, ], \"platforms\": [\"macOS\",\"windows\"] } ```", - "type": "object", - "required": [ - "identifier", - "permissions" - ], - "properties": { - "identifier": { - "description": "Identifier of the capability.\n\n## Example\n\n`main-user-files-write`", - "type": "string" - }, - "description": { - "description": "Description of what the capability is intended to allow on associated windows.\n\nIt should contain a description of what the grouped permissions should allow.\n\n## Example\n\nThis capability allows the `main` window access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.", - "default": "", - "type": "string" - }, - "remote": { - "description": "Configure remote URLs that can use the capability permissions.\n\nThis setting is optional and defaults to not being set, as our default use case is that the content is served from our local application.\n\n:::caution Make sure you understand the security implications of providing remote sources with local system access. :::\n\n## Example\n\n```json { \"urls\": [\"https://*.mydomain.dev\"] } ```", - "anyOf": [ - { - "$ref": "#/definitions/CapabilityRemote" - }, - { - "type": "null" - } - ] - }, - "local": { - "description": "Whether this capability is enabled for local app URLs or not. Defaults to `true`.", - "default": true, - "type": "boolean" - }, - "windows": { - "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nIf a window label matches any of the patterns in this list, the capability will be enabled on all the webviews of that window, regardless of the value of [`Self::webviews`].\n\nOn multiwebview windows, prefer specifying [`Self::webviews`] and omitting [`Self::windows`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "webviews": { - "description": "List of webviews that are affected by this capability. Can be a glob pattern.\n\nThe capability will be enabled on all the webviews whose label matches any of the patterns in this list, regardless of whether the webview's window label matches a pattern in [`Self::windows`].\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "permissions": { - "description": "List of permissions attached to this capability.\n\nMust include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`. For commands directly implemented in the application itself only `${permission-name}` is required.\n\n## Example\n\n```json [ \"core:default\", \"shell:allow-open\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] } ] ```", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionEntry" - }, - "uniqueItems": true - }, - "platforms": { - "description": "Limit which target platforms this capability applies to.\n\nBy default all platforms are targeted.\n\n## Example\n\n`[\"macOS\",\"windows\"]`", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Target" - } - } - } - }, - "CapabilityRemote": { - "description": "Configuration for remote URLs that are associated with the capability.", - "type": "object", - "required": [ - "urls" - ], - "properties": { - "urls": { - "description": "Remote domains this capability refers to using the [URLPattern standard](https://urlpattern.spec.whatwg.org/).\n\n## Examples\n\n- \"https://*.mydomain.dev\": allows subdomains of mydomain.dev - \"https://mydomain.dev/api/*\": allows any subpath of mydomain.dev/api", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "PermissionEntry": { - "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", - "anyOf": [ - { - "description": "Reference a permission or permission set by identifier.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - { - "description": "Reference a permission or permission set by identifier and extends its scope.", - "type": "object", - "allOf": [ - { - "if": { - "properties": { - "identifier": { - "anyOf": [ - { - "description": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", - "type": "string", - "const": "opener:default", - "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" - }, - { - "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", - "type": "string", - "const": "opener:allow-default-urls", - "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." - }, - { - "description": "Enables the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-path", - "markdownDescription": "Enables the open_path command without any pre-configured scope." - }, - { - "description": "Enables the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-url", - "markdownDescription": "Enables the open_url command without any pre-configured scope." - }, - { - "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-reveal-item-in-dir", - "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." - }, - { - "description": "Denies the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-path", - "markdownDescription": "Denies the open_path command without any pre-configured scope." - }, - { - "description": "Denies the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-url", - "markdownDescription": "Denies the open_url command without any pre-configured scope." - }, - { - "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-reveal-item-in-dir", - "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." - } - ] - } - } - }, - "then": { - "properties": { - "allow": { - "items": { - "title": "OpenerScopeEntry", - "description": "Opener scope entry.", - "anyOf": [ - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "app": { - "description": "An application to open this url with, for example: firefox.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "url": { - "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - }, - { - "type": "object", - "required": [ - "path" - ], - "properties": { - "app": { - "description": "An application to open this path with, for example: xdg-open.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "path": { - "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - } - } - } - ] - } - }, - "deny": { - "items": { - "title": "OpenerScopeEntry", - "description": "Opener scope entry.", - "anyOf": [ - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "app": { - "description": "An application to open this url with, for example: firefox.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "url": { - "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - }, - { - "type": "object", - "required": [ - "path" - ], - "properties": { - "app": { - "description": "An application to open this path with, for example: xdg-open.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "path": { - "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - } - } - } - ] - } - } - } - }, - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - } - } - }, - { - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope. This should be prioritized by validation logic.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - } - ], - "required": [ - "identifier" - ] - } - ] - }, - "Identifier": { - "description": "Permission identifier", - "oneOf": [ - { - "description": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`", - "type": "string", - "const": "core:default", - "markdownDescription": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`" - }, - { - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`", - "type": "string", - "const": "core:app:default", - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`" - }, - { - "description": "Enables the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-hide", - "markdownDescription": "Enables the app_hide command without any pre-configured scope." - }, - { - "description": "Enables the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-show", - "markdownDescription": "Enables the app_show command without any pre-configured scope." - }, - { - "description": "Enables the bundle_type command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-bundle-type", - "markdownDescription": "Enables the bundle_type command without any pre-configured scope." - }, - { - "description": "Enables the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-default-window-icon", - "markdownDescription": "Enables the default_window_icon command without any pre-configured scope." - }, - { - "description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-fetch-data-store-identifiers", - "markdownDescription": "Enables the fetch_data_store_identifiers command without any pre-configured scope." - }, - { - "description": "Enables the identifier command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-identifier", - "markdownDescription": "Enables the identifier command without any pre-configured scope." - }, - { - "description": "Enables the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-name", - "markdownDescription": "Enables the name command without any pre-configured scope." - }, - { - "description": "Enables the register_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-register-listener", - "markdownDescription": "Enables the register_listener command without any pre-configured scope." - }, - { - "description": "Enables the remove_data_store command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-remove-data-store", - "markdownDescription": "Enables the remove_data_store command without any pre-configured scope." - }, - { - "description": "Enables the remove_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-remove-listener", - "markdownDescription": "Enables the remove_listener command without any pre-configured scope." - }, - { - "description": "Enables the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-set-app-theme", - "markdownDescription": "Enables the set_app_theme command without any pre-configured scope." - }, - { - "description": "Enables the set_dock_visibility command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-set-dock-visibility", - "markdownDescription": "Enables the set_dock_visibility command without any pre-configured scope." - }, - { - "description": "Enables the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-tauri-version", - "markdownDescription": "Enables the tauri_version command without any pre-configured scope." - }, - { - "description": "Enables the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-version", - "markdownDescription": "Enables the version command without any pre-configured scope." - }, - { - "description": "Denies the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-hide", - "markdownDescription": "Denies the app_hide command without any pre-configured scope." - }, - { - "description": "Denies the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-show", - "markdownDescription": "Denies the app_show command without any pre-configured scope." - }, - { - "description": "Denies the bundle_type command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-bundle-type", - "markdownDescription": "Denies the bundle_type command without any pre-configured scope." - }, - { - "description": "Denies the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-default-window-icon", - "markdownDescription": "Denies the default_window_icon command without any pre-configured scope." - }, - { - "description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-fetch-data-store-identifiers", - "markdownDescription": "Denies the fetch_data_store_identifiers command without any pre-configured scope." - }, - { - "description": "Denies the identifier command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-identifier", - "markdownDescription": "Denies the identifier command without any pre-configured scope." - }, - { - "description": "Denies the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-name", - "markdownDescription": "Denies the name command without any pre-configured scope." - }, - { - "description": "Denies the register_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-register-listener", - "markdownDescription": "Denies the register_listener command without any pre-configured scope." - }, - { - "description": "Denies the remove_data_store command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-remove-data-store", - "markdownDescription": "Denies the remove_data_store command without any pre-configured scope." - }, - { - "description": "Denies the remove_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-remove-listener", - "markdownDescription": "Denies the remove_listener command without any pre-configured scope." - }, - { - "description": "Denies the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-set-app-theme", - "markdownDescription": "Denies the set_app_theme command without any pre-configured scope." - }, - { - "description": "Denies the set_dock_visibility command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-set-dock-visibility", - "markdownDescription": "Denies the set_dock_visibility command without any pre-configured scope." - }, - { - "description": "Denies the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-tauri-version", - "markdownDescription": "Denies the tauri_version command without any pre-configured scope." - }, - { - "description": "Denies the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-version", - "markdownDescription": "Denies the version command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`", - "type": "string", - "const": "core:event:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`" - }, - { - "description": "Enables the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit", - "markdownDescription": "Enables the emit command without any pre-configured scope." - }, - { - "description": "Enables the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit-to", - "markdownDescription": "Enables the emit_to command without any pre-configured scope." - }, - { - "description": "Enables the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-listen", - "markdownDescription": "Enables the listen command without any pre-configured scope." - }, - { - "description": "Enables the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-unlisten", - "markdownDescription": "Enables the unlisten command without any pre-configured scope." - }, - { - "description": "Denies the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit", - "markdownDescription": "Denies the emit command without any pre-configured scope." - }, - { - "description": "Denies the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit-to", - "markdownDescription": "Denies the emit_to command without any pre-configured scope." - }, - { - "description": "Denies the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-listen", - "markdownDescription": "Denies the listen command without any pre-configured scope." - }, - { - "description": "Denies the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-unlisten", - "markdownDescription": "Denies the unlisten command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`", - "type": "string", - "const": "core:image:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`" - }, - { - "description": "Enables the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-bytes", - "markdownDescription": "Enables the from_bytes command without any pre-configured scope." - }, - { - "description": "Enables the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-path", - "markdownDescription": "Enables the from_path command without any pre-configured scope." - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-new", - "markdownDescription": "Enables the new command without any pre-configured scope." - }, - { - "description": "Enables the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-rgba", - "markdownDescription": "Enables the rgba command without any pre-configured scope." - }, - { - "description": "Enables the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-size", - "markdownDescription": "Enables the size command without any pre-configured scope." - }, - { - "description": "Denies the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-bytes", - "markdownDescription": "Denies the from_bytes command without any pre-configured scope." - }, - { - "description": "Denies the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-path", - "markdownDescription": "Denies the from_path command without any pre-configured scope." - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-new", - "markdownDescription": "Denies the new command without any pre-configured scope." - }, - { - "description": "Denies the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-rgba", - "markdownDescription": "Denies the rgba command without any pre-configured scope." - }, - { - "description": "Denies the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-size", - "markdownDescription": "Denies the size command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`", - "type": "string", - "const": "core:menu:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`" - }, - { - "description": "Enables the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-append", - "markdownDescription": "Enables the append command without any pre-configured scope." - }, - { - "description": "Enables the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-create-default", - "markdownDescription": "Enables the create_default command without any pre-configured scope." - }, - { - "description": "Enables the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-get", - "markdownDescription": "Enables the get command without any pre-configured scope." - }, - { - "description": "Enables the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-insert", - "markdownDescription": "Enables the insert command without any pre-configured scope." - }, - { - "description": "Enables the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-checked", - "markdownDescription": "Enables the is_checked command without any pre-configured scope." - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-enabled", - "markdownDescription": "Enables the is_enabled command without any pre-configured scope." - }, - { - "description": "Enables the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-items", - "markdownDescription": "Enables the items command without any pre-configured scope." - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-new", - "markdownDescription": "Enables the new command without any pre-configured scope." - }, - { - "description": "Enables the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-popup", - "markdownDescription": "Enables the popup command without any pre-configured scope." - }, - { - "description": "Enables the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-prepend", - "markdownDescription": "Enables the prepend command without any pre-configured scope." - }, - { - "description": "Enables the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove", - "markdownDescription": "Enables the remove command without any pre-configured scope." - }, - { - "description": "Enables the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove-at", - "markdownDescription": "Enables the remove_at command without any pre-configured scope." - }, - { - "description": "Enables the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-accelerator", - "markdownDescription": "Enables the set_accelerator command without any pre-configured scope." - }, - { - "description": "Enables the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-app-menu", - "markdownDescription": "Enables the set_as_app_menu command without any pre-configured scope." - }, - { - "description": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-help-menu-for-nsapp", - "markdownDescription": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Enables the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-window-menu", - "markdownDescription": "Enables the set_as_window_menu command without any pre-configured scope." - }, - { - "description": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-windows-menu-for-nsapp", - "markdownDescription": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Enables the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-checked", - "markdownDescription": "Enables the set_checked command without any pre-configured scope." - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-enabled", - "markdownDescription": "Enables the set_enabled command without any pre-configured scope." - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-icon", - "markdownDescription": "Enables the set_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-text", - "markdownDescription": "Enables the set_text command without any pre-configured scope." - }, - { - "description": "Enables the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-text", - "markdownDescription": "Enables the text command without any pre-configured scope." - }, - { - "description": "Denies the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-append", - "markdownDescription": "Denies the append command without any pre-configured scope." - }, - { - "description": "Denies the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-create-default", - "markdownDescription": "Denies the create_default command without any pre-configured scope." - }, - { - "description": "Denies the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-get", - "markdownDescription": "Denies the get command without any pre-configured scope." - }, - { - "description": "Denies the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-insert", - "markdownDescription": "Denies the insert command without any pre-configured scope." - }, - { - "description": "Denies the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-checked", - "markdownDescription": "Denies the is_checked command without any pre-configured scope." - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-enabled", - "markdownDescription": "Denies the is_enabled command without any pre-configured scope." - }, - { - "description": "Denies the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-items", - "markdownDescription": "Denies the items command without any pre-configured scope." - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-new", - "markdownDescription": "Denies the new command without any pre-configured scope." - }, - { - "description": "Denies the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-popup", - "markdownDescription": "Denies the popup command without any pre-configured scope." - }, - { - "description": "Denies the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-prepend", - "markdownDescription": "Denies the prepend command without any pre-configured scope." - }, - { - "description": "Denies the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove", - "markdownDescription": "Denies the remove command without any pre-configured scope." - }, - { - "description": "Denies the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove-at", - "markdownDescription": "Denies the remove_at command without any pre-configured scope." - }, - { - "description": "Denies the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-accelerator", - "markdownDescription": "Denies the set_accelerator command without any pre-configured scope." - }, - { - "description": "Denies the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-app-menu", - "markdownDescription": "Denies the set_as_app_menu command without any pre-configured scope." - }, - { - "description": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-help-menu-for-nsapp", - "markdownDescription": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Denies the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-window-menu", - "markdownDescription": "Denies the set_as_window_menu command without any pre-configured scope." - }, - { - "description": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-windows-menu-for-nsapp", - "markdownDescription": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Denies the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-checked", - "markdownDescription": "Denies the set_checked command without any pre-configured scope." - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-enabled", - "markdownDescription": "Denies the set_enabled command without any pre-configured scope." - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-icon", - "markdownDescription": "Denies the set_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-text", - "markdownDescription": "Denies the set_text command without any pre-configured scope." - }, - { - "description": "Denies the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-text", - "markdownDescription": "Denies the text command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`", - "type": "string", - "const": "core:path:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`" - }, - { - "description": "Enables the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-basename", - "markdownDescription": "Enables the basename command without any pre-configured scope." - }, - { - "description": "Enables the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-dirname", - "markdownDescription": "Enables the dirname command without any pre-configured scope." - }, - { - "description": "Enables the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-extname", - "markdownDescription": "Enables the extname command without any pre-configured scope." - }, - { - "description": "Enables the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-is-absolute", - "markdownDescription": "Enables the is_absolute command without any pre-configured scope." - }, - { - "description": "Enables the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-join", - "markdownDescription": "Enables the join command without any pre-configured scope." - }, - { - "description": "Enables the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-normalize", - "markdownDescription": "Enables the normalize command without any pre-configured scope." - }, - { - "description": "Enables the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve", - "markdownDescription": "Enables the resolve command without any pre-configured scope." - }, - { - "description": "Enables the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve-directory", - "markdownDescription": "Enables the resolve_directory command without any pre-configured scope." - }, - { - "description": "Denies the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-basename", - "markdownDescription": "Denies the basename command without any pre-configured scope." - }, - { - "description": "Denies the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-dirname", - "markdownDescription": "Denies the dirname command without any pre-configured scope." - }, - { - "description": "Denies the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-extname", - "markdownDescription": "Denies the extname command without any pre-configured scope." - }, - { - "description": "Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-is-absolute", - "markdownDescription": "Denies the is_absolute command without any pre-configured scope." - }, - { - "description": "Denies the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-join", - "markdownDescription": "Denies the join command without any pre-configured scope." - }, - { - "description": "Denies the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-normalize", - "markdownDescription": "Denies the normalize command without any pre-configured scope." - }, - { - "description": "Denies the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve", - "markdownDescription": "Denies the resolve command without any pre-configured scope." - }, - { - "description": "Denies the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve-directory", - "markdownDescription": "Denies the resolve_directory command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`", - "type": "string", - "const": "core:resources:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`" - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:allow-close", - "markdownDescription": "Enables the close command without any pre-configured scope." - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:deny-close", - "markdownDescription": "Denies the close command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-show-menu-on-left-click`", - "type": "string", - "const": "core:tray:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-show-menu-on-left-click`" - }, - { - "description": "Enables the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-get-by-id", - "markdownDescription": "Enables the get_by_id command without any pre-configured scope." - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-new", - "markdownDescription": "Enables the new command without any pre-configured scope." - }, - { - "description": "Enables the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-remove-by-id", - "markdownDescription": "Enables the remove_by_id command without any pre-configured scope." - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon", - "markdownDescription": "Enables the set_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon-as-template", - "markdownDescription": "Enables the set_icon_as_template command without any pre-configured scope." - }, - { - "description": "Enables the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-menu", - "markdownDescription": "Enables the set_menu command without any pre-configured scope." - }, - { - "description": "Enables the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-show-menu-on-left-click", - "markdownDescription": "Enables the set_show_menu_on_left_click command without any pre-configured scope." - }, - { - "description": "Enables the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-temp-dir-path", - "markdownDescription": "Enables the set_temp_dir_path command without any pre-configured scope." - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-title", - "markdownDescription": "Enables the set_title command without any pre-configured scope." - }, - { - "description": "Enables the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-tooltip", - "markdownDescription": "Enables the set_tooltip command without any pre-configured scope." - }, - { - "description": "Enables the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-visible", - "markdownDescription": "Enables the set_visible command without any pre-configured scope." - }, - { - "description": "Denies the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-get-by-id", - "markdownDescription": "Denies the get_by_id command without any pre-configured scope." - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-new", - "markdownDescription": "Denies the new command without any pre-configured scope." - }, - { - "description": "Denies the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-remove-by-id", - "markdownDescription": "Denies the remove_by_id command without any pre-configured scope." - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon", - "markdownDescription": "Denies the set_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon-as-template", - "markdownDescription": "Denies the set_icon_as_template command without any pre-configured scope." - }, - { - "description": "Denies the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-menu", - "markdownDescription": "Denies the set_menu command without any pre-configured scope." - }, - { - "description": "Denies the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-show-menu-on-left-click", - "markdownDescription": "Denies the set_show_menu_on_left_click command without any pre-configured scope." - }, - { - "description": "Denies the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-temp-dir-path", - "markdownDescription": "Denies the set_temp_dir_path command without any pre-configured scope." - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-title", - "markdownDescription": "Denies the set_title command without any pre-configured scope." - }, - { - "description": "Denies the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-tooltip", - "markdownDescription": "Denies the set_tooltip command without any pre-configured scope." - }, - { - "description": "Denies the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-visible", - "markdownDescription": "Denies the set_visible command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`", - "type": "string", - "const": "core:webview:default", - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`" - }, - { - "description": "Enables the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-clear-all-browsing-data", - "markdownDescription": "Enables the clear_all_browsing_data command without any pre-configured scope." - }, - { - "description": "Enables the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview", - "markdownDescription": "Enables the create_webview command without any pre-configured scope." - }, - { - "description": "Enables the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview-window", - "markdownDescription": "Enables the create_webview_window command without any pre-configured scope." - }, - { - "description": "Enables the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-get-all-webviews", - "markdownDescription": "Enables the get_all_webviews command without any pre-configured scope." - }, - { - "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-internal-toggle-devtools", - "markdownDescription": "Enables the internal_toggle_devtools command without any pre-configured scope." - }, - { - "description": "Enables the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-print", - "markdownDescription": "Enables the print command without any pre-configured scope." - }, - { - "description": "Enables the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-reparent", - "markdownDescription": "Enables the reparent command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_auto_resize command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-auto-resize", - "markdownDescription": "Enables the set_webview_auto_resize command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-background-color", - "markdownDescription": "Enables the set_webview_background_color command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-focus", - "markdownDescription": "Enables the set_webview_focus command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-position", - "markdownDescription": "Enables the set_webview_position command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-size", - "markdownDescription": "Enables the set_webview_size command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-zoom", - "markdownDescription": "Enables the set_webview_zoom command without any pre-configured scope." - }, - { - "description": "Enables the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-close", - "markdownDescription": "Enables the webview_close command without any pre-configured scope." - }, - { - "description": "Enables the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-hide", - "markdownDescription": "Enables the webview_hide command without any pre-configured scope." - }, - { - "description": "Enables the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-position", - "markdownDescription": "Enables the webview_position command without any pre-configured scope." - }, - { - "description": "Enables the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-show", - "markdownDescription": "Enables the webview_show command without any pre-configured scope." - }, - { - "description": "Enables the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-size", - "markdownDescription": "Enables the webview_size command without any pre-configured scope." - }, - { - "description": "Denies the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-clear-all-browsing-data", - "markdownDescription": "Denies the clear_all_browsing_data command without any pre-configured scope." - }, - { - "description": "Denies the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview", - "markdownDescription": "Denies the create_webview command without any pre-configured scope." - }, - { - "description": "Denies the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview-window", - "markdownDescription": "Denies the create_webview_window command without any pre-configured scope." - }, - { - "description": "Denies the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-get-all-webviews", - "markdownDescription": "Denies the get_all_webviews command without any pre-configured scope." - }, - { - "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-internal-toggle-devtools", - "markdownDescription": "Denies the internal_toggle_devtools command without any pre-configured scope." - }, - { - "description": "Denies the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-print", - "markdownDescription": "Denies the print command without any pre-configured scope." - }, - { - "description": "Denies the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-reparent", - "markdownDescription": "Denies the reparent command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_auto_resize command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-auto-resize", - "markdownDescription": "Denies the set_webview_auto_resize command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-background-color", - "markdownDescription": "Denies the set_webview_background_color command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-focus", - "markdownDescription": "Denies the set_webview_focus command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-position", - "markdownDescription": "Denies the set_webview_position command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-size", - "markdownDescription": "Denies the set_webview_size command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-zoom", - "markdownDescription": "Denies the set_webview_zoom command without any pre-configured scope." - }, - { - "description": "Denies the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-close", - "markdownDescription": "Denies the webview_close command without any pre-configured scope." - }, - { - "description": "Denies the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-hide", - "markdownDescription": "Denies the webview_hide command without any pre-configured scope." - }, - { - "description": "Denies the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-position", - "markdownDescription": "Denies the webview_position command without any pre-configured scope." - }, - { - "description": "Denies the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-show", - "markdownDescription": "Denies the webview_show command without any pre-configured scope." - }, - { - "description": "Denies the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-size", - "markdownDescription": "Denies the webview_size command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-internal-toggle-maximize`", - "type": "string", - "const": "core:window:default", - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-internal-toggle-maximize`" - }, - { - "description": "Enables the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-available-monitors", - "markdownDescription": "Enables the available_monitors command without any pre-configured scope." - }, - { - "description": "Enables the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-center", - "markdownDescription": "Enables the center command without any pre-configured scope." - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-close", - "markdownDescription": "Enables the close command without any pre-configured scope." - }, - { - "description": "Enables the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-create", - "markdownDescription": "Enables the create command without any pre-configured scope." - }, - { - "description": "Enables the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-current-monitor", - "markdownDescription": "Enables the current_monitor command without any pre-configured scope." - }, - { - "description": "Enables the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-cursor-position", - "markdownDescription": "Enables the cursor_position command without any pre-configured scope." - }, - { - "description": "Enables the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-destroy", - "markdownDescription": "Enables the destroy command without any pre-configured scope." - }, - { - "description": "Enables the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-get-all-windows", - "markdownDescription": "Enables the get_all_windows command without any pre-configured scope." - }, - { - "description": "Enables the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-hide", - "markdownDescription": "Enables the hide command without any pre-configured scope." - }, - { - "description": "Enables the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-position", - "markdownDescription": "Enables the inner_position command without any pre-configured scope." - }, - { - "description": "Enables the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-size", - "markdownDescription": "Enables the inner_size command without any pre-configured scope." - }, - { - "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-internal-toggle-maximize", - "markdownDescription": "Enables the internal_toggle_maximize command without any pre-configured scope." - }, - { - "description": "Enables the is_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-always-on-top", - "markdownDescription": "Enables the is_always_on_top command without any pre-configured scope." - }, - { - "description": "Enables the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-closable", - "markdownDescription": "Enables the is_closable command without any pre-configured scope." - }, - { - "description": "Enables the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-decorated", - "markdownDescription": "Enables the is_decorated command without any pre-configured scope." - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-enabled", - "markdownDescription": "Enables the is_enabled command without any pre-configured scope." - }, - { - "description": "Enables the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-focused", - "markdownDescription": "Enables the is_focused command without any pre-configured scope." - }, - { - "description": "Enables the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-fullscreen", - "markdownDescription": "Enables the is_fullscreen command without any pre-configured scope." - }, - { - "description": "Enables the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximizable", - "markdownDescription": "Enables the is_maximizable command without any pre-configured scope." - }, - { - "description": "Enables the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximized", - "markdownDescription": "Enables the is_maximized command without any pre-configured scope." - }, - { - "description": "Enables the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimizable", - "markdownDescription": "Enables the is_minimizable command without any pre-configured scope." - }, - { - "description": "Enables the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimized", - "markdownDescription": "Enables the is_minimized command without any pre-configured scope." - }, - { - "description": "Enables the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-resizable", - "markdownDescription": "Enables the is_resizable command without any pre-configured scope." - }, - { - "description": "Enables the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-visible", - "markdownDescription": "Enables the is_visible command without any pre-configured scope." - }, - { - "description": "Enables the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-maximize", - "markdownDescription": "Enables the maximize command without any pre-configured scope." - }, - { - "description": "Enables the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-minimize", - "markdownDescription": "Enables the minimize command without any pre-configured scope." - }, - { - "description": "Enables the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-monitor-from-point", - "markdownDescription": "Enables the monitor_from_point command without any pre-configured scope." - }, - { - "description": "Enables the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-position", - "markdownDescription": "Enables the outer_position command without any pre-configured scope." - }, - { - "description": "Enables the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-size", - "markdownDescription": "Enables the outer_size command without any pre-configured scope." - }, - { - "description": "Enables the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-primary-monitor", - "markdownDescription": "Enables the primary_monitor command without any pre-configured scope." - }, - { - "description": "Enables the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-request-user-attention", - "markdownDescription": "Enables the request_user_attention command without any pre-configured scope." - }, - { - "description": "Enables the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-scale-factor", - "markdownDescription": "Enables the scale_factor command without any pre-configured scope." - }, - { - "description": "Enables the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-bottom", - "markdownDescription": "Enables the set_always_on_bottom command without any pre-configured scope." - }, - { - "description": "Enables the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-top", - "markdownDescription": "Enables the set_always_on_top command without any pre-configured scope." - }, - { - "description": "Enables the set_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-background-color", - "markdownDescription": "Enables the set_background_color command without any pre-configured scope." - }, - { - "description": "Enables the set_badge_count command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-badge-count", - "markdownDescription": "Enables the set_badge_count command without any pre-configured scope." - }, - { - "description": "Enables the set_badge_label command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-badge-label", - "markdownDescription": "Enables the set_badge_label command without any pre-configured scope." - }, - { - "description": "Enables the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-closable", - "markdownDescription": "Enables the set_closable command without any pre-configured scope." - }, - { - "description": "Enables the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-content-protected", - "markdownDescription": "Enables the set_content_protected command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-grab", - "markdownDescription": "Enables the set_cursor_grab command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-icon", - "markdownDescription": "Enables the set_cursor_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-position", - "markdownDescription": "Enables the set_cursor_position command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-visible", - "markdownDescription": "Enables the set_cursor_visible command without any pre-configured scope." - }, - { - "description": "Enables the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-decorations", - "markdownDescription": "Enables the set_decorations command without any pre-configured scope." - }, - { - "description": "Enables the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-effects", - "markdownDescription": "Enables the set_effects command without any pre-configured scope." - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-enabled", - "markdownDescription": "Enables the set_enabled command without any pre-configured scope." - }, - { - "description": "Enables the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-focus", - "markdownDescription": "Enables the set_focus command without any pre-configured scope." - }, - { - "description": "Enables the set_focusable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-focusable", - "markdownDescription": "Enables the set_focusable command without any pre-configured scope." - }, - { - "description": "Enables the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-fullscreen", - "markdownDescription": "Enables the set_fullscreen command without any pre-configured scope." - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-icon", - "markdownDescription": "Enables the set_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-ignore-cursor-events", - "markdownDescription": "Enables the set_ignore_cursor_events command without any pre-configured scope." - }, - { - "description": "Enables the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-max-size", - "markdownDescription": "Enables the set_max_size command without any pre-configured scope." - }, - { - "description": "Enables the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-maximizable", - "markdownDescription": "Enables the set_maximizable command without any pre-configured scope." - }, - { - "description": "Enables the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-min-size", - "markdownDescription": "Enables the set_min_size command without any pre-configured scope." - }, - { - "description": "Enables the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-minimizable", - "markdownDescription": "Enables the set_minimizable command without any pre-configured scope." - }, - { - "description": "Enables the set_overlay_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-overlay-icon", - "markdownDescription": "Enables the set_overlay_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-position", - "markdownDescription": "Enables the set_position command without any pre-configured scope." - }, - { - "description": "Enables the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-progress-bar", - "markdownDescription": "Enables the set_progress_bar command without any pre-configured scope." - }, - { - "description": "Enables the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-resizable", - "markdownDescription": "Enables the set_resizable command without any pre-configured scope." - }, - { - "description": "Enables the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-shadow", - "markdownDescription": "Enables the set_shadow command without any pre-configured scope." - }, - { - "description": "Enables the set_simple_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-simple-fullscreen", - "markdownDescription": "Enables the set_simple_fullscreen command without any pre-configured scope." - }, - { - "description": "Enables the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size", - "markdownDescription": "Enables the set_size command without any pre-configured scope." - }, - { - "description": "Enables the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size-constraints", - "markdownDescription": "Enables the set_size_constraints command without any pre-configured scope." - }, - { - "description": "Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-skip-taskbar", - "markdownDescription": "Enables the set_skip_taskbar command without any pre-configured scope." - }, - { - "description": "Enables the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-theme", - "markdownDescription": "Enables the set_theme command without any pre-configured scope." - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title", - "markdownDescription": "Enables the set_title command without any pre-configured scope." - }, - { - "description": "Enables the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title-bar-style", - "markdownDescription": "Enables the set_title_bar_style command without any pre-configured scope." - }, - { - "description": "Enables the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-visible-on-all-workspaces", - "markdownDescription": "Enables the set_visible_on_all_workspaces command without any pre-configured scope." - }, - { - "description": "Enables the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-show", - "markdownDescription": "Enables the show command without any pre-configured scope." - }, - { - "description": "Enables the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-dragging", - "markdownDescription": "Enables the start_dragging command without any pre-configured scope." - }, - { - "description": "Enables the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-resize-dragging", - "markdownDescription": "Enables the start_resize_dragging command without any pre-configured scope." - }, - { - "description": "Enables the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-theme", - "markdownDescription": "Enables the theme command without any pre-configured scope." - }, - { - "description": "Enables the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-title", - "markdownDescription": "Enables the title command without any pre-configured scope." - }, - { - "description": "Enables the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-toggle-maximize", - "markdownDescription": "Enables the toggle_maximize command without any pre-configured scope." - }, - { - "description": "Enables the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unmaximize", - "markdownDescription": "Enables the unmaximize command without any pre-configured scope." - }, - { - "description": "Enables the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unminimize", - "markdownDescription": "Enables the unminimize command without any pre-configured scope." - }, - { - "description": "Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-available-monitors", - "markdownDescription": "Denies the available_monitors command without any pre-configured scope." - }, - { - "description": "Denies the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-center", - "markdownDescription": "Denies the center command without any pre-configured scope." - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-close", - "markdownDescription": "Denies the close command without any pre-configured scope." - }, - { - "description": "Denies the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-create", - "markdownDescription": "Denies the create command without any pre-configured scope." - }, - { - "description": "Denies the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-current-monitor", - "markdownDescription": "Denies the current_monitor command without any pre-configured scope." - }, - { - "description": "Denies the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-cursor-position", - "markdownDescription": "Denies the cursor_position command without any pre-configured scope." - }, - { - "description": "Denies the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-destroy", - "markdownDescription": "Denies the destroy command without any pre-configured scope." - }, - { - "description": "Denies the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-get-all-windows", - "markdownDescription": "Denies the get_all_windows command without any pre-configured scope." - }, - { - "description": "Denies the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-hide", - "markdownDescription": "Denies the hide command without any pre-configured scope." - }, - { - "description": "Denies the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-position", - "markdownDescription": "Denies the inner_position command without any pre-configured scope." - }, - { - "description": "Denies the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-size", - "markdownDescription": "Denies the inner_size command without any pre-configured scope." - }, - { - "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-internal-toggle-maximize", - "markdownDescription": "Denies the internal_toggle_maximize command without any pre-configured scope." - }, - { - "description": "Denies the is_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-always-on-top", - "markdownDescription": "Denies the is_always_on_top command without any pre-configured scope." - }, - { - "description": "Denies the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-closable", - "markdownDescription": "Denies the is_closable command without any pre-configured scope." - }, - { - "description": "Denies the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-decorated", - "markdownDescription": "Denies the is_decorated command without any pre-configured scope." - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-enabled", - "markdownDescription": "Denies the is_enabled command without any pre-configured scope." - }, - { - "description": "Denies the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-focused", - "markdownDescription": "Denies the is_focused command without any pre-configured scope." - }, - { - "description": "Denies the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-fullscreen", - "markdownDescription": "Denies the is_fullscreen command without any pre-configured scope." - }, - { - "description": "Denies the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximizable", - "markdownDescription": "Denies the is_maximizable command without any pre-configured scope." - }, - { - "description": "Denies the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximized", - "markdownDescription": "Denies the is_maximized command without any pre-configured scope." - }, - { - "description": "Denies the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimizable", - "markdownDescription": "Denies the is_minimizable command without any pre-configured scope." - }, - { - "description": "Denies the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimized", - "markdownDescription": "Denies the is_minimized command without any pre-configured scope." - }, - { - "description": "Denies the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-resizable", - "markdownDescription": "Denies the is_resizable command without any pre-configured scope." - }, - { - "description": "Denies the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-visible", - "markdownDescription": "Denies the is_visible command without any pre-configured scope." - }, - { - "description": "Denies the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-maximize", - "markdownDescription": "Denies the maximize command without any pre-configured scope." - }, - { - "description": "Denies the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-minimize", - "markdownDescription": "Denies the minimize command without any pre-configured scope." - }, - { - "description": "Denies the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-monitor-from-point", - "markdownDescription": "Denies the monitor_from_point command without any pre-configured scope." - }, - { - "description": "Denies the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-position", - "markdownDescription": "Denies the outer_position command without any pre-configured scope." - }, - { - "description": "Denies the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-size", - "markdownDescription": "Denies the outer_size command without any pre-configured scope." - }, - { - "description": "Denies the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-primary-monitor", - "markdownDescription": "Denies the primary_monitor command without any pre-configured scope." - }, - { - "description": "Denies the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-request-user-attention", - "markdownDescription": "Denies the request_user_attention command without any pre-configured scope." - }, - { - "description": "Denies the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-scale-factor", - "markdownDescription": "Denies the scale_factor command without any pre-configured scope." - }, - { - "description": "Denies the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-bottom", - "markdownDescription": "Denies the set_always_on_bottom command without any pre-configured scope." - }, - { - "description": "Denies the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-top", - "markdownDescription": "Denies the set_always_on_top command without any pre-configured scope." - }, - { - "description": "Denies the set_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-background-color", - "markdownDescription": "Denies the set_background_color command without any pre-configured scope." - }, - { - "description": "Denies the set_badge_count command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-badge-count", - "markdownDescription": "Denies the set_badge_count command without any pre-configured scope." - }, - { - "description": "Denies the set_badge_label command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-badge-label", - "markdownDescription": "Denies the set_badge_label command without any pre-configured scope." - }, - { - "description": "Denies the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-closable", - "markdownDescription": "Denies the set_closable command without any pre-configured scope." - }, - { - "description": "Denies the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-content-protected", - "markdownDescription": "Denies the set_content_protected command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-grab", - "markdownDescription": "Denies the set_cursor_grab command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-icon", - "markdownDescription": "Denies the set_cursor_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-position", - "markdownDescription": "Denies the set_cursor_position command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-visible", - "markdownDescription": "Denies the set_cursor_visible command without any pre-configured scope." - }, - { - "description": "Denies the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-decorations", - "markdownDescription": "Denies the set_decorations command without any pre-configured scope." - }, - { - "description": "Denies the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-effects", - "markdownDescription": "Denies the set_effects command without any pre-configured scope." - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-enabled", - "markdownDescription": "Denies the set_enabled command without any pre-configured scope." - }, - { - "description": "Denies the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-focus", - "markdownDescription": "Denies the set_focus command without any pre-configured scope." - }, - { - "description": "Denies the set_focusable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-focusable", - "markdownDescription": "Denies the set_focusable command without any pre-configured scope." - }, - { - "description": "Denies the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-fullscreen", - "markdownDescription": "Denies the set_fullscreen command without any pre-configured scope." - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-icon", - "markdownDescription": "Denies the set_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-ignore-cursor-events", - "markdownDescription": "Denies the set_ignore_cursor_events command without any pre-configured scope." - }, - { - "description": "Denies the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-max-size", - "markdownDescription": "Denies the set_max_size command without any pre-configured scope." - }, - { - "description": "Denies the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-maximizable", - "markdownDescription": "Denies the set_maximizable command without any pre-configured scope." - }, - { - "description": "Denies the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-min-size", - "markdownDescription": "Denies the set_min_size command without any pre-configured scope." - }, - { - "description": "Denies the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-minimizable", - "markdownDescription": "Denies the set_minimizable command without any pre-configured scope." - }, - { - "description": "Denies the set_overlay_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-overlay-icon", - "markdownDescription": "Denies the set_overlay_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-position", - "markdownDescription": "Denies the set_position command without any pre-configured scope." - }, - { - "description": "Denies the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-progress-bar", - "markdownDescription": "Denies the set_progress_bar command without any pre-configured scope." - }, - { - "description": "Denies the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-resizable", - "markdownDescription": "Denies the set_resizable command without any pre-configured scope." - }, - { - "description": "Denies the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-shadow", - "markdownDescription": "Denies the set_shadow command without any pre-configured scope." - }, - { - "description": "Denies the set_simple_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-simple-fullscreen", - "markdownDescription": "Denies the set_simple_fullscreen command without any pre-configured scope." - }, - { - "description": "Denies the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size", - "markdownDescription": "Denies the set_size command without any pre-configured scope." - }, - { - "description": "Denies the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size-constraints", - "markdownDescription": "Denies the set_size_constraints command without any pre-configured scope." - }, - { - "description": "Denies the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-skip-taskbar", - "markdownDescription": "Denies the set_skip_taskbar command without any pre-configured scope." - }, - { - "description": "Denies the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-theme", - "markdownDescription": "Denies the set_theme command without any pre-configured scope." - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title", - "markdownDescription": "Denies the set_title command without any pre-configured scope." - }, - { - "description": "Denies the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title-bar-style", - "markdownDescription": "Denies the set_title_bar_style command without any pre-configured scope." - }, - { - "description": "Denies the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-visible-on-all-workspaces", - "markdownDescription": "Denies the set_visible_on_all_workspaces command without any pre-configured scope." - }, - { - "description": "Denies the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-show", - "markdownDescription": "Denies the show command without any pre-configured scope." - }, - { - "description": "Denies the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-dragging", - "markdownDescription": "Denies the start_dragging command without any pre-configured scope." - }, - { - "description": "Denies the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-resize-dragging", - "markdownDescription": "Denies the start_resize_dragging command without any pre-configured scope." - }, - { - "description": "Denies the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-theme", - "markdownDescription": "Denies the theme command without any pre-configured scope." - }, - { - "description": "Denies the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-title", - "markdownDescription": "Denies the title command without any pre-configured scope." - }, - { - "description": "Denies the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-toggle-maximize", - "markdownDescription": "Denies the toggle_maximize command without any pre-configured scope." - }, - { - "description": "Denies the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unmaximize", - "markdownDescription": "Denies the unmaximize command without any pre-configured scope." - }, - { - "description": "Denies the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unminimize", - "markdownDescription": "Denies the unminimize command without any pre-configured scope." - }, - { - "description": "Allows reading the opened deep link via the get_current command\n#### This default permission set includes:\n\n- `allow-get-current`", - "type": "string", - "const": "deep-link:default", - "markdownDescription": "Allows reading the opened deep link via the get_current command\n#### This default permission set includes:\n\n- `allow-get-current`" - }, - { - "description": "Enables the get_current command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-get-current", - "markdownDescription": "Enables the get_current command without any pre-configured scope." - }, - { - "description": "Enables the is_registered command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-is-registered", - "markdownDescription": "Enables the is_registered command without any pre-configured scope." - }, - { - "description": "Enables the register command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-register", - "markdownDescription": "Enables the register command without any pre-configured scope." - }, - { - "description": "Enables the unregister command without any pre-configured scope.", - "type": "string", - "const": "deep-link:allow-unregister", - "markdownDescription": "Enables the unregister command without any pre-configured scope." - }, - { - "description": "Denies the get_current command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-get-current", - "markdownDescription": "Denies the get_current command without any pre-configured scope." - }, - { - "description": "Denies the is_registered command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-is-registered", - "markdownDescription": "Denies the is_registered command without any pre-configured scope." - }, - { - "description": "Denies the register command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-register", - "markdownDescription": "Denies the register command without any pre-configured scope." - }, - { - "description": "Denies the unregister command without any pre-configured scope.", - "type": "string", - "const": "deep-link:deny-unregister", - "markdownDescription": "Denies the unregister command without any pre-configured scope." - }, - { - "description": "This permission set configures which\nnotification features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all notification related features.\n\n\n#### This default permission set includes:\n\n- `allow-is-permission-granted`\n- `allow-request-permission`\n- `allow-notify`\n- `allow-register-action-types`\n- `allow-register-listener`\n- `allow-cancel`\n- `allow-get-pending`\n- `allow-remove-active`\n- `allow-get-active`\n- `allow-check-permissions`\n- `allow-show`\n- `allow-batch`\n- `allow-list-channels`\n- `allow-delete-channel`\n- `allow-create-channel`\n- `allow-permission-state`", - "type": "string", - "const": "notification:default", - "markdownDescription": "This permission set configures which\nnotification features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all notification related features.\n\n\n#### This default permission set includes:\n\n- `allow-is-permission-granted`\n- `allow-request-permission`\n- `allow-notify`\n- `allow-register-action-types`\n- `allow-register-listener`\n- `allow-cancel`\n- `allow-get-pending`\n- `allow-remove-active`\n- `allow-get-active`\n- `allow-check-permissions`\n- `allow-show`\n- `allow-batch`\n- `allow-list-channels`\n- `allow-delete-channel`\n- `allow-create-channel`\n- `allow-permission-state`" - }, - { - "description": "Enables the batch command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-batch", - "markdownDescription": "Enables the batch command without any pre-configured scope." - }, - { - "description": "Enables the cancel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-cancel", - "markdownDescription": "Enables the cancel command without any pre-configured scope." - }, - { - "description": "Enables the check_permissions command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-check-permissions", - "markdownDescription": "Enables the check_permissions command without any pre-configured scope." - }, - { - "description": "Enables the create_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-create-channel", - "markdownDescription": "Enables the create_channel command without any pre-configured scope." - }, - { - "description": "Enables the delete_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-delete-channel", - "markdownDescription": "Enables the delete_channel command without any pre-configured scope." - }, - { - "description": "Enables the get_active command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-get-active", - "markdownDescription": "Enables the get_active command without any pre-configured scope." - }, - { - "description": "Enables the get_pending command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-get-pending", - "markdownDescription": "Enables the get_pending command without any pre-configured scope." - }, - { - "description": "Enables the is_permission_granted command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-is-permission-granted", - "markdownDescription": "Enables the is_permission_granted command without any pre-configured scope." - }, - { - "description": "Enables the list_channels command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-list-channels", - "markdownDescription": "Enables the list_channels command without any pre-configured scope." - }, - { - "description": "Enables the notify command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-notify", - "markdownDescription": "Enables the notify command without any pre-configured scope." - }, - { - "description": "Enables the permission_state command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-permission-state", - "markdownDescription": "Enables the permission_state command without any pre-configured scope." - }, - { - "description": "Enables the register_action_types command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-register-action-types", - "markdownDescription": "Enables the register_action_types command without any pre-configured scope." - }, - { - "description": "Enables the register_listener command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-register-listener", - "markdownDescription": "Enables the register_listener command without any pre-configured scope." - }, - { - "description": "Enables the remove_active command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-remove-active", - "markdownDescription": "Enables the remove_active command without any pre-configured scope." - }, - { - "description": "Enables the request_permission command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-request-permission", - "markdownDescription": "Enables the request_permission command without any pre-configured scope." - }, - { - "description": "Enables the show command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-show", - "markdownDescription": "Enables the show command without any pre-configured scope." - }, - { - "description": "Denies the batch command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-batch", - "markdownDescription": "Denies the batch command without any pre-configured scope." - }, - { - "description": "Denies the cancel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-cancel", - "markdownDescription": "Denies the cancel command without any pre-configured scope." - }, - { - "description": "Denies the check_permissions command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-check-permissions", - "markdownDescription": "Denies the check_permissions command without any pre-configured scope." - }, - { - "description": "Denies the create_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-create-channel", - "markdownDescription": "Denies the create_channel command without any pre-configured scope." - }, - { - "description": "Denies the delete_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-delete-channel", - "markdownDescription": "Denies the delete_channel command without any pre-configured scope." - }, - { - "description": "Denies the get_active command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-get-active", - "markdownDescription": "Denies the get_active command without any pre-configured scope." - }, - { - "description": "Denies the get_pending command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-get-pending", - "markdownDescription": "Denies the get_pending command without any pre-configured scope." - }, - { - "description": "Denies the is_permission_granted command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-is-permission-granted", - "markdownDescription": "Denies the is_permission_granted command without any pre-configured scope." - }, - { - "description": "Denies the list_channels command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-list-channels", - "markdownDescription": "Denies the list_channels command without any pre-configured scope." - }, - { - "description": "Denies the notify command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-notify", - "markdownDescription": "Denies the notify command without any pre-configured scope." - }, - { - "description": "Denies the permission_state command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-permission-state", - "markdownDescription": "Denies the permission_state command without any pre-configured scope." - }, - { - "description": "Denies the register_action_types command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-register-action-types", - "markdownDescription": "Denies the register_action_types command without any pre-configured scope." - }, - { - "description": "Denies the register_listener command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-register-listener", - "markdownDescription": "Denies the register_listener command without any pre-configured scope." - }, - { - "description": "Denies the remove_active command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-remove-active", - "markdownDescription": "Denies the remove_active command without any pre-configured scope." - }, - { - "description": "Denies the request_permission command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-request-permission", - "markdownDescription": "Denies the request_permission command without any pre-configured scope." - }, - { - "description": "Denies the show command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-show", - "markdownDescription": "Denies the show command without any pre-configured scope." - }, - { - "description": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", - "type": "string", - "const": "opener:default", - "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" - }, - { - "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", - "type": "string", - "const": "opener:allow-default-urls", - "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." - }, - { - "description": "Enables the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-path", - "markdownDescription": "Enables the open_path command without any pre-configured scope." - }, - { - "description": "Enables the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-url", - "markdownDescription": "Enables the open_url command without any pre-configured scope." - }, - { - "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-reveal-item-in-dir", - "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." - }, - { - "description": "Denies the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-path", - "markdownDescription": "Denies the open_path command without any pre-configured scope." - }, - { - "description": "Denies the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-url", - "markdownDescription": "Denies the open_url command without any pre-configured scope." - }, - { - "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-reveal-item-in-dir", - "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." - } - ] - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a null JSON value.", - "type": "null" - }, - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Target": { - "description": "Platform target.", - "oneOf": [ - { - "description": "MacOS.", - "type": "string", - "enum": [ - "macOS" - ] - }, - { - "description": "Windows.", - "type": "string", - "enum": [ - "windows" - ] - }, - { - "description": "Linux.", - "type": "string", - "enum": [ - "linux" - ] - }, - { - "description": "Android.", - "type": "string", - "enum": [ - "android" - ] - }, - { - "description": "iOS.", - "type": "string", - "enum": [ - "iOS" - ] - } - ] - }, - "Application": { - "description": "Opener scope application.", - "anyOf": [ - { - "description": "Open in default application.", - "type": "null" - }, - { - "description": "If true, allow open with any application.", - "type": "boolean" - }, - { - "description": "Allow specific application to open with.", - "type": "string" - } - ] - } - } -} \ No newline at end of file diff --git a/src-tauri/gen/schemas/windows-schema.json b/src-tauri/gen/schemas/windows-schema.json deleted file mode 100644 index dea2186..0000000 --- a/src-tauri/gen/schemas/windows-schema.json +++ /dev/null @@ -1,3113 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "CapabilityFile", - "description": "Capability formats accepted in a capability file.", - "anyOf": [ - { - "description": "A single capability.", - "allOf": [ - { - "$ref": "#/definitions/Capability" - } - ] - }, - { - "description": "A list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - }, - { - "description": "A list of capabilities.", - "type": "object", - "required": [ - "capabilities" - ], - "properties": { - "capabilities": { - "description": "The list of capabilities.", - "type": "array", - "items": { - "$ref": "#/definitions/Capability" - } - } - } - } - ], - "definitions": { - "Capability": { - "description": "A grouping and boundary mechanism developers can use to isolate access to the IPC layer.\n\nIt controls application windows' and webviews' fine grained access to the Tauri core, application, or plugin commands. If a webview or its window is not matching any capability then it has no access to the IPC layer at all.\n\nThis can be done to create groups of windows, based on their required system access, which can reduce impact of frontend vulnerabilities in less privileged windows. Windows can be added to a capability by exact name (e.g. `main-window`) or glob patterns like `*` or `admin-*`. A Window can have none, one, or multiple associated capabilities.\n\n## Example\n\n```json { \"identifier\": \"main-user-files-write\", \"description\": \"This capability allows the `main` window on macOS and Windows access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.\", \"windows\": [ \"main\" ], \"permissions\": [ \"core:default\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] }, ], \"platforms\": [\"macOS\",\"windows\"] } ```", - "type": "object", - "required": [ - "identifier", - "permissions" - ], - "properties": { - "identifier": { - "description": "Identifier of the capability.\n\n## Example\n\n`main-user-files-write`", - "type": "string" - }, - "description": { - "description": "Description of what the capability is intended to allow on associated windows.\n\nIt should contain a description of what the grouped permissions should allow.\n\n## Example\n\nThis capability allows the `main` window access to `filesystem` write related commands and `dialog` commands to enable programmatic access to files selected by the user.", - "default": "", - "type": "string" - }, - "remote": { - "description": "Configure remote URLs that can use the capability permissions.\n\nThis setting is optional and defaults to not being set, as our default use case is that the content is served from our local application.\n\n:::caution Make sure you understand the security implications of providing remote sources with local system access. :::\n\n## Example\n\n```json { \"urls\": [\"https://*.mydomain.dev\"] } ```", - "anyOf": [ - { - "$ref": "#/definitions/CapabilityRemote" - }, - { - "type": "null" - } - ] - }, - "local": { - "description": "Whether this capability is enabled for local app URLs or not. Defaults to `true`.", - "default": true, - "type": "boolean" - }, - "windows": { - "description": "List of windows that are affected by this capability. Can be a glob pattern.\n\nIf a window label matches any of the patterns in this list, the capability will be enabled on all the webviews of that window, regardless of the value of [`Self::webviews`].\n\nOn multiwebview windows, prefer specifying [`Self::webviews`] and omitting [`Self::windows`] for a fine grained access control.\n\n## Example\n\n`[\"main\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "webviews": { - "description": "List of webviews that are affected by this capability. Can be a glob pattern.\n\nThe capability will be enabled on all the webviews whose label matches any of the patterns in this list, regardless of whether the webview's window label matches a pattern in [`Self::windows`].\n\n## Example\n\n`[\"sub-webview-one\", \"sub-webview-two\"]`", - "type": "array", - "items": { - "type": "string" - } - }, - "permissions": { - "description": "List of permissions attached to this capability.\n\nMust include the plugin name as prefix in the form of `${plugin-name}:${permission-name}`. For commands directly implemented in the application itself only `${permission-name}` is required.\n\n## Example\n\n```json [ \"core:default\", \"shell:allow-open\", \"dialog:open\", { \"identifier\": \"fs:allow-write-text-file\", \"allow\": [{ \"path\": \"$HOME/test.txt\" }] } ] ```", - "type": "array", - "items": { - "$ref": "#/definitions/PermissionEntry" - }, - "uniqueItems": true - }, - "platforms": { - "description": "Limit which target platforms this capability applies to.\n\nBy default all platforms are targeted.\n\n## Example\n\n`[\"macOS\",\"windows\"]`", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Target" - } - } - } - }, - "CapabilityRemote": { - "description": "Configuration for remote URLs that are associated with the capability.", - "type": "object", - "required": [ - "urls" - ], - "properties": { - "urls": { - "description": "Remote domains this capability refers to using the [URLPattern standard](https://urlpattern.spec.whatwg.org/).\n\n## Examples\n\n- \"https://*.mydomain.dev\": allows subdomains of mydomain.dev - \"https://mydomain.dev/api/*\": allows any subpath of mydomain.dev/api", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "PermissionEntry": { - "description": "An entry for a permission value in a [`Capability`] can be either a raw permission [`Identifier`] or an object that references a permission and extends its scope.", - "anyOf": [ - { - "description": "Reference a permission or permission set by identifier.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - { - "description": "Reference a permission or permission set by identifier and extends its scope.", - "type": "object", - "allOf": [ - { - "if": { - "properties": { - "identifier": { - "anyOf": [ - { - "description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`", - "type": "string", - "const": "http:default", - "markdownDescription": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`" - }, - { - "description": "Enables the fetch command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch", - "markdownDescription": "Enables the fetch command without any pre-configured scope." - }, - { - "description": "Enables the fetch_cancel command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-cancel", - "markdownDescription": "Enables the fetch_cancel command without any pre-configured scope." - }, - { - "description": "Enables the fetch_cancel_body command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-cancel-body", - "markdownDescription": "Enables the fetch_cancel_body command without any pre-configured scope." - }, - { - "description": "Enables the fetch_read_body command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-read-body", - "markdownDescription": "Enables the fetch_read_body command without any pre-configured scope." - }, - { - "description": "Enables the fetch_send command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-send", - "markdownDescription": "Enables the fetch_send command without any pre-configured scope." - }, - { - "description": "Denies the fetch command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch", - "markdownDescription": "Denies the fetch command without any pre-configured scope." - }, - { - "description": "Denies the fetch_cancel command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-cancel", - "markdownDescription": "Denies the fetch_cancel command without any pre-configured scope." - }, - { - "description": "Denies the fetch_cancel_body command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-cancel-body", - "markdownDescription": "Denies the fetch_cancel_body command without any pre-configured scope." - }, - { - "description": "Denies the fetch_read_body command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-read-body", - "markdownDescription": "Denies the fetch_read_body command without any pre-configured scope." - }, - { - "description": "Denies the fetch_send command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-send", - "markdownDescription": "Denies the fetch_send command without any pre-configured scope." - } - ] - } - } - }, - "then": { - "properties": { - "allow": { - "items": { - "title": "HttpScopeEntry", - "description": "HTTP scope entry.", - "anyOf": [ - { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - }, - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "url": { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - } - ] - } - }, - "deny": { - "items": { - "title": "HttpScopeEntry", - "description": "HTTP scope entry.", - "anyOf": [ - { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - }, - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "url": { - "description": "A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - } - ] - } - } - } - }, - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - } - } - }, - { - "if": { - "properties": { - "identifier": { - "anyOf": [ - { - "description": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", - "type": "string", - "const": "opener:default", - "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" - }, - { - "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", - "type": "string", - "const": "opener:allow-default-urls", - "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." - }, - { - "description": "Enables the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-path", - "markdownDescription": "Enables the open_path command without any pre-configured scope." - }, - { - "description": "Enables the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-url", - "markdownDescription": "Enables the open_url command without any pre-configured scope." - }, - { - "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-reveal-item-in-dir", - "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." - }, - { - "description": "Denies the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-path", - "markdownDescription": "Denies the open_path command without any pre-configured scope." - }, - { - "description": "Denies the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-url", - "markdownDescription": "Denies the open_url command without any pre-configured scope." - }, - { - "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-reveal-item-in-dir", - "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." - } - ] - } - } - }, - "then": { - "properties": { - "allow": { - "items": { - "title": "OpenerScopeEntry", - "description": "Opener scope entry.", - "anyOf": [ - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "app": { - "description": "An application to open this url with, for example: firefox.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "url": { - "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - }, - { - "type": "object", - "required": [ - "path" - ], - "properties": { - "app": { - "description": "An application to open this path with, for example: xdg-open.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "path": { - "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - } - } - } - ] - } - }, - "deny": { - "items": { - "title": "OpenerScopeEntry", - "description": "Opener scope entry.", - "anyOf": [ - { - "type": "object", - "required": [ - "url" - ], - "properties": { - "app": { - "description": "An application to open this url with, for example: firefox.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "url": { - "description": "A URL that can be opened by the webview when using the Opener APIs.\n\nWildcards can be used following the UNIX glob pattern.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"", - "type": "string" - } - } - }, - { - "type": "object", - "required": [ - "path" - ], - "properties": { - "app": { - "description": "An application to open this path with, for example: xdg-open.", - "allOf": [ - { - "$ref": "#/definitions/Application" - } - ] - }, - "path": { - "description": "A path that can be opened by the webview when using the Opener APIs.\n\nThe pattern can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$APP`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.", - "type": "string" - } - } - } - ] - } - } - } - }, - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - } - } - }, - { - "properties": { - "identifier": { - "description": "Identifier of the permission or permission set.", - "allOf": [ - { - "$ref": "#/definitions/Identifier" - } - ] - }, - "allow": { - "description": "Data that defines what is allowed by the scope.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - }, - "deny": { - "description": "Data that defines what is denied by the scope. This should be prioritized by validation logic.", - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/definitions/Value" - } - } - } - } - ], - "required": [ - "identifier" - ] - } - ] - }, - "Identifier": { - "description": "Permission identifier", - "oneOf": [ - { - "description": "This permission set configures if your\napplication can enable or disable auto\nstarting the application on boot.\n\n#### Granted Permissions\n\nIt allows all to check, enable and\ndisable the automatic start on boot.\n\n\n#### This default permission set includes:\n\n- `allow-enable`\n- `allow-disable`\n- `allow-is-enabled`", - "type": "string", - "const": "autostart:default", - "markdownDescription": "This permission set configures if your\napplication can enable or disable auto\nstarting the application on boot.\n\n#### Granted Permissions\n\nIt allows all to check, enable and\ndisable the automatic start on boot.\n\n\n#### This default permission set includes:\n\n- `allow-enable`\n- `allow-disable`\n- `allow-is-enabled`" - }, - { - "description": "Enables the disable command without any pre-configured scope.", - "type": "string", - "const": "autostart:allow-disable", - "markdownDescription": "Enables the disable command without any pre-configured scope." - }, - { - "description": "Enables the enable command without any pre-configured scope.", - "type": "string", - "const": "autostart:allow-enable", - "markdownDescription": "Enables the enable command without any pre-configured scope." - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "autostart:allow-is-enabled", - "markdownDescription": "Enables the is_enabled command without any pre-configured scope." - }, - { - "description": "Denies the disable command without any pre-configured scope.", - "type": "string", - "const": "autostart:deny-disable", - "markdownDescription": "Denies the disable command without any pre-configured scope." - }, - { - "description": "Denies the enable command without any pre-configured scope.", - "type": "string", - "const": "autostart:deny-enable", - "markdownDescription": "Denies the enable command without any pre-configured scope." - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "autostart:deny-is-enabled", - "markdownDescription": "Denies the is_enabled command without any pre-configured scope." - }, - { - "description": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`", - "type": "string", - "const": "core:default", - "markdownDescription": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`" - }, - { - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`", - "type": "string", - "const": "core:app:default", - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`" - }, - { - "description": "Enables the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-hide", - "markdownDescription": "Enables the app_hide command without any pre-configured scope." - }, - { - "description": "Enables the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-app-show", - "markdownDescription": "Enables the app_show command without any pre-configured scope." - }, - { - "description": "Enables the bundle_type command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-bundle-type", - "markdownDescription": "Enables the bundle_type command without any pre-configured scope." - }, - { - "description": "Enables the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-default-window-icon", - "markdownDescription": "Enables the default_window_icon command without any pre-configured scope." - }, - { - "description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-fetch-data-store-identifiers", - "markdownDescription": "Enables the fetch_data_store_identifiers command without any pre-configured scope." - }, - { - "description": "Enables the identifier command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-identifier", - "markdownDescription": "Enables the identifier command without any pre-configured scope." - }, - { - "description": "Enables the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-name", - "markdownDescription": "Enables the name command without any pre-configured scope." - }, - { - "description": "Enables the register_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-register-listener", - "markdownDescription": "Enables the register_listener command without any pre-configured scope." - }, - { - "description": "Enables the remove_data_store command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-remove-data-store", - "markdownDescription": "Enables the remove_data_store command without any pre-configured scope." - }, - { - "description": "Enables the remove_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-remove-listener", - "markdownDescription": "Enables the remove_listener command without any pre-configured scope." - }, - { - "description": "Enables the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-set-app-theme", - "markdownDescription": "Enables the set_app_theme command without any pre-configured scope." - }, - { - "description": "Enables the set_dock_visibility command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-set-dock-visibility", - "markdownDescription": "Enables the set_dock_visibility command without any pre-configured scope." - }, - { - "description": "Enables the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-tauri-version", - "markdownDescription": "Enables the tauri_version command without any pre-configured scope." - }, - { - "description": "Enables the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:allow-version", - "markdownDescription": "Enables the version command without any pre-configured scope." - }, - { - "description": "Denies the app_hide command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-hide", - "markdownDescription": "Denies the app_hide command without any pre-configured scope." - }, - { - "description": "Denies the app_show command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-app-show", - "markdownDescription": "Denies the app_show command without any pre-configured scope." - }, - { - "description": "Denies the bundle_type command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-bundle-type", - "markdownDescription": "Denies the bundle_type command without any pre-configured scope." - }, - { - "description": "Denies the default_window_icon command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-default-window-icon", - "markdownDescription": "Denies the default_window_icon command without any pre-configured scope." - }, - { - "description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-fetch-data-store-identifiers", - "markdownDescription": "Denies the fetch_data_store_identifiers command without any pre-configured scope." - }, - { - "description": "Denies the identifier command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-identifier", - "markdownDescription": "Denies the identifier command without any pre-configured scope." - }, - { - "description": "Denies the name command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-name", - "markdownDescription": "Denies the name command without any pre-configured scope." - }, - { - "description": "Denies the register_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-register-listener", - "markdownDescription": "Denies the register_listener command without any pre-configured scope." - }, - { - "description": "Denies the remove_data_store command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-remove-data-store", - "markdownDescription": "Denies the remove_data_store command without any pre-configured scope." - }, - { - "description": "Denies the remove_listener command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-remove-listener", - "markdownDescription": "Denies the remove_listener command without any pre-configured scope." - }, - { - "description": "Denies the set_app_theme command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-set-app-theme", - "markdownDescription": "Denies the set_app_theme command without any pre-configured scope." - }, - { - "description": "Denies the set_dock_visibility command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-set-dock-visibility", - "markdownDescription": "Denies the set_dock_visibility command without any pre-configured scope." - }, - { - "description": "Denies the tauri_version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-tauri-version", - "markdownDescription": "Denies the tauri_version command without any pre-configured scope." - }, - { - "description": "Denies the version command without any pre-configured scope.", - "type": "string", - "const": "core:app:deny-version", - "markdownDescription": "Denies the version command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`", - "type": "string", - "const": "core:event:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-listen`\n- `allow-unlisten`\n- `allow-emit`\n- `allow-emit-to`" - }, - { - "description": "Enables the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit", - "markdownDescription": "Enables the emit command without any pre-configured scope." - }, - { - "description": "Enables the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-emit-to", - "markdownDescription": "Enables the emit_to command without any pre-configured scope." - }, - { - "description": "Enables the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-listen", - "markdownDescription": "Enables the listen command without any pre-configured scope." - }, - { - "description": "Enables the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:allow-unlisten", - "markdownDescription": "Enables the unlisten command without any pre-configured scope." - }, - { - "description": "Denies the emit command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit", - "markdownDescription": "Denies the emit command without any pre-configured scope." - }, - { - "description": "Denies the emit_to command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-emit-to", - "markdownDescription": "Denies the emit_to command without any pre-configured scope." - }, - { - "description": "Denies the listen command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-listen", - "markdownDescription": "Denies the listen command without any pre-configured scope." - }, - { - "description": "Denies the unlisten command without any pre-configured scope.", - "type": "string", - "const": "core:event:deny-unlisten", - "markdownDescription": "Denies the unlisten command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`", - "type": "string", - "const": "core:image:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-from-bytes`\n- `allow-from-path`\n- `allow-rgba`\n- `allow-size`" - }, - { - "description": "Enables the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-bytes", - "markdownDescription": "Enables the from_bytes command without any pre-configured scope." - }, - { - "description": "Enables the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-from-path", - "markdownDescription": "Enables the from_path command without any pre-configured scope." - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-new", - "markdownDescription": "Enables the new command without any pre-configured scope." - }, - { - "description": "Enables the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-rgba", - "markdownDescription": "Enables the rgba command without any pre-configured scope." - }, - { - "description": "Enables the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:allow-size", - "markdownDescription": "Enables the size command without any pre-configured scope." - }, - { - "description": "Denies the from_bytes command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-bytes", - "markdownDescription": "Denies the from_bytes command without any pre-configured scope." - }, - { - "description": "Denies the from_path command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-from-path", - "markdownDescription": "Denies the from_path command without any pre-configured scope." - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-new", - "markdownDescription": "Denies the new command without any pre-configured scope." - }, - { - "description": "Denies the rgba command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-rgba", - "markdownDescription": "Denies the rgba command without any pre-configured scope." - }, - { - "description": "Denies the size command without any pre-configured scope.", - "type": "string", - "const": "core:image:deny-size", - "markdownDescription": "Denies the size command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`", - "type": "string", - "const": "core:menu:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-append`\n- `allow-prepend`\n- `allow-insert`\n- `allow-remove`\n- `allow-remove-at`\n- `allow-items`\n- `allow-get`\n- `allow-popup`\n- `allow-create-default`\n- `allow-set-as-app-menu`\n- `allow-set-as-window-menu`\n- `allow-text`\n- `allow-set-text`\n- `allow-is-enabled`\n- `allow-set-enabled`\n- `allow-set-accelerator`\n- `allow-set-as-windows-menu-for-nsapp`\n- `allow-set-as-help-menu-for-nsapp`\n- `allow-is-checked`\n- `allow-set-checked`\n- `allow-set-icon`" - }, - { - "description": "Enables the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-append", - "markdownDescription": "Enables the append command without any pre-configured scope." - }, - { - "description": "Enables the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-create-default", - "markdownDescription": "Enables the create_default command without any pre-configured scope." - }, - { - "description": "Enables the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-get", - "markdownDescription": "Enables the get command without any pre-configured scope." - }, - { - "description": "Enables the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-insert", - "markdownDescription": "Enables the insert command without any pre-configured scope." - }, - { - "description": "Enables the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-checked", - "markdownDescription": "Enables the is_checked command without any pre-configured scope." - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-is-enabled", - "markdownDescription": "Enables the is_enabled command without any pre-configured scope." - }, - { - "description": "Enables the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-items", - "markdownDescription": "Enables the items command without any pre-configured scope." - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-new", - "markdownDescription": "Enables the new command without any pre-configured scope." - }, - { - "description": "Enables the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-popup", - "markdownDescription": "Enables the popup command without any pre-configured scope." - }, - { - "description": "Enables the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-prepend", - "markdownDescription": "Enables the prepend command without any pre-configured scope." - }, - { - "description": "Enables the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove", - "markdownDescription": "Enables the remove command without any pre-configured scope." - }, - { - "description": "Enables the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-remove-at", - "markdownDescription": "Enables the remove_at command without any pre-configured scope." - }, - { - "description": "Enables the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-accelerator", - "markdownDescription": "Enables the set_accelerator command without any pre-configured scope." - }, - { - "description": "Enables the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-app-menu", - "markdownDescription": "Enables the set_as_app_menu command without any pre-configured scope." - }, - { - "description": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-help-menu-for-nsapp", - "markdownDescription": "Enables the set_as_help_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Enables the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-window-menu", - "markdownDescription": "Enables the set_as_window_menu command without any pre-configured scope." - }, - { - "description": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-as-windows-menu-for-nsapp", - "markdownDescription": "Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Enables the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-checked", - "markdownDescription": "Enables the set_checked command without any pre-configured scope." - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-enabled", - "markdownDescription": "Enables the set_enabled command without any pre-configured scope." - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-icon", - "markdownDescription": "Enables the set_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-set-text", - "markdownDescription": "Enables the set_text command without any pre-configured scope." - }, - { - "description": "Enables the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:allow-text", - "markdownDescription": "Enables the text command without any pre-configured scope." - }, - { - "description": "Denies the append command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-append", - "markdownDescription": "Denies the append command without any pre-configured scope." - }, - { - "description": "Denies the create_default command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-create-default", - "markdownDescription": "Denies the create_default command without any pre-configured scope." - }, - { - "description": "Denies the get command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-get", - "markdownDescription": "Denies the get command without any pre-configured scope." - }, - { - "description": "Denies the insert command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-insert", - "markdownDescription": "Denies the insert command without any pre-configured scope." - }, - { - "description": "Denies the is_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-checked", - "markdownDescription": "Denies the is_checked command without any pre-configured scope." - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-is-enabled", - "markdownDescription": "Denies the is_enabled command without any pre-configured scope." - }, - { - "description": "Denies the items command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-items", - "markdownDescription": "Denies the items command without any pre-configured scope." - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-new", - "markdownDescription": "Denies the new command without any pre-configured scope." - }, - { - "description": "Denies the popup command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-popup", - "markdownDescription": "Denies the popup command without any pre-configured scope." - }, - { - "description": "Denies the prepend command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-prepend", - "markdownDescription": "Denies the prepend command without any pre-configured scope." - }, - { - "description": "Denies the remove command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove", - "markdownDescription": "Denies the remove command without any pre-configured scope." - }, - { - "description": "Denies the remove_at command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-remove-at", - "markdownDescription": "Denies the remove_at command without any pre-configured scope." - }, - { - "description": "Denies the set_accelerator command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-accelerator", - "markdownDescription": "Denies the set_accelerator command without any pre-configured scope." - }, - { - "description": "Denies the set_as_app_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-app-menu", - "markdownDescription": "Denies the set_as_app_menu command without any pre-configured scope." - }, - { - "description": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-help-menu-for-nsapp", - "markdownDescription": "Denies the set_as_help_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Denies the set_as_window_menu command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-window-menu", - "markdownDescription": "Denies the set_as_window_menu command without any pre-configured scope." - }, - { - "description": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-as-windows-menu-for-nsapp", - "markdownDescription": "Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope." - }, - { - "description": "Denies the set_checked command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-checked", - "markdownDescription": "Denies the set_checked command without any pre-configured scope." - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-enabled", - "markdownDescription": "Denies the set_enabled command without any pre-configured scope." - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-icon", - "markdownDescription": "Denies the set_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-set-text", - "markdownDescription": "Denies the set_text command without any pre-configured scope." - }, - { - "description": "Denies the text command without any pre-configured scope.", - "type": "string", - "const": "core:menu:deny-text", - "markdownDescription": "Denies the text command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`", - "type": "string", - "const": "core:path:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-resolve-directory`\n- `allow-resolve`\n- `allow-normalize`\n- `allow-join`\n- `allow-dirname`\n- `allow-extname`\n- `allow-basename`\n- `allow-is-absolute`" - }, - { - "description": "Enables the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-basename", - "markdownDescription": "Enables the basename command without any pre-configured scope." - }, - { - "description": "Enables the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-dirname", - "markdownDescription": "Enables the dirname command without any pre-configured scope." - }, - { - "description": "Enables the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-extname", - "markdownDescription": "Enables the extname command without any pre-configured scope." - }, - { - "description": "Enables the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-is-absolute", - "markdownDescription": "Enables the is_absolute command without any pre-configured scope." - }, - { - "description": "Enables the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-join", - "markdownDescription": "Enables the join command without any pre-configured scope." - }, - { - "description": "Enables the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-normalize", - "markdownDescription": "Enables the normalize command without any pre-configured scope." - }, - { - "description": "Enables the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve", - "markdownDescription": "Enables the resolve command without any pre-configured scope." - }, - { - "description": "Enables the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:allow-resolve-directory", - "markdownDescription": "Enables the resolve_directory command without any pre-configured scope." - }, - { - "description": "Denies the basename command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-basename", - "markdownDescription": "Denies the basename command without any pre-configured scope." - }, - { - "description": "Denies the dirname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-dirname", - "markdownDescription": "Denies the dirname command without any pre-configured scope." - }, - { - "description": "Denies the extname command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-extname", - "markdownDescription": "Denies the extname command without any pre-configured scope." - }, - { - "description": "Denies the is_absolute command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-is-absolute", - "markdownDescription": "Denies the is_absolute command without any pre-configured scope." - }, - { - "description": "Denies the join command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-join", - "markdownDescription": "Denies the join command without any pre-configured scope." - }, - { - "description": "Denies the normalize command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-normalize", - "markdownDescription": "Denies the normalize command without any pre-configured scope." - }, - { - "description": "Denies the resolve command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve", - "markdownDescription": "Denies the resolve command without any pre-configured scope." - }, - { - "description": "Denies the resolve_directory command without any pre-configured scope.", - "type": "string", - "const": "core:path:deny-resolve-directory", - "markdownDescription": "Denies the resolve_directory command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`", - "type": "string", - "const": "core:resources:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-close`" - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:allow-close", - "markdownDescription": "Enables the close command without any pre-configured scope." - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:resources:deny-close", - "markdownDescription": "Denies the close command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-show-menu-on-left-click`", - "type": "string", - "const": "core:tray:default", - "markdownDescription": "Default permissions for the plugin, which enables all commands.\n#### This default permission set includes:\n\n- `allow-new`\n- `allow-get-by-id`\n- `allow-remove-by-id`\n- `allow-set-icon`\n- `allow-set-menu`\n- `allow-set-tooltip`\n- `allow-set-title`\n- `allow-set-visible`\n- `allow-set-temp-dir-path`\n- `allow-set-icon-as-template`\n- `allow-set-show-menu-on-left-click`" - }, - { - "description": "Enables the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-get-by-id", - "markdownDescription": "Enables the get_by_id command without any pre-configured scope." - }, - { - "description": "Enables the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-new", - "markdownDescription": "Enables the new command without any pre-configured scope." - }, - { - "description": "Enables the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-remove-by-id", - "markdownDescription": "Enables the remove_by_id command without any pre-configured scope." - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon", - "markdownDescription": "Enables the set_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-icon-as-template", - "markdownDescription": "Enables the set_icon_as_template command without any pre-configured scope." - }, - { - "description": "Enables the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-menu", - "markdownDescription": "Enables the set_menu command without any pre-configured scope." - }, - { - "description": "Enables the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-show-menu-on-left-click", - "markdownDescription": "Enables the set_show_menu_on_left_click command without any pre-configured scope." - }, - { - "description": "Enables the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-temp-dir-path", - "markdownDescription": "Enables the set_temp_dir_path command without any pre-configured scope." - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-title", - "markdownDescription": "Enables the set_title command without any pre-configured scope." - }, - { - "description": "Enables the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-tooltip", - "markdownDescription": "Enables the set_tooltip command without any pre-configured scope." - }, - { - "description": "Enables the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:allow-set-visible", - "markdownDescription": "Enables the set_visible command without any pre-configured scope." - }, - { - "description": "Denies the get_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-get-by-id", - "markdownDescription": "Denies the get_by_id command without any pre-configured scope." - }, - { - "description": "Denies the new command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-new", - "markdownDescription": "Denies the new command without any pre-configured scope." - }, - { - "description": "Denies the remove_by_id command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-remove-by-id", - "markdownDescription": "Denies the remove_by_id command without any pre-configured scope." - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon", - "markdownDescription": "Denies the set_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_icon_as_template command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-icon-as-template", - "markdownDescription": "Denies the set_icon_as_template command without any pre-configured scope." - }, - { - "description": "Denies the set_menu command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-menu", - "markdownDescription": "Denies the set_menu command without any pre-configured scope." - }, - { - "description": "Denies the set_show_menu_on_left_click command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-show-menu-on-left-click", - "markdownDescription": "Denies the set_show_menu_on_left_click command without any pre-configured scope." - }, - { - "description": "Denies the set_temp_dir_path command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-temp-dir-path", - "markdownDescription": "Denies the set_temp_dir_path command without any pre-configured scope." - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-title", - "markdownDescription": "Denies the set_title command without any pre-configured scope." - }, - { - "description": "Denies the set_tooltip command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-tooltip", - "markdownDescription": "Denies the set_tooltip command without any pre-configured scope." - }, - { - "description": "Denies the set_visible command without any pre-configured scope.", - "type": "string", - "const": "core:tray:deny-set-visible", - "markdownDescription": "Denies the set_visible command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`", - "type": "string", - "const": "core:webview:default", - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-webviews`\n- `allow-webview-position`\n- `allow-webview-size`\n- `allow-internal-toggle-devtools`" - }, - { - "description": "Enables the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-clear-all-browsing-data", - "markdownDescription": "Enables the clear_all_browsing_data command without any pre-configured scope." - }, - { - "description": "Enables the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview", - "markdownDescription": "Enables the create_webview command without any pre-configured scope." - }, - { - "description": "Enables the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-create-webview-window", - "markdownDescription": "Enables the create_webview_window command without any pre-configured scope." - }, - { - "description": "Enables the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-get-all-webviews", - "markdownDescription": "Enables the get_all_webviews command without any pre-configured scope." - }, - { - "description": "Enables the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-internal-toggle-devtools", - "markdownDescription": "Enables the internal_toggle_devtools command without any pre-configured scope." - }, - { - "description": "Enables the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-print", - "markdownDescription": "Enables the print command without any pre-configured scope." - }, - { - "description": "Enables the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-reparent", - "markdownDescription": "Enables the reparent command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_auto_resize command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-auto-resize", - "markdownDescription": "Enables the set_webview_auto_resize command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-background-color", - "markdownDescription": "Enables the set_webview_background_color command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-focus", - "markdownDescription": "Enables the set_webview_focus command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-position", - "markdownDescription": "Enables the set_webview_position command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-size", - "markdownDescription": "Enables the set_webview_size command without any pre-configured scope." - }, - { - "description": "Enables the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-set-webview-zoom", - "markdownDescription": "Enables the set_webview_zoom command without any pre-configured scope." - }, - { - "description": "Enables the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-close", - "markdownDescription": "Enables the webview_close command without any pre-configured scope." - }, - { - "description": "Enables the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-hide", - "markdownDescription": "Enables the webview_hide command without any pre-configured scope." - }, - { - "description": "Enables the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-position", - "markdownDescription": "Enables the webview_position command without any pre-configured scope." - }, - { - "description": "Enables the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-show", - "markdownDescription": "Enables the webview_show command without any pre-configured scope." - }, - { - "description": "Enables the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:allow-webview-size", - "markdownDescription": "Enables the webview_size command without any pre-configured scope." - }, - { - "description": "Denies the clear_all_browsing_data command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-clear-all-browsing-data", - "markdownDescription": "Denies the clear_all_browsing_data command without any pre-configured scope." - }, - { - "description": "Denies the create_webview command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview", - "markdownDescription": "Denies the create_webview command without any pre-configured scope." - }, - { - "description": "Denies the create_webview_window command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-create-webview-window", - "markdownDescription": "Denies the create_webview_window command without any pre-configured scope." - }, - { - "description": "Denies the get_all_webviews command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-get-all-webviews", - "markdownDescription": "Denies the get_all_webviews command without any pre-configured scope." - }, - { - "description": "Denies the internal_toggle_devtools command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-internal-toggle-devtools", - "markdownDescription": "Denies the internal_toggle_devtools command without any pre-configured scope." - }, - { - "description": "Denies the print command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-print", - "markdownDescription": "Denies the print command without any pre-configured scope." - }, - { - "description": "Denies the reparent command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-reparent", - "markdownDescription": "Denies the reparent command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_auto_resize command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-auto-resize", - "markdownDescription": "Denies the set_webview_auto_resize command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-background-color", - "markdownDescription": "Denies the set_webview_background_color command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_focus command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-focus", - "markdownDescription": "Denies the set_webview_focus command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-position", - "markdownDescription": "Denies the set_webview_position command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-size", - "markdownDescription": "Denies the set_webview_size command without any pre-configured scope." - }, - { - "description": "Denies the set_webview_zoom command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-set-webview-zoom", - "markdownDescription": "Denies the set_webview_zoom command without any pre-configured scope." - }, - { - "description": "Denies the webview_close command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-close", - "markdownDescription": "Denies the webview_close command without any pre-configured scope." - }, - { - "description": "Denies the webview_hide command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-hide", - "markdownDescription": "Denies the webview_hide command without any pre-configured scope." - }, - { - "description": "Denies the webview_position command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-position", - "markdownDescription": "Denies the webview_position command without any pre-configured scope." - }, - { - "description": "Denies the webview_show command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-show", - "markdownDescription": "Denies the webview_show command without any pre-configured scope." - }, - { - "description": "Denies the webview_size command without any pre-configured scope.", - "type": "string", - "const": "core:webview:deny-webview-size", - "markdownDescription": "Denies the webview_size command without any pre-configured scope." - }, - { - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-internal-toggle-maximize`", - "type": "string", - "const": "core:window:default", - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-get-all-windows`\n- `allow-scale-factor`\n- `allow-inner-position`\n- `allow-outer-position`\n- `allow-inner-size`\n- `allow-outer-size`\n- `allow-is-fullscreen`\n- `allow-is-minimized`\n- `allow-is-maximized`\n- `allow-is-focused`\n- `allow-is-decorated`\n- `allow-is-resizable`\n- `allow-is-maximizable`\n- `allow-is-minimizable`\n- `allow-is-closable`\n- `allow-is-visible`\n- `allow-is-enabled`\n- `allow-title`\n- `allow-current-monitor`\n- `allow-primary-monitor`\n- `allow-monitor-from-point`\n- `allow-available-monitors`\n- `allow-cursor-position`\n- `allow-theme`\n- `allow-is-always-on-top`\n- `allow-internal-toggle-maximize`" - }, - { - "description": "Enables the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-available-monitors", - "markdownDescription": "Enables the available_monitors command without any pre-configured scope." - }, - { - "description": "Enables the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-center", - "markdownDescription": "Enables the center command without any pre-configured scope." - }, - { - "description": "Enables the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-close", - "markdownDescription": "Enables the close command without any pre-configured scope." - }, - { - "description": "Enables the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-create", - "markdownDescription": "Enables the create command without any pre-configured scope." - }, - { - "description": "Enables the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-current-monitor", - "markdownDescription": "Enables the current_monitor command without any pre-configured scope." - }, - { - "description": "Enables the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-cursor-position", - "markdownDescription": "Enables the cursor_position command without any pre-configured scope." - }, - { - "description": "Enables the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-destroy", - "markdownDescription": "Enables the destroy command without any pre-configured scope." - }, - { - "description": "Enables the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-get-all-windows", - "markdownDescription": "Enables the get_all_windows command without any pre-configured scope." - }, - { - "description": "Enables the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-hide", - "markdownDescription": "Enables the hide command without any pre-configured scope." - }, - { - "description": "Enables the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-position", - "markdownDescription": "Enables the inner_position command without any pre-configured scope." - }, - { - "description": "Enables the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-inner-size", - "markdownDescription": "Enables the inner_size command without any pre-configured scope." - }, - { - "description": "Enables the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-internal-toggle-maximize", - "markdownDescription": "Enables the internal_toggle_maximize command without any pre-configured scope." - }, - { - "description": "Enables the is_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-always-on-top", - "markdownDescription": "Enables the is_always_on_top command without any pre-configured scope." - }, - { - "description": "Enables the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-closable", - "markdownDescription": "Enables the is_closable command without any pre-configured scope." - }, - { - "description": "Enables the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-decorated", - "markdownDescription": "Enables the is_decorated command without any pre-configured scope." - }, - { - "description": "Enables the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-enabled", - "markdownDescription": "Enables the is_enabled command without any pre-configured scope." - }, - { - "description": "Enables the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-focused", - "markdownDescription": "Enables the is_focused command without any pre-configured scope." - }, - { - "description": "Enables the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-fullscreen", - "markdownDescription": "Enables the is_fullscreen command without any pre-configured scope." - }, - { - "description": "Enables the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximizable", - "markdownDescription": "Enables the is_maximizable command without any pre-configured scope." - }, - { - "description": "Enables the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-maximized", - "markdownDescription": "Enables the is_maximized command without any pre-configured scope." - }, - { - "description": "Enables the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimizable", - "markdownDescription": "Enables the is_minimizable command without any pre-configured scope." - }, - { - "description": "Enables the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-minimized", - "markdownDescription": "Enables the is_minimized command without any pre-configured scope." - }, - { - "description": "Enables the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-resizable", - "markdownDescription": "Enables the is_resizable command without any pre-configured scope." - }, - { - "description": "Enables the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-is-visible", - "markdownDescription": "Enables the is_visible command without any pre-configured scope." - }, - { - "description": "Enables the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-maximize", - "markdownDescription": "Enables the maximize command without any pre-configured scope." - }, - { - "description": "Enables the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-minimize", - "markdownDescription": "Enables the minimize command without any pre-configured scope." - }, - { - "description": "Enables the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-monitor-from-point", - "markdownDescription": "Enables the monitor_from_point command without any pre-configured scope." - }, - { - "description": "Enables the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-position", - "markdownDescription": "Enables the outer_position command without any pre-configured scope." - }, - { - "description": "Enables the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-outer-size", - "markdownDescription": "Enables the outer_size command without any pre-configured scope." - }, - { - "description": "Enables the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-primary-monitor", - "markdownDescription": "Enables the primary_monitor command without any pre-configured scope." - }, - { - "description": "Enables the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-request-user-attention", - "markdownDescription": "Enables the request_user_attention command without any pre-configured scope." - }, - { - "description": "Enables the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-scale-factor", - "markdownDescription": "Enables the scale_factor command without any pre-configured scope." - }, - { - "description": "Enables the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-bottom", - "markdownDescription": "Enables the set_always_on_bottom command without any pre-configured scope." - }, - { - "description": "Enables the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-always-on-top", - "markdownDescription": "Enables the set_always_on_top command without any pre-configured scope." - }, - { - "description": "Enables the set_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-background-color", - "markdownDescription": "Enables the set_background_color command without any pre-configured scope." - }, - { - "description": "Enables the set_badge_count command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-badge-count", - "markdownDescription": "Enables the set_badge_count command without any pre-configured scope." - }, - { - "description": "Enables the set_badge_label command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-badge-label", - "markdownDescription": "Enables the set_badge_label command without any pre-configured scope." - }, - { - "description": "Enables the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-closable", - "markdownDescription": "Enables the set_closable command without any pre-configured scope." - }, - { - "description": "Enables the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-content-protected", - "markdownDescription": "Enables the set_content_protected command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-grab", - "markdownDescription": "Enables the set_cursor_grab command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-icon", - "markdownDescription": "Enables the set_cursor_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-position", - "markdownDescription": "Enables the set_cursor_position command without any pre-configured scope." - }, - { - "description": "Enables the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-cursor-visible", - "markdownDescription": "Enables the set_cursor_visible command without any pre-configured scope." - }, - { - "description": "Enables the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-decorations", - "markdownDescription": "Enables the set_decorations command without any pre-configured scope." - }, - { - "description": "Enables the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-effects", - "markdownDescription": "Enables the set_effects command without any pre-configured scope." - }, - { - "description": "Enables the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-enabled", - "markdownDescription": "Enables the set_enabled command without any pre-configured scope." - }, - { - "description": "Enables the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-focus", - "markdownDescription": "Enables the set_focus command without any pre-configured scope." - }, - { - "description": "Enables the set_focusable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-focusable", - "markdownDescription": "Enables the set_focusable command without any pre-configured scope." - }, - { - "description": "Enables the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-fullscreen", - "markdownDescription": "Enables the set_fullscreen command without any pre-configured scope." - }, - { - "description": "Enables the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-icon", - "markdownDescription": "Enables the set_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-ignore-cursor-events", - "markdownDescription": "Enables the set_ignore_cursor_events command without any pre-configured scope." - }, - { - "description": "Enables the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-max-size", - "markdownDescription": "Enables the set_max_size command without any pre-configured scope." - }, - { - "description": "Enables the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-maximizable", - "markdownDescription": "Enables the set_maximizable command without any pre-configured scope." - }, - { - "description": "Enables the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-min-size", - "markdownDescription": "Enables the set_min_size command without any pre-configured scope." - }, - { - "description": "Enables the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-minimizable", - "markdownDescription": "Enables the set_minimizable command without any pre-configured scope." - }, - { - "description": "Enables the set_overlay_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-overlay-icon", - "markdownDescription": "Enables the set_overlay_icon command without any pre-configured scope." - }, - { - "description": "Enables the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-position", - "markdownDescription": "Enables the set_position command without any pre-configured scope." - }, - { - "description": "Enables the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-progress-bar", - "markdownDescription": "Enables the set_progress_bar command without any pre-configured scope." - }, - { - "description": "Enables the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-resizable", - "markdownDescription": "Enables the set_resizable command without any pre-configured scope." - }, - { - "description": "Enables the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-shadow", - "markdownDescription": "Enables the set_shadow command without any pre-configured scope." - }, - { - "description": "Enables the set_simple_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-simple-fullscreen", - "markdownDescription": "Enables the set_simple_fullscreen command without any pre-configured scope." - }, - { - "description": "Enables the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size", - "markdownDescription": "Enables the set_size command without any pre-configured scope." - }, - { - "description": "Enables the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-size-constraints", - "markdownDescription": "Enables the set_size_constraints command without any pre-configured scope." - }, - { - "description": "Enables the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-skip-taskbar", - "markdownDescription": "Enables the set_skip_taskbar command without any pre-configured scope." - }, - { - "description": "Enables the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-theme", - "markdownDescription": "Enables the set_theme command without any pre-configured scope." - }, - { - "description": "Enables the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title", - "markdownDescription": "Enables the set_title command without any pre-configured scope." - }, - { - "description": "Enables the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-title-bar-style", - "markdownDescription": "Enables the set_title_bar_style command without any pre-configured scope." - }, - { - "description": "Enables the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-set-visible-on-all-workspaces", - "markdownDescription": "Enables the set_visible_on_all_workspaces command without any pre-configured scope." - }, - { - "description": "Enables the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-show", - "markdownDescription": "Enables the show command without any pre-configured scope." - }, - { - "description": "Enables the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-dragging", - "markdownDescription": "Enables the start_dragging command without any pre-configured scope." - }, - { - "description": "Enables the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-start-resize-dragging", - "markdownDescription": "Enables the start_resize_dragging command without any pre-configured scope." - }, - { - "description": "Enables the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-theme", - "markdownDescription": "Enables the theme command without any pre-configured scope." - }, - { - "description": "Enables the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-title", - "markdownDescription": "Enables the title command without any pre-configured scope." - }, - { - "description": "Enables the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-toggle-maximize", - "markdownDescription": "Enables the toggle_maximize command without any pre-configured scope." - }, - { - "description": "Enables the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unmaximize", - "markdownDescription": "Enables the unmaximize command without any pre-configured scope." - }, - { - "description": "Enables the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:allow-unminimize", - "markdownDescription": "Enables the unminimize command without any pre-configured scope." - }, - { - "description": "Denies the available_monitors command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-available-monitors", - "markdownDescription": "Denies the available_monitors command without any pre-configured scope." - }, - { - "description": "Denies the center command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-center", - "markdownDescription": "Denies the center command without any pre-configured scope." - }, - { - "description": "Denies the close command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-close", - "markdownDescription": "Denies the close command without any pre-configured scope." - }, - { - "description": "Denies the create command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-create", - "markdownDescription": "Denies the create command without any pre-configured scope." - }, - { - "description": "Denies the current_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-current-monitor", - "markdownDescription": "Denies the current_monitor command without any pre-configured scope." - }, - { - "description": "Denies the cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-cursor-position", - "markdownDescription": "Denies the cursor_position command without any pre-configured scope." - }, - { - "description": "Denies the destroy command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-destroy", - "markdownDescription": "Denies the destroy command without any pre-configured scope." - }, - { - "description": "Denies the get_all_windows command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-get-all-windows", - "markdownDescription": "Denies the get_all_windows command without any pre-configured scope." - }, - { - "description": "Denies the hide command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-hide", - "markdownDescription": "Denies the hide command without any pre-configured scope." - }, - { - "description": "Denies the inner_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-position", - "markdownDescription": "Denies the inner_position command without any pre-configured scope." - }, - { - "description": "Denies the inner_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-inner-size", - "markdownDescription": "Denies the inner_size command without any pre-configured scope." - }, - { - "description": "Denies the internal_toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-internal-toggle-maximize", - "markdownDescription": "Denies the internal_toggle_maximize command without any pre-configured scope." - }, - { - "description": "Denies the is_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-always-on-top", - "markdownDescription": "Denies the is_always_on_top command without any pre-configured scope." - }, - { - "description": "Denies the is_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-closable", - "markdownDescription": "Denies the is_closable command without any pre-configured scope." - }, - { - "description": "Denies the is_decorated command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-decorated", - "markdownDescription": "Denies the is_decorated command without any pre-configured scope." - }, - { - "description": "Denies the is_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-enabled", - "markdownDescription": "Denies the is_enabled command without any pre-configured scope." - }, - { - "description": "Denies the is_focused command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-focused", - "markdownDescription": "Denies the is_focused command without any pre-configured scope." - }, - { - "description": "Denies the is_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-fullscreen", - "markdownDescription": "Denies the is_fullscreen command without any pre-configured scope." - }, - { - "description": "Denies the is_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximizable", - "markdownDescription": "Denies the is_maximizable command without any pre-configured scope." - }, - { - "description": "Denies the is_maximized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-maximized", - "markdownDescription": "Denies the is_maximized command without any pre-configured scope." - }, - { - "description": "Denies the is_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimizable", - "markdownDescription": "Denies the is_minimizable command without any pre-configured scope." - }, - { - "description": "Denies the is_minimized command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-minimized", - "markdownDescription": "Denies the is_minimized command without any pre-configured scope." - }, - { - "description": "Denies the is_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-resizable", - "markdownDescription": "Denies the is_resizable command without any pre-configured scope." - }, - { - "description": "Denies the is_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-is-visible", - "markdownDescription": "Denies the is_visible command without any pre-configured scope." - }, - { - "description": "Denies the maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-maximize", - "markdownDescription": "Denies the maximize command without any pre-configured scope." - }, - { - "description": "Denies the minimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-minimize", - "markdownDescription": "Denies the minimize command without any pre-configured scope." - }, - { - "description": "Denies the monitor_from_point command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-monitor-from-point", - "markdownDescription": "Denies the monitor_from_point command without any pre-configured scope." - }, - { - "description": "Denies the outer_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-position", - "markdownDescription": "Denies the outer_position command without any pre-configured scope." - }, - { - "description": "Denies the outer_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-outer-size", - "markdownDescription": "Denies the outer_size command without any pre-configured scope." - }, - { - "description": "Denies the primary_monitor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-primary-monitor", - "markdownDescription": "Denies the primary_monitor command without any pre-configured scope." - }, - { - "description": "Denies the request_user_attention command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-request-user-attention", - "markdownDescription": "Denies the request_user_attention command without any pre-configured scope." - }, - { - "description": "Denies the scale_factor command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-scale-factor", - "markdownDescription": "Denies the scale_factor command without any pre-configured scope." - }, - { - "description": "Denies the set_always_on_bottom command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-bottom", - "markdownDescription": "Denies the set_always_on_bottom command without any pre-configured scope." - }, - { - "description": "Denies the set_always_on_top command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-always-on-top", - "markdownDescription": "Denies the set_always_on_top command without any pre-configured scope." - }, - { - "description": "Denies the set_background_color command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-background-color", - "markdownDescription": "Denies the set_background_color command without any pre-configured scope." - }, - { - "description": "Denies the set_badge_count command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-badge-count", - "markdownDescription": "Denies the set_badge_count command without any pre-configured scope." - }, - { - "description": "Denies the set_badge_label command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-badge-label", - "markdownDescription": "Denies the set_badge_label command without any pre-configured scope." - }, - { - "description": "Denies the set_closable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-closable", - "markdownDescription": "Denies the set_closable command without any pre-configured scope." - }, - { - "description": "Denies the set_content_protected command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-content-protected", - "markdownDescription": "Denies the set_content_protected command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_grab command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-grab", - "markdownDescription": "Denies the set_cursor_grab command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-icon", - "markdownDescription": "Denies the set_cursor_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-position", - "markdownDescription": "Denies the set_cursor_position command without any pre-configured scope." - }, - { - "description": "Denies the set_cursor_visible command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-cursor-visible", - "markdownDescription": "Denies the set_cursor_visible command without any pre-configured scope." - }, - { - "description": "Denies the set_decorations command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-decorations", - "markdownDescription": "Denies the set_decorations command without any pre-configured scope." - }, - { - "description": "Denies the set_effects command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-effects", - "markdownDescription": "Denies the set_effects command without any pre-configured scope." - }, - { - "description": "Denies the set_enabled command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-enabled", - "markdownDescription": "Denies the set_enabled command without any pre-configured scope." - }, - { - "description": "Denies the set_focus command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-focus", - "markdownDescription": "Denies the set_focus command without any pre-configured scope." - }, - { - "description": "Denies the set_focusable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-focusable", - "markdownDescription": "Denies the set_focusable command without any pre-configured scope." - }, - { - "description": "Denies the set_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-fullscreen", - "markdownDescription": "Denies the set_fullscreen command without any pre-configured scope." - }, - { - "description": "Denies the set_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-icon", - "markdownDescription": "Denies the set_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_ignore_cursor_events command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-ignore-cursor-events", - "markdownDescription": "Denies the set_ignore_cursor_events command without any pre-configured scope." - }, - { - "description": "Denies the set_max_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-max-size", - "markdownDescription": "Denies the set_max_size command without any pre-configured scope." - }, - { - "description": "Denies the set_maximizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-maximizable", - "markdownDescription": "Denies the set_maximizable command without any pre-configured scope." - }, - { - "description": "Denies the set_min_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-min-size", - "markdownDescription": "Denies the set_min_size command without any pre-configured scope." - }, - { - "description": "Denies the set_minimizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-minimizable", - "markdownDescription": "Denies the set_minimizable command without any pre-configured scope." - }, - { - "description": "Denies the set_overlay_icon command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-overlay-icon", - "markdownDescription": "Denies the set_overlay_icon command without any pre-configured scope." - }, - { - "description": "Denies the set_position command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-position", - "markdownDescription": "Denies the set_position command without any pre-configured scope." - }, - { - "description": "Denies the set_progress_bar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-progress-bar", - "markdownDescription": "Denies the set_progress_bar command without any pre-configured scope." - }, - { - "description": "Denies the set_resizable command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-resizable", - "markdownDescription": "Denies the set_resizable command without any pre-configured scope." - }, - { - "description": "Denies the set_shadow command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-shadow", - "markdownDescription": "Denies the set_shadow command without any pre-configured scope." - }, - { - "description": "Denies the set_simple_fullscreen command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-simple-fullscreen", - "markdownDescription": "Denies the set_simple_fullscreen command without any pre-configured scope." - }, - { - "description": "Denies the set_size command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size", - "markdownDescription": "Denies the set_size command without any pre-configured scope." - }, - { - "description": "Denies the set_size_constraints command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-size-constraints", - "markdownDescription": "Denies the set_size_constraints command without any pre-configured scope." - }, - { - "description": "Denies the set_skip_taskbar command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-skip-taskbar", - "markdownDescription": "Denies the set_skip_taskbar command without any pre-configured scope." - }, - { - "description": "Denies the set_theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-theme", - "markdownDescription": "Denies the set_theme command without any pre-configured scope." - }, - { - "description": "Denies the set_title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title", - "markdownDescription": "Denies the set_title command without any pre-configured scope." - }, - { - "description": "Denies the set_title_bar_style command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-title-bar-style", - "markdownDescription": "Denies the set_title_bar_style command without any pre-configured scope." - }, - { - "description": "Denies the set_visible_on_all_workspaces command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-set-visible-on-all-workspaces", - "markdownDescription": "Denies the set_visible_on_all_workspaces command without any pre-configured scope." - }, - { - "description": "Denies the show command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-show", - "markdownDescription": "Denies the show command without any pre-configured scope." - }, - { - "description": "Denies the start_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-dragging", - "markdownDescription": "Denies the start_dragging command without any pre-configured scope." - }, - { - "description": "Denies the start_resize_dragging command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-start-resize-dragging", - "markdownDescription": "Denies the start_resize_dragging command without any pre-configured scope." - }, - { - "description": "Denies the theme command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-theme", - "markdownDescription": "Denies the theme command without any pre-configured scope." - }, - { - "description": "Denies the title command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-title", - "markdownDescription": "Denies the title command without any pre-configured scope." - }, - { - "description": "Denies the toggle_maximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-toggle-maximize", - "markdownDescription": "Denies the toggle_maximize command without any pre-configured scope." - }, - { - "description": "Denies the unmaximize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unmaximize", - "markdownDescription": "Denies the unmaximize command without any pre-configured scope." - }, - { - "description": "Denies the unminimize command without any pre-configured scope.", - "type": "string", - "const": "core:window:deny-unminimize", - "markdownDescription": "Denies the unminimize command without any pre-configured scope." - }, - { - "description": "This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n\n#### This default permission set includes:\n\n- `allow-ask`\n- `allow-confirm`\n- `allow-message`\n- `allow-save`\n- `allow-open`", - "type": "string", - "const": "dialog:default", - "markdownDescription": "This permission set configures the types of dialogs\navailable from the dialog plugin.\n\n#### Granted Permissions\n\nAll dialog types are enabled.\n\n\n\n#### This default permission set includes:\n\n- `allow-ask`\n- `allow-confirm`\n- `allow-message`\n- `allow-save`\n- `allow-open`" - }, - { - "description": "Enables the ask command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-ask", - "markdownDescription": "Enables the ask command without any pre-configured scope." - }, - { - "description": "Enables the confirm command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-confirm", - "markdownDescription": "Enables the confirm command without any pre-configured scope." - }, - { - "description": "Enables the message command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-message", - "markdownDescription": "Enables the message command without any pre-configured scope." - }, - { - "description": "Enables the open command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-open", - "markdownDescription": "Enables the open command without any pre-configured scope." - }, - { - "description": "Enables the save command without any pre-configured scope.", - "type": "string", - "const": "dialog:allow-save", - "markdownDescription": "Enables the save command without any pre-configured scope." - }, - { - "description": "Denies the ask command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-ask", - "markdownDescription": "Denies the ask command without any pre-configured scope." - }, - { - "description": "Denies the confirm command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-confirm", - "markdownDescription": "Denies the confirm command without any pre-configured scope." - }, - { - "description": "Denies the message command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-message", - "markdownDescription": "Denies the message command without any pre-configured scope." - }, - { - "description": "Denies the open command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-open", - "markdownDescription": "Denies the open command without any pre-configured scope." - }, - { - "description": "Denies the save command without any pre-configured scope.", - "type": "string", - "const": "dialog:deny-save", - "markdownDescription": "Denies the save command without any pre-configured scope." - }, - { - "description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`", - "type": "string", - "const": "http:default", - "markdownDescription": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-send`\n- `allow-fetch-read-body`\n- `allow-fetch-cancel-body`" - }, - { - "description": "Enables the fetch command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch", - "markdownDescription": "Enables the fetch command without any pre-configured scope." - }, - { - "description": "Enables the fetch_cancel command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-cancel", - "markdownDescription": "Enables the fetch_cancel command without any pre-configured scope." - }, - { - "description": "Enables the fetch_cancel_body command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-cancel-body", - "markdownDescription": "Enables the fetch_cancel_body command without any pre-configured scope." - }, - { - "description": "Enables the fetch_read_body command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-read-body", - "markdownDescription": "Enables the fetch_read_body command without any pre-configured scope." - }, - { - "description": "Enables the fetch_send command without any pre-configured scope.", - "type": "string", - "const": "http:allow-fetch-send", - "markdownDescription": "Enables the fetch_send command without any pre-configured scope." - }, - { - "description": "Denies the fetch command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch", - "markdownDescription": "Denies the fetch command without any pre-configured scope." - }, - { - "description": "Denies the fetch_cancel command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-cancel", - "markdownDescription": "Denies the fetch_cancel command without any pre-configured scope." - }, - { - "description": "Denies the fetch_cancel_body command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-cancel-body", - "markdownDescription": "Denies the fetch_cancel_body command without any pre-configured scope." - }, - { - "description": "Denies the fetch_read_body command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-read-body", - "markdownDescription": "Denies the fetch_read_body command without any pre-configured scope." - }, - { - "description": "Denies the fetch_send command without any pre-configured scope.", - "type": "string", - "const": "http:deny-fetch-send", - "markdownDescription": "Denies the fetch_send command without any pre-configured scope." - }, - { - "description": "This permission set configures which\nnotification features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all notification related features.\n\n\n#### This default permission set includes:\n\n- `allow-is-permission-granted`\n- `allow-request-permission`\n- `allow-notify`\n- `allow-register-action-types`\n- `allow-register-listener`\n- `allow-cancel`\n- `allow-get-pending`\n- `allow-remove-active`\n- `allow-get-active`\n- `allow-check-permissions`\n- `allow-show`\n- `allow-batch`\n- `allow-list-channels`\n- `allow-delete-channel`\n- `allow-create-channel`\n- `allow-permission-state`", - "type": "string", - "const": "notification:default", - "markdownDescription": "This permission set configures which\nnotification features are by default exposed.\n\n#### Granted Permissions\n\nIt allows all notification related features.\n\n\n#### This default permission set includes:\n\n- `allow-is-permission-granted`\n- `allow-request-permission`\n- `allow-notify`\n- `allow-register-action-types`\n- `allow-register-listener`\n- `allow-cancel`\n- `allow-get-pending`\n- `allow-remove-active`\n- `allow-get-active`\n- `allow-check-permissions`\n- `allow-show`\n- `allow-batch`\n- `allow-list-channels`\n- `allow-delete-channel`\n- `allow-create-channel`\n- `allow-permission-state`" - }, - { - "description": "Enables the batch command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-batch", - "markdownDescription": "Enables the batch command without any pre-configured scope." - }, - { - "description": "Enables the cancel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-cancel", - "markdownDescription": "Enables the cancel command without any pre-configured scope." - }, - { - "description": "Enables the check_permissions command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-check-permissions", - "markdownDescription": "Enables the check_permissions command without any pre-configured scope." - }, - { - "description": "Enables the create_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-create-channel", - "markdownDescription": "Enables the create_channel command without any pre-configured scope." - }, - { - "description": "Enables the delete_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-delete-channel", - "markdownDescription": "Enables the delete_channel command without any pre-configured scope." - }, - { - "description": "Enables the get_active command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-get-active", - "markdownDescription": "Enables the get_active command without any pre-configured scope." - }, - { - "description": "Enables the get_pending command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-get-pending", - "markdownDescription": "Enables the get_pending command without any pre-configured scope." - }, - { - "description": "Enables the is_permission_granted command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-is-permission-granted", - "markdownDescription": "Enables the is_permission_granted command without any pre-configured scope." - }, - { - "description": "Enables the list_channels command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-list-channels", - "markdownDescription": "Enables the list_channels command without any pre-configured scope." - }, - { - "description": "Enables the notify command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-notify", - "markdownDescription": "Enables the notify command without any pre-configured scope." - }, - { - "description": "Enables the permission_state command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-permission-state", - "markdownDescription": "Enables the permission_state command without any pre-configured scope." - }, - { - "description": "Enables the register_action_types command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-register-action-types", - "markdownDescription": "Enables the register_action_types command without any pre-configured scope." - }, - { - "description": "Enables the register_listener command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-register-listener", - "markdownDescription": "Enables the register_listener command without any pre-configured scope." - }, - { - "description": "Enables the remove_active command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-remove-active", - "markdownDescription": "Enables the remove_active command without any pre-configured scope." - }, - { - "description": "Enables the request_permission command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-request-permission", - "markdownDescription": "Enables the request_permission command without any pre-configured scope." - }, - { - "description": "Enables the show command without any pre-configured scope.", - "type": "string", - "const": "notification:allow-show", - "markdownDescription": "Enables the show command without any pre-configured scope." - }, - { - "description": "Denies the batch command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-batch", - "markdownDescription": "Denies the batch command without any pre-configured scope." - }, - { - "description": "Denies the cancel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-cancel", - "markdownDescription": "Denies the cancel command without any pre-configured scope." - }, - { - "description": "Denies the check_permissions command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-check-permissions", - "markdownDescription": "Denies the check_permissions command without any pre-configured scope." - }, - { - "description": "Denies the create_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-create-channel", - "markdownDescription": "Denies the create_channel command without any pre-configured scope." - }, - { - "description": "Denies the delete_channel command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-delete-channel", - "markdownDescription": "Denies the delete_channel command without any pre-configured scope." - }, - { - "description": "Denies the get_active command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-get-active", - "markdownDescription": "Denies the get_active command without any pre-configured scope." - }, - { - "description": "Denies the get_pending command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-get-pending", - "markdownDescription": "Denies the get_pending command without any pre-configured scope." - }, - { - "description": "Denies the is_permission_granted command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-is-permission-granted", - "markdownDescription": "Denies the is_permission_granted command without any pre-configured scope." - }, - { - "description": "Denies the list_channels command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-list-channels", - "markdownDescription": "Denies the list_channels command without any pre-configured scope." - }, - { - "description": "Denies the notify command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-notify", - "markdownDescription": "Denies the notify command without any pre-configured scope." - }, - { - "description": "Denies the permission_state command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-permission-state", - "markdownDescription": "Denies the permission_state command without any pre-configured scope." - }, - { - "description": "Denies the register_action_types command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-register-action-types", - "markdownDescription": "Denies the register_action_types command without any pre-configured scope." - }, - { - "description": "Denies the register_listener command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-register-listener", - "markdownDescription": "Denies the register_listener command without any pre-configured scope." - }, - { - "description": "Denies the remove_active command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-remove-active", - "markdownDescription": "Denies the remove_active command without any pre-configured scope." - }, - { - "description": "Denies the request_permission command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-request-permission", - "markdownDescription": "Denies the request_permission command without any pre-configured scope." - }, - { - "description": "Denies the show command without any pre-configured scope.", - "type": "string", - "const": "notification:deny-show", - "markdownDescription": "Denies the show command without any pre-configured scope." - }, - { - "description": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`", - "type": "string", - "const": "opener:default", - "markdownDescription": "This permission set allows opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application\nas well as reveal file in directories using default file explorer\n#### This default permission set includes:\n\n- `allow-open-url`\n- `allow-reveal-item-in-dir`\n- `allow-default-urls`" - }, - { - "description": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application.", - "type": "string", - "const": "opener:allow-default-urls", - "markdownDescription": "This enables opening `mailto:`, `tel:`, `https://` and `http://` urls using their default application." - }, - { - "description": "Enables the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-path", - "markdownDescription": "Enables the open_path command without any pre-configured scope." - }, - { - "description": "Enables the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-open-url", - "markdownDescription": "Enables the open_url command without any pre-configured scope." - }, - { - "description": "Enables the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:allow-reveal-item-in-dir", - "markdownDescription": "Enables the reveal_item_in_dir command without any pre-configured scope." - }, - { - "description": "Denies the open_path command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-path", - "markdownDescription": "Denies the open_path command without any pre-configured scope." - }, - { - "description": "Denies the open_url command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-open-url", - "markdownDescription": "Denies the open_url command without any pre-configured scope." - }, - { - "description": "Denies the reveal_item_in_dir command without any pre-configured scope.", - "type": "string", - "const": "opener:deny-reveal-item-in-dir", - "markdownDescription": "Denies the reveal_item_in_dir command without any pre-configured scope." - }, - { - "description": "This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n\n#### This default permission set includes:\n\n- `allow-exit`\n- `allow-restart`", - "type": "string", - "const": "process:default", - "markdownDescription": "This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n\n#### This default permission set includes:\n\n- `allow-exit`\n- `allow-restart`" - }, - { - "description": "Enables the exit command without any pre-configured scope.", - "type": "string", - "const": "process:allow-exit", - "markdownDescription": "Enables the exit command without any pre-configured scope." - }, - { - "description": "Enables the restart command without any pre-configured scope.", - "type": "string", - "const": "process:allow-restart", - "markdownDescription": "Enables the restart command without any pre-configured scope." - }, - { - "description": "Denies the exit command without any pre-configured scope.", - "type": "string", - "const": "process:deny-exit", - "markdownDescription": "Denies the exit command without any pre-configured scope." - }, - { - "description": "Denies the restart command without any pre-configured scope.", - "type": "string", - "const": "process:deny-restart", - "markdownDescription": "Denies the restart command without any pre-configured scope." - }, - { - "description": "This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n\n#### This default permission set includes:\n\n- `allow-check`\n- `allow-download`\n- `allow-install`\n- `allow-download-and-install`", - "type": "string", - "const": "updater:default", - "markdownDescription": "This permission set configures which kind of\nupdater functions are exposed to the frontend.\n\n#### Granted Permissions\n\nThe full workflow from checking for updates to installing them\nis enabled.\n\n\n#### This default permission set includes:\n\n- `allow-check`\n- `allow-download`\n- `allow-install`\n- `allow-download-and-install`" - }, - { - "description": "Enables the check command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-check", - "markdownDescription": "Enables the check command without any pre-configured scope." - }, - { - "description": "Enables the download command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-download", - "markdownDescription": "Enables the download command without any pre-configured scope." - }, - { - "description": "Enables the download_and_install command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-download-and-install", - "markdownDescription": "Enables the download_and_install command without any pre-configured scope." - }, - { - "description": "Enables the install command without any pre-configured scope.", - "type": "string", - "const": "updater:allow-install", - "markdownDescription": "Enables the install command without any pre-configured scope." - }, - { - "description": "Denies the check command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-check", - "markdownDescription": "Denies the check command without any pre-configured scope." - }, - { - "description": "Denies the download command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-download", - "markdownDescription": "Denies the download command without any pre-configured scope." - }, - { - "description": "Denies the download_and_install command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-download-and-install", - "markdownDescription": "Denies the download_and_install command without any pre-configured scope." - }, - { - "description": "Denies the install command without any pre-configured scope.", - "type": "string", - "const": "updater:deny-install", - "markdownDescription": "Denies the install command without any pre-configured scope." - }, - { - "description": "This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n\n#### This default permission set includes:\n\n- `allow-filename`\n- `allow-restore-state`\n- `allow-save-window-state`", - "type": "string", - "const": "window-state:default", - "markdownDescription": "This permission set configures what kind of\noperations are available from the window state plugin.\n\n#### Granted Permissions\n\nAll operations are enabled by default.\n\n\n#### This default permission set includes:\n\n- `allow-filename`\n- `allow-restore-state`\n- `allow-save-window-state`" - }, - { - "description": "Enables the filename command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-filename", - "markdownDescription": "Enables the filename command without any pre-configured scope." - }, - { - "description": "Enables the restore_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-restore-state", - "markdownDescription": "Enables the restore_state command without any pre-configured scope." - }, - { - "description": "Enables the save_window_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:allow-save-window-state", - "markdownDescription": "Enables the save_window_state command without any pre-configured scope." - }, - { - "description": "Denies the filename command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-filename", - "markdownDescription": "Denies the filename command without any pre-configured scope." - }, - { - "description": "Denies the restore_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-restore-state", - "markdownDescription": "Denies the restore_state command without any pre-configured scope." - }, - { - "description": "Denies the save_window_state command without any pre-configured scope.", - "type": "string", - "const": "window-state:deny-save-window-state", - "markdownDescription": "Denies the save_window_state command without any pre-configured scope." - } - ] - }, - "Value": { - "description": "All supported ACL values.", - "anyOf": [ - { - "description": "Represents a null JSON value.", - "type": "null" - }, - { - "description": "Represents a [`bool`].", - "type": "boolean" - }, - { - "description": "Represents a valid ACL [`Number`].", - "allOf": [ - { - "$ref": "#/definitions/Number" - } - ] - }, - { - "description": "Represents a [`String`].", - "type": "string" - }, - { - "description": "Represents a list of other [`Value`]s.", - "type": "array", - "items": { - "$ref": "#/definitions/Value" - } - }, - { - "description": "Represents a map of [`String`] keys to [`Value`]s.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Value" - } - } - ] - }, - "Number": { - "description": "A valid ACL number.", - "anyOf": [ - { - "description": "Represents an [`i64`].", - "type": "integer", - "format": "int64" - }, - { - "description": "Represents a [`f64`].", - "type": "number", - "format": "double" - } - ] - }, - "Target": { - "description": "Platform target.", - "oneOf": [ - { - "description": "MacOS.", - "type": "string", - "enum": [ - "macOS" - ] - }, - { - "description": "Windows.", - "type": "string", - "enum": [ - "windows" - ] - }, - { - "description": "Linux.", - "type": "string", - "enum": [ - "linux" - ] - }, - { - "description": "Android.", - "type": "string", - "enum": [ - "android" - ] - }, - { - "description": "iOS.", - "type": "string", - "enum": [ - "iOS" - ] - } - ] - }, - "Application": { - "description": "Opener scope application.", - "anyOf": [ - { - "description": "Open in default application.", - "type": "null" - }, - { - "description": "If true, allow open with any application.", - "type": "boolean" - }, - { - "description": "Allow specific application to open with.", - "type": "string" - } - ] - } - } -} \ No newline at end of file diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png deleted file mode 100644 index 6812f434b3403a7a0e2406411e7a2a9e0fbf4cdd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24341 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 diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png deleted file mode 100644 index 60d77eb015033eaadff1d37c702e326059b6608c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82811 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